Model Predictive Control Toolbox
Design and simulate model predictive controllers
Have questions? Contact sales.
Have questions? Contact sales.
Model Predictive Control Toolbox™ provides functions, an app, Simulink® blocks, and reference examples for developing model predictive control (MPC). For linear problems, the toolbox supports the design of implicit, explicit, adaptive, and gain-scheduled MPC. For nonlinear problems, you can implement single- and multi-stage nonlinear MPC. The toolbox provides deployable optimization solvers and also enables you to use a custom solver.
You can evaluate controller performance in MATLAB® and Simulink by running closed-loop simulations. For automated driving, you can also use the provided MISRA C®- and ISO 26262-compliant blocks and examples to quickly get started with lane keep assist, path planning, path following, and adaptive cruise control applications.
The toolbox supports C and CUDA® code and IEC 61131-3 Structured Text generation.
Design implicit, gain-scheduled, and adaptive MPC controllers that solve a quadratic programming (QP) problem. Generate an explicit MPC controller from an implicit design. Use discrete control set MPC for mixed-integer QP problems.
Use the MPC Designer app to interactively design implicit MPC controllers, linearize your Simulink model with Simulink Control Design™, validate controller performance using simulation scenarios, and compare responses for multiple designs.
Design nonlinear and economic MPC controllers that use Optimization Toolbox™ to solve a nonlinear programming (NLP) problem. Use single- or multi-stage formulation for optimal planning and feedback control.
Select from built-in active-set, interior-point, and mixed-integer QP solvers, or use NLP solvers from Optimization Toolbox. Alternatively, use FORCESPRO solvers (by Embotech) or your own custom solver.
Specify prediction models analytically with Control System Toolbox™ or Symbolic Math Toolbox™, by linearizing a Simulink model with Simulink Control Design, or through measured data with System Identification Toolbox™ and Deep Learning Toolbox™.
Estimate controller states from measured outputs using the state estimator provided by the toolbox or a custom state estimator. Detect potential stability and robustness issues with your linear MPC design using the built-in diagnostic function.
Evaluate controller performance by running closed-loop simulations in Simulink using ISO 26262- and MISRA C-compliant Simulink blocks, as well as in MATLAB with command-line functions. Automate testing for multiple scenarios with Simulink Test™.
Automatically generate production C/C++ and CUDA code, or IEC 61131-3 structured text, from MPC controllers designed in MATLAB and Simulink. Deploy the code to a variety of targets such as ECUs, GPUs, and PLCs.
"Sumitomo Construction Machinery achieved a 15% reduction in fuel consumption without sacrificing the excavator’s dynamic performance. The increase in efficiency was due, in part, to a 50% reduction in engine speed fluctuations made possible by Model Predictive Control Toolbox and our improved control design."Eisuke Matsuzaki, Sumitomo Heavy Industries