Skip to main content

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives

Project description

TSID - Task Space Inverse Dynamics

License Pipeline status Coverage report PyPI version Code style: black

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:

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:

It includes key contributions from:

And is maintained by:

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

tsid-1.7.0-1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (850.7 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

tsid-1.7.0-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.28+ x86-64

tsid-1.7.0-1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (850.9 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

tsid-1.7.0-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (951.0 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

tsid-1.7.0-1-cp311-cp311-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

tsid-1.7.0-1-cp311-cp311-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

tsid-1.7.0-1-cp311-cp311-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ ARM64

tsid-1.7.0-1-cp311-cp311-macosx_11_0_arm64.whl (850.7 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tsid-1.7.0-1-cp311-cp311-macosx_10_9_x86_64.whl (950.9 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

tsid-1.7.0-1-cp310-cp310-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

tsid-1.7.0-1-cp310-cp310-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

tsid-1.7.0-1-cp310-cp310-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARM64

tsid-1.7.0-1-cp310-cp310-macosx_11_0_arm64.whl (850.7 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tsid-1.7.0-1-cp310-cp310-macosx_10_9_x86_64.whl (950.9 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

tsid-1.7.0-1-cp39-cp39-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

tsid-1.7.0-1-cp39-cp39-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

tsid-1.7.0-1-cp39-cp39-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARM64

tsid-1.7.0-1-cp39-cp39-macosx_11_0_arm64.whl (850.7 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tsid-1.7.0-1-cp39-cp39-macosx_10_9_x86_64.whl (950.9 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

tsid-1.7.0-1-cp38-cp38-musllinux_1_1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

tsid-1.7.0-1-cp38-cp38-manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

tsid-1.7.0-1-cp38-cp38-manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ARM64

File details

Details for the file tsid-1.7.0-1-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52ea4214910f3a5bc171deab8aea6e4e84a5d04d07746397aff59ec466e272dc
MD5 72877bf779741f509efa40b2942e8628
BLAKE2b-256 69d9cc0e76b1feaad60371d9ab133471b682a4c88425b6cdcff15597bd6b309b

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f5650d956b8c757e1307b3741e9ec2626601a4cb697ce055084f596c60ce3721
MD5 6c8c3ebccc266a2931f2efe2c9951db1
BLAKE2b-256 46070a312463088202cfbb3ec19ac1e425b36833bdc03b73d821f443d12db85a

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 846d8c2e6abb92c4e49f684542788f45dee63c2ca05c681181bf1d59bf6c16ac
MD5 f047a5dc6614541d9cfa648f774bb71c
BLAKE2b-256 cfad491bd6ecf8dbef07e8f752a5b85c2408f5495e05db4e9b87fbaebf47ecaf

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 01a201667d7c0ea25264082427baf11e06f474105d691df1e0545bb682b27240
MD5 112a08cd4c7ea0434c955b1407b76089
BLAKE2b-256 daab32c91ed56707e2725587394f42288c415be0ad927a7ae3875d30618c66ed

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0893d30cb9b4c27dbb6a999b77f1f36def06c609b93cb2e1503b9877fb792dcb
MD5 5442bea10c0ccf994179996a6c2f8ecf
BLAKE2b-256 c992e02fbce76f4cbcd69a653fae57b366760cf8a968eca5371b5d6a7b3999c3

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 511468e9bc57abc9ad3559237e15a96ae356342fe9b2b5c51dba4060683587dd
MD5 8af4e8be0fc6d7d48addfce8bd628b48
BLAKE2b-256 4ef429295be1583f42fd46ab4ecccc1a99fc11cd1098afcd04c6e87ddb30a0f6

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e57a6d3105b760fb871710fdbf64e4221828a83e63fc3a8de442ec9f337dd289
MD5 91894b7801996b08d324e2033b195500
BLAKE2b-256 e51509e7ca3b5d0ac9075570557d3c4adba611679170459ba4d3751ecb684a88

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80fd9368b0d38e7ab5417a90a2b3749c2c1caf2719348f58f5c63e863be4fdad
MD5 dc12c432ae6b717244cd3879a3d6ebdb
BLAKE2b-256 61d0e92885686d9f75a6014c5d3b1bf1f297d39cc140eac1fdfd771c28fe05ad

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8bf838290ef09d4380660c2bf8fe57e50271df292d91ccb07e6d1b0d05edaf36
MD5 3b73f5603c92c789565a9192a9cf2cbc
BLAKE2b-256 5d0f0b792415d87f0fd7872f12aa5576a610fa2fdaac56ec30b657749793fd44

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 85ef586bda586f15b4ff1a0e7cd3b7a97338a25fd5941774943cb40c2d31e05a
MD5 c91e815e24e8bf987bf1c33a2e10f909
BLAKE2b-256 59ab6cd892978add3649dcb3f1bbfe71012cf4b9526bb2d35611688d1f6c9f0d

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46484af31c01a3049b2c430a53f57b8d0d4f467bc5b5cd8b99b72157339bf9cc
MD5 220864fb88f29c17af34dd2650d9e4d6
BLAKE2b-256 1579bfb509fe4d8372d9943b30fd7a8d5596832d158563a653db922761e81851

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5be7411beda018fbbde065337515106042187bff6d79443ea3766953d6bece42
MD5 69f1f0c6ab1323f36b07289da2702478
BLAKE2b-256 ef2661c98a00f9dd105f1f604eaba3df8dfcebf6db148040d48049b733caaad1

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d2243fb1971baadb97b7bc4c6d3809c272bcb3e385d3173a8d558afc2ff00da
MD5 ca89cd0657a87339cd1cd05cf873422e
BLAKE2b-256 ffe9c3656c1780642518e0a74e47d1e5e81b495f40eb349858565a860797c747

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5086af237e4e40520455f658e4c3b5c4e442d8b85f6e436626a80bec8075492e
MD5 953854e827e8e7943b8d5d0da7e61af3
BLAKE2b-256 d0c84880caa78e62e32c33dfa725be89f4d146ce89a8f4a23e62cf60111f245e

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c044ff4c575ee5ff0de288b1b293a3ab34bb384c8499c515be21ca0a669df0f4
MD5 9c4485012333801545564eb6ba5b0669
BLAKE2b-256 4d5461d22d01cf2824ea54e115bec65fe01d48b5716fd361b4bd11486141a062

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 847eadb3dc4a11720ff2ef7316a315540637734beef9ac0bb0105cd3dbc53c65
MD5 e3f04256ec699f2f34c1ca8e78e9b3c3
BLAKE2b-256 b34c274ea0cece92da13c635a1453d5a8b5440f7214eb6441c036f1904956cfa

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8f8518abb0f95711b8bb0a171c08c45dc5ccf015c95c4605fcebd3ec40fb5faa
MD5 a97fbf1039f48dd412a7d30124eb7ee7
BLAKE2b-256 fa1f344ab90a436eae68f0437db849cc0c7bd074fbe86c6239d85e28091a72c5

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a292f72a3f95d56ae2126d228acb9ba019e8a8604bcc00bfd0086304fcc9b20f
MD5 44cebff2397f260980be72e638713890
BLAKE2b-256 a9419be19103b7c56b54b3cca415ae2c11bca38c339a11970357aaeb90329c6f

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ffaecdc76c5e9284f3c667db73fe455e4f65abe6bbffa46bc409462a5dfae1fc
MD5 01b50f26a292661f0f67a976c8283999
BLAKE2b-256 9a2ab57a9719b4052c4607c573cd30ab2c796eb23fa356a6b13a59c29657213f

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2177ad4a92f3b9731680da292a33a370f911a488fdf323a720bc8a230ddfd186
MD5 17a33a414fcd2f5ea281113194977277
BLAKE2b-256 3ea0b7f25ed8a2a9b46aed267b49f1b6189541a1e1a92308ae27aca96bceadd3

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73880cce6f1fa1f4832c33e8d175e5096ca47a871ef09ad9dd315ffbe48bcc1e
MD5 7ad51144303b4cdab3c73c3892769260
BLAKE2b-256 59d74ba1200f2f124ee5bc4e430c2bae430326f0a5f568950da748ee28197883

See more details on using hashes here.

File details

Details for the file tsid-1.7.0-1-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tsid-1.7.0-1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a32eea2f343a0fcacd5f3380b99862a4733985dd3261adc066c70269b4484a39
MD5 39e7dc28e4f458580a25591b2488590d
BLAKE2b-256 d4942a915508d76fbac022490f37a8314d92b030c94ad7f8e4c13f7760add356

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page