A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file libmim_solvers-0.2.0.tar.gz.
File metadata
- Download URL: libmim_solvers-0.2.0.tar.gz
- Upload date:
- Size: 6.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ac4dc8b01c0e3a78ebc24f51816ea38592d06c1b7efdd1847cd1250503b293e
|
|
| MD5 |
e4a1ba9735be03892d35460278026b2e
|
|
| BLAKE2b-256 |
bb9642bbac5db661492b1ded97f1acf08ed6f9ad2bfb4d2bf9107ee787714cd6
|
Provenance
The following attestation bundles were made for libmim_solvers-0.2.0.tar.gz:
Publisher:
release.yml on cmake-wheel/libmim_solvers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
libmim_solvers-0.2.0.tar.gz -
Subject digest:
0ac4dc8b01c0e3a78ebc24f51816ea38592d06c1b7efdd1847cd1250503b293e - Sigstore transparency entry: 771507000
- Sigstore integration time:
-
Permalink:
cmake-wheel/libmim_solvers@6a1783d4de483e264e8950bcc262629be7302b79 -
Branch / Tag:
refs/tags/v0.2.0.c0 - Owner: https://github.com/cmake-wheel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6a1783d4de483e264e8950bcc262629be7302b79 -
Trigger Event:
push
-
Statement type:
File details
Details for the file libmim_solvers-0.2.0-0-py3-none-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: libmim_solvers-0.2.0-0-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 771.6 kB
- Tags: Python 3, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3823e5fb373e62762ef7e65461c48bad05f5091c4bd3902dd2d5fc7f6d2b2c5f
|
|
| MD5 |
f4601d4c3544a4895aa5875c101f1d35
|
|
| BLAKE2b-256 |
1d5ff66068bd348439da71dc89413173d7488d0e112d98507b42d4ecac960ea7
|
Provenance
The following attestation bundles were made for libmim_solvers-0.2.0-0-py3-none-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on cmake-wheel/libmim_solvers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
libmim_solvers-0.2.0-0-py3-none-manylinux_2_28_x86_64.whl -
Subject digest:
3823e5fb373e62762ef7e65461c48bad05f5091c4bd3902dd2d5fc7f6d2b2c5f - Sigstore transparency entry: 771507023
- Sigstore integration time:
-
Permalink:
cmake-wheel/libmim_solvers@6a1783d4de483e264e8950bcc262629be7302b79 -
Branch / Tag:
refs/tags/v0.2.0.c0 - Owner: https://github.com/cmake-wheel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6a1783d4de483e264e8950bcc262629be7302b79 -
Trigger Event:
push
-
Statement type:
File details
Details for the file libmim_solvers-0.2.0-0-py3-none-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: libmim_solvers-0.2.0-0-py3-none-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 693.4 kB
- Tags: Python 3, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b63ae33d5ffb6f6f54c97b798b6d3d167c98002e762d8c6a1516c8c6a11ecede
|
|
| MD5 |
fb4a583567e9d094dfd64f1c15c962dc
|
|
| BLAKE2b-256 |
14da6c5090d693bfacd06a668b3a1ffa38408a01c4c7b81bd830d16f5adb738c
|
Provenance
The following attestation bundles were made for libmim_solvers-0.2.0-0-py3-none-manylinux_2_28_aarch64.whl:
Publisher:
release.yml on cmake-wheel/libmim_solvers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
libmim_solvers-0.2.0-0-py3-none-manylinux_2_28_aarch64.whl -
Subject digest:
b63ae33d5ffb6f6f54c97b798b6d3d167c98002e762d8c6a1516c8c6a11ecede - Sigstore transparency entry: 771507016
- Sigstore integration time:
-
Permalink:
cmake-wheel/libmim_solvers@6a1783d4de483e264e8950bcc262629be7302b79 -
Branch / Tag:
refs/tags/v0.2.0.c0 - Owner: https://github.com/cmake-wheel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6a1783d4de483e264e8950bcc262629be7302b79 -
Trigger Event:
push
-
Statement type:
File details
Details for the file libmim_solvers-0.2.0-0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: libmim_solvers-0.2.0-0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 533.9 kB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87ec76f6c6b203c40ef9fb9ce177cf5700d43647c116b3a9675b437fe9f7a75b
|
|
| MD5 |
47d4f1f7dd526cb919f6797171dbc888
|
|
| BLAKE2b-256 |
87aeee5fe4ccca388adcf98b2037a39923377474987da0b47fcf3023f113e3e6
|
Provenance
The following attestation bundles were made for libmim_solvers-0.2.0-0-py3-none-macosx_11_0_arm64.whl:
Publisher:
release.yml on cmake-wheel/libmim_solvers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
libmim_solvers-0.2.0-0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
87ec76f6c6b203c40ef9fb9ce177cf5700d43647c116b3a9675b437fe9f7a75b - Sigstore transparency entry: 771507007
- Sigstore integration time:
-
Permalink:
cmake-wheel/libmim_solvers@6a1783d4de483e264e8950bcc262629be7302b79 -
Branch / Tag:
refs/tags/v0.2.0.c0 - Owner: https://github.com/cmake-wheel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6a1783d4de483e264e8950bcc262629be7302b79 -
Trigger Event:
push
-
Statement type:
File details
Details for the file libmim_solvers-0.2.0-0-py3-none-macosx_10_9_x86_64.whl.
File metadata
- Download URL: libmim_solvers-0.2.0-0-py3-none-macosx_10_9_x86_64.whl
- Upload date:
- Size: 656.0 kB
- Tags: Python 3, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a55f100b18a0a1047d7f7a5da2dc62febc83a0ae28c98d412230bc22f2992c5f
|
|
| MD5 |
1bf97895ccd6a19eb13272b50c2d657a
|
|
| BLAKE2b-256 |
97bbf5798af93fe809a5cb3faffe2d027ee63d4f5ec2091acc408f19d868209e
|
Provenance
The following attestation bundles were made for libmim_solvers-0.2.0-0-py3-none-macosx_10_9_x86_64.whl:
Publisher:
release.yml on cmake-wheel/libmim_solvers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
libmim_solvers-0.2.0-0-py3-none-macosx_10_9_x86_64.whl -
Subject digest:
a55f100b18a0a1047d7f7a5da2dc62febc83a0ae28c98d412230bc22f2992c5f - Sigstore transparency entry: 771507019
- Sigstore integration time:
-
Permalink:
cmake-wheel/libmim_solvers@6a1783d4de483e264e8950bcc262629be7302b79 -
Branch / Tag:
refs/tags/v0.2.0.c0 - Owner: https://github.com/cmake-wheel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6a1783d4de483e264e8950bcc262629be7302b79 -
Trigger Event:
push
-
Statement type: