Skip to content

Implementation of numerical solvers used in the Machines in Motion Laboratory

License

Notifications You must be signed in to change notification settings

machines-in-motion/mim_solvers

Repository files navigation

mim_solvers

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.

Dependencies

Installation

Using conda

conda install mim-solvers --channel conda-forge

Using CMake

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.

Contributors