Discrete-time state-feedback controller with integral action
Simscape / Electrical / Control / General Control
The State-Feedback Controller block implements a discrete-time state-feedback controller with integral action. Use this block to control linear systems with single or multiple inputs and single or multiple outputs. The integral action serves to eliminate steady-state error in the controlled outputs. You can define the controller using a precomputed optimal gain or use the state-space model of your system to generate this gain using pole placement.
The integral of the tracking error, xi, is an additional state that ensures zero steady-state error for the closed-loop system. The extended state vector is
Where:
x is the state vector.
xi is the integral of the tracking error.
xe is the extended state vector.
Therefore, the control action is
Where:
K is the feedback matrix, that is, the pole placement.
u is the controller output.
System state measurement and estimation occur outside the controller.
r
— Plant referencePlant system reference signal.
Data Types: single
| double
x
— State vectorMeasured or estimated system state vector.
Data Types: single
| double
Reset
— Integrator resetExternal reset signal (rising edge) for the integrator.
Data Types: Boolean
y
— Plant outputPlant system output signal.
Data Types: single
| double
u
— Controller outputControl system output signal.
Data Types: single
| double
State-feedback design
— Controller generationState-feedback gain
(default) | Desired eigenvalues
Select the strategy for parameterizing controller gain:
State-feedback gain
— Specify the
controller gain directly
Desired eigenvalues
— Specify the
plant model and desired eigenvalues from which to generate the
controller gain
State-feedback parameterization
— State-feedback parameterizationDiscrete-time
(default) | Continuous-time
Select the strategy for parameterizing the state-space matrices and desired poles for the controller. The block implementation is discrete regardless of this parameterization.
To enable this parameter, set State-feedback
design to Desired
eigenvalues
.
Controller matrix
— Controller matrixController feedback matrix. To determine the controller matrix, if you
have a license for Control System Toolbox™, use the lqr
or lqi
function.
To enable this parameter, set State-feedback
design to State-feedback
gain
.
Discrete-time A matrix
— A matrix in discrete timeState matrix of the discrete-time state-space model. The A matrix must be square, with the number of rows and columns equal to the order of the system.
To enable this parameter, set State-feedback
parameterization to
Discrete-time
.
Discrete-time B matrix
— B matrix in discrete timeInput matrix of the discrete-time state-space model. The B matrix must have the number of rows equal to the order of the system, and the number of columns equal to the number of system inputs.
To enable this parameter, set State-feedback
parameterization to
Discrete-time
.
Discrete-time C matrix
— C matrix in discrete timeOutput matrix of the discrete-time state-space model. The C matrix must have the number of rows equal the number of outputs of the system, and the number of columns equal to the order of the system.
To enable this parameter, set State-feedback
parameterization to
Discrete-time
.
Discrete-time D matrix
— D matrix in discrete timeFeedthrough matrix of the discrete-time state-space model. The D matrix must have the number of rows equal to the number of system outputs, and the number of columns equal to the number of system inputs.
To enable this parameter, set State-feedback
parameterization to
Discrete-time
.
Continuous-time A matrix
— A matrix in continuous timeState matrix of the continuous-time state-space model. The A matrix must be square, with the number of rows and columns equal to the order of the system.
To enable this parameter, set State-feedback
parameterization to
Continuous-time
.
Continuous-time B matrix
— B matrix in continuous timeInput matrix of the continuous-time state-space model. The B matrix must have the number of rows equal to the order of the system, and the number of columns equal to the number of system inputs.
To enable this parameter, set State-feedback
parameterization to
Continuous-time
.
Continuous-time C matrix
— C matrix in continuous timeOutput matrix of the continuous-time state-space model. The C matrix must have the number of rows equal the number of outputs of the system, and the number of columns equal to the order of the system.
To enable this parameter, set State-feedback
parameterization to
Continuous-time
.
Continuous-time D matrix
— D matrix in continuous timeFeedthrough matrix of the continuous-time state-space model. The D matrix must have the number of rows equal to the number of system outputs, and the number of columns equal to the number of system inputs.
To enable this parameter, set State-feedback
parameterization to
Continuous-time
.
Discretization sample time
— Discretization sample timeValue used to discretize the state space matrices and also approximate the discrete-time eigenvalues.
To enable this parameter, set State-feedback
parameterization to
Continuous-time
and Sample time
(-1 for inherited) to -1
.
Desired eigenvalues (discrete)
— Observer eigenvaluesSpecify the location of the eigenvalues to lie within the unit circle. The controller gain is then calculated based on these eigenvalues. The size of the vector must be equal to the system order plus the number of outputs.
Control action upper limit
— umax5
(default) | scalar greater than the value of the Control action lower
limit parameterUpper limit for the control output signal.
Control action lower limit
— umin0
(default) | scalarLower limit for the control output signal.
Sample time (-1 for inherited)
— Sampling interval-1
(default) | default value or a positive numberTime interval between samples. If the block is
inside a triggered subsystem, inherit the sample time by setting this
parameter to -1
. If this block is in a continuous
variable-step model, specify the sample time explicitly. For more
information, see What Is Sample Time? and
Specify Sample Time.