Forward dynamics of general articulated rigid bodies has been an active research area for long, and a number of algorithms have been developed over the years. While most of these algorithms can be applied to humanoid robots, there are some unique features that make some algorithms more preferable than others. For example, humanoid robots usually have tens of joints, and, therefore, the numerical complexity of an algorithm becomes more important. Humanoid robots often form complex closed kinematic chains by grasping an object or getting in contact with the environment. The forward dynamics algorithm should be able to handle these situations efficiently.
This chapter reviews some of the forward dynamics algorithms often used for humanoid robot and character simulation. Readers are referred to chapter “Dynamic Formulations and Computational Algorithms” for inverse dynamics algorithms used for analyzing joint torques and chapter “Contact Simulation” for contact force computation.
- 1.M.W. Walker, D.E. Orin, Efficient dynamic computer simulation of robot manipulators. ASME J. Dyn. Syst. Meas. Control 104, 205–211 (1982)Google Scholar
- 5.D.E. Rosenthal, An order n formulation for robotic systems. J. Astronaut. Sci. 38(4), 511–529 (1990)Google Scholar
- 6.A. Fijany, I. Sharf, G.M.T. D’Eleuterio, Parallel \(O(\log N)\) algorithms for computation of manipulator forward dynamics. IEEE Trans. Robot. Autom. 11(3), 389–400 (1995)Google Scholar
- 7.D. Baraff, Linear-time dynamics using lagrange multipliers, in Proceedings of SIGGRAPH’96, 1996, pp. 137–146Google Scholar
- 8.R. Featherstone, A divide-and-conquer articulated-body algorithm for parallel \(O(\log (n))\) calculation of rigid-body dynamics. Part 1: basic algorithm. Int. J. Robot. Res. 18(9), 867–875 (1999)Google Scholar
- 9.R. Featherstone, A divide-and-conquer articulated-body algorithm for parallel \(O(\log (n))\) calculation of rigid-body dynamics. Part 2: trees, loops, and accuracy. Int. J. Robot. Res. 18(9), 876–892 (1999)Google Scholar
- 12.K. Yamane, Y. Nakamura, Efficient parallel dynamics computation of human figures, in Proceedings of the IEEE International Conference on Robotics and Automation, 2002, pp. 530–537Google Scholar
- 13.R. Featherstone, Efficient factorization of the joint space inertia matrix for branched kinematic trees. Int. J. Robot. Res. 24(6), 487–500 (2005)Google Scholar
- 15.Bullet Physics Library. bulletphysics.org. Retrieved Aug 2017Google Scholar
- 16.GameWorks PhysX Overview. developer.nvidia.com/gameworks-physx-overview. Retrieved Aug 2017Google Scholar
- 18.H. Brandl, R. Johanni, M. Otter, An algorithm for the simulation of multibody systems with kinematic loops, in Proceedings of the IFToMM Seventh World Congress on the Theory of Machines and Mechanisms, 1987, 407–411Google Scholar
- 21.K. Yamane, Y. Nakamura, Automatic scheduling for parallel forward dynamics computation of open kinematic chains, in Proceedings of Robotics: Science and Systems, 2007Google Scholar
- 22.K. Yamane, S.O. Anderson, J.K. Hodgins, Controlling humanoid robots with human motion data: experimental validation, in Proceedings of IEEE-RAS International Conference on Humanoid Robots, 2010, pp. 504–510Google Scholar
- 23.J.J. Craig, Introduction to Robotics: Mechanics and Control, 3rd edn. (Pearson Prentice Hall, Upper Saddle River, 1986)Google Scholar