Preprints of the Fourth IFAC Symposium on Robot Control September 19-21 , 1994, Capri , Italy
SOLUTION OF THE INVERSE KINEMATIC PROBLEM OF A ROBOT MANIPULATOR WITH EULERIAN JOINTS D.BOTTO M. M. GOLA· °Dipartimmto di Meccanica, Politecnieo di Tonno, Corlo Duea degli Abruui Italy. E-mail: golaOpolito .it
'4, 101!9 Tonno,
Abstract. Solved in this paper is the inverse kinematic problem for a six-degree-of-freedom robot manipulator with eulerianjoints. Every joint consists of a couple of hinges whose axis are angularly positioned at 90° between each other, and each tilted at 45° relatively to the arm axis. An offset is present between every couple of hinges forming the joint . The kinematics of such a manipulator can be easily studied if an equivalent rotation point is found so that the offset vanishes. The original kinematics chain is then reduced to a simpler one : a backbone formed by three links and three quasispherical hinges. Geometrical considerations lead to find the six joint variables given the position and orientation of the backbone end with respect to the reference coordinate system. A further transformation is needed to relate the backbone end to the manipulator end effector. The solution is obtained in closed-form. A standard joint employing such a kinematics has been built in the Mechanical Department of the Politecnico di Torino. The procedure is illustrated with the analysis of a modular robot manipulator having three such joints. Key Words_ Robot kinematics, Inverse kinematics, Dextrous manipulators .
1. INTRODUCTION
ing the mechanical design of the structure. They developed the direct kinematic problem and made workspace analysis for a hyper-redundant snakelike manipulator. A complete design to meet the kinematics requested have been developed by the authors (Botto and Gola, 1993).
An efficient algorithm for solving the inversekinematics problem has been proposed by Featherstone (1983) and by Hollerbach and Sahar (1983). A modified algorithm, based on Featherstone's idea, has been developed by Low and Dubey (1986) , In the latter approach they compare the utilization of three rotation generalized coordinates and the equivalent Euler parameters. In all these methods the inverse-kinematics problem is solved for a six-degree-of-freedom manipulator that satisfy Pieper's condition (1969) namely where the axes of the last three joints intersect at a point. An important consequence of such geometry is that the problem can be split into two subproblems, one of which involves three joint variables only, The numerical solution of the inverse kinematic problem of a manipulator with an arbitrary architecture has been formulated by Angeles (1985). The manipulator under analysis is a modular structure having three eulerian joints. Every joint is a two degree-of-freedom quasi-spherical hinge made by a couple of rotational hinges. The rotation axis of such hinges is tilted of an angle 0: with respect to the manipulator axis while tw~ consecutive hinge axes form an angle of 20: relatively to the other. A similar kinematics has been proposed by Lenarcic et al. (1991) without develop-
Fig. 1. 375
for even hinges. Fig. 3 shows the new coordinate frame positions. Rotation matrices are listed below
Power transmission, clearance adjustment and assembling problems has been solved in order to optimize the mechanical structure. Fig. 1 is a sketch of such a manipulator having six degrees of freedom while Fig. 2 shows a rotation sequence of the arm formed by two joints and four hinges. As we can see from Fig. 1 the axes of the last three joints do not intersect at a point and the manipulator does not satisfy the Pieper's criteria. The main concern of this presentation is to solve the inverse-kinematic problem of this kind of manipulator and find the solution in closed-form.
~~[
cos (Ji sin (Ji
- sin (Ji cos (Ji
0
0 i
Rj
=
[
cos (Jj - sin (Jj 0
0 1 0
n
= 1,3,5 gn 9j cos (Jj 0
j
1
= 2,4,6
Segments d12 and d 34 represent the distance between the middle frames while d S6 is the distance between the last frame and the end-effector. Geometrical considerations lead to important result about segment lengths. For instance d12 is the vectorial sum of the three segments alA, AB and B0 2 • Since the rotation axis Yl and alA are coincident the angle between the segments AB and alA is independent of the rotation angle (J2. Therefore the distance (hB is constant . For the same reason, when a rotation about Z2 occurs, the angle between OlB and 02A is constant and then distance 0 1 0 2 is constant. By proving the d 12 , d 34 and d S6 independence of the joint rotations the kinematics is reduced to the study of a backbone formed by these three pseudo-links.
Fig. 2.
2. DIRECT KINEMATIC PROBLEM A laboratory inertial system XI Yi ZI is attached to the supporting base. In order to describe the relationship between the links a coordinate frame is assigned to each link. A body-attached frame XoYoZo is obtained from a rotation Q about the XI axis of the inertial system. Fig. 1 shows a links coordinate frame given according to the DenavitHartenberg (1955) notation. We can notice that rotation axes of every couple of hinges intersect at a point so it may be convenient to place only three coordinate frames whose origin is in this point, namely 01. O 2 and 0 3 on Fig 3. We will use this kind of notation instead of Denavit- Hartenber reference thinking to simplify the description of the kinematics chain. In this way rotation occurs about the z-axis for odd hinges and about y-axis
Fig. 3.
At first we write the equations for joint variables in the coordinate frame where the pseudo-link components are:
376
euler angle the equality
=
gives a further set of three equations.
=
in which d d cos 0: d sin 0: since in the employed geometry 0: = 45 0 • A first set of equations is represented as follows : Pt
3. INVERSE KINEMATIC PROBLEM
do + R 12 d 12 +R12~3d34 + R12R43~5d65
In the preview section we developed the theoretical knowledge that will be used to carry out the inverse kinematic problem. Let's premultiply Eq. 2 by
(1)
where Pt is the position vector of the end effector in the coordinate frame and
RI
(3) and transform the vectorial equation in 3 in the three following scalar equations: Matrix R12R43~5 is the desired hand rotation so Eq. 1 can be rewritten as {
(2)
COS fhpez + sin fhpty - sin fhptz_ + cos 81 Pty pez
} =
sin 82d12+( -_cos 824 sin ~3 +sin 824 )d34 } d12 +cos 83 d 34 { cos 82d I2 +(sin 824 sin 83 +cos 824 )d34
with
(4) A second set of equations is given by the end effector orientation. Let's recall the rotation representation with euler angles provided by three angles ~, <:> and \Jf. A possible choice for Euler angles is the following sequence of rotation: 1. a first rotation of
~
in which 8ii = 8i + 8i . Eqs. 4 contains three equations in the four joint variables 8 1, 82, 83 and 84 so we need a further condition to solve it. Our kinematics is very similar to the euler rotations listed in 1, 2 and 3. By virtue of this we choose the rotation in the first joint, 81 , egual to the first desired euler angle ~d. At the end of the analysis we will choose the right sequence of rotations to verify this assumption. Under this hypothesis the first joint angle is
angle about the Z axis,
Rz,~;
2. a rotation of <:> angle about the rotated Y axis, RU,0; 3. finally a rotation of \Jf angle about the rotated Z axis, Rw,oJ .
(5)
The resultant eulerian rotation matrix is:
e(l,l) R~ , 0 , oJ
e(1,2) e(1 ,3)]
and from the second equation in Eqs. 4 is immediate to obtain 83:
= [ e(2,1) e(2,2) e(2,3)
e(3,1) e(3,2) e(3,3)
- sin 81 Pez + cos 81 Pty ± "It - cos 283
where
e( 1, 1)
cos ~ cos \Jf - sin ~ cos <:>S\Jf
e(1 ,2) e(1,3) e(2, 1) e(2,2) e(3,2) e(3,1) e(3,2) e(3,3)
- cos ~ sin \Jf - sin
~
tan
cos <:> cos \Jf
sin ~sin <:>
-1 sin 83 -cos 83
(6)
Let us square both sides of the first and the third row in Eqs. 4 and the sum reduces to the form
sin ~ cos \Jf +cos ~ cos <:> sin \Jf - sin ~ sin \Jf +cos ~ cos <:> cos \Jf cos~sin
- d12
(cos 81 Pez + sin 81 Pty) P~z = -2 -2 2 d 12 + d 34 (sin 83 + 1) + 2
<:>
sin <:> sin \Jf
2d12d34 U(cos8 4 + sin 83 sin 84)
sin <:> cos \Jf
(7)
trigonometrical considerations lead to the following equality
cos<:>
If we call ~d, <:>d and \Jfd the desired hand-effector cos 84 + sin 83 sin 84 =
J 1 + sin 283 sin (84 + c) (8)
377
in which
where
6=_1_ sin 83
T14(I,I) T14(1,2) T14(1,3) T14(2, 1) T14(2,2) T14(3, 2) T14(3, 1) T14(3,2) T14(3,3)
By substituting Eq. 8 in Eq. 7 angle 84 can be obtained sin(84 + 6) cos(84 + 6)
(9)
(cos 81 Pb + sin 81 Pty)2
T
sin 2 83 + 1
= cos 81 sin 824 sin 8 1 cos 8 24 cos 83 +cos 8 1 sin 83 - sin 8 1 cos 824 sin 83 +cos 8 1 cos 83 sin 8 1 sin 8 24 sin 8 24 cos 83 sin 8 24 sin 83 cos 824
This matrix represents a rotation 81 about the Z axis, a rotation 82 + 84 about the rotated Y axis and a rotation 83 about the rotated Z axis as listed in items 1, 2 and 3. Let us rotate the joint 5 of an angle
with
t
cos 81 cos 824 cos 83 - sin 8 1 sin 83 - cos 8 1 cos 8 24 583 - sin 8 1 sin 83
RI
Next let us premultiply both sides of Eq. 3 by and we obtain
(13) By virtue of this the rotation matrix becames
(10) The first and the third row in Eqs. 10 can be rewritten in the form
a(I,I) a(I,2)] {COS82 } _ {b(I)} [ a(2, 1) a(2,2) sin 82 b(2)
(11) in which
in which
a(l, 1) a(2,2) a(2,1) a(I,2) b(l) b(2)
T15'(I,I) T15'(I, 2) T15' (1,2) T15' (2, 1) T15' (2,2) T15' (2,3) T15' (3, 1) T15' (3,2) T15' (3,3)
cos 81 Ptz + sin 81 Pty
a(l, 1) Pb -a(2,1) (cos 84 sin 83 + sin ( 4 )d34
d12 +
(sin 84 sin 83 + cos ( 4 )d34
Eqs. 11 supply the joint angle 82
b(l)a(2, 2) - a(l, 2)b(2) a(l, l)a(2, 2) - a(l, 2)a(2, 1) a(l, l)b(2) - b(l)a(2, 1) a(l, l)a(2, 2) - a(l, 2)a(2, 1) -1 a(l, l)b(2) - b(l)a(2, 1) tan b(l)a(2, 2) - a(l, 2)b(2)
-
- cos 81 cos 8 24
sin 81 -
sin 81
cos 8 1 sin 8 24 sin 8 1 cos 8 24 + cos 81 - sin 81 cos 824 + cos 81 sin 81 sin 8 24 sin 824 sin 8 24 cos 8 24
and corresponds to the euler angles ~
81 = ~d
e
O2
1)
0
+ 04
If we now rotate the joint number 6 of an angle
(12) Eqs. gles. that look
cos 8 1 cos 824
(14)
5, 6, 9 and 12 give us the first four joint anWe have now to check if a rotations sequence
the second euler angle becames the desired angle
make assumption true 5 exists. Let us have a at the rotation matrix of the first four joints
Finally if we rotate again the joint 5 of angle
T14(1,3)] T14(2,3) T14(3,3)
05 ,
378
=
1)d
(15)
and verify that the desired point with the desired orientation has been reached.
the hand effector orientation is matched.
5. CONCLUSION An algorithm has been presented to solve in closed-form the inverse kinematics problem of a particular robot manipulator. The type of robot does not satisfy Pieper's criteria so that usual methods cannot be used. The proposed methods does not use the Denavit-Hartenberg notation but puts coordinate frames in the intersection points of the rotation axis, to simplify the manipulator kinematics. An initial assumption about the first rotation is made then subsequent angles are found by geometric and trigonometric considerations.
4. NUMERICAL VERIFICATION Let us consider the following problem: to find the joint angles to place the end effector in
Pt,I = {450.0, -100.0, 750.0}T with desired hand orientation given by
R'1,1 =
0.6115 0.5598 [ -0.5592
0.2737 0.5135 0.8133
0.7424] -0.6504 0.1608
Both Pt I and R'1, are expressed in the laboratory referenc~ coordin~te system X, Yi Z,. At first we express them in the body-attached frame XoYoZo d Pt,O
R'1,o
6. ACKNOWLEDGEMENTS This research has been developed within the frame of the 'Progetto Finalizzato Robotica' of the National Council for Scientific Research, grant number 93.00910.67.
R,.-apt,1 R,.-a R '1,1
(16)
in which
o
7. REFERENCES
sin 0: cos 0:
Angeles, J. (1985). On the numerical 6olution of the inver6e kinematic problem. Int. J. of Robotics Res. 4(2):21-37 Botto, D. and Gola, M. M. (1993). De6ign and con6truction of a modular robot with eulerian joint6. 2nd Int. Meeting on Robootics in Alpe Adria Region 69-73 Denavit, J. and Hartenberg, R. S. (1955). A kine~ matic notation for lower-pair mechani6m6 ba6ed on matrice6. Trans. ASME J. of Applied Mechanics 22:215-221 Featherstone, R. (1983). P06ition and velocity tran6formation between robot end-effector coordinate6 and joint angle6. Int. J. of Robotics Res. 2(2):35-45. Hollerbach, J. M., and Sahar, G. (1983). Wri6tpartitioned, inver6e kinematic acceleration6 and manipulator dynamic6. Int. J. of Robotics Res. 45:889-894. Lenarcic, J. el al.(1991). Performance optimi6ation of hyper redundant 6nake-like robot manipulator . 22nd Int. Symposium on Industrial Robots 6:25-39 Low, K. H. and Dubey, R. N. (1986). A comparative 6tudy of generalized coordinate6 for 60lving the inver6e kinematic6 problem of a 6R robot manipulator. Int. J. of Robotics Res. 5{ 4):6988 Pieper, D. L. and Roth, B. (1969). the kinematic6 of manipulator6 under computer control. Proc. 2nd Int. Congress on the Theory of Mechanisms and Machines 2:159-169
From Eq. 16 the desired euler angles corresponding to hand orientation are easily found to be ~d
-25.000
ad
55.00°
'lid
15.000
The following results have been obtained on the basis of the preview theory by using Eqs. 5, 6, 9, 12, 13,14 and 15 -25.00° 19.42° 24.61° 45.53°
95 1 96 95 ,
-24.61° 6.95° 15.00°
Let us calculate the end effector position and orientation in the laboratory reference coordinate system
RH,'{
R;_~RIR2R3RtR51 ~R5'
0.6115 0.5598 [ -0.5592
calc
P t,1
0.2737 0.5135 0.8133
R;_a[d o + R 12 d 12
0.7424] -0.6504 0.1608
+ R 12 Rt3 d 34]
H,I 56 +Rcalcd
{450.0, -100.0, 750.0}T
379