Skip to main content
Log in

Dynamics of serial kinematic chains with large number of degrees-of-freedom

  • Published:
Multibody System Dynamics Aims and scope Submit manuscript

Abstract

This paper investigates the dynamic behaviour of serial chains with degrees-of-freedom (DOF) as large as 100,000. A recursive solver called Recursive Dynamic Simulator (ReDySim), based on the Newton–Euler formulation and the Decoupled Natural Orthogonal Complement (DeNOC) matrices, was used to simulate the dynamics of these systems. Planar, as well as spatial motions of chains with moderate- (DOF≤1,000), large- (1,000<DOF≤10,000), and huge- (DOF>10,000) DOF were simulated. The results were validated by several means, such as comparisons with reported results wherever available, results obtained from commercial software, energy checks, etc. The study shows that ReDySim is capable of analysing serial chains of huge-DOF with acceptable numerical accuracy. The scheme is found to be numerically stable as well as computationally efficient, owing to the linear-time computation of the joint accelerations. Numerical studies were conducted to establish the theoretical basis for better performance of the proposed ReDySim solver. With the demonstrated capabilities of ReDySim, it may be found suitable for a large number of applications involving serial systems with huge-DOF.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

References

  1. Spong, M.W., Vidyasagar, M.: Robot Dynamics and Control. Wiley, New York (1989)

    Google Scholar 

  2. Nakamura, Y.: Advanced Robotics: Redundancy and Optimization. Addison Wesley, Reading (1991)

    Google Scholar 

  3. Vold, H.I., Karlen, J.P., Thompson, J.M., Farrell, J.D., Eismann, P.H.: A 17 degree of freedom anthropomorphic manipulator. In: Proceedings of NASA Conference on Space Telerobotics, vol. 1, pp. 19–28 (1989)

    Google Scholar 

  4. Geradin, M., Cardona, A.: Flexible Multibody Dynamics—A Finite Element Approach. Wiley, New York (2001)

    Google Scholar 

  5. Gerstmayr, J., Schoberl, J.: A 3D finite element method for flexible multibody systems. Multibody Syst. Dyn. 15, 309–324 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  6. Fritzkowski, P., Kamiński, H.: Dynamics of a rope as a rigid multibody system. J. Mech. Mater. Struct. 3(6), 1059–1075 (2008)

    Article  Google Scholar 

  7. Featherstone, R.: An empirical study of the joint space inertia matrix. Int. J. Robot. Res. 23(9), 859–871 (2005)

    Article  Google Scholar 

  8. Featherstone, R.: 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, 876–892 (1999)

    Article  Google Scholar 

  9. Yamane, K., Nakamura, Y.: Parallel O(logN) algorithm for dynamics simulation of humanoid robots. In: 6th IEEE-RAS International Conference on Humanoid Robots (2006)

    Google Scholar 

  10. Malczyk, P., Fraczek, J.: Cluster computing of mechanisms dynamics using recursive formulation. Multibody Syst. Dyn. 20(2), 177–196 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  11. Ascher, U.M., Pai, D.K., Cloutier, B.P.: Forward dynamics elimination methods, and formulation stiffness in robot simulation. Int. J. Robot. Res. 16(6), 749–758 (1997)

    Article  Google Scholar 

  12. Tomaszewski, W., Pieranski, P., Geminard, J.: The motion of a freely falling chain tip. Am. J. Phys. 74(9), 776–783 (2006)

    Article  Google Scholar 

  13. Aglietti, G.: Dynamic response of a high-altitude tethered balloon system. J. Aircr. 46(6), 2032–2040 (2009)

    Article  Google Scholar 

  14. Calkin, M.G., March, R.H.: The dynamics of a falling chain: I. Am. J. Phys. 57, 154–157 (1989)

    Article  Google Scholar 

  15. Fritzkowski, P., Kamiński, H.: Dynamics of a rope modelled as a discrete system with extensible members. Comput. Mech. 44, 473–480 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  16. Fritzkowski, P., Kamiński, H.: Dynamics of a rope modelled as a multi-body system with elastic joints. Comput. Mech. 46(6), 901–909 (2010)

    Article  MATH  MathSciNet  Google Scholar 

  17. Gatti, C., Perkins, N.: Physical and numerical modeling of the dynamic behaviour of a fly line. J. Sound Vib. 255(3), 555–577 (2002)

    Article  Google Scholar 

  18. Hembree, B., Slegers, N.: Efficient tether dynamic model formulation using recursive rigid-body dynamics. Proc. Inst. Mech. Eng., Proc., Part K, J. Multi-Body Dyn. 224, 353–363 (2010)

    Article  Google Scholar 

  19. Kamman, J., Huston, R.: Multibody dynamics modeling of variable length cable systems. Multibody Syst. Dyn. 5, 211–221 (2001)

    Article  MATH  Google Scholar 

  20. Robson, J.M.: The physics of fly casting. Am. J. Phys. 58, 234–240 (1990)

    Article  Google Scholar 

  21. Schagerl, M., Steindl, A., Steiner, W., Troger, H.: On the paradox of the free falling folded chain. Acta Mech. 125, 155–168 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  22. Wong, C., Yasu, K.: Falling chains. Phys. Rev. Lett. 74(6), 490–496 (2006)

    Google Scholar 

  23. Shah, S.V., Saha, S.K., Dutt, J.K.: Dynamic of Tree-Type Robotic Systems. Springer, Dordrecht (2013)

    Book  Google Scholar 

  24. Function Bay Inc.: RecurDyn, Version 7.4 (2009)

  25. Strang, G.: Linear Algebra and Its Applications. Harcourt Brace Jovanovich, San Diego (1998)

    Google Scholar 

  26. Saha, S.K.: A decomposition of the manipulator inertia matrix. IEEE Trans. Robot. Autom. 13(2), 301–304 (1997)

    Article  Google Scholar 

  27. Saha, S.K.: Analytical expression for the inverted inertia matrix of serial robots. Int. J. Robot. Res. 18(1), 116–124 (1999)

    Google Scholar 

  28. MathWorks Inc.: MATLAB, Version 7.4, Release 2009a (2009)

  29. Saha, S.K.: Dynamics of serial multibody systems using the decoupled natural orthogonal complement matrices. J. Appl. Mech. 66, 986–996 (1999)

    Article  Google Scholar 

  30. Shah, S.V., Saha, S.K., Dutt, J.K.: Denavit–Hartenberg (DH) parametrization of Euler angles. J. Comput. Nonlinear Dyn. 7(2), 1–10 (2012)

    Article  Google Scholar 

  31. Mohan, A., Saha, S.K.: A recursive, numerically stable, and efficient algorithm for serial robots. Multibody Syst. Dyn. 17(4), 291–319 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  32. Weisstein, E.W.: Catenary. MathWorld—a Wolfram Web resource. http://mathworld.wolfram.com/Catenary.html. Accessed 31 March 2012 (2012)

  33. Shampine, L.F., Gear, C.W.: A user’s view of solving stiff ordinary differential equations. SIAM Rev. 21(1), 1–17 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  34. Lilly, K.W.: Efficient Dynamic Simulation of Robotic Mechanisms. Kluwer Academic, Boston (1993)

    Book  MATH  Google Scholar 

  35. Higham, N.J.: Accuracy and Stability of Numerical Algorithms. SIAM, Philadelphia (2002)

    Book  MATH  Google Scholar 

  36. Poole, G., Larry Neal, L.: A geometric analysis of Gaussian elimination. I. Linear Algebra Appl. 149, 249–272 (1991)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Acknowledgements

The authors acknowledge the Naren Gupta Chair Professor fund of the last author at IIT Delhi, which was used to support the second author to conduct this research. Anonymous reviewers are also thanked for their constructive comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to S. K. Saha.

Appendix

Appendix

1.1 A.1 Recursive O(n) forward dynamics

In this section, outline of the recursive O(n) forward dynamics algorithm implemented in Recursive Dynamics Simulator (ReDySim) solver and used for the simulation of chains with large-DOF are presented. The algorithm is based on the UDU T decomposition of the GIM [27] using analytical Reverse Gaussian Elimination, denoted by RGE-A. The forward dynamics essentially involves the calculation of joint accelerations from Eq. (9) as

$$\begin{aligned} \ddot{\mathbf{q}} = \mathbf{I}^{ - 1}\boldsymbol{\varphi},\quad\mbox{where } \boldsymbol{\varphi}= \boldsymbol{\tau}- \mathbf{C}\dot{\mathbf{q}}. \end{aligned}$$
(A.1)

Using the decomposition I=UDU T, the equations of motion, Eq. (A.1), are rewritten as follows:

$$\begin{aligned} \mathbf{UDU}^{T}\ddot{\mathbf{q}} = \boldsymbol{\varphi}, \end{aligned}$$
(A.2)

where U and D, the n×n block upper-triangular and diagonal matrices, respectively. They have the following representations:

$$\begin{aligned} \mathbf{U} \equiv \left [ \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} \mathbf{1} & \mathbf{U}_{1,2} & \ldots & \mathbf{U}_{1,n_{l}} \\ & \mathbf{1} & & \vdots \\ & & \ddots & \mathbf{U}_{n_{l} -1,n_{l}} \\ \mathbf{O}\mbox{'s} & & & \mathbf{1} \end{array} \right ]\quad\mbox{and} \quad \mathbf{D}\equiv \left [ \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} \hat{\mathbf{I}}_{1} & & \mathbf{O}\mbox{'s} \\ &\ddots & \\ \mathbf{O}\mbox{'s} & & \hat{\mathbf{I}}_{n_{l}} \end{array} \right ]. \end{aligned}$$
(A.3)

In Eq. (A.3), U k,j and \(\hat{\mathbf{I}}_{k}\) are the z k ×z j and z k ×z k matrices, which are scalars for one-DOF jointed chains, as shown in [26, 27]. The matrices U k,j and \(\hat{\mathbf{I}}_{k}\) are given by

$$ \begin{aligned} \mathbf{U}_{k,j} &\equiv \mathbf{P}_{k}^{T}\mathbf{A}_{j,k}^{T}\boldsymbol{\Psi}_{j},\\ \hat{\mathbf{I}}_{k} &\equiv \mathbf{P}_{k}^{T}\hat{\boldsymbol{\Psi}}_{k}, \end{aligned} $$
(A.4)

where the 6×z k matrices Ψ k and \(\hat{\boldsymbol{\Psi}}_{k}\) are as follows:

$$\begin{aligned} \boldsymbol{\Psi}_{k} = \hat{\boldsymbol{\Psi}}_{k}\hat{ \mathbf{I}}_{k}^{ - 1} \quad\mbox{and}\quad \hat{\boldsymbol{\Psi}}_{k} = \hat{ \mathbf{M}}_{k}\mathbf{P}_{k}. \end{aligned}$$
(A.5)

In Eq. (A.5), the 6×6 matrix \(\hat{\mathbf{M}}_{k}\) contains the mass and inertia properties of the articulated-body #k [23]. The matrix \(\hat{\mathbf{M}}_{k}\) is computed as follows:

$$\begin{aligned} \hat{\mathbf{M}}_{k} = \mathbf{M}_{k} + \mathbf{A}_{k + 1,k}^{T}\hat{\mathbf{M}}_{k + 1,k + 1} \mathbf{A}_{k + 1,k}, \end{aligned}$$
(A.6)

where \(\hat{\mathbf{M}}_{n} \equiv \mathbf{M}_{n}\). Moreover, the 6×6 matrix \(\hat{\mathbf{M}}_{k + 1,k + 1}\) in Eq. (A.6) is obtained as

$$\begin{aligned} \hat{\mathbf{M}}_{k + 1,k + 1} = \hat{\mathbf{M}}_{k + 1} - \hat{\boldsymbol{\Psi}}_{k + 1}\boldsymbol{\Psi}_{k + 1}^{T}. \end{aligned}$$
(A.7)

The joint accelerations are then obtained using three sets of linear algebraic equations, namely

$$\begin{aligned} \mathrm{(i)}\, \ \ \quad &\mathbf{U}\hat{\boldsymbol{\varphi}} = \boldsymbol{\varphi},\quad\mbox{where } \hat{\boldsymbol{\varphi}} \equiv \mathbf{DU}^{T}\ddot{\mathbf{q}}, \\ \mathrm{(ii)}\,\ \quad &\mathbf{D}\tilde{\boldsymbol{\varphi}} = \hat{\boldsymbol{\varphi}},\quad\mbox{where } \tilde{\boldsymbol{\varphi}} \equiv \mathbf{U}^{T}\ddot{\mathbf{q}}, \\ \mathrm{(iii)}\quad& \mathbf{U}^{T}\ddot{\mathbf{q}} = \tilde{\boldsymbol{\varphi}}. \end{aligned}$$
(A.8)

From Eq. (A.8), the recursive algorithm, comprising of the backward recursions arising from steps (i) and (ii), and forward recursions, arising from step (iii), is summarised in Table 12. It is assumed in Table 12 that the vector φ, comprised of the external joint torques and those due to Coriolis and centripetal accelerations, is calculated using an O(n) inverse dynamic algorithm after setting \(\ddot{\boldsymbol{\theta}} = \mathbf{0}\), as shown in [29]. The effect of gravity can be taken into consideration during the inverse dynamics calculations by adding the gravitational acceleration vector into the twist-rate of the first link. Table 12 explains the steps involved in forward dynamic calculations.

Table 12 Forward dynamic algorithm [23]

1.2 A.2 Geometric interpretations of GE and RGE

After GE-N, which is denoted here with simply GE as no numerical aspect is emphasised, the GIM of Eq. (10a) is converted to an equivalent upper triangular matrix during the annihilations or sweep-out phase, whereas the solution of the joint accelerations is obtained using backward substitution as

$$\begin{aligned} \mathrm{GE}: \quad\mathbf{I}\ddot{\mathbf{q}} = \boldsymbol{\varphi}\quad \mathop{\Rightarrow}^{\mathrm{Phase~1}}\quad\mathbf{U}\ddot{\mathbf{q}} = \bar{\boldsymbol{\varphi}}\quad \mathop{\Rightarrow}^{\mathrm{Phase~2}}\quad\ddot{\mathbf{q}} = \mathbf{U}^{ - 1}\bar{\boldsymbol{\varphi}}. \end{aligned}$$
(A.9)

The matrix representing multipliers in the sweep-out phase is a lower triangular matrix such that I=LU [25]. Therefore, after GE of the GIM, κ 2(L) and κ 2(U) will give an estimate of the accuracy of the sweep-out and backward substitution phases, respectively. The matrices L and U, corresponding to the GIM I(0) in Table 9, and their condition numbers are shown in Table 13. On the contrary, in RGE-N or RGE-A, which are denoted here by RGE only because no numerical or analytical aspect is emphasised, the GIM of Eq. (10a) is converted into an equivalent lower triangular matrix during the sweep-out phase, and the solution of the joint accelerations are obtained using forward substitution as

$$\begin{aligned} \mathrm{RGE}:\quad \mathbf{I}\ddot{\mathbf{q}} = \boldsymbol{\varphi}\quad \mathop{\Rightarrow}^{\mathrm{Phase~1}}\quad \mathbf{L}'\ddot{\mathbf{q}} = \boldsymbol{\varphi}'\quad \mathop{\Rightarrow}^{\mathrm{Phase~2}}\quad\ddot{\mathbf{q}} = \mathbf{L}'^{ - 1}\boldsymbol{\varphi}'. \end{aligned}$$
(A.10)
Table 13 Condition number of the matrices resulting out GE and RGE

In RGE, the matrix representing multipliers of the sweep-out phase is an upper triangular matrix such that I=U′L′. The matrices U′ and L′ and their condition numbers are also given in Table 13.

It can be seen from Table 13 that the condition number of L after GE is κ 2(L)=2.17, which ensures the accuracy of the sweep-out phase. However, the condition number of U, κ 2(U)=223.11, makes backward substitution phase inaccurate or sensitive to small error in the right-hand side, as shown in Table 9. On the other hand, in RGE, κ 2(U′)=21.46 while κ 2(L′)=15.15. Hence, both the phases have low sensitivity to deviations in the right-hand sides, thereby, giving better solution to the system of linear equations.

This above fact was also supported in [36], where it was shown geometrically that the use of partial pivoting to achieve stability in sweep-out phase may reorient the planes such that it makes substitution phase highly inaccurate. Hence, geometric analysis of both GE and RGE was performed. Figure 20(a–c) show the planes of the original system, \(\mathbf{I}\ddot{\mathbf{q}} = \boldsymbol{\varphi}\), and reoriented systems \(\mathbf{U}\ddot{\mathbf{q}} = \bar{\boldsymbol{\varphi}}\) due to GE of the GIM and \(\mathbf{L}'\ddot{\mathbf{q}} = \boldsymbol{\varphi}\mathbf{ }\boldsymbol{'}\) due to RGE. Figure 20(a) shows that the original system is poorly oriented as the angles between them are small. The GE does not make the situation better as planes 2 and 3 are still poorly oriented, as shown in Fig. 20(b). As GE starts backward substitution with calculation of \(\ddot{q}_{3}\), small deviation in \(\ddot{q}_{3}\) (orientation of plane 3) causes large changes in \(\ddot{q}_{2}\) and \(\ddot{q}_{1}\). On the other hand, RGE of the GIM, as shown in Fig. 20(c), makes the orientation of the plane favourable for forward substitution as the angle between the planes is higher. Hence, small deviations in \(\ddot{q}_{1}\) do not result into large changes in \(\ddot{q}_{2}\) and \(\ddot{q}_{3}\).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Agarwal, A., Shah, S.V., Bandyopadhyay, S. et al. Dynamics of serial kinematic chains with large number of degrees-of-freedom. Multibody Syst Dyn 32, 273–298 (2014). https://doi.org/10.1007/s11044-013-9386-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11044-013-9386-3

Keywords

Navigation