Auto-generated algorithms for nonlinear model predictive control on long and on short horizons

We present a code generation strategy for handling long prediction horizons in the context of real-time nonlinear model predictive control (NMPC). Existing implementations of fast NMPC algorithms use the real-time iteration (RTI) scheme and a condensing technique to reduce the number of optimization variables. Condensing results in a much smaller, but dense quadratic program (QP) to be solved at every time step. While this approach is well suited for short horizons, it leads to unnecessarily long execution times for problem formulations with long horizon. This paper presents a new implementation of auto-generated NMPC code based on a structure exploiting auto-generated QP solver. Utilizing such a QP solver, the condensing step can be avoided and execution times scale linearly with the horizon length instead of cubically. Our simulation results show that this approach significantly decreases the execution time of NMPC with long horizons. For a nonlinear test problem that comprises 9 states and 3 controls on a horizon with 50 time steps, an improvement by a factor of 2 was observed, reducing the execution time for one RTI to below 4 milliseconds on a 3 GHz CPU.

[1]  Lorenz T. Biegler,et al.  Optimization approaches to nonlinear model predictive control , 1991 .

[2]  Moritz Diehl,et al.  Real-Time Optimization for Large Scale Nonlinear Processes , 2001 .

[3]  Moritz Diehl,et al.  An auto-generated real-time iteration algorithm for nonlinear MPC in the microsecond range , 2011, Autom..

[4]  H. Bock,et al.  Recent Advances in Parameteridentification Techniques for O.D.E. , 1983 .

[5]  Hans Joachim Ferreau,et al.  Efficient Numerical Methods for Nonlinear MPC and Moving Horizon Estimation , 2009 .

[6]  M. Diehl,et al.  Nonlinear receding horizon control of an underactuated hovercraft with a multiple-shooting-based algorithm , 2006 .

[7]  H. Bock,et al.  A Multiple Shooting Algorithm for Direct Solution of Optimal Control Problems , 1984 .

[8]  Yonina C. Eldar,et al.  Convex Optimization in Signal Processing and Communications , 2009 .

[9]  Manfred Morari,et al.  Efficient interior point methods for multistage problems arising in receding horizon control , 2012, 2012 IEEE 51st IEEE Conference on Decision and Control (CDC).

[10]  M. Diehl,et al.  Fast NMPC of a chain of masses connected by springs , 2006, 2006 IEEE Conference on Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control.

[11]  Moritz Diehl,et al.  Fast auto generated ACADO integrators and application to MHE with multi-rate measurements , 2013, 2013 European Control Conference (ECC).

[12]  Stephen P. Boyd,et al.  Fast Model Predictive Control Using Online Optimization , 2010, IEEE Transactions on Control Systems Technology.

[13]  Moritz Diehl,et al.  High-speed moving horizon estimation based on automatic code generation , 2012, 2012 IEEE 51st IEEE Conference on Decision and Control (CDC).

[14]  Victor M. Zavala,et al.  The advanced-step NMPC controller: Optimality, stability and robustness , 2009, Autom..

[15]  G. Reinelt,et al.  Fast Recursive SQP MethodsforLarge-Scale Optimal Control Problems , 1995 .

[16]  L. Grüne,et al.  Nonlinear Model Predictive Control : Theory and Algorithms. 2nd Edition , 2011 .

[17]  Toshiyuki Ohtsuka,et al.  A continuation/GMRES method for fast computation of nonlinear receding horizon control , 2004, Autom..

[18]  M. Diehl,et al.  Real-time optimization and nonlinear model predictive control of processes governed by differential-algebraic equations , 2000 .

[19]  Jan Swevers,et al.  Experimental validation of nonlinear MPC on an overhead crane using automatic code generation , 2012, 2012 American Control Conference (ACC).

[20]  Stephen J. Wright,et al.  Application of Interior-Point Methods to Model Predictive Control , 1998 .

[21]  Yang Wang,et al.  Code generation for receding horizon control , 2010, 2010 IEEE International Symposium on Computer-Aided Control System Design.

[22]  Moritz Diehl,et al.  Auto Generation of Implicit Integrators for Embedded NMPC with Microsecond Sampling Times , 2012 .

[23]  Moritz Diehl,et al.  ACADO toolkit—An open‐source framework for automatic control and dynamic optimization , 2011 .

[24]  H. J. Ferreau,et al.  An online active set strategy to overcome the limitations of explicit MPC , 2008 .