L4acados: Learning-based models for acados, applied to Gaussian process-based predictive control
Incorporating learning-based models, such as artificial neural networks or Gaussian processes, into model predictive control (MPC) strategies can significantly improve control performance and online adaptation capabilities for real-world applications. Still, enabling state-of-the-art implementations of learning-based models for MPC is complicated by the challenge of interfacing machine learning frameworks with real-time optimal control software. This work aims to fill this gap by incorporating external sensitivities in sequential quadratic programming (SQP) solvers for nonlinear optimal control. To this end, we provide <monospace>L4acados</monospace>, a general framework for incorporating <monospace>Python</monospace>-based dynamics models in the real-time optimal control software <monospace>acados</monospace>. By computing external sensitivities via a user-defined <monospace>Python</monospace> module, <monospace>L4acados</monospace> enables the implementation of MPC controllers with learning-based residual models in <monospace>acados</monospace>, while supporting parallelization of sensitivity computations when preparing the quadratic subproblems. We demonstrate significant speedups and superior scaling properties of <monospace>L4acados</monospace> compared to available software using a neural-network (NN)-based control example. Last, we provide an efficient and modular real-time implementation of Gaussian process-based MPC (GP-MPC) using <monospace>L4acados</monospace>, which is applied to two hardware examples: autonomous miniature racing, as well as motion control of a full-scale autonomous vehicle for an ISO lane change maneuver.