Dynamics of Serial Kinematic Chains with Large Number...
Transcript of 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],
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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