Multivariable Self-tuning for Robotic Servo Applications

Multivariable Self-tuning for Robotic Servo Applications

Copyright © IFAC Ad"pti,'e Sy'tems in Control and Signal Processing. Lund. Sweden. 1986 MULTIVARIABLE SELF-TUNING FOR ROBOTIC SERVO APPLICATIONS W. W...

1MB Sizes 0 Downloads 91 Views

Copyright © IFAC Ad"pti,'e Sy'tems in Control and Signal Processing. Lund. Sweden. 1986

MULTIVARIABLE SELF-TUNING FOR ROBOTIC SERVO APPLICATIONS W. Wahab and P. E. Well stead Control S,vslellls Centre. University of Manchester Institute of Science and Technology, Manchester M60 IQD , UK

Abstract. The servo applications of multivariable self-tuning control are considered, with particular reference to pole-assignment synthesis for servomechanisms. The main idea is to separatel y synthesize the feedback and reference signal precompensator elements. The former being used to provide desired loop stability margins and the latter to shape the servo transient response. As an example, multivariable self-tuning is applied to an experimental electro-mechanical robot manipulator. Keywords. 1.

Multivariable; self-tuning; decoupling; pole- assignment; least squares; robotics .

INTRODUCTION

is to divide the functions of loop controller and pre-compensator between stability and loop bandwidth provision (for the former) and transient response shaping (for the latter). We now separately consider these functions and their associated synthesis rules .

The work described here forms part of a research programme into the use of multivariable self-tuning control of robot manipulator servomechanisms [1,2, 3,4] . In particular, the paper focusses upon the synthesis of multivariable self-tuning precompensators. Two techniques are described and one is demonstrated in its application to a three axis servo- driven research robot (Fig. 1). The more practical aspects of the manipulator control problem are described in the source thesis [1] and the companion report [4].

2 . 1 Closed-Loop Pole-Assignment Synthesis We elect to represent an m input/m output system by a discrete time matrix function description (MFD) [9]. A left- hand MFD relating the m-vector of inputs ~(t) and m- vector of outputs ~(t) is

The basic design philosophy adopted is that of pole-assignment. This approach to self - tuning is well - established [5,6,7,8] and is known to be particularly suited to servo mechanism problems of the kind encountered in manipulator control. Unfortunately, however, a particular feature of pole- assignment is that uncancelled open-loop zeros can cause the servo-transient response shape to be poor. In the multivariable case this involves the additional problem of undesireable closed-loop interaction between input/output channels . The main idea in this paper is to consider the multivariable controller synthesis problem in two parts . The first concerns the feed back controller; this is synthesized to give desired stability margins as encoded in a user defined pole set. The second part consists of the servo signal precompensator which is used as a servo response shaping tool.

~(t)

where I+A and B are relatively left prime polynomial matrices in the backward shift operator Z- l . Moreover, A and B have the form ~lZ

P

-n

- 1

+ .. . +~ Z

p

(2)

P

In addition, ~(t), ~(t) are sequences defined at the discrete time intervals t = O,±l , ±2 , . . . . The multivariable system (1) can also be written as a right - hand MFD as follows: (3)

yet)

The A,B and AB pairs are related by a pseudocommutative [10] relation, thus

Two solutions to the precompensator synthesis problem are discussed. One is generally applicable but computationally demanding . The second approach is more restrictive but suitable for fast, electromechanical servomechanisms, which are typified in modern assembly robots.

(4)

det(~)

where and

n

a

deg(.!.+~)

deg(.!.+~)

n-

a

deg(~)

The paper is laid out as follows - Section 2 outlines the design strategy and off-line algorithms. Section 3 describes implementation issues. Finally, the application of multivariable self-tuning to the Control Systems Centre research robot (Fig . 1) is reviewed.

deg(!) .

Pole- Assignment synthesis algorithms can be formulated for either of the system descriptions (1), (2) . Here we merely cite the form of each algo rithm . Further details are given in [7 , 8,1] . 2.1.1 Right - hand MFD form

2.

DESIGN PHILOSOPHY Consider the control law

As mentioned previously, the self - tuning design philosophy proposed for robot-servo applications

u(t)

289

(I+F)-l[ _ (G +G)y(t)+Hr(t)] -

-

-0 -

-

(5)

290

W. Wahab and P. E. Well stead dynamics.

Combining (3) and (2) gives the closed-loop equation B(I+T) -l HrCt )

--~cl

where

(6)

-

is used to denote the closed transfer

function and I+T is a desired closed loop characteristic polynomial which specifies the F,G +G polynomials through the pole-assignment-idgntity (I+F)(I+A) + (G +G)(B) -

-

-

-

-0 -

I+T

-

deg(~o+~)

g

and

n

= n-a - 1;

t = deg(.!.+!.)

n

f

deg(.!.+!)

nt; - 1

2 n-a + nt; - 1

The polynomial pre-compensator matrix H is designed separately and is discussed below (Section 2.2). Left-hand MFD form

2.1.2

C

where again 1 denotes the closed loop transfer function and- c th e closed loop poles are assigned using the identity [I+A][I+F] + B(G +G) = I+T -

-

-

-

(8)

-0 -

Moreover. the matrix polynomials !'~o+~ are related to the matrix polynomials (~o+~)'! by the pseudo-commutation (G +G) (I+F) -0 -

--

(I+F) -

-

(C- 0+G) -

(9)

Expressions (8) and (9) allow the loop controller polynomial to be synthesized. The pre-compensator H must be synthesized separately and in the section Which follows we consider two such pre-compensator synthesis methods. 2.2 Servo Precompensator Synthesis The precompensator polynomial H serves the essential role of ensuring that the-servo input/output response is acceptable. Here acceptability is quantified in terms of low interaction between input/output channels. and the nature of the step response shape for each channel . The precompensator H can be synthesized in anyone of a number of ways~ The simplest way is to select H as a scalar gain matrix which ensures zero steady state tracking error. For example, for G 1 defined by (6) this is achieved by selecti~g H such that H

{[I+T]ii- l } - Z=l

(10)

In many servo applications. such a procedure. although simple. involves unacceptable transient performance and loop interaction. 2.2.1

which leads to the closed loop description ( 11) in which the user specified I+T polynomial can be used to directly determine loop transient interaction and step response shape. Similar (but less neat) results can be obtained for the left hand MFD description [1,8]. In a similar vein it should be noted that B can be directly cancelled o~~e the loop by selecting H (for the right hand MFD case) as ( 12)

H

Consider the control law (5) applied to the left hand MFD form of (1). Combining (5) and (1). it can be shown that the closed-loop equation of the system takes the form

-

(lb)

(la)

where for a unique solution we require n

In the specific case of the right hand MFD form zeros can be cancelled in the feedback loop using the synthesis algorithm:

Zero cancellation precompensator

If the open loop process is minimum phase and has a known time delay in each transmission loop, then a synthesis process which cancels the open loop zeros is applicable. In most robot servomechanisms the system transport delays are known [1) to be zero (unless significant computation delays occur in the control computer). By the same token. it can readily be shown [4) that many manipulators are characterised by minimum phase. second order

where ~d is the desired servo response transfer function. and the controller synthesis rule (7a) is applied. In the following section this policy of shaping the overall system frequency response o~~e the feedback loop is expanded upon in the case where B- 1 is non-invertible . 2.2.2 Frequency Response Shaping Precompensator [1] The zero cancellation procedure is not generally applicable for well known reasons of sensitivity and loop integrity [7,5]. An alternative procedure is to design H as a transient response shaping multivariable filter . In the frequency domain this idea can be interpreted as selecting H in (6) such that the B(I+T)-lH is as close as possible (in some sense) to-a-desired (diagonal) frequency response array. Note that the idea here is taken from the diagonal dominance techniques of Rosenbrock [9.11]. The precompensator synthesis approach adopted here is to select H such that the frequency response locus of the transfer function ii(I+T):lH is as close as possible (in the sense of a least squares criterion yet to be defined) to a desired frequency response array over a prespecified range of frequencies. The synthesis procedure followed is to select H to have the form H

( 13)

!!d !!s !!p ii

!!p = diag hii. i = 1 •. . •• m. and h is . p . th P the preshaping fllter for the 1 element of the reference input vector r(t). The choice of these filters is considered later. for the moment we can consider !!p to be the identity matrix. !!s is a

where

constant matrix used for gain scaling to ensure that for a constant reference signal there is zero steady state error . The term !!d in ~ is a diagonalizing polynomial matrix which we wish to synthesize . It takes the general form Bd = !!o + !!l z

- 1

+ !!2 z

-2

+ .• . + H z

- nH

( 14)

"H

where nH denotes the order of the polynomial matru Hd and specifies the desired complexity of the precompensator. The matrices tii' i = 0,1.2 • .. • n H are the coefficient matrices to be synthesized. The synthesis is performed by selecting a desired diagonal. closed- loop transfer function ma t rix Qd . The polynomial matrix tld is then determined such that the difference between the compensa t ed closed loop transfer function matrix [Qc tld) and the_ desired diagonal transfer function matrix Gd(z 1) is minimised over a suitable range of f r equencies

Robotic Servo Applications using a linear least squares curve fitting method. The complex fitting error ~i at each frequency wi is obtained from

29 1

where

1,2, ... ,N

( 15) where the Z operator in the matrice~ Qd' Qc an~ ~d has been replaced by the correspond1ng values in the frequency domain as follows, j Wi T jai and Z e e ( 16)

T

X

and T

~1 (aN)

where T is the controller sampling period used. In practice only the frequency range 0 < w. < ! w need be considered, where W = 2n/T is tfie s sampling frequency. The cor~esponding range of a· is 0

~

<

Cl i

n .

mj gd (a l )

~m(al)

T

~2(aN)

y. J

(2 1) l' gdJ(a ) N 2' gdJ(a ) N

1

The error function J to be minimized is based upon the product of ~i and its complex conjugate ~: (11), J

N

m

L

L

i=l j=l a.Ew;t 1

e .. e *.. 1J 1J

( 17)

where the notation Re[.] denotes the 'real part of [.]' and the asterisk indicates complex conjugation. Having found the polynomial matrix tl , then the d con trol law can be written as the fOIlowing :

where wet denotes the list of the nominated frequencies in the range of 0 to n rads. For the least squares procedure to have meaning , the number of frequency points in th e list, N, should be made larger than the total number of unknowns in the polynomial matrix ~d .

(22) where the gain matrix Us is calculated to ensure steady state tracking.

Equation (15) can be written in the usual linear model form, as follows: ( 18)

k,j

=

1,2, ... m;

1,2, . . . N

where m is the number of inputs and outputs, is the k,jth elements of Qd( a ), and i ~k(ai)T is a known data vector at frequency w or i angle ai given by: k1 - 1 k1 - n H kl km [gc'z gc , .. . ,z ge , . .. ,ge ' - 1 km

z

ge ,"', Z

- nH

( 19a)

kl In addition, gc (a i ) ; k,l = 1,m:

- 1

H

-J

1j 1j 1j 1 mj mj [h O ,h l ,h 2 , ... ,h , · · . ,h O ,h l , . ... nH (19b)

Equation (19) shows that each column of the poly nomial matrix H (z - l) can be calculated separately, d this is particuIarly useful on systems with many inputs and outputs, where computations would otherwise become unwieldy . The minimization of (1,) with respect to the vector yields

!2 j

0.

-J

[Re(XTX*) ]-1 [Re(xTy~)] J

(ii)

The feedb~c~ elemen:s !, .and Qo+~ .provide loop stab,l,ty marg1ns Vla the ch01ce of I+T. The precompensator shapes input/output transient and loop interaction characteristics.

The zero cancellation approach (Section 2.2 . 1) is simple but places restrictions upon the system transport lags and the open-loop system zeros . Fortunately, many servo driven robots meet these constraints , as will be explained in Section 4. In general, however, the frequency response shaping precompensator is more applicable. The following remarks concern this specific technique.

are the k,lth

elements of the transfer function matrix G (z ) -c at a frequency w· or direction angle ai' and z is defined by (14).' 0. is a vector of the elements of the jth- J columns of the coefficient matrix ~0'~1' " "~n which have the form 0~

IMPLEMENTATION ISSUES

The key philosophical point to the servo self- tuning procedure outlined here is that the role of feedback controller and servo-precompensator are distinct. Specifically, (i)

g/k' (a i )

T -1 ~k(z )

3.

j = 1,2, .. ,m (20)

(a) The choice of G is application depended. Our experience with rob~~ manipulators indicates that a simple diagonal Qd which retains the loop pole set specified by the pole-assignment identity is appropriate . If the open - loop zeros are known, it may be worthwhile including in the numerator of the diagonal elements Qd' This will inhibit the synthesized precompensator from attempting to cancel any inverse unstable zeros. (b) Closed- loop interaction amongst subsystems is usually most problemmatic in the frequency band around the zero gain crossover frequency of the open loop compensated system. It is therefore sensible to select I+T to give a wide-band feedback loop. The preshaping filter H can then be bandlimited well below the cut-off~requency of the closed loop system . One decade lower is usually appropriate. An easy way (in digital controllers) of implementing the preshaping filter ~p is to use signal ratelimiting. Alternatively, a first order low pass filter may be used. (c)

The minimization algorithm of Section 2.2.2

292

W. 'Yahab and P. E. Well stead

requires that a list of N frequency points be given at which the minimization will occur. Our experience indicates that N between 20 and 40 is a suitable choice. The trade-off is one of mcreased computational load as N increases, against a deteriorating frequency response fit as N decreases. In practice 20 equally spaced frequencies between o and ws /2 is a reasonable choice. (d) The selection of the degree of ~d has not been investigated in detail. However, experience with a range of servomechanism struc tures suggests that a second or third order ~d is adequate. For highly interactive loops a fourth or fifth order ~d is required. Higher order ~d seems computationally impractical for on-line (self-tuning) use. (e) The precompensator synthesis technique is incorporated into a self-tuning algorithm as follows: 1.

At initialization, a matrix [I+TJ is chosen to specify the desired closed-loap-pole locations in the z-plane, and the e stimator parameters are given suitable initial conditions.

2.

Form the vector y. for the given list of frequencies. Notice that this vector is constant as long as the frequency list is not changed.

3.

Read current output measurements and form the output vector ~(t).

4.

Estimate parameters of A and B.

5.

where

7.

Find coefficient matrices of tld using (20).

8.

Calculate the control u(t) using (22) and output to the plant.

a

Because of the simple form of the effective discrete time model (23), the zero cancellation precompensation procedure may be used. Moreover, self-tuning synthesis is further simplified since nG = l,nF = 1 in the synthesis equations. Using these facts, and operating on a left-hand MFD representation, it is possible to show that the control takes the form [.!+Z

Update the data vector in the estimator for the next iteration. 4.

APPLICATION

The CSC Research Robot

We now describe the application of self-tuning pole-assignment multivariable control to a robot manipulator . The CSC research robot (Fig . 1) is fully described in [lJ, here we describe only its main features . The manipulator is a five axis robot with revolute joints. For multivariable control purposes, three joints, the base, shoulder and elbow, display significant interaction, particularly in terms of load disturbances . The robot uses harmonic gearboxes driven through d.c. servo motors. Tachogenerators are used on a single input/single output basis to give velocity control of the three principal joints. Angular position information is provided using incremental encoders and appropriate circuitry. Dynamical models of manipulator arms may be readily obtained [e . g. 12J. In the case of the CSC robot such a model is described in [1,2,4). Using such models it can be shown that a suitable discrete time model of rigid joint manipulator has the form -1

-1

!:l)~(t)

(24)

d(t)

(25)

For user convenience, a simple desired closed- loop pole set was used with the form + T

where

[~+~lZ

are scalar 3x3 IIBtrices .

ii

Solve the pole assi2nment identity (7a) for F and G .

4.1

~1

where d(t) is a gravitational load disturbance rejectlon term given by

6.

9.

and

The 3-vector 0 (t) consists of the three primary joint angles;- u(t) is the vector of actuation signals, a(t) is vector of gravitational torque disturbances, v(t) is the vector of centrifugal torques and w(t) comprises the Coriolis torques . In principal~ £(t),~(t),~(t) can be constructed from kinematic relations and treated as measurable disturbances. In practice, it is noted that only very high performance manipulators require consideration of centrifugal and Coriolis effects. Thus the last two terms on the right-hand side of (23) can usually be neglected. Note also the pure time delay of two sample intervals in the actuation vector u(t) (23). A delay of one interval is intrinslc to discrete models of continuous processes. The remaining delay is associated with computation and signal processing time in the control computer.

Solve pseudo-commutation relationship (4) for ~ and

~l'~2'~2,cel'!?1

+~2Z

-2

)~(t)

tl

( 1 +Z

-1

t

1)

.1.

(26)

0.4

A sample rate of 500 mseconds was used, and Sanoff's (6) variable forgetting factor employed . Pre-filtering of the reference joint angles took the form of slew rate-limiting at a maximum of 1.0 radian/sample. The actuation signal was likewise slew-limited to a maximum of 5.0 volts/sample. In addition, a precompensator H was selected in the form of a scalar gain matrix-to ensure steady state decoupling (see 2.2 . 1) . Typical curves for the angular position output responses, together with the reference inputs are shown in Fig. 2 for the base, shoulder and elbow joints respectively . Further details of the robot self-tuning experiment appear in [1,4). Although initial tuning transients are obvious in all three joints, the controller tuned quickly . Joint interactions are relatively small on the CSC robot as configured for this example, and a simple static precompensation procedure is approp r iate (equation 10). However , for more advanced robot servo problems associated with flexible manipulator arms, it is anticipated that more complex interactions will occur. In such circumstances the response shaping pre - compensator of Section 2 . 2 . 2 will be of great utility . As a demonstration of how the method performs the results of a self - tuning ve r sion of the response shaping precompensator are summa r ised below . 4.2

A Multivariable System with Strong Interaction

(23) Consider the strongly coupled system (13) described

Robotic Sen"o Applictions

293 7.

by 1. where 2. ~1

!!1

0.8

-2.9

0.6

-1.4

0

:)

;

~2

B2

0.2

-1. 75

0.2

-0.95 3.

r- 0.4

0.6

l 0 .4

0 .6 4.

Note that this system is in fact minimum phase and could be controlled using a zero cancelling precompensator. However, for demonstration purposes we employ the response shaping algorithm of (2 . 2.2) . The desired transfer function matrix Qd was selected as 5.

o

o

(28) 1 -1

(1-0.6Z- )

6. In order to achieve an acceptab le fit, to this Qd' it was necessary to use a fourth order ~d' Under self-tuning the synthesised ~d was

7.

2

[(0 . 9984+0.8914Z- 1+0.2709Z- +0.3243Z- 3- 0.0234Z- 4 ) 2 [(0.0025+0 . 0922Z- 1-0.0329Z- +0.0491Z- 3-0.0205Z- 4 )

8.

1 2 4 (0.0101-5.5247Z- -0.1495Z- -2.6648Z- 3 +0.1340Z- ) ] (0.9580-1.0302Z- 1+0.5318Z- 2-0 . 4850Z- 3 +0.1129Z- 4 )

9. 10.

The resulting input/output behaviour for squarewave reference signals is plotted in Fig . 3; for further information see [1]. 5.

CONCLUSION

The aim of this paper has been to review the procedures for pole-assignment self-tuning of multivariable servomechanisms. The work was conducted as part of a research programme into the adaptive control of electromechanical manipulator arms. In this context, self -tunin g control of the CSC research robot is included as an illustrative example. The material presented here should be seen as a preliminary view of robot servomechanism self tuning . Since, as in all practical projects, much remains to be done at the hardware level before further algorithmic developments may wisely proceed. In particular, a need is seen for high performance control processors of the TMS 32010 type to be developed for coordinated joint control. Then developments of the algorithms considered here could be pursued to take specific advantage of the controller architecture and new developments in self tuning methods [14]. 6.

ACKNOWLEDGMENTS

This work was jointly funded by The British Council and the U. K. Science and Engineering Research Council. The harmonic drive gearboxes and servo motors were supplied by Harmonic Drives Ltd . , who also provided additional engineering support.

11 .

12. 13. 14.

REFERENCES

Wahab, W. (1985). Adaptive Control of Robot Manipulator. Ph.D. Thesis, Control Systems Centre, UMIST, Manchester. Wahab, W. (1984). Dynamical Modelling and Simulation of a Manipulator Arm. Control Systems Centre Report No. 598, UMIST, Manchester. Wahab, W. (1984). Model Order Determination and Parameter Identification of a Linear Model of a Robot Manipulator Arm. Control Systems Centre Report No. 602, UMIST, Manchester. Wahab, W. and P.E. Wellstead . Practical Implementation of Self-Adaptive Manipulator Servo Controllers. To appear. (See also Pole Assignment Self-tuning Control of a Robot Manipulator Arm, given at The IEEE Control Chapter Meeting at the University of Hull, 1985.) \,ellstead, P.E . and J.M. Edmunds (1979) . Self-Tuning Pole/Zero Assignment Regulators. Int. J. Control, vol. 30, 1, 1-26. Wellstead, P.E. and S.P. Sanoff (1981). Extended Self-tunin g Algorithm. Int. J. Control, vol . 34, No. 3, 433-455. Prager, D.L. and P.E. Wellstead (1980) . Multivariable Pole-Assignment Self- tuning Regulator. lEE Proc., vol. 128, Pt. D, No . 1, 9-18. Elliot, H., W. A. Wolovich and M. Das (1984). Arbitrary Adaptive Pole Placement for Linear Multivariable Systems. IEEE Trans . on Auto. Control, vol . AC-29, No . 3,22 1-228. Rosenbrock, H. H. (1971). State Space and Multivariable System Theory. Academic Press, London. Wolovich, W. A. (1978). Multivariable Systems . Springer Verlag, Berlin. Edmunds, J.M. (1979) . Control System Design and Analysis Using Closed-loop Nyquist and Bode Arrays . Int. J. Control, vol. 30, No. 5, 773- 802. Paul, R.P. (1981) . Robot Manipulators. MIT Press, Cambridge, Massachusetts. Prager, D. L . (1980). Self-tuning Control and System Identification. Ph . D. Thesis, Control Systems Centre, UMIST, Manchester. Goodwin, G. C., D.J. Hill and M. Palaniswami (1985). Towards an Adaptive Robust Controller . The 7th IFAC/IFORS Symposium on Ident. and Syst. Para. Est., vol. 1, York, U.K., 997 1002.

294

W. Wahab and P. E. Wellstead

Fig. 1

The Control Systems Centre Research Robot

""k3 '. I

\

" ,) "{,o,nt

+

"I.

Wnat ;0,"1

:ffF=C 'od JOI"'

047 027

0

0·07

VI

c:

·0 13

.~ '0

0 ~

QJ

g.o ·049 c: • 0 '67

~

91

·086

'1 14

·1 ·04 ·123

·1 · 55

·1 34

(a) The base joint response

(b)

The shoulder joint response

0

VI

067

~

0·39

c:

'0

~

0·10

~

·010

c: '" 0

c

~

·34

0·52

Fig. 2

041~

'0 ·75 ·1-04 '133

(e) The elbow joint response

Reference and Output Signal Responses for the three principal axes of the CSC research robot under multivariable selftuning control during a typical 'pick and place' work cycle. In each diagram the rate-limited reference signal and joint angle are shown overlaid .

Robotic Servo Application

295

108 0·86 065 043 0·22 0

.;:::

0·52

' , 25

180

250

- 0 22 - 0 ' 43 - 065

L

3·12

37';

437

500

T,.",,,,,,,'

-086 -108 (a) System output y, It)

Fig_ 3

1·11 I'--

0·89 067

0'44 022

:=

0

-044 >--022l -0,67 -089 -11 1

062

1·2

187

2·50

312

U Ib) System output Y2 (t)

3 75

4 7 5 00 2 Time stepsxl0

~

Self-tuned output responses for the strongly interacting example of Section 4_2_ The reference signals employed are unit amplitude square waves, with a relative phase shift of a quarter period_