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
30 days of exploration at your fingertips.
Let us know how we can help you.
Contact the Model Predictive Control Toolbox technical team.