RBDL: an efficient rigid-body dynamics library using recursive algorithms
- 902 Downloads
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.
KeywordsReduced 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.
- 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
- Craig, J. (2005). Introduction to Robotics: Mechanics and Control. Addison-Wesley series in electrical and computer engineering: control engineering, Pearson Education, Incorporated.Google Scholar
- Featherstone, R. (2006). Plucker basis vectors. In: ICRA, (pp. 1892–1897), doi: 10.1109/ROBOT.2006.1641982.
- 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.
- Khalil, W., & Dombre, E. (2004). Modeling. Kogan Page Science paper edition, Elsevier Science: Identification and Control of Robots.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.
- Pfeiffer, F., & Glocker, C. (2008). Multibody dynamics with unilateral contacts wiley series in nonlinear science. New York: Wiley.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.
- 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.