[Yet another] software architecture for model-predictive control

Mikhail Katliar

TU Tübingen

Tuesday, May 10, 2016, 11:00

Room 01-012, Georges-Köhler-Allee 102, Freiburg 79110, Germany

ACADO is a popular code-generation tool for solving MPC problems. It offers the user a choice of integrator and QP-solver to be used, as well as a range of other options. However, lack of extensibility and of control over the code are main drawbacks of ACADO.

I present a sketch of a C++ class library which implements a modular and extensible architecture for MPC. The components of this architecture have well-defined interfaces, for which different implementations can be easily substituted without affecting the rest of the system. To ensure maximum run-time performance, static polymorphism is heavily used, which means delegating the "code-generation" to the C++ compiler.