Multi-body Simulation

  • Katsu YamaneEmail author
Reference work entry


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. 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
  2. 2.
    R. Featherstone, Robot Dynamics Algorithm (Springer Science + Business Media, New York, 1987)CrossRefGoogle Scholar
  3. 3.
    D.S. Bae, E.J. Haug, A recursive formulation for constrained mechanical system dynamics: part I. Open loop systems. Mech. Struct. Mach. 15(3), 359–382 (1987)CrossRefGoogle Scholar
  4. 4.
    D.S. Bae, E.J. Haug, A recursive formulation for constrained mechanical system dynamics: part II. Closed loop systems. Mech. Struct. Mach. 15(4), 481–506 (1987–88)CrossRefGoogle Scholar
  5. 5.
    D.E. Rosenthal, An order n formulation for robotic systems. J. Astronaut. Sci. 38(4), 511–529 (1990)Google Scholar
  6. 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. 7.
    D. Baraff, Linear-time dynamics using lagrange multipliers, in Proceedings of SIGGRAPH’96, 1996, pp. 137–146Google Scholar
  8. 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. 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
  10. 10.
    K.S. Anderson, S. Duan, Highly parallelizable low-order dynamics simulation algorithm for multi-rigid-body systems. AIAA J. Guid. Control Dyn. 23(2), 355–364 (2000)CrossRefGoogle Scholar
  11. 11.
    K. Yamane, Y. Nakamura, Comparative study on serial and parallel forward dynamics algorithms for kinematic chains. Int. J. Robot. Res. 28, 622–629 (2009)CrossRefGoogle Scholar
  12. 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. 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
  14. 14.
    R. Smith, Open Dynamics Engine. HYPERLINK “ Retrieved Aug 2017
  15. 15.
    Bullet Physics Library. Retrieved Aug 2017Google Scholar
  16. 16.
    GameWorks PhysX Overview. Retrieved Aug 2017Google Scholar
  17. 17.
    R. Featherstone, A. Fijany, A technique for analyzing constrained rigid-body systems, and its application to the constraint force algorithm. IEEE Trans. Robot. Autom. 15(6), 1140–1144 (1999)CrossRefGoogle Scholar
  18. 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
  19. 19.
    Y. Nakamura, M. Ghodoussi, Dynamics computation of closed-link robot mechanisms with nonredundant and redundant actuators. IEEE Trans. Robot. Autom. 5(3), 294–302 (1989)CrossRefGoogle Scholar
  20. 20.
    Y. Nakamura, K. Yamane, Dynamics computation of structure-varying kinematic chains and its application to human figures. IEEE Trans. Robot. Autom. 16(2), 124–134 (2000)CrossRefGoogle Scholar
  21. 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. 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. 23.
    J.J. Craig, Introduction to Robotics: Mechanics and Control, 3rd edn. (Pearson Prentice Hall, Upper Saddle River, 1986)Google Scholar
  24. 24.
    Y. Nakamura, K. Yamane, Y. Fujita, I. Suzuki, Somatosensory computation for man-machine interface from motion capture data and musculoskeletal human model. IEEE Trans. Robot. 21(1), 58–66 (2005)CrossRefGoogle Scholar
  25. 25.
    Y. Yang, Y. Wu, J. Pan, Parallel dynamics computation using prefix sum operations. IEEE Robot. Autom. Lett. 2(3), 1296–1303 (2017)CrossRefGoogle Scholar

Copyright information

© Springer Nature B.V. 2019

Authors and Affiliations

  1. 1.Disney ResearchPittsburghUSA

Personalised recommendations