• Roy Featherstone
  • David E. Orin


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 tensors.

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 access.



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. 2.1.
    R. Featherstone: The Calculation of Robot Dynamics using Articulated-Body Inertias, Int. J. Robot. Res. 2(1), 13–30 (1983)CrossRefGoogle Scholar
  2. 2.2.
    J.J. Craig: Introduction to Robotics: Mechanics and Control, 3rd edn. (Pearson Prentice Hall, Upper Saddle River, NJ 2005)Google Scholar
  3. 2.3.
    R.E. Roberson, R. Schwertassek: Dynamics of Multibody Systems (Springer-Verlag, Berlin/Heidelberg/New York 1988)zbMATHGoogle Scholar
  4. 2.4.
    J.Y.S. Luh, M.W. Walker, R.P.C. Paul: On-Line Computational Scheme for Mechanical Manipulators, Trans. ASME J. Dyn. Syst. Measur. Control 102(2), 69–76 (1980)CrossRefMathSciNetGoogle Scholar
  5. 2.5.
    M.W. Walker, D.E. Orin: Efficient Dynamic Computer Simulation of Robotic Mechanisms, Trans. ASME J. Dyn. Syst. Measur. Control 104, 205–211 (1982)CrossRefzbMATHGoogle Scholar
  6. 2.6.
    D. Baraff: Linear-Time Dynamics using Lagrange Multipliers, Proc. SIGGRAPH ʼ96 (New Orleans 1996) pp. 137–146Google Scholar
  7. 2.7.
    J. Baumgarte: Stabilization of Constraints and Integrals of Motion in Dynamical Systems, Comput. Methods Appl. Mech. Eng. 1, 1–16 (1972)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 2.8.
    R. Featherstone: Rigid Body Dynamics Algorithms (Springer, Berlin, Heidelberg 2007)Google Scholar
  9. 2.9.
    R.M. Murray, Z. Li, S.S. Sastry: A Mathematical Introduction to Robotic Manipulation (CRC, Boca Raton, FL 1994)zbMATHGoogle Scholar
  10. 2.10.
    J. Angeles: Fundamentals of Robotic Mechanical Systems, 2nd edn. (Springer-Verlag, New York 2003)CrossRefGoogle Scholar
  11. 2.11.
    R.S. Ball: A Treatise on the Theory of Screws (Cambridge Univ. Press, London 1900), Republished (1998)Google Scholar
  12. 2.12.
    J.M. Selig: Geometrical Methods in Robotics (Springer, New York 1996)zbMATHGoogle Scholar
  13. 2.13.
    D.T. Greenwood: Principles of Dynamics (Prentice-Hall, Englewood Cliffs, NJ 1988)Google Scholar
  14. 2.14.
    F.C. Moon: Applied Dynamics (Wiley, New York 1998)CrossRefzbMATHGoogle Scholar
  15. 2.15.
    R. Featherstone: Robot Dynamics Algorithms (Kluwer Academic, Boston 1987)Google Scholar
  16. 2.16.
    S. McMillan, D.E. Orin: Efficient Computation of Articulated-Body Inertias Using Successive Axial Screws, IEEE Trans. Robot. Autom. 11, 606–611 (1995)CrossRefGoogle Scholar
  17. 2.17.
    L. Sciavicco, B. Siciliano: Modeling and Control of Robot Manipulators, 2nd edn. (Springer, London 2000)Google Scholar
  18. 2.18.
    J. Slotine, W. Li: On the Adaptive Control of Robot Manipulators, Int. J. Robot. Res. 6(3), 49–59 (1987)CrossRefGoogle Scholar
  19. 2.19.
    K.S. Chang, O. Khatib: Operational Space Dynamics: Efficient Algorithms for Modeling and Control of Branching Mechanisms. In: Proc. of IEEE International Conference on Robotics and Automation (San Francisco 2000) pp. 850–856Google Scholar
  20. 2.20.
    O. Khatib: A Unified Approach to Motion and Force Control of Robot Manipulators: The Operational Space Formulation, IEEE J. Robot. Autom. 3(1), 43–53 (1987)CrossRefGoogle Scholar
  21. 2.21.
    Y.F. Zheng, H. Hemami: Mathematical Modeling of a Robot Collision with its Environment, J. Robot. Syst. 2(3), 289–307 (1985)CrossRefGoogle Scholar
  22. 2.22.
    W. Khalil, E. Dombre: Modeling, Identification and Control of Robots (Taylor & Francis, New York 2002)Google Scholar
  23. 2.23.
    J. Denavit, R.S. Hartenberg: A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices, J. Appl. Mech. 22, 215–221 (1955)zbMATHMathSciNetGoogle Scholar
  24. 2.24.
    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. In: Proc. of IFAC/IFIP/IMACS International Symposium on Theory of Robots, (Vienna 1986)Google Scholar
  25. 2.25.
    R. Featherstone: Efficient Factorization of the Joint Space Inertia Matrix for Branched Kinematic Trees, Int. J. Robot. Res. 24(6), 487–500 (2005)CrossRefGoogle Scholar
  26. 2.26.
    R. Featherstone: An Empirical Study of the Joint Space Inertia Matrix, Int. J. Robot. Res. 23(9), 859–871 (2004)CrossRefGoogle Scholar
  27. 2.27.
    K. Kreutz-Delgado, A. Jain, G. Rodriguez: Recursive Formulation of Operational Space Control, Proc. of IEEE International Conference on Robotics and Automation (Sacramento, CA April 1991) pp. 1750–1753CrossRefGoogle Scholar
  28. 2.28.
    K.W. Lilly: Efficient Dynamic Simulation of Robotic Mechanisms (Kluwer Academic, Norwell, MA 1993)zbMATHGoogle Scholar
  29. 2.29.
    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
  30. 2.30.
    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
  31. 2.31.
    J. Wittenburg: Dynamics of Systems of Rigid Bodies (B.G. Teubner, Stuttgart 1977)zbMATHGoogle Scholar
  32. 2.32.
    R. Featherstone, D.E. Orin: Robot Dynamics: Equations and Algorithms. In: Proc. of IEEE International Conference on Robotics and Automation, (San Francisco, April 2000) pp. 826–834Google Scholar
  33. 2.33.
    C.A. Balafoutis, R.V. Patel: Dynamic Analysis of Robot Manipulators: A Cartesian Tensor Approach (Kluwer Academic, Boston 1991)zbMATHGoogle Scholar
  34. 2.34.
    L.W. Tsai: Robot Analysis and Design: The Mechanics of Serial and Parallel Manipulators (Wiley, New York 1999)Google Scholar
  35. 2.35.
    K. Yamane: Simulating and Generating Motions of Human Figures (Springer, Berlin 2004)zbMATHGoogle Scholar
  36. 2.36.
    F.M.L. Amirouche: Fundamentals of Multibody Dynamics: Theory and Applications (Birkhäuser, Boston 2006)zbMATHGoogle Scholar
  37. 2.37.
    M.G. Coutinho: Dynamic Simulations of Multibody Systems (Springer, New York 2001)zbMATHGoogle Scholar
  38. 2.38.
    E.J. Haug: Computer Aided Kinematics and Dynamics of Mechanical Systems (Allyn and Bacon, Boston, MA 1989)Google Scholar
  39. 2.39.
    R.L. Huston: Multibody Dynamics (Butterworths, Boston 1990)Google Scholar
  40. 2.40.
    A.A. Shabana: Computational Dynamics, 2nd edn. (Wiley, New York 2001)zbMATHGoogle Scholar
  41. 2.41.
    V. Stejskal, M. Valášek: Kinematics and Dynamics of Machinery (Marcel Dekker, New York 1996)Google Scholar
  42. 2.42.
    L. Brand: Vector and Tensor Analysis, 4th edn. (Wiley/Chapman and Hall, New York/London 1953)Google Scholar
  43. 2.43.
    F.C. Park, J.E. Bobrow, S.R. Ploen: A Lie Group Formulation of Robot Dynamics, Int. J. Robot. Res. 14(6), 609–618 (1995)CrossRefGoogle Scholar
  44. 2.44.
    M.E. Kahn, B. Roth: The Near Minimum-time Control of Open-loop Articulated Kinematic Chains, J. Dyn. Syst. Measur. Control 93, 164–172 (1971)CrossRefGoogle Scholar
  45. 2.45.
    J.J. Uicker: Dynamic Force Analysis of Spatial Linkages, Trans. ASME J. Appl. Mech. 34, 418–424 (1967)Google Scholar
  46. 2.46.
    A. Jain: Unified Formulation of Dynamics for Serial Rigid Multibody Systems, J. Guid. Control Dyn. 14(3), 531–542 (1991)CrossRefzbMATHGoogle Scholar
  47. 2.47.
    G. Rodriguez: Kalman Filtering, Smoothing, and Recursive Robot Arm Forward and Inverse Dynamics, IEEE J. Robot. Autom. RA-3(6), 624–639 (1987)CrossRefGoogle Scholar
  48. 2.48.
    G. Rodriguez, A. Jain, K. Kreutz-Delgado: A Spatial Operator Algebra for Manipulator Modelling and Control, Int. J. Robot. Res. 10(4), 371–381 (1991)CrossRefGoogle Scholar
  49. 2.49.
    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)CrossRefMathSciNetGoogle Scholar
  50. 2.50.
    M.W. Spong, S. Hutchinson, M. Vidyasagar: Robot Modeling and Control (Wiley, Hoboken, NJ 2006)Google Scholar
  51. 2.51.
    K.W. Buffinton: Kaneʼs Method in Robotics. In: Robotics and Automation Handbook, ed. by T.R. Kurfess (CRC, Boca Raton, FL 2005), 6-1 to 6-31Google Scholar
  52. 2.52.
    T.R. Kane, D.A. Levinson: The Use of Kaneʼs Dynamical Equations in Robotics, Int. J. Robot. Res. 2(3), 3–21 (1983)CrossRefGoogle Scholar
  53. 2.53.
    C.A. Balafoutis, R.V. Patel, P. Misra: Efficient Modeling and Computation of Manipulator Dynamics Using Orthogonal Cartesian Tensors, IEEE J. Robot. Autom. 4, 665–676 (1988)CrossRefGoogle Scholar
  54. 2.54.
    X. He, A.A. Goldenberg: An Algorithm for Efficient Computation of Dynamics of Robotic Manipulators. In: Proc. of Fourth International Conference on Advanced Robotics, (Columbus, OH, 1989) pp. 175–188Google Scholar
  55. 2.55.
    W. Hu, D.W. Marhefka, D.E. Orin: Hybrid Kinematic and Dynamic Simulation of Running Machines, IEEE Trans. Robot. 21(3), 490–497 (2005)CrossRefGoogle Scholar
  56. 2.56.
    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
  57. 2.57.
    K.W. Lilly, D.E. Orin: Alternate Formulations for the Manipulator Inertia Matrix, Int. J. Robot. Res. 10, 64–74 (1991)CrossRefGoogle Scholar
  58. 2.58.
    S. McMillan, D.E. Orin: Forward dynamics of multilegged vehicles using the composite rigid body method, Proc. IEEE International Conference on Robotics and Automation (1998) pp. 464–470Google Scholar
  59. 2.59.
    U.M. Ascher, D.K. Pai, B.P. Cloutier: Forward Dynamics: Elimination Methods, and Formulation Stiffness in Robot Simulation, Int. J. Robot. Res. 16(6), 749–758 (1997)CrossRefGoogle Scholar
  60. 2.60.
    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)CrossRefGoogle Scholar
  61. 2.61.
    MSC Software Corporation: Adams, [On-line] (Nov. 12 2007)Google Scholar
  62. 2.62.
    T. Kane, D. Levinson: Autolev Userʼs Manual (OnLine Dynamics Inc., 2005)Google Scholar
  63. 2.63.
    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, NM 1995) pp. 73–98Google Scholar
  64. 2.64.
    R. Smith: Open Dynamics Engine User Guide, Available online: (Nov. 12 2007)Google Scholar
  65. 2.65.
    Microsoft Corporation: Robotics Studio [On-line] (Nov. 12 2007)Google Scholar
  66. 2.66.
    P.I. Corke: A Robotics Toolbox for MATLAB, IEEE Robot. Autom. Mag. 3(1), 24–32 (1996)CrossRefGoogle Scholar
  67. 2.67.
    M.G. Hollars, D.E. Rosenthal, M.A. Sherman: SD/FAST Userʼs Manual (Symbolic Dynamics Inc., 1994)Google Scholar
  68. 2.68.
    G.D. Wood, D.C. Kennedy: Simulating Mechanical Systems in Simulink with SimMechanics (MathWorks Inc., 2003)Google Scholar
  69. 2.69.
    Cyberbotics Ltd.: Webots User Guide, Available online: (Nov. 8 2007)Google Scholar
  70. 2.70.
    I.C. Brown, P.J. Larcombe: A Survey of Customised Computer Algebra Programs for Multibody Dynamic Modelling. In: The Use of Symbolic Methods in Control System Analysis and Design, ed. by N. Munro (The Institute of Engineering and Technology, London 1999) pp. 53–77Google Scholar
  71. 2.71.
    J.J. Murray, C.P. Neuman: ARM: An algebraic robot dynamic modeling program. In: Proc. of IEEE International Conference on Robotics and Automation, Atlanta, Georgia, March (1984) pp. 103–114Google Scholar
  72. 2.72.
    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
  73. 2.73.
    F.C. Park, J. Choi, S.R. Ploen: Symbolic Formulation of Closed Chain Dynamics in Independent Coordinates, Mech. Machine Theory 34, 731–751 (1999)CrossRefzbMATHMathSciNetGoogle Scholar
  74. 2.74.
    M. Vukobratovic, N. Kircanski: Real-time Dynamics of Manipulation Robots. In: Scientific Fundamentals of Robotics, Vol. 4 (Springer-Verlag, New York 1985)Google Scholar
  75. 2.75.
    J. Wittenburg, U. Wolz: Mesa Verde: A Symbolic Program for Nonlinear Articulated-Rigid-Body Dynamics. In: ASME Design Engineering Division Conference and Exhibit on Mechanical Vibration and Noise, Cincinnati, Ohio, ASME Paper No. 85-DET-151, 1-8, September (1985)Google Scholar
  76. 2.76.
    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
  77. 2.77.
    D.E. Orin: Pipelined Approach to Inverse Plant Plus Jacobian Control of Robot Manipulators. In: Proc. of IEEE International Conference on Robotics and Automation, Atlanta, Georgia, 169–175, March (1984)Google Scholar
  78. 2.78.
    R.H. Lathrop: Parallelism in Manipulator Dynamics, Int. J. Robot. Res. 4(2), 80–102 (1985)CrossRefGoogle Scholar
  79. 2.79.
    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
  80. 2.80.
    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
  81. 2.81.
    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)CrossRefMathSciNetGoogle Scholar
  82. 2.82.
    M. Amin-Javaheri, D.E. Orin: Parallel Algorithms for Computation of the Manipulator Inertia Matrix, Int. J. Robot. Res. 10(2), 162–170 (1991)CrossRefGoogle Scholar
  83. 2.83.
    A. Fijany, A.K. Bejczy: A Class of Parallel Algorithms for Computation of the Manipulator Inertia Matrix, IEEE Trans. Robot. Autom. 5(5), 600–615 (1989)CrossRefGoogle Scholar
  84. 2.84.
    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
  85. 2.85.
    A. Fijany, I. Sharf, G.M.T. DʼEleuterio: Parallel O(logN) Algorithms for Computation of Manipulator Forward Dynamics, IEEE Trans. Robot. Autom. 11(3), 389–400 (1995)CrossRefGoogle Scholar
  86. 2.86.
    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)CrossRefGoogle Scholar
  87. 2.87.
    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
  88. 2.88.
    P.S. Freeman, D.E. Orin: Efficient Dynamic Simulation of a Quadruped Using a Decoupled Tree-Structured Approach, Int. J. Robot. Res. 10, 619–627 (1991)CrossRefGoogle Scholar
  89. 2.89.
    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

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

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

Personalised recommendations