Skip to main content
Log in

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

  • Published:
Autonomous Robots Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. The derivation exploits \(\varvec{ {E} }^T_j \varvec{ {r} }_i \times \varvec{ {E} }_j = (\varvec{ {E_j} } \varvec{ {r} }_i) \times \).

References

  • 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).

  • 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.

    MathSciNet  Google Scholar 

  • Ball, R. S. (1900). A treatise on the theory of screws. Cambridge: Cambridge University Press.

    MATH  Google Scholar 

  • Craig, J. (2005). Introduction to Robotics: Mechanics and Control. Addison-Wesley series in electrical and computer engineering: control engineering, Pearson Education, Incorporated.

  • 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.

    Article  Google Scholar 

  • Featherstone, R. (2001). The acceleration vector of a rigid body. The International Journal of Robotics Research, 20(11), 841–846. doi:10.1177/02783640122068137.

    Article  Google Scholar 

  • Featherstone, R. (2006). Plucker basis vectors. In: ICRA, (pp. 1892–1897), doi:10.1109/ROBOT.2006.1641982.

  • Featherstone, R. (2008). Rigid body dynamics algorithms. New York: Springer.

    Book  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

  • Guennebaud, G. et al. (2010). Eigen v3. http://eigen.tuxfamily.org.

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • Jain, A. (2011). Robot and multibody dynamics. New York: Springer. doi:10.1007/978-1-4419-7267-5.

    Book  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Khalil, W., & Dombre, E. (2004). Modeling. Kogan Page Science paper edition, Elsevier Science: Identification and Control of Robots.

  • 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.

    Article  MathSciNet  Google Scholar 

  • 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.

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • Pfeiffer, F., & Glocker, C. (2008). Multibody dynamics with unilateral contacts wiley series in nonlinear science. New York: Wiley.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

  • 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.

    Article  Google Scholar 

  • 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.

  • 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.

  • 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.

Download references

Acknowledgments

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin L. Felis.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Felis, M.L. RBDL: an efficient rigid-body dynamics library using recursive algorithms. Auton Robot 41, 495–511 (2017). https://doi.org/10.1007/s10514-016-9574-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10514-016-9574-0

Keywords

Navigation