Multibody System Dynamics 12: 95–115, 2004.
C 2004 Kluwer Academic Publishers. Printed in the Netherlands.
95
A Dynamic Model Based Robot Arm
Selection Criterion
PRASADKUMAR P. BHANGALE, S.K. SAHA and V.P. AGRAWAL
Department of Mechanical Engineering, Indian Institute of Technology Delhi, Hauz Khas,
New Delhi 110016, India; E-mail: prasad
[email protected]
(Received: 7 July 2003; accepted in revised form: 26 January 2004)
Abstract. The selection of robot manipulator architecture, i.e. the determination of link lengths,
their relative orientations, types of joints, e.g. revolute or prismatic, etc., has been largely done
so far by experience, intuition and at most based on the kinematic considerations like workspace,
manipulability, etc. Dynamics is generally ignored at this stage even though it is widely used for
control and simulation. This paper attempts to introduce a criterion based on the dynamics of a
robot manipulator, namely, simplicity of the associated generalized inertia matrix (GIM). Since the
GIM influences both the control and simulation algorithms significantly, its fast computation and / or
making its shape diagonal will certainly enhance the speed, precision, and stability of the robots. Two
measures of simplicity, the computation complexity of the GIM in terms of floating point operations
and the computer CPU time of an algorithm where the GIM appears, e.g., the inverse dynamics
algorithm, are used here to evaluate a robot arm. The proposed criterion is illustrated with two -link
robot arms with revolute and prismatic joints and compared with the two commonly used criteria,
namely, the workspace, and manipulability. Finally, an example is taken to select an arm from the two
spatial robot architectures, RTX and Stanford.
Keywords: manipulator, architecture selection, DeNOC, GIM, computational complexity, computation time
1. Introduction
A robot is characterized by its degree of freedom, number of joints, type of joints,
joint placement and their orientation, link lengths and shapes, which influence its
performances, namely, the workspace, manipulability, speed of operation, etc. The
speed of operation significantly depends on the complexities of the kinematic and
dynamic equations and their computations. The robots with different architectures
will have different kinematic and dynamic equations with varying computational
complexities. Hence, in order to select a suitable robot, both aspects i.e. kinematics
as well as dynamics should be looked into. Generally, kinematic characteristics like
workspace [1–3], manipulability [4–6], etc. are considered for the selection of a
robot. Dynamics is generally neglected at this stage, even though it is widely used
for control [7–12] and simulation of robots [12–17]. In this paper, simplicity of
dynamic model and its computations are emphasized, particularly, with respect to
the generalized inertia matrix (GIM), which has been proposed as a criterion for
robot architecture selection. The simplicity of the GIM is emphasized here because,
96
P.P. BHANGALE ET AL.
for example, if it is diagonal, control becomes decoupled, i.e. each joint motion
servo control is not influenced by the servo gains of the other joints. This improves
overall robot performance, namely, speed and precision. Besides, the simulation,
in which the inversion of the GIM is required, becomes straight forward, as the
inversion of a diagonal matrix is just another diagonal matrix whose non-zero
elements are the reciprocals of the corresponding non-zero elements of the original
matrix.
In order to decide whether the GIM of robot architecture is simple or not, it is
essential to have the expressions of each elements of GIM as descriptive as possible. Thus, the concept of the decoupled natural orthogonal compliment (DeNOC)
introduced in Saha [18] is used here to derive the dynamic equations of motion. The
DeNOC concept allows one not only to write the elements of the GIM in explicit
analytical forms, but also for the elements of the matrix of convective inertia (MCI).
These forms led to the development of recursive dynamics algorithms for both the
inverse and forward dynamics of serial [17, 18], and parallel [19] robotic systems.
Using the analytical expressions, one can estimate the computational complexities
of the GIM and MCI in terms of floating point operations, which will have bearing
on the overall computer CPU time of an algorithm where GIM and MCI appear,
e.g., in the inverse dynamics algorithm.
This paper is organized as follows: Section 2 provides an outline of the dynamic modelling using the decoupled natural orthogonal compliment (DeNOC);
Section 3 introduces the proposed criteria for robot selection; Section 4 illustrates
the selection criterion using 2-link arms; Section 5 considers an example of an arm
selection from RTX and Stanford architectures. Finally, conclusions are given in
Section 6.
2. Dynamic Modelling Using the DeNOC
For an n-degree of freedom open-loop serial-robot, as shown in Figure 1, if mi is
the mass of the ith link and Ii denotes the 3 × 3 inertia tensor of the ith link about
its origin point, Oi , then the uncoupled Newton–Euler equations (NE) governing
the motion of the ith link can be written as
Mi ti + Wi Mi Ei ti = wi
(1)
where the 6 × 6 mass matrix, Mi , the 6 × 6 angular velocity matrix, Wi , and the 6
× 6 coupling matrix, Ei , for the ith link are given as [19]
Ii
Mi ≡
−mi di × 1
1 O
Ei ≡
O O
mi di × 1
mi 1
ωi × 1
Wi ≡
O
O
ωi × 1
(2)
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
97
Figure 1. An n-link manipulator.
Figure 2. A coupled system of three bodies.
in which Ii ≡ Ici − di × (mi di × 1) – Ici being the 3 × 3 inertia tensor about the mass
centre of the ith body, Ci , di × 1 and ω i × 1 are the 3 × 3 cross-product tensors
associated with the vector di shown in Figure 2, and the angular velocity vector,
ω i respectively. Note that 1 and O in Equation (2) are the 3 × 3 identity and zero
matrices, respectively. The twist and wrench vectors, ti and wi , are then defined as
ωi
ni
and wi ≡
(3)
ti ≡
vi
fi
98
P.P. BHANGALE ET AL.
where ω i and vi are the three-dimensional vectors of angular velocity and the linear
velocity of the origin point Oi , of the ith body, where it is coupled with its previous
body in the chain, i.e., the jth body, respectively, Figure 2. Moreover, ni and fi
are the three-dimensional vectors denoting the resultant moment about Oi , and the
resultant forces acting at Oi , respectively. Note that ṫi of Equation (1) is the time
derivative of the twist vector or twist-rate vector. Equation (1) when written for all
‘n’ links, i.e., i = 1, . . . , n, it can be expressed in a compact form as
Mṫ + WMEt = w
(4)
where M and W are the 6n × 6n generalized mass matrix and the generalized
matrix of the angular velocities, respectively, whereas E is the 6n × 6n generalized
coupling matrix. They are defined as follows:
W1
O
...
O
M1
O
...
O
..
..
.
.
W2 . . .
M2 . . .
O
O
;
;
W
≡
M ≡ .
..
..
..
..
..
..
..
..
.
.
.
.
.
.
.
O
. . . . . . Wn
O
. . . . . . Mn
E1
O ... O
..
.
O E2 . . .
E≡ .
(5)
..
..
..
..
.
.
.
O . . . . . . En
Moreover, the 6n-dimensional vectors of generalized twist and wrench are defined
as
t ≡ tT1 , tT2 , . . . , tTn
T
w ≡ wT1 , wT2 , . . . , wTn
T
(6)
It is pointed out here that the generalized twist, t, can be expressed as a linear
transformation of the n independent joint rates, θ̇ ≡ [θ̇ 1 , . . . , θ̇ n ]T —θ i being the
ith joint displacement shown in Figure 2, i.e.,
t = Tθ̇, where T ≡ TI Td
(7)
T being the 6n × n natural orthogonal complement (NOC) matrix [7], whereas
the 6n × 6n and 6n × n matrices, Tl and Td , respectively, are the decoupled NOC
(DeNOC) matrices [18].
Premultiplying Equation (4) with the transpose of the NOC matrix, i.e., TT ,
one gets n independent dynamic equations of motion of the coupled system,
namely,
TT (Mṫ + WMEt) = TT (wE + wC )
(8)
99
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
where w is substituted by w ≡ wE + wC , wE and wC being the 6n-dimensional vectors of external and constraint wrenches, respectively. The term TT wC in Equation
(8) vanishes, as the constraint wrench produces no work. Substitution of the expression of T ≡ Tl Td from Equation (7) and its time derivative, Ṫ = Tl Ṫd + Ṫl Td ,
into Equation (8), results in the following form of the dynamic equations of motion:
I θ̈ + C θ̇ = τ
(9)
which is nothing but the Euler–Lagrange equations of motion [7]. In Equation (9),
I ≡ TT MT ≡ Td T M̃Td : the n × n generalized inertia matrix (GIM);
˜ )T : the n × n matrix of
C ≡ TT (MṪ + WMET) ≡ TTd (TT1 MṪl + M̃W + Ṁ
d
convective inertia (MCI);
τ ≡ TT wE ≡ TTd w̃E : the n-dimensional vector of generalized forces due to
driving forces / torques and those resulting from the gravity and dissipation.
˜ and the 6n-dimensional vector w̃E are
The 6n × 6n matrices, M̃, Ṁ
given by
M̃ ≡ TTl MTl
˜ ≡ TT WMET and w̃E ≡ TT wE .
Ṁ
l
l
l
3. Dynamics Simplicity Based Selection Criterion
In this section, explicit expressions for the elements of the GIM and MCI, i.e., I and
C of Equation (9), respectively, are derived first. Next, their simplicity is proposed
to be measured in terms of their computational complexity and the computer CPU
time of the algorithm where they appear.
3.1.
EXPLICIT EXPRESSIONS FOR THE ELEMENTS OF THE
GIM
AND
MCI
Using the expressions for the n × n GIM, I and, MCI, C, as appearing after Equation
(9), each element of I, ii j , and C, cij , are written as
i ij ≡ pTi M̃i Aij pj
˜ p
ci j ≡ pTi ATji M̃j Wj + ATj+1,i H̃j+1,j + ATji Ṁ
j
j
˜ A )p
ci j ≡ pTi (M̃i Aij Wj + H̃ij + Ṁ
i ij j
if i ≤ j
(10)
otherwise
where, the 6 × 6 matrix Aij and the six-dimensional vector, pi , are the block elements
of the DeNOC matrices, Tl and Td , respectively, i.e.,
1
O
... O
0 ...
0
p1
A21
0 p2 . . .
1
. . . O
0
Tl ≡ ..
and
T
≡
.
.. (11)
..
.
.
d
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
An,1 An,2 . . . 1
0
0 . . . pn
100
P.P. BHANGALE ET AL.
In Equation (11), O and 0 are the 6 × 6 zero matrix and six-dimensional zero vector,
whereas the matrix, H̃ij , in the expression of cij , is given by
H̃ij ≡ M̃i Ȧij + AT i+1,i H̃i+1,i Aij
(12)
in which Ȧij is the time derivative of the 6 × 6 matrix, Aij . Note that the 6 × 6
matrix, M̃i , has the following features:
i. Matrix M̃i can be recursively computed as
M̃i ≡ Mi + ATi+1,i M̃i1 Ai+1,i
for i = n, n − 1, . . . , 1
(13)
where M̃n ≡ Mn since there is no (n + 1)st link, i.e., M̃n+1 ≡ O, and
M̃n−1 ≡ Mn−1 + ATn,n−1 M̃n An,n−1
ii. Matrix M̃i has a physical interpretation. It represents the mass matrix of the
“composite body i,” formed by rigidly joining the bodies, i, . . . , n, as indicated
in Figure 1.
3.2.
COMPUTATIONAL COMPLEXITY OF
GIM
AND
MCI
One of the ways to simplify the GIM and MCI is to make some of the elements
vanish, or constant with suitable choice of the link masses and geometries. For
example, if any two successive, say, ith and (i +1)st joints are prismatic, orthogonal
and intersecting, the corresponding off-diagonal inertia element, namely, i i+1,i ≡
Pi+1 T M̃i+1 Ai+1,i pi , can be proven to be zero. In case the elements do not vanish,
their computational complexity in terms of the floating point operations, namely,
the number of multiplications/divisions (M) and additions/subtractions (A) are
counted. For the GIM and MCI, the complexities are obtained for the following
input: For i = 1, . . . , n,
i. Constant Denavit–Hartenberg (D-H) parameters [20] of the system under study,
i.e., αi , ai , and bi (for revolute joints) or θi (for prismatic joints). They are also
defined in Appendix A.
ii. Time history of variable D–H parameter, i.e., θi , for a revolute pair, and bi , for
a prismatic joint, and their first and second time derivatives.
iii. Mass of each body, m i .
iv. Vector denoting the distance of the (i + 1)st joint from the ith mass centre, Ci ,
in the (i + 1)st frame, i.e., [r1 ]i+1 , as shown in Figure 2.
v. Inertia tensor of the ith link about its mass centre, Ci , in the (i + 1)st
frame.
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
101
Note here that [−]i+1 will represent the argument “−” in the (i + 1)st coordinate
frame which is rigidly attached to the ith link. Thus, the quantities, [Ii ]i+1 and
[ri ]i+1 are constant and supplied as input. Moreover, the complexity count is given
inside { } at the right of each step and substep, which is based on the assumption
that all joints of the robot are revolute with arbitrary orientation.
1. Calculate [ai ]i (Angeles, 1997)21 :
For i = 1, . . . , n,
[ai ]i = [ai cos θi ai sin θi bi ]T
{2M(n)}
:2M
Note that, for each [ai ]i , 2M computations are required. Hence, for all n links,
2M(n) computations will be required to find [ai ]i , for i = 1, . . . , n, that appears
above within the braces, {2M(n)}.
2. Calculate [ri ]i : {8M 4A(n)}
For i = 1, . . . , n,
[ri ]i = Qi [ri ]i+1 :
8M4A
where Qi is given as
cos θi − sin θi cos αi
cos θi cos αi
Qi = sin θi
0
sin αi
sin θi sin αi
− cos θi sin αi
cos αi
Note above that the multiplication of the 3 × 3 matrix, Qi or QiT with a threedimensional vector is obtained efficiently with only 8M 4A, instead of 9M 6A
required to multiply a 3 × 3 matrix with a three-dimensional vector, as shown
in Appendix B.1.
3. Calculate [di ]i : {3A(n)}
For i = 1,. . . , n,
[di ]i = [ai ]i − [ri ]i
4. Calculate [mi di ]i :
For i = 1, . . . , n,
:3A
{3M(n)}
[mi di ]i = mi [di ]i
:3M
5. a) Calculate [Mi ]i , for i = n: {22M 26A(n)}
c
Ii − di × (mi di × 1) mi di × 1
[Mi ]i =
−mi di × 1
mi 1
102
P.P. BHANGALE ET AL.
[Ici ]i = Qi [Iic ]i+1 QTi
:16M17A
[di × (mi di × 1)]i
:6M3A
[m i di × 1]i
:nil
[Ici − di × (mi di × 1)]i
:6A
Like in item 2 above, two multiplications of an orthogonal matrix, Qi , with
a symmetric matrix, [Iic ]i+1 and another orthogonal matrix, namely, QiT , can
be computed with 16M 17A instead of two matrix multiplications requiring
54M 36A, as explained in Appendix B.2.
b) [M̃i ]i for i = n −1, . . ., 1
{18M18A(n − 1)}
M̃i ≡ Mi + ATi+1,i M̃i+1 Ai+1,i
6. a) Calculate i ii :
For i = n, . . . , 1
:18M18A
{nil}
i ii ≡ p Ti M̃i p i
:nil
For a revolute joint,
i ii =
eTi
ei
0 i [M̃i ]i
0 i
T
Since [ei ]i = [0 0 1]T , the calculation of i ii is simply the 3,3 element of the (1,1)
block matrix of [M̃i ], which do not require any computation.
b) Calculate i i j : {22M14A(n 2 − n)/2}
For i = n,. . . ,1; j = i − 1,. . . ,1
i i j = pTi M̃i Aij pj
: 22M14A
So the total number of multiplications/divisions and additions/subtractions are
computed by adding the values inside the symbols, { and }, as shown in Table 1.
The computation complexity to find the GIM is
(11n 2 + 42n − 18)M(7n 2 + 44n − 18)A.
(14)
For six revolute jointed robot (n = 6), the complexity for the GIM is 630M
498 A. Note that the complexity of Equation (14) is less than that reported earlier
in [14], which is
(12n 2 + 56n − 27)M(7n 2 + 67n − 53)A.
(15)
103
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
Table I. The GIM computational complexity for spatial robots.
Steps
Variables
Multiplications
Additions
1
[ai ]i , i = 1, . . . , n
2n
–
2
[ri ]i , i = 1, . . . , n
8n
4n
3
[di ]i , i = 1, . . . , n
–
3n
4
[mi di ]i , i = 1, . . . , n
3n
–
5(a)
[Mi]I, i = n, . . . , 1
22n
26n
5(b)
[M̃i ]i , for i = n − 1,. . . , 1
18(n − 1)
18(n − 1)
6(a)
i ii , i = n, . . . , 1
–
–
6(b)
i i j , i = n, . . . 1; j = i − 1, . . . , 1
22(n 2 − n)/2
14(n 2 − n)/2
Total
11n 2
7n 2 + 44n − 18
+ 42n − 18
For n = 6, Equation (15) gives 741M 601A. Thus an efficient algorithm
for the GIM calculations is proposed in this paper. Similarly, the computational
complexity for the matrix of convective inertia (MCI) terms is also found out,
which is
(14n 2 + 22n + 4)M(13.5n 2 + 55.5n − 65.5)A.
(16)
Again, for n = 6 with all revolute joints, the MCI complexity is 640M 753.5A,
which could not be compared due to non-availability of such results.
3.2.1. Planar GIM and MCI Complexity
For planar robots, for example, as shown in Figure 3, the computational complexity counts in Equations (14) and (15) resulting in very high values as many zero
components of the two-dimensional vector and matrix elements will be processed
/ counted. Hence, an alternative simplified algorithm is proposed.
Figure 3. Two link planar arms.
104
P.P. BHANGALE ET AL.
{2M(n)}
1. Calculate 2-dimensional [ai ]i :
For i = 1, . . . , n,
[ai ]i = [ai cos θi
ai sin θi ]T
2. Calculate 2-dimensional [ri ]i :
For i = 1, . . . , n,
[ri ]i = Qi [ri ]i+1
:2M
{4M 2A(n)}
:4M2A
where Qi is given as
cos θi − sin θi
Qi ≡
sin θi
Cos θi
3. Calculate 2-dimensional [di ]i :
For i = 1, . . . , n,
[di ]i = [ai ]i − [ri ]i
{2A(n)}
:2A
4. Calculate 2-dimensional [m i di ]i :
For i = 1, . . . , n,
[m i di ]i = m i [di ]i
{2M(n)}
: 2M
5. a) Calculate 3 × 3 matrix, [Mi ]i , for i = n :
c
izz
mi dTi R
[Mi ]i ≡
mi Rdi
mi 1
{nil (n)}
where the scalar, iczz , is the (3,3) element of Iic that only contribute to the planar
motion, which do not require any computation as it is one of the inputs item
(v) of Section 3.2. Moreover, for planar motion m i di × 1 can be shown to be
equivalent to mi dTi R [22]. The 2 × 2 matrix R is defined as R ≡ 01 −1
. Note,
0
m i dTi R is known from the observations. Hence, no computation will be required
for [Mi ]i .
b) The 3 × 3 matrix [M̃i ]i for i = n − 1, . . . , 1 {7M7A(n − 1)}
M̃i ≡ Mi + ATi+1,i M̃i+1Ai+1,i
6. a) Calculate i ii : {nil}
For i = 1, . . . , n,
i ii ≡ pTi M̃i pi
: nil
:7M7A
105
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
Table II. The GIM computational complexity in planar robots.
Steps
Variables
Multiplications
Additions
1
[ai ]i , i = 1, . . . , n
2n
–
2
[ri ]i , i = 1, . . . , n
4n
2n
3
[di ]i , i = 1, . . . , n
–
2n
4
[mi di ]i , i = 1, . . . , n
2n
–
5(a)
[Mi ]i , i = n, . . . , 1
–
–
5(b)
[M̃i ]i , i = n − 1, . . . , 1
7(n − 1)
7(n − 1)
6(a)
iii , i = 1, . . . , n
–
–
6(b)
ii j , i = n, . . . 1; j = i − 1, . . . , 1
7(n 2 − n)/2
4(n 2 − n)/2
Total
3.5n 2
2n 2 + 9n − 7
+ 11.5n − 7
7. Calculate i i j : {7M4A(n2 − n)/2}
For i = n,. . . 1; j = i − 1, . . ., 1
i i j ≡ pTi M̃i Aij pj
: 7M4A
The total computational complexities in the planar case can be obtained by adding
the above values inside and, as given in Table II.
The computation complexity to find GIM for planar robot is
GIM : (3.5n 2 + 11.5n − 7)M(2n 2 + 9n − 7)A
(17)
whereas the complexity for MCI can be obtained as
MCI : (7n 2 + 13n + 4)M(4n 2 + 13n + 2)A.
(18)
For n = 3 with all revolute joints, 59M 38A computations are required for the
GIM, and 106M 77A are required for the MCI, whereas if the spatial algorithm
of Equations (14) and (16) are used, for n = 3, then 207M 177A, and 196M
222.5A are required for the GIM and MCI, respectively, which are high and not
recommended for planar robots.
3.3.
COMPUTATIONAL TIME FOR INVERSE DYNAMICS
The computational time is the time taken by the computer of the robot controller
to evaluate or solve the equations of motions, which depends on the computational
complexity of the associated equations. If the computational complexities of the
GIM and MCI vary for different robots, they should reflect in the computational
times of the algorithm where they are used. As a test, inverse dynamics algorithms
based on the GIM and MCI elements obtained in Section 3.1 are developed for
106
P.P. BHANGALE ET AL.
different architectures. Computer CPU times are recorded along with the computational complexities of GIM and MCI. Here, the CPU time is basically the time
taken to compute the controlling joint torques/forces from the inverse dynamics
algorithms. The computer CPU will take comparatively less time to solve the inverse dynamics equations if they are simpler. Less computation time implies that
the maximum speed of a robot arm can be high. Thus the manipulator with least
computation time is preferable over others.
Though the CPU time difference for various architectures will look miniscule
here, there will be significant difference when the algorithms run on robot controllers
with processing speeds 30 to 60 times slower than the computer (Pentium III, 1Ghz
with 256 Mb memory) used here.
4. Illustration with Planar 2 -Link Robots
A planar two-degree of freedom (DOF) robot which has two links and two joints, is
suitable for planar positioning purposes. There are three options for such robot arm,
namely, two links are connected by 1) two prismatic joints; 2) two revolute joints;
and 3) one revolute and the other one prismatic joint. On the basis of proposed
criterion, i.e., simplicity, option 1 is best as its GIM can be easily shown to be
the 2 × 2 diagonal matrix with constant elements, whereas its MCI elements are
zeros. Even though this architecture is simplest from the control point of view, it is
not preferred from the physical realization angle. Prismatic joints can be realized
using nut and lead screw, which are expensive for higher accuracy and difficult to
maintain as dust can accumulate if proper bellows, etc. are not fitted. To overcome
the above drawbacks, revolute joints are used where the rotary actuators can be
coupled directly to the links without any nut, ball screw and bellows. This is option
2 which is economic from physical realization point of view but computationally,
i.e., in terms of the GIM complexity etc., it is most expensive. What left is option 3,
which is a kind of tradeoff between options 1 and 2. The criterion proposed in this
paper is effective for such situation when one has to choose the first joint as revolute
and the second one as prismatic (RP), Figure 3(a), or vice-versa, i.e., PR type,
Figure 3(b).
4.1.
GIM AND MCI COMPLEXITY
On the basis of the planar computational complexities, Equations (17) and (18),
a planar robot with both revolute joints would require 88M, 63A (with n = 2).
However, if one of the joint is prismatic further simplification is expected. The
degree of the simplification would depend on the location of prismatic joint. The
results are tabulated in Table III.
4.2.
COMPUTATIONAL TIME FOR INVERSE DYNAMICS
As explained in Section 3.3, inverse dynamics algorithms for RP and PR architectures shown in Figures 3(a), and 3(b), respectively using pre-determined joint
107
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
Table III. Comparison of 2-link robot arms.
Type
CC
RP Robot [Figure 3(b)]
PR Robot [Figure 3(b)]
GIM
12M 6A
21M 6A
MCI
26M 14A
28M 18A
0.651
0.761
π a22 + 2a2 b1
ai = bi = a
π (2a1 b2 + b22 )
4π a2
a1 + b2
a2 | cos θ2 |
ai = bi = a
Max. a
Max. a
CT∗ (sec)
Workspace
area ‘A’
Manipulability
‘w’
(π + 2)a2
∗ All
computations are done on a Pentium-III PC with processor speed of 1GHz with
memory size 256Mb.
M: Multiplication/division; A: Addition/subtraction. CC: Computational complexity;
CT: Computation time;
: Better value of the two.
trajectory values, i.e., joint position, velocity, and acceleration, are implemented in
MATLAB. The time taken to compute the joint torques/forces are obtained using
‘tic’ and ‘toc’ commands of MATLAB at the beginning and end of an algorithm,
respectively. The joint trajectories and other parameters for inverse dynamics are
taken as:
For RP type:
1st link length, a1 = 0; 1st link mass, m1 = 12.25 kg;
2nd link mass, m2 = 2.45 kg;
(19)
1st joint trajectory, θ1 = (πt/T ) − 0.5 sin (2π t/T ) rad;
2nd joint trajectory, b2 = (π t/T ) − 0.5 sin(2π t/T ) m
where T and t are the total time of traverse and the time instant at which the results
are desired.
For PR type:
1st link mass, m1 = 12.25 kg; 2nd link length, a2 = 0.8584 m;
2nd link mass,m2 = 2.45 kg;
(20)
1st joint trajectory, b1 = (πt/T ) − 0.5 sin (2πt/T ) m;
2nd joint trajectory, θ2 = (πt/T ) − 0.5 sin(2πt/T ) rad
Computation times to obtain the necessary joint torques and forces using Equation (9) are reported in Table I, where no gravity is considered as for the motion on
a horizontal plane gravity does not have any effect.
108
P.P. BHANGALE ET AL.
Figure 4. The workspace of 2-link PR-robot arm.
4.3.
WORKSPACE AND MANIPULABILITY
Workspace and manipulability are two kinematics based criteria often used for
robot architecture selection. Here, they are included to show whether an architecture would differ, if proposed dynamics model based selection criterion is used.
Workspace or work envelope is defined as the set of points representing the maximum and minimum extent or reach of the manipulator in all directions. It can
be calculated by visualizing the possible motion of the robot in all directions and
finding the area, in the case of planar, and volume, in the case of spatial [3, 11].
The workspace area for the PR type robot arm can be obtained from the motion
range of the robot, as shown in Figure 4. If no limit on the joints are assumed the
workspace area of PR arm in Figure 4 can be calculated as, A = pa22 + 2a2 b1 .
Similarly, for the RP type the workspace area is, A = π(2a1 b2 + b22 ).
The values are tabulated in Table I and compared considering ai = bi = a
for i = 1, 2.
Manipulability is defined as the ease with which a manipulator operates in its
workspace. There are many ways to quantify the manipulability. For example,
condition number of the velocity Jacobian matrix, minimum or maximum singular
value of the Jacobian, etc. The one proposed by Yoshikawa [4] is used here. This
is called manipulability measure, w, and defined as
w = |[det{J(θ)JT (θ)}]1/2 |
(21)
where J(θ) is the Jacobian matrix, which is a function of joint positions, θ. For any
robot, w ≥ 0. However, the value of w = 0 is undesirable as it implies that the
robot arm is in the singular configuration, i.e., the arm cannot reach the instructed
position. When an arm is in singular configuration, it loses one or more degree of
freedom and becomes difficult to control.
Manipulability measure ‘w’ for the RP and PR arms are calculated, which are
tabulated in Table III. As an illustration, ‘w’ for the PR robot is computed as,
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
109
Figure 5. Three link spatial robot arms.
w = a2 |cosθ 2 | where the J(θ ) of the PR arm is given below:
J(θ) =
1
0
−a2 sin θ2
a2 cos θ2
(22)
As θ 2 varies, w changes from 0 to a2 .
On the basis of the proposed criterion, i.e., the simplicity of dynamics model
that has been evaluated in terms of computation complexity (CC) and computation time (CT), the RP type is found better. The choice which is in line with
kinematics based workspace criterion when ai = bi = a, as in Table III. However, there may be cases when the workspace of PR may be larger, for example, if ai = 2b; bi = b, then the workspaces of RP and PR robots are, 5πb2
and 4(π + 1)b2 , respectively. In such situations, proposed dynamic based choice
will provide a robot selection that will allow faster robot motion, as explained in
Section 3.3.
5. Example: Selection Between RTX and Stanford Arms
In this section, assume a situation where selection has to be made between two
standard robot architectures, namely, RTX, Figure 5(a), and Stanford, (Figure 5(b)
arms, whose DH parameters along with the mass and inertia parameters are shown
in Tables IV(a) and (b) respectively.
The following joint motions are considered for the inverse dynamics calculations:
θi = πt/T − 0.5 sin(2π t/T ) for revolute joints, and
bi = πt/T − 0.5 sin(2π t/T ) for prismatic joints
(23)
110
P.P. BHANGALE ET AL.
Table IV. D-H, mass and Inertia parameters of spatial robot arms.
Link
ai
(m)
bi
(m)
αi
(rad)
θi
(rad)
mi
(kg)
rx
ry
(m)
rz
Ix x
I yy
(kg-m2 )
Izz
(a) D-H Parameters for RTX robot arm
1
0
b1
0
0
9
0
0
0.054
0.1
0.02
0.1
2
0.432
0.01
0
θ2
6
0.292
0
0
0.5
0.6
0.01
3
0.2
0.01
0
θ3
4
0
0
0.4
0.4
0.1
−0.02
(b) D-H Parameters for Stanford robot arm
1
0
0.1
−π /2
θ1
9
−0.1
0
0.1
0.1
0.02
0.1
2
0
0.1
−π /2
θ2
6
0
0
0.5
0.5
0.6
0.01
3
0
b3
0
0
4
0
0
0.4
0.4
0.4
0.1
Table V. Comparison of 3-link spatial structures.
Type
GIM
CC
MCI
C T∗ (sec)
Workspace
RTX Robot
Stanford Robot
142M; 138A
170M; 154A
389M; 317A
522M; 352A
9.443
11.166
4π b1 a2 a3
4πa33 /3
4πa3
4πa3 /3
Manipulability
a2 a3 | sin θ3 |
b23 | cos θ2 |
‘w’
a2
a2
Volume ‘V’
ai = bi = a
a i = bi = a
∗
All computations are done on a Pentium-III PC with processor speed of
1GHz with memory size 256Mb.
M: Multiplication/division; A: Addition/subtraction. CC: Computational
complexity; CT: Computation time;
: Better value of the two.
where θi (0) = 0 and bi (0) = 0, while T = 10 sec with step size, t = 0.01 sec. Note
here that unlike the planar robot arm motion in horizontal plane, Figures 3(a)–(b),
gravity plays an important role, which are taken into account.
For the above spatial arm configurations, proposed ‘dynamics model simplicity’
based criterion has been evaluated, along with the kinematics criteria. The results
are tabulated in Table V. Based on the results, RTX robot is found suitable and,
hence, should be selected. The better values are highlighted with underlines in the
table.
6. Conclusions
A robot arm selection methodology based on the simplicity of dynamics model of a
robot arm is proposed. The concept is illustrated with the help of 2-link planar robots.
Then a selection is made from two 3-link spatial robot arms. The proposed criterion
can be used when kinematic criteria are not sufficient or contradict, as explained
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
111
with respect to the 2-link example, after Equation (22). Also, in Table V, both RTX
and Stanford arms have same maximum manipulability, which is not a clear indication for the selection if the manipulability is the main criterion. The present criterion
is then also provides a way. The proposed criterion also allows to choose the best
physical parameters for good dynamic performances. For example, one can make
the generalized inertia matrix (GIM), Equations (9) and (10), well-conditioned,
as reported in Bhangale et al. [23], by suitably choosing the link masses and
lengths.
The contributions of this paper are highlighted as
1. Introduction of a new selection criterion, namely, the simplicity of the dynamics
model of a robot arm, which are evaluated in terms of computation complexity
of the associated matrices, i.e., GIM and the matrix of convective inertia (MCI)
terms of Equation (10), and the CPU time, of an algorithm, say, the inverse
dynamics algorithm that is essential for control purposes.
2. Computation complexity analysis of GIM and MCI for the all revolute ndegree of freedom robot. For the GIM, the proposed algorithm is efficient,
as indicated after Equation (14), whereas MCI calculation is never reported
earlier.
3. Modular inverse dynamics algorithms development, i.e., GIM and MCI, are
computed separately and the joint torques and forces are computed using Equation (9). This way, any robot architecture can be tested by just replacing the
blocks of GIM and MCI calculations.
4. Evaluation of total four criteria of two planar and two spatial robot arms for
comprehensive understanding and selection of robot arm architecture.
Appendix A: Denavit–Hartenberg (D-H) Parameters
D-H-parameter is a systematic, general method to define the relative position and
orientation of the consecutive link. This definition helps in computing the coordinate
transformation between them. D-H-parameters can be assigned differently to the
same system, the Figure 7 shows one of the popular method to define the parameters,
where Z i denotes the axis of joints and Oi and X i forms the coordinate
system.
Appendix B: Computational Complexities
B.1
TO FIND
Qi [ri ]i+1
The mass centre location vector ri is known in (i + 1)st frame and to convert it into
ith frame, we need to pre-multiply it with the rotation matrix, Qi , i.e.,
[ri ]i = Qi [ri ]i+1
112
P.P. BHANGALE ET AL.
Figure 6. Required torques and force at joints of RTX and Stanford arms.
where Qi is given as
cos θi − sin θi cos αi
cos θi cos αi
Qi ≡ sin θi
0
sin αi
sin θi sin αi
rx
− cos θi sin αi and [ri ]i+1 ≡ ry
cos αi
rz
(A.1)
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
113
Figure 7. Transformation from frame i to i x + 1.
Hence
r x cos θi − rc sin θi
[ri ]i ≡ r x sin θi + rc cos θi
r y sin αi − r z cos αi
where rc is given as
rc ≡ r y cos αi − r z sin αi
: 6M 3A
: 2M1A
Thus, the total computations required to find the multiplication of a 3 × 3
rotation matrix with a 3-dimensional vector are 8M4A(i.e. 8 multiplications and 4
additions/subtractions).
B.2
TO FIND
[Mi ]i
The mass matrix Mi is required to be found in the ith frame, i.e., [Mi ]i from
the known elements of [Iic ]i+1 , Qi , [di ]i , [m i di ]i , whose computational steps are
explained below:
Ici − di × (mi di × 1) mi di × 1
[Mi ]i ≡
−mi di × 1
mi 1
Where [Iic ]i ≡ Qi [Iic ]i+1 , QiT , and Qi is defined as Equation (A.1). Now,
Qi [Iic ]i+1 , QiT can be computed as
i11 − β5
[Iic ]i ≡ β2 sin αi − β3 cos αi
β2 cos αi + β3 sin αi
···
i22 − β5 − β8
β4 − β7 cos αi
Sym
..
.
β8 + i33
: 5M 7A
114
P.P. BHANGALE ET AL.
where ii j are the elements of [Iic ]i+1 and
β0
β1
β2
β3
β4
β5
β6
β7
β8
= i 12 cos θi
= (i 11 − i 12 ) sin θi − (β0 + β0 )
= i 13 cos θi + i 23 sin θi
= β1 cos θi + i 12
= i 13 sin θi − i 23 cos θi
= β1 sin θi
= β4 cos αi
= [(i 22 − i 33 ) + β5 ] sin αi + (β6 + β6 )
= β7 sin αi
: 1M
: 1M3A
: 2M1A
:1M1A
: 2M1A
: 1M
: 1M
: 1M 4A
: 1M
So the total computations required are 16M 17A. Next, note that [mi di ×1]i does
not require any computation as mi di is already obtained in item 4 of Section 3.2, i.e.,
[m i di × 1]i
: nil
Now to compute [di × (m i di × 1]i , following steps are followed: Let us define
dx
dy
]
≡
[di i
dz
δx
[m i di ]i ≡ δ y ,
δz
and
where [di ]i and [m i di ]i are computed in items 3 and 4 of Section 3.2. Then
−δz dz − δy dy
Sym
: 6M 3A
δ x dy
−δz dz − δx dx
[di × (m i di × 1)]i =
δ x dz
δ y dz
δ y d y − δx dx
which will require only 6M 3A. Finally the 3 × 3 upper left block matrix of [Mi ]i ,
i.e., [Iic − di × (m i di × 1)]i , can be obtained with additional 6A computations. Thus
total computations required to compute [Mi ]i is now summarized as:
[Ici ]i = Qi [Iic ]i+1 QiT
[mi di × 1]i
[di × (mi di × 1)]i
[Ici − di × (mi di × 1)]i
Total
:16M 17A
:nil
:6M 3A
:6A
:22M 26A
Thus, computation complexity for [Mi ]i is 22M 26A, which is used in item 5(a) in
Section 3.2.
A DYNAMIC MODEL BASED ROBOT ARM SELECTION CRITERION
115
References
1. Rivin, E.I., Mechanical Design of Robots, McGraw Hill Book Company, New York, 1988.
2. Dorf, R.C. and Nof, S.Y., (ed.), International Encyclopedia of Robotics, Applications and Automation, John Wiley & Sons, Inc., New York, 1988.
3. Ceccarelli, M. and Vinciguerra, A., ‘On the workspace of general 4R manipulators,’ International
Journal of Robotics Research 14, 1995, 152–160.
4. Yoshikawa, T., Foundations of Robotics Analysis and Control, Prentice-Hall of India Pvt. Ltd.,
New Delhi, 1998.
5. Gravagne, I.A. and Walker, I.D., ‘Manipulability, force and compliance analysis for planar
continuun manipualtors,’ IEEE Transactions of Robotics and Automation 18, 2002, 263–273.
6. Wen, J.T-Y. and Wilfinger, L.S., ‘Kinematic manipulability of general constrained rigid multibody systems,’ IEEE Transactions on Robotics and Automation 15, 1999, 558–567.
7. Angeles, J. and Lee, S.K., ‘The formulation of dynamical equations of holonomic mechanical
systems using a natural orthogonal compliment,’ ASME Journal of Applied Mechanics 55, 1988,
243–244.
8. Armstrong, W.W., ‘Recursive solution to the equations of motion of an n-link manipulator,’
Proceeding of 5th World Congress on Theory of Machines and Mechanisms (ASME), Vol. 9,
Montreal, Canada, 1979, 1343–1346.
9. Asada, H. and Youcef–Toumi, K., Direct Drive Robots–Theory and Practice, MIT Press,
Cambridge, USA, 1987.
10. Schiehlen, W.O., ‘Multibody System Dynamics: Roots and Perspectives,’ Multibody System
Dynamics 1, 1997, 149–188.
11. Fu, K.S. Gonzales, R.C. and Lee, C.S.G., Robotics: Control, Sensing, Vision, and Intelligence,
McGraw-Hill, Inc., NewYork, 1987.
12. Featherstone, R., Robot Dynamics Algorithms, Kluwer Academic Publishers, Massachusetts,
USA, 1987.
13. Angeles, J. and Ma, O., ‘Dynamic simulation of n-axis serial robotic manipulators using a
natural orthogonal complement,’ The International Journal of Robotics Research 7, 1988,
32–47.
14. Walker, M.W. and Orin, D.E., ‘Efficient dynamic computer simulation of robotic mechanisms,’
ASME Journal of Dynamical System, Measurement and Control, 104, 1982, 205–211.
15. Wang, L.T. and Ravani, B., ‘Recursive computations of kinematic and dynamic equations for
mechanical manipulators,’ IEEE Journal of Robotics and Automation RA-1, 1985, 124–131.
16. Stokes, A. and Brockett, R., ‘Dynamics of kinematic chains,’ International Journal of Robotics
Research 15, 1996, 393–405.
17. Saha, S.K., ‘Simulation of Industrial manipulators based on UDUT decomposition of inertia
matrix,’ Multibody System Dynamics 9, 2003, 63–851.
18. Saha, S.K., ‘Dynamics of serial multibody systems using the decoupled natural orthogonal
complement matrices,’ ASME Journal of Applied Mechanics 66, 1999, 986–996.
19. Saha, S.K. and Schiehlen, W.O., ‘Recursive kinematics and dynamics for closed loop multibody
systems,’ International Journal of Mechanics of Structures and Machines 29, 2001, 143–175.
20. Denavit, J. and Hartenberg, R.S., ‘A kinematic notation for lower-pair mechanisms based on
matrices,’ ASME Journal of Applied Mechanics 77, 1955, 215–221.
21. Angeles, J., Fundamentals of Robotic Mechanical Systems, Springer-Verlag, Berlin, 1997.
22. Saha S.K. and Angeles, J., ‘The formulation of kinematic constraints in design-oriented machine
dynamics,’ Advances in Design Automation ASME, Vol. 2, 1991, 115–122.
23. Bhangale, P.P., Saha, S.K. and Agrawal, V.P., ‘Concept of decoupled natural orthogonal complement (DeNOC) matrices for robot architecture selection,’ In Proceedings of National Conference
on Machines and Mechanisms (NACOMM), IIT Kharagpur, India, December 21–22, 2001, 177–
184.