Implementation of efficient numerical optimal control solvers. In particular, the Sequential Quadratic Programming (SQP) solver described in this paper solves nonlinear constrained OCPs efficiently by leveraging sparsity.
All the solvers are implemented based on the API of Crocoddyl (v2).
In other words, our solvers take as input a crocoddyl.ShootingProblem
.
Examples on how to use the solvers can be found in the examples
directory.
conda install mim-solvers --channel conda-forge
git clone --recursive https://github.com/machines-in-motion/mim_solvers.git
cd mim_solvers && mkdir build && cd build
cmake .. [-DCMAKE_BUILD_TYPE=Release] [-DCMAKE_INSTALL_PREFIX=...]
make [-j6] && make install
You can also run unittests using ctest
and benchmarks using ./benchmarks/ur5
or ./benchmarks/solo12
from the build directory.