• Roy FeatherstoneEmail author
  • David E. Orin
Part of the Springer Handbooks book series (SHB)


The dynamic equations of motion provide the relationships between actuation and contact forces acting on robot mechanisms, and the acceleration and motion trajectories that result. Dynamics is important for mechanical design, control, and simulation. A number of algorithms are important in these applications, and include computation of the following: inverse dynamics, forward dynamics, the joint-space inertia matrix, and the operational-space inertia matrix. This chapter provides efficient algorithms to perform each of these calculations on a rigid-body model of a robot mechanism. The algorithms are presented in their most general form and are applicable to robot mechanisms with general connectivity, geometry, and joint types. Such mechanisms include fixed-base robots, mobile robots, and parallel robot mechanisms.

In addition to the need for computational efficiency, algorithms should be formulated with a compact set of equations for ease of development and implementation. The use of spatial notation has been very effective in this regard, and is used in presenting the dynamics algorithms. Spatial vector algebra is a concise vector notation for describing rigid-body velocity, acceleration, inertia, etc., using six-dimensional (6-D ) vectors and

The goal of this chapter is to introduce the reader to the subject of robot dynamics and to provide the reader with a rich set of algorithms, in a compact form, that they may apply to their particular robot mechanism. These algorithms are presented in tables for ready






articulated-body algorithm


composite-rigid-body algorithm


degree of freedom


Jet Propulsion Laboratory


joint-space inertia matrix


operational-space inertia matrix


recursive Newton–Euler algorithm


  1. 3.1
    R. Featherstone: The calculation of robot dynamics using articulated-body inertias, Int. J. Robotics Res. 2(1), 13–30 (1983)CrossRefGoogle Scholar
  2. 3.2
    J.J. Craig: Introduction to Robotics: Mechanics and Control, 3rd edn. (Prentice Hall, Upper Saddle River 2005)Google Scholar
  3. 3.3
    R.E. Roberson, R. Schwertassek: Dynamics of Multibody Systems (Springer, Berlin, Heidelberg 1988)CrossRefzbMATHGoogle Scholar
  4. 3.4
    J.Y.S. Luh, M.W. Walker, R.P.C. Paul: On-line computational scheme for mechanical manipulators, Trans. ASME J. Dyn. Syst. Meas. Control 102(2), 69–76 (1980)MathSciNetCrossRefGoogle Scholar
  5. 3.5
    M.W. Walker, D.E. Orin: Efficient dynamic computer simulation of robotic mechanisms, Trans. ASME J. Dyn. Syst. Meas. Control 104, 205–211 (1982)CrossRefzbMATHGoogle Scholar
  6. 3.6
    D. Baraff: Linear-time dynamics using lagrange multipliers, Proc. 23rd Annu. Conf. Comp. Graph. Interact. Tech., New Orleans (1996) pp. 137–146Google Scholar
  7. 3.7
    J. Baumgarte: Stabilization of constraints and integrals of motion in dynamical systems, Comput. Methods Appl. Mech. Eng. 1, 1–16 (1972)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 3.8
    R. Featherstone: Rigid Body Dynamics Algorithms (Springer, New York 2008)CrossRefzbMATHGoogle Scholar
  9. 3.9
    R.M. Murray, Z. Li, S.S. Sastry: A Mathematical Introduction to Robotic Manipulation (CRC, Boca Raton 1994)zbMATHGoogle Scholar
  10. 3.10
    J. Angeles: Fundamentals of Robotic Mechanical Systems, 2nd edn. (Springer, New York 2003)zbMATHGoogle Scholar
  11. 3.11
    R.S. Ball: A Treatise on the Theory of Screws (Cambridge Univ. Press, London 1900), Republished (1998)zbMATHGoogle Scholar
  12. 3.12
    J.M. Selig: Geometrical Methods in Robotics (Springer, New York 1996)CrossRefzbMATHGoogle Scholar
  13. 3.13
    D.T. Greenwood: Principles of Dynamics (Prentice-Hall, Englewood Cliffs 1988)Google Scholar
  14. 3.14
    F.C. Moon: Applied Dynamics (Wiley, New York 1998)CrossRefzbMATHGoogle Scholar
  15. 3.15
    R. Featherstone: Robot Dynamics Algorithms (Kluwer, Boston 1987)CrossRefGoogle Scholar
  16. 3.16
    R. Featherstone: Spatial v2, (2012)
  17. 3.17
    S. McMillan, D.E. Orin: Efficient computation of articulated-body inertias using successive axial screws, IEEE Trans. Robotics Autom. 11, 606–611 (1995)CrossRefGoogle Scholar
  18. 3.18
    L. Sciavicco, B. Siciliano: Modeling and Control of Robot Manipulators, 2nd edn. (Springer, London 2000)CrossRefzbMATHGoogle Scholar
  19. 3.19
    J. Slotine, W. Li: On the adaptive control of robot manipulators, Int. J. Robotics Res. 6(3), 49–59 (1987)CrossRefGoogle Scholar
  20. 3.20
    K.S. Chang, O. Khatib: Operational space dynamics: Efficient algorithms for modeling and control of branching mechanisms, Proc. IEEE Int. Conf. Robotics Autom., San Francisco (2000) pp. 850–856Google Scholar
  21. 3.21
    O. Khatib: A unified approach to motion and force control of robot manipulators: The operational space formulation, IEEE J. Robotics Autom. 3(1), 43–53 (1987)CrossRefGoogle Scholar
  22. 3.22
    Y.F. Zheng, H. Hemami: Mathematical modeling of a robot collision with its environment, J. Robotics Syst. 2(3), 289–307 (1985)CrossRefGoogle Scholar
  23. 3.23
    W. Khalil, E. Dombre: Modeling, Identification and Control of Robots (Kogan Page Sci., London 2002)zbMATHGoogle Scholar
  24. 3.24
    J. Denavit, R.S. Hartenberg: A kinematic notation for lower-pair mechanisms based on matrices, J. Appl. Mech. 22, 215–221 (1955)MathSciNetzbMATHGoogle Scholar
  25. 3.25
    H. Brandl, R. Johanni, M. Otter: A very efficient algorithm for the simulation of robots and similar multibody systems without inversion of the mass matrix, Proc. IFAC/IFIP/IMACS Int. Symp. Theory Robots, Vienna (1986)Google Scholar
  26. 3.26
    R. Featherstone: Efficient factorization of the joint space inertia matrix for branched kinematic trees, Int. J. Robotics Res. 24(6), 487–500 (2005)CrossRefGoogle Scholar
  27. 3.27
    R. Featherstone: An empirical study of the joint space inertia matrix, Int. J. Robotics Res. 23(9), 859–871 (2004)CrossRefGoogle Scholar
  28. 3.28
    K. Kreutz-Delgado, A. Jain, G. Rodriguez: Recursive formulation of operational space control, Proc. IEEE Int. Conf. Robotics Autom., Sacramento (1991) pp. 1750–1753Google Scholar
  29. 3.29
    K.W. Lilly: Efficient Dynamic Simulation of Robotic Mechanisms (Kluwer, Boston 1993)CrossRefzbMATHGoogle Scholar
  30. 3.30
    K.W. Lilly, D.E. Orin: Efficient O(N) recursive computation of the operational space inertia matrix, IEEE Trans. Syst. Man Cybern. 23(5), 1384–1391 (1993)CrossRefGoogle Scholar
  31. 3.31
    G. Rodriguez, A. Jain, K. Kreutz-Delgado: Spatial operator algebra for multibody system dynamics, J. Astronaut. Sci. 40(1), 27–50 (1992)MathSciNetGoogle Scholar
  32. 3.32
    R. Featherstone: Exploiting sparsity in operational-space dynamics, Int. J. Robotics Res. 29(10), 1353–1368 (2010)CrossRefGoogle Scholar
  33. 3.33
    P. Wensing, R. Featherstone, D.E. Orin: A reduced-order recursive algorithm for the computation of the operational-space inertia matrix, Proc. IEEE Int. Conf. Robotics Autom., St. Paul (2012) pp. 4911–4917Google Scholar
  34. 3.34
    R.E. Ellis, S.L. Ricker: Two numerical issues in simulating constrained robot dynamics, IEEE Trans. Syst. Man Cybern. 24(1), 19–27 (1994)CrossRefGoogle Scholar
  35. 3.35
    J. Wittenburg: Dynamics of Systems of Rigid Bodies (Teubner, Stuttgart 1977)CrossRefzbMATHGoogle Scholar
  36. 3.36
    R. Featherstone, D.E. Orin: Robot dynamics: Equations and algorithms, Proc. IEEE Int. Conf. Robotics Autom., San Francisco (2000) pp. 826–834Google Scholar
  37. 3.37
    C.A. Balafoutis, R.V. Patel: Dynamic Analysis of Robot Manipulators: A Cartesian Tensor Approach (Kluwer, Boston 1991)CrossRefzbMATHGoogle Scholar
  38. 3.38
    A. Jain: Robot and Multibody Dynamics: Analysis and Algorithms (Springer, New York 2011)CrossRefzbMATHGoogle Scholar
  39. 3.39
    L.W. Tsai: Robot Analysis and Design: The Mechanics of Serial and Parallel Manipulators (Wiley, New York 1999)Google Scholar
  40. 3.40
    K. Yamane: Simulating and Generating Motions of Human Figures (Springer, Berlin, Heidelberg 2004)zbMATHGoogle Scholar
  41. 3.41
    F.M.L. Amirouche: Fundamentals of Multibody Dynamics: Theory and Applications (Birkhäuser, Boston 2006)zbMATHGoogle Scholar
  42. 3.42
    M.G. Coutinho: Dynamic Simulations of Multibody Systems (Springer, New York 2001)CrossRefzbMATHGoogle Scholar
  43. 3.43
    E.J. Haug: Computer Aided Kinematics and Dynamics of Mechanical Systems (Allyn and Bacon, Boston 1989)Google Scholar
  44. 3.44
    R.L. Huston: Multibody Dynamics (Butterworths, Boston 1990)zbMATHGoogle Scholar
  45. 3.45
    A.A. Shabana: Computational Dynamics, 2nd edn. (Wiley, New York 2001)zbMATHGoogle Scholar
  46. 3.46
    V. Stejskal, M. Valášek: Kinematics and Dynamics of Machinery (Marcel Dekker, New York 1996)zbMATHGoogle Scholar
  47. 3.47
    L. Brand: Vector and Tensor Analysis, 4th edn. (Wiley/Chapman Hall, New York/London 1953)zbMATHGoogle Scholar
  48. 3.48
    F.C. Park, J.E. Bobrow, S.R. Ploen: A lie group formulation of robot dynamics, Int. J. Robotics Res. 14(6), 609–618 (1995)CrossRefGoogle Scholar
  49. 3.49
    M.E. Kahn, B. Roth: The near minimum-time control of open-loop articulated kinematic chains, J. Dyn. Syst. Meas. Control 93, 164–172 (1971)CrossRefGoogle Scholar
  50. 3.50
    J.J. Uicker: Dynamic force analysis of spatial linkages, Trans. ASME J. Appl. Mech. 34, 418–424 (1967)CrossRefGoogle Scholar
  51. 3.51
    A. Jain: Unified formulation of dynamics for serial rigid multibody systems, J. Guid. Control Dyn. 14(3), 531–542 (1991)CrossRefzbMATHGoogle Scholar
  52. 3.52
    G. Rodriguez: Kalman filtering, smoothing, and recursive robot arm forward and inverse dynamics, IEEE J. Robotics Autom. RA-3(6), 624–639 (1987)CrossRefGoogle Scholar
  53. 3.53
    G. Rodriguez, A. Jain, K. Kreutz-Delgado: A spatial operator algebra for manipulator modelling and control, Int. J. Robotics Res. 10(4), 371–381 (1991)CrossRefGoogle Scholar
  54. 3.54
    J.M. Hollerbach: A recursive lagrangian formulation of manipulator dynamics and a comparative study of dynamics formulation complexity, IEEE Trans. Syst. Man Cybern. SMC-10(11), 730–736 (1980)MathSciNetCrossRefGoogle Scholar
  55. 3.55
    M.W. Spong, S. Hutchinson, M. Vidyasagar: Robot Modeling and Control (Wiley, Hoboken 2006)Google Scholar
  56. 3.56
    K.W. Buffinton: Kane's Method in Robotics. In: Robotics and Automation Handbook, ed. by T.R. Kurfess (CRC, Boca Raton 2005), 6-1--6-31Google Scholar
  57. 3.57
    T.R. Kane, D.A. Levinson: The use of kane's dynamical equations in robotics, Int. J. Robotics Res. 2(3), 3–21 (1983)CrossRefGoogle Scholar
  58. 3.58
    C.A. Balafoutis, R.V. Patel, P. Misra: Efficient modeling and computation of manipulator dynamics using orthogonal cartesian tensors, IEEE J. Robotics Autom. 4, 665–676 (1988)CrossRefGoogle Scholar
  59. 3.59
    X. He, A.A. Goldenberg: An algorithm for efficient computation of dynamics of robotic manipulators, Proc. 4th Int. Conf. Adv. Robotics, Columbus (1989) pp. 175–188Google Scholar
  60. 3.60
    W. Hu, D.W. Marhefka, D.E. Orin: Hybrid kinematic and dynamic simulation of running machines, IEEE Trans. Robotics 21(3), 490–497 (2005)CrossRefGoogle Scholar
  61. 3.61
    C.A. Balafoutis, R.V. Patel: Efficient computation of manipulator inertia matrices and the direct dynamics problem, IEEE Trans. Syst. Man Cybern. 19, 1313–1321 (1989)CrossRefGoogle Scholar
  62. 3.62
    K.W. Lilly, D.E. Orin: Alternate formulations for the manipulator inertia matrix, Int. J. Robotics Res. 10, 64–74 (1991)CrossRefGoogle Scholar
  63. 3.63
    S. McMillan, D.E. Orin: Forward dynamics of multilegged vehicles using the composite rigid body method, Proc. IEEE Int. Conf. Robotics Autom. (1998) pp. 464–470Google Scholar
  64. 3.64
    U.M. Ascher, D.K. Pai, B.P. Cloutier: Forward dynamics: Elimination methods, and formulation stiffness in robot simulation, Int. J. Robotics Res. 16(6), 749–758 (1997)CrossRefGoogle Scholar
  65. 3.65
    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. Robotics Res. 18(9), 876–892 (1999)CrossRefGoogle Scholar
  66. 3.66
    MSC Software Corporation: Adams,
  67. 3.67
    T. Kane, D. Levinson: Autolev user's manual (OnLine Dynamics Inc., Sunnyvale 2005)Google Scholar
  68. 3.68
    Real-Time Physics Simulation: Bullet, (2015)
  69. 3.69
    Georgia Tech Graphics Lab and Humanoid Robotics Lab: DART, (2011)
  70. 3.70
    S. McMillan, D.E. Orin, R.B. McGhee: DynaMechs: An object oriented software package for efficient dynamic simulation of underwater robotic vehicles. In: Underwater Robotic Vehicles: Design and Control, ed. by J. Yuh (TSI Press, Albuquerque 1995) pp. 73–98Google Scholar
  71. 3.71
    Open Source Robotics Foundation: Gazebo, (2002)
  72. 3.72
    R. Smith: Open Dynamics Engine User Guide, (2006)
  73. 3.73
    Microsoft Corporation: Robotics Developer Studio, (2010)
  74. 3.74
    P.I. Corke: A robotics toolbox for MATLAB, IEEE Robotics Autom. Mag. 3(1), 24–32 (1996)CrossRefGoogle Scholar
  75. 3.75
    Robotran: (Center for Research in Mechatronics, Université catholique de Louvain 2015)
  76. 3.76
    J.C. Samin, P. Fisette: Symbolic Modeling of Multibody Systems (Kluwer, Dordrecht 2003)CrossRefzbMATHGoogle Scholar
  77. 3.77
    M.G. Hollars, D.E. Rosenthal, M.A. Sherman: SD/FAST User’s Manual (Symbolic Dynamics Inc., Mountain View 1994)Google Scholar
  78. 3.78
    M. Sherman, P. Eastman: Simbody, (2015)
  79. 3.79
    G.D. Wood, D.C. Kennedy: Simulating Mechanical Systems in Simulink with SimMechanics (MathWorks Inc., Natick 2003) Google Scholar
  80. 3.80
    W. Khalil, D. Creusot: SYMORO+: A system for the symbolic modeling of robots, Robotica 15, 153–161 (1997)CrossRefGoogle Scholar
  81. 3.81
    W. Khalil, A. Vijayalingam, B. Khomutenko, I. Mukhanov, P. Lemoine, G. Ecorchard: OpenSYMORO: An open-source software package for symbolic modelling of robots, Proc. IEEE/ASME Int. Conf. Adv. Intell. Mechatron. (2014) pp. 126–1211Google Scholar
  82. 3.82
    Cyberbotics Ltd.: Webots User Guide, (2015)
  83. 3.83
    I.C. Brown, P.J. Larcombe: A survey of customised computer algebra programs for multibody dynamic modelling. In: Symbolic Methods in Control System Analysis and Design, ed. by N. Munro (Inst. Electr. Eng., London 1999) pp. 53–77CrossRefGoogle Scholar
  84. 3.84
    J.J. Murray, C.P. Neuman: ARM: An algebraic robot dynamic modeling program, Proc. IEEE Int. Conf. Robotics Autom., Atlanta (1984) pp. 103–114Google Scholar
  85. 3.85
    J.J. Murray, C.P. Neuman: Organizing customized robot dynamic algorithms for efficient numerical evaluation, IEEE Trans. Syst. Man Cybern. 18(1), 115–125 (1988)CrossRefGoogle Scholar
  86. 3.86
    F.C. Park, J. Choi, S.R. Ploen: Symbolic formulation of closed chain dynamics in independent coordinates, Mech. Mach. Theory 34, 731–751 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  87. 3.87
    M. Vukobratovic, N. Kircanski: Real-Time Dynamics of Manipulation Robots (Springer, New York 1985)CrossRefzbMATHGoogle Scholar
  88. 3.88
    J. Wittenburg, U. Wolz: Mesa Verde: A symbolic program for nonlinear articulated-rigid-body dynamics, ASME Des. Eng. Div. Conf., Cincinnati (1985) pp. 1–8, ASME Paper No. 85-DET-151Google Scholar
  89. 3.89
    J.Y.S. Luh, C.S. Lin: Scheduling of parallel computation for a computer-controlled mechanical manipulator, IEEE Trans. Syst. Man Cybern. 12(2), 214–234 (1982)CrossRefGoogle Scholar
  90. 3.90
    D.E. Orin: Pipelined approach to inverse plant plus jacobian control of robot manipulators, Proc. IEEE Int. Conf. Robotics Autom., Atlanta (1984) pp. 169–175Google Scholar
  91. 3.91
    R.H. Lathrop: Parallelism in manipulator dynamics, Int. J. Robotics Res. 4(2), 80–102 (1985)CrossRefGoogle Scholar
  92. 3.92
    C.S.G. Lee, P.R. Chang: Efficient parallel algorithm for robot inverse dynamics computation, IEEE Trans. Syst. Man Cybern. 16(4), 532–542 (1986)CrossRefGoogle Scholar
  93. 3.93
    M. Amin-Javaheri, D.E. Orin: Systolic architectures for the manipulator inertia matrix, IEEE Trans. Syst. Man Cybern. 18(6), 939–951 (1988)CrossRefzbMATHGoogle Scholar
  94. 3.94
    C.S.G. Lee, P.R. Chang: Efficient parallel algorithms for robot forward dynamics computation, IEEE Trans. Syst. Man Cybern. 18(2), 238–251 (1988)MathSciNetCrossRefGoogle Scholar
  95. 3.95
    M. Amin-Javaheri, D.E. Orin: Parallel algorithms for computation of the manipulator inertia matrix, Int. J. Robotics Res. 10(2), 162–170 (1991)CrossRefGoogle Scholar
  96. 3.96
    A. Fijany, A.K. Bejczy: A class of parallel algorithms for computation of the manipulator inertia matrix, IEEE Trans. Robotics Autom. 5(5), 600–615 (1989)CrossRefGoogle Scholar
  97. 3.97
    S. McMillan, P. Sadayappan, D.E. Orin: Parallel dynamic simulation of multiple manipulator systems: Temporal versus spatial methods, IEEE Trans. Syst. Man Cybern. 24(7), 982–990 (1994)CrossRefGoogle Scholar
  98. 3.98
    A. Fijany, I. Sharf, G.M.T. D'Eleuterio: Parallel O(logN) algorithms for computation of manipulator forward dynamics, IEEE Trans. Robotics Autom. 11(3), 389–400 (1995)CrossRefGoogle Scholar
  99. 3.99
    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. Robotics Res. 18(9), 867–875 (1999)CrossRefGoogle Scholar
  100. 3.100
    R. Featherstone, A. Fijany: A technique for analyzing constrained rigid-body systems and its application to the constraint force algorithm, IEEE Trans. Robotics Autom. 15(6), 1140–1144 (1999)CrossRefGoogle Scholar
  101. 3.101
    P.S. Freeman, D.E. Orin: Efficient dynamic simulation of a quadruped using a decoupled tree-structured approach, Int. J. Robotics Res. 10, 619–627 (1991)CrossRefGoogle Scholar
  102. 3.102
    Y. Nakamura, K. Yamane: Dynamics computation of structure-varying kinematic chains and its application to human figures, IEEE Trans. Robotics Autom. 16(2), 124–134 (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  1. 1.Department of Information EngineeringThe Australian National UniversityCanberraAustralia
  2. 2.Department of Electrical and Computer EngineeringThe Ohio State UniversityColumbusUSA

Personalised recommendations