Professional Documents
Culture Documents
Inverse Dynamic Problem in Robots Using Gibbs-Appell Equations
Inverse Dynamic Problem in Robots Using Gibbs-Appell Equations
developed a recursive algorithm for solving the IDP in n
robots using the Jacobian matrix in order to avoid algebraic 1
G= mia2i
or numerical derivatives. The computational complexity of 2 i=1
the proposed algorithm is O(n3).
In our work the Gibbs-Appell equations are applied to The Gibbs function for the i-th rigid solid is given by
solving the inverse dynamic problems of robots that have
rigid links and ideal pairs. Two algorithm are proposed, the 1 1 ˙ T
first one has a computational complexity of O(n2), and the Gi = mi(r¨Gi )T · r¨Gi + (
) · IGi ·
˙ i + (
˙ i )T · [
i ∧ (IGi ·
i )]
2 2 i
second of O(n). In both cases, the algorithms are formulated
in a recursive way, using vectors to express most of the (1)
physical magnitudes involved in them (angular velocity, where mi is the mass of the i-th link, IGi is the 3 3 matrix
angular acceleration, etc.). In order to achieve a higher representing the centroidal matrix of inertia of the i-th link,
computational efficiency, the involved magnitudes in the i and
˙ i are the three-dimensional vectors representing the
Gibbs function are expressed with respect to local reference angular velocity and acceleration of the i-th link and r¨Gi is
systems in the links. The computational efficiency of the
best of these two algorithms will be compared with that of
the Luh, Walker and Paul algorithm. That can be done since
the same type of formulation is used in both (recursive) and
the common physical magnitudes are expressed in the same
way. It must be stated that the criteria to evaluate the
number of operations will be the same in both algorithms.
This paper is organised as follows. In Section 2, the
proposed algorithms are developed. In Section 3, the
algorithms are formalised and an analysis of their computa-
tional complexity is provided, comparing them with the
Luh, Walker and Paul algorithm. In Section 4, one of the
developed algorithms is applied to a PUMA-type industrial
robot. Finally, in Section 5 we summarise the development
of the paper and suggest directions for future research. Fig. 1. Modified Denavit-Hartenberg notation.
Gibbs-Appell equations 61
the three-dimensional vector representing the acceleration that is,
of the mass centre of the i-th link. An inertial reference
n
system is considered to express these magnitudes. i r¨Gi i ˙ T i ˙ i
i
It is possible for these tensorial and vectorial magnitudes j = mi(i r¨Gi )T · i ) · IGi ·
+(
i=j
q̈j q̈j
to be expressed considering a reference system located in
the i-th link, so that the previous expression could be
expressed as follows: ˙ i
i T
+ i ∧ (i IGi · i
· [i i )] (7)
q̈j
1
Gi = mi(0Ri · i r¨Gi )T · 0Ri · i r¨Gi
2 In the following discussion, two procedures, with different
computational efficiency for obtaining the generalised
1 forces, will be developed.
˙ i )T · 0Ri · i IGi · (0Ri )T · (0Rj · i
+ (0Rj · i ˙ i )
2
First Method
The first formulation for the solution of the Inverse
˙ i )T · {0Ri · i
+ (0Ri · i ˙ i ∧ [0Ri · i IGi · (0Ri )T · 0Ri · i
i]} Dynamic Problem in robots would be obtained by develop-
ing every term of the expression (7) and adding them up.
(2) The angular velocities, angular accelerations, the accelera-
tions of the origin of reference system of links and the
the expression (2) could be rewritten as follows:
accelerations of the centre of masses of the links can be
1 obtained using the following known recursive expressions:
Gi = mi(ir¨Gi )T · (0Ri )T · 0Ri · i r¨Gi
2 i
i = i Ri 1 · i 1
i 1 + ii zi · q̇i (8)
1 ˙ T 0 T 0 i
˙ i 1 + i[i zi · q̈i + i Ri 1 · i 1
˙ i = i Ri 1 · i 1 i 1 ∧(i zi · q̇i )]
) · ( Rj) · Ri · i IGi · (0Ri )T · (0Rj · i
+ (i ˙ i )
2 i
(9)
i1 i1 i1 i1 i1
+ (i ˙ i ∧ [0Ri · i IGi · (0Ri )T · 0Ri · i
˙ i )T · (0Ri )T · {0Ri · i i]} i
r¨Oi = Ri 1[
i
r¨Oi1 + i1 ∧ (
i1 ∧
rOi1,Oi ) ˙ i 1
n
G= Gi (i = 1, 2 . . . n) (5) ˙ i i
i ˙ j
j
If i > j = Ri 1 · i 1 Ri 2 · · · j 1 Rj · (12)
i=1 q̈j q̈j
˙ i i
i
The Gibbs-Appell equations of motion are obtained from If i = j = zi
q̈j
deriving the Gibbs function with respect to the generalised
accelerations q̈j , obtaining in this way the generalised
inertial forces that are to equate to the generalised external ir¨Gi
The development of the term comes from deriving
forces, j q̈j
expression (11), then obtaining
n
Gi
j = ( j = 1, 2 . . . n) (6) i r¨Gi i r¨Oi i
˙ i i
q̈i = + ∧ rOi,Gi (13)
i=j
q̈j q̈j q̈j
62 Gibbs-Appell equations
n
i r¨Oi i i 1 r¨Oi1 i 1
˙ i 1 i 1 i ˙ j
j T
= Ri 1 · + ∧ rOi1,Oi (14) Aj = Rj · ˙ i + i
· [i IGi · i i ∧ (i IGi · i
i )]
q̈j q̈j q̈j i=j
q̈j
(15) n
˙ j
j T
Aj = · ˙ i + i
{ j Ri · [i IGi · i i ∧ (i IGi · i
i )]}
i r¨Oi i i 1 r¨Oi1 i 1
˙ i 1 i 1 q̈j
If i > j = Ri 1 · + ∧ rOi1,Oi i=j
q̈j q̈j q̈j (22)
In a similar way, for prismatic joints we could obtain: In this last expression, it can be seen that there are
concurrent terms which could reduce the calculation
i r¨Oi i i 1 r¨Oi1 i i 1
˙ i 1 i 1
= Ri 1 · + Ri 1 · ∧ rOi1,Oi complexity. Next, an expression that allows the terms to be
q̈j q̈j q̈j obtained in a reverse recursive way is presented:
+ i zi ·
q̈i
q̈j
Notice that there is an additional term in expression (16) in
(16)
Aj = ˙ j
j
q̈j
T
j
· j (23)
relation with (14), which must be included if the i-th joint where
is a prismatic one. This term is: j
j = j IGj · j
˙ j + j
j ∧ ( j IGj · j
j ) + j Rj + 1 · j+1
j+1
(24)
q̈i
i
zi · (17) which gives recursively the Aj terms.
q̈j To develop the Bj term, the following expression is used
that, depending on the type of link which it is applied to, (which comes from considering expressions (13) and (14)).
would be given by:
i r¨Gi i
˙ i i
If i = j i
zi (18) = ∧ rOj1,Gi
q̈j q̈j
If i ≠ j [0 0 0]T (19)
ir¨Gi This expression, when substituted in the above description
Terms could be obtained from expression (13). Finally, of every Bj term, would give:
q̇j
n
expression (7) allows us to obtain the generalised forces. ˙ i
i T
As will be shown in the next section, this development of Bj = · (irOj1,Gi ∧ mi i r¨Gi ) (25)
i=j
q̈j
the Gibbs-Appell equations will lead to an algorithm to
solve the IDP with a computational complexity of O(n2).
Applying vectorial products properties and using again
Second Method expression (12), would give:
The second formulation for the solution of the Inverse
Dynamic Problem in robots would be obtained by reorgan-
izing and identifying two different terms in expression (7) as
follows:
Bj ˙ j
j
q̈j
T
j
· j
(26)
where
n
˙ i
i T
j = · [i IGi · i i ∧(i IGi · i
˙ i + i i )]
i=j
q̈j n
j j=
[ j Ri · (mi i r¨Gi ∧ i rOj1,Gi )] (27)
Aj i=j
n
ir¨Gi T This expression could be calculated in a recursive way as
+ · mi · i r¨Gi follows:
q̈j
i=j j j ∧ jrO ,O + j Rj + 1 · j + 1
j + 1 (28)
j = mj j r¨Gj ∧ jrOj1,Gj + j j j+1
Bj (20) where
Gibbs-Appell equations 63
j j = j Rj + 1 · (mj + 1 j + 1 r¨G + j + 1
j + 1) (29) For j = 1, 2, . . . , n 1 do:
j+1
In the next section, it will be shown that the use of this For i = j + 2, . . . , n do:
second formulation leads to an algorithm of computational
complexity of O(n) to solve the Inverse Dynamic Problem ˙ i i
i i 1
˙ i 1
= Ri 1 ·
in robots. q̈j q̈j
Complexity of Step 2
3. DESCRIPTION OF ALGORITHMS AND
ANALYSIS OF THEIR COMPUTATIONAL 4n2 12n + 8 ( ), 2n2 6n + 4 ( + )
COMPLEXITY
ir¨Oi
In this section two algorithms for solving the Inverse Step 3.–Computation of the terms
Dynamic Problem are presented. These algorithms are q̈j
based on the formulations stated in the previous section. In
order to compare their computational complexity with other For i = 2, 3, . . . , n do:
algorithms, only revolute joints are considered and the robot ir¨Oi i i 1
˙ i 1 i 1
base is considered fixed. = Ri 1 · ∧ rOi1,Oi
q̈i 1 q̈i 1
Algorithm 1 (based on Method 1)
Note: For robots with only revolute joints, the vector For j = 1, 2, . . . , n 1 do:
i1
rOi1,Oi could be computed off-line. For i = j + 2, . . . , n do:
Step 1.–Computation of the velocities and accelerations
ir¨Oi i i 1r¨Oi1 i 1
˙ i 1 i 1
Initialise: = Ri 1 · + ∧ rOi1,Oi
q̈j q̈j q̈j
rO = [0 0 g]T
0¨
0
0
r¨G0 = 0 r¨O0 Complexity of Step 3
do: 7n2 16n + 9 ( ), 5n2 13n + 8 ( + )
1
1 = 1z1 · q̇1
ir¨Gi
1 = 1z1 · q̈1
1˙
Step 4.–Computation of the terms
q̈j
1
r¨Oi = 1 R0 · 0 r¨O0
For i = 1, 2, . . . , n do:
For i = 2, 3, . . . , n do:
ir¨Gi i
˙ i i
i
u i = i Ri 1 · i 1
i1 = ∧ rOi,Gi
q̈i q̈i
i
i = iu i + izi · q̇i
For j = 1, 2, . . . , n do:
i = i Ri 1 · i 1
i˙
˙ i 1 + i zi · q̈i + iu i ∧(izi · q̇i ) For i = j + 1, . . . , n do:
i
r¨Oi = i Ri 1[i 1 r¨Oi1 + i 1
i1
ir¨Gi ir¨Oi i
˙ i i
∧( i1
i1 ∧
i1
rOi1,Oi ) + i1
˙ i 1 ∧ rOi1,Oi ]
= + ∧ rOi,Gi
q̈j q̈j q̈j
For i = 1, 2, . . . , n do:
Complexity of Step 4
rG = i r¨O + i
i¨
i ∧ (i
i ∧ i rO ,G ) + i
˙ i ∧ i rO ,G
i i i i i i
3n2 3n ( ), 3n2 3n ( + )
Complexity of Step 1
Gi
62n 75 ( ), 46n 61 ( + ) Step 5.–Computation of the terms
q̈j
˙ i
i For i = 1, 2, . . . , n do:
Step 2. – Computation of the terms
q̈j
For i = 1, 2, . . . , n do:
Gi
q̈i
= mi · (i r¨Gi )T ·
q̈i
i r¨Gi
˙ i i
i
= zi ˙ i
i
q̈i ˙ i )T · i IGi ·
+ (i
q̈i
For i = 2, 3, . . . , n do:
i˙ i i
q̈i 1
= Ri 1 ·
i 1
˙ i 1
q̈i 1
+ ˙ i
i
q̈i
T
i ∧ (i IGi · i
· [i i )]
64 Gibbs-Appell equations
For j = 1, 2, . . . , n 1 do: Complexity of Step 3
For i = j + 1, . . . , n do: 24n 23 ( ), 18n 18 ( + )
Step 4.–Computation of the Bi terms.
Gi i r¨Gi
= mi · ( r¨Gi )T ·
i
For i = 1, 2, . . . , n do:
q̈j q̈j
i
ki = mi · i r¨G i
˙ i i
Do:
˙ i )T · i IGi ·
+ (i
q̈j n1 n 1 = n 1 Rn · n kn
For i = n 2, n 3, . . . , 1 do:
˙ i
i T
i
+ i ∧ (i IGi · i
· [i i )] i = i Ri + 1 · (i + 1 ki + 1 + i + 1
i + 1)
q̈j Do
n
n = n kn ∧ nrOn,Gn
Complexity of Step 5
1 For i = n 1, n 2, . . . , 1 do:
2 (15n2 3n + 30) ( ), 6n2 4n + 12 ( + )
i
Step 6.–Computation of the generalised forces
i = i ki ∧ irO ,G + i
i
i ∧irO ,O
i i i+1
i + 1 i + 1 i + 1)
+ i Ri + 1 · (i + 1
For j = 1, 2, . . . , n 1 do:
For i = j, j + 1, . . . , n do: For i = 1, 2, . . . , n do:
j = j +
Gi
q̈j Bi = ˙ i
i
q̈i
T
i
· i
Complexity of Step 6
1
Complexity of Step 4
0 ( ), 2 (n2 n) ( + )
31n 38 ( ), 26n 37 ( + )
Algorithm 2 (based on Method 2) Step 5.–Computation of the generalised forces
Step 1.–Same as step 1 of algorithm 1. For i = 1, 2, . . . , n do:
˙ i
i i = Bi + Ai
Step 2.–Computation of the terms.
q̈i Complexity of Step 5.
For i = 1, 2, . . . , n do: 0 ( ), n ( + )
The computational complexity of the two proposed algo-
˙ i i
i rithms are summarised in Table II. Furthermore, the
= zi
q̈i computational complexity of the Luh, Walker and Paul
algorithm is reported. In all three cases, the criteria for
Complexity of Step 2 counting operations are the same and are indicated in
0 ( ) , 0 ( + ) Table III.
Step 3.–Computation of the Ai terms. In this step the As can be appreciated from Table II, the computational
i + 1 has been omitted and it
calculation of i Ri + 1 · i + 1 complexity of the proposed algorithm is very close to the
has been added to the calculations involved in the B Newton-Euler based algorithm. It is also remarkable that
term, in order to achieve some savings in the using the Denavit-Hartenberg notation under Paul’s conven-
number of operations. Since the Ai terms are scalar tion, no substantial differences are observed, being in this
ones and as a consequence of the Denavit-Harten- case the computational complexity 129n 74 ( ) and
berg notation, these are equal to the third 97n 71 ( + ) for a robot with only rotational joints, so that,
component of the vectors. Calculations for i = 1 for a six degree of freedom robot, the computational
can be simplified because only 11(3) is needed. complexity would be 700 ( ) and 511 ( + ).
Also, we take into account that 1 ˙ 1 have
1 and 1
components one and two equal to zero. Table II. Computational complexity for robots with n ≥ 3
For i = n, n 1, . . . , 1 do: Algorithm Complexity n=6
i
i = i IG · i
˙ i + i
i ∧ (i IG · i
i)
i i
( ) 121n 112 614
Luh, Walker and Paul
For i = 1, 2, . . . , n do: (+) 1
90n 82 458
2 (43n + 59n 43)
2
Algorithm 1 ( ) 908
1
2 (33n + 39n 74)
2
(+) 674
˙ ii T
117n 136
Ai = i
· i Algorithm 2 ( ) 566
q̈i (+) 91n 116 430
Gibbs-Appell equations 65
Table III. Number of elementary operations considered
1.612 0 0
1
Operation* Multiplications Additions IG1 = 0 0.5091 0 ,
0 0 1.612
i
Ii · a 9 6
i1
Ri · a , iRi 1 · a 8 4
a ∧ b 6 3 0.4898 0 0
a ∧ c 2 0 2
IG2 = 0 8.0783 0 ,
a T ∧ b 3 2
a T ∧ d 1 0 0 0 8.2672
a ∧ b T 9 0
a ∧ a T 6 0 3.3768 0 0
3
* Where: a , b , c and d R 3 1
with c1, d1 and d2 = 0 IG3 = 0 0.3009 0 ,
0 0 3.3768
4. NUMERICAL EXAMPLE 0.181 0 0
The presented algorithms have been developed and verified 4
with the symbolic algebra software MACSYMA. Computer IG4 = 0 0.181 0 ,
code has been written in FORTRAN for Algorithm 2. The 0 0 0.1273
robot we have applied the formulation to, is a PUMA 600
model, taken from the scientific literature. The Denavit- 0.0735 0 0
5
Hartenberg constant parameters are shown in Table IV. IG5 = 0 0.0735 0 ,
The masses (kg.) of the links are as follows: 0 0 0.1273
m1 = 10.521, m2 = 15.781, m3 = 8.767, m4 = 1.052,
0.0071 0 0
m5 = 1.052, m6 = 0.351 6
IG6 = 0 0.0071 0 ,
The coordinates (m.) of the centre of masses in the local 0 0 0.0141
reference system of the links, are:
In order to verify the proposed algorithm, a straight-line
1
rO1,G1 = [0 –0.054 0]T, 2
rO2,G2 = [0.1398 0 0.14909]T,
trajectory has been considered. The start point has coor-
3
rO3,G3 = [–0.32 . 10–3 –0.197 0]T, 4
rO4,G4 = [0 0 –0.057]T, dinates [0.600 0.175 0.250]T m and the end point
[0.018 0.757 0]T m, the constant orientation given by Euler
5
rO5,G5 = [0 –0.007 0]T, 6
rO6,G6 = [0 0 0.03725]T
angles ZYZ is (45° 60° 90°). The constant linear velocity
The inertial tensor of links (kg.m2), defined with respect to prescribed for the robot end-effector is 0.1 m/s, the total
parallel axes to the local links and passing through their time needed for the prescribed robot motion is 8.6 seconds
centre of masses are: (s). In Figure 2 the initial configuration of the robot, an
intermediate and the final one are depicted. The Inverse
Table IV. Denavit-Hartenberg parameters Dynamic Problem was solved at 0.1 s intervals. The torques
required in each joint are depicted in Figure 3 as a function
Joint (rad) a (m) d (m) of time. Using a Personal Computer with a Pentium 200
Mhz Processor, the average CPU time required for calculat-
1 0 0 0 ing each Inverse Dynamic Problem was 0.15 ms.
2 /2 0 0
3 0 0.432 0.15
4 /2 0.02 0.433 5. CONCLUSIONS
5 /2 0 0
6 /2 0 0 In this paper, two algorithms for solving the Inverse
Dynamic Problem based on the Gibbs-Appell equations
have been proposed and verified. The most efficient of the developing the term corresponding to the Moment of Inertia
proposed algorithms has a computational complexity (Euler equation) in the A terms in a tensorial form.
slightly lower than the algorithm based on Newton-Euler
equations of motion, formulated in a similar way, and using
mainly vectors in its recursive formulation. This fact ACKNOWLEDGEMENTS
confirms the conclusion from other authors who claim that This work has been partially funded by contract number
the efficiency of the dynamic algorithms arises from the TAP95-0883-C03-0 from Plan Nacional de Investigación
type of formulation used, rather than the Principle of (Spanish National Research Programme).
Dynamics considered. In this way, it can be expected that
further reductions in computational complexity may be References
achieved by using tensorial notation rather than vectorial 1. J.M. Hollerbach, “A Recursive Lagrangian Formulation of
notation. For instance, important savings could be obtained Manipulator Dynamics and a Comparative Study of Dynam-
Gibbs-Appell equations 67
ics Formulation Complexity”, IEEE Trans. on Systems, Man, 8. J.J. Murray and C.P. Neuman, “Organizing Customized Robot
and Cybernetics SMC-10(11), 730-736 (1980). Dynamics Algorithms for Efficient Numerical Evaluation”,
2. J.Y.S Luh, M.W. Walker and R. Paul “P.C. On-line Computa- IEEE Trans. on Systems, Man, and Cybernetics 18(1),
tional Scheme for Mechanical Manipulators. Journal of 115-125 (1988).
Dynamic Systems”, J. Dynamic Systems, Measurement, and 9. K.S. Fu, R.C. Gonzalez and C.S.G. Lee, Robotics: Control,
Control 102, 69-76 (1980). Sensing, Vision, and Intelligence (McGraw-Hill, Singapore,
3. J. Angeles, O. Ma and A. Rojas, “An Algorithm for the Inverse 1987).
Dynamics of n-Axis General Manipulators Using Kane’s 10. A.Y. Zomaya, Modelling and Simulation of Robot Manip-
Equations”, Computers Math. Applic. 17(12), 1545-1561 ulators: A Parallel Processing Approach, (World Scientific
(1989). Publishing Co., Singapore, 1992).
4. C.A. Balafoutis and R.A. Patel, Dynamic Analysis of Robot 11. J.J. Craig, Introduction to Robotics: Mechanics and Control
Manipulators: A Cartesian Tensor Approach (Kluwer Aca- (Addison-Wesley, Reading, 1986).
demic Press, Boston, 1991). 12. L.A. Pars, A Treatise on Analytical Dynamics (Ox Bow Press,
5. W. Khalil and J.F. Kleinfinger, “Minimum Operations and Woodbridge, Connecticut 1979).
Minimum Parameters of the Dynamic Models of Tree 13. M. Renaud, “Contribution a l’etude de la modélisation et de la
Structure Robots”, IEEE Journal of Robotics and Automation commande des systèmes mécaniques articulés”, Thèse doc-
3(6), 517-526 (1987). toral (Université Paul Sabatier, Toulouse, 1975).
6. C.S.G. Lee and P.R. Chang, “Efficient Parallel Algorithm For 14. M.Vukobratovic and V. Potkonjak, Applied dynamics and
Robot Inverse Dynamics Computation”, IEEE Trans. on CAD of manipulation robots (Springer-Verlag, Berlin, 1985).
Systems, Man, and Cybernetics 16(4), 532-542 (1986). 15. K. Desoyer and P. Lugner, “Recursive formulation for the
7. P.K. Khosla and C.P. Neuman, “Computational Requirements analytical or numerical application of the Gibbs-Appell
of Customized Newton-Euler Algorithms”, Journal of method to the dynamics of robots”, Robotica 7, Part 4,
Robotic Systems 2(3), 309-327 (1985). 343-347 (1989).