A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
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 with Conda
If you want to directly dive into TSID in Python, only one single line is sufficient (assuming you have Conda installed):
conda install tsid -c conda-forge
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)
- Etienne Arlaud (INRIA)
- Fabian Schramm (INRIA)
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
File details
Details for the file tsid-1.7.0-1-pp39-pypy39_pp73-macosx_11_0_arm64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-pp39-pypy39_pp73-macosx_11_0_arm64.whl
- Upload date:
- Size: 850.7 kB
- Tags: PyPy, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52ea4214910f3a5bc171deab8aea6e4e84a5d04d07746397aff59ec466e272dc |
|
MD5 | 72877bf779741f509efa40b2942e8628 |
|
BLAKE2b-256 | 69d9cc0e76b1feaad60371d9ab133471b682a4c88425b6cdcff15597bd6b309b |
File details
Details for the file tsid-1.7.0-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: PyPy, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5650d956b8c757e1307b3741e9ec2626601a4cb697ce055084f596c60ce3721 |
|
MD5 | 6c8c3ebccc266a2931f2efe2c9951db1 |
|
BLAKE2b-256 | 46070a312463088202cfbb3ec19ac1e425b36833bdc03b73d821f443d12db85a |
File details
Details for the file tsid-1.7.0-1-pp38-pypy38_pp73-macosx_11_0_arm64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-pp38-pypy38_pp73-macosx_11_0_arm64.whl
- Upload date:
- Size: 850.9 kB
- Tags: PyPy, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 846d8c2e6abb92c4e49f684542788f45dee63c2ca05c681181bf1d59bf6c16ac |
|
MD5 | f047a5dc6614541d9cfa648f774bb71c |
|
BLAKE2b-256 | cfad491bd6ecf8dbef07e8f752a5b85c2408f5495e05db4e9b87fbaebf47ecaf |
File details
Details for the file tsid-1.7.0-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
- Upload date:
- Size: 951.0 kB
- Tags: PyPy, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01a201667d7c0ea25264082427baf11e06f474105d691df1e0545bb682b27240 |
|
MD5 | 112a08cd4c7ea0434c955b1407b76089 |
|
BLAKE2b-256 | daab32c91ed56707e2725587394f42288c415be0ad927a7ae3875d30618c66ed |
File details
Details for the file tsid-1.7.0-1-cp311-cp311-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp311-cp311-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0893d30cb9b4c27dbb6a999b77f1f36def06c609b93cb2e1503b9877fb792dcb |
|
MD5 | 5442bea10c0ccf994179996a6c2f8ecf |
|
BLAKE2b-256 | c992e02fbce76f4cbcd69a653fae57b366760cf8a968eca5371b5d6a7b3999c3 |
File details
Details for the file tsid-1.7.0-1-cp311-cp311-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 511468e9bc57abc9ad3559237e15a96ae356342fe9b2b5c51dba4060683587dd |
|
MD5 | 8af4e8be0fc6d7d48addfce8bd628b48 |
|
BLAKE2b-256 | 4ef429295be1583f42fd46ab4ecccc1a99fc11cd1098afcd04c6e87ddb30a0f6 |
File details
Details for the file tsid-1.7.0-1-cp311-cp311-manylinux_2_28_aarch64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp311-cp311-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e57a6d3105b760fb871710fdbf64e4221828a83e63fc3a8de442ec9f337dd289 |
|
MD5 | 91894b7801996b08d324e2033b195500 |
|
BLAKE2b-256 | e51509e7ca3b5d0ac9075570557d3c4adba611679170459ba4d3751ecb684a88 |
File details
Details for the file tsid-1.7.0-1-cp311-cp311-macosx_11_0_arm64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 850.7 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80fd9368b0d38e7ab5417a90a2b3749c2c1caf2719348f58f5c63e863be4fdad |
|
MD5 | dc12c432ae6b717244cd3879a3d6ebdb |
|
BLAKE2b-256 | 61d0e92885686d9f75a6014c5d3b1bf1f297d39cc140eac1fdfd771c28fe05ad |
File details
Details for the file tsid-1.7.0-1-cp311-cp311-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 950.9 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bf838290ef09d4380660c2bf8fe57e50271df292d91ccb07e6d1b0d05edaf36 |
|
MD5 | 3b73f5603c92c789565a9192a9cf2cbc |
|
BLAKE2b-256 | 5d0f0b792415d87f0fd7872f12aa5576a610fa2fdaac56ec30b657749793fd44 |
File details
Details for the file tsid-1.7.0-1-cp310-cp310-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp310-cp310-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85ef586bda586f15b4ff1a0e7cd3b7a97338a25fd5941774943cb40c2d31e05a |
|
MD5 | c91e815e24e8bf987bf1c33a2e10f909 |
|
BLAKE2b-256 | 59ab6cd892978add3649dcb3f1bbfe71012cf4b9526bb2d35611688d1f6c9f0d |
File details
Details for the file tsid-1.7.0-1-cp310-cp310-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46484af31c01a3049b2c430a53f57b8d0d4f467bc5b5cd8b99b72157339bf9cc |
|
MD5 | 220864fb88f29c17af34dd2650d9e4d6 |
|
BLAKE2b-256 | 1579bfb509fe4d8372d9943b30fd7a8d5596832d158563a653db922761e81851 |
File details
Details for the file tsid-1.7.0-1-cp310-cp310-manylinux_2_28_aarch64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp310-cp310-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5be7411beda018fbbde065337515106042187bff6d79443ea3766953d6bece42 |
|
MD5 | 69f1f0c6ab1323f36b07289da2702478 |
|
BLAKE2b-256 | ef2661c98a00f9dd105f1f604eaba3df8dfcebf6db148040d48049b733caaad1 |
File details
Details for the file tsid-1.7.0-1-cp310-cp310-macosx_11_0_arm64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 850.7 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d2243fb1971baadb97b7bc4c6d3809c272bcb3e385d3173a8d558afc2ff00da |
|
MD5 | ca89cd0657a87339cd1cd05cf873422e |
|
BLAKE2b-256 | ffe9c3656c1780642518e0a74e47d1e5e81b495f40eb349858565a860797c747 |
File details
Details for the file tsid-1.7.0-1-cp310-cp310-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 950.9 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5086af237e4e40520455f658e4c3b5c4e442d8b85f6e436626a80bec8075492e |
|
MD5 | 953854e827e8e7943b8d5d0da7e61af3 |
|
BLAKE2b-256 | d0c84880caa78e62e32c33dfa725be89f4d146ce89a8f4a23e62cf60111f245e |
File details
Details for the file tsid-1.7.0-1-cp39-cp39-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp39-cp39-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c044ff4c575ee5ff0de288b1b293a3ab34bb384c8499c515be21ca0a669df0f4 |
|
MD5 | 9c4485012333801545564eb6ba5b0669 |
|
BLAKE2b-256 | 4d5461d22d01cf2824ea54e115bec65fe01d48b5716fd361b4bd11486141a062 |
File details
Details for the file tsid-1.7.0-1-cp39-cp39-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 847eadb3dc4a11720ff2ef7316a315540637734beef9ac0bb0105cd3dbc53c65 |
|
MD5 | e3f04256ec699f2f34c1ca8e78e9b3c3 |
|
BLAKE2b-256 | b34c274ea0cece92da13c635a1453d5a8b5440f7214eb6441c036f1904956cfa |
File details
Details for the file tsid-1.7.0-1-cp39-cp39-manylinux_2_28_aarch64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp39-cp39-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f8518abb0f95711b8bb0a171c08c45dc5ccf015c95c4605fcebd3ec40fb5faa |
|
MD5 | a97fbf1039f48dd412a7d30124eb7ee7 |
|
BLAKE2b-256 | fa1f344ab90a436eae68f0437db849cc0c7bd074fbe86c6239d85e28091a72c5 |
File details
Details for the file tsid-1.7.0-1-cp39-cp39-macosx_11_0_arm64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 850.7 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a292f72a3f95d56ae2126d228acb9ba019e8a8604bcc00bfd0086304fcc9b20f |
|
MD5 | 44cebff2397f260980be72e638713890 |
|
BLAKE2b-256 | a9419be19103b7c56b54b3cca415ae2c11bca38c339a11970357aaeb90329c6f |
File details
Details for the file tsid-1.7.0-1-cp39-cp39-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 950.9 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffaecdc76c5e9284f3c667db73fe455e4f65abe6bbffa46bc409462a5dfae1fc |
|
MD5 | 01b50f26a292661f0f67a976c8283999 |
|
BLAKE2b-256 | 9a2ab57a9719b4052c4607c573cd30ab2c796eb23fa356a6b13a59c29657213f |
File details
Details for the file tsid-1.7.0-1-cp38-cp38-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp38-cp38-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2177ad4a92f3b9731680da292a33a370f911a488fdf323a720bc8a230ddfd186 |
|
MD5 | 17a33a414fcd2f5ea281113194977277 |
|
BLAKE2b-256 | 3ea0b7f25ed8a2a9b46aed267b49f1b6189541a1e1a92308ae27aca96bceadd3 |
File details
Details for the file tsid-1.7.0-1-cp38-cp38-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp38-cp38-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.8, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73880cce6f1fa1f4832c33e8d175e5096ca47a871ef09ad9dd315ffbe48bcc1e |
|
MD5 | 7ad51144303b4cdab3c73c3892769260 |
|
BLAKE2b-256 | 59d74ba1200f2f124ee5bc4e430c2bae430326f0a5f568950da748ee28197883 |
File details
Details for the file tsid-1.7.0-1-cp38-cp38-manylinux_2_28_aarch64.whl
.
File metadata
- Download URL: tsid-1.7.0-1-cp38-cp38-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.8, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a32eea2f343a0fcacd5f3380b99862a4733985dd3261adc066c70269b4484a39 |
|
MD5 | 39e7dc28e4f458580a25591b2488590d |
|
BLAKE2b-256 | d4942a915508d76fbac022490f37a8314d92b030c94ad7f8e4c13f7760add356 |