review
Examine MPC controller for design errors and stability problems at run time
Description
review(
checks for potential design
issues in the model predictive controller with defined sample time,
mpcobj
)mpcobj
, and generates a testing report. The testing report provides
information about each test, highlights test warnings and failures, and suggests possible
solutions. For more information on the tests performed by the review
function, see Algorithms.
Examples
Input Arguments
Output Arguments
Tips
You can also review your controller design in the MPC Designer app. On the Tuning tab, in the Analysis section, click Review Design.
Test your controller design using techniques such as simulations, since
review
cannot detect all possible performance factors.
Algorithms
The review command performs the following tests.
Test | Description |
---|---|
MPC Object Creation | Tests whether the controller specifications generate a valid MPC controller. If the controller is invalid, additional tests are not performed. |
QP Hessian Matrix Validity | Tests whether the MPC quadratic programming (QP) problem for the controller has a unique solution. You must choose cost function parameters (penalty weights) and horizons such that the QP Hessian matrix is positive-definite. |
Closed-Loop Internal Stability | Extracts the A matrix from the state-space realization of the
unconstrained controller, and then calculate its eigenvalues. If the absolute value of
each eigenvalue is less than or equal to 1 and the plant is stable,
then your feedback system is internally stable. |
Closed-Loop Nominal Stability | Extracts the A matrix from the discrete-time state-space
realization of the closed-loop system; that is, the plant and controller connected in
a feedback configuration. Then calculate the eigenvalues of A . If
the absolute value of each eigenvalue is less than or equal to 1 ,
then the nominal (unconstrained) system is stable. This test is not performed if
mpcobj is set to use a custom state estimator. |
Closed-Loop Steady-State Gains | Tests whether the controller forces all controlled output variables to their
targets at steady state in the absence of constraints. This test is not performed if
mpcobj is set to use a custom state estimator. This test is not
performed if mpcobj is set to use a custom state
estimator. |
Hard MV Constraints | Tests whether the controller has hard constraints on both a manipulated variable and its rate of change, and if so, whether these constraints may conflict at run time. |
Other Hard Constraints | Tests whether the controller has hard output constraints or hard mixed input/output constraints, and if so, whether these constraints may become impossible to satisfy at run time. |
Soft Constraints | Tests whether the controller has the proper balance of hard and soft constraints by evaluating the constraint ECR parameters. |
Memory Size for MPC Data | Estimates the memory size required by the controller at run time. |
Alternatives
review
automates certain tests that you can perform at the command
line.
Version History
Introduced in R2011b
See Also
Functions
trim
|cloffset
|sensitivity
|ss
|tf
|zpk
|size
|d2d
|mpcverbosity
|mpcprops
|set
|get
|getname
|setname
|getindist
|getoutdist
|setindist
|setoutdist
|getEstimator
|setEstimator
|sim
|trim