Implementation of numerical solvers used in the Machines in Motion Laboratory. In particular, the Sequential Quadratic Programming (SQP) solver described in this paper solves nonlinear constrained OCPs efficiently.
All solvers are implemented by using Crocoddyl (v2.0) as the base software. Consequently, Crocoddyl users can use our efficient solvers while constructing their OCPs using the same API they are used to. The default solvers of Crocoddyl are also re-implemented for benchmarking purposes (namely DDP and FDDP) but with modified termination criteria and line-search.
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
- 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