Skip to main content

Efficient Inverse Dynamics (python bindings)

Project description

TSID - Task Space Inverse Dynamics

License Pipeline status Coverage report

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:

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.6.0-cp39-cp39-manylinux_2_24_x86_64.whl (4.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-cp38-cp38-manylinux_2_24_x86_64.whl (4.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-cp37-cp37m-manylinux_2_24_x86_64.whl (4.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-cp36-cp36m-manylinux_2_24_x86_64.whl (4.1 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-cp35-cp35m-manylinux_2_24_x86_64.whl (4.1 MB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-cp27-cp27mu-manylinux_2_24_x86_64.whl (4.1 MB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.24+ x86-64

tsid-1.6.0-6-cp39-cp39-manylinux_2_24_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-6-cp38-cp38-manylinux_2_24_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-6-cp37-cp37m-manylinux_2_24_x86_64.whl (971.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-6-cp36-cp36m-manylinux_2_24_x86_64.whl (971.2 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-6-cp27-cp27mu-manylinux_2_24_x86_64.whl (971.0 kB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.24+ x86-64

tsid-1.6.0-5-cp39-cp39-manylinux_2_24_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-5-cp38-cp38-manylinux_2_24_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-5-cp37-cp37m-manylinux_2_24_x86_64.whl (971.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-5-cp36-cp36m-manylinux_2_24_x86_64.whl (971.2 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-5-cp27-cp27mu-manylinux_2_24_x86_64.whl (971.0 kB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.24+ x86-64

tsid-1.6.0-4-cp39-cp39-manylinux_2_24_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-4-cp38-cp38-manylinux_2_24_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-4-cp37-cp37m-manylinux_2_24_x86_64.whl (971.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-4-cp36-cp36m-manylinux_2_24_x86_64.whl (971.2 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-4-cp27-cp27mu-manylinux_2_24_x86_64.whl (971.0 kB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.24+ x86-64

tsid-1.6.0-3-cp39-cp39-manylinux_2_24_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-3-cp38-cp38-manylinux_2_24_x86_64.whl (974.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-3-cp37-cp37m-manylinux_2_24_x86_64.whl (971.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-3-cp36-cp36m-manylinux_2_24_x86_64.whl (971.2 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-3-cp27-cp27mu-manylinux_2_24_x86_64.whl (971.0 kB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.24+ x86-64

tsid-1.6.0-2-cp39-cp39-manylinux_2_24_x86_64.whl (974.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-2-cp38-cp38-manylinux_2_24_x86_64.whl (974.5 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-2-cp37-cp37m-manylinux_2_24_x86_64.whl (971.7 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-2-cp36-cp36m-manylinux_2_24_x86_64.whl (971.7 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-2-cp27-cp27mu-manylinux_2_24_x86_64.whl (971.6 kB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.24+ x86-64

tsid-1.6.0-1-cp39-cp39-manylinux_2_24_x86_64.whl (974.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-1-cp38-cp38-manylinux_2_24_x86_64.whl (974.5 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

tsid-1.6.0-1-cp37-cp37m-manylinux_2_24_x86_64.whl (971.7 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-1-cp36-cp36m-manylinux_2_24_x86_64.whl (971.7 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-1-cp35-cp35m-manylinux_2_24_x86_64.whl (971.7 kB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.24+ x86-64

tsid-1.6.0-1-cp27-cp27mu-manylinux_2_24_x86_64.whl (971.6 kB view hashes)

Uploaded CPython 2.7mu manylinux: glibc 2.24+ x86-64

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