Main Content

Get Started with Model Predictive Control Toolbox

Design and simulate model predictive controllers

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.

Tutorials

About Model Predictive Control

  • MPC Modeling

    Model predictive controllers use plant, disturbance, and noise models for prediction and state estimation.

  • Controller State Estimation

    MPC controllers use their current state as the basis for predictions. In general, the controller states are unmeasured and must be estimated.

  • Optimization Problem

    Model predictive controllers compute optimal manipulated variable control moves by solving a quadratic program at each control interval.

  • QP Solvers

    The model predictive controller QP solvers convert an MPC optimization problem to a general form quadratic programming problem.

Videos

Why Use MPC?
Understand the benefits of using model predictive control.

What Is MPC?
Understand the working principles of model predictive control.

MPC Design Parameters
Understand common MPC design parameters, such as sample time, horizons, tuning weights, and constraints.