i2c2logo i2c2_top erilogo

jMPC Toolbox

The jMPC Toolbox is a MATLAB Toolbox which 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 MATLAB
- 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
- Windows 32bit (x86) and 64bit (amd64) binaries of the MEX functions supplied.

Latest Versions (v3.20) Features

- Major performance upgrades, enhanced QP solvers, faster MPC simulations
- Minor bug-fixes

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:

Toolbox Screenshots

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:


Toolbox Pre-Requisites

The jMPC Toolbox is designed for Windows MATLAB users thus MEX files are only supplied for Windows users. However, 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.