a novel parallel recursive newton-euler algorithm for modelling
Post on 10-Apr-2015
158 Views
Preview:
TRANSCRIPT
&&g . -- _- !iB ATHEMATICS
AND COMPUTERS
N SIMULATION
ELSEVTER Mathematics and Computers in Simulation 37 (1994) 227-240
A novel parallel recursive Newton-Euler algorithm for modelling and computation of robot dynamics
E. Abdalla, H.J. Pu, * M. Miiller, A.A. Tantawy r, L. Abdelatif r, H. Nour Eldin
Group of Automatic Control and Technical Cybernetics, University of Wuppertal, 5600 Wuppertal, Germany
Abstract
The recursive Newton-Euler formulation to compile or compute the robot dynamics is essential for problems of robot simulation as well as for robot inverse dynamics. Beside the established form of computation in outward (forward) and inward (backward) recursion, several schemes that exploit inherent parallelisms have been recently reported and used in distributed real time computation of robot dynamics. In this paper, the basic physical potential for such parallelism is addressed. Beside modified regrouping of such recursion, novel individual recursive equations for the Inertial, Coupling and Gravitational Dynamics of the robot are introduced.
1. Introduction
Compilation of the dynamic equations of the robot motion have been a central problem for analysis, simulation, control as well as robot motion planning. Lagrange Formulation has been firstly adopted, while the Newton-Euler Recursive Formulation has been established since 1980 [7]. For robot motion planning, analysis or simulation purposes, one is interested to compute the state variables of the robot motion for two main aspects. The dynamic equations of motions should be firstly compiled before computing these state variables out of the resulting system of differential equations. This is the known robot motion simulation problem arising in robot animation and control. The second aspect of compiling the robot system equations is the necessity to compute the forces and/or torques acting on the robot links and joints for a prescribed motion, This is now known as the robot inverse dynamics problem [2,6,7].
For both above purposes for computing the robot states, forces and/or torques, the problem of compilation of the robot system equations have proved to be a central problem that is still persisting. One is obliged either to write down analytically these systems of equations, using symbolic computation if necessary, or one is obliged to use recursive formulation techniques L&6,71.
* Corresponding author. ’ University of Helwan, Egypt.
037%4754/94/$07.00 0 1994 Elsevier Science B.V. All rights reserved SSDI 0378-4754(94)00012-9
228 E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240
In this paper only the problem of recursive formulation of the robot system equations will be addressed. Soon after its establishment in the form of recursive Newton-Euler Formulation [2,6], remarkable efforts have been done to achieve real time computation. Such efforts relay on parallelizing the Newton-Euler Formulation in such a manner that leads them suitable for distributed computing. Reference [3-.5] give a short overview on such efforts and introduce basic ideas towards real time computation. However, exploiting parallelism of the recursive Newton-Euler Formulation itself seems to be less covered.
In this paper, the recursive Newton-Euler Formulation for computing the robot inverse dynamics will be firstly discussed (Section 2) and the resulting system of recursive equations, known as the outward (forward) and inward (backward) recursion equation, will be modified to outward (forward), local (centre of gravity) and inward (backward) parts. This makes the recursion to be more transparent for grouping schemes in distributed computing. In Section 3, an individual and separate recursion for the Inertial, Coupling and Gravitational Torques is introduced that gives possibilities for more parallelism in distributed computing, either sym- bolic or numerical.
2. The recursive Newton-Euler Formulation for inverse dynamics
The inverse dynamics problem for a given Robot with n joints whose joint positions qi(t), joint velocities Gi(t> and joint acceleration &(i(r) are measured for i = 1, 2,. . . , II comprises the computation of the force and/or torque at each joint. The Newton-Euler Formulation [1,2,6,7] is based on the two basic equations of Newton and Euler for a rigid solid body:
Newton equation
Fk = m,az.
Euler equation
Nk = Ik.zk + wk x Ikok.
(2.1)
P-2)
Where Fk, Nk the force and toque acting on the centre of gravity, a: acceleration of the centre of gravity, ok, Ed the angular velocity and angular acceleration respectively, mk mass of the link k, Zk inertia matrix of the link k about its centre of gravity.
Luh, Walker and Paul (1980) have presented their recursive algorithm [l] for computing the inverse dynamics of the n-joint robot. For a robot with known robot arm geometry, the joint variables si(t), Gi(t), ii(t) are directly (or indirectly) measured for i = 1, 2,. . . , n. The angular velocity oi, the angular acceleration &i as well as the linear acceleration a* of the i-th link mass centre can be obtained using the computed variables of the (i - 1)st link. Then, the Newton and Euler equations (2.11, (2.2) are applied to achieve the force Fi and torque Ni acting on the
E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240 229
centre of gravity of the link. Computing the values of w,, .zi, a:, Fi Ni out of the measured variables qi(t) Gi(t>, ii(t) and the previous values of wi_*, E~_~, a:_,, Fi_, Ni_l of the (i - l)st link, have been noted as the Forward (Outward) Recursion [1,2]. One begins from the base of the robot with i = 0 and continues in Forward (Outward) Recursion for link i = 1, 2,. . . , n.
Whenever this recursion is finished, the forces fi and torques 7i acting on the link i can be computed recursively, but beginning with the known force f,, 1, torque IZ,+ 1 exerted from the robot external environment on the end effector. Such recursion is known as Backward (Inward) Recursion [2]. The force fi and torque n, exerted on the i-th joint is computed out from the force fi+ 1 and torque nit1 acting on the previous (inwardwise) (i + 1)st joint.
The resulting equations of the Forward (Outward) and Backward (Inward) Recursion are well known and have been widely used in this sense [2]. Even in recent developments for parallel computation [3] or to deduce new resolved recursion equations [2,4,5], such recursion have been adopted. In this paper, however, a modified grouping of this forward (outward) and backward (inward) recursion equations will be given. This organisation of the recursion equations exploits the possibilities for their rearrangement in a manner that leads them transparent for different parallel computing schemes. In the following the notation in [2] for a rotational robot type are adopted.
A. Outward recursion equations
For i = 0, 1,. . , , rz - 1
r+l
Oi+l = ii+l ‘+‘zi+l +R;+‘iw,
i+l . .
Ei+l = ‘i+l i+lzi+l +R;+l’q + &+J @+l’q xi+‘z,+l])
i+l
ai+l =Rj+‘[‘ai +iFi xipi+, f’Wj x (Li XiPi+,)]
with initial conditions: ‘w. =‘E~ =‘a, = 0, and ‘P,+~: joint position.
(2.3a)
(2.4a)
(2Sa)
B. Centre of gravity equations (local equations)
For these local equations, the local index k is set k = i + 1. “pc, is position of the centre of gravity. Its frame is taken as in [2]
ka* _k k- ak+ks,Xk&h+k‘+X (k% x “PJ >
kFk =mkkaE,
kNk = ““I, kEk + kWk x CkIk k‘+.
(2.4b)
(2.5b)
(2.6b)
C. Inward recursion equations
For i = n, n - 1,. . . , 1
ifi =‘F;: +R;+li+lfi+l, (2.4~)
230 E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240
in, =‘Ni +R;+li+lni+l +ip,, X’F, +ipi+l XRi+l’+‘fi+l, (2.k)
Ti = ini TiZi [ 1 (2.k)
with ‘+‘fi+i, ‘+‘n,+i given (zero for free movement). In Appendix Al, the computation of inverse dynamics for the planar D (1 D rotational robot
arm (Fig. 1) is executed analytically.
3. Separate recursive equations for the driving torque components
The dynamic equation of robot motion
M(f?)Bi+N(O, ti) + G(8) = T(8, tj, 6)
where Me) (n, n> mass matrix, N(8, f&n, 1) vector of centrifugal and coriolis terms, G(8) (n, 1) vector of gravity terms, comprises the three following torques.
Inertial Torque
TM = ikf( e)8i; ;TM=O.
Coupling Torque
T, = N(e, i); ;Tc=O.
Gravitational Torque
T, = G(8); iTg= iTg=O.
(34
(3.2a)
(3.2b)
(3.2~)
Taking these individual torques into consideration, equation (3.1) reduces to the summering equation
T,+T,+T,=T. (3 *2)
Eq. (3.2) exploits the additivity of the driving torque .components TM, T,, Tg. Taking the individual dependence of the torque components T,(e, e), T,(e, e), and T,(e) on the variables 8, 6, and i into consideration, it is now appropriate to express the physical variables .dt), a(t), a*(t), F and N of each link additivly with respect to the corresponding dependence on (0, 6),
E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240 231
Fig. 1. Planar robot arm.
(/3, i) and (0). Thus, one introduces the following additivity relations of the above physical variables in correspondence to their dependence on the triple of variables 8, b, and 6 as
& e(8, 6) a a(0, 6)
a* = a*(O, S)
F F(8, 6)
N _I - N(B, 6)
with
-&.lzr=O,
;[qc=O, a a
,[.],= ---&qg=O.
E(k e’) 40, b)
+ a*(e, 6) +
F(k 6) M - N(h i> c
w a@> a* ce) w NW
(3.2d)
G
(3.2e)
(3.2f)
(3.2g)
Here, terms as Ed, Ed, Ed are the partial accelerations of e. With such separation of torques, forces and the accelerations according to their dependence
terms in equations (3.2a, b, c, d), the following individual recursion formulation for the driving torque components can be given directly.
Angular velocity recursion (outward) it1
wi+1= ii+1 i+lZi+l + Rj+liwi. (3.3a)
The angular velocity recursion remains unchanged, while the other variables are as follows.
232 E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240
Inertial torque recursion
A. Outward recursion for eM, aM
r+l Eifl = Bii+li+lZi+l +R;+liEi,
i+l ‘i+l
= Rj+‘[‘a, +‘ei Xipi+l]
where if1 . .
Ei+l = ‘+l&i+l(o, 0) = i+l&M Ii-l’
it1 . . ai+l = i+lai+l(O, 0) f ‘+laM 1+1
represent the partial components F~, aM in equation (3.2d).
B. Centre of gravity equations (local equations) for a&, FM, NM
ka*?k =kak -kksk X’p, k ,
kFk =rnkkaz,
kNk =+Ikkek
where
a” = a*(e, s), F = F(8, ii), N = N(B, 6)
represent the partial inertial components a:, FM, NM in equation (3.2d)
(3 .4b)M
(3 .5b)M
(3 .6b)M
C. Inward recursion
Same as (2.4c), (2.5~) and (2.6~1, but with values of the partial inertial quantifies f,,,, nM, T,+, and
n+l fM,+, =n+144n+, = 0.
Coupling torque recursion
A. Outward recursion for eM, aM
i+l ‘i+l
=R;+liq + iifl[ Rifl’q xi+‘zi+l]) (3 .4a)C
it1 ‘i+l =Ri+‘[‘a, -i~i Xipi+l +joi X (iwj Xipi+,)] (3.5a)C
where i+l
gi+l E i+lF. ,:,(e, @ = i+kl+,,
i+l ‘i+l - = i+lai+l(O, 4) = i+lac,+,.
E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240 233
B. Centre of grauity equations (local equations) for a:, F,, N,
“a: =kak +ksk Xkpck +k~k X tkak Xkpck). (3.4b)C
kFk =rnkkaz. (3 .5b)C
kNk =+IkkEk fkWk XCkIkk‘+ (3.6b)C
These equations are identical with (2.4b), (2Sb), (2.6b). However, the variables a*, F, N in the recursion are representing the partial variables of coupling a:, F,, N, in equation (3.2dl.
C. Inward recursion
Same as (2.4~1, (2.5~1 an (2.6c), but for f,, nc, 7, with
n+1 f
=n+l = cri + I II C,+l 0.
Gravitational torque recursion
A. Outward recursion for a:
i+1 *
ai+ 1 = Rj+l’aF
with ‘a: = g vector of gravity.
(3 J)
B. Centre of gravity equation for F,
kFk = m,kaz. (3.5b)G
C. Inward recursion
Same as$:i4~), (z.5,~) and (2.6~1, but for the values f,, n,, TV with the known n+‘fn+l, n+l n n+l as fg,+l, ngntl respectively.
4. Conclusion
In this paper, the recursive Newton-Euler formulation of robot dynamics have been suitably modified to enhance its possibilities for parallelism to be used in distributed computing. A novel stage for such parallelism have been introduced that achieve individual recursive equations for the Inertial, Coupling and Gravitational Torques and/or Forces separately. Such separation corresponding to physical reasons is attractive for distributed computing or wher- ever, as in the motion planning’s case, torques and forces are requested to be computed repeatedly.
coordinate rotation matrices
R;= I -s] Cl 0 C] Sl 0 0 0 1 1 , R;=
C2 $2 0
R:= [ -s2 c2 0 0 0 1 1 with
234
Appendix Al
E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240
For the free movement of a planar robot arm with its frames illustrated in Fig. 1, one has the
Si = sin( ei), Sij = sin( Bi + Bj)) Ci = COS( tii), Cij = COS( 8, + oj)
and the initial conditions:
Ooo =%o = 0, Oa, = [O g 01=.
A. Outward recursion
‘aI = R~['E, x$, +ow, X (ocoo X"Pl) +‘%I] = S,
0
0
0 . s, + e,
I
r 0 1 *s2 = R;& + e'2(R;1~1 x22,) + ii22Z2 = 0
6, + di2
2 a2 = R;[$ x’p, +‘w, x (‘co1 X1p2) +‘a,] =
(Al .l)
(Al .2)
(Al .3)
(Al .4)
(Al S)
(Al -6)
E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240 235
B. Centre of gravity equations (local equations)
-r,e: + gs,
‘a; = la, + ‘et X ‘pr:, + ‘0, X (lcoI X ‘p,,) = ‘* r,e, + gc,
0
-m,r,i: + m,gs,
‘F, = ml ‘a; =
i 1 mlrlel + m,gc, *
0
0
lN, =y lel +‘o, xCII1 LJ1 =
r 1
0 . I$,
2a; = 2a2 + ‘e2 X ‘PC2 = =02 x (=wz X2Pc2) =
(Al .7)
(Al .S)
(Al .9)
r2( 4 + “z): - l,c,@ + gs,,
(l,c, + r2)il + r28i2 + l,s,@ + gc,, ’
0 (Al JO)
“F2 = m2’az = m2 I l,s,di, - r2(h, + i2)2 - llC2if + gs,,
1 0 I
(zlc2+r2)R1+r2c+2+11S2B~+gclZ *
0
2N2 =c2122~2 f2m2 Xcz122w2 = 0
i J * I,(e, + i,)
C. Inward recursion
‘f2 =2F2 + Ri3f3 =2F2.
72 = (I, + m2ri + m2Zlr2c2)8il + ( I2 + m2r,2)” + m,l,r,s,~~ + m,r,gc,,.
‘fl =lF, +Ri2f2=
(Al.11)
(Al .12)
(Al. 13)
(Al .14)
(Al .15)
(Al .16)
236
with
E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240
52, =W, +Ri2n, +&, X’F, +lfQ xRi2f, =
il
0 , (Al .17) 71
T1 = [I, + I, + mlrf + m,(l: + r; + 2I,r,c,)]~, + [I, + m2r; + m,l,r,c,]~’
- m211r2s2( i,” + 2&B,) + (WQY1 + m,z,)gc, + “2Y2gc,,. (Al .18)
Appendix A2
The same problem will be solved here with the separate recursive equations introduced in Section 3. The coordinate rotation matrices and initial conditions remain the same as in Appendix Al.
Angular velocity recursion
‘o=Rooo+(j’z= 1 1 0 1 1
0
2c02 = R;‘q + 8’22Z2 =
i i
o . 4, + ti2
Inertial torque recursion
A. Outward recursion
lE =RooF +(j’Z= 1 1 0 1 1
0 ‘a, = Ry[’ eoXopl +‘a, = 0 .
’ [I 0
(A2.1)
(A2.2)
E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240
2~2 = R;‘e, + 8,2Z2 =
2~2 = R;[’ .
B. Centre of gravity equations (local equations)
0 I*_1 a1 - al +le, x kc, = r,i,
[ 1 . 0
0
‘F, = m,la;i = mlrlil
[ I ,
0
0
IN, =ylgl = 0
[ I
.
I,&
C. Inward recursion
2f2=2F2+R;3f3=2F2=m ;[(11c2 iii;: + I,uIl.
237
(A2.5)M
(A2.6)M
(A2.7)M
(A2.X)M
(A2.9)M
(A2.10)”
(A2.11)M
(A2.12)M
238 E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240
72 = (I, + m*r; + rq1r2c$!i1 + (I, + m,r;pp (A2.15)M
1 -rry,s,(~, + 62)
‘f, = ‘F, + Ri2f2 = m2r2c2(~1 + IQ + (nzlY1 -t m,Z,)ii, 0 I * (A2.16)M
0 In, =1 N~+R:2n,+‘P,,~LF,+1pzXR:2f2=
[I
0 . (A2.17)M 71
7-I = [I, +z2 +m,?=~+mz(z: +r; +2&c*)]& + [z2 -tm,r,2+m,E,r,c& (A2.18)M
Coupling torque recursion
A. Outward recursion
‘a, = R~[‘E, X$, +*w, X (‘w0 X”pl) +‘a,
2~2 = R;‘q -i- tj2(R:‘q x22,) =
1 0 1
,I= 0 *
/I
(A2.4)C 0
(A2.3)C
(A2.S)C
-l,c,@ 2a2 =R~[‘E~ X’p, +lol X (lw1 X1p2) +'a,] = I I ~,s,~f . (A2.6)’
0
B. Centre of gravity equations (local equations)
1 * a, =‘al+lel X1pC,+lm, x '0.~~ x'p,, = ( 1
-r,e’f
[ I o .
0
(A2.7)’
(A2.9)C
E, Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240 239
*a; =2a2 +2~, X2pc2 -k202 X (2w2 X2pc1) = ( -r2Pl +.$llC2if],
(A2.10)C
(A2.11)’
‘N, =c2122~2 +*o, Xcz12202 = 0 .
[I 0
C. Inward recursion
(A2.12)C
2f2 =2F2 + R;“f3 =*F2.
2 n2 = =N2 + R; 3n3 + 2pc, x 2F, + *p3
72 = m,l,r,s,8’~.
‘fl =lF, +R;*f,=
(A2.13)C
(A2.14)C
(A2.15)C
(A2.16)’
with
a1 = - (m,r, + m,1,)8’; - m2r2cz(B’1 + b,)‘,
a2 = -m2r2s2( e’, + b2)‘.
InI = ‘N, + R; *n2 + ‘p,, x ‘F,
To = -m,l,r,s,( 4,’ + 2h,ti2).
Gravitational torque recursion
A. Outward recursion
gs1
‘a; = Rf”a;f = gc,
0
0 0 . 71 1
(A2.4)G
240 E. Abdalla et al. /Mathematics and Computers in Simulation 37 (1994) 227-240
@12 “a; = R;‘aT = gc,, . I 1 0
B. Centre of gravity equation
@l ‘F, = m, ‘a; = ml gc,
i 1 .
0
@12 ‘F2 =m,‘a; = m2 gc,,
[ 1
.
0
(A2.6)G
C. Inward recursion
‘f2 =‘F2 + R;‘f3 =*F2. (A2.13)G
(A2.14)G
r2 = m2r2gc12.
1fl=1F1+R:2f2=
(A2 .15)G
(A2.16)G
(A2.17)G
q = (mlrl + m24)gcl + m2r2gc12. (A2xqG
Reference
[I] J.Y.S. Luh, M.W. Walker and R.P.C. Paul, On-line computational scheme for mechanical manipulators, ASME J. Dynamic Syst. Meas. Contr. 102 (1980) 69-79.
[2] J.J. Craig, Introduction to Robotics: Mechanics & Control (Addison-Wesley, Reading, MA, 1988). [3] H. Kasahara, H. Fujii and M. Iwata, Parallel processing of robot motion simulation, Preprints of 10th World
Congress on Automatic Control Vol. 4, Germany (1987) 340-345. [4] K. Hashimoto and H. Kimura, A new parallel algorithm for inverse dynamics, Int. J. Robotics Res. 8 (1989)
63-76. [5] K. Hashimoto, K. Ohashi and H. Kimura, An implementation of a parallel algorithm for real-time model-based
control on a network of microprocessors, Int. .I. Robotics Res. 9 (1990) 37-47. [6] K. Desoyer, P. Kopacek and I. Troth, Industrieroboter und Handhabungsgerate: Aufbau, Einsatz, Dynamik,
Modellbildung und Regelung (Oldenbourg, Miinchen, 1985). [7] R.P. Paul, Robot Manipulators: Mathematics, Programming, and Control (MIT Press, Cambridge, 1986, 7th Ed.).
top related