The particular or the general? (Some examples from robot kinematics)

The particular or the general? (Some examples from robot kinematics)

Mechanism and Machine Theory Vol. 21, No. 6, pp. 481-487, 1986 Printed in Great Britain. All rights reserved 0094-114X/86 $3.00+ 0.00 Copyright © 198...

506KB Sizes 6 Downloads 72 Views

Mechanism and Machine Theory Vol. 21, No. 6, pp. 481-487, 1986 Printed in Great Britain. All rights reserved

0094-114X/86 $3.00+ 0.00 Copyright © 1986 Pergamon Journals Ltd

THE PARTICULAR OR THE GENERAL? (SOME EXAMPLES FROM ROBOT KINEMATICS) K . H. H U N T Department of Mechanical Engineering, Monash University, Clayton, Victoria 3168, Australia Abstract--The common use of some general analytical methods for solving problems is called into question. It is contended that "realistic" serial robots can be dealt with more elegantly and faster by perceiving their particular properties rather than resorting to generality. Robot "closure" (inverse pair-variable determination) and velocity-determination provide examples. The physical nature of the problem is evident throughout, whereas it is obscured when a general method is routinely followed. Moreover, there is the prospect of improved algorithms for real-time control. It is contended that the gist of the message conveyed has broader applications too.

"General notions are generally wrong." (Lady Mary Wortley Montagu, 1710)

the relevant principles, even when they turn out to be extraordinarily simple. We are all too readily inclined to ignore the "terrain" where the problem lies, and here I am referring to another paragraph also on p. vii of [1]. The person who at some stage stands back and sees a degree of generality in a set of apparently distinct problems, and who then gives us a general method, is, of course, beyond reproach. It is to the user that censure must be attached, if he sees no more in the method than a recipe to be unthinkingly followed. The two examples that now follow are about serial robot-arms. I hope that they highlight the three-way balance between problem, principles and method.

l. INTRODUCTION The distinguished mathematician to whom this special issue of the Journal is dedicated has contributed much to mathematics, particularly, so far as our readers are concerned, to theoretical kinematics. We are paying tribute to him for his wisdom and insight, because he has revealed generalities that relate to the world of practice, namely the world in which engineers live, and we are grateful to him. Yet I am sure that he would agree that, when an engineer is faced with a specific problem and seeks the most direct means of solving it, there is a risk that the method used may be too contorted if it is rooted too deep in generality. Of course the method must have a sound basis. Yet an intelligent appraisal of a particular problem not infrequently reveals that it is best solved in its own right without recourse to a method designed to cope with situations far more complicated than those that apply. Unthinking use of a general method can often be confusing, and may often blur the outlines not only of the results but also of the problem itself. Yet nowadays we are strongly tempted to use a "general package". "With the computer at his elbow an engineer is often t e m p t e d . . , to plunge into a particular p r o b l e m . . , without considering either the fundamental theory or the criteria that limit the perf o r m a n c e . . . " (from [1], p. vii). There is a delicate three-way balance between (i) a problem and its very nature, (ii) the inescapable principles that govern the problem and (iii) the method used to obtain a solution. So often we take the nature of the problem for granted and place it in too broad a category; then we uncritically accept some favourite method because some authority persuades us that it is foolproof and universal; so we can hop on a band-wagon named "routine", and we are spared the task of examining

2. THE "CLOSURE" OF A SIX-FREEDOM SERIAL ROBOT-ARM

Over 30 years ago, two of our kinematician colleagues, Jacques Denavit and Dick Hartenberg, made something of a breakthrough [2, 3]. They devised a standard 4 x 4 matrix for coordinate-transformation in a form suitable for any spatial linkage. They took two adjacent kinematic pairs and put z-axes along both of the pair-axes and an x-axis in one of the links along the common perpendicular between the axes, A y-axis in the first of the two links is, accordingly, defined; and the next link also has its x - , y- and z-axes established once a third pair-axis of the linkage is added. This technique applies directly to turning, cylindrical, prismatic and helical pairs; elementary kinematic substitutions allow spherical and planar pairs to submit to the same treatment, When a kinematic chain is closed the successive coordinatetransformations lead back to the start, and the product of all the 4 x 4 matrices is necessarily the identity matrix. What a godsend to robotics! For when the endeffector of a six-freedom serial arm is located as desired we have (or should have) a six-joint structure

481

482

K.H. HUNT

~---~--I

0

r I ] when 6 is located in 0 I

I

2

3

4

5

6

Fig. l. Representation of the "forward" matrices for coordinate-transformations in a six-freedom arm. of mobility zero with its six 4 x 4 matrices. Each matrix contains one of the six pair-variables to be determined as well as its quota of known linkdimensions. These matrices, [A~], can then be shown joining the successive members from the frame 0 to end-effector 6, and with 6 located in 0 the loop is closed (Fig. 1). Full explanation of this approach can be found in many places, for instance [4, 5]. We can, of course, invert any of the matrices. Then from a given link, 3 say, we may reach the frame 0 by two routes symbolized by two matrix products, [A4][As][A6] and [A3]-J[A2] -1 [AI] i. Every element of one 4 × 4 matrix product can be identified with that of the other, and, if we are lucky, we can solve for one or more of the pair-variables. Also we can formulate many different matrix products similarly, e.g. [A,I[AsI[A6I[A,] and [A3I-I[Az]-I; we can fill

dozens of sheets of paper with alternative expressions from which we select those that give all six pairvariables. Yet sometimes the robot-arm tricks us; some, even all, of the expressions obtained turn out to be too complicated, and they defy efforts to separate the pair-variables. Such an arm is called "non-recursive" in [5], and we conclude that it would not be favoured for applications demanding real-time adaptive control, though it could be well-suited for a master-slave system or for pre-programmed operation. Fortunately the geometry of most "realistic" arms is simple enough for the "recursive" method to succeed. Every six-freedom arm has multiple solution-sets for the pair-variables, and it is usually fairly easy to determine how many solution-sets there are before embarking on any algebraic or trigonometric analysis. For example the original CM T 3 arm (Fig. 2) has, in general, eight sets or eight "'closures", consistent with eight possible arm-configurations for a given end-effector location. (Indeed, for many other sixfreedom arms, e.g. Puma and CM T3R3, there are eight closures.) Whatever method is used for solving the closure certain values must be either discounted as lying outside actuator-range or identified with two alternative configurations (e.g. "elbow up" or "'elbow down"). We conclude that the Denavit-Hartenberg-based Z2

Z0

)

Zi

Z3

t

~(,~,00 ,01 ,0 z

YO

Y"' Y2

Y3

x~

End- effector

X4

x0/

Fig. 2. An original CM TLtype arm showing coordinate-systems and five actuator-angles.

The particular or the general? "recursive" method always allows a general formulation of the closure problem for any six-freedom serial arm even though it may not yield a solution of the problem. An alternative general approach, not so conventional as that described and perhaps at first sight rather exacting, is that of another much-respected kinematician colleague, Joseph Duffy. His method is to all intents and purposes enshrined in his book [6]. Figure 3 suggests sketchily the Duffy method. A closed kinematic chain is sequentially triangulated. The diagonal AC is a function of the pair-variable at B; then the diagonal AD of the quadrilateral ABCD is a function of the pair-variables at B and C; and so on until the chain is closed. Of course the successive triangles, quadrilaterals . . . . are not, in general, planar; nor are they spherical; they are skew, with, an offset at every pair. However, a combination of spherical trigonometry and the well-known-tokinematicians properties of dual angles can often lead to explicit solutions for all pair-variables even when the arm in question may be classified as "nonrecursive" when using the method of [4, 5]. Now let us put "generality" to the side and look at the "particular", taking the T 3 arm of Fig. 2 as an example. To aid visualization I have chosen fairly small and positive actuator-angles. Also I have abandoned the convention of putting a z-axis along every actuator-axis. A fairly small rotation 0t of the first actuator $t redirects the axes into Otxj and 02y2. Why is it necessary to impose a second (artificial) axis-rotation of - 9 0 ° about OtXl merely to re-name the axis along $2 as 022 fi Leave it as 02y2, and so on. Now we can easily picture the entire arm, each coordinate-rotation being small and about a single axis. In [1] I remark that a mechanism can be described as either a system of bodies connected together by joints or a system of joints connected together by bodies. Unfortunately workers are preoccupied with the first description and tend to ignore the second. "What is the distinction?" you may ask. The distinction is one of emphasis; in a serial arm the actuator-axes are all..important; the links between the axes are secondary. And now we find that we can get

"

E

483

rid of one actuator angle, deliberately left out of Fig. 2, namely 06, because, when the end-effector is located in the fixed system (Oo,xo,Yo, zo), the axis $6 and the point 06, respectively a line and a point of the end-effector, are themselves located. We need solve only for 01, 05 . . . . . 05. Then, as a kind of bonus, we still have 06 at our disposal. The same "closure", namely the location of all six actuator-axes and the determination of all the angles 0t-0s, still leaves the end-effector free to rotate about $6. It is elementary to isolate 06 independently because all we need is a direction in the end-effector preferably one at right angles to $6 [7], Or we could add one coordinatetransformation at the end, as in [8], but this seems to add a little more complication than is really necessary. We can quite easily write down by inspection the coordinates of 06(05) in the fixed frame (O0, x0, Y0, z0), namely X05 = (fc2 + gc23 + h c 2 ~ ) c i ,

(1)

Yos = (f c 2 "PgC23+ he234)si,

(2)

2"05 = - - ( f s 2 "+" gs23 "l- hs234 ),

(3)

in which c2, s2, c23, s23, mean cos02, sin02, cos(02 + 03), sin(02 + 03), etc. Also by inspection (but if this is a little too hard Section 3, paragraph 3, gives a clue to success) we can write down the direction cosines of axis $6 in (O0, xo, Yo, zo), namely L6 = ci c2~c5 - st ss,

(4)

M6 = stc2~c5 + ctss,

(5)

N6 = -s234c5,

(6)

and it is easy to check that L~+ M 2 + N ~ = 1, a condition that leaves only five equations independent out of equations (1)-(6); enough however for the five angles 01-0s. Immediately, from equations (1) and (2),

O, = tan-' (Y°--25~, \ Xos/

and we note that there are two possible values 180° apart. Using standard trigonometrical identities we can get expressions for Cl and st directly too. Then equations (4) and (5) combine to yield MrC t - Lrs I = s s, and 05 = sin- l (Mrci - LrSl ),

(8)

with two values of 05 for a prescribed 0t, so accounting for four "closures" so far. Next we take equation (6), and get a twofold expression

,//

:jC A

(7)

(05 + 03 + 04) = sin -I ~

[3

Fig. 3. A schematic representation of Duffy's " c l o s u r e " method.

that does not yet increase the "closures" above four.

484

K.H. HUNT Z xl, a

(

=

Xo5

C~

XI

111

-

hC234

)

0 o , 0 ~ ,02

t-Zt4

= ( Zo5 -hs234) -

_

04

8 2 ~

05,06 Fig. 4. A side view of part of the arm of Fig. 2. Figure 4 shows a side view of the main part of the arm with some lengths added to it. The cosine rule applied to triangle 020304 gives

03 = c°s-J { (x24 + z~4) - (f2 + g2) ,

(10)

admitting two solutions ("elbow up" and "elbow down"), so accounting for all eight closures. Finally it is not hard to find 02= tan-I ( - z 1 4 ~ \ xl4 /

~COS-IF{(-214)2-}-X24}+--'(f2cg2)l L 2f{(-z,,) 2+

(11)

j'

the upper (negative) and lower (positive) signs corresponding respectively to "elbow up" and "elbow down". Having found 02 and 03, 0~ can be determined from expression (9). In abandoning a "general method" for arriving at expressions (7)-(11) I have unashamedly resorted to a principle, namely straight-down-the-line trigonometry. All stages are elementary. Everything is easily visualized at every stage. I touch upon this means of "closure" in [9] but do not there pursue it. Expressions (7)-(11) are samples; several alternatives are easily derived, and from these some may be selected as being preferable computationally. For velocity-determination, for instance (see Section 3), we need cosines and sines of actuator-angles, and these can, of course, be stored directly for future use. I make no claim that expressions (7)--(i 1) are new; I merely wish to indicate that my elementary approach seems preferable to others. 1 have "solved" without difficulty several other six-freedom arms (Puma, CM T3R 3, Unimate with one linear actuator, "Rhino"), the last two having only four "closures". For two other geometries ("Telethesis", CMU DDII) I quite easily obtained equations comparable to equations (1)--(6), but they looked too nasty to proceed with, and I gave up, even though I might have inverted the linkage and, perhaps, found a better coordinate system to work in. It may be that these two come into the "non-recursive"

category of [5]; certainly the Telethesis arm would respond to the method of [6], and very likely the CMU DDII would too. In [10], other references are given to sources both for "solving" serial arms and for determining whether a particular arm may be "unsolvable". 3. VELOCITY-DETERMINATION IN A SIX-FREEDOM SERIAL ARM

Knowing the pair-variables of a robot-arm at a certain configuration, what more "obvious", or general, or self-evident, method is there for determining velocities (or velocity components) than that of taking the derivatives of the pair-variables with respect to time? This has been the "standard" approach to the "velocity problem". Yet to anyone familiar with the principle of instantaneous centres in planar mechanisms it is, or should be, an obvious and logical step to use the spatial counterpart of instantaneous centres, screws, directly, so reducing the "velocity problem" to one of geometry [11]. Of course we need to know the configuration first; if we are not given it we can determine it (Section 2). The problem may, however, be formulated merely by inspecting the arm once it is drawn along the lines of Fig. 2, and this is now used as an example. As explained in [9] the column-vectors of the "Jacobian" (a misnomer in my view, see [9]) are the normalized line coordinates of the six actuator-axes. (For a brief introduction to line- and screw-geometry see [9], or, for more details [1].) We aim to select a coordinate-system in which the Jacobian is as simple as possible, preferably so simple that the whole matrix can be written down by inspection. First, however, we can look at Fig. 2 and discover by inspection how many zero-elements the Jacobian will contain when it is expressed in various coordinate-systems (see Table 1). The "best" system is apparently (04, x4,y4,z4), but we still need to consider the simplicity or otherwise of the individual non-zero elements. And, as explained in [9], we ought to consider the inverse of the Jacobian too, for it does not follow that the simplest Jacobian necessarily

485

The particular or the general? Table 1. Identification of the "simplest" Jacobian for CM T 3 Number of zero-elements in coordinate-system Actuator axis $1 $2 $3

(O0, x0,Y0, Z0) 5 4 1

(Ot,xt,Yl, zl) 5 5 3

(02, x2,Y2,Z2) 4 5 4

(03,x3,Y3,Z3) 3 3 5

$4

1

3

3

$5 $6 Total number of zero-elements

0 0

3 0

3 0

11

19

19

leads to the simplest inverse. And, still further, we need a 6 x 6 transformation-matrix [9] for screw coordinates, but this is applied only to one columnmatrix. [The 3 x 3 rotation component of such a transformation-matrix can help us with equations (4), (5) and (6).] In short, it may be counterproductive if the simplicity of a Jacobian is overbalanced by the complexity of both its inverse and the screw transformation-matrix. Ideally we want the best of both (all) worlds; but I know so little about optimization theory (sometimes overworked in my view) that I prefer to go along with Voltaire (1694-1778), "Le mieux est l'ennemi du bien" ("The best is the enemy of the good"), a dictum that more engineers should recognize. At any rate we come up with a good, if not the best, solution for the T3; and we probably do get the best for the Puma by departing in yet another respect from "convention", as we shall soon

see.

The Jacobian for the T 3 in (04, x4, Y4, z4), [9] can be quite easily written down by inspection as J(4) ] -~-- S234

0

0

0

0

cs

0

1

1

1

0

c5

C234

0

0

0

1

0

0

(fs34 + gs4)

gs4

0

0

0

Oec2+ gcz3)

0

0

0

O-h

-(fc34 + gc4) -gc4 0

0 0

hss

in which the columns represent in order the line coordinates of the six actuator-axes from St to $6. The top three elements are the direction cosines, and it is easy to see that the sums of their squares are all unity. (Quite often in the literature we see the first three and the last three rows interchanged in the Jacobian.) In [9] an analytic expression of [J(4)]-z is obtained, and there are thirteen zero elements in it. The rows of [J(4)]-] are also screws that, in effect, instantaneously convert a serial arm into a kinematically equivalent in-parallel arm. This conversion, via the principle of reciprocity of screws, is worth another paper, and all I do now is to leave the reader dangling, in the hope

(04, x4,y4,x4) 3 3 3

(05, xs,Ys, Zs) 1 0 0

4

5

3

3 0

4 3

5 5

18

21

14

that he may try to work out for himself what it all means in physical terms. When I was working on the Puma arm (Fig. 5) it became clear that the best coordinate-system for the Jacobian had to have its origin at the point where the three wrist-actuators (axes $4, $s, $6) intersect--and certainly others have reached the same conclusion. However, to adhere blindly to the conventional formulation of coordinate-systems in the links introduces complications that arise from the rotationangle 04. Accordingly I took an unconventional system (O'4,x'4,y'4, z'4) with 0'4y'4 parallel to O~y]. Then, confirmed by a Table similar to Table 1, the Jacobian in (0'4,x'4,y'4,z'4) contains more zeroelements (twenty) than in any other system that I could find, and

[s(,,)]

=

-s23

0

0

1

0

1

1

0 - s4 c4s5

c23

0

0

0

c4

s4s5

-fc23

gs3

0

0

0

0

0

0

0

0

0

-(gc3+h ) -h

0

0

0

'c2 + hc23) --fs23

1

c5

Moreover (see [9]) the required screw transformation-matrix is simpler than it would have been if the system (04, x4, Y4, z4) had been chosen. [j(,)]-i has fourteen zero-elements and is comparable in complication to [J(4)]-l for the T 3. I have found it straightforward to formulate the Jacobian for every one of the other arm-geometries mentioned in the penultimate paragraph of Section 2, and to derive the inverse Jacobians. For some of them an "unconventional" coordinate system (as for the Puma) gives a distinct advantage. There are many other fix-freedom robot-geometries, of many of which I am surely unaware. But if anybody sends me a specification of some other "realistic" arm I am ready to have a go at it. (I may not agree that it is "realistic", of course!) It may, nevertheless, be "nonrecursive", but that does not mean to say that a Jacobian and an inverse Jacobian cannot be ex-

486

K . H . HUNT

l

~o'01

,

02

Yo

/end- effector

Fig. 5. A Puma-type arm showing the coordinate-system used for the Jacobian.

pressed analytically. Yet the real purpose of this paper is to stimulate the reader to do that job and to try other robot-geometries. 4. CONCLUSIONS My aim has been to write a general, and not particularly original, article that has a message: "think before you adopt a method". "Easier said than done", you will say. It requires a certain amount of courage, as well as insight, for a young research worker to look askance at dogma, and to question it. The swiftly-evolving field of robotics abounds with computer-orientated methods and techniques; surely it is up to all of us to re-appraise them and always to search for physical significance within a problem rather than just to accept a route towards a solution as a sacrosanct analytical package. Though I do not (yet) feel too antique, I suppose I come into the "old h a n d " category, and can get away with outpourings sounding a little like ex cathedra pronouncements. This special issue of the Journal is a good place for such utterances, especially because there is a good chance that the eminent, and Emeritus, Professor Bottema will agree with me. As to the quotation beneath the title, I do not necessarily agree with it, but it is nice to have it ever at the back of my mind; put it at the back of yours too.

Acknowledgements--This article could not have been written had it not been for many discussions, with too many people to name individually, in many places, in particular at Arizona State University, The University of Florida, The Ohio State University and Monash University. As a result ideas have gradually been falling into place, and no doubt will continue to do so. Especially I wish to acknowledge the interest of Messrs W. S. Hunter and P. R. Ridley of the Department of Mechanical Engineering, The University of Melbourne, who have, recently, not only drawn my attention to relevant references but also enthusiastically followed up ideas of mine with some success.

REFERENCES 1. K. H. Hunt, Kinematic Geometry of Mechanisms. Clarendon Press, Oxford (1978). 2. J. Denavit and R. S. Hartenberg, A kinematic notation for lower-pair mechanisms based on matrices. Trans. Am. Soc. mech. Engrs 77E (J. AppL Mech. 22), 215-221 (1955). 3. R. S. Hartenberg and J. Denavit, Kinematic Synthesis of Linkages. McGraw-Hill, New York (1964). 4. R. P. Paul, Robot Manipulators: Mathematics, Programming, and Control. MIT Press, Cambridge, Mass. (1981). 5. R. Paul, M. Renaud and C. N. Stevenson, A systematic approach for obtaining the kinematics of recursive manipulators based on homogeneous transformations. Robotics Research (Edited by M. Brady and R. Paul), pp. 707-726. MIT Press, Cambridge, Mass. (1984). 6. J. Duffy, Analysis of Mechanisms and Robot Manipulators. Arnold, London (1980).

The particular or the general? 7. K. Sugimoto and Y. Matsumoto, Kinematic analysis of manipulators by means of projective transformation of screw coordinates. Robotics Research (Edited by M. Brady and R. Paul), pp. 695--705. MIT Press, Cambridge, Mass. (1984). 8. J. M. Hollerbach and G. Sahan, Wrist-partitioned inverse kinematic accelerations and manipulator dynamics. Int. J. Robot. Res. 2, No. 4, 61-75 (1983). 9. K. H. Hunt, Robot kinematics--a compact analytic

487

inverse solution for velocities. A S M E J. Mech. Transmiss. Automat. Design (Paper No. 86-DET-127) In press. 10. S. Desa and B. Roth, Mechanics: kinematics and dynamics. Recent Advances in Robotics (Edited by G. Beni and S. Hackwood), pp. 71-130. Wiley, New York (1985). 11. K. H. Hunt, Screw axes and mobility in spatial mechanisms via the linear complex. J. Mech. 2, 307-327 (1967).

DIE EINZELMEIT ODER DIE ALLGEMEINHEIT? (EINIGE BEISPIELE VON DER ROBOTERKINEMATIK)

ZusmnmenfLqsung--Es wird die routinem~issige Anwendung einiger analytischen Methoden f~ir die Probleml6sung in Frage gestellt. Diese Methoden, welche von ganz genereller Anwendbarkeit, daffir aber mit einer gr6sseren mathematischen Abstraktheit behaftet, sind, verschleiern unter Umst/inden die wichtigsten physischen Merkmale eines gegebenen Problemes. So wird es hier geltend gemacht, dass "realistische" serienwirkende Roboter viel eleganter und schneller behandelt werden k6nnen indem man ihre spezifischen Eigenschaften hervorhebt, anstatt dass man zu einer generellen Methode Zuflucht nimmt. Roboter "Schliessung" (die inverse Bestimmung der Gelenkver~inderlichen) und Geschwindigkeitsbestimmung sind einschl/igige Beispiele. Wird so vorgegangen so bleibt die physische Natur des Problemes im Vordergrund, was nicht der Fall ist wenn die generellen Methoden routinem/issig angewendet werden. Weiterhin besteht, von diesem Standpunkt aus, die Aussicht auf verbesserte Algorithmen ffir die "real-zeit" Regelung. Schliesslich wird der Standpunkt vertreten, dass diese Grundidee auch im weiteren Sinne anwendbar ist.