Fast and embedded solvers for nonlinear optimal control
Clone or download
Latest commit e4cbc0f Jan 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
acados fix make build for OSQP (forgot to compile ocp_qp_osqp.c) Jan 16, 2019
ci running unit tests also on release Sep 20, 2018
cmake linked ooqp with lapack Jul 24, 2018
docs Merge parent changes May 23, 2018
examples Merge pull request #356 from bnovoselnik/osqp Jan 16, 2019
experimental experimental code to test SWIG wrapper for acados_c interface Dec 12, 2018
external switched osqp branch to develop, bumped osqp, disabled internal PROFI… Dec 18, 2018
interfaces Merge pull request #356 from bnovoselnik/osqp Jan 16, 2019
swig minimal integrator implementation and wrapper Oct 19, 2018
test Merge pull request #356 from bnovoselnik/osqp Jan 16, 2019
webpage-source Update Installation subpage to point to GitHub Releases Apr 19, 2018 CMake for qpOASES (#94) Jun 14, 2017
.appveyor.yml removed deployment in appveyor Aug 22, 2018
.clang-format clang-format: allow multiple empty lines May 17, 2018
.codecov.yml try disabling codecov commit status Aug 21, 2018
.gitattributes Another small change to .gitattributes Jul 22, 2016
.gitignore update gitignore Oct 19, 2018
.gitmodules switched osqp branch to develop, bumped osqp, disabled internal PROFI… Dec 18, 2018
.travis.yml updated secure variables Sep 20, 2018
CMakeConfig.txt Rewrite the installation system of acados Oct 19, 2017
CMakeLists.txt returned -std=c99 flag in acados Dec 18, 2018
COPYING CMake for qpOASES (#94) Jun 14, 2017
CPPLINT.cfg Change brace style to Allman Apr 19, 2018
LICENSE Initial commit Apr 27, 2015
Makefile restored default make target Jan 16, 2019
Makefile.osqp moved OSQP build system from Makefile to Makefile.osqp Jan 16, 2019
Makefile.rule added osqp to the make build system Jan 14, 2019 slight update of readme file Sep 28, 2018 removed python ctypes interface Nov 13, 2018 used acados_format, fixed cmake Nov 9, 2018
convention_about_external_functions.txt fix small typo in convention_about_external_functions Nov 22, 2018 fixed lint Jun 14, 2018 changed link for casadi_python in, since the other is broken Dec 10, 2018 edit documentation Oct 19, 2018


Travis Status Appveyor status codecov

Fast and embedded solvers for nonlinear optimal control.


If you are on Ubuntu (tested with 16.04), you can run ./ You can also follow the manual installation instructions below.

  • soon: binaries for all operating systems available for download (see Releases)

Getting started


First, add CasADi and acados to your MATLAB path. From a MATLAB command window

addpath <path_to_acados_root_folder>/external/casadi-matlabR2014b-v3.4.0
addpath <path_to_acados_installation_folder>
% To permanently add these paths:

Run an acados example, from <path_to_acados_root_folder>/examples/matlab/:



acados only supports Python3. Add CasADi and acados to the PYTHONPATH environment variable (add those lines to your .bashrc or .zshrc to set the paths permanently):

export PYTHONPATH=<path_to_acados_root_folder>/external/casadi-py35-v3.4.0-64bit:$PYTHONPATH
export PYTHONPATH=<path_to_acados_installation_folder>:$PYTHONPATH

To run a Python example from the acados root folder:

python examples/python/

Manual Installation

Otherwise, follow the steps below:

  1. Install the dependencies:

    sudo apt-get install libgsl0-dev liblapack-dev libopenblas-dev liboctave-dev libeigen3-dev python3-tk
    sudo apt-get install byacc # for swig
    sudo apt-get install python3-scipy python3-numpy python3-matplotlib
  2. Download CasADi into the <acados_root_folder>/external folder:

    cd external
    wget -q -nc
    mkdir -p casadi-octave-v3.4.0
    tar -xf casadi-linux-octave-v3.4.0.tar.gz -C casadi-octave-v3.4.0
    wget -q -nc
    mkdir -p casadi-py35-v3.4.0-64bit
    tar -xf casadi-linux-py35-v3.4.0-64bit.tar.gz -C casadi-py35-v3.4.0-64bit
    wget -q -nc
    mkdir -p casadi-matlabR2014b-v3.4.0
    tar -xf casadi-linux-matlabR2014b-v3.4.0.tar.gz -C casadi-matlabR2014b-v3.4.0
    cd ..
  3. Initialize all submodules

    git submodule update --recursive --init
  4. Build and install swig. Make sure you don't have an older version installed (e.g. via the package system):

    cd external/swig
    ./configure --prefix=$(pwd)/swig_install --enable-silent-rules
    make install > /dev/null    # quiet installation
    export PATH=$(pwd):$PATH    # add swig to PATH
    cd ../.. # back to acados root folder
  5. Build and install acados. By default, acados is installed in $HOME/local/lib. If you want to install acados elsewhere, pass -D ACADOS_INSTALL_DIR=<path_to_acados_installation_folder> to cmake below.

    mkdir -p build
    cd build
    cmake -D SWIG_MATLAB=1 -D SWIG_PYTHON=1 ..   # set SWIG_MATLAB=0 if you don't have MATLAB installed
    make install