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

Pipeline status Coverage report PyPI version

License Code style: black Ruff

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 Distribution

libtsid-1.10.0.tar.gz (8.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_x86_64.whl (460.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_aarch64.whl (415.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

libtsid-1.10.0-0-cp314-cp314-macosx_11_0_arm64.whl (310.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

libtsid-1.10.0-0-cp314-cp314-macosx_10_9_x86_64.whl (344.1 kB view details)

Uploaded CPython 3.14macOS 10.9+ x86-64

File details

Details for the file libtsid-1.10.0.tar.gz.

File metadata

  • Download URL: libtsid-1.10.0.tar.gz
  • Upload date:
  • Size: 8.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for libtsid-1.10.0.tar.gz
Algorithm Hash digest
SHA256 199e60fbacbd08c4d82ddbec3346d3c7ceaa201161d0f170373f9cba1dc06ec1
MD5 dc83beb9dc6147da5f19583400a7c33b
BLAKE2b-256 abe54fca78148c34439ae9032c62d16a1627dac45c16d2d474dbf1c201545808

See more details on using hashes here.

Provenance

The following attestation bundles were made for libtsid-1.10.0.tar.gz:

Publisher: release.yml on cmake-wheel/libtsid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ca43338d79c120feba69ed168511ddeff08a1e9ea623fd18eadc6ca76df4ff8
MD5 6a725321f9099429be51614ff7e390c1
BLAKE2b-256 f49932aa198c1907c4ef114cc32faa4a13d16815be8caea79bada4116011308a

See more details on using hashes here.

Provenance

The following attestation bundles were made for libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: release.yml on cmake-wheel/libtsid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0cbe7c86320845b7fe0cfc2470bccd897af1c080f95386880ddfbbb3920110ef
MD5 1b13602390eda202e823596cda1e0f0e
BLAKE2b-256 a20e02ceba0ce54ae27a1fd5780efd8e00dc199e1b0f55f14f169bd3371228fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: release.yml on cmake-wheel/libtsid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file libtsid-1.10.0-0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libtsid-1.10.0-0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 894cf4bf89150a6bfb7d0f330d9ee9c39f088953f80e10bb7f486ac3914f8ba9
MD5 3162e9201d9b568dca68ef5a9574eb5d
BLAKE2b-256 76f72024d55a93a28d3fd9b1ef7931e01874c75749dc7763f8b3c262fbe95db5

See more details on using hashes here.

Provenance

The following attestation bundles were made for libtsid-1.10.0-0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on cmake-wheel/libtsid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file libtsid-1.10.0-0-cp314-cp314-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for libtsid-1.10.0-0-cp314-cp314-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 32ae4cca438032495b32ac0872c81be45d34460ffbf78098b2b0bd1cc97f6daf
MD5 939ce9b663189d27da315008efc4d4f9
BLAKE2b-256 53cb3283204cf3e1164888c45ba359dd4db78c87c90e807f7a6ca7d62ce8cbc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for libtsid-1.10.0-0-cp314-cp314-macosx_10_9_x86_64.whl:

Publisher: release.yml on cmake-wheel/libtsid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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