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 source code is supplied for QP solvers, MPC MEX files and other functions
- Windows 32bit (x86) and 64bit (amd64) binaries of the MEX functions supplied.
Latest Versions (v3.15) Features
- Minor bug fixes and documentation updates
- MEX files rebuilt against R2012a and MKL v11 R1
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:
The jMPC Toolbox is designed for Windows users, thus all MEX files are compiled against Microsoft VC++ 2010 runtime libraries using Visual Studio 2010. However being an open-source package, all source code for the MEX files is provided, if you would like to compile the solvers and interfaces for your own system, e.g. Mac or Linux. Additionally, MATLAB scripts are provided to show the experienced user how to compile all solvers.
As it is though, 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.