Skip to content
Jan Dentler edited this page Oct 16, 2018 · 5 revisions

Welcome to the denmpc wiki!

This package is providing an object-oriented real-time nonlinear model predictive control (NMPC) framework which developed at the Automation & Robotics Research Group http://wwwde.uni.lu/snt/research/automation_robotics_research_group at the University of Luxembourg.

The basic idea of DENMPC is to provide a fast nonlinear MPC that can adjust at runtime to different systems. This refers to:

  • Multi-agent systems that can change in tasks, objectives and topology
  • Fault-tolerant control, where the controller has to adapt to different system conditions
  • Control prototyping, where you want to explore different scenarios without creating the underlying Optimal Control Problem (OCP) from scratch

In order to do so, DENMPC features an object-oriented modularization approach. This allows structuring the control scenario into agents, constraints and couplings. Out of these single components, DENMPC is dynamically creating the OCP at runtime. As a result, agents, constraints and couplings can be added or removed, and parameters can be changed at runtime. This addition, respectively substraction is triggered by events which can be for example timer events, ROS-messages events, etc. For very complex tasks, this can further be used to combine step chains with DENMPC, to specialize the MPC for each task stage individually.

The GPLv3 licenced source code is available under https://github.com/snt-robotics/denmpc and https://github.com/DentOpt/denmpc . Proprietary licences are available under request.

DENMPC has been developed in the context of the PhD thesis and contributions:

J. Dentler, 
"Real-time Model Predictive Control of Cooperative Aerial Manipulation",
PhD Thesis, University of Luxembourg, July 2018

Jan Dentler, Somasundar Kannan, Souad Bezzaoucha, Miguel Angel Olivares-Mendez, and Holger Voos, 
Model predictive cooperative localization control of multiple UAVs using potential function sensor constraints. 
Autonomous Robots, March 2018, pages 1–26.
doi: 10.1007/s10514-018-9711-z, url: https://doi.org/10.1007/s10514-018-9711-z

J. Dentler, S. Kannan, M. A. O. Mendez and H. Voos,
"A modularization approach for nonlinear model predictive control of distributed fast systems",
24th Mediterranean Conference on Control and Automation (MED), Athens, Greece, 2016, pp. 292-297.
doi: 10.1109/MED.2016.7535973

Jan Dentler and Somasundar Kannan and Miguel Angel Olivares Mendez and Holger Voos,
"A real-time model predictive position control with collision avoidance for commercial low-cost quadrotors",
Proceedings of 2016 IEEE Multi-Conference on Systems and Control (MSC 2016), Argentina, Buenos Aires, 2016 

DENMPC features:

Nonlinear model predictive control (e.g. a quadrotor with nonlinear system dynamics)
Central control of single-agent systems (e.g. a single robot)
Central control of multi-agent systems (e.g. multiple robots that are interacting)
Object-oriented code to easily adapt it:
    Controller: Interface class for implementations of controllers, e.g.CMSCGMRES
    Agent: Interface class for implementations of agents, respective system or robot types, e.g. Quadrotor
    Constraint: Interface class for implementations of single-agent constraints
    Coupling: Interface class for implementations for coupling agents 
Open-source code 

The used kernel solver is a "Condensed Multiple Shooting Generalized Minimal Residuum Method (CMSCGMRES)" contributed by the team of Prof. Dr. Toshiyuki OHTSUKA:

Ohtsuka, T.,
“A Continuation/GMRES Method for Fast Computation of Nonlinear Receding Horizon Control,”
Automatica, Vol. 40, No. 4, Apr. 2004, pp. 563-574.

Seguchi, H., and Ohtsuka, T.,
“Nonlinear Receding Horizon Control of an Underactuated Hovercraft,”
International Journal of Robust and Nonlinear Control, Vol. 13, Nos. 3-4, Mar.-Apr. 2003, pp. 381-398. 
Clone this wiki locally