## Linear quadratic control law definition

@CONTROLLER_NAME {ContrlrName}
@NUMBER_OF_INPUTS {Ni}
@NUMBER_OF_OUTPUTS {No}
@NUMBER_OF_STATES {Nx}
@FEEDBACK_GAIN_FILE_NAME {FeedbackGainFileName}
@SATURATION_CONSTRAINTS {Saturation}
@TARGET_VALUES {Targets}
@RESPONSE_REFERENCE {ResponseRefFileName}
@MATRIX_A_FILE_NAME {MatrixAFileName}
@MATRIX_B_FILE_NAME {MatrixBFileName}
@MATRIX_C_FILE_NAME {MatrixCFileName}
@MATRIX_D_FILE_NAME {MatrixDFileName}
@KALMAN_FILTER_FILE_NAME {KalmanFilterKFileName}
@TIME_STEP_SIZE {DeltaT}
@START_TIME {Tstart}
@END_TIME {Tend}
}
}

### NOTES

1. The linear quadratic control law is an embedded control law that implements a generic linear optimal quadratic control law. The linear quadratic control law is associated with the controller ContrlrName.
2. Two types of linear optimal quadratic controllers are well known, one is the linear quadratic regulator, the other is the linear quadratic Gaussian. Currently, the linear quadratic Gaussian is implemented. The LinQdtType must be set as LQ_GAUSSIAN.
3. The linear quadratic control law features Ni inputs, No outputs and Nx internal states. The number of inputs and outputs must match the corresponding quantities defined in the controller ContrlrName.
4. The problem of linear quadratic regulator must be solved at first as a part of linear quadratic Gaussian. The file FeedbackGainFileName stores the feedback gain matrix, the result of linear quadratic regulator.
5. It is practicable to derive outputs of the system to the targets under the “acceptable” level of the controller inputs. When the inputs exceed the “acceptable” level, the saturation was avoided by replace the actual values of inputs by constraints Saturation, the user defined values.
6. The process of classical linear quadratic Gaussian minimizes the values of outputs to zeros, so the target values Targets are zeros or not needed to define. The general case of linear quadratic Gaussian is driving the outputs of the system following a desired targets. It is implemented for the case of outputs following the constant targets. When the outputs converge to the constant targets, it means the trim realized. Targets should be the trim targets.
7. When linear quadratic Gaussian is applied to control the nonlinear system as to its equilibrium configuration. The dynamic response as to equilibrium configuration should be computed at first. The data file ResponseRefFileName stores the output data of reference response, sampled by signal sampling.
8. The remaining inputs defined the arrays and matrices assembling the innovation models (A, B, C, K) or (A, B, C, D, K), which is constructed by eigensystem realization algorithm. When matrix D is not defined, the innovation model used in control is the (A, B, C, K), when it is defined, (A, B, C, D, K) is used. These inputs expect the following format.
• @MATRIX_A_FILE_NAME: contains a set of Nx * Nx entries defining matrix A column by column.
• @MATRIX_B_FILE_NAME: contains a set of Nx * Ni entries defining matrix B column by column.
• @MATRIX_C_FILE_NAME: contains a set of No * Nx entries defining matrix C column by column.
• @MATRIX_D_FILE_NAME: contains a set of No * Ni entries defining matrix D column by column.
• @KALMAN_FILTER_FILE_NAME: contains a set of Nx * No entries defining Kalman filter gain matrix K column by column.
9. The innovation model is a discrete time model, the sampling period DeltaT is required. The starting time Tstart and ending time Tend define the period of the linear quadratic Gaussian works.
10. It is possible to attach comments to the definition of the object; these comments have no effect on its definition.