Article ID: | iaor201528850 |
Volume: | 36 |
Issue: | 5 |
Start Page Number: | 685 |
End Page Number: | 704 |
Publication Date: | Sep 2015 |
Journal: | Optimal Control Applications and Methods |
Authors: | Diehl M, Quirynen R, Vukov M, Zanon M |
Keywords: | programming: nonlinear, optimization, programming: dynamic |
Nonlinear model predictive control (NMPC) allows one to explicitly treat nonlinear dynamics and constraints. To apply NMPC in real time on embedded hardware, online algorithms as well as efficient code implementations are crucial. A tutorial‐style approach is adopted in this article to present such algorithmic ideas and to show how they can efficiently be implemented based on the ACADO Toolkit from MATLAB (MathWorks, Natick, MA, USA). Using its code generation tool, one can export tailored Runge–Kutta methods–explicit and implicit ones–with efficient propagation of their sensitivities. The article summarizes recent research results on autogenerated integrators for NMPC and shows how they allow to formulate and solve practically relevant problems in only a few tens of microseconds. Several common NMPC formulations can be treated by these methods, including those with stiff ordinary differential equations, fully implicit differential algebraic equations, linear input and output models, and continuous output independent of the integration grid. One of the new algorithmic contributions is an efficient implementation of infinite horizon closed‐loop costing. As a guiding example, a full swing‐up of an inverted pendulum is considered.