Fast and embedded solvers for nonlinear optimal control.
acadosoffers interfaces to the programming languagesC,Python,MATLABandOctave- Documentation can be found on docs.acados.org
- Forum: If you have any acados-related question, feel free to post on our forum discourse.acados.org.
- Citing acados: references can be found here and here.
-
Initialize all submodules
git submodule update --recursive --init -
Build and install
acados. Both a CMake and a Makefile based build system is supported at the moment. Please choose one and proceed with the corresponding paragraph.Set the
BLASFEO_TARGETin<acados_root>/CMakeLists.txt. For a list of supported targets, we refer to https://github.com/giaf/blasfeo/blob/master/README.md . Install acados as followsmkdir -p build cd build cmake .. # with optional arguments e.g. -DACADOS_WITH_OSQP=OFF/ON -DACADOS_INSTALL_DIR=<path_to_acados_installation_folder> make installSet the
BLASFEO_TARGETin<acados_root>/Makefile.rule. For a list of supported targets, we refer to https://github.com/giaf/blasfeo/blob/master/README.md . Install acados as followsmake shared_library export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_acados_folder>/lib make examples_c make run_examples_c
acados written in C and offers interfaces to the programming languages C, Python, MATLAB and Octave.
- This includes all functionality in
<acados_root>/interfaces/acados_c. - Documentation can be found here: C API
- The interface is written in
MEX - It deals with the problem formulation described in this PDF
- To get started
- install
acadosas described above - Octave users: provide a
CasADi versionin<acados_root>/external/casadi_octave/. We recommend version 3.4.5. For Matlab, aCasADiversion should be provided in<acados_root>/external/casadi_matlab/, however, this is done automatically when using the examples in thegetting_startedfolder. On Linux machines with Octave 4.4.1. or later this can be done as follows:cd external wget -q -nc --show-progress https://github.com/casadi/casadi/releases/download/3.4.5/casadi-linux-octave-4.4.1-v3.4.5.tar.gz mkdir -p casadi-octave tar -xf casadi-linux-octave-4.4.1-v3.4.5.tar.gz -C casadi-octave - Linux and MacOS users:
- in a terminal navigate to
<acados_root>/examples/acados_matlab_octave/getting_started - run
source env.shand start Matlab/Octave
- in a terminal navigate to
- Windows users:
- start Matlab
- run
acados_examples_env.min<acados_root>/examples/acados_matlab_octave
- enjoy the examples in
<acados_root>/examples/acados_matlab_octave/getting_started
- install
- More documentation can be found on docs.acados.org/interfaces/
- The interface is based on templated
Ccode, header files and a Makefile, which are rendered with the templating engineTera. - The generated
Ccode can be easily deployed on embedded platforms. - The same problem formulation as for the MATLAB interface is used (see here).
- The
ctypespackage is used to interact with the rendered Code. CasADiis required and is downloaded automatically, when installing the Python interface usingpip- More documentation can be found on docs.acados.org/interfaces/
