Linear control law definition
- @LINEAR_CONTROL_LAW_DEFINITION {
- @LINEAR_CONTROL_LAW_NAME {LinCntName} {
- @CONTROLLER_NAME {ContrlrName}
- @NUMBER_OF_INPUTS {N_{i}}
- @NUMBER_OF_OUTPUTS {N_{o}}
- @NUMBER_OF_STATES {N_{x}}
- @MATRIX_A {A_{1,1}, A_{2,1}, ..., A_{Nx, Nx}}
- @MATRIX_B {B_{1,1}, B_{2,1}, ..., B_{Nx, Ni}}
- @MATRIX_C {C_{1,1}, C_{2,1}, ..., C_{No, Nx}}
- @MATRIX_D {D_{1,1}, D_{2,1}, ..., D_{No, Ni}}
- @TARGET_VALUES {y_{1}, y_{2}, ..., y_{Ni}}
- @COMMENTS {CommentText}
- }
- }
Introduction
The linear control law is an embedded control law that implements a generic linear control law of the following form
dx/dt = A x + B (y - y),
u = C x + D (y - y),
where x is an array of N_{x} controller internal states and d./dt denotes a derivative with respect to time. The control law involves four constant matrices: A_{(Nx x Nx)}, B_{(Nx x Ni)}, C_{(No x Nx)} and D_{(No x Ni)}. The control law is discretized using the central difference scheme to find
(x_{f} - x_{i}) / Δ t = A (x_{f} + x_{i})/2 + B ((y_{f} + y_{i})/2 - y),
where the subscripts (.)_{i} and (.)_{f} denote quantities computed at the initial and final times of the time step, respectively, denoted t_{i} and t_{f}, respectively, and Δt = t_{f} - t_{i} is the time step size. The final values of the control law internal states now become
x_{f} = (I/Δ t - A/2)^{-1} [ (I/Δt + A/2) x_{i} + B ((y_{f} + y_{i})/2 - y) ].
The final output of the control law then follow as
u_{f} = C x_{f} + D (y_{f} - y).
If the number of internal states is zero, the linear control law reduces to a simple input-output gain relationship,
u = D (y - y).
NOTES
- The linear control law is an embedded control law that implements the generic linear control law described above. The linear control law is associated with the controller ContrlrName.
- The linear control law features N_{i} inputs, N_{o} outputs and N_{x} internal states. The number of inputs and outputs must match the corresponding quantities defined in the controller ContrlrName.
- The remaining inputs defined the arrays and matrices characterizing the linear control law. These inputs expect the following format.
- @MATRIX_A: a set of N_{x} * N_{x} entries defining matrix A column by column. This input is required if N_{x} > 0.
- @MATRIX_B: a set of N_{x} * N_{i} entries defining matrix B column by column. This input is required if N_{x} > 0.
- @MATRIX_C: a set of N_{o} * N_{x} entries defining matrix C column by column. This input is required if N_{x} > 0.
- @MATRIX_D: a set of N_{o} * N_{i} entries defining matrix D column by column.
- @TARGET_VALUES: a set of N_{i} entries defining the target value array, y.
Sensors
Sensors can be defined to extract information linear control laws.
- A single SensorType specification is allowed for linear control laws: SIGNAL. (Default value: SIGNAL).
- No FrameName is allowed for this sensor.
- Parameter u value must be integer and indicates which of the internal states of the linear control law will be evaluated by the sensor. No parameter v value is accepted for linear control laws.