@@ -296,14 +296,14 @@ def acker(A, B, poles):
296
296
297
297
298
298
def lqr (* args , ** kwargs ):
299
- """lqr(A, B, Q, R[, N])
299
+ r """lqr(A, B, Q, R[, N])
300
300
301
301
Linear quadratic regulator design.
302
302
303
303
The lqr() function computes the optimal state feedback controller
304
304
u = -K x that minimizes the quadratic cost
305
305
306
- .. math:: J = \\ int_0^\ \ infty (x' Q x + u' R u + 2 x' N u) dt
306
+ .. math:: J = \int_0^\infty (x' Q x + u' R u + 2 x' N u) dt
307
307
308
308
The function can be called with either 3, 4, or 5 arguments:
309
309
@@ -442,14 +442,14 @@ def lqr(*args, **kwargs):
442
442
443
443
444
444
def dlqr (* args , ** kwargs ):
445
- """dlqr(A, B, Q, R[, N])
445
+ r """dlqr(A, B, Q, R[, N])
446
446
447
447
Discrete-time linear quadratic regulator design.
448
448
449
449
The dlqr() function computes the optimal state feedback controller
450
450
u[n] = - K x[n] that minimizes the quadratic cost
451
451
452
- .. math:: J = \\ sum_0^\ \ infty (x[n]' Q x[n] + u[n]' R u[n] + 2 x[n]' N u[n])
452
+ .. math:: J = \sum_0^\infty (x[n]' Q x[n] + u[n]' R u[n] + 2 x[n]' N u[n])
453
453
454
454
The function can be called with either 3, 4, or 5 arguments:
455
455
@@ -584,12 +584,12 @@ def create_statefbk_iosystem(
584
584
xd_labels = None , ud_labels = None , gainsched_indices = None ,
585
585
gainsched_method = 'linear' , control_indices = None , state_indices = None ,
586
586
name = None , inputs = None , outputs = None , states = None , ** kwargs ):
587
- """Create an I/O system using a (full) state feedback controller.
587
+ r """Create an I/O system using a (full) state feedback controller.
588
588
589
589
This function creates an input/output system that implements a
590
590
state feedback controller of the form
591
591
592
- .. math :: u = u_d - K_p (x - x_d) - K_i \int(C x - C x_d)
592
+ .. math:: u = u_d - K_p (x - x_d) - K_i \int(C x - C x_d)
593
593
594
594
It can be called in the form::
595
595
@@ -603,7 +603,7 @@ def create_statefbk_iosystem(
603
603
gains and a corresponding list of values of a set of scheduling
604
604
variables. In this case, the controller has the form
605
605
606
- .. math :: u = u_d - K_p(\mu) (x - x_d) - K_i(\mu) \int(C x - C x_d)
606
+ .. math:: u = u_d - K_p(\mu) (x - x_d) - K_i(\mu) \int(C x - C x_d)
607
607
608
608
where :math:`\mu` represents the scheduling variable.
609
609
@@ -623,18 +623,18 @@ def create_statefbk_iosystem(
623
623
624
624
If a tuple is given, then it specifies a gain schedule. The tuple
625
625
should be of the form `(gains, points)` where gains is a list of
626
- gains :math: `K_j` and points is a list of values :math:`\ mu_j` at
627
- which the gains are computed. The `gainsched_indices` parameter
628
- should be used to specify the scheduling variables.
626
+ gains `K_j` and points is a list of values ` mu_j` at which the
627
+ gains are computed. The `gainsched_indices` parameter should be
628
+ used to specify the scheduling variables.
629
629
630
630
xd_labels, ud_labels : str or list of str, optional
631
631
Set the name of the signals to use for the desired state and
632
- inputs. If a single string is specified, it should be a
633
- format string using the variable `i` as an index. Otherwise,
634
- a list of strings matching the size of :math: `x_d` and :math: `u_d`,
635
- respectively, should be used. Default is "xd[{i}]" for
636
- xd_labels and "ud[{i}]" for ud_labels. These settings can
637
- also be overridden using the `inputs` keyword.
632
+ inputs. If a single string is specified, it should be a format
633
+ string using the variable `i` as an index. Otherwise, a list of
634
+ strings matching the size of `x_d` and `u_d`, respectively, should
635
+ be used. Default is "xd[{i}]" for xd_labels and "ud [{i}]" for
636
+ ud_labels. These settings can also be overridden using the
637
+ `inputs` keyword.
638
638
639
639
integral_action : ndarray, optional
640
640
If this keyword is specified, the controller can include integral
@@ -650,13 +650,13 @@ def create_statefbk_iosystem(
650
650
gainsched_indices : int, slice, or list of int or str, optional
651
651
If a gain scheduled controller is specified, specify the indices of
652
652
the controller input to use for scheduling the gain. The input to
653
- the controller is the desired state :math: `x_d`, the desired input :math: `u_d`, and
654
- the system state :math: `x` (or state estimate :math:`\hat{x} `, if an estimator is
655
- given). If value is an integer `q`, the first `q` values of the
656
- :math: `[x_d, u_d, x]` vector are used. Otherwise, the value should be a
657
- slice or a list of indices. The list of indices can be specified
658
- as either integer offsets or as signal names. The default is to
659
- use the desired state :math: `x_d`.
653
+ the controller is the desired state `x_d`, the desired input `u_d`,
654
+ and the system state `x` (or state estimate `xhat `, if an
655
+ estimator is given). If value is an integer `q`, the first `q`
656
+ values of the `[x_d, u_d, x]` vector are used. Otherwise, the
657
+ value should be a slice or a list of indices. The list of indices
658
+ can be specified as either integer offsets or as signal names. The
659
+ default is to use the desired state `x_d`.
660
660
661
661
gainsched_method : str, optional
662
662
The method to use for gain scheduling. Possible values are 'linear'
@@ -677,10 +677,10 @@ def create_statefbk_iosystem(
677
677
-------
678
678
ctrl : NonlinearIOSystem
679
679
Input/output system representing the controller. This system
680
- takes as inputs the desired state :math: `x_d`, the desired input
681
- :math: `u_d`, and either the system state :math: `x` or the estimated state
682
- :math:`\hat{x} `. It outputs the controller action :math: `u` according to the
683
- formula :math: `u = u_d - K(x - x_d)`. If the keyword
680
+ takes as inputs the desired state `x_d`, the desired input
681
+ `u_d`, and either the system state `x` or the estimated state
682
+ `xhat `. It outputs the controller action `u` according to the
683
+ formula `u = u_d - K(x - x_d)`. If the keyword
684
684
`integral_action` is specified, then an additional set of
685
685
integrators is included in the control system (with the gain
686
686
matrix `K` having the integral gains appended after the state
@@ -690,8 +690,8 @@ def create_statefbk_iosystem(
690
690
691
691
clsys : NonlinearIOSystem
692
692
Input/output system representing the closed loop system. This
693
- system takes as inputs the desired trajectory :math: `(x_d, u_d)` and
694
- outputs the system state :math: `x` and the applied input :math: `u`
693
+ system takes as inputs the desired trajectory `(x_d, u_d)` and
694
+ outputs the system state `x` and the applied input `u`
695
695
(vertically stacked).
696
696
697
697
Other Parameters
0 commit comments