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.
Similar content being viewed by others
Notes
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.
Ball, R. S. (1900). A treatise on the theory of screws. Cambridge: Cambridge University Press.
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.
Featherstone, R. (2001). The acceleration vector of a rigid body. The International Journal of Robotics Research, 20(11), 841–846. doi:10.1177/02783640122068137.
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.
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.
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.
Jain, A. (2011). Robot and multibody dynamics. New York: Springer. doi:10.1007/978-1-4419-7267-5.
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.
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.
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.
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.
Pfeiffer, F., & Glocker, C. (2008). Multibody dynamics with unilateral contacts wiley series in nonlinear science. New York: Wiley.
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.
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.
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.
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10514-016-9574-0