extraction and computation of identifiable parameters in robot dynamic models: theory and...

9
Extraction and computation of identifiable parameters in robot dynamic models: theory and application A.Y. Zomaya Indexing terms: Robot dynamic models, Identifiable parameters, Algorithm Abstract: The accuracy of robot dynamic models plays an important role in the design of stable and robust robot controllers, The accuracy of these dynamic models is largely dependent on the precise measurement of robot dynamic parameters (e.g first moments, radius of gyration matrix, etc.). Towards this end, algorithms for the identification of these parameters need to be developed to obtain dynamic models with high fidelity, which will ultimately improve the future designs of robot controllers. This work aims to provide a viable solution to this problem. A simplified model of the dynamics is used to extract and group the dynamic parameters of a robot manipulator. The resulting equations are mapped onto a network of parallel processors to speed up the rate of compu- tations and enable real-time implementations. The efficiency of the algorithm is demonstrated by a case study. 1 Introduction Model based robot control schemes require the inclusion of the dynamical model of the robot arm in the ‘control law’ [ l , 141. Hence, it is necessary for robot dynamics to be modelled accurately. However, the dynamics consist of a set of second-order, nonlinear, and highly coupled partial differential equations. This fact has always posed a major bottleneck in the implementation dynamic based controllers. Many algorithms have been developed for the computation of the dynamics in the last decade or so, and this can be seen in the well documented literature on the subject [18]. The reliance of most model based control algorithms on the accurate derivation of arm dynamics is barely practical when operating in real-time because of the time- varying nature of the robot arm. This is due to several reasons, for example, the nonuniform mass distribution of the different links, the high degree of coupling among links, and the effects of handling loads by the end effector [20]. These issues need to be addressed and solutions incorporated during the model development stage. 8 IEE, 1994 Paper 9870D (C9), received 18th May and in revised form 15th Septem- ber 1993 The author is with the Department of Electrical and Electronic Engin- eering, The University of Western Australia, Nedlands, Perth, Western Australia 6009, Australia 48 Robot dynamic models are usually defined using two kinds of parameters. The first is ‘kinematic’ parameters, which define homogeneous transformations between suc- cessive links. These parameters can be easily formulated [19]. The second kind is the ‘dynamic or inertial’ param- eters consisting of the mass, centre of mass and the inertia parameters of each link. The measurement of the dynamic parameters involves excessive computations. Several techniques for the measurement of these proper- ties can be found in the literature [l, 9, 10, 151. However, most of these techniques incur a heavy computational load which hinders real-time applications. In general, the problem to be solved is threefold: (i) The dynamic mode of the robot must be simplified in a way which makes the extraction of the dynamic parameters systematic. (ii) The robot model must be linear in the dynamic parameters to enable the use of linear identification tech- niques [13]. The Lagrange-Euler (LE) model for robot dynamics is linear in the dynamic parameters, while the Newton-Euler (NE) model of the dynamics is nonlinear in these parameters. However, with some modification the NE could be linearised in the dynamic parameters (iii) The computation of robot dynamics is a very intensive task due to the large number of multiplications and additions involved. The computation of the dynamics must be made fast, efficient, and viable in terms of cost to enable real-time implementations. It is well known from the literature that the NE is computationally more efficient than the LE [22]. This work addresses the previous three factors and attempts to propose an efficient solution to the problem as follows: (i) A systematic procedure is developed to extract the dynamic parameters from the dynamic model of the robot. This procedure employs the LE formulation of the dynamics since it is linear in the dynamic parameters and it is more systematic than the NE formulation [20]. (ii) For the computation of the dynamic model the NE is employed since it has less hardware requirements and it costs a fewer number of multiplications and additions than the LE [22]. (iii) Finally, the algorithm is mapped on to a network of parallel processors to speed up the rate of computa- tions. c111. The author would like to acknowledge the support of the Australian Research Council. IEE Proc.-Control Theory Appl., Vol. 141, No. I, January I994

Upload: ay

Post on 19-Sep-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

Extraction and computation of identifiable parameters in robot dynamic models: theory and application

A.Y. Zomaya

Indexing terms: Robot dynamic models, Identifiable parameters, Algorithm

Abstract: The accuracy of robot dynamic models plays an important role in the design of stable and robust robot controllers, The accuracy of these dynamic models is largely dependent on the precise measurement of robot dynamic parameters (e.g first moments, radius of gyration matrix, etc.). Towards this end, algorithms for the identification of these parameters need to be developed to obtain dynamic models with high fidelity, which will ultimately improve the future designs of robot controllers. This work aims to provide a viable solution to this problem. A simplified model of the dynamics is used to extract and group the dynamic parameters of a robot manipulator. The resulting equations are mapped onto a network of parallel processors to speed up the rate of compu- tations and enable real-time implementations. The efficiency of the algorithm is demonstrated by a case study.

1 Introduction

Model based robot control schemes require the inclusion of the dynamical model of the robot arm in the ‘control law’ [l, 141. Hence, it is necessary for robot dynamics to be modelled accurately. However, the dynamics consist of a set of second-order, nonlinear, and highly coupled partial differential equations. This fact has always posed a major bottleneck in the implementation dynamic based controllers. Many algorithms have been developed for the computation of the dynamics in the last decade or so, and this can be seen in the well documented literature on the subject [18].

The reliance of most model based control algorithms on the accurate derivation of arm dynamics is barely practical when operating in real-time because of the time- varying nature of the robot arm. This is due to several reasons, for example, the nonuniform mass distribution of the different links, the high degree of coupling among links, and the effects of handling loads by the end effector [20]. These issues need to be addressed and solutions incorporated during the model development stage.

8 IEE, 1994 Paper 9870D (C9), received 18th May and in revised form 15th Septem- ber 1993 The author is with the Department of Electrical and Electronic Engin- eering, The University of Western Australia, Nedlands, Perth, Western Australia 6009, Australia

48

Robot dynamic models are usually defined using two kinds of parameters. The first is ‘kinematic’ parameters, which define homogeneous transformations between suc- cessive links. These parameters can be easily formulated [19]. The second kind is the ‘dynamic or inertial’ param- eters consisting of the mass, centre of mass and the inertia parameters of each link. The measurement of the dynamic parameters involves excessive computations. Several techniques for the measurement of these proper- ties can be found in the literature [l, 9, 10, 151. However, most of these techniques incur a heavy computational load which hinders real-time applications. In general, the problem to be solved is threefold:

(i) The dynamic mode of the robot must be simplified in a way which makes the extraction of the dynamic parameters systematic.

(ii) The robot model must be linear in the dynamic parameters to enable the use of linear identification tech- niques [13]. The Lagrange-Euler (LE) model for robot dynamics is linear in the dynamic parameters, while the Newton-Euler (NE) model of the dynamics is nonlinear in these parameters. However, with some modification the NE could be linearised in the dynamic parameters

(iii) The computation of robot dynamics is a very intensive task due to the large number of multiplications and additions involved. The computation of the dynamics must be made fast, efficient, and viable in terms of cost to enable real-time implementations. It is well known from the literature that the NE is computationally more efficient than the LE [22].

This work addresses the previous three factors and attempts to propose an efficient solution to the problem as follows:

(i) A systematic procedure is developed to extract the dynamic parameters from the dynamic model of the robot. This procedure employs the LE formulation of the dynamics since it is linear in the dynamic parameters and it is more systematic than the NE formulation [20].

(ii) For the computation of the dynamic model the NE is employed since it has less hardware requirements and it costs a fewer number of multiplications and additions than the LE [22].

(iii) Finally, the algorithm is mapped on to a network of parallel processors to speed up the rate of computa- tions.

c111.

The author would like to acknowledge the support of the Australian Research Council.

IEE Proc.-Control Theory Appl., Vol. 141, No. I , January I994

Page 2: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

2 Robot dynamics

The dynamic equations of a robot arm can be expressed as a compact state-space formulation:

it is a rather modified form of the LE where the dynamic parameters are directly extractable (see eqns. 34-36) [20].

4 The learning algorithm

T ( t ) = D(@)@(t) + C(@, 6) + H ( @ ) (la)

where

~ ( t ) E R"; applied force/torque vector for joint actu-

O(t), 6(t), and @(t) E R" vectors representing posi-

D(0) E R"""; effective and coupling inertia matrix. C(0, 6) E R"; Coriolis and centripetal effects

H ( 0 ) E R"; gravitational force vector, where ( N ) is

ators.

tion, velocity and acceleration, respectively.

vector.

the number of degrees of freedom (dof).

Eqn. la can be written explicitly as: N N '. 1.

T X C ) = d i j a j + 1 Ojcjk(i)6, + hi j = I j = 1 k = l

i = l , . , . , N (lb)

The dynamic model used in this work is an extension of a formulation developed by Zomaya and Morris [20]. A summary of the equations is given in Appendix 9.1. By using eqns. 34-36, eqn. 1 can be rewritten as a function of the dynamic parameters,

T i =f ( W ) ( 2 4 where w represents the dynamic parameters vector. Now, a more explicit form of eqn. 2a can be written as:

T. = c (4 v) effective and coupling inertia

+ (wfjv) + 2 (w'ijv) (26)

where v is a constant. Eqn. 2 makes the extraction and regrouping of the dynamic parameters more systematic. This property will be shown to be useful in the next two sections.

Coriolis ond centripetal grovitvtionol

To identify the dynamic parameters of the model, the problem must be recast in a form suitable for the applica- tion of least squares techniques (RLS). This implies that the torque/force equation of link i must be formulated as a regression function 161 :

t i ( j ) = XR,@,(j) j = I , z , . . . , m (5) k = l

where I and m are the number of parameters to be identi- fied and number of measurements, respectively. In this case, the regression coefficients R, are the dynamic parameters of the robot model. Eqn. 5 allows for the use of a closed-loop identification scheme, which is based on using a model subject to the same input as the system. Then the parameters of the model are adjusted so that the error between the output of the system and that of the model is minimised according to a given criterion (Fig. 1). For example, an RLS technique can be used to

I I l l I ' I 1

/ b , A ' 2 t I I 3 The inertial parameters of a robot manipulator

In this Section the assumption made is that the model is structurally correct and all uncertainty arises from incor- rect parameters values, which is known as structured uncertainty [4].

The set of identifiable parameters for each link I can be denoted by the vector:

(3) The kinematic parameters and the actual value of links' masses are assumed to be known and the problem is one of estimating the dynamic parameters only. Hence, eqn. 3 reduces to:

Therefore, for an N link robot manipulator (9N) dynamic parameters need to be measured or identified.

A similar approach to that of An et al. [l] and Khosla [ l l ] is used in this work but, in this case, the dynamics of the model are derived from the LE formulation which has been shown to be linear in the dynamic parameters. It is important to emphasise the fact that the technique used in this work is not based on the original LE or NE,

Fig. 1 Stanford arm

estimate the dynamic parameters of the model. Since R in eqn. 5 is an unknown parameter-vector, it can be replaced by an adjustable vector R identified in the parameter adaptation mechanism. A typical example of an identification algorithm is given in Table 1 [13, 161.

5 Exemple

In this Section an attempt will be made to formulate the R and CD vectors. The first 3-dof (positioning system) of the Stanford arm in Fig. 2 are used to demonstrate the

IEE Proc.-Control Theory Appl . , Vol. 141, No. I , January 1994 49

Page 3: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

proposed scheme. For more information on the Stanford arm the reader is referred to Reference 17. The vectors R and @ of the estimated dynamic parameters and the kine- matic parameters and output measurements, respectively.

Table 1 : A typical RLS algori thm

Let the output of the predictor shown in Fig. 1 be:

?(k) = f i ' ( k ) @ ( k )

e (k) = ? ( k ) - f ( k )

Based on the identification error;

the equation for the recursive least-squares identification algorithm will be:

b ( k ) = f i (k - 1 ) + L(k )e (k )

1 A

P (k ) = - [ I - L ( k ) @ T ( k ) ] P ( k - l )

0 < A < 1 (forgetting factor)

P ( 0 ) z 0 (positive definite gain matrix)

I (identity matrix)

I I r ( t )

I - I & F-& robot dynamics e m -+i model

I 7 I dynamic parameters

recursive least squares

L I

Fig. 2 eters computations

Typical model based identification strategy for dynamic param-

Now, by referring to eqn. l b the torque equation of third link can be written as follows:

=3 = D 3 1 q l + D32 q 2

+ D33 i s + C:,q: + C:, 4: + H , (6) to evaluate eqn. 6 the following (6, d, r ) vectors are required:

Now, by substituting these values into eqns. 34-36, the elements of eqn. 6 can be completely evaluated. The detailed derivation is shown in Appendix IO.

50

By using eqns. 37-42, T , can be rewritten in a form similar to that of eqn. 2, i.e.

T 3 = W:4( - e - S2 C2 4:) + wZ4( - s * e,) + w:4( -s: e: - 8:) + c (7)

where C = w:~( - s 2 d , 8, + 4, - si d , 8: - d3 0: - g) and it is a constant term. Hence, the R and @ vectors for the third link can be given by:

= CW:, 4 4 (8) @ T = [ - ( e 2 + S 2 C 2 0 : ) - s 2 e , -(sf4:+8:)] (9)

ny = [w:4 w:4 (w:i + W ? I ) (W:, + w:dl

In a similar procedure, the equations can be derived for links (i) and (ii),

(10)

@: = [d2 s2 0, - d 2 c2 0, (8, + s2 c2 0:) (0, - s2 c2 b:)] (1 1)

(12)

(13) From the previous equations, it can be said that not all of the nine dynamic parameters of each link have to be identified at the same time, but only that part of them which affects the force/torque of each link [ll]. In addi- tion, some of the parameters appear in linear com- bination of each other such as ( w i 3 + w:, + w:, + w:,) in eqn. 12. In summary, the procedure for extracting the dynamic parameters can be written as follows:

ny = [ (w:, + w:, + w:z + w:J w:J

@; = [e , 2d2 e , ]

(i) Formulate 6, d, and r vectors. (ii) Use eqns. 34-36 to express each term of the torque/

(iii) Write the resulting terms in a form similar to eqn. force equation eqn. 1.

L.

(iv) Form R and @ vectors.

The proposed algorithm is easier to use as compared to the derivation of the dynamic parameters based on the original LE or NE [I, 10, 111. This algorithm can be directly employed to generate dynamic parameters expressions using symbolic programming software (e.g. MAPEL, MACSYMA).

6 Implementation

In this Section the proposed algorithm is used to compute the dynamic parameters of the first three links of the Stanford arm used in the last Section. In this case, the implementation is twofold: the computation of the dynamic model of the robotic arm, and the computation of the RLS algorithm given in Table 1. The computation of the dynamics is by far a more demanding effort which requires excessive computing time. In addition, for prac- ticality purposes the computing system should use a minimum number of resources (processors) that provide maximum performance gain. Towards this end, a parallel processor system will be used to compute the dynamic equations of the robotic arm. This requires the proper mapping of the dynamics from a sequential form into a parallel structure of computations. In this work, the choice was made to use the NE formulation for the dynamics since it requires less computer hardware to implement within a parallel framework [22].

6.1 Several parallel architectures have been proposed by researchers for the computation of robot dynamics [2, 8,

Parallel computations for robot dynamics

I E E Pruc.-Control Theory Appl., Vol. 141, Nu. I , January 1994

Page 4: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

12, 21, 23, 241. The basic idea is to divide the dynamic equations into several smaller computational tasks. Then, these tasks should be distributed optimally onto a given number of processors to achieve the fastest execution time. For practical considerations, the number of pro- cessors involved should be kept as small as possible, if a cost-effective solution is to be found [22]. The efficient distribution of these jobs onto a network of processors is called scheduling.

The scheduling problem is solved by the optimal dis- tribution of m jobs over p processors, while minimising the cost involved. In this case, the cost represents the overall execution time of the algorithm. In general, the scheduling problem is considered to be extremely ‘formidable’ to solve [3, 51. In addition, the likelihood of finding optimal tasks schedules for the computation of robot dynamics is impossible. The problem is further complicated by the varying execution times of the differ- ent tasks and the arbitrary number of application pro- cessors involved [22]. Therefore, such a problem has been classified to be a strong NP-complete problem.

Now for parallel processing purposes, the NE formula- tion for robot dynamics [l8] must be divided into smaller and simpler computational tasks. This applies to both phases of the algorithm, that is, the forward and the backward iterations. Note, that a task is represented as TFhase, where i and phase represent the task number and the phase (forward or backward), respectively.

6.1 . I Initialisation:

zo = (0 0 1)T

w 0 = h = O

i, = gzo

f,+ , = force exerted at the end effector

n,+ = moment exerted at the end effector

g = 9.8062 m/s2

6.1.2 Phase 1 (forward iteration):

Fori = 0, ..., N - 1 do;

(15)

cos Oi -sin Oi cos ai sin Oi sin ai T : : A i = sin Oi cos Oi cos ai -cos Oi sin ai l o sin ai cos ai

T i : pi = ai sin ai [a i :s a ]

T ; : h i + z o 6 i + l + w i x ( Z 0 O i + J (16)

Ti : wi + z o O i + I (17)

T i : cui+, = T : x T: (18)

TA: = T i x T i (19)

T:: T : x vi (20)

x b i + l x Pi+A (21)

(22)

(24)

(25)

T i : ; i + l = T : + hi+1 x pl+l + wi+ l

G : h 1 + 1 x S I + , + wi+1 x @ I + I x % + I )

T i 1 : Y i + l = 7-k + T i

T : 2 : Fi+, = mi+, x T i ,

T:o:Ni+i = J i + i h i + i + wi+i x (Ji+lwi+1) (23)

End (phasecl);

I E E Proc.-Control Theory Appl., Vol . 141, No. I , January 1994

6.1.3 Phase 2 (backward iteration):

Fori = N, ..., 1 do;

G:fr = T:cfi+11 + Fi

End (phase-2);

where,

A , and p l : transformation matrix and position

wi and hi: angular velocity and acceleration of the

ui: linear acceleration of the ith coordinate frame. Y,: linear acceleration of the centre of mass of link

Fi and Ni: net force and moment exerted on link i,

fr and ni: force and moment exerted on link i by

si: position of the centre of mass of link i. 5,: inertia tensor matrix of link i about its centre of

mi mass of link i.

vector of the ith coordinate frame, respectively.

ith coordinate frame, respectively.

i.

respectively.

link i - 1, respectively.

mass.

Eqns. 14-31 show that the total number of tasks that need to be scheduled is 18 tasks. Tables 2 and 3 give the Table 2: Number of omrations (forward iteration)

Computations

Task Multiplications Additions Subtractions

T: 4 0 Tk 2 0 TA 2 2 TL 0 1 TA 9 6 TA 9 6 T: 9 6 TA 18 15 TA 18 12 Ti , 24 18 Ti, 0 3 T ! - 3 0

Table 3: Number of operations (backward iteration)

Computations

Task Multiplications Additions Subtractions

9 6

E 6 6 6 4

r : 9 r : 9 r : 6 3

G O E 2

number of floating point operations (multiplications and additions) required to compute each of the tasks described in eqns. 14-31.

A scheduling algorithm needs to be used to organise the different tasks (or processes) in a way that achieves fast execution time of the complete algorithm. The differ-

51

Page 5: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

ent tasks must be assigned to a set of identical processors. Although each processor is capable of executing each of the tasks, no processor can execute more than one task at a time. In addition, when a processor begins to execute a task T , it must continue executing the task until T is completed.

In this work, a heuristic scheduling scheme is used, which is a combination of both first fit decreasing FFD and the best-fit decreasing BFD rules. The combined scheme FFD/BFD is applied to a predefined prioritised list of tasks. The first fit F F and the best fit BF rules are given [7]. In this case, a task is assigned to the lowest index processor available, and the best available pro- cessor (the best available processor is defined in as the processor with the minimum idle time), respectively. Two problems are generally encountered when applying the FF rule. First, after few passes, several time-gaps ki would emerge within one or more processors, for which none of the remaining tasks would fit. Second, and owing to the first problem, searching for a suitable processor gets more difficult as the scheduling passes proceed.

The parallel computation of the problem can be rep- resented by a directed static graph S = V , E , whose ver- tices ui E V represent processes and whose edges eij E E represent communication paths. A task-graph represent- ing the NE algorithm is given in Fig. 3. The graph shows

Fig.

i/

3 Task graph representation of parallel ( N E ) algorithm

the different tasks and the different levels of priority exist- ing between the different tasks. In addition, the graph shows the data dependency between the two phases of the NE algorithm. Note that the graph is a restricted model in that it does not allow new nodes or edges to be created during run time.

The total computation time can be estimated from the task graph. The execution time of the complete schedule is determined by evaluating the cost of computation of

52

each level, that is: m

Clevel = MAX 7;

i

( 3 2 )

where CIeDel and m represent the cost of computation and number of tasks in a single level. Therefore, the total cost of the complete algorithm can be approximated by:

k

Crml = CCk"dj (33) j

where k is the number of levels in the task graph. The task graph shows that the total number of multi-

plications and additions required to compute the dynamics is 57N multiplications and 46N additions. This shows a reduction of 62% and 60% in the number of multiplications and additions, respectively, when com- pared to the sequential implementation of the NE [IS].

Now, the parallel computation for the dynamics must be incorporated with the RLS algorithm so that the dynamic parameters can be computed. This details of this process are described in the next Section.

6.2 Results The dynamic parameters of the three-link robot arm are identified by starting with link 3 and working back- wardly to link 1. This means that the total number of dynamic parameters is not identified by running the algo- rithm once. The algorithm is executed three times accord- ing to the number of links. At each phase one set of dynamic parameters is identified. The idea behind the recursive nature of the identification, that is, starting from link 3 and ending at link 1, stems from the fact that the torque/force model of link 3 or link N depends only on the dynamic parameters of link 3. While the torque/ force model of link 2 (or link N - 1) depends on the dynamic parameters of link 3 and 2, and so forth.

For each iteration of the whole algorithm the dynamics of the robot and the RLS (Table 1) need to be computed once. It will take several iterations of the algo- rithm to compute the full set of dynamic parameters.

Fig. 4 shows a network of eight processors which is used to execute the complete algorithm. It can be seen

c

, _ _ _ _ _ . . . _ . . _ - . _ _ _ _ _ I ' J 1,: I

dynamic parameters

Fig. 4 eters

from Fig. 4 that only the dynamics are computed in parallel while the RLS algorithm is executed using a single processor. This is due to the fact that the dynamics are computationally more demanding than the RLS algorithm. Moreover, and for practical reasons, the number of processors need to be limited to a reasonable minimum.

Parallel processor network for Computation oJ dynamic param-

I E E Proc.-Control Theory Appl., Vol. 141, N o . I , January 1994

Page 6: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

A parallel processor development system consisting of a combination of the INMOS-T800 transputers. The model and system dynamics are distributed on to three processor networks, while the RLS algorithm is executed on one processor. For each iteration the following sequence of events takes place:

(i) The processor Po in .level 1 is the master of the network. The values of (0, 8, 6’) are sent to two identical subnetworks (satellite processors) in level 2.

(ii) The two subnetworks in level 2 will compute the dynamics of both the system and the model. The valpes of the exact and estimated force/torque f ( t ) and f( t) , respectively, are sent to processor P, in level 3.

(iii) Processor P, in level 3 will compute one iteration of the RLS algorithm.

(iv) Repeat until convergence is achieved.

I t was found that it takes an average of 0.75ms and 0.04 ms to execute one iteration of the NE dynamics and the RLS algorithm, respectively. This indicates that the computation time of the dynamics is greater than that of the RLS algorithm ( E 19 : 1). Overall, it takes 0.9 ms to execute the complete algorithm once. Note that, the total computation time of the whole algorithm does not equal to the sum of the computation times of the dynamics and the RLS algorithm only. The communication time between the different processors must be taken into account. Table 4 gives the computation times required to compute the dynamic parameters for the three-link arm.

Table 4: Computa t ion t i m e f o r a 3-link a r m

Computing time

Link 1 Link 2 Link3

0.036 0.072 0.054

This shows that the parameters of a three-link robot arm can be computed within 0.2 seconds. The above algorithm is general enough to be applied to any type of robot manipulators with varying degrees of freedom. In addition, the computing power can be further expanded by adding more processors. However, care should be exercised when adding more processors by properly bal- ancing the computational load and minimising the com- munication time so that the overall performance will not deteriorate.

7 Summary and conclusions

This work presented a systematic procedure to solve the problem of computing the dynamic parameters of a robot arm efficiently. The procedure was based on a simplified form of the dynamics. Further, an implementation of the algorithm on a parallel processor system was realised and showed that the dynamic parameters of a three-link robotic arm can be computed within real-time con- straints.

8 References

1 AN, C.H., ATKESON, C.G., and HOLLERBACH, J.M.: ‘Model- based control of a robot manipulator’ (MIT Press, Cambridge, Mas- sachusetts, 1988)

2 CHEN, C.L., LEE, C.S.G., and HOU, E.S.H.: ‘Efficient scheduling algorithms for robot inverse dynamics computation on a multipro- cessor system’, IEEE Trans., 1988, SMC-18, (5). pp. 729-743

3 COFFMAN, E.G.: ‘Computer and job-shop scheduling theory’ (Wiley, New York, 1976)

4 CRAIG, J.J.: ’Adaptive control of mechanical manipulator’ (Addison-Wesley, Reading, Massachusetts, 1988)

IEE Pro<.-Control Theory Appl., Vol. 141, No. I , January 1994

5 GAREY, M.R., and JOHNSON, D.S.: ‘Computers and inter- actability: a guide to the theory of NP completeness’ (W.H. Freeman, San Francisco, 1979)

6 HSIA, T.C.: ‘System identification: least squares methods’ (Lexington Books, Massachusetts, 1977)

7 HU, T.C.: ‘Combinatorial algorithms’ (Addison-Wesley, Reading, Massachusetts, 1982)

8 KASAHARA, H., and NARITA, S.: ‘Parallel processing of robot- arm control computation on a multi-microprocessor system’, IEEE J., 1985, R A - I , ( ~ ~ , pp. 104-113

9 KAWASAKI, H., and NISHIMURA, K.: ‘Terminal-link parameter estimation of robotic maniolators’. IEEE J., 1988. R A 4 (9, PP. .. 485-490

IO KHOSLA, P.K., and KANADE, T.: ‘An algorithm to estimate manipulator dynamics parameters’, Int. J . Robot. Automat., 1987, 2, (3), pp. 127-135

1 1 KHOSLA, P.K.: ‘Categorization of parameters in the dynamic robot model’, IEEE Trans., 1989, RA-5, (3)

12 LEE, C.S.G., and CHANG, P.R.: ‘Efficient parallel algorithm for robot inverse dvnamics comuutation’, IEEE Trans.. 1986, SMC-16, (4), pp. 532-54y

recursive identification’ lMIT Press. Massachusetts. 1983) 13 LJUNG, L., and SODERSTROM, T.: ‘Theory and practice of

~~~ ~ ~~

14 MARKIEWICZ, B.R.:‘ ‘Analysis ‘of the computed torque drive method and comparison with the conventional position servo for a compuler controlled manipulator’. NASA-JPL technical memoran- dum, 33-601, Pasadena, CA, 1973

15 MAYEDA, H., OSUKA, K., and KANGAWA, A.: ‘A new identifi- cation method for serial manipulator arms’, in ‘9th IFAC Congress, Budapest, Hungary, 1984,5, pp. 74-79

16 MIDDLETON, R.H., and GOODWIN, G.C.: ‘Digital control and estimation: a unified approach’ (Prentice-Hall, Englewood Cliffs, New Jersey, 1990)

17 PAUL, R.P.: ‘Robot manipulators: mathematics, programming, and control’ (MIT Press, Cambridge, Massachusetts, 1981)

18 SCHILLING, R.J.: ‘Fundamentals of robotics: analysis and control’ (Prentice-Hall, Englewood Cliffs, New Jersey, 1990)

19 STONE, H.W., SANDERSON, A., and NEUMAN, C.P.: ‘Arm sig- nature identification’, in Proceedings of the 1986 IEEE conference on robotics and automation, San Francisco, CA, 1986

20 ZOMAYA, A.Y., and MORRIS, AS.: ‘The dynamic performance of robot manipulators under different operating conditions’, IEE Proc. D. 1990, CTA-137, (3, pp. 281-289

21 ZOMAYA, A.Y.: ‘Efficient robot dynamics for high sampling rate motions: case studies and benchmarks’, Int. J . Contr., 1991, 42, (4), pp. 793-814

22 ZOMAYA, A.Y.: ‘Modelling and simulation of robot manipulators: a parallel processing approach’ (World Scientific Publishing, Singa- pore, 1992)

23 ZOMAYA, A.Y., and MORRIS, A.S.: ‘Parallel computation of robot inverse dynamics for high speed motions’, IEE Proc. D, 1992, CTA-139, (2), pp. 226-236

24 ZOMAYA, A.Y.: ‘Highly efficient transputer arrays for the compu- tation of robot dynamics’, Concurrency: Pract. Exper., 1992, 4, (2). pp. 186-205

9 Appendix (robot dynamic model based on the Lagrange-Euler)

9.1 Effective and coupling inertia terms

D . . ,, = f tr(A: W I A f T ) = f AI I = mox (i. j ) 1 = m a x (i, j )

where

(34)

53

Page 7: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

9. I . 1 Coriolis and centripetal terms:

C! = $ tt(AiAi WiAfT) = $ r1 (35) " l=mox( i . j ,k ) i=rnox(i , j ,kl

where

where w:, and ri are the mass and the centre of mass of link (0 respectively, and

- ca6iyl cas. - sasi, T i = I

Lsadi, + cadi,Jl where sa and cu are sin (a) and cos (a) respectively, wfi s are the elements of the radius of gyration matrix (W), and A is a differential perturbation matrix, and its elements are given by:

(-&lpfy-' + &'pf;')i i - 1 i - 1 i - 1 i - 1

df = ( - - o l X p l y + -oix p ix )i (- af; 'pi ; ' + a;; 'pf; ' )k (nf; ' i + of; ' j + af;'k)

(nf; ' i + of; ' j + ai; ' k )

rotational joint translational joint

rotational joint translational joint

r i o

Sf =

10

For the effective and coupling inertia terms, we have

Appendix (computing the different elements of eqn. 6)

3

(37) D,, = D,, = c A, = A3 1 = 3

where

which reduces to

+ ;;I[

9.1.2 Gravitational terms:

hi = - g c wfi4y1ri N

l = i

54

where

I

I E E Proc.-Control Theory Appl., Vol. 141, No. I , January 1994

Page 8: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

5 5 IEE Proc-Control Theory Appl., Vol. 141, No. I , January 1994

Page 9: Extraction and computation of identifiable parameters in robot dynamic models: theory and application

hence,

and finally, the gravitational effects:

56

- - - s w E

0

IEE Proc.-Control Theory Appl., Vol. 141, No. I , January 1994