Free floating robots dynamics library.
Welcome to iDynTree

iDynTree is a library of robots dynamics algorithms for control, estimation and simulation.

iDynTree is specifically designed for free-floating robots, but it is possible to use it also with fixed-base robots.

iDynTree is written in C++ language, but thanks to SWIG it is possible to use the iDynTree algorithms in several other languages. Support and documentation is provided in particular for C++, Matlab, Python and Lua. If you are interested in using iDynTree with another programming language, feel free to create a new issue requesting support for it.

This documentation is automatically generated from the C++ headers, and can be used as a reference documentation for the classes and functions contained in iDynTree .

iDynTree is divided in several parts:

  • Core : Basic data structures for kinematics and dynamics of rigid bodies.
  • Model: Data structures and algorithms for modeling articulated body structures.
  • Sensors : Data structures for modeling sensors distribude on articulated body structures.
  • ModelIO : Function to read and write iDynTree models and sensors to external files (such as URDF or iKin DH parameters ).
  • Estimation : Algorithms related to whole-body estimation.
  • Regressors : Algorithms related to whole-body dynamics identification.
  • HighLevel : High level interfaces to access algorithms contained in iDynTree.
  • YARP : Function and classes for simplifying integration of iDynTree with YARP.

As iDynTree is mainly developed to support the research effort of iCub Facility department of the Italian Institute of Technology, some parts of it are activly developed and their interface can abroutly change between iDynTree releases. Until this components are ready to be integrated in a proper part of iDynTree, we keep them in the "experimental" part of iDynTree :

  • Experimental : Experimental data structures and algorithms, whose interface is not guaranteed to be stable.

iDynTree started as a tiny wrapper of code between YARP and KDL. For this reason, in the repository there is still some legacy code, that should not be used by users, as it is going to be removed from iDynTree.

  • Deprecated : Deprecated data structures and algorithms, that are going to be removed from iDynTree.