A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Project description
mim_solvers
Implementation of numerical solvers used in the Machines in Motion Laboratory. In particular, the Sequential Quadratic Programming (SQP) solver decribed in [arxiv] that solves efficiently nonlinear constrained OCPs.
All solvers are implemented by using Crocoddyl (v2.0) as the base software. Consquently, 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 of how to use the solvers can be found in the examples
directory.
Dependencies
- Pinocchio (rigid-body dynamics computations)
- Crocoddyl (optimal control library)
- ProxQP (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
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
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
Hashes for cmeel_mim_solvers-0.0.1-2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6e8854eb7487c234ba0b920ccb9577da71373da4dcf9a79f68487b55f9abf4d |
|
MD5 | 3a166e528c0445b1953432b12d06180e |
|
BLAKE2b-256 | 3413e932812601f16aecd8b0a2c2af1aa756e4141999a4c8dfd7efe64abf032b |
Hashes for cmeel_mim_solvers-0.0.1-2-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e83b10a270a7ae5110967575f52ebf30621ec8c305704f5b601f0138392ff32 |
|
MD5 | 3883b2aab4784f82f0f5d291763121f2 |
|
BLAKE2b-256 | dcd55ba3778236f6a2547f6df19771f3a18b305dbf8431a4cd6c909a65759f8a |
Hashes for cmeel_mim_solvers-0.0.1-2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9fdaecb218c8e1bb6cdc879578ff716dd2ce0ca174af5bcd496dfbb6cdd63ae |
|
MD5 | 47584b95908dbe5e6e03100f51170542 |
|
BLAKE2b-256 | 34d47db922dbed2b891576b87854c3dd8845b3492a510e4c0d0bb5255cdea426 |
Hashes for cmeel_mim_solvers-0.0.1-2-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c116368069fb15e03f9f618233e782ed48f21007b53296082bfdc1e033f78f9 |
|
MD5 | 0106e99d52657acdbc25a9ff7f799bbc |
|
BLAKE2b-256 | 514746425004228453b13d2fff12cd9d722bf0f76c1010f0b5e657cc0f77408f |
Hashes for cmeel_mim_solvers-0.0.1-2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08a1940d4616dbf59c6dce4e0dd6e5a04df1dbb3089733dc7ac075125e2d945b |
|
MD5 | e335bc10d8d26fe2cdeee83735cd5bf3 |
|
BLAKE2b-256 | 932c633a90fef45b563a0969e4c717a0e24105e384f108dbc2b6f247df613660 |
Hashes for cmeel_mim_solvers-0.0.1-2-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13735a9fcc7e489488c227183592cb935ad9ea26182290289b1070f15eab64f9 |
|
MD5 | 71b4790cc708c71cf3d9be64deddf829 |
|
BLAKE2b-256 | 6f0ac38629a626ee7625617af125bdf56729f29880107ce2b8e498ea228cee68 |
Hashes for cmeel_mim_solvers-0.0.1-2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4917224bc17ac37d9e4a08801e196bedac9067402317c744016b99e6cece9799 |
|
MD5 | f0c31c94b437fea95d2b13d0083767fc |
|
BLAKE2b-256 | 6f9a871ed04c436d28a202aa8d2d406efd0837e385bb9afabc5cccd52f8d1517 |
Hashes for cmeel_mim_solvers-0.0.1-2-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35815b3929718b454383a337f61d24a9f1ef603fea0fffb78094682da04f0074 |
|
MD5 | 0a7ca29db0fa311eeee89a4e4facc2cd |
|
BLAKE2b-256 | f13c23ef1c6c702910300b7f07cf99b61af018b56ed3acabfbfcce120f95ddb1 |
Hashes for cmeel_mim_solvers-0.0.1-1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aad594ef01881a651e5baaec4fdd418002950d67c02ffe54f300ca9b7e693640 |
|
MD5 | dbb0c038ec7911028c8f52c48ad67568 |
|
BLAKE2b-256 | 5f1cc556fa6738f318c0f7c2e73935ebaffe89e16a4d7dd851c5ef25c649623b |
Hashes for cmeel_mim_solvers-0.0.1-1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c0dbb6b4b47bcda0784e7e67a8daa7829acd14d4cc10a406de45a36b2ab20a8 |
|
MD5 | 538b8cb90d8f960d65493701b678f44a |
|
BLAKE2b-256 | 68a20598daa05e2d1c38f3a85c5c4f12b878725f3a8c2e5acd4364669999e8f7 |
Hashes for cmeel_mim_solvers-0.0.1-1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4efdd7f4fb6ef92375841e73044f1af0630e81db63ec801a7c3b77a14e3552b2 |
|
MD5 | 22733760be18707973212a4ca7101211 |
|
BLAKE2b-256 | 849540f32f7eceb008647b466aa5dbda963b0ec03dfc7f67f669ec40f1665c23 |
Hashes for cmeel_mim_solvers-0.0.1-1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bce0e1c192d9c9faa458441c5d3a2f5c57d831fac62fbc17e1eb534dda2ee71 |
|
MD5 | 6d0c5c0870480f58d7a5a2f51219bd7f |
|
BLAKE2b-256 | 6fb5f346d3ccec078ebab9cef0c56b48af4f496954ef898e43f6859e3a6a3e21 |
Hashes for cmeel_mim_solvers-0.0.1-1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b30b9d08ad75e6bcaa73de9593c0027bac5a6d234fc3c226c5963431bcd0d40f |
|
MD5 | 210be95101d49c25c6ecbe5c7d4680c6 |
|
BLAKE2b-256 | 0f511f00c6011e87be79ee7f198dc1c9319675eb0635d121f8f4afe7bb7c7f8d |
Hashes for cmeel_mim_solvers-0.0.1-1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6180ecc1c06630781fb8bea0fa4f08811d990faa87bef003339d7c2e06c7684a |
|
MD5 | e981af92b7cf47106c110c30e2a1542a |
|
BLAKE2b-256 | 29cde971ccf30ee0fd06240cd1ae49b4f5bb631ef201de2e8eef3f21e912d772 |
Hashes for cmeel_mim_solvers-0.0.1-1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abe7e3932f806cff59584bebdc08bb0dc0de646e83769e1bc435a24cb897e1be |
|
MD5 | 9d68b6df88be876c5eed637e0bad99f7 |
|
BLAKE2b-256 | ca2f9f6ca9fc7981e231f6dac90bfd5f52c10b95ebfd0fd156e387d54c139277 |
Hashes for cmeel_mim_solvers-0.0.1-1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53cad367a7a73673a9a3899a4e32a829066e4dc71ae02f368545a63e2223efaf |
|
MD5 | 4aeb02c24a0cba18e4a00d43183771b6 |
|
BLAKE2b-256 | f433b99b40a780b916a1e5c9c104adeb67b9fcd00905878b819021133d5dddad |