a novel parallel recursive newton-euler algorithm for modelling

14
&&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

Upload: adilthegreat

Post on 10-Apr-2015

172 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

&&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

Page 2: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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

Page 3: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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~)

Page 4: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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),

Page 5: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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.

Page 6: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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,+,.

Page 7: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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.

Page 8: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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)

Page 9: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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)

Page 10: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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)

Page 11: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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

Page 12: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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

Page 13: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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

Page 14: A Novel Parallel Recursive Newton-Euler Algorithm for Modelling

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.).