Model Predictive Control Toolbox™ provides functions, an app, and Simulink® blocks for designing and simulating controllers using linear and nonlinear model predictive control (MPC). The toolbox lets you specify plant and disturbance models, horizons, constraints, and weights. By running closed-loop simulations, you can evaluate controller performance.
You can adjust the behavior of the controller by varying its weights and constraints at run time. The toolbox provides deployable optimization solvers and also enables you to use a custom solver. To control a nonlinear plant, you can implement adaptive, gain-scheduled, and nonlinear MPC controllers. For applications with fast sample rates, the toolbox lets you generate an explicit model predictive controller from a regular controller or implement an approximate solution.
For rapid prototyping and embedded system implementation, including deployment of optimization solvers, the toolbox supports C code and IEC 61131-3 Structured Text generation.
Design a model predictive controller for a continuous stirred-tank reactor (CSTR) using MPC Designer.
Design and simulate a model predictive controller for a Simulink model using MPC Designer.
Design and simulate a model predictive controller at the MATLAB® command line.
Create and simulate a model predictive controller for a SISO plant.
Create and simulate a model predictive controller for a plant with multiple inputs and a single output.
Create and simulate a model predictive controller for a MIMO plant.
Model predictive controllers use plant, disturbance, and noise models for prediction and state estimation.
MPC controllers use their current state as the basis for predictions. In general, the controller states are unmeasured and must be estimated.
Model predictive controllers compute optimal manipulated variable control moves by solving a quadratic program at each control interval.
The model predictive controller QP solvers convert an MPC optimization problem to a general form quadratic programming problem.