explicitMPC
Explicit model predictive controller
Description
Explicit model predictive control uses offline computations to determine all operating regions in which the optimal control moves are determined by evaluating a linear function. Explicit MPC controllers require fewer run-time computations than traditional (implicit) model predictive controllers and are therefore useful for applications that require small sample times.
To implement explicit MPC, first design a traditional (implicit) model predictive controller for your application, and then use this controller to generate an explicit MPC controller for use in real-time control. For more information, see Design Workflow for Explicit MPC.
Creation
To create an explicitMPC
object:
Create an implicit MPC controller using an
mpc
object.Define the operating range for the explicit MPC controller by creating a range structure using the
generateExplicitRange
function and specifying the bounds using dot notation.Define the optimization options for converting the implicit controller into an explicit controller using the
generateExplicitOptions
function.Create the explicit MPC controller based on the implicit controller, operating range, and optimization options using the
generateExplicitMPC
function.
Properties
Object Functions
generatePlotParameters | Parameters for plotSection |
getCodeGenerationData | Create data structures for mpcmoveCodeGeneration |
mpcmoveExplicit | Compute optimal control using explicit MPC |
plotSection | Visualize explicit MPC control law as 2-D sectional plot |
sim | Simulate an MPC controller in closed loop with a linear plant |
simplify | Reduce explicit MPC controller complexity and memory requirements |
size | Size and order of MPC Controller |
Examples
Version History
Introduced in R2014b
See Also
Functions
generateExplicitMPC
|generateExplicitRange
|generateExplicitOptions
|simplify
|generatePlotParameters
|plotSection
|mpcmoveExplicit
|sim