Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged tsid at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.8.0 |
License | BSD |
Build type | CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/stack-of-tasks/tsid.git |
VCS Type | git |
VCS Version | devel |
Last Updated | 2025-04-29 |
Dev Status | MAINTAINED |
CI status | Continuous Integration : 0 / 0 |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Guilhem Saurel
Authors
- Andrea Del Prete
- Justin Carpentier
TSID - Task Space Inverse Dynamics
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:
- boost (unit_test_framework)
- eigen3
- pinocchio
- eiquadprog
- example-robot-data (only for running the examples)
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:
- Andrea Del Prete (University of Trento)
- Justin Carpentier (INRIA)
It includes key contributions from:
- Julian Viereck (Max Planck Institute, New York University)
- Sanghyun Kim (Seoul National University)
- Eloise Dalin (LORIA, INRIA Lorraine)
- Noelie Ramuzat (LAAS, CNRS)
- Pierre Fernbach (LAAS, CNRS)
- Aurelie Bonnefoy (LAAS, CNRS)
File truncated at 100 lines see the full file
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.8.0] - 2025-03-29
- Fix missing
const
specifier in python bindings for methodsRobotInertia.set_rotor_inertia()
andRobotInertia.set_gear_ratios()
- Add python bidings for the measured force contact adn task actuation equality
- Deprecated
tsid/contacts/measured-3Dforce.hpp
andtsid/contacts/measured-6Dwrench.hpp
usetsid/contacts/measured-3d-force.hpp
andtsid/contacts/measured-6d-wrench.hpp
instead - Introduce use of override keyword for virtual methods
[1.7.1] - 2024-08-26
- Fix a typo in ex_4_walking
- check solver status, set eps_abs to 1e-6, fix seed
- CMake: require >= 3.10
- add changelog
- setup ruff & fix isort pre-commit config
- update ROS CI
[1.7.0] - 2023-05-13
- expose SE3ToVector and vectorToSE3
- remove warnings
- Enhance Python target packaging
- Add CI with GitHub Action for conda
- Add support for proxqp and osqp solver
- Clean and update contributors list
- pre-commit autoupdate
- Expose TaskJointPosVelAccBounds
- Expose AddMotionTask for TaskJointPosVelAccBounds
- Fix qpmad
- Add clang-format Google style
- Add Measured force as an external force task with moving objects
- update CMake: fetch submodule, set default build type, fix RPATH
- fix for eigenpy v3
- np.matrix → np.array
- tooling: setup black isort & toml-sort
[1.6.3] - 2022-11-02
- Require C++17
- fix tests in 18.04
- update pinocchio use
[1.6.2] - 2022-09-05
- update python tests for np array
- add task actuation equality
- use generated headers
- Choose floating-base (or not) when creating a robot wrapper
- Add optional support of qpmad solver
- update packaging for eigenpy 2.7.12
[1.6.1] - 2021-10-19
This new release is mostly a maintenance release, including fixes for the recent version of Eigen 3.4.
[1.6.0] - 2021-03-18
- Add bindings for method Contact6d::getMotionTask
- Add Center of Pressure Taks
- fix warnings
[1.5.0] - 2021-03-03
- [py] Add config variable to specify whether end-effector task should be formulated in local frame or world frame.
- [C++] Standardize names of methods to get and set mask in motion tasks.
- [py] Add accessors masks in TaskCOM and TaskSE3Equality.
- bugfixes
[1.4.2] - 2020-11-26
- Add a mask to task-com-equality
- Fix bug in Contact6d::setRegularizationTaskWeightVector
- CMake: fix configure without tests
[1.4.1] - 2020-09-25
- fix memory leaks thanks to shared_ptr
- fix warnings
- fix package.xml for ROS
[1.4.0] - 2020-09-09
- add setGravity
- stop using StdVec in python to make code more user friendly
- add 6d contact with motion constraint at priority level 1 in python
- use example-robot-data in notebooks
[1.3.1] - 2020-06-05
File truncated at 100 lines see the full file