TSID (Task Space Inverse Dynamics)
TSIDAdvancedA C++ library that solves whole-body control as a task-space inverse-dynamics quadratic program.
TSID is an open-source C++ library (with a Python interface) developed by Andrea Del Prete and colleagues at LAAS-CNRS in France, built on the Pinocchio dynamics library. It formulates whole-body control as a quadratic program (QP): given several tasks — such as maintaining the center of mass, tracking a hand's position, or holding an orientation — plus constraints like keeping contact forces inside the friction cone and staying under joint torque limits, it solves, on every control cycle, for the joint accelerations, torques, and contact forces that satisfy the constraints while getting as close as possible to each task's goal. It's commonly used for model-based whole-body control on humanoid and quadruped robots, and is also popular as teaching code for learning how whole-body control (WBC) works.
ExampleGive a humanoid robot three tasks — keep both feet in contact, track a reference center-of-mass trajectory, and move the right hand to a target point — and use TSID to solve for joint torques every 1 millisecond.
- Also called
- Task Space Inverse Dynamics library
- Related
- Whole-Body Control · Inverse Dynamics · Quadratic Programming · Pinocchio · Task-Space Control · Crocoddyl (Contact RObot COntrol by Differential DYnamic programming Library)
- Sources
- stack-of-tasks/tsid (GitHub)