Once you have validated a model predictive controller in Simulink® or MATLAB®, you can generate code and deploy it for real-time control applications. For more information, see Generate Code and Deploy Controller to Real-Time Targets.
MATLAB Code Generation
|Create data structures for |
|Compute optimal control moves with code generation support|
Custom QP Applications
|Solve quadratic programming problem using active-set algorithm|
|Create default option set for |
|Solve a quadratic programming problem using an interior-point algorithm|
|Create default option set for
|Configures an MPC object to use the QP solver from Optimization Toolbox as a custom solver|
|MPC Controller||Simulate model predictive controller|
|Adaptive MPC Controller||Simulate adaptive and time-varying model predictive controllers|
|Explicit MPC Controller||Explicit model predictive controller|
|Multiple MPC Controllers||Simulate switching between multiple implicit MPC controllers|
|Multiple Explicit MPC Controllers||Multiple explicit MPC controllers|
|Nonlinear MPC Controller||Simulate nonlinear model predictive controllers|
|Adaptive Cruise Control System||Simulate adaptive cruise control using model predictive controller|
|Lane Keeping Assist System||Simulate lane-keeping assistance using adaptive model predictive controller|
|Path Following Control System||Simulate path-following control using adaptive model predictive controller|
Code Generation Basics
Model Predictive Control Toolbox™ software provides code generation functionality for controllers designed in Simulink and MATLAB.
The model predictive controller QP solvers convert an MPC optimization problem to a general form quadratic programming problem.
Simulink Code Generation
Simulate your MPC controller in Simulink and generate real-time code that uses either double or single precision signals.
Simulate your MPC controller in Simulink and generate structured text for programmable logic controllers.
To ensure that an MPC controller works properly inside a Function-Call or triggered subsystem, configure the MPC Controller block to use inherited sample time and invoke the subsystem periodically with the same sample time defined in the MPC controller object.
MATLAB Code Generation
Generate C code to compute manipulated variable moves for real-time applications.
You can implement a custom MPC control algorithm that supports C code
generation in MATLAB using the built-in QP solver,
CUDA Code Generation
Simulate your MPC controller in MATLAB using the GPU.
Simulate your MPC controller in Simulink using the GPU.
Using Custom Solvers
Generate code for a model predictive controller that uses a custom quadratic programming solver.
Use Embotech FORCESPRO Solvers with the Model Predictive Control Toolbox to solve MPC problems and deploy controllers to real-time targets.
Implement an online model predictive controller application using the OPC client supplied with the OPC Toolbox™.