You can create an MPC controller with a linear plant model using the MPC Designer app or at the command line. To design a controller, first select the controller sample time and horizons, and specify any required constraints. For more information, see Choose Sample Time and Horizons and Specify Constraints. You can then adjust the controller weights to achieve your desired performance, see Tune Weights for more information.
|MPC Designer||Design and simulate model predictive controllers|
Choose your MPC controller sample time, prediction horizon, and control horizon early in your design, and hold them constant as you tune other controller parameters.
You can specify upper and lower bounds for the values of plant outputs and manipulated variables, and also for the rate of change of manipulated variables.
Solve linear MPC problems in which some or all manipulated variables belong to discrete sets.
- Solve a Discrete Set MPC Problem in MATLAB
- Solve a Discrete Set MPC Problem in Simulink
- Surge Tank Control Using Discrete Control Set MPC
When designing an MPC controller, it is good practice to define scale factors for each plant input and output, especially when variables have large differences in magnitude.
To tune your MPC controller performance, adjust the cost function penalty weights for plant outputs and manipulated variables, and also for the rate of change of manipulated variables.
To design an MPC controller at an equilibrium point with nonzero operating conditions, you can specify the corresponding nominal conditions in the controller object.
Design a model predictive controller for a continuous stirred-tank reactor (CSTR) using MPC Designer.
Design and simulate a model predictive controller at the MATLAB® command line.
Design and simulate a model predictive controller for a Simulink® model using MPC Designer.
Design for Specialized Plants
Design a model predictive controller for a plant with delays using MPC Designer.
Configure an MPC controller for a nonsquare plant with unequal numbers of manipulated variables and outputs.
Design a model predictive controller using a linear System Identification Toolbox™ plant model.
To programmatically reproduce controller designs that you obtained interactively using MPC Designer, you can automatically generate MATLAB scripts.
Design a model predictive controller for a position servomechanism using MPC Designer.
Design a model predictive controller for a nonlinear paper machine process using MPC Designer.
Control an inverted pendulum in an unstable equilibrium position using a model predictive controller.
Design a model predictive controller for a MIMO system with multiple control objectives.
Design a model predictive controller to control an aircraft with saturating actuators.