Skip to main content

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}
}

Metadata

Release files for libtsid 1.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for libtsid 1.10.0
File Size Uploaded
libtsid-1.10.0.tar.gz 8.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for libtsid 1.10.0
File
libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
libtsid-1.10.0-0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
libtsid-1.10.0-0-cp314-cp314-macosx_10_9_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.9+ x86-64 Details

Total release size: 9.5 MB

Release files / libtsid-1.10.0.tar.gz

Download URL libtsid-1.10.0.tar.gz
Size 8.0 MB
Tags Source
SHA-256 checksum
How to use checksums
199e60fbacbd08c4d82ddbec3346d3c7ceaa201161d0f170373f9cba1dc06ec1
BLAKE2b-256 checksum
How to use checksums
abe54fca78148c34439ae9032c62d16a1627dac45c16d2d474dbf1c201545808
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 21, 2026.

Transparency log

Release files / libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 460.3 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4ca43338d79c120feba69ed168511ddeff08a1e9ea623fd18eadc6ca76df4ff8
BLAKE2b-256 checksum
How to use checksums
f49932aa198c1907c4ef114cc32faa4a13d16815be8caea79bada4116011308a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 21, 2026.

Transparency log

Release files / libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL libtsid-1.10.0-0-cp314-cp314-manylinux_2_28_aarch64.whl
Size 415.3 kB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0cbe7c86320845b7fe0cfc2470bccd897af1c080f95386880ddfbbb3920110ef
BLAKE2b-256 checksum
How to use checksums
a20e02ceba0ce54ae27a1fd5780efd8e00dc199e1b0f55f14f169bd3371228fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 21, 2026.

Transparency log

Release files / libtsid-1.10.0-0-cp314-cp314-macosx_11_0_arm64.whl

Download URL libtsid-1.10.0-0-cp314-cp314-macosx_11_0_arm64.whl
Size 310.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
894cf4bf89150a6bfb7d0f330d9ee9c39f088953f80e10bb7f486ac3914f8ba9
BLAKE2b-256 checksum
How to use checksums
76f72024d55a93a28d3fd9b1ef7931e01874c75749dc7763f8b3c262fbe95db5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 21, 2026.

Transparency log

Release files / libtsid-1.10.0-0-cp314-cp314-macosx_10_9_x86_64.whl

Download URL libtsid-1.10.0-0-cp314-cp314-macosx_10_9_x86_64.whl
Size 344.1 kB
Tags CPython 3.14 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
32ae4cca438032495b32ac0872c81be45d34460ffbf78098b2b0bd1cc97f6daf
BLAKE2b-256 checksum
How to use checksums
53cb3283204cf3e1164888c45ba359dd4db78c87c90e807f7a6ca7d62ce8cbc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.10.0 This release

5 release files

1.9.0

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page