Efficient Inverse Dynamics (python bindings)
Project description
TSID - Task Space Inverse Dynamics
TSID is a C++ library for optimization-based inverse-dynamics control based on the rigid multi-body dynamics library Pinocchio.
Documentation
- Take a look at the project wiki for an overview of the design of the library.
- In the exercises folder you can find several examples of how to use TSID in Python with robot manipulators, humanoids, or quadrupeds.
- On the website of Andrea Del Prete you can find slides and video lessons on TSID.
- Memmo 2020 summer school
Installation from Debian/Ubuntu packages, with robotpkg
If you have never added robotpkg's software repository you can do it with the following commands:
sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF
deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg
EOF
curl http://robotpkg.openrobots.org/packages/debian/robotpkg.key | sudo apt-key add -
sudo apt update
You can install TSID and its python bindings (replace * with you Python version) with:
sudo apt install robotpkg-py3*-tsid
Installation from sources
First you need to install the following dependencies:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
To install eigen3 on Ubuntu you can use apt-get:
sudo apt-get install libeigen3-dev
To install pinocchio follow the instruction on its website.
To compile TSID:
cd $DEVEL/openrobots/src/
git clone --recursive git@github.com:stack-of-tasks/tsid.git
cd tsid
mkdir _build-RELEASE
cd _build-RELEASE
cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=$DEVEL/openrobots
make install
Python Bindings
To use this library in python, we offer python bindings based on Boost.Python and EigenPy.
To install EigenPy you can compile the source code:
git clone https://github.com/stack-of-tasks/eigenpy
or, on Ubuntu, you can use apt-get:
sudo apt-get install robotpkg-py3*-eigenpy
For testing the python bindings, you can run the unit test scripts in the script
folder, for instance:
ipython script/test_formulation.py
To run the demo using gepetto-viewer:
ipython demo/demo_romeo.py
Credits
This package is authored by:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
And is maintained by:
- Guilhem Saurel (LAAS-CNRS)
Citing
If you are (or not) happy with TSID and want to cite it, please use the following citation:
@inproceedings {adelprete:jnrh:2016,
title = {Implementing Torque Control with High-Ratio Gear Boxes and without Joint-Torque Sensors},
booktitle = {Int. Journal of Humanoid Robotics},
year = {2016},
pages = {1550044},
url = {https://hal.archives-ouvertes.fr/hal-01136936/document},
author = {Andrea Del Prete, Nicolas Mansard, Oscar E Ramos, Olivier Stasse, Francesco Nori}
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for tsid-1.6.0-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af348e941c949f9600020bbeb629ecee05a9dde3013f336eef6a7e8bf2650f56 |
|
MD5 | 05925f8f6e1a2a963641efae84d0b3b1 |
|
BLAKE2b-256 | 74b4a3eaf4530e2eea520f426fe8e3186c8fa46f148b26ded4df340833a36dd0 |
Hashes for tsid-1.6.0-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2e71ded249999b993d45b65b582e1da97d515485cfec5ef50263338a4d13609 |
|
MD5 | 5016eecd5b4a5ddb925ceccb65c30f4b |
|
BLAKE2b-256 | 07334ed8fb5beb5f05f2d8df20187cd22d3b5981154d937b349f6195c626f76b |
Hashes for tsid-1.6.0-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc657d2751581472b4d01a6cd03d74494d1660d2abdc674856b9dd92d502c557 |
|
MD5 | bce5a8dd70a680cd329782b43b9ac216 |
|
BLAKE2b-256 | 2aef7138117d9cec6808fdd7061e40a948ac6565d0aa61f9c8f267bb840011cf |
Hashes for tsid-1.6.0-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ef55ebcf350d8427ba4b9467592e8e34b3a032fa8b956bee256103e8846b5b4 |
|
MD5 | cbea108171a6323615d1ecef8b9ef683 |
|
BLAKE2b-256 | 374a3287e2b76bbcf9550a7ac548d81c8b41fbd95e73d6339a9248eabe586ac7 |
Hashes for tsid-1.6.0-cp35-cp35m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56329583cf4ac02606866491c94f7398acf431afe6443dbe4b1f6ff0bd6fc0b1 |
|
MD5 | 349ac3f89d1e4d0ec63f7e0694b1c106 |
|
BLAKE2b-256 | 65a69bdd745b904f68d97f391629cf864d9552f1179635dff324d1b25268234e |
Hashes for tsid-1.6.0-cp27-cp27mu-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b5a76db98e0064f4555b077ac4f3c4601a7fb2ce681f807152519c300488420 |
|
MD5 | e3c378000bf2f26fc3c3d240b2e03a52 |
|
BLAKE2b-256 | b2fc46053329e41538cdd0a1db74d52718890ba24518d07a631d3245e1400a4a |
Hashes for tsid-1.6.0-6-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18517bcd53e8d521d1d302cb5d9306a7deabf18365feef85a150769c58ecdf78 |
|
MD5 | f43d4ef766b1feadec6f458b15e03292 |
|
BLAKE2b-256 | 6d2f20a01fe7278c2e159dedc0e3333e6296c9cbc63684f1ba260c019a1b82a0 |
Hashes for tsid-1.6.0-6-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4abf91d1f2cfb57d1342019ef9636492ed5d7d8c1aff393fa5b7234f93caf080 |
|
MD5 | 2d73765f64d8e361679beab94d2798f3 |
|
BLAKE2b-256 | 0c7b7d250d427fe7babd04761f8f1127d6aef4643fa862a9a402a5a36798ea59 |
Hashes for tsid-1.6.0-6-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c6e1ccfc7470cd4343e7412879008240063c9cd1f794850eb40ea3e7770d515 |
|
MD5 | 4142daaa61783a66d3a14ef98eb83470 |
|
BLAKE2b-256 | 6678794452ea0f722fc1cf0330234b6f8586dd71e295cae6ab38d3d594d6c9e2 |
Hashes for tsid-1.6.0-6-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0433d45d87dd56c7a2b7275a2f73d9a4f0b805c2741e41e47cd7c693b9f3c1c3 |
|
MD5 | 20c6ffd2bedc68c365002587fd7e58eb |
|
BLAKE2b-256 | 726b3e7d0ed4ee71579eb98211903840b164ead912d968f9b779068cffabd0b4 |
Hashes for tsid-1.6.0-6-cp27-cp27mu-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 197241d69dd6cd5d770a4cdcf7f3d435721ae33b35ceb5d17afcb74543620698 |
|
MD5 | 4b61f99ef625d9043e84e4ffd2825ef0 |
|
BLAKE2b-256 | f7e7ab74497205801fec5f09907ea6ba3ee51a0af8fd1decfe985fd736f33a63 |
Hashes for tsid-1.6.0-5-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c2aa679b41a18e35f88fbea910b5b71c955ca6af1bedb52f46cec535c940847 |
|
MD5 | dcfe2646c91c9855d19c5a0e6d90ab8a |
|
BLAKE2b-256 | 1554d03ac137c13de7c47a8b852d750043f69d6de840635e274d6b9cb0b8e11a |
Hashes for tsid-1.6.0-5-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63433362b2c6dfc92fe1f392773bdb3985302f8c8748f818c832ed12d787acad |
|
MD5 | 7b3ecf3fcfd91f94f44abb697698717c |
|
BLAKE2b-256 | 70482e6212e6707f15623efaae81f0d8875344993360c3a01839f0cb31155b7d |
Hashes for tsid-1.6.0-5-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc33ce7176592ab7885c5e70b79abd92f525d610336b5d2bd363ab68cfe634dc |
|
MD5 | 398c7cec710250393da1bf59f0777986 |
|
BLAKE2b-256 | dd2e809d5dbe04091303a0ecdb4f3a9ad9fb2c7472c97134666cb5825cd60965 |
Hashes for tsid-1.6.0-5-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 098c952681a61d327c97e300331860e1713475c117c9bf5da3082a10b76e6218 |
|
MD5 | 34171bf18638f5c5abde05e5ea24cd98 |
|
BLAKE2b-256 | b2cd229354ceaa8da33c1bde57c2fc3a24168165f27b5642216e7e8c881c43c7 |
Hashes for tsid-1.6.0-5-cp27-cp27mu-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 397c55199f37489226636a0d9c8c9cf764484adaa9155b0cfc4c9e371e300b1e |
|
MD5 | 97758bd25c201a771a6b121a27360e5d |
|
BLAKE2b-256 | bff90943c916e1f044b35fea88bb01cbd81eb3cfcc361c52bf7c52ad7745e524 |
Hashes for tsid-1.6.0-4-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7984a0db9473b72440316ca076db2c93c1e3947a0daaf4c680754bdd8c867784 |
|
MD5 | e13658119148c4f10ab88262e5e6b7d8 |
|
BLAKE2b-256 | 4efafd33399061482780e6d1d13618b790226e6d269e732e56cfd96cacfcf676 |
Hashes for tsid-1.6.0-4-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a3218def9b82134402fc1bfa7421334793cde2bf6c11d673004cf2ef678eab1 |
|
MD5 | 2c0f7ff198bffd20a0f2444fcee757ba |
|
BLAKE2b-256 | 82685a7a389a352e58bb78dd0001a25fd88c667e1f09453845204eceaa3de8c4 |
Hashes for tsid-1.6.0-4-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae9f131251392f6e6950b242d2a377b6dce70334136af831cf1ef5eaadd1f780 |
|
MD5 | 2ef680b2d3acaa62306a2b3232e80732 |
|
BLAKE2b-256 | 4c5bd166e5a3a1bb0a64d939b87ba243cb223c04338dcbc1ebba149b2f62e019 |
Hashes for tsid-1.6.0-4-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 500d79ace6693f62ae0e5b16584179c19d9e2356707a95e561b8dc39c1cae8c1 |
|
MD5 | f59a654e1847f13c5fc8e9a4665010cc |
|
BLAKE2b-256 | b172682d22771763e70d72fe35d5cff0ea79a1df0cd8f956e3e5b0e0195be98b |
Hashes for tsid-1.6.0-4-cp27-cp27mu-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b01d82be9ce8789021ac303c2dab1dcf926a09748fedeed80148431ccd9876a2 |
|
MD5 | d2ffeccf94f927d431f3b2f45f5be00f |
|
BLAKE2b-256 | 4393345c73e991ff0c6ccb992081624225aa54ff548d5789c7be71752b81d7f1 |
Hashes for tsid-1.6.0-3-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfb062838792c207c6587865b7b93bd02a45c5fb532a2e7d7b99b571be41fd64 |
|
MD5 | e4d1a4e1283f5857452e4059e0a4abd0 |
|
BLAKE2b-256 | 325dcf3fffa4c9885800bb6672bd917eeec068380c2d7b101ab5ae3102a832d1 |
Hashes for tsid-1.6.0-3-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b107cfbb14b5a9bb02067602efdf584f90a2161e4e9bde908895dabc0abdc89 |
|
MD5 | 532433bef0a3a9af8b2f24cd3b64ddc4 |
|
BLAKE2b-256 | 8510bb0535da73f9d514a35f8ebcfc6e778dd2df45cd34ae9e518718b0bc6bbd |
Hashes for tsid-1.6.0-3-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 016e2585346080f459644df1a7b1a3bce386c3b98ce6e61dfc3b5433be21a7e5 |
|
MD5 | 6db9becf484f04b335ce7d3ef680f446 |
|
BLAKE2b-256 | f475dfedbcb8b6778153aace0a0dcc81b01d00e40d5c91c158ed6be3209bd1ae |
Hashes for tsid-1.6.0-3-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80d84dd6734d0604ceb9bd924ccb52361ffb3f6145f439b58f7f9a0786539991 |
|
MD5 | d7cb7903560019629d99e64637ab96e3 |
|
BLAKE2b-256 | 0161e1b05b5ea3d4368bede90bbd041cf703e758a6367159edf2f93cf95648d4 |
Hashes for tsid-1.6.0-3-cp27-cp27mu-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56ba9b399755f9b8c22ed33def077a26d173787bbc302e07175d7521fc56a818 |
|
MD5 | 66334ecdb05cdcb797e3ebafe6827e74 |
|
BLAKE2b-256 | 4bff9b7f418a9bd17f73b899a589201e14ee294e8779c91871a8c006c0534f04 |
Hashes for tsid-1.6.0-2-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f03789cda8c4bd1e19059a9b881994f0f1f01e38ce8c5ff04c7b8cb1689d2fd5 |
|
MD5 | 366d55a04ec2c18271a98f07947daa94 |
|
BLAKE2b-256 | 24ebd8e6bc14cdb22ebd3d1d2c7baaac6f3f1565f6a90f29cef4673a5f131eb0 |
Hashes for tsid-1.6.0-2-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7722b28ae97388a55cf6db1e3f302293e6afd3b5591e0e5c714be4dd6472bd76 |
|
MD5 | c5cea7f9884555f8e01c2c2f4dd5cdee |
|
BLAKE2b-256 | 375a33816442e7f86d3f5deeb6ff751e770b73f70778e12f0a7afa345fb2a137 |
Hashes for tsid-1.6.0-2-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af5a37bb9378bac1cefeb248a4c54495a61e11a5c867916725f1832411e893ce |
|
MD5 | 4b7c0377167f38779c3ea17ac02e0e2e |
|
BLAKE2b-256 | 52881fada28e4b0af6a5c01f9ddc52905ed9f9d5876e49696dc4b2fbd22793e9 |
Hashes for tsid-1.6.0-2-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 788687590461d097174667da8d5d6eb18432dad7f7e91c340c7367a5dcf3bd04 |
|
MD5 | 99a83f3b34c21e53149d2363805baf63 |
|
BLAKE2b-256 | 6e66823de7a69fc4b953a990f789cc4f0a3b2993139e3896f14e1641b0fb3519 |
Hashes for tsid-1.6.0-2-cp27-cp27mu-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9408438921ff28cd7f46e3304cef6de54687a60ddcf82c294c5050282d748312 |
|
MD5 | aea54edb5769970c423fda489589eaa3 |
|
BLAKE2b-256 | 58fe84ce98df125b8245a708f90d5847091e2677094c786daa1341aa4a8b2bc2 |
Hashes for tsid-1.6.0-1-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83b307dc071df143f62afbd359ea8e19705c74db6984b16af0c8e57dba5afbc9 |
|
MD5 | c3851ebe28237c092f2d04a11ad3a40e |
|
BLAKE2b-256 | d2af688af095396e3e20850936d55e68b2e153246e035d6d28f9965795204dff |
Hashes for tsid-1.6.0-1-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48477de64d43afad7fa107a6ff8feab49b2d562897d94eddf8251b063f5ab5e2 |
|
MD5 | 21d0e490160582f1c46b01cd77211c93 |
|
BLAKE2b-256 | 1061f138885272c0e4cdcd99e118084e79ef6b90f8c6f793990cfd343faefd34 |
Hashes for tsid-1.6.0-1-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b040615349e42e3d665c67b7102b60850e425945e0f250ef05c2cd66c2736149 |
|
MD5 | 2b24241d7f3a88a139edb8e33781ac76 |
|
BLAKE2b-256 | 00321fa0e64662f90bfc55d69576f184f4ad32a0be3f3fc2089b2c70bc4acbb0 |
Hashes for tsid-1.6.0-1-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 906e1cfd06d7865efa63e125d60d6e58dac73c05c978e065c96c57ecc9f9769f |
|
MD5 | cb55b7a6cc8cd4c1f1d514e29bcd8b17 |
|
BLAKE2b-256 | 203aed7e8fbddabcc9df14619fc9e8c960ab5c2b38f25d2f56a46e235c2442c6 |
Hashes for tsid-1.6.0-1-cp35-cp35m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e5bc3a32e9a143daf71def5a8e08cb4f7de8d32ab2bcedeb85dbdbeb6e5f2e2 |
|
MD5 | 2687d80180a9620cc6db8670dc30950c |
|
BLAKE2b-256 | d4c9ea81d74caa1683e669d37bc856b2005304f10111b5b5c87626f3f600382d |
Hashes for tsid-1.6.0-1-cp27-cp27mu-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3374393566b01c8ad38947c99933cc97910790fd03c8baf730abbb6f59938d5 |
|
MD5 | d7c95415a94a5806bc6d8497494660ec |
|
BLAKE2b-256 | 92fa74db1b243a2678c9270466949417f09851d6f05fbe6de2db9c1783ef4b8f |