Quim's fork of mim solvers to play around!
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.
- Pinocchio (rigid-body dynamics computations)
- Crocoddyl (optimal control library)
- ProxSuite (quadratic programming) (optional)
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 -v
and benchmarks using ./benchmarks/ur5
or ./benchmarks/solo12
from the build directory.
- Armand Jordana (NYU): main developer and manager of the project
- SĂ©bastien Kleff (NYU): main developer and manager of the project
- Avadesh Meduri (NYU): main developer and manager of the project
- Ludovic Righetti (NYU): project instructor
- Justin Carpentier (INRIA): project instructor
- Nicolas Mansard (LAAS-CNRS): project instructor
- Yann de Mont-Marin (INRIA): Conda integration and support
- Louis Montaut (INRIA): CMake support
- Guilhem Saurel (LAAS-CNRS): CMake & pip packaging support