Pergamon
Mech. Mach. Theory Vol. 33, No. 3, pp. 331-340, 1998 © 1997 Elsevier Science Ltd. All rights reserved Printed in Great Britain PII: S0094-114X(9q)00039-6 0094-114x/98 $19.00 + 0.00
THE DUAL ANGLE
AND AXIS OF A SCREW MOTION IAN S. FISCHER
Department of Mechanical Engineering, New Jersey Institute of Technology, Newark, New Jersey, U.S.A. (Received 21 March 1995)
Abstract--The dual-number coordinate transformation matrix representing a screw motion through a general axis in space has been developed. A method for determining the axis and screw motion associated with a given dual-number coordinate transformation is also dealt with. Developing the dual-number matrix and determining the rotation angle from a given dual-number matrix is done in a manner analogous to that for handling simple rotations about axes intersecting the origin of the coordinate frame corresponding to the original position. By using dual-number methods, the axis of the motion may be any line in space and the translation along that axis can be considered when a screw motion has occurred. © 1997 Elsevier Science Ltd
1. I N T R O D U C T I O N
The change in orientation of a rigid body is equivalent to a simple rotation about some axis. A 3 x 3 matrix can be written which states the relationship between the final and original orientations of a coordinate frame fixed in the rigid body with origin on the axis of rotation. Given such a coordinate-rotation matrix, the axis and angle of rotation can be found. These matters are well developed and are discussed in texts such as Paul [1], Craig [2] and Fu et al. [3], Murray et al. [4] and practical matters of such calculations have been considered by investigators such as Grubin [5], Whitney [6] and Klumpp [7]. A change in both position and orientation of a rigid body is equivalent to a screw motion, a simultaneous translation along and rotation about some axis in space (not necessarily passing through the original and final position of the origin of a coordinate frame fixed in the rigid body which has moved). The classic work of Cayley and Rodrigues considering the resulting situation of a rigid body which has rotated and translated specified amounts with respect to a given axis is discussed by authors such as Bottema and Roth [8] and McCarthy [9]. In recent years investigators such as Yang [10] began using 3 × 3 matrices with dual numbers as operators to effect coordinate transformations through screw motions. Later discussions of 3 × 3 dual-number coordinate-transformation matrices include McCarthy [11] and Gu and Luh [12]. In this study, a 3 x 3 dual-number coordinate-transformation representing a screw motion with respect to a general axis in space is developed in the same way as the 3 x 3 rotation matrix representing a pure rotation about a general axis passing through the origin. It will also be shown how to obtain the dual angle and the axis from a 3 x 3 dual-number coordinate transformation matrix representing a screw motion. While, as has been mentioned, the existing literature has dealt with creating the matrix which will rotate a coordinate system through a given angle about a given axis intersecting the origin at a general orientation and with the inverse problem of finding the axis and angle of rotation corresponding to a given primary-number coordinate-transformation matrix. However, there is no record in the literature of developing a dual-number coordinate-transformation matrix for a given screw motion with respect to a given general line in space (not constrained to pass through a coordinate-system origin) or in obtaining the dual angle of displacement and the axis line corresponding to a given dual-number coordinate-transformation matrix, the matters dealt with in the present study. 331
332
I.S. Fischer 2. S C R E W
MOTION
It is often desired to consider a screw motion through some dual angle ~ about some axis in space specified by a general unit dual vector fi different than the unit vectors associated with the coordinate axes. This dual angle ~ is a compact notation combining a rotation through angle 0 and translation through distance s such that (1)
t7 = 0 + es
where dual number E has the properties E2 = 0, E :~ 0. The unit line vector 6 is defined as
(2)
fi=f+Eg=f+E(rxf)
where the primary component f is called the resultant vector and is of unit length oriented in the direction of the screw axis and the dual component g is termed the moment vector which consists of the cross product with resultant vector f of any vector r running from the origin of the coordinate system to any point on the line of the screw axis as is shown in Fig. 1. The dual-number coordinate-transformation matrix specifying such a screw motion about a general axis as shown in Fig. 2 is developed in a manner essentially analogous to the well-established procedure for considering pure rotation about an axis through the origin, and is detailed here preparatory to consideration of translational motion and of an axis generally positioned in space. When a reference frame fixed in a rigid body which coincides with a coordinate frame {a} moves into coincidence with some other coordinate frame {b}, then there exists a relationship such that {b} = IT(6,/7){a)
(3)
where the 3 x 3 dual-number coordinate-transformation l T(6,/~) has columns which represent the unit vectors of frame {b} expressed in terms of frame {a}. It is desired to establish an expression for this matrix. To utilize the well-understood concept of screw motion with respect to a coordinate axis, the screw motion is considered about some coordinate frame {c} whose z-axis coincides with the general screw axis 6. Thus the coordinate frame {a} in which the screw axis 6 has been specified is transformed to this frame {c}. Then screw motion of the body through dual ~ is taken about the
k
,
""
t~ /
Fig. 1. A line vector has the form • = f + ~g where resultant vector f is oriented in the direction of the line and moment vector g --- r x f indicates the position of the line where vector r extends from the origin of the coordinate system to any point on the line.
Dual angle and axis of a screw motion $
333
/
/
c~t/
~[
l
C-~..... -Ix {b} '~7/~" CA. a
a.-, '
I
a}
axis /
Fig. 2. The position and orientation of a coordinate frame {b} relative to coordinate frame {a} can be stated in terms of the screw displacementof rotation 0 and translation s along a certain axis which will move frame {a} into alignment with frame {b}. This relationship can also be expressed in the form of a 3 x 3 dual-number coordinate-transformationmatrix. from frame {c} back to the reference frame {a} in which the unit vectors of frame {b} are to be specified. This is accomplished by concatenation of the coordinate transformation matrices
g?(#)
= o c T-Z-(-Oc) -. T
(4)
where matrix Z(/~) represents a screw motion through dual angle ~ about a z-axis and matrix ca7~ (of which matrix ~7~ is the inverse) represents the transformation from coordinate frame {a} to coordinate frame {b }. Now, the three columns of transformation matrix ca~ represent the dual unit vectors of frame {c} as expressed in terms of the coordinates of frame {a}. Of these, the elements of the cx-axis and the Cy-axis are unknown and are represented by the s y m b o l s / i , / ~ , ~ , / ~ , ~, P while the Cz-axis is set in alignment with the axis of the screw motion, dual vector 6 so that
(5)
cT= P Consequently equation (4) can be written out as
~if'=
/5
£[[sind
cosy
/)
J~ /~
(6)
Expanding this equation and observing that
Mi + ~ +
~P=o
(7)
(8) ~+ziP+LL ~
=0
(9)
+ t P + £,£ = 0
(10)
since the dot product of any row or column of a coordinate transformation matrix with any other row or column will vanish since the vectors comprising the matrix are perpendicular and
I. S. Fischer
334
intersecting, and
A/i + ~ + d d = 1
(11)
f)15 + ~P~ + PP = 1
(12)
hA + fi/5 +/~/~x = 1
(13)
/~J~ +/~/~ + L/~ = 1
(14)
d e + PP+ L/~ = 1
(15)
since the dot product of any row or column of a coordinate transformation matrix with itself is unity since these are unit dual vectors, and
~P
(16)
ez5 , i t = ~,,
(17)
-
(18) since the cross product of any two columns of a coordinate transformation matrix is the third column since the columns represent a set of perpendicular unit vectors intersecting at the origin of the frame that they specify, and so the transformation obtained by performing a screw motion through dual angle 0 with respect to an axis specified by dual unit vector K is represented by the matrix
t22
r
/23/
+ co . . o o _ , : o
+,:o7
=lr,,~£,o + ~:o @vo + cO £,.~:,o- £,sOl L~Zo- ,~:o ,¢h:,O+ r,..,sO ~,~O+ cO J
(19)
where sO represents sin O, cO represents cos O and vO denotes versine 0 = 1 - cos O.
3. T H E CASE OF A G E N E R A L M O T I O N
Consider the situation where it is desired to determine the dual angle 0 and axis li of a general screw motion represented by a given transformation matrix [t]. Determination of the rotation 0 and the direction of the axis f corresponds to the methodology associated with rotation matrices, in addition to which means will be established to determine the translation s and the location of the axis as given by moment vector g. We equate the sums of the diagonal elements of equation (19) Ill "4- t22 "3I- ~33 = ~x2 "3I- C0"JI- ~y2 "JI- C0"q- ~ + CO
=(hl + ~ + ~)vO + 3c0
(20)
Let tll ~ Un "+" EVn t'22 ~ U22 Jr- £V22 t33 -----U33 -~" EU33
(21)
Dual angle and axis of a screw motion
335
and nC~= f ~ + ~g~
~ =f,. + ~g~ £ =f~ + ~g:
(22)
cO = cO - EssO
(23)
vO = versine O = 1 - cO = 1 - cO + EssO
(24)
and
This becomes u . + u22 + u33 + E(v. + v22 + v33)
[(f~x+ f
+ ~ ) + E2(f~g~ +fygy + f:g~)][(1 -- cO) + EssO] + 3 c 0 - E3ssO
(25)
Because vector f is of unit length
~+g+g=-I
(26)
and so u. + u22 + u33 + E(v. + v2: + v33) 1 + 2 c 0 + E2[(fxgx + f i g , . +f~g~)(1 - cO) - ssO]
(27)
Thus, the primary component o f equation (27) yields u.+u~2+u33=
1 +2c0
(28)
cO = U" + U22 + u~3 -- 1 2
(29)
and thus
Now, considering the differences between off-diagonal terms ;'2 -- i2, = (£,£V0 + ~x~O) -- (£,£V0 -- 'qx~O) = 2g~sO
(30)
u32 - u23 = 2f~sO
(31)
v~2 - v23 = 2 ( f x s c O + gxsO)
(32)
ul3 - - u31 = 2fysO
(33)
013 - v31 = 2 ( f ~ s c O + g~sO)
(34)
u2, - u~2 = 2f~sO
(35)
v2t - - vl2 -~ 2 ( ~ s c O + g , sO)
(36)
The components o f this equation are
and
Similarly
and
336
I.S. Fischer
An expression for the sine of the rotation angle 0 is obtained by adding the squares of the primary components (u~2 -
us~) 2 + (u,~ - u31) s + (us, - u , 0 ~
/
= 4 ( ~ +fly +fly)s20
(37)
and since resultant vector f is a unit vector (un - u23)s + (u.3 - Usl)2 + (u21 - ulz) z = 4sSO
(38)
so that sO = + x / ( u ~ s -
u23) 2 + (u,~ -
2
u3,) s + (us,
u,5
(39)
The above equation evaluated for sine of the rotation 0 and the previously developed equation which provides the cosine of the rotation 0 are considered together to unambiguously (as to quadrant) determine the rotation angle 0. Usually the plus sign in the above equation is chosen as a matter of convenience. Choosing the negative sign would only result in a corresponding change in the sense of the unit resultant vector component of the screw axis of the motion. Knowing rotation angle 0, the primary component of the differences between the off-diagonal terms can be used to determine the components of the unit resultant vector f U32 - - U23
fx-
2s0-
: , _ ul3 - u31 2sO f ~ - - U21 - - U l 2
(40)
(41) (42)
2sO
Now, the dot product of a resultant vector and a moment vector comprising a dual vector will vanish (which can be proven by expanding f . g = f . ( r x f) where r is the vector from the origin of the coordinate frame to any point on the line of the resultant vector). f~gx + fyg~, + f~g~ = 0
(43)
The dual component of equation (27) is v. + v22 + v33 = 2[(fxgx +fyg,, + f~g~)(1 - cO) - ssO]
(44)
So, substituting equation (43) into equation (44), vlt + v2s + v33 = - 2 s s O
(45)
and so the translation along the screw axis is v,t + v~ + vss s =
(46)
2sO
Equations (32, 34, 36) can now be solved for the components of the moment vector g Va2- v23 - 2fxscO gx =
(47)
2sO
vt3 - Vsl - 2 f : c O g~=
2sO
g~ =
Vsl - v12 - 2fiscO 2sO
(48)
(49)
Dual angle and axis of a screw motion
337
4. T H E C A S E OF P U R E T R A N S L A T I O N
When a motion is a pure translation, when the rotation angle 0 = 0 °, equations (40, 41, 42) cannot be used to evaluate the direction o f the motion. This ease is readily detected since for when rotation angle 0 = 0 °, equation (28) infers /'/11 "~- //22 "~- U33 =
3
(50)
It then remains to determine the translation distance s and the direction of the motion which is
given by the resultant vector f. When rotation angle 0 = 0 °, equation (19) becomes
t.|=
(51)
1
-
0
-sI
o f which the dual component is
[0
v2,
23/= / sA
v~, v~
v.j
L-sf,,
sfx
(52)
0
Adding the squares of the 3-2, 1-3 and 2-1 elements and observing that resultant vector f is of unit length v~2 + v~3 + v~, = s ~ + Sly + sf~ = s 2
(53)
s = _+x/v~2 + v~3 + v~,
(54)
Thus the translation is
Choice of one sign or the other in the translation s will result in a corresponding change in the computed sense of the resultant vector f so to maintain the same motion. When the amount of translation is known, the components of the resultant vector f giving the direction o f the translation can be determined from the 3-2, 1-3 and 2-1 elements of equation (52) f~ = v3~
(55)
f,-
V13 S
(56)
_ v2~
(57)
S
S
Now, the axis of a pure translation is a unique direction but not a unique line as would be the axis of a general screw motion or a pure rotation. Consequently for a pure translation the moment vector g is meaningless and need not be calculated. 5. T H E C A S E OF A H A L F - T U R N S C R E W M O T I O N
Another situation in which equations (40, 41, 42) cannot be used is when the rotation of a screw motion is a half turn, when rotation angle 0 = 180 °. Equation (28) infers that u . + u22 + u33 = - 1
(58)
for the case o f a half turn, a condition which can be used to readily detect this situation. It then remains to determine the resultant vector f indicating the direction and the moment vector g inferring the location o f the screw axis and the amount of translation s.
338
I.S. Fischer
When the rotation of a screw motion is a half turn, equation (19) becomes
t'22 /'2,/
2 ~ - 1 + e4fxgx = 2f~. + e(2f~gy + 2fygx -- sf~) [2f~r~ + ¢(2f,& + 2f~g~ + sf.)
2f.f. + e(2f, gy + 2fyg~ + sf,) 2~ -- 1 + e4fygy 2f.gy + E(2fyg~ + 2~gy -- sf~)
2f,f~ + e(2fx& + 2f~g~ -- fly)] 2fif~ + E(2fy& + 2f, gy + Sfx)l 2fl~- 1 + e4f~& (59)
The primary component of this equation is
Ull U12 Ul3 u2~ U2z u23 = u3~ u32 u,3
l
2J~x -- 1
2f~. 2~--1
2f~f~,
2f~f.
2f~&
2f~] 2f~f~ 2~-1
(60)
The 1-1, 1-2 and 1-3 elements of this equation can be used to determine the components of the resultant vector f
f~= +_/un/+ 1
(61)
2
(62)
Utz f' - 2A
f~ = ~
(63)
The dual component of equation (59) is
V21 /-)22 I)23/ V31 U32 V33_]
7
2(f~gy +fygx) + sf.. 2 ( L & + ~ g x ) - s ~ | 2(fy& + f~gy) + sf~[ = 2(fir. +fygx) - sf~ 4frgy d 4f=gz 2(f~& + f~gx) + sf,. 2(fy& + f=gy) -- sf~ 4f~gx
(64)
Using the results obtained for the components of resultant vector f, the diagonal components of this equation can be used to determine the components of the moment vector g
v,.__~ gx =4f~ U22
(65)
gy = ~fy
(66)
v3-23 &=4f~
(67)
An off-diagonal element of equation (64) can be used to determine the translation s s=
v,2 - 2(fx& +f~gx) f.
(68)
Dual angle and axis of a screw motion
339
or
s=
v23 - 2(f~gz + f~g~) f~
(69)
s=
v3, -- 2 ( f x g , + f~gx) fy
(70)
or
The choice of equations (68, 69, 70) is determined by the largest of the resultant vector components f~, f. or f~ so that the division is performed with the most accuracy. 6. EXAMPLE
It is desired to obtain the dual angle and screw axis of the motion represented by the 3 × 3 dual-number coordinate-transformation matrix
06077 02995 07355j [_4.9576 5 75 181271 0.7942 0.0065
-0.2367 0.9243
0.5597 0.3817
+E
-3.8538 7.4113
-7.3523 -0.0658
2.3589 / 0.0338_]
Now, the sum of the diagonal elements of the primary component is -0.4627 which infers that this is the case of a general screw motion since that value lies between the extreme of - 1 representing a half turn and the other bound of 3 which would infer a pure translation. The rotation angle 0 is then computed using elements of the primary component of the given transformation matrix in equations (29) and (39), arriving at result 0 = 137°. Then equations (40, 41, 42) are employed with that result and elements of the primary component of the given matrix to calculate the resultant vector of the screw axis which is found to be f = 0.2673i + 0.5345j + 0.8018k. The amount of translation along the screw axis is found to be s = 9 by substituting the amount of rotation and certain elements of the dual component of the transformation matrix into equation (46). Then the moment vector of the screw axis, g = 0.8018i - 1.6036j + 0.018k is obtained by substituting the amount of rotation and elements of the dual component of the transformation matrix into equations (47, 48, 49). 7. C O N C L U S I O N S
The concept of a coordinate rotation matrix dealing with a rotation about an arbitrarily oriented line passing through the origin of the coordinate frame has been extended to a dual-number coordinate transformation matrix dealing with a screw motion, a simultaneous translation and rotation, about a generally-located (not necessarily passing through the origin of the coordinate frame), generally-oriented line in space. The matter of determining the dual angle and the axis of a screw motion represented by a given dual-number coordinate-transformation matrix has also been dealt with. Attention has been given to the special cases of pure translation and of a half-turn screw motion. REFERENCES 1. Paul, R. P., Robot Manipulators, Mathematics, Programming and Control. MIT Press, Cambridge, MA, 1981, ISBN 0-262-16082-X, p. 25. 2. Craig, J. J., Introduction of Robotics, Mechanics and Controls. Addison-Wesley, Reading, MA, 1986, ISBN 0-201-10326-5, p. 46. 3. Fu, K. S., Gonzalez, R. C. and Lee, C. S. G., Robotics, Control, Sensing, Vision and Intelligence. McGraw-Hill, New York, 1987, ISBN 0-07-022625-3, p. 20. 4. Murray, R. M., Li, Z. and Shankar Sastry, S., A Mathematical Introduction to Robotic Manipulation. CRC Press, Boca Raton, FL, 1994, ISBN 0-8493-7981-4, p. 29. 5. Grubin, C., J. Spacecraft & Rockets, 1970, 7, 1261. 6. Whitney, D. E., ASME J. Dyn. Sys., Meas. & Con., 1972, 303. 7. Klumpp, A. R., J. Spacecraft & Rockets, 1976, 13, 754. 8. Bottema, O. and Roth, B., Theoretical Kinematics. North-Holland, Amsterdam 1979; reprinted by Dover, Mineola, NY, 1990, ISBN 0-486-66346-9.
340 9. 10. 11. 12.
I.S. Fischer McCarthy, J. M., Introduction to Theoretical Kinematics. MIT Press, Cambridge MA, 1990, ISBN 0-262-13252-4. Yang, A. T., A S M E J. Eng. Ind., 1969, 91, 152. McCarthy, J. M., Intl. J. Rob. Research, 1986, 5(2), 45. Gu, Y. L. and Luh, J. Y. S., IEEE J. Rob. & Aut., 1987, 3, 615.