Dynamics of Serial Kinematic Chains with Large Number...

30
1 Dynamics of Serial Kinematic Chains with Large Number of Degrees-of-Freedom A. Agarwal 1 , S. V. Shah 2 , S. Bandyopadhyay 3 and S. K. Saha 4 1 Systemantics India Pvt. Ltd, Bangalore, INDIA 2 Robotics Research Centre, International Institute of Information Technology (IIIT) Hyderabad, 500 032, INDIA 3 Department of Engineering Design, Indian Institute of Technology Madras, Chennai 600 036, INDIA 4 Department of Mechanical Engineering, Indian Institute of Technology Delhi, Hauz Khas, New Delhi 110 016, INDIA (Corresponding Author) e-mail: 1 [email protected] , 2 [email protected] , 3 [email protected] , 4 [email protected] Keywords: Dynamics, Chains, Decomposition, Large Degrees-of-Freedom. Abstract This paper investigates the dynamic behaviour of serial chains with degrees-of-freedom (DOF) as large as 1,00,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, and 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. 1. Introduction Dynamics of serial chains has been an active area of research, owing to a vast variety of applications. The degrees-of-freedom (DOF) of such chains vary tremendously between applications. For instance, in serial robots, this number would typically be between two and six [1], though in the case of redundant robots [2, 3] it may be a double-digit number. On the other hand, long serial chains are used in several engineering applications, such as mooring and towing chains in ships, chain-pulley arrangements in material handling, industrial hoists and so on. In addition, many systems which are chain-like can also be approximated by chains (i.e., consisting of discrete links coupled by joints). For instance, ropes, cables, hoses, flexible tubes, etc. are examples of elastic continua used commonly in engineering applications, which can be approximately modelled as chains. The complete dynamic model of such continua constitute of partial differential equations. While, in theory, it is possible to solve these 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

Transcript of Dynamics of Serial Kinematic Chains with Large Number...

Page 1: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

1

Dynamics of Serial Kinematic Chains with

Large Number of Degrees-of-Freedom

A. Agarwal1, S. V. Shah

2, S. Bandyopadhyay

3 and S. K. Saha

4

1Systemantics India Pvt. Ltd, Bangalore, INDIA

2Robotics Research Centre, International Institute of Information Technology (IIIT)

Hyderabad, 500 032, INDIA

3Department of Engineering Design, Indian Institute of Technology Madras, Chennai

600 036, INDIA

4Department of Mechanical Engineering, Indian Institute of Technology Delhi, Hauz

Khas, New Delhi 110 016, INDIA (Corresponding Author)

e-mail: [email protected],

[email protected],

[email protected],

[email protected]

Keywords: Dynamics, Chains, Decomposition, Large Degrees-of-Freedom.

Abstract

This paper investigates the dynamic behaviour of serial chains with degrees-of-freedom (DOF) as

large as 1,00,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, and 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.

1. Introduction

Dynamics of serial chains has been an active area of research, owing to a vast

variety of applications. The degrees-of-freedom (DOF) of such chains vary

tremendously between applications. For instance, in serial robots, this number

would typically be between two and six [1], though in the case of redundant

robots [2, 3] it may be a double-digit number. On the other hand, long serial

chains are used in several engineering applications, such as mooring and towing

chains in ships, chain-pulley arrangements in material handling, industrial hoists

and so on. In addition, many systems which are chain-like can also be

approximated by chains (i.e., consisting of discrete links coupled by joints). For

instance, ropes, cables, hoses, flexible tubes, etc. are examples of elastic continua

used commonly in engineering applications, which can be approximately

modelled as chains. The complete dynamic model of such continua constitute of

partial differential equations. While, in theory, it is possible to solve these

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 2: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

2

equations using numerical techniques such as FEM [4], for long, slender systems

(e.g., a rope), such a solution would be computationally very expensive [5]. Using

an ordinary differential equation (ODE) model arising out of partial lumping of

the continuum in terms of equivalent links and joints appears to be an attractive

alternative [6]. While it is easy enough to appreciate the need for a dynamic

modelling and simulation scheme for a large number of long serial chains or

chain-like engineering components, it is difficult to find a dependable solution.

There are several technical complexities with the system of ODEs that describe

the dynamics of such systems. The key difficulty is that owing to the inherent

relationships between the links (i.e., the penultimate link carries the last link, and

by induction, the base link carries all the other links), the equivalent inertia of the

links can be extremely disparate, even when individual links are identical in terms

of geometry and mass distribution. This leads to the ill-conditioning of the mass

or inertia matrix of the system. According to a study by Featherstone [7], the

problem is extremely sensitive to the number of links, nl. In fact, Featherstone

estimated that the condition number of the said mass or inertia matrix grows

asymptotically with nl anywhere from O(nl) to O(nl4) for a chain with revolute

joints. For example, a simple planar chain with identical links has an approximate

maximum condition number 4nl4. In [33-35], parallel computation algorithms of

complexity O(lognl), for multibody systems have been presented. In [33], no

simulation result was presented, whereas in [34] and [35] simulation results for up

to 131- and 201-DOF systems, respectively, were reported. Even though these

methods complement O(nl) methods for solving large-DOF systems, such large-

DOF systems were not attempted/simulated in their work. In [36], comparison

between numerical performance of methods based on composite-body, O(nl3), and

articulated-body, O(nl), has been provided. The advantage of the articulated-body

method over composite-body method in terms of performance was illustrated with

a two-link chain. The paper does not illustrate efficacy of the method for large-

DOF systems. Tomaszewski et al. [17] reported experimental results for the

motion of a freely falling chain composed of 229 links. Though studies on long

chain is an attractive field of research [6, 8-18], results of experimental studies or

numerical simulations for chains with more than 229 links were not reported in

literature to the best of the knowledge of the authors. Featherstone's estimate for

the worst case condition number for 229 links is 2.75´109 – which may explain

the above observation.

This discussion brings up the key challenge in the study of the dynamics for long

chains, and in particular, chain-like objects. Firstly, in many applications, e.g., in

the mooring and towing chains, the number of links is very large. Secondly, in the

case of chain-like objects, for the partially lumped (i.e., equivalent chain) model

to be a “close” approximation of the actual physical system, a “fine” discretisation

is required. However, as noted above, larger the value of nl, greater the

computational difficulties. Not only does it make the solution inaccurate and

costly, after some upper limits (which are not explicitly mentioned in the existing

reports in literature studied by the authors), chances are that solutions are not

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 3: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

3

obtainable using the existing algorithms. Thus, to the best of the knowledge of the

authors, there are no reported results on systems with thousands, or tens of

thousands of degrees-of-freedom.

The objective of the present research is to address this particular issue with the

help of a recursive formulation of dynamics (called “ReDySim,” an acronym for

Recursive Dynamics Simulator), which builds upon the research reported in [19].

Note that the algorithms in [19] were mainly proposed for tree-type systems that

included serial-chain systems as well. However, as illustrated in [19], a closed-

loop system can also be analyzed by cutting its loop at an appropriate joint to

make it a tree-type system. When applied to chains with moderate- (DOF≤1,000),

large- (1,000<DOF≤10,000) and huge- (DOF>10,000) DOF, the algorithm

produced promising results. In order to check the accuracy of the solutions

obtained, these were validated by various means. For moderate-DOF chains, the

algorithm was tested by solving the problems reported in [17], such that the

results could be compared with experimental data. As no result on spatial motion

of long chains could be found in the existing literature, some simulation results

were generated using the commercially available multibody dynamics simulation

software, RecurDyn [20]. However, it was observed that when nl becomes 125

and each joint is 2-DOF, giving an n-DOF system, solutions obtained by the

software fail to satisfy imposed systemic constraints (i.e., conservation of total

instantaneous energy) when the system was simulated with reasonable tolerance

values for even small periods of time, e.g., 2.5 seconds. Thus, for simulations of

system with nl ≥125, the validity of the results was established by calculating the

change in the total instantaneous energy per unit mass. It was found that ReDySim

performed satisfactorily with an average deviation of O(10-2

) in the total

instantaneous energy per unit mass even up to 1,00,000-DOF. Furthermore, it was

found to be more efficient than some other algorithms, such as an O( 3

ln ) solver

based on Gaussian elimination (GE) [21].

An extensive set of numerical studies mentioned above established the superiority

of ReDySim solver, albeit in an empirical manner. In order to shed some light on

the mathematical machinery that makes it possible, one needs to dig deeper into

the algorithm. For that, one should note that ReDySim uses the Reverse Gaussian

Elimination (RGE) method [22, 23] to solve for the joint accelerations from a set

of linear equations which are basically the ODEs representing the dynamics of the

system at hand. The RGE leads to the UDUT

decomposition of the system’s l ln n´

generalized inertia matrix (GIM), where U and D are respectively the unit upper

triangular and diagonal matrices. The UDUT decomposition of the GIM is used to

solve for the joint accelerations in recursive steps involving backward and

forward substitutions [22, 23], similar to classical GE technique to solve for a

system of linear algebraic equations [21]. The computed joint accelerations were

then integrated using a standard ODE solver available in the MATLAB software,

namely, ODE45 [24]. Interestingly, the RGE algorithm differs from the classical

GE not only in terms of its steps but significantly in terms of the numerical

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 4: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

4

conditioning of the matrices involved. In RGE, the condition numbers of the

matrices involved remain practically invariant with respect to the variations in ln .

Thus, the observations made by Featherstone in [7] do not apply to this case,

making it possible to simulate serial chains with huge-DOF. The comparative

analysis of the capability of ReDySim, and the numerical demonstrations of

several chains, constitute the main contributions of this paper.

The rest of the paper is organized as follows: Section 2 presents the mathematical

formulation of serial chains. Numerical simulations, validation of their results,

and/or comparisons with existing results are presented in Section 3. Some insights

into the performance of the proposed algorithm are presented in Sections 4 and 5,

whereas conclusions are provided in Section 6.

2. Mathematical formulation

Figure 1 shows the schematic of a chain as a system of a number of rigid links.

Here the chain is considered to have spatial motion rather than planar, as studied

in [6, 10, 11, 17]. The #kth

link in a chain is connected to the #(k-1)th

link by a

one- or more-DOF joint, say, revolute, prismatic, universal or spherical,

depending on the application. Link #0 is the base link which may be fixed or have

some prescribed motion. As the chain may contain many multi-DOF joints, the

total number of DOF of the chain denoted by n is different from the total number

of links (denoted by nl) in a chain.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 5: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

5

The dynamic model of the chain is obtained by using the concept of the

Decoupled Natural Orthogonal Complement (DeNOC) matrices [25], originally

proposed for serial robots having only one-DOF joints. The DeNOC-based

formulation was chosen as it provided several advantages, such as minimal-order

equations of motion [25] from the unconstrained or uncoupled Newton-Euler

(NE) equations of motion, analytical expressions for various intermediate

expressions, several physical interpretations, and solutions using recursive

algorithms. The mathematical formulation using the concept of the DeNOC

matrices is presented here for the sake of completeness of the paper. The

equations pertaining to the kinematics and dynamics are represented with respect

to the origin of the local coordinate system attached to the link.

The NE equations of motion for the #kth

link [Fig. 1(b)] moving freely in the

3-dimensional Cartesian space are written in the matrix form [19] as

,k k k k k k k+ =M t Ω M E t wk k k k k k+ =k k kk k kM tk k kk k kΩ Mk k k k k kk k k k k k+ =+ =k k k k k kk k k k k k (1)

where, Mk, Ωk, and Ek are the 6×6 extended mass, angular velocity, and coupling

matrices, respectively; tk and wk represent twist of, and wrench acting on the #kth

link, respectively. They are defined as

(a) Chain with nl links (b) Spatial configuration of the kth

link

(Note: 333and,,,, ´ÎÎ RR kkkkkk Ifnard )

Fig. 1 Conceptualization of a chain as a multibody system

0

Base (#0)

#k

#1

#nl

#k-1

Ck : Center of mass of the kth

link

Ok : Origin of the kth

link

dk , rk, ak : Position vectors

ωk : Angular velocity

koko : Linear velocity of Ok

nk : Moment about Ok

fk : Force at Ok

Ik :Inertia tensor about Ok in the

body-fixed frame

mk: Mass of the kth

link

O

X

Z

Y

fk

ωk Ok

Ck

ak,k+1 dk

rk

nk

#k (Ik, mk) k

koko

Ok+1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 6: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

6

, , , , .k k kk k k

k k k k k

k k kk k k

m

m m

é ù é ù é ù é ùé ùº º º º ºê ú ê ú ê ú ê úê ú- ë ûë û ë û ë ûë û

ω Ο ω n1 ΟI dM Ω E t w

Ο ω o fΟ Οd 1

é ùk k kº ºê úk k k

é ùé ùk k k

é ùé ùk k kk k kk k kk k kk k kk k kº ºê úk k kº ºº ºk k kk k k

Ω º ºº ºé ùk k kk k ké ùé ùé ùk k kk k kk k ké ùk k kk k k

ê úk k kk k ké ùk k kk k kk k kk k k

k k k

ë ûk k k

ê úk k kk k k

k k kº ºk k k

k k kk k kk k k

ë ûë ûk k kk k km mm mk k kk k kk k k

ê úê úk k kk k kê úk k kº ºk k k ., ,, ,, , , ,, ,, ,

ë û ë û ë ûk k kk k k

ê úê úë ûk k kk k k

, ,, ,, ,, , ê ú ê ú, ,, ,, ,, ,º º ºº ºº ºk kk kk kk k, ,, ,, ,, ,, ,º ºk k kk k kk k kk k k, ,, ,, ,, ,, , º ºº º, ,, , , ,, ,, ,ë û ë û ë ûë û ë û ë ûk k kk k kk k k

ê ú ê úê ú ê úê ú ê úk kk kk kk k, ,, ,, ,, ,, ,ê úê úê úk k kk k kk k kk k k, ,, ,, ,, ,, ,ë ûk k kk k k

ê úê úk k kk k kë ûë ûk k kk k k

ê úê úê ú (2)

The variables appearing in Eq. (2) are defined in Fig. 1(b). Also, kdkd and kωkω are

the 3×3 skew-symmetric matrices associated with the vectors dk and ωk,

respectively; ‘O’ and ‘1’ represent null and identity matrices of compatible

dimensions, respectively. For nl links, the uncoupled NE equations of motion can

be assembled as

, where ,E C+ = = +Mt ΩMEt w w w w+Mt ΩMEt (3)

where, M, Ω, and E stand for the 6nl×6nl generalized extended mass, the angular

velocity, and the coupling matrices [19], respectively. Moreover, wE

and wC

are

the 6nl-dimensional vectors of external/working wrench and constraint wrench,

respectively.

2.1. Velocity constraints

The velocity constraints leading to the expression of the DeNOC matrices are

obtained next. In contrast to [25], where the joints had only one-DOF, here the

#kth

link is connected to the #(k-1)th

link by either one- or more-DOF joint k.

Hence, the twist associated with the links #k and #(k-1) connected by a multiple-

DOF joint k is given by [26]

, -1 1 .k k k k k k-= +t A t P θ .k k kθk k kk k k

(4)

In Eq. (4), Ak,k-1 is the 6×6 twist-propagation matrix [26]; Pk is the 6×zk motion-

propagation matrix, and kθkθ is the zk-dimensional joint rate vector. They are defined

as

, 1

, 1

,k k

k k

--

é ùº ê úë û

1 OA

a 1ê úë û, 1k k, 1, 1, 1, 1

ê úê úê úê úë ûë û, 1k k, 1, 1

ê úê ú (5a)

1 ( ),

zkk k k

é ùº ë ûP p pé ùë û1 ( )1 ( )1 ( )k1 ( )1 ( )k k k1 ( )1 ( )

é ùk k k

é ùé ùk k kk k k1 ( )1 ( )

é ùé ùk k kk k k

(5b)

1 ( ).

zk

T

k k kq qé ùº ë ûθ .T

k k ké ùqé ùºk k kk k kë û1 ( )k k kk k k1 ( )k k kk k ké ùé ù

k k kk k kk k kk k kqk k kk k kθ ë û1 ( )1 ( )1 ( )k1 ( )1 ( )

é ùqë û1 ( )1 ( )1 ( )1 ( )1 ( )k k k1 ( )1 ( )k k kk k ké ùé ù

k k kqk k kk k k

(5c)

In Eq. (5a), ak,k-1 = ak-1,k is defined similar to ak,k+1 in Fig. 1(b), while , 1k k-a , 1k k, 1, 1, 1, 1a is the

corresponding skew-symmetric matrix. In Eq. (5b), jkp represents the joint motion

propagation vector [26] corresponding to the motion about or along the thj axis of

the thk multi-DOF joint. In Eqs. (5b)-(5c), zk represents the number of joint

variables associated with the kth

joint. The vectors of the generalized twist and the

generalized joint-rates for the nl links of a serial chain are defined, respectively, as

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 7: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

7

1 ,l

TT T

né ùº ë ût t t ,

T

é ùT T

ë ûlné ùé ùT T

n

T TT T

ë ûë ûé ùé ùT TT T (6a)

1 .l

TT T

né ùº ë ûq θ θ .é ùº ë ûé ùé ùq é ùé ùë ûé ùé ùé ùT T

ë û1é ùé ùT T

ë ûë û1é ùé ù

1

T T

ë ûl

T

é ùT T

ë ûlné ùé ùT T

n

T TT T

ë ûë ûé ùé ùT TT T

ë ûé ùT T

ë ûT T

ë ûé ùT T

(6b)

Substituting Eq. (4) into Eq. (6a), for k=1, …, nl, the expression for the

generalized twist, t, for the serial chain is obtained as

.t=Nq .Nq (7a)

In Eq. (7a), the 6nl×n matrix N represents the velocity transformation matrix,

which relates the generalized twist with the generalized joint rate. It may be

factored as

,l d=N N N (7b)

where, lN is the 6nl×6nl matrix while dN is the 6nl×n matrix. The matrices lN and

dN are the decoupled form of the velocity transformation matrix or simply the

DeNOC matrices [19] given by

1

2,1 2

,1 , -1

, and .

l l l l

l d

n n n n

é ù é ùê ú ê úê ú ê úº ºê ú ê úê ú ê úê ú ê úë û ë û

1 O O P

A 1 O PN N

A A 1 P

é ùê úé ùé ùé ùé ùê úê úê úê úê úê úê úê úê ú

.ê ú ê úl dl d, andnd

ê ú ê úê ú ê úê ú ê úê ú2,1

, and, andê ú , and, andl dl d, and, andº ºº º, and, andl dl d, and, andê ú , and, andê úê úº ºº ºê úê ú

ë ûl l l l,1 ,,1 ,,1 , -1,1 , -1,1 , -1,1 , -1,1 , -1,1 , -1,1 , -1,1 , -1

ê úê úê úê úê úê úê úê úê ú,1 , -1,1 ,

ê ú

(8)

2.2. Equations of motion

As the net power due to constraint moments and forces, i.e., wrenches, is zero, the

vector of constraint forces and moments is orthogonal to the columns of N. As a

result, pre-multiplying Eq. (3) by TN nullifies the constraint wrenches [25]

leading to the equations involving the “external” wrenches alone, i.e.,

.+ =Iq Cq τ.+ =Iq Cq+ =+ = τ (9)

In Eq. (9), the expressions for the n×n Generalized Inertia Matrix (GIM), I, is

given by

,T

d dºI N MN ,d dMNd dd d (10a)

where, T

l lºM N MNl l

TM N MNT

l ll lº is the 6 6l ln n´ matrix comprising of the 6 6´ composite-mass

matrices [19]. Moreover, the n×n Convective Inertia Matrix (CIM), C, can be

expressed in terms of the DeNOC matrices and their time derivatives as

( ) ,T

d l w e dº + +C N M M M N( ) ,d l w e d( )( )( )( )( )( )( )( )( )( )( )( )( )( ) (10b)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 8: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

8

in which T

l l lºM N MNT

l l lM N MNT

l l ll l lºl l ll l l,

w ºM MΩwM Mº Ω , and T

e l lºM N ΩMENT

e l lM Ne l le l lºe l le l lΩMe l le l l. Note that the time

derivative of dN , i.e., .

dN , is equal to dΩN , which is used in writing the

expressions of CIM C of Eq. (10b). Finally, the n-dimensional vector of the

generalized external forces (e.g., externally applied forces/moments,

forces/moments resisting the motion, etc.), τ, has the following expression

,T E

dºτ N w ,T Ew

T ET E (10c)

where the 6nl-dimensional vector, EwEw , is expressed as

.E T E

lºw N wl

E T Ew N wE T EE T E

lº (10d)

Equation (9) represents the independent set of constrained equations of motion for

the chain at hand with multi-DOF joints.

In the forward dynamics, the joint accelerations, qq , is typically obtained using GE

or Cholesky decomposition [21], which requires O(n3) calculations--- n being the

degrees-of-freedom (DOF) of the chain under study. Hence, the solution becomes

computationally expensive for large n. However, recursive O(n) algorithms are

popular for this purpose due to their computational efficiency and numerical

stability [27]. The algorithm used in this paper, i.e., using ReDySim, is based on

the UDUT decomposition [22, 23] of the GIM which uses Reverse Gaussian

Elimination or RGE. This leads to a recursive O(n) forward dynamics algorithm,

which is summarised in Appendix A.1 for the sake of completeness.

3. Numerical simulations

Several numerical simulations were carried out on chains with a wide range of

DOF. Each chain is specified by the types of links and joints, the number of links,

and the total length of the chain. For example, in RE-Rnl-Li and RE-Unl-Li, RE

refers to the fact that the links of the chain are made of “rigid elements.” The term

R or U signifies that the joints are either “revolute” or “universal,” and nl

represents the number of links. Likewise, Li denotes the total length of the chain

in meters. Note that an RE-Rnl-Li chain has nl –DOF, while RE-Unl-Li has 2nl -

DOF system because a universal joint has two-DOF in contrast to the revolute

joint which has only one-DOF. The numerical integrations were performed using

MATLAB’s in-built ODE solver ODE45, which is based on an adaptive 4th

– 5th

order Runge-Kutta method. All simulations were carried out with relative and

absolute tolerances of 10-4

and 10-6

, respectively, unless otherwise stated. The

numerical results obtained are presented in the following subsections.

3.1. Validation of ReDySim with experimental and numerical results

In this subsection, the ReDySim algorithm has been validated against

experimental and numerical results available in existing literature [17] on the

planar chains. For the spatial chains, the results have been compared with those

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 9: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

9

generated using the commercial software RecurDyn [20], as similar experimental

results could not be found in the literature. The algorithm is then applied to

simulate and analyse a wide range of spatial chains.

Various configurations of RE-R229-L1.02, i.e., a 1.02 m long chain with a total

mass of 0.0208 kg and 229 identical links, connected by only revolute joints were

analyzed experimentally as well as numerically in [17], where the main objective

was to study the effect of initial horizontal separation on the behaviour of the

chain tip motion by both numerical and experimental means.

Let a chain of length L be held between two points (X1, Y1) and (X2, Y2), as

shown in Fig. 2. The horizontal and vertical separations between the two points

are denoted by ∆X=X2-X1 and ∆Y=Y2-Y1, respectively. Two configurations, as

defined in Table 1, were used to validate the algorithm with the reported

experimental and numerical results in [17]. The initial joint angles of the chain

were obtained by considering the chain to form a catenary while in static

equilibrium [28].

Figure 3 shows X and Y co-ordinates of the chain-tip for the above two

configurations. It is evident from the figure that the simulated motions of the

chain using the ReDySim algorithm match with those obtained experimentally in

[17]. Interestingly, the CPU time required to simulate the chain decreases with

decreasing ∆X, as shown in Table 1. Small ∆X implies that the chain is closer to

its most stable configuration, i.e., vertical. This makes the system of equations

less stiff [29], and hence, the solution is attained faster.

Table 1 Initial conditions and CPU time for RE-R229-L1.02 [17]

Initial configuration

of the chain (m)

(∆Y = 0)

Initial velocity imparted

to the system (m/s)

Simulation

time (s)

CPU

time (s)

∆X = 1.02 0.0 0.5 31.4

∆X = 0.765 0.0 0.5 28.5

Fig.2 A chain hinged at (X1=0 m, Y1=0 m) and suspended from (X2=0.765 m, Y2=0 m)

0 0.2 0.4 0.6 0.8

-0.4

-0.3

-0.2

-0.1

0

0.1 (X1,Y

1) (X

2,Y

2)

g

Horizontal axis (m)

Ve

rtic

al a

xis

(m

)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 10: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

10

Figure 4 shows comparison of simulated tip velocity and acceleration magnitude

with the same obtained numerically in [17]. The results are in close match with

those obtained in [17]. The peak velocity and acceleration magnitude decrease

with smaller ∆X. Figure 5 shows the change in total instantaneous energy per unit

mass of the chain defined as

( ) ( ) ( )0,

M

E t Et

Md

-=

(11)

where, E(t) is the total instantaneous energy of the chain at any time instant, E(0)

is the initial total energy, and M is the total mass. The value of ( )Mtd is O(10

-5)

and O(10-6

) for the two configurations of RE-R229-L1.02, respectively, which

demonstrates the accuracy of the solution.

(a) Velocity magnitude (b) Acceleration magnitude

Fig. 4 Simulated tip velocity and acceleration magnitudes for chain RE-R229-L1.02

D X = 1.02 m D X = 0.765 m Numerical results [17]

0 0.1 0.2 0.3 0.4 0.50

5

10

15

time (s)

Ve

l. m

ag

nitu

de

(m

/s)

0 0.1 0.2 0.3 0.4 0.50

500

1000

1500

2000

time (s)

Acc.

ma

gn

itu

de

(m

/s2)

(a) ∆X = 1.02 m (b) ∆X = 0.765 m

Fig. 3 Simulated tip position for chain RE-R229-L1.02

X Y Experimental results [17]

0 0.1 0.2 0.3 0.4 0.5-1

0

1

2

time (s)

Tip

co

ord

ina

tes (

m)

0 0.1 0.2 0.3 0.4 0.5-1

-0.5

0

0.5

1

time (s)

Tip

co

ord

ina

tes (

m)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 11: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

11

Analysis of spatial motion of chains was performed next by replacing the revolute

joints with universal joints having axes of rotations orthogonal to the length of the

link elements. Figure 6 shows the initial horizontal configuration of RE-Unl-L1

chain with gravitational field acting in the negative Y-direction and an initial out-

of-plane velocity, 0Yw , applied to all the links about Y0. Each link of (Li/nl) m

long has a uniform circular cross-section of diameter 0.10 m and mass per unit

length as 61.65 kg/m for all the simulations performed. The initial horizontal

configuration of the chain corresponds to zero potential energy. All chains have

initial energy resulting out of the non-zero kinetic energy due to initial angular

velocity of the chain.

As shown in Table 2, spatial motion of RE-U125-L1 with 250 degrees-of-freedom

(DOF) due to the presence of 2-DOF universal joints, denoted with U, was

simulated by imparting 0Yw = 1.0 rad/s in both ReDySim and RecurDyn [20] with

common absolute tolerances of 10-6

. The results of the tip position obtained using

ReDySim are in close match with those of RecurDyn, as shown in Fig. 7. The

magnitude of the tip velocity and acceleration were also compared, as shown in

Fig. 8. It can be seen that the tip velocity obtained using ReDySim matched with

those from RecurDyn for the simulation period but the acceleration deviated after

Table 2 Initial conditions, CPU time, and ( )avg | |M

td for RE-U125-L1 with 0Yw = 1 rad/s, mass

per unit length = 61.65 kg/m and integrator absolute tolerance of 10-6

RE-U125-L1

(∆X = 1, ∆Y = 0)

E(0)

(Joules)

Simulation

time (s)

CPU time

(s) ( )avg | |

Mtd

(Joule/kg)

ReDySim 10.2756 1.0 65 2.15e-6

RecurDyn 10.2756 1.0 678 3.11e-3

Fig. 6 Initial configuration of a RE-Unl-L1 chain

0 0.5 1-1

0

1

X0

Y0

Z0

g

Horizontal coordinate (m)

Ve

rtic

al co

ord

ina

te (

m)

(a) ∆X = 1.02 m (b) ∆X = 0.765 m

Fig. 5 Change in total instantaneous energy per unit mass, ( )M td , for RE-R229-L1.02

0 0.1 0.2 0.3 0.4 0.5-1

0

1

2x 10

-5

time (s)d M

(t)

0 0.1 0.2 0.3 0.4 0.5-2

-1

0

1

2x 10

-6

time (s)

d M(t

)

0Yw

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 12: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

12

0.45 seconds. In order to check the correctness of the results, ( )Mtd , obtained

using both RecurDyn and ReDySim, was plotted in Fig. 9(a-b). The plots clearly

show that in RecurDyn, ( )Mtd , after 0.45 seconds, is 10

3 times larger than that of

ReDySim. As seen from Fig. 7, the chain tip reaches its bottommost position at

~0.45 second before moving up causing large joint accelerations of the order of

100g, which are difficult to capture numerically in an accurate manner. The

ReDySim took 65 seconds of CPU time to complete the 1.0 second simulation as

compared to 678 seconds taken by RecurDyn on a 2GHz Core2Duo-powered

laptop.

The same system, when simulated for 2.6 seconds, became non-conservative

towards the end of the simulation, as shown in Fig. 9(c-d). As the chain is falling

under the effect of gravity without any damping at the joints, the links close to the

chain tip have non-smooth motion due to numerical inaccuracy in the computation

of the joint accelerations. The RecurDyn showed 0.0763 J/kg average deviation in

( )Mtd , while the ReDySim showed only 7.2915e-4 J/kg average deviation as

shown in Fig. 9(c-d). Thus, ReDySim appears to be better equipped to simulate

systems with more-DOF, both in terms of accuracy and efficiency. This motivates

the use of ReDySim to study moderate-, large- and huge-DOF chains. It may be

noted that RecurDyn may give better results on tightening the tolerances but the

expected CPU time will be higher too.

(a) Tip velocity magnitude (b) Tip acceleration magnitude

Fig. 8 Simulated tip velocity and acceleration magnitude for RE-U125-L1

ReDySim RecurDyn

0 0.2 0.4 0.6 0.8 10

5

10

15

time (s)

Ve

l. m

ag

nitu

de

(m

/s)

0 0.2 0.4 0.6 0.8 10

500

1000

1500

time (s)

Acc.

ma

gn

itu

de

(m

/s2)

(a) Tip X coordinates (b) Tip Y coordinates (c) Tip Z coordinates

Fig. 7 Simulated tip position of RE-U125-L1

ReDySim RecurDyn

0 0.5 1-1

0

1

time (s)

X c

oo

rdin

ate

(m

)

0 0.5 1-1

-0.5

0

time (s)

Y c

oo

rdin

ate

(m

)

0 0.5 1-0.5

0

0.5

time (s)

Z c

oo

rdin

ate

(m

)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 13: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

13

3.2. Simulations of moderate- and large-DOF chains using ReDySim

In this section, simulation results for moderate- and large-DOF chains are

presented which were obtained using ReDySim algorithm. Note that Tables 3 and

4 show the initial conditions of several moderate- and large-DOF chains falling

under gravity. The tables also show the simulation time, corresponding CPU time,

and the average value of ( )Mtd .

Table 4 Initial conditions, CPU time, and ( )avg | |M

td for chains with large-DOF (0

1.0Yw = rad/s

and mass per unit length = 61.65 kg/m)

Chain

specification

Initial configuration of the

chain (m)

(∆Y = 0)

E(0)

(Joules)

Simulation

time (s)

CPU time

(s) ( )M

avg |δ t |

(Joule/kg)

RE-U750-L6 ∆X = 6 2219.53 2.0 1330 8.37e-6

RE-U1250-L10 ∆X = 10 10275.62 2.0 2803 1.35e-5

RE-U3750-L30 ∆X = 30 277441.90 2.0 12194 3.71e-5

Table 3 Initial conditions, CPU time, and ( )avg | |M

td for chains with moderate-DOF (0

1.0Yw =

rad/s and mass per unit length = 61.65 kg/m)

Chain

specification

Initial configuration

of the chain (m)

(∆Y = 0)

E(0)

(Joules)

Simulation

time (s)

CPU time

(s) ( )M

avg |δ t |

(Joule/kg)

RE-U125-L1 ∆X = 1 10.27 1.0 34.2 2.15e-6

RE-U250-L2 ∆X = 2 82.20 1.0 111.5 3.48e-6

RE-U375-L3 ∆X = 3 277.44 1.0 201.5 4.68e-6

(a) ReDySim (1.0 second) (b) RecurDyn (1.0 second)

(c) ReDySim (2.6 seconds) (d) RecurDyn (2.6 seconds)

Fig. 9 Comparison of change in total instantaneous energy per unit mass, ( )M

tδ , using

simulation results for ReDySim and RecurDyn for absolute error tolerances of 10-6

0 0.2 0.4 0.6 0.8 1-2

-1

0

1x 10

-5

time (s)d M

(t)

0 0.2 0.4 0.6 0.8 1

-5

0

5

10

15x 10

-3

time (s)

d M(t

)

0 0.5 1 1.5 2 2.5-5

0

5

10x 10

-3

time (s)

d M(t

)

0 0.5 1 1.5 2 2.5-1

0

1

2

time (s)

d M(t

)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 14: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

14

Figures 10 and 11 show X, Y, and Z coordinates of the tip of moderate- and

large-DOF chains. When the chain tip reaches the bottommost position, the

magnitudes of both the velocity and acceleration are at their respective peaks, as

depicted in Figs. 12 and 13. It is worth noting that the acceleration increases with

increase in the length of the chain. As a result, the governing equations of motion

become stiff and an adaptive solver (e.g., ODE45 in MATLAB) requires smaller

step sizes to achieve acceptable error tolerances. Hence, the peak value of the

acceleration cannot be captured if the results are sampled too sparsely. The

simulation results for the large-DOF chains corroborate the above observation.

The peak value of acceleration could not be captured as the results were sampled

after every 0.05 seconds. Nevertheless, when acceleration for RE-U-750-L6

(1500-DOF) was obtained using results generated at all the steps (71488 steps

were required by ODE45 for 2.0 seconds of simulation time), the peak value of

5335 m/s2

was observed at 1.036 seconds.

(a) Tip X coordinates (b) Tip Y coordinates (c) Tip Z coordinates

Fig. 11 Simulated tip position of large-DOF chains using ReDySim

RE-U750-L6 RE-U1250-L10 RE-U3750-L30

0 1 2-50

0

50

time (s)

X c

oo

rdin

ate

(m

)

0 1 2-20

-10

0

time (s)

Y c

oo

rdin

ate

(m

)

0 1 2-50

0

50

time (s)

Z c

oo

rdin

ate

(m

)

(a) Tip X coordinates (b) Tip Y coordinates (c) Tip Z coordinates

Fig. 10 Simulated tip position of moderate-DOF chains using ReDySim

RE-U125-L1 RE-U250-L2 RE-U375-L3

0 0.5 1-5

0

5

time (s)

X c

oo

rdin

ate

(m

)

0 0.5 1-4

-2

0

time (s)

Y c

oo

rdin

ate

(m

)

0 0.5 1-2

0

2

time (s)

Z c

oo

rdin

ate

(m

)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 15: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

15

The change in total instantaneous energy per unit mass for chains RE-U1250-L10

(2500-DOF) and RE-U3750-L30 (7500-DOF) was of O(10-5

) and O(10-4

),

respectively, as shown in Fig. 14. This shows that the ReDySim solver is able to

perform such simulations with good accuracy.

3.3. Simulation of huge-DOF chains using ReDySim

Study on several huge-DOF chains, as shown in Table 5, is carried out in this

subsection. Such systems are not reported in the literature, to the best of the

knowledge of the authors, and hence, an attempt has been made to establish the

capability of the ReDySim solver for handling such systems. The longest chain

(a) RE-U1250-L10 (b) RE-U3750-L30

Fig. 14 Change in total instantaneous energy per unit mass, ( )M

td , for large-DOF chains using

ReDySim

0 0.5 1 1.5 2-2

-1

0

1

2x 10

-5

time (s)

d M(t

)

0 0.5 1 1.5 2-4

-2

0

2

4x 10

-4

time (s)

d M(t

)

(a) Velocity magnitude (b) Acceleration magnitude

Fig. 13 Simulated tip velocity and acceleration magnitude for large-DOF chains using ReDySim

RE-U750-L6 RE-U1250-L10 RE-U3750-L30

0 0.5 1 1.5 20

20

40

60

time (s)

Ve

l. m

ag

nitu

de

(m

/s)

0 0.5 1 1.5 20

200

400

600

time (s)

Acc.

ma

gn

itu

de

(m

/s2)

(a) Velocity magnitude (b) Acceleration magnitude

Fig. 12 Simulated tip velocity and acceleration magnitude for moderate-DOF chains using

ReDySim

RE-U125-L1 RE-U250-L2 RE-U375-L3

0 0.2 0.4 0.6 0.8 10

10

20

30

time (s)

Ve

l. m

ag

nitu

de

(m

/s)

0 0.2 0.4 0.6 0.8 10

2000

4000

6000

8000

time (s)

Acc.

ma

gn

itu

de

(m

/s2) 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 16: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

16

analyzed had a length of 1000 m and 1,00,000 DOF, designated as

RE-U50000-L1000.

Figure 15(a-c) show the X, Y and Z coordinates of the tip, while Fig. 16(a-b)

depict the magnitudes of the tip velocity and acceleration. As stated earlier, the tip

acceleration magnitude at the bottommost position is higher for a longer chain.

Since the results were sampled every 0.05 seconds, the finer variations in tip

velocity and acceleration magnitude are not captured.

Figure 17 shows ( )Mtd of two of the huge-DOF systems, which are limited to

O(10-1

). Similar results were obtained for other huge-DOF systems, but not shown

here for brevity. This proves the capability of the ReDySim solver for analyzing

huge-DOF systems accurately.

(a) Velocity magnitude (b) Acceleration magnitude

Fig. 16 Simulated tip velocity and acceleration magnitude for huge-DOF chains

RE-U5000-L100 RE-U7500-L150 RE-U10000-L200 RE-U15000-L300

0 1 2 3 4 50

100

200

300

400

time (s)

Ve

l. m

ag

nitu

de

(m

/s)

0 1 2 3 4 5100

200

300

400

time (s)

Acc.

ma

gn

itu

de

(m

/s2)

(a) Tip X coordinates (b) Tip Y coordinates (c) Tip Z coordinates

Fig. 15 Simulated tip position for huge-DOF chains using ReDySim

RE-U5000-L100 RE-U7500-L150 RE-U10000-L200 RE-U15000-L300

0 2 4-500

0

500

time (s)

X c

oo

rdin

ate

(m

)

0 2 4-40

-20

0

time (s)

Y c

oo

rdin

ate

(m

)

0 2 4-500

0

500

time (s)

Z c

oo

rdin

ate

(m

)

Table 5 Initial conditions, CPU time, and ( )avg | |M

td for chains with moderate-DOF (0

1.0Yw =

rad/s and mass per unit length = 61.65 kg/m)

Chain

specification

Initial configuration

of the chain (m)

(∆Y = 0)

E(0)

(Joules)

Simulation

time (s)

CPU time

(s) ( )M

avg |δ t |

(Joule/kg)

RE-U5000-L100 ∆X = 100 1.027e+7 5.0 35848 1.14e-3

RE-U7500-L150 ∆X = 150 3.468e+7 5.0 71242 2.13e-3

RE-U10000-L200 ∆X = 200 8.220e+7 5.0 126905 3.46e-3

RE-U15000-L300 ∆X = 300 2.774e+8 5.0 230598 9.50e-3

RE-U50000-L1000 ∆X = 1000 1.027e+10 0.75 365352 5.72e-2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 17: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

17

The simulation of RE-U50000-L1000 could not proceed beyond 0.75 seconds due

to the limitation of the computer’s memory.

4. Efficiency, accuracy and numerical stability of

ReDySim

Analysis of chains based on the solution of joint accelerations using an algorithm

of O(n3)--- n being the degrees-of-freedom (DOF) of the system at hand---

complexity is common in literature [6, 17]. Hence, simulations of several

moderate- and large-DOF systems were also carried out using a classical

GE-based O(n3) solver developed in-house. Note that, a more common technique

to solve for the joint accelerations is to decompose the symmetric positive definite

GIM of Eq. (10a) using Cholesky decomposition [21] followed by forward and

backward substitutions. This approach also has O(n3) complexity. For the GIM,

the GE-based decomposition is equivalent to the Cholesky decomposition without

the necessity of evaluating the square-root terms [21]. Hence, the GE-based

decomposition of the GIM was preferred for the in-house development of O(n3)

algorithm. The results were then compared with those obtained from ReDySim

which uses an analytical RGE-based decomposition. This leads to an O(n)

algorithm. The comparisons were then carried out in terms of efficiency, accuracy

and numerical stability.

Table 6 and Fig. 18(a) show that the time taken by O(n3) solver is significantly

more than that taken by ReDySim, since the latter uses a recursive O(n)

Table 6 Comparison of ReDySim with GE-based O(n3) solver with regard to efficiency

(0

1.0Yw = rad/s)

Chain

specification

Initial configuration of

the chain (m)

(∆Y = 0)

E(0)

(Joules)

Simulation

time (s)

CPU time

for O(n3) (s)

CPU time

for ReDySim (s)

RE-U125-L1 ∆X = 1 10.276 1.0 3399 34.2

RE-U250-L2 ∆X = 2 82.205 1.0 18473 111.5

RE-U375-L3 ∆X = 3 277.442 1.0 47697 201.5

RE-U750-L6 ∆X = 6 2219.535 1.0 303134 665.1

(a) RE-U15000-L300 (b) RE-U50000-L1000

Fig. 17 Change in total instantaneous energy per unit mass, ( )M

td , for huge-DOF chains using

ReDySim

0 1 2 3 4 5-0.2

-0.1

0

0.1

0.2

time (s)

d M(t

)0 0.2 0.4 0.6

-0.15

-0.1

-0.05

0

0.05

time (s)

d M(t

)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 18: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

18

algorithm. The same is also reflected in Table 7 and Fig. 18(b), where theoretical

complexities reported in the literature are compared with that of ReDySim. In

terms of computational complexity, ReDySim with special treatment of multi-

DOF joint [26] performs better than O(n3) and other O(n) algorithms available in

the literature, e.g., in [7, 27, 30].

Since, discussions on accuracy of solver for large- and huge-DOF systems are not

available in the literature, it is not possible to benchmark the solver against

available results. However, as is evident from Figs. 5, 9, 14 and 17, ( )Mtd was of

O(10-1

) even for the chain with 1,00,000-DOF. This shows the capability of the

solver in simulating such huge systems accurately.

Numerical stability of the algorithm is another important issue, which directly

affects the accuracy of the results. As defined in [31], an algorithm is called

numerically stable if it is stable in the mixed forward-backward error sense.

Numerical stability mainly depends on the method of solving the problem rather

than the order of complexity of the solver. It will be shown in the next section that

the algorithm in ReDySim based on RGE is more stable than the algorithm based

on GE.

(a) Complexity in terms of CPU time (for 1.0 second) (b) Theoretical complexity

Fig. 18 Comparison of complexities using ReDySim, an in-house O(n3),and other O(n) algorithms

0 5000 10000 150000

0.5

1

1.5

2

2.5

3

x 105

Degrees of freedom

CP

U t

ime

(in

se

co

nd

s)

O(n) O(n3)

0 1000 2000 3000 4000 50000

0.5

1

1.5

2

2.5

3x 10

6

DOF (n)

Nu

mb

er

of

arith

ma

tic o

pe

ratio

ns

O(n) ReDySim

O(n) Mohan and Saha [27]

O(n) Featherstone [7]

O(n3) Lil ly and Orin [30]

Table 7 Detailed operation count for various forward dynamics algorithms [19]

Algorithms Computational complexity

Multiplications/Divisions Addition/Subtraction

ReDySim (135 99 87 -116)r u sn n n+ +

2

3(131 92 79 -123)r u sn n n+ +

Mohan and Saha [27] (173n-128) (150n-133)

Featherstone [7] (199n-198) (174n-173)

Lilly and Orin [30] 3 231 1

6 2 3( 10 40 51)n n n+ + -

3 2 51

6 6( 7 50 51)n n n+ + -

Note: n = nr+nu+ns, where nr, nu, and ns are the total DOF associated with all revolute, universal and

spherical joints, respectively.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 19: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

19

5. Numerical issues with simulation of chains

In this section, some issues related to simulation of long chains are discussed,

such as, ill-conditioning and other characteristics of the GIM of Eq. (10a)

including a comparison of the GE- and RGE-based methods of solving joint

accelerations.

5.1. Ill-conditioning of the GIM

The equations of motion obtained in Eq. (9) are used to solve for the joint angles

and velocities. The solution involves 1) computation of the joint accelerations,

and 2) numerical integration of the same for the given initial values of position

and velocity. Computation of the joint accelerations, denoted byqq , is given by

1where,, .-= = -q I φ φ τ Cq

1 .-= =q I= == =φ φ τ Cq where,, where,= = -= =where, (12)

To computeqq from Eq. (12), one can decompose the GIM as LU or LLT [21]

using GE or Cholesky decomposition, respectively, followed by forward and

backward substitutions. The matrices L and U are the lower and upper triangular

matrices, respectively. However, when the GIM becomes ill-conditioned, small

perturbations in the system of equations can produce relatively large changes in

the numerical solutions. Ill-conditioning of a matrix is defined as its closeness to

singularity [21]. If the system represented in Eq. (12) satisfy 1( ) ( ,-=q+δq I φ+δφ)1( ) ( ,1q+( )( )δq I φ( ) ( ,( ) 1 (13)

the relative deviation in computation of the joint accelerations is given by

( ) ,£ kδq δφ

Iq φ

( )( )£ kδq

( )£ k( )( )( )( )( )£ k( )( )q

( )£ k( )( ) (14)

where,1( ) -k =I I I and I

represents the norm of the GIM. The term ( )Ik is

defined as the condition number of the GIM, which determines the scale factor by

which the relative change or deviation in qq is magnified. If the condition number

of the GIM is very high, it is ill-conditioned or close to singular. The L2-norm

[21] gives the condition number of the GIM, denoted by ( )I2k , as

max

min

( )( ) ,

( )2

sk =

sI

II

(15)

where, σmax(.) and σmin(.) are the maximum and minimum singular values of a

matrix. As the GIM is symmetric and positive definite, its singular values are

equal to the corresponding eigen values, and Eq. (15) can be rewritten as

max

min

( ) ,2

lk =

lI (16)

where, λmax and λmin are the highest and smallest eigen values of the GIM, I.

As discussed in the introduction, the GIM of a serial-chain with n-DOF has

condition number anywhere between O(n) and O(4n4) [7]. Hence, with an

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 20: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

20

increase in n there can be loss of accuracy in the computation of the joint

accelerations.

5.2. Investigation of the accuracy of the ReDySim solver

In order to investigate why ReDySim solver produced numerically more accurate

results, a comparative study of three different methods to calculate the joint

accelerations was carried out. They are:

1. Gaussian Elimination (Numerical) or GE-N: Using GE [21], annihilations

of the below-diagonal elements of the GIM given by Eq. (10a) were

carried out starting from the first column towards the last column to obtain

an upper triangular matrix. This is also referred to as sweep out phase.

Typically, such procedure is numerical in nature leading to O(n3/6)

complexity. For the computation of the joint accelerations using Eq. (12),

forward and backward substitutions were performed, requiring O(n2)

operations. Hence, the overall computational complexity is said to be

O(n3). The method is represented by GE-N for future references to

emphasize the fact that it is a purely numerical procedure.

2. Reverse Gaussian Elimination (Numerical) or RGE-N: In contrast to the

classical GE [21] mentioned above, in RGE, as introduced in [22, 23],

annihilations of the above-diagonal elements started from the last column

and proceeded towards the first column to convert the GIM into a lower

triangular matrix. The steps of the RGE were performed numerically

having the same number of operations as GE-N. The term RGE-N will be

used for future references to emphasize that it is a numerical procedure as

well. For the computation of the joint accelerations, backward and forward

substitutions were performed, leading to an overall computational

complexity of O(n3).

3. Reverse Gaussian Elimination (Analytical) or RGE-A: This method is

same as explained in item 2. However, the steps of annihilations and

substitutions were performed analytically, without using any numerical

values for the link lengths or masses, as explained in [22, 23]. Such steps,

as outlined in Appendix A.1, lead to a set of recursive expressions with

O(n) computational complexity. The abbreviation RGE-A will be used for

future references, where ‘A’ is used to emphasize that the steps were

performed analytically. The RGE-A method is used in ReDySim.

The joint accelerations obtained using all the above three methods were then

numerically integrated using the ODE45 integrator of MATLAB to yield joint

velocities and angles, which are further used to calculate the tip positions and

velocities.

The dynamical systems used for the study here are 3- and 10-link chains with

identical link length of 1.0 m each, cross-sectional radius of 0.02 m, and 7025

kg/m3 material density, falling under gravity. Since, all the schemes performed

well at the double precision accuracy, the floating point accuracy was reduced to

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 21: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

21

310- and 510- so as to accentuate the numerical errors, leading to clear

differentiation between the results generated by the different methods. The 3-link

chain was simulated for 5.0 simulation seconds with a floating point accuracy of

10-3

, and the 10-link chain was simulated for 3.0 simulation seconds with 10-5

floating point accuracy.

Table 8 shows the number of steps required by the adaptive integrator ODE45 of

MATLAB and the CPU time consumed. The RGE-N- and RGE-A-based solvers

took less number of steps and CPU time as compared to the GE-N-based solver.

Figures 19(a-b) show the change in total instantaneous energy per unit mass. It is

clearly evident that RGE-N- and RGE-A-based solvers perform significantly

better than the GE-N-based solver, while RGE-A-based solver (used in ReDySim)

performs even better than RGE-N-based solver.

5.3. Numerical stability of GE-N, RGE-N and RGE-A

In order to test the stability of GE-N-, RGE-N-, and RGE-A-based solvers

described in Subsection 5.2, the GIM I and the vector φ of Eq. (12) for a 3-link

planar chain are considered. The numerical values of I and φ corresponding to the

initial horizontal configuration of the chain, i.e., when q(0)=0, denoted by I(0)

and (0)φ , respectively, are shown in Table 9. The joint accelerations, i.e., )0(q&& ,

were then obtained using MATLAB’s command ‘I(0)\φ(0)’ with double precision

(a) 3-link chain with accuracy of 10

-3 (b) 10-link chain with accuracy of 10

-5

Fig. 19 Change in total instantaneous energy per unit mass, ( )M

td , using GE-N, RGE-N and

RGE-A

GE-N RGE-N RGE-A

0 1 2 3 4 5

-0.06

-0.04

-0.02

0

0.02

time (s)

d M(t

)

0 0.5 1 1.5 2 2.5 3

-2

0

2

4

6

8x 10

-4

time (s)

d M(t

)

Table 8 CPU time and number of steps for simulation of 3- and 10-link chains

3-link chain with accuracy of 10-3

10-link chain with accuracy of 10-5

Simulation

time (s)

No. of

steps

CPU time

(s)

Simulation

time (s)

No. of

steps

CPU time

(s)

GE-N 5.0 618 2.89 3.0 4723 236.2

RGE-N 5.0 231 1.24 3.0 196 12.6

RGE-A 5.0 134 1.48 3.0 177 5.3

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 22: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

22

accuracy. These results were considered as “correct” and were used as

benchmarks for the comparisons performed.

The effect of varying floating point accuracy on the solution of the joint

accelerations using GE-N-, RGE-N- and RGE-A-based solvers was studied and

the results are reported in Table 10. The table shows the joint accelerations

obtained using the corresponding solvers and the percentage deviations relative to

(0)q(0)q , as given in Table 9. For a given floating point accuracy, the percentage

error, denoted by qδq is defined as

1 2 3

T

q q qd d dº é ùë ûqδ º ë ûd dé ùé ùd dq ë û1 2 3q q q1 2 31 2 3q q qq q qé ùé ù

q q qd d dq q qq q q (17a)

where,

( )(0) (0)

×1000i

iF iq

i

q q

qd

-=

iqd =(0) (0)

×100iF i) () (q q(0) ((0) (iF iiF i(0) () () () (

( )0iq (17b)

for i = 1, 2, 3. The ith

joint acceleration, (0)iFq (0)iFq , is obtained with different floating

point round-offs, and (0)iq (0)iq is the solution obtained using MATLAB with double

precision accuracy. Here, the absolute deviation is avoided to emphasise on how

(0)iFq (0)iFq varies around (0)iq (0)iq . It is evident from Table 10 that the percentage

deviation is lower for the RGE-A-based solver while the GE-N-based solver

showed higher deviations. As the floating point accuracy of the computing system

was made higher, the solution for joint accelerations obtained from the RGE-N-

and RGE-A-based solvers converged faster to the desired solution (0)q(0)q than the

GE-N-based solver.

Table 9 Solution of (0)q(0)q with double precision accuracy

(0)I (0)φ (0)q(0)q

79.4535 41.1985 11.7714

41.1985 23.5428 7.3574

11.7714 7.3574 2.9435

é ùê úê úê úë û

κ2(I(0))=309.2300

194.8533

86.6015

21.6504

-

-

-

é ùê úê úê úë û

6.2242

7.9198

2.2602

-

-

é ùê úê úê úë û

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 23: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

23

Note here that the solution of algebraic equations, Eq. (12), in unknown qq using

GE-N- or RGE-N- or RGE-A-based solvers essentially consists of two phases,

namely, annihilations or sweep-out and substitutions [32]. The sweep-out phase of

GE-N starts with the first element of the first column of the GIM, i.e.,

i11=79.4535, whereas the same in RGE-N or RGE-A starts with the last element of

the last column, i.e., i33=2.9435. Each equation in Eq. (12) represents a plane and

these three planes intersect at the required solution qq , as shown in Fig. 20(a). As

explained in [32] and outlined in Appendix A.2, the GE-N transforms the GIM, I

of Eq. (10a), to a upper triangular matrix, denoted with U, reducing the set of

algebraic equations for ..

=Iq φ to ..

=Uq φ , whereφ is related to φ as 1-=φ L φ in

which L-1 is the resultant matrix representing the sweep-out phase. Geometrically,

..

=Uq φ means that the last two planes represented by the last two equations of

..

=Iq φ rotated about the solution point, as depicted in Fig. 20(b). If these planes

are close to orthogonal to each other, then the accuracy of the solution in the

following substitution phase, i.e., ..

=Uq φ , is better, as they are less sensitive to

errors in the right hand side values. This aspect is explained in Appendix A.2. On

the other hand, RGE-N or RGE-A which transforms the GIM, matrix I of Eq.

(10a), to a lower triangular matrix, denoted by ¢L reducing the set of algebraic

Table 10 Comparison of GE-N, RGE-N and RGE-A with variable floating point round off

GE-N RGE-N RGE-A

Accuracy qq qδq qq qδq qq qδq

1e-1

NaN

¥¥

é ùê úê úë û

NaN

¥¥

é ùê úê úë û

6.3000

8.4000

3.3000

-

-

é ùê úê úë û

1.2181

6.0628

46.0052

---

é ùê úê úë û

6.3000

8.1000

2.5000

-

-

é ùê úê úë û

1.2181

2.2749

10.6100

---

é ùê úê úë û

1e-2

6.2700

7.7500

1.3800

-

-

é ùê úê úë û

0.7362

2.1444

38.9433

-

-

é ùê úê úë û

6.2900

8.1000

2.4600

-

-

é ùê úê úë û

1.0575

2.2749

8.8403

---

é ùê úê úë û

6.2400

7.9800

2.3500

-

-

é ùê úê úë û

0.2542

0.7597

3.9734

---

é ùê úê úë û

1e-3

6.3480

8.2850

2.7050

-

-

é ùê úê úë û

1.9893

4.6108

19.6801

---

é ùê úê úë û

6.2230

7.9150

2.2520

-

-

é ùê úê úë û

0.0190

0.0610

0.3625

é ùê úê úë û

6.2230

7.9160

2.2570

-

-

é ùê úê úë û

0.0190

0.0484

0.1413

é ùê úê úë û

1e-4

6.2121

7.8792

2.1994

-

-

é ùê úê úë û

0.1941

0.5131

2.6897

é ùê úê úë û

6.2239

7.9188

2.2586

-

-

é ùê úê úë û

0.0045

0.0130

0.0705

é ùê úê úë û

6.2242

7.9199

2.2601

-é ùê úê úë û

0.0003

0.0008

0.0041

--é ùê úê úë û

1e-5

6.2241

7.9204

2.2626

-

-

é ùê úê úë û

0.0008

0.0073

0.1043

--

é ùê úê úë û

6.2242

7.9199

2.2603

-

-

é ùê úê úë û

0.0000

0.0002

0.0025

--

é ùê úê úë û

6.2242

7.9198

2.2601

-

-

é ùê úê úë û

0.0002

0.0005

0.0032

é ùê úê úë û

1e-6

6.2241

7.9198

2.2603

-

-

é ùê úê úë û

0.0007

0.0008

0.0028-

é ùê úê úë û

6.2242

7.9198

2.2602

-

-

é ùê úê úë û

0.0125e 3

0.0350e 3

0.2292e 3

- -- -- -

é ùê úê úë û

6.2242

7.9198

2.2602

-

-

é ùê úê úë û

0.3550e 5

0.2850e 5

0.8028e 5

--

- -

é ùê úê úë û

Note: NaN denotes “Not a Number”

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 24: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

24

equations..

=Iq φ to ..

¢ ¢=L q φ , where ¢φ can be related to φ as 1( )-¢ ¢=φ U φ in which

matrix 1( )-¢U represents the resultant matrix of the sweep-out phase using RGE.

The equation ..

¢ ¢=L q φ represents the first two planes of ..

=Iq φ rotated about the

solution point, as depicted in Fig. 20(c). Comparing Figs. 20(b) and 20(c), it may

be seen that the planes after RGE-N or RGE-A are closer to being mutually

orthogonal, than in the case of GE-N. Hence, the substitution phase of RGE-N or

RGE-A would yield better solutions than GE-N.

To consolidate the above observations, numerical experiments were carried out on

a variety of single-DOF joint chains (l

n n= ) at a fixed initial configuration, i.e.,

q(0)=0. The joint accelerations were computed using GE-N- and RGE-A-based

solvers, for t=0 second and floating point accuracy of 10-7

, in order to study the

propagation of errors in substitution phase. It was assumed that some error has

already been introduced during the sweep-out phases in 1

q1

q andlnqlnq , for GE-N and

RGE-A, respectively. The resulting differences in solutions of lnqlnq and

1q

1q due to

substitution phases in GE-N and RGE-A, respectively, are shown in Table 11. It

can be seen from Table 11 that with an error in 1q1q , i.e., -272.25% for 100-link

chain, during the sweep-out phase, the error in the solution of lnqlnq is magnified to

the O(1015

). In case of RGE-A, however, even if there is an error of O(108) in

lnqlnq

for 100-link chain during the sweep-out phase, the forward substitution phase

provides solution for 1

q1

q , which is fairly accurate with percentage error of O(10-6

).

Hence, RGE-A-based solver is much more stable than the GE-N-based solver.

Table 11 Variation of the percentage error in 1 andlnq q 1 andlnq q1 andq qandand with the number of links

(floating point accuracy = 10-7)

Links

(nl)

Condition number

of GIM, I

GE-N RGE-A

1qd 1qd

[during

sweep-out]

nlqd nlqd

[during

substitution]

nlqd nlqd

[during

sweep-out]

1qd 1qd

[during

substitution]

5 2708.4 0.0031645 1.4148 -0.0006998 1.2319e-5

10 4.3473e+4 0.0051407 -1928.4 0.26676 -5.6754e-6

20 6.6955e+5 -0.58922 -4.6793e+10 7.1426e+5 -5.6762e-6

40 1.0371e+7 1.1572 5.4647e+13 -6.296e+8 -5.6744e-6

60 5.1814e+7 12.779 -4.7533e+13 -1.1474e+8 -5.6842e-6

80 1.6260e+8 11.337 -2.6018e+15 -6.8846e+8 -5.6717e-6

100 3.9523e+8 -272.25 -5.2965e+15 1.7183e+8 -5.6563e-6

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 25: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

25

(a) Planes of the original system Iq φ=Iq φ=

(b) Planes of the system =Uq φ=Uq φ (Eq. A.9) as a result of sweep-out phase of GE

(c) Planes of the system ¢ ¢=L q φ¢ ¢=L q¢ ¢¢ ¢φ¢ ¢¢ ¢ (Eq. A.10) as a result of sweep-out phase of RGE

Fig. 20 Planes of the linear system Iq φ=Iq φ= , =Uq φ=Uq φ and ¢ ¢=L q φ¢ ¢=L q¢ ¢¢ ¢φ¢ ¢¢ ¢ for a 3-link planar chain

Solution

Solution

Solution

Plane 1

(Row 1)

Plane 3

(Row3)

Plane 2

(Row 2)

Plane 3

(Row 3)

Plane 2

(Row 2)

Plane 1

(Row 1)

Plane 3

(Row 3)

Plane 2

(Row 2) Plane 1

(Row 1)

1q1q

3q3q

3q3q

2q2q

2q2q 1q1q

3q3q

2q2q 1q1q

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 26: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

26

6. Conclusions This paper investigated the dynamic behaviour of serial chains with degrees-of-

freedom up to 1,00,000. Simulations were performed using Recursive Dynamics

Simulator (ReDySim) developed for general tree-type systems. Such large-DOF

systems were never reported in literature before. Moreover, such systems failed to

produce any results using commercial software like RecurDyn. The accuracy,

stability and efficiency, which are important for long serial-chain systems as those

qualities deteriorate with the increasing number of links, nl, were proven nearly

insensitive when ReDySim algorithm was used. These observations established

the viability of solution of a large number of engineering problems with high-

DOF using ReDySim.

Acknowledgements

The authors acknowledge the Naren Gupta Chair Professor fund of the last author

at IIT Delhi which was used to support second author to conduct this research.

References

1. Spong, M. W., Vidyasagar, M. (1989) Robot dynamics and control. Wiley, New York

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

California

3. Vold, H.I., Karlen, J.P., Thompson, J.M., Farrell, J.D., Eismann, P.H. (1989) A 17 degree of

freedom anthropomorphic manipulator. Proceedings of NASA Conference on Space

Telerobotics, 1: pp. 19-28

4. Geradin, M., Cardona, A.: (2001) Flexible multibody dynamics – A finite element

approach.Wiley, New York

5. Gerstmayr, J., Schoberl, J. (2006) A 3D finite element method for flexible multibody systems.

Multibody System Dynamics, 15: pp. 309–324

6. Fritzkowski, P., Kamiński, H. (2008) Dynamics of a rope as a rigid multibody system. Journal

of Mechanics of Materials and Structures, 3(6): pp. 1059-1075

7. Featherstone, R. (2005) An empirical study of the joint space inertia matrix. International

Journal of Robotics Research, 23(9): pp. 859–871

8. Aglietti, G. (2009) Dynamic response of a high-altitude tethered balloon system. Journal of

Aircraft, 46(6): pp. 2032–2040

9. Calkin, M. G., March, R. H. (1989) The dynamics of a falling chain: I. American Journal of

Physics, 57: pp. 154–157

10. Fritzkowski, P., Kamiński, H. (2009) Dynamics of a rope modeled as a discrete system with

extensible members. Computational Mechanics, 44: pp. 473–480

11. Fritzkowski, P., Kamiński, H. (2010) Dynamics of a rope modeled as a multi-body system

with elastic joints. Computational Mechanics, 46(6): pp. 901–909

12. Gatti, C., Perkins, N. (2002) Physical and numerical modeling of the dynamic behavior of a

fly line. Journal of Sound and Vibration, 255(3): pp. 555–577

13. Hembree, B., Slegers, N. (2010) Efficient tether dynamic model formulation using recursive

rigid-body dynamics. Proceedings of IMechE Part K: Journal of Multi-body Dynamics, 224:

pp. 353-363

14. Kamman, J., Huston, R. (2001) Multibody dynamics modeling of variable length cable

systems. Multibody System Dynamics, 5: pp. 211–221

15. Robson, J. M. (1990) The physics of fly casting. American Journal of Physics, 58: pp. 234–

240

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 27: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

27

16. Schagerl, M., Steindl, A., Steiner, W., Troger, H. (1997) On the paradox of the free falling

folded chain. Acta Mechanica, 125: pp. 155–168

17. Tomaszewski, W., Pieranski, P., Geminard, J. (2006) The motion of a freely falling chain

tip. American Journal of Physics, 74(9): pp. 776–783

18. Wong, C., Yasu, K. (2006) Falling chains. Physics Review Letters, 74(6): pp. 490–496

19. Shah, S. V., Saha S. K., Dutt J. K. (2013) Dynamic of Tree-type Robotic Systems. Springer,

Dordrecht

20. Function Bay Inc. (2009) RecurDyn. Version 7.4

21. Strang, G. (1998) Linear algebra and its applications. Harcourt Brace Jovanovich, Florida.

22. Saha, S.K. (1997) A decomposition of the manipulator inertia matrix. IEEE Transactions on

Robotics and Automation, 13(2): pp. 301–304

23. Saha, S.K. (1999) Analytical expression for the inverted inertia matrix of serial robots.

International Journal of Robotics Research, 18(1): pp. 116-124

24. MathWorks Inc. (2009) MATLAB. Version 7.4 Release 2009a

25. Saha, S.K. (1999) Dynamics of serial multibody systems using the Decoupled Natural

Orthogonal Complement matrices. ASME Journal of Applied Mechanics, 66: pp. 986-996

26. Shah, S. V., Saha S. K., Dutt J. K. (2012) Denavit-Hartenberg (DH) parametrization of Euler

angles. ASME Journal of Nonlinear and Computational Dynamics, 7(2): pp. 1-10

27. Mohan, A., Saha, S. K. (2007) A recursive, numerically stable, and efficient algorithm for

serial robots. Multibody System Dynamics, 17(4): pp. 291-319

28. Weisstein, Eric W. (2012) Catenary. MathWorld - A Wolfram Web Resource.

http://mathworld.wolfram.com/Catenary.html. Accessed 31 March2012

29. Shampine, L. F., Gear, C. W. (1979) A user’s view of solving stiff ordinary differential

equations. SIAM Review, 21(1): pp. 1-17

30. Lilly, K.W. (1993) Efficient dynamic simulation of robotic mechanisms. Kluwer Academic

Publishers, Boston

31. Higham, N. J. (2002) Accuracy and stability of numerical algorithms. SIAM, Philadelphia

32. Poole, G., Larry Neal, L. (1991) A geometric analysis of Gaussian elimination. I. Linear

Algebra and its Applications, 149: pp. 249-272

33. Featherstone, R. (1999) A divide-and-conquer articulated body algorithm for parallel

O(log (n)) calculation of rigid body dynamics. Part 2: Trees, loops, and accuracy.

International Journal of Robotics Research, 18: 876-892

34. Yamane, K., Nakamura Y.(2006) Parallel O(log N) Algorithm for Dynamics Simulation of

Humanoid Robots. 6th IEEE-RAS International Conference on Humanoid Robots

35. Malczyk, P., Fraczek J. (2008) Cluster computing of mechanisms dynamics using recursive

formulation. Multibody System Dynamics, 20(2): pp 177-196

36. Ascher, U.M., Pai, D.K., Cloutier B.P. (1997) Forward dynamics elimination methods, and

formulation stiffness in robot simulation. The International Journal of Robotics Research,

16(6): pp. 749-758

Appendices

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 UDUT

decomposition of the GIM [23] using analytical Reverse Gaussian

Elimination, denoted by RGE-A. The forward dynamics essentially involves the

calculation of joint accelerations from Eq. (9) as

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 28: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

28

1where,, .-= = -q I φ φ τ Cq

1 .-= =q I= == =φ φ τ Cq where,, where,= = -= =where, (A.1)

Using the decomposition I=TUDU , the equations of motion, Eq. (A.1), are

rewritten as follows

,T =UDU q φ,=U q φ (A.2)

where, U and D, the n×n block upper-triangular and diagonal matrices,

respectively. They have the following representations

1,2 1,

1

1,

ˆ '

, and, .

ˆ''

l

l l

l

n

n n

n

s

ss

-

é ù é ùê ú ê úê úº º ê úê ú ê úê ú ê úë ûê úë û

1 U UI O

1U D

UO I

O 1

é ù1,n

ê ú1, lné ù1, lné ùé ù

d,

ê úê úê úê ú

and,ê úº ºand,ê úº ºº ºê úê úê ú

.ê úê úê úê ú

ê úê úê úê ú

ê ú1,l l1,n n1,l ll l1,n nn nl ll l

ê úê úº ºê úê úê úê úê úê úê úº ºê ú

(A.3)

In Eq. (A.3), ,k jU and ˆ

kI are the zk×zj and zk×zk matrices, which are scalars for

one-DOF jointed chains, as shown in [22, 23]. The matrices ,k jU and ˆ

kI are

given by

, , ,

ˆˆ ,

T T

k j k j k j

T

k k k

º

º

U P A Ψ

I P Ψ

(A.4)

where, the 6×zk matrices kΨ and ˆkΨ are as follows

1ˆ ˆˆ ˆ and .k k k k k k

-= =Ψ Ψ I Ψ M P (A.5)

In Eq. (A.5), the 6×6 matrix ˆkM contains the mass and inertia properties of the

articulated-body #k[19]. The matrix ˆkM is computed as follows

1, 1, 1 1,ˆ ˆ ,T

k k k k k k k k+ + + += +M M A M A (A.6)

where, ˆn nºM M . Moreover, the 6×6 matrix 1, 1

ˆk k+ +M in Eq. (A.6) is obtained as

1, 1 1 1 1ˆˆ ˆ .T

k k k k k+ + + + += -M M Ψ Ψ (A.7)

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

equations, namely

ˆ ˆi) , where ,

ˆii) , where ,

iii) .

T

T

T

= º

= º

Uφ φ φ DU q

Dφ φ φ U q

U q = φ

,U q

ˆ) , where ,ˆ Tφ φ φ U q) , where) , whereˆ) , where) , where) , where

.q φ..

(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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 29: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

29

summarised in Table A.1. It is assumed in Table A.1, that the vector φ ,

comprising of the external joint torques and those due to Coriolis and centripetal

accelerations, is calculated using an O(n) inverse dynamic algorithm after setting

k =θ 0kθ 0k = , as shown in [25]. 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 A.1 explains the steps involve in

forward dynamic calculations.

A.2. Geometric interpretations of GE and RGE

After GE-N, which is denoted here with simply GE as no numerical aspect is

emphasized, 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 Phase 1 Phase 2

1GE : .-= Þ = Þ = Iq φ Uq φ q U φ Phase 1 Phase 2

1: .1: .: .q: .: .φ Uq φ q U φ : .: .1: .: .: . (A.9)

The matrix representing multipliers in the sweep-out phase is a lower triangular

matrix such that =I LU [21]. Therefore, after GE of the GIM, ( )2k L and ( )2k U

will give an estimate of the accuracy of the sweep-out and backward substitution

phases, respectively. The matrices and L U , corresponding to the GIM I(0) in

Table 9, and their condition numbers are shown in Table A.2. On the contrary, in

RGE-N or RGE-A, which are denoted here by RGE only because no numerical or

analytical aspect is emphasized, 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 Phase 1 Phase 2

1RGE : .-¢ ¢ ¢ ¢= Þ = Þ = Iq φ L q φ q L φ Phase 1 Phase 2

1 .¢ ¢ ¢ ¢11q φ L q φ q L φ 11 (A.10)

In RGE, the matrix representing multipliers of the sweep-out phase is an upper

triangular matrix such that LUI ¢¢= . The matrices and ¢ ¢U L and their condition

numbers are also given in Table A.2.

Table A.1 Forward dynamic algorithm [19]

Backward recursion: Computation of φ̂ and φφ

For link #k (k = nl, …, 1)

1, 1

1 1 1 1

1

ˆ , where, ,

ˆ and,

ˆ ˆ

φ φ P η η A η

η Ψ φ η

φ I φ

T T

k k k k k k k k

k k k k

k k k

+ +

+ + + +

-

= - =

= +

=

1, 1P η , wherehere 1, 1

T TheP η , wherehek k k k k k k k1, 11, 1P η η AP η η A, where, ,here, ,re, ,1, 11, 11, 11, 11, 11, 11, 11, 11, 1k k k kk k k k1, 11, 11, 11, 11, 1, ,, ,1, 11, 11, 1P η , wherehereP ηP η , whereherere

1 1 1 1φ ηk k k k1 1 1 11 1 1 1φ η1 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 1

1ˆ ˆφ I φ1 ˆ

k k kφ I φφ I φφ Iφ Iφ Iφ I

Forward recursion: Computation of fromq U q φT =frq U qfrom φT

U U =

For link #k (k = 1, …, nl)

, 1 1

1 1 1 1

, where, ,

and,

θ φ Ψ μ μ A μ

μ P θ μ

T

k k k k k k k k

k k k k

- -

- - - -

= - =

=

θ φk k k kθ φθ φθ φθ φθ φθ φk k k kΨ μΨ μΨ μT

Ψ μΨ μΨ μΨ μΨ μk k k kθ φθ φθ φθ φθ φ , 1 1, where, , 1 1, where, here, k k k k k k k k, 1 1, 1 1, 1 1, 1 1μ Aμ A , 1 1, 1 1, 1 1, where, herere , 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, 1 1, where, here, , , where, here, , k k k kΨ μΨ μΨ μΨ μΨ μ , 1 1

θ μk k k k1 1 1 11 1 1 11 1 1 11 1 1 11 1 1 1θ μθ μ1 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 1

, 1 1

1 1 1 1k k k k1 1 1 1k k k k1 1 1 11 1 1 11 1 1 11 1 1 1θ μk k k k1 1 1 11 1 1 11 1 1 11 1 1 1k k k k1 1 1 11 1 1 1θ μ1 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 1+

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

Page 30: Dynamics of Serial Kinematic Chains with Large Number …surilshah.weebly.com/uploads/1/1/4/6/11462120/2013_dynamics_of... · 1 Dynamics of Serial Kinematic Chains with Large Number

30

It can be seen from Table A.2 that the condition number of L after GE is

( )L2k =2.17, which ensures the accuracy of the sweep-out phase. However, the

condition number of U, ( )2k 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 ¢k U =21.46 while ( )2 ¢k 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 [32], where it was shown geometrically that

the use of partial pivoting to achieve stability in sweep-out phase may re-orient

the planes such that it makes substitution phase highly inaccurate. Hence,

geometric analysis of both GE and RGE was performed. Figures 20(a-c) show the

planes of the original system, =Iq φ=Iq φ , and re-oriented systems =Uq φ=Uq φ due to GE

of the GIM and ¢ ¢=L q φ¢=q φ 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 of3

q3

q , small deviation

in3

q3

q (orientation of plane 3) causes large changes in 2q&& and 1q&& . 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 1q&& do not result into large changes in 2q&& and 3

q3

q .

Table A.2 Condition number of the matrices resulting out GE and RGE

GE

I=LU 1 0 0

0.519 1 0

0.148 0.583 1

é ùê úê úê úë û

L=

κ2(L) =2.17

79.454 41.199 11.771

0 2.161 1.248

0 0 0.474

é ùê úê úê úë û

U=

κ2(U) =223.11

194.85

ˆ 14.528

1.282

-

-

é ùê úê úê úë û

φ=

RGE

I=U´L´ 1 2.285 3.998

0 1 2.499

0 0 1

¢

é ùê úê úê úë û

U =

κ2(U´)= 21.46

5.47 0 0

11.783 5.158 0

11.771 7.357 2.944

¢

é ùê úê úê úë û

L =

κ2(L´) =15.15

34.038

ˆ 32.498

21.65

-

¢ -

-

é ùê úê úê úë û

φ =

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65