Need help with do-mpc?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

286 Stars 74 Forks GNU Lesser General Public License v3.0 547 Commits 46 Opened issues


Model predictive control python toolbox

Services available


Need anything else?

Contributors list

No Data

Model predictive control python toolbox

Documentation Status Build Status PyPI version awesome

do-mpc is a comprehensive open-source toolbox for robust model predictive control (MPC) and moving horizon estimation (MHE). do-mpc enables the efficient formulation and solution of control and estimation problems for nonlinear systems, including tools to deal with uncertainty and time discretization. The modular structure of do-mpc contains simulation, estimation and control components that can be easily extended and combined to fit many different applications.

In summary, do-mpc offers the following features:

  • nonlinear and economic model predictive control
  • support for differential algebraic equations (DAE)
  • time discretization with orthogonal collocation on finite elements
  • robust multi-stage model predictive control
  • moving horizon state and parameter estimation
  • modular design that can be easily extended

The do-mpc software is Python based and works therefore on any OS with a Python 3.x distribution. do-mpc has been developed by Sergio Lucia and Alexandru Tatulea at the DYN chair of the TU Dortmund lead by Sebastian Engell. The development is continued at the Laboratory of Process Automation Systems (PAS) of the TU Dortmund by Felix Fiedler and Sergio Lucia.

Installation instructions

Installation instructions are given here.


Please visit our extensive documentation, kindly hosted on readthedocs.

Citing do-mpc

If you use do-mpc for published work please cite it as:

S. Lucia, A. Tatulea-Codrean, C. Schoppmeyer, and S. Engell. Rapid development of modular and sustainable nonlinear model predictive control solutions. Control Engineering Practice, 60:51-62, 2017

Please remember to properly cite other software that you might be using too if you use do-mpc (e.g. CasADi, IPOPT, ...)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.