A sequential dual-objective NMPC scheme applied to a planar quadrotor. Optimize time-optimal motion, stabilizing a target neighborhood of a state-space manifold.
- A Linux OS
- matlab
- python (>=3), with numpy and matplotlib
- swig, tested with v3.0.12
- gcc, g++
- blas
- lapack
- casadi, tested with v3.3.0-rc2
- acados, tested with bd193f3
- From Matlab, execute
code_generation/generate_code.m
- In a terminal, browse to
controller_library
- Point to python include directory:
export PYTHONINC=...
, e.g.export PYTHONINC=/usr/include/python3.6m
- Point to acados installation directory:
export ACADOS=...
, i.e. where theinclude
andlib
directories live (such as the root dir of the GIT repo after compilation). - and execute
make install
- Point to python include directory:
- Use Python to run
simulation/simulate.py
for simulations
- Note that currently only Nta < Ntr is supported, i.e. the economic prediction horizon must be shorter than the manifold stabilizing prediction horizon.
- The
lapack
andblas
libraries are assumed to be installed in/usr/lib/
.