acados

Github workflow status Github workflow status Appveyor workflow status

Fast and embedded solvers for nonlinear optimal control.

About acados

acados is a software package providing fast and embedded solvers for nonlinear optimal control. Problems can be conveniently formulated using the CasADi symbolic framework and the high-level acados interfaces.

acados provides a collection of computationally efficient building blocks tailored to optimal control structured problems, most prominently optimal control problems (OCP) and moving horizon estimation (MHE) problems. Among others, acados implements:

  • modules for the integration of ordinary differential equations (ODE) and differential-algebraic equations (DAE),

  • interfaces to state-of-the-art QP solvers like HPIPM, qpOASES, DAQP and OSQP

  • (partial) condensing routines, provided by HPIPM

  • nonlinear programming solvers for optimal control structured problems

  • real-time algorithms, such as the real-time iteration (RTI) and advanced-step real-time iteration (AS-RTI) algorithms

The back-end of acados uses the high-performance linear algebra package BLASFEO, in order to boost computational efficiency for small to medium scale matrices typical of embedded optimization applications. MATLAB, Octave and Python interfaces can be used to conveniently describe optimal control problems and generate self-contained C code that can be readily deployed on embedded platforms.

Problem Formulation

Since acados mainly aims on providing SQP type methods for optimal control, it naturally needs optimal control structured nonlinear programming formulations (OCP-NLP) and quadratic programming (QP) formulations to tackle the subproblems within SQP.

  • Optimal control structured NLP (OCP-NLP): The problem formulation targeted by acados OCP solver is stated here.

  • QP formulations (dense and OCP structured): acados relies on HPIPM for reformulating QP problems via (partial) condensing and expansion routines. We thus use the flexible QP formulations from HPIPM for optimal control structured quadratic programming formulation (OCP-QP) and the dense QP formulation. Both problem formulations are documented in the HPIPM guide.