Skip to content
This repository has been archived by the owner on Nov 29, 2019. It is now read-only.
Olivier Stasse edited this page Jul 29, 2014 · 5 revisions

Metapod (for META-Programming Optimized Dynamics library), is a software which provides robot dynamics algorithms, designed to be as fast as possible. It uses a combination of a specific representation of robot models and C++ templates, such that each algorithm remains model-independant, yet is optimized for a particular robot at compile-time. It makes use of R. Featherstone's Spatial Algebra to describe forces, motions and inertias (cf. Rigid Body Dynamics Algorithms, Roy Featherstone).

As of today, the following algorithms have been implemented:

  • RNEA (Recursive Newton Euler Algorithm) for inverse dynamics
  • CRBA (Composite Rigid Body Algorithm) to compute the Joint-Space Inertia Matrix.

We briefly describe here a first implementation of the approach developed in Metapod. It explains the overall philosophy, but does not allow a proper separation between model and implementation. Thanks to S. Barthelemy this has been fixed by using boost::fusion.

Clone this wiki locally