The jMPC Toolbox is a result of our research into high speed embedded controllers, utilizing advanced control strategies such as Model Predictive Control (MPC). It is supported with examples, full documentation and implementation experience. The toolbox is released under the BSD 3-Clause License.
Click the button below to be redirected to our downloads page. For information on pre-requisites, please see below.
- Easily build linear MPC controllers in
- Simulate controllers within linear and nonlinear environments
- Apply linear inequality constraints to inputs and outputs
- Test various Quadratic Programming (QP) algorithms to solve the MPC QP problem
- Implement advanced functionality such as state estimation, control move blocking and soft constraints
- View real-time MPC control using the supplied Graphical User Interface (GUI) or supplied 3D Simulink animations
- Connect the Simulink MPC block to real world dynamic systems using an A/D and D/A
- Fully documented with MATLAB HTML documentation and supplied PDF manuals
- All MATLAB source code is supplied for the QP solvers and MPC engine
- Windows 32bit (x86) and 64bit (amd64) binaries of the MEX functions supplied.
Latest Versions (v3.17) Features
- Minor bug fixes and documentation updates
- MEX files rebuilt against R2013a, MKL v11 R5 and VC++ 2012
Toolbox MPC Block Diagram
The jMPC Toolbox uses the standard linear MPC algorithm, described within the supplied documentation and implemented using the following system structure:
A few jMPC result screenshots from supplied examples:
|3 DOF Helicopter Linear MPC Simulation||CSTR Linear MPC with Nonlinear Simulation|
Simulink Implementation of MPC with real-time 3D animation of plant control:
|Simulink MPC Simulation||3D Animation of MPC Control|
Graphical User Interface for classroom teaching and demonstration of MPC:
In addition, the MPC controller developed using jMPC can be deployed to a range of embedded targets. The toolbox includes auto-code generation to generate embeddable ANSI C code from any MPC controller you have designed. This functionality requires a commercial license, which can be purchased by contacting us. A demonstration of the jMPC controller deployed on a Texas Instruments Delfino microcontroller is shown in the below video:
The jMPC Toolbox is designed for Windows users, thus all MEX files are compiled against Microsoft VC++ 2012 runtime libraries using Visual Studio 2012. The toolbox does provide a MATLAB implementation of the jMPC Engine, thus the GUI plus MPC simulations are able to be run on any system. Functionality that will not run will include the Simulink jMPC block (thus no 3D simulations) and jMPC Accelerated MEX Engine.