• Stars
    star
    187
  • Rank 206,464 (Top 5 %)
  • Language
    C++
  • License
    BSD 2-Clause "Sim...
  • Created almost 8 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Efficient Task Space Inverse Dynamics (TSID) based on Pinocchio

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 [email protected]: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}
}

More Repositories

1

pinocchio

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
C++
1,661
star
2

eigenpy

Efficient bindings between Numpy and Eigen using Boost.Python
C++
163
star
3

eiquadprog

C++ reimplementation of eiquadprog
C++
27
star
4

dynamic-graph

Efficient data-flow library for robotics.
C++
25
star
5

soth

SOT Hierarchical solver
C++
19
star
6

sot-core

Hierarchical task solver plug-in for dynamic-graph
C++
18
star
7

pinocchio-minimal

Minimal project using Pinocchio as Rigid Body Dynamics library
C++
15
star
8

pinocchio-gepetto-viewer

C++
12
star
9

parametric-curves

Library for creating curves. Forked from https://github.com/stonneau/spline
C++
11
star
10

sot-torque-control

Collection of dynamic-graph entities aimed at implementing torque control on different robots.
C++
9
star
11

dynamic-graph-python

Python bindings for dynamic-graph
C++
8
star
12

state-observation

Describes interfaces for state observers, and implements some oberservers (including linear and extended Kalman filters)
C++
5
star
13

sot-dynamic-pinocchio

Encapsulate Pinocchio in SoT
C++
5
star
14

dynamic-graph-tutorial

Tutorial for the dynamic-graph
C++
5
star
15

pinocchio-tutorials

DEPRECATED Tutorials for Pinocchio stack-of-tasks/pinocchio
Python
5
star
16

sot-pattern-generator

jrl-walkgen bindings for dynamic-graph
C++
4
star
17

ros2_hardware_interface_odri

ros2_control System Interface for the Open Dynamic Robot Initiative Master Board
C++
4
star
18

sot-dynamic

jrl-dynamics bindings for dynamic-graph
C++
4
star
19

eigenpy-ros-release

Release repository for https://github.com/stack-of-tasks/eigenpy.git
3
star
20

roscontrol_sot

Wrapping the Stack-of-Stacks in roscontrol
C++
3
star
21

talos-torque-control

Specific torque control part of sot-torque-control for Talos
Python
3
star
22

jrl-doc

Meta-documentation package for the JRL software.
3
star
23

pinocchio-benchmarks

Benchmarks of the Pinocchio library
C++
3
star
24

talos_integration_tests

A repository to perform integration tests
Python
2
star
25

sot-hrp2-hrpsys

C++
2
star
26

redundant_manipulator_control

ROS bindings for the Stack of Tasks
Shell
2
star
27

ddp-actuator-solver

Differential Dynamic Programming Solver
C++
2
star
28

sot-hrp2

C++
2
star
29

dynamic_graph_bridge

Dynamic graph bindings for ROS
C++
2
star
30

sot-motion-planner

C++
2
star
31

stack-of-tasks.github.com

Website
HTML
2
star
32

dynamic-graph-corba

Corba server implementing an entity with python interpreter embedded.
C++
1
star
33

sot-dyninv

Python
1
star
34

dynamic_graph_actionlib

Python
1
star
35

redundant_manipulator_control_tutorial

Tutorial for the redundant_manipulator_control_tutorial ROS stack.
Python
1
star
36

sot_pr2

dynamic-graph controller for PR2 robot
C++
1
star
37

sot-hrprtc-hrp2

RTC component for the Stack of Tasks
C++
1
star
38

talos-metapkg-ros-control-sot

Metapkg to run the Stack-of-Tasks on TALOS with ros control
Python
1
star
39

sot-doc

Doxygen based documentation for the stack-of-tasks organization
Shell
1
star