Convert implicit MPC controller to explicit MPC controller
Given a traditional Model Predictive Controller design in the implicit form, convert it to the explicit form for real-time applications requiring fast sample time.
converts
a traditional (implicit) MPC controller to the equivalent explicit
MPC controller, using the specified parameter bounds. This calculation
usually requires significant computational effort because a multi-parametric
quadratic programming problem is solved during the conversion.EMPCobj
= generateExplicitMPC(MPCobj
,range
)
Using Explicit MPC, you will most likely achieve best performance in small control problems, which involve small numbers of plant inputs/outputs/states as well as the number of constraints.
Test the implicit controller thoroughly before attempting a conversion. This helps to determine the range of controller states and other parameters needed to generate the explicit controller.
Simulate the explicit controller’s performance
using the sim
or mpcmoveExplicit
commands, or the Explicit
MPC Controller block in Simulink®.
generateExplicitMPC
displays
progress messages in the command window. Use mpcverbosity
to
turn off the display.
generateExplicitOptions
| generateExplicitRange
| mpc
| simplify