Professional Documents
Culture Documents
02004 IEEE
0-7803-8599-3/04/$20.00 274
need to be supplied rapidly in order to have control where q i is the joint variable (revolute joint or prismatic
actions. In the second type of solution, all of the joint joint) for joint i. To find the inverse kinematics solution,
variables are obtained iterative computational procedures. it should he solved for q i as function of the known
There are four disadvantages in these: a) incorrect initial
estimations, b) before executing the inverse kinematics elements of md&ET.To find q1 firstly as a h c t i o n
algorithms, convergence to the correct solution can not be of the known elements, the link transformation inverses
guarantied, c) multiple solutions are not known, d) there are premultiplied as follows.
is no solution, if Jacobian matrix is singular [9]. In the
third type, some of the joint variables are determined
analytically in terms of two or three joints variables and 13)
~,
these joint variables computed numerically. h3)
h2) 45m)
h4) im6)
Joint where [qT(ql)rl q T ( q l ) = l , I is identity matrix. Then
equation 3 can be simplified as follows.
[pT(q,)ri :T= h 2 ) ?Aa):7'(q4) '$"(qs) h)(4)
To find the other joint variables, the following equations
are obtained in a similar manner.
Figure 2. The schematic representation of forward and
inverse kinematics. [qT(41) :T(g2)ri %= :T(q3) : T ( 4 4 ) 'h,56T(%)
) (5)
This paper is written following manner. In Section II, [:%) h q 2 ) ?(93)f' !$= : T ( q j ) !T(qs) ? J ( q g ) (6)
the properties of homogenous transformation matrices
were identified and inverse kinematics problem
formulation was given. In Section 111, the two-Letter code [ q T ( a ) iT(q2) &) h 7 4 ) r i HT= !7(95) h k ) (7)
description of robot configurations were explained and
the fundamental robot manipulators were classified
according to their joint properties. In Section IV, the (qT(91) h) : T ( s j ) ?T(qs)ri :T= i T ( ' 1 6 ) (8)
inverse kinematics solutions of SN, CS, NR and CC robot
manipulator which were given in closed form and the There are 12 simultaneous set of nonlinear equations
numbers of inverse kinematics solution of sixteen robot to be solved. The only unknown on the left hand side of
manipulator were presented as table. Finally, the equation 4 is q l . The 12 nonlinear matrix elements of
contribution ofthis work is insisted in Section V. right hand side are either zero, constant or functions of
q2 through q 6 . If the elements of on the left hand side
2. Problem Formulation that are a function of q1 are equated with elements on
the right hand side then the joint variable q , can be
For a six jointed robot manipulator, the position and solved as functions of rII , rL2 ..... r 3 3 , p x , p?, and
orientation of the end-effector with respect to the base is
pI and fixed link parameters. Once 9 , is found, then
given by,
other joint variables are solved by same procedure as
before. There is no necessity that first equation will
produce q1 and second q 2 etc. To fmd suitable equation
to solve the inverse kinematics problem, any equation
defined above (equations 4-8) can be used arbitrary. Some
trigonometric equations used in the solution of inverse
kinematics problem were given as Table in Appendix A.
where ,!,Is represent the rotational elements of
transformation matrix ( i a n d j = l , 2 and 3 ). p i , p v 3. Description of Robot Configurations
and p _ are the elements of position vector. Using
B.Huang and V. Milenkovic [ l ] used a two-letter code
complete analytical solution technique, it should be to classify a robot configuration. The first letter
started by equating the known transformation with the characterizes the first joint and the first joint's
product of the link transformations. relationship to the second joint. The second letter
identifies the third joint and third joint's association to the
06T =?T(qi) h q 2 ) :T(q;) !T(qj) ' h q s ) iT(qg) (2) second joint. The code letters and their meanings are:
275
S : Slider
C : Rotary parallel to slider
N : Rotary perpendicular to rotary
R : Rotary perpendicular to rotary, or rotary
parallel to rotary
SS, SC, SN, CS, CC, CR, NS, NN, NR, RC, RN, RR,
RS, SR, CN and NC.
276
Taking square of (l,4), (2,4) and (3,4) matrix elements of Extracting cos0, and sin$, from (1,3) and (3,3),
each sides and adding the results then, prismatic joint cos8, and sin 8, from (2,2) and (2, I) matrix elements of
variable d, can be computed.
each sides in equation 7, revolute joint variables 8, and
8, can he computed, respectively.
(lo)
d, = p , - d d , 2 + 1 2 2 - 2 d 2 d 4 ~ 8 ~ - p ~ 2 - I ~ 2 + Z P r ~ ~-Py2
0, = Atan2(cB1cB4r,;+sB2cS,r,; +s8,r3, ,
Revolute joint variable 8, can be found by equating (1,3) (19)
s@i3 - 4 r 2 ; )
matrix elements of each sides in equation 4.
. . 0, = Atan2(-~B~sB,r,~
-sf3,s8,r2, +cB4r31,
B2 = Atan2(d4sO3J2) (20)
-cBlsB4r,2 -sB1sB4r22 +c84r32)
(1 1)
f A tan2(dl: +d2s2& -(pz - d,I2.pz - 4)
Revolute joint variable 8, can be determined by equating 3.3. The Inverse Kinematics for NR Robot
(2,3) matrix elements of each sides in equation 6
Revolute joint variable 8, can be determined by
equating (2,4) matrix elements of each sides in equation
0, = Atan2(i-dl -(cS,s8;q3 -cB3r2, + s B 2 s B , r 3 ~ ) ’ , 4.
(12)
cB2s&r,, -cB,r2; +sS2s0,r3;)
01=Atan2(-py . - P ~ ) Or 81=Atm2(py PI) (21)
Extracting cos.9, and sin$, from (1,3) and (3,3), cos8,
and sin8, from (2,l) and (2,2) matrix elements of each Taking square of (1,4) and (3,4) matrix elements of each
sides in equation 6, revolute joint variables 8, and 8, sides in equation 4 and adding the results then, revolute
joint variable 8, can be computed.
can be computed, respectively.
8, = Atan2([-sB2r,; + ~ . 9 ~ q ~ ] ,/ s 8 ~
(13)
[cS2cB;r,; + sB3r2;+ss2c03r3,]/s0,)
2 2
( c 8 , p , + s 8 , p , . ) 2 + ( ~ , - h 1 ) 2 - d q-12
0, = Atan2([-cB2sbjq2 -s82s6jr32l/s0j ,
(14)
* I-(
2d412
1
[ C B ~ S B ;-c&r2,
~ , ~ +sB&r,~l/sQ,)
Revolute joint variable 8, can be determined by equating
3.2. The Inverse Kinematics for CS Robot
(1,4) matrix elements of each sides in equation 4.
Revolute joint variable 8, can be determined by B2=Atan2(d4c8~,d4s03
+12)
equating (1,4) matrix elements of each sides in equation
f Atan2(,/d: +I: +2I2d4sB3- ( c B I p r +rqp,,)’ , (23)
4.
ce,px + S B ~ P J
= A t a n 2 ( p y , p x ) + A t a n 2 ( J m , I , ) (15)
Revolute joint variable 8, can be determined by equating
Prismatic joint variables d2 and d,can he attained by (2,3) matrix elements of each sides in equation 6.
equating (3,4) and (2,4) matrix elements of each sides,
respectively in equation 4.
d2 =P: (16)
d3 = sBI px -CBI p v -d, (17)
Extracting cos@, and from (1,3) and (3,3),
Revolute joint variable 8, can be determined by equating cos@, and sine6 from (2,l) and (2,2) matrix elements of
(2,3) matrix elements of each sides in equation 7. each sides in equation 3, 8, and 8, revolute joint
variables can be computed, respectively.
8, = ~ t a n z ( - r ;, ~- C B , Y ~ ~-selr2;) or
8, = Atan2(1j~. c 0 1 r 1 3 + s 0 , r 2 ; ) (18)
277
e, = ~ t a n 2 ( [ s e , q ,-celr23iisej , Table 2. The numbers of inverse kinematics solution for
[~ew~,r,,+ s w 2 3 r 2 3+ s e 2 3 r 3 3 ~ / s ~ j(25)
j sixteen robot manipulator.
4 = A t a n 2 ( [ ~ @ 8 ~+se1se2,r2,
~r,~
[-ce,sOZ3q I
- ~ 0 2 ~ r ~ ~ l ,i . s O ~
-.sOl.~023r21
+c823r3~lis8~j
M S S S C C C
S C N S C R S N
N I 2 4 1 8 1 4 1 81 8
:
N
16
N
R
16
R R
C N
81 16 : i
R R S C N
R S R N C
81 4 4 18: 8
Extracting cos@j and sinOj from (3,3) and (1,3), [4l V. D. Towissis, “Principles and Design of Model-based
Controllers,” I n / . J of Contr.,1988, vol. 47(5j, pp.1267-1275.
cos8, and sine6 from (2,Z) and (2,l) matrix elements of
each sides in equation 7, revolute joint variable O5 and [5] Robert J. Schilling, Fundamentals of Robotics, Prentice
Hall, USA, 1990.
0, can be computed respectively.
[6] Phillip John McKerrow, Introduetion to Robotics, Addison-
us = A t a n 2 ( - ~ 6 ~ c Q-seI3c8,r2,
~~q~ -se4rj3, Wesley Publishing, USA, 1991.
(31)
se13q3 -c813r23)
[7] H. Asada, J.J.E. Slotine, Robot Anolysir ond Control, Wiley
Interscience Publication. USA. 1986.
e, = Atan2(-cfi3sQqq1-s8,,s04r2,+ C B , I ~ ~ ,
(32) [SI William A. Volovich, Roborzcs- Bmic Analym ond Design,
- ~ e , ~ s e ,-se13se4r22
q~ +ce4r3,) CBS Collage Publication, USA, 1987.
Table 2 gives the numbers of inverse kinematics solution [Y] V. D. Tourissis and Marcel0 H. Ang, “A Modular
for sixteen robot manipulator. Architecture for Inverse Robot Kinematics”, IEEE Transaction
on Robotics andAuromation, 1989, Vol. 5( 5 ) .
278
Appendix A
T
- Ill IV
Table 3. Some trigonometric equations and solutions cos0, -sin@ 0 0
used in inverse kinematics.
!T
I
;j
Equations Solutions
osinO+bcos8=c 1 O=AtanZ(o,b)
osinO+bcos8=0 1
f AtanZ(d-.
O=Atan2(-b, a) or
c)
:T
cos8,
[s:?i
-sine2
co;S2
0 ;
0
-1
0
0
B = A t a n 2 ( b ,-a)
case = a and sin 8 = b I 8 = Aian 2 j b . a I cos8, -sineJ 0 1,
sine, cosb', 0 0
0 0 1 0
sinO=a I
I
B=Atan2[ U, fm) 0 0 0 1
1
cos8, -sin.!?, 0 0 cos.9, -sin.!?, 0 0
0 -I -d4
0 -I -d4
Appendix B :r
cosls, .;, ;
Table 4. The forward transformation matrices of (I) SN: c o d j -sine5 0 0
(11) CS, (111) NR and (IV) CC robot
1 :]
0
manipulators.
4
ST
I I1
- s i i08 6
0
-sine, -cosS6 0 0
1 II] 0
0
-cosS,
-sinBJ -sileJ
cos04 -sine4 0
-1
0 0
0
-d4
cosl?, -sine4 0 0
a'
1 3 cos0, -sin@, 0 0
0 [si;8, co;06
0
-sins, -cos@, 0 0
279