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 (v3).
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
- Pinocchio (rigid-body dynamics computations)
- Crocoddyl (optimal control library)
- ProxSuite (quadratic programming) (optional)
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
- 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
- Jianghan ZHang (NYU): features extension
Metadata
Release files for libmim-solvers 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| libmim_solvers-0.3.0.tar.gz | 101.1 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| libmim_solvers-0.3.0-1-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details |
| libmim_solvers-0.3.0-1-py3-none-manylinux_2_28_aarch64.whl | Python 3 | none | Linux glibc 2.28+ ARM64 | Details |
| libmim_solvers-0.3.0-1-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| libmim_solvers-0.3.0-1-py3-none-macosx_10_9_x86_64.whl | Python 3 | none | macOS 10.9+ x86-64 | Details |
Total release size: 2.8 MB
Release files / libmim_solvers-0.3.0.tar.gz
| Download URL | libmim_solvers-0.3.0.tar.gz |
|---|---|
| Size | 101.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c98ccbde0695bb2f27649097587b3edca2945609fe40be8713d6d3a9889b59c
|
|
BLAKE2b-256 checksum How to use checksums |
42f53214a63f6fb191db4d3c5d2750d439a466e656cd0c6c74bef137e9576a69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency logRelease files / libmim_solvers-0.3.0-1-py3-none-manylinux_2_28_x86_64.whl
| Download URL | libmim_solvers-0.3.0-1-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 792.7 kB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
3ed858eefb869ca09f6e87343ef6309e07268885d4dcced1693fdf59affab8d1
|
|
BLAKE2b-256 checksum How to use checksums |
2421734a925b937291d73c71887eda3b20b56a79ba318e33adb8abc459c42691
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency logRelease files / libmim_solvers-0.3.0-1-py3-none-manylinux_2_28_aarch64.whl
| Download URL | libmim_solvers-0.3.0-1-py3-none-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 710.2 kB |
| Tags | Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
27db3ef1338e9cdf91b05259987bd7bbf35bd7d9f0e219811fdfcdcd3a05320c
|
|
BLAKE2b-256 checksum How to use checksums |
9ed7db43ebd3a92d1f242e996623e75f1cdcf2be60aa18203ca998e9a4b9bd41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency logRelease files / libmim_solvers-0.3.0-1-py3-none-macosx_11_0_arm64.whl
| Download URL | libmim_solvers-0.3.0-1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 533.4 kB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c739106821b1087ef16a98294f93ddb761ac5508371e8ad5bd5cf09e034bc155
|
|
BLAKE2b-256 checksum How to use checksums |
3ceb5490c0fae7cc3c0b2fbde2128f245096de3af9f59f0310a113c27c6dc284
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency logRelease files / libmim_solvers-0.3.0-1-py3-none-macosx_10_9_x86_64.whl
| Download URL | libmim_solvers-0.3.0-1-py3-none-macosx_10_9_x86_64.whl |
|---|---|
| Size | 655.7 kB |
| Tags | Python 3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
5de7c5ecc35740169c1f19fcb55157272a7e94c18daf2fd79003a021fe220834
|
|
BLAKE2b-256 checksum How to use checksums |
77f114cb39ba864dd005955b0cf24652ddedc33f0a3f61bb5d48eeb509ea1502
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 11, 2026.
Transparency log