Autonomous Robots

, Volume 41, Issue 2, pp 495–511 | Cite as

RBDL: an efficient rigid-body dynamics library using recursive algorithms

  • Martin L. FelisEmail author


In our research we use rigid-body dynamics and optimal control methods to generate 3-D whole-body walking motions. For the dynamics modeling and computation we created RBDL—the Rigid Body Dynamics Library. It is a self-contained free open-source software package that implements state of the art dynamics algorithms including external contacts and collision impacts. It is based on Featherstone’s spatial algebra notation and is implemented in C++ using highly efficient data structures that exploit sparsities in the spatial operators. The library contains various helper methods to compute quantities, such as point velocities, accelerations, Jacobians, angular and linear momentum and others. A concise programming interface and minimal dependencies makes it suitable for integration into existing frameworks. We demonstrate its performance by comparing it with state of the art dynamics libraries both based on recursive evaluations and symbolic code generation.


Reduced coordinates Rigid-body dynamics Jacobian Contact Software 



The author gratefully acknowledges the financial support and the inspiring environment provided by the Heidelberg Graduate School of Mathematical and Computational Methods for the Sciences, funded by DFG (Deutsche Forschungsgemeinschaft) and the support by the European Commission under the FP7 projects ECHORD (Grant No 231143) and Koroibot (Grant No 611909). The author furthermore wants to thank Katja Mombaur for the opportunity to work in the stimulating environment of her research group Optimization in Robotics and Biomechanics and to Henning Koch for creating the generated code using his powerful DYNAMOD package.


  1. Armstrong, W. W. (1979). Recursive solution to the equations of motion of an \(n\)-link manipulator. In Proceeding of the 5th World Congress on Theory of Machines and Mechanisms, (pp 1343–1346).Google Scholar
  2. Ascher, U. M., Chin, H., Petzold, L. R., & Reich, S. (1994). Stabilization of constrained mechanical systems with daes and invariant manifolds. Journal of Structural Mechanics, 23, 135–157.MathSciNetGoogle Scholar
  3. Ball, R. S. (1900). A treatise on the theory of screws. Cambridge: Cambridge University Press.zbMATHGoogle Scholar
  4. Craig, J. (2005). Introduction to Robotics: Mechanics and Control. Addison-Wesley series in electrical and computer engineering: control engineering, Pearson Education, Incorporated.Google Scholar
  5. Featherstone, R. (1983). The calculation of robot dynamics using articulated-body inertias. The International Journal of Robotics Research, 2(1), 13–30. doi: 10.1177/027836498300200102.CrossRefGoogle Scholar
  6. Featherstone, R. (2001). The acceleration vector of a rigid body. The International Journal of Robotics Research, 20(11), 841–846. doi: 10.1177/02783640122068137.CrossRefGoogle Scholar
  7. Featherstone, R. (2006). Plucker basis vectors. In: ICRA, (pp. 1892–1897), doi: 10.1109/ROBOT.2006.1641982.
  8. Featherstone, R. (2008). Rigid body dynamics algorithms. New York: Springer.CrossRefzbMATHGoogle Scholar
  9. Featherstone, R. (2010). A beginner’s guide to 6-d vectors (part 1). Robotics Automation Magazine, IEEE, 17(3), 83–94. doi: 10.1109/MRA.2010.937853.CrossRefGoogle Scholar
  10. Featherstone, R., & Orin, D. (2000). Robot dynamics: equations and algorithms. In: Robotics and Automation (ICRA). Proceedings of IEEE International Conference, (Vol. 1, pp. 826–834), doi: 10.1109/ROBOT.2000.844153.
  11. Guennebaud, G. et al. (2010). Eigen v3.
  12. Jain, A. (1991). Unified formulation of dynamics for serial rigid multibody systems. Journal of Guidance, Control, and Dynamics, 14(3), 531–542. doi: 10.2514/3.20672.MathSciNetCrossRefzbMATHGoogle Scholar
  13. Jain, A. (2011). Robot and multibody dynamics. New York: Springer. doi: 10.1007/978-1-4419-7267-5.CrossRefzbMATHGoogle Scholar
  14. Jain, A., & Rodriguez, G. (1993). An analysis of the kinematics and dynamics of underactuated manipulators. Robotics and Automation, IEEE Transactions on, 9(4), 411–422. doi: 10.1109/70.246052.CrossRefGoogle Scholar
  15. Kanehiro, F., Hirukawa, H., & Kajita, S. (2004). OpenHRP: Open architecture humanoid robotics platform. The International Journal of Robotics Research, 23(2), 155–165. doi: 10.1177/0278364904041324.CrossRefGoogle Scholar
  16. Khalil, W., & Dombre, E. (2004). Modeling. Kogan Page Science paper edition, Elsevier Science: Identification and Control of Robots.Google Scholar
  17. Luh, J. Y. S., Walker, M. W., & Paul, R. P. C. (1980). On-line computational scheme for mechanical manipulators. Journal of Dynamic Systems, Measurement, and Control, 102, 69–102. doi: 10.1115/1.3149599.MathSciNetCrossRefGoogle Scholar
  18. Orin, D., & Goswami, A. (2008). Centroidal momentum matrix of a humanoid robot: Structure and properties. In: Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJ International Conference on, (pp. 653–659), doi: 10.1109/IROS.2008.4650772.
  19. Pang, J. S., & Trinkle, J. C. (1996). Complementarity formulations and existence of solutions of dynamic multi-rigid-body contact problems with coulomb friction. Mathematical Programming, 73(2), 199–226. doi: 10.1007/BF02592103.MathSciNetCrossRefzbMATHGoogle Scholar
  20. Pfeiffer, F., & Glocker, C. (2008). Multibody dynamics with unilateral contacts wiley series in nonlinear science. New York: Wiley.Google Scholar
  21. Rodriguez, G. (1987). Kalman filtering, smoothing, and recursive robot arm forward and inverse dynamics. Robotics and Automation, IEEE Journal of, 3(6), 624–639. doi: 10.1109/JRA.1987.1087147.CrossRefGoogle Scholar
  22. Rodriguez, G., Kreutz, K., & Milman, M. (1988). A spatial operator algebra for manipulator modeling and control. In: Intelligent Control, 1988. Proceedings of thr IEEE International Symposium on, (pp. 418–423), doi: 10.1109/ISIC.1988.65468.
  23. Rodriguez, G., Jain, A., & Kreutz-Delgado, K. (1991). A spatial operator algebra for manipulator modeling and control. The International Journal of Robotics Research, 10(4), 371–381.CrossRefGoogle Scholar
  24. Sherman, M. A., Seth, A., & Delp, S. L. (2011). Simbody: Multibody dynamics for biomedical research. Procedia IUTAM, IUTAM Symposium on Human Body Dynamics, (Vol. 2, pp. 241–261), doi: 10.1016/j.piutam.2011.04.023.
  25. Shoemake, K. (1985). Animating rotation with quaternion curves. In Proceedings of the 12th Annual Conference on Computer Graphics and Interactive Techniques, ACM, New York, NY, SIGGRAPH ’85, (pp. 245–254), doi: 10.1145/325334.325242.
  26. Uchida, T. K., Sherman, M. A., Delp, S. L. (2015). Making a meaningful impact: modelling simultaneous frictional collisions in spatial multibody systems. Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences, (Vol. 471), doi: 10.1098/rspa.2014.0859.

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Research Group Optimization in Robotics and Biomechanics Interdisciplinary Center for Scientific Computing (IWR), ML 100HeidelbergGermany

Personalised recommendations