Professional Documents
Culture Documents
Robot Kinematics:
Forward and Inverse Kinematics
Serdar Kucuk and Zafer Bingul
1. Introduction
Kinematics studies the motion of bodies without consideration of the forces or
moments that cause the motion. Robot kinematics refers the analytical study of
the motion of a robot manipulator. Formulating the suitable kinematics models for a robot mechanism is very crucial for analyzing the behaviour of industrial manipulators. There are mainly two different spaces used in kinematics
modelling of manipulators namely, Cartesian space and Quaternion space. The
transformation between two Cartesian coordinate systems can be decomposed
into a rotation and a translation. There are many ways to represent rotation,
including the following: Euler angles, Gibbs vector, Cayley-Klein parameters,
Pauli spin matrices, axis and angle, orthonormal matrices, and Hamilton 's
quaternions. Of these representations, homogenous transformations based on
4x4 real matrices (orthonormal matrices) have been used most often in robotics. Denavit & Hartenberg (1955) showed that a general transformation between two joints requires four parameters. These parameters known as the
Denavit-Hartenberg (DH) parameters have become the standard for describing
robot kinematics. Although quaternions constitute an elegant representation
for rotation, they have not been used as much as homogenous transformations
by the robotics community. Dual quaternion can present rotation and translation in a compact form of transformation vector, simultaneously. While the
orientation of a body is represented nine elements in homogenous transformations, the dual quaternions reduce the number of elements to four. It offers
considerable advantage in terms of computational robustness and storage efficiency for dealing with the kinematics of robot chains (Funda et al., 1990).
The robot kinematics can be divided into forward kinematics and inverse
kinematics. Forward kinematics problem is straightforward and there is no
complexity deriving the equations. Hence, there is always a forward kinematics solution of a manipulator. Inverse kinematics is a much more difficult problem than forward kinematics. The solution of the inverse kinematics problem
is computationally expansive and generally takes a very long time in the real
time control of manipulators. Singularities and nonlinearities that make the
Source: Industrial-Robotics-Theory-Modelling-Control, ISBN 3-86611-285-8, pp. 964, ARS/plV, Germany, December 2006, Edited by: Sam Cubero
117
118
problem more difficult to solve. Hence, only for a very small class of kinematically simple manipulators (manipulators with Euler wrist) have complete analytical solutions (Kucuk & Bingul, 2004). The relationship between forward
and inverse kinematics is illustrated in Figure 1.
Joint 2
.
space
n
Forward kinematics
Inverse kinematics
0 Cartesian
nT
space
Two main solution techniques for the inverse kinematics problem are analytical and numerical methods. In the first type, the joint variables are solved analytically according to given configuration data. In the second type of solution,
the joint variables are obtained based on the numerical techniques. In this
chapter, the analytical solution of the manipulators is examined rather then
numerical solution.
There are two approaches in analytical method: geometric and algebraic solutions. Geometric approach is applied to the simple robot structures, such as 2DOF planar manipulator or less DOF manipulator with parallel joint axes. For
the manipulators with more links and whose arms extend into 3 dimensions or
more the geometry gets much more tedious. In this case, algebraic approach is
more beneficial for the inverse kinematics solution.
There are some difficulties to solve the inverse kinematics problem when the
kinematics equations are coupled, and multiple solutions and singularities exist. Mathematical solutions for inverse kinematics problem may not always
correspond to the physical solutions and method of its solution depends on the
robot structure.
This chapter is organized in the following manner. In the first section, the forward and inverse kinematics transformations for an open kinematics chain are
described based on the homogenous transformation. Secondly, geometric and
algebraic approaches are given with explanatory examples. Thirdly, the problems in the inverse kinematics are explained with the illustrative examples. Finally, the forward and inverse kinematics transformations are derived based
on the quaternion modeling convention.
119
Zi+1
Yi+1
Xi+1
Yi
Yi-1
Zi-1
Zi
i 1
ai
a i-1
Xi-1
Link i-1
Link i
i
di
Xi
As shown in Figure 2, the distance from Zi-1 to Zi measured along Xi-1 is assigned as ai-1, the angle between Zi-1 and Zi measured along Xi is assigned as
i-1, the distance from Xi-1 to Xi measured along Zi is assigned as di and the angle between Xi-1 to Xi measured about Zi is assigned as i (Craig, 1989).
The general transformation matrix i 1iT for a single link can be obtained as follows.
120
i 1
i
T = R x ( i 1 )D x (a i 1 )R z ( i )Q i (d i )
0
1
0 c
i 1
=
0 s i1
0
0
0 1
0 0
0 0
1 0
0
s i1
c i1
0
s i
ci
s c
ci c i1
= i i1
sis i1 cis i1
0
0
0 0 a i1 ci
1 0 0 si
0 1 0 0
0 0 1 0
0
s i1
c i1
0
si
ci
0
0
a i1
s i1d i
c i1d i
0 0 1
0 0 0
1 0 0
0 1 0
0
1 0 0
0 1 di
0 0 1
0 0
(1)
n 1
n
An alternative representation of
r11
r
base
21
end effector T =
r31
r12
r13
r22
r32
r23
r33
(2)
base
end _ effector
T can be written as
px
py
pz
(3)
(4)
where qi is the joint variable (revolute or prismatic joint) for joint i, (i=1, 2, ..
.6).
121
Example 1.
As an example, consider a 6-DOF manipulator (Stanford Manipulator) whose
rigid body and coordinate frame assignment are illustrated in Figure 3. Note
that the manipulator has an Euler wrist whose three axes intersect at a common point. The first (RRP) and last three (RRR) joints are spherical in shape. P
and R denote prismatic and revolute joints, respectively. The DH parameters
corresponding to this manipulator are shown in Table 1.
y5
z6
z5
x5
x6
z3
z4
y3
d3
y2
z2
x3
y6
x4
x2
y4
z1
d2
x1
y1
h1
z0
z0,1
1
x0
y0
Figure 3. Rigid body and coordinate frame assignment for the Stanford Manipulator.
i
1
2
3
4
5
6
i
1
2
0
4
5
6
i-1
0
90
-90
0
90
-90
ai-1
0
0
0
0
0
0
di
h1
d2
d3
0
0
0
122
c1
s
0
1
1T =
0
0
c 2
0
1
=
T
2
s 2
c1
0
0
s 2
c 5
0
4
T
=
5
s 5
(5)
0
1 d2
0
0
0
1
(6)
0
c 2
0
1 0
0 0
2
T =
3
0 1
0 0
c 4
s
3
4
=
T
4
0
0
0 0
1 h1
0 1
s1 0
0
1 d3
0 0
0 1
0
0 0
0 0
1 0
0 1
s 4
c 6
0
5
6T =
s 6
(7)
c 4
0
0
s 5
0
c 5
0
s 6
0
c 6
0
0 0
1 0
0 0
0 1
0 0
1 0
0 0
0 1
(8)
(9)
(10)
r11
r
0
21
6T =
r31
r12
r22
r32
r13
r23
r33
px
py
pz
123
(11)
where
In order to check the accuracy of the mathematical model of the Stanford Manipulator shown in Figure 3, the following steps should be taken. The general
position vector in equation 11 should be compared with the zero position vector in Figure 4.
124
d3
d2
+z 0
-y0
h1
z0,1
+x 0
-x 0
+y0
p x d 2s1 d 3c1s 2
p = d c d s s
y 2 1 3 1 2
p z
h1 + d 3c 2
(12)
In order to obtain the zero position in terms of link parameters, lets set
1=2=0 in equation 12.
o
o
o
p x d 2s(0 ) d 3c(0 )s(0 ) 0
p = d c(0o ) d s(0o )s(0o ) = d
3
2
y 2
o
h1 + d 3
p z
h 1 + d 3 c(0 )
(13)
All of the coordinate frames in Figure 3 are removed except the base which is
the reference coordinate frame for determining the link parameters in zero position as in Figure 4. Since there is not any link parameters observed in the direction of +x0 and -x0 in Figure 4, px=0. There is only d2 parameter in y0 direction so py equals -d2. The parameters h1 and d3 are the +z0 direction, so pz
equals h1+d3. In this case, the zero position vector of Stanford Manipulator are
obtained as following
p x 0
p = d
2
y
p z h 1 + d 3
125
(14)
It is explained above that the results of the position vector in equation 13 are
identical to those obtained by equation 14. Hence, it can be said that the
mathematical model of the Stanford Manipulator is driven correctly.
126
l2
2
l1
1
X
(a)
Y
P
l2
l2sin(1+ 2)
1
l1
l1sin1
1
l1cos1
l2cos(1 + 2)
(b)
Figure 5. a) Planer manipulator; b) Solving the inverse kinematics based on trigonometry.
p x = l1c1 + l 2 c12
(15)
p y = l1s1 + l 2s12
(16)
where c12 = c1c 2 s1s 2 and s12 = s1c 2 + c1s 2 . The solution of 2 can be
computed from summation of squaring both equations 15 and 16.
127
p 2x + p 2y l12 l 22
c2 =
2l1l 2
(17)
p 2 + p 2y l12 l 22
s2 = 1 x
2
l
l
1 2
(18)
p
p
l
l
p 2x + p 2y l12 l 22
x
y
1
2
,
2 = A tan 2 1
2
l
l
2l1l 2
1 2
(19)
c1p x + s1p y = l1 + l 2 c 2
(20)
128
(21)
c1 =
p x (l1 + l 2 c 2 ) + p y l 2s2
p 2x + p 2y
(22)
s1 is obtained as
p (l + l c ) + p l s
s1 = 1 x 1 2 2 2 2 y 2 2
px + py
(23)
p x (l1 + l 2 c 2 ) + p y l 2s 2 p x (l1 + l 2 c 2 ) + p y l 2s 2
,
1 = A tan 2 1
2
2
p 2x + p 2y
p
p
+
x
y
(24)
Although the planar manipulator has a very simple structure, as can be seen,
its inverse kinematics solution based on geometric approach is very cumbersome.
129
For the manipulators with more links and whose arm extends into 3 dimensions the geometry gets much more tedious. Hence, algebraic approach is chosen for the inverse kinematics solution. Recall the equation 4 to find the inverse kinematics solution for a six-axis manipulator.
r11 r12
r r
0
21 22
6T =
r31 r32
0 0
px
py 0
= 1T(q1 ) 12T(q 2 ) 23T(q 3 ) 34T(q 4 ) 45T(q 5 ) 56T(q 6 )
pz
r13
r23
r33
0
To find the inverse kinematics solution for the first joint ( q1 ) as a function of
base
the known elements of end effector
T , the link transformation inverses are premultiplied as follows.
[ T (q ) ]
0
1
T = [01T (q1 )]
1 0
6
where 01T(q 1 )
is given by
[ T (q ) ]
0
1
1 0
1
1 0
1 0
6
(25)
To find the other variables, the following equations are obtained as a similar
manner.
0
1
T(q 1 ) 12T (q 2 )]
0
1
1 0
6
1 0
6
[ T (q )
0
1
T (q 2 ) 23T (q 3 ) 34T (q 4 )]
1
2
1 0
6
T = 45T (q 5 ) 56T (q 6 )
0
1
1 0
6
T = 56T (q 6 )
(26)
(27)
(28)
(29)
130
can be solved as functions of r11,r12, r33, px, py, pz and the fixed link parameters. Once q1 is found, then the other joint variables are solved by the same
way as before. There is no necessity that the first equation will produce q1 and
the second q2 etc. To find suitable equation for the solution of the inverse kinematics problem, any equation defined above (equations 25-29) can be used
arbitrarily. Some trigonometric equations used in the solution of inverse kinematics problem are given in Table 2.
.
Equations
Solutions
a sin + b cos = c
a sin + b cos = 0
= A tan 2(b , a )
= A tan 2 (b , a )
cos = a
= A tan 2 m 1 a 2 , a
sin = a
1 a2
or
= A tan 2(b , a )
(
= A tan 2 ( a , m
)
)
Example 2.
As an example to describe the algebraic solution approach, get back the inverse kinematics for the planar manipulator. The coordinate frame assignment
is depicted in Figure 6 and DH parameters are given by Table 3.
i
1
2
3
i
1
2
0
i-1
0
0
0
ai-1
0
l1
l2
di
0
0
0
131
Z3
X3
l2
Y3
Z2
l1
Z0,1
X0,1
X2
2
Y2
Y0,1
c1
s
0
T= 1
1
0
c2
s
1
2
=
T
2
0
1
0
2
=
T
3
0
s1 0 0
c1 0 0
0
1 0
0
0 1
s 2
c2
0
0
0 l1
0 0
1 0
0 1
0 0 l2
1 0 0
0 1 0
0 0 1
(30)
(31)
(32)
Let us use the equation 4 to solve the inverse kinematics of the 2-DOF manipulator.
132
r11
r
0
21
3T =
r31
r12
r13
r22
r32
r23
r33
px
py 0 1 2
= 1T 2T 3T
pz
(33)
(34)
where
01 R T 01 R T 0 P1
T =
1
0 0 0
0
1
(35)
In equation 35, 01 R T and 0 P1 denote the transpose of rotation and position vector of 01T , respectively. Since, 01T 1 01T = I , equation 34 can be rewritten as follows.
0
1
(36)
c1
s
1
s1
c1
0
0
0 0 r11
0 0 r21
1 0 r31
0 1 0
r12
r13
r22
r32
r23
r33
p x c 2
p y s 2
=
pz 0
1 0
s 2
c 2
0
0
0 l1 1
0 0 0
1 0 0
0 1 0
0 0 l2
1 0 0
0 1 0
0 0 1
. . . c1p x + s1p y . . . l 2 c 2 + l1
. . . s p + c p . . .
l 2 s 2
1 x
1 y
. . .
. . .
0
pz
1
1
0 0 0
0 0 0
Squaring the (1,4) and (2,4) matrix elements of each side in equation 37
(37)
133
p 2x (c 2 1 + s 2 1 ) + p 2y (s 2 1 + c 2 1 ) = l 22 (c 2 2 + s 2 2 ) + 2l1l 2 c 2 + l12
p 2x + p 2y = l 22 + 2l1l 2 c 2 + l12
p 2x + p 2y l12 l 22
c 2 =
2l1l 2
Finally, two possible solutions for 2 are computed as follows using the fourth
trigonometric equation in Table 2.
2
2
2
2 2
p
p
l
l
p 2x + p 2y l12 l 22
+
x
y
1
2
2 = A tan 2 m 1
,
2
l
l
2l1l 2
1 2
(38)
Now the second joint variable 2 is known. The first joint variable 1 can be
determined equating the (1,4) elements of each side in equation 37 as follows.
c1p x + s1p y = l 2 c 2 + l1
(39)
Using the first trigonometric equation in Table 2 produces two potential solutions.
2
(40)
Example 3.
As another example for algebraic solution approach, consider the six-axis Stanford Manipulator again. The link transformation matrices were previously developed. Equation 26 can be employed in order to develop equation 41. The
inverse kinematics problem can be decoupled into inverse position and orientation kinematics. The inboard joint variables (first three joints) can be solved
using the position vectors of both sides in equation 41.
[ T T]
0
1
1
2
1 0
6
(41)
134
. . . c2 (c1p x + s1p y ) + s2 (p z h1 ) . . . 0
. . . s (c p + s p ) + c (p h ) . . . d
2
1 x
1 y
2
z
1
3
. . .
. . . 0
s1p x c1p y d 2
1
0 0 0
0 0 0 1
The revolute joint variables 1 and 2 are obtained equating the (3,4) and (1,4)
elements of each side in equation 41 and using the first and second trigonometric equations in Table 2, respectively.
2
(42)
(43)
The prismatic joint variable d 3 is extracted from the (2,4) elements of each side
in equation 41 as follows.
d 3 = s 2 (c1p x + s1p y ) + c 2 (p z h 1 )
(44)
The last three joint variables may be found using the elements of rotation matrices of each side in equation 41. The rotation matrices are given by
. .
r13 s1 r23 c1
. .
0
1 0
0 0
.
s 5 s 6
c 4 s 5
c 5
s 4 s 5
.
.
(45)
where d = r31c2 r11c1s2 r21s1s2 and e = r32 c 2 r12 c1s 2 r22 s1s 2 . The
revolute joint variables 5 is determined equating the (2,3) elements of both
sides in equation 45 and using the fourth trigonometric equation in Table 2, as
follows.
(46)
Extracting cos 4 and sin 4 from (1,3) and (3,3), cos 6 and sin 6 from (2,1)
and (2,2) elements of each side in equation 45 and using the third trigonomet-
135
ric equation in Table 2, 4 and 6 revolute joint variables can be computed, respectively.
r s r c
r s + r c c + r c s
4 = A tan 2 13 1 23 1 , 33 2 13 1 2 23 2 1
s 5
s 5
r c r c s r s s r c r c s r s s
6 = A tan 2 32 2 12 1 2 22 1 2 , 31 2 11 1 2 21 1 2
s 5
s 5
(47)
(48)
2.2.3 Some Drawbacks for the Solution of the Inverse Kinematics Problem
136
2 10 5
2 10 5
(49)
(50)
= 10.9 m 19.1
Clearly, the planar manipulator has four different mathematical solutions
given by
(51)
S2 = {1 = 10.9 + 19.1 = 30 o , 2 = 60 o }
(52)
(53)
(54)
As a result, these four sets of link angle values given by equations 51 through
54 solve the inverse kinematics problem for the planar manipulator. Figure 7
illustrates the particular positions for the planar manipulator in each of above
solutions.
137
l2
2=60
2=-60
l1
l1
l2
(12.99, 2.5)
1=30
1=30
1=30, 2=-60
1=30, 2=60
(a)
(b)
(12.99, 2.5)
l1
l2
X
2=60
l1
1=-8.2
l2
2=-60
1=-8.2
1= -8.2, 2=60
1= -8.2, 2=-60
(c)
(d)
Although there are four different inverse kinematics solutions for the planar
manipulator, only two (Figure 7b and 6c) of these bring the end-effector to the
desired position of (px, py)=(12.99, 2.5).
Mathematical solutions for inverse kinematics problem may not always correspond to physical solutions. Another words, there are physical link restrictions
for any real manipulator. Therefore, each set of link angle values should be
138
checked in order to determine whether or not they are identical with the
physical link limits. Suppose, 2 =180, the second link is folded completely
back onto first link as shown in Figure 8. One can readily verify that this joint
value is not physically attained by the planar manipulator.
2=180
l2
l1
Figure 8. The second link is folded completely back onto the first link when 2 =180.
139
objects. (Gu & Luh, 1987) used quaternions for computing the Jacobians for robot kinematics and dynamics. (Funda et al., 1990) compared quaternions with
homogenous transforms in terms of computational efficiency. (Kim & Kumar,
1990) used quaternions for the solution of direct and inverse kinematics of a 6DOF manipulator. (Caccavale & Siciliano, 2001) used quaternions for kinematic control of a redundant space manipulator mounted on a free-floating
space-craft. (Rueda et al., 2002) presented a new technique for the robot calibration based on the quaternion-vector pairs.
(55)
2 xy 2sz
2 xz + 2sy
1 2 y 2 2z 2
R = 2xy + 2sz
1 2 x 2 2z 2
2 yz 2sx
2 xz 2sy
2 yz + 2sx
1 2 x 2 2 y 2
(56)
r11
r
21
r31
r12
r22
r32
r13
r23
r33
(57)
140
s=
(58)
x=
r32 r23
4s
(59)
y=
r13 r31
4s
(60)
z=
r21 r12
4s
(61)
Although unit quaternions are very suitable for defining the orientation of a
rigid body, they do not contain any information about its position in the 3D
space. The way to represent both rotation and translation in a single transformation vector is to use dual quaternions. The transformation vector using dual
quaternions for a revolute joint is
(62)
where the unit quaternion q represents appropriate rotation and the vector
p=<px, py, pz> encodes corresponding translational displacement. In the case
of prismatic joints, the displacement is represented by a quaternion-vector pair
as follows.
(63)
where [1, < 0, 0, 0 >] represents unit identity quaternion. Quaternion multiplication is vital to combining the rotations. Let, q1 = [s1 , v1 ] and q 2 = [s 2 , v 2 ] denote
two unit quaternions. In this case, multiplication process is shown as
q 1 q 2 = [s1s 2 v1 v 2 , s1 v 2 + s 2 v1 + v1 v 2 ]
(64)
where (.), ( ) and ( ) are dot product, cross product and quaternion multiplication, respectively. In the same manner, the quaternion multiplication of two
point vector transformations is denoted as,
Q1Q 2 = (q 1 , p1 ) (q 2 , p 2 ) = q 1 q 2 , q1 p 2 q11 + p1
(65)
141
q 1 = [s, v] = [s, v]
(66)
Q 1 = (q 1 , q 1 * p * q )
(67)
(68)
where 1 = 1 / 2 . As shown in Figure 9, the unit line vector of the second joint
is the opposite direction of the y-axis of the reference coordinate frame, in this
case, the orientation of the second joint is given by
142
d3
d2
1
Unit line vector
of the first joint
h1
Z
z0,1
X
Y
Figure 9. The coordinate frame and unit line vectors for the Stanford Manipulator.
(69)
Because, the third joint is prismatic; there is only a unit identity quaternion
that can be denoted as
(70)
Orientations of the last three joints are determined as follows using the same
approach described above.
(71)
(73)
(72)
The position vectors are assigned in terms of reference coordinate frame as follows. When the first joint is rotated anticlockwise direction around the z axis
of reference coordinate frame by an angle of 1 , the link d2 traces a circle in the
xy-plane which is parallel to the xy plane of the reference coordinate frame as
given in Figure 10a. Any point on the circle can be determined using the vector
143
(74)
If the second joint is rotated as in Figure 10b, in this case the rotation will be
xz-plane with respect to the reference coordinate frame. The position vector of
the second quaternion can be written as
(75)
Z
d3
X
d2
2
d2
X
Y
h1
h1
z10,1
Z
z0,1
Figure 10. a) The link d2 traces a circle on the xy-plane; b) The link d3 traces a circle on
the xz-plane.
Since rotation of the last four joints do not create any displacement for the successive joints, the position vectors are denoted as
p 3 = p 4 = p 5 = p 6 =< 0, 0, 0 >
(76)
(77)
(78)
(79)
144
(80)
(81)
(82)
(83)
where s = M11 and v =< M12 , M13 , M14 > are given by equation 98.
(84)
M i = Q i M i +1
N i +1 = Q i1 N i
(85)
(86)
145
(87)
(88)
(89)
(90)
(91)
(92)
(93)
(94)
(95)
where,
M 41 = c5 c( 4+6) ,
M 42 = s5 s ( 46 ) ,
M 43 = s5 c ( 46) and
M 44 = c 5 s ( 6+ 4 ) .
(96)
where,
M 32 = M 42 ,
M 33 = M 43 and
M 34 = M 44 .
(97)
146
M 21 = c 2 M 41 s 2 M 43 ,
M 22 = c 2 M 42 s 2 M 44 , M 23 = c 2 M 43 s 2 M 41 and
M 24 = c 2 M 44 + s 2 M 42 .
M1 = Q1M 2 = ([M11 , < M12 , M13 , M14 >], < M15 , M16 , M17 >)
(98)
where,
M11 = c1M 21 s1 ( c 2 M 44 s 2 M 42 ) ,
M12 = c1M 22 s1M 23 ,
M13
M14
M15
M16
M 17
= c1M 23 + s1M 22 ,
= s1M 21 + c1M 24 ,
= d 2 s1 d 3 c1s 2 ,
= d 2 c1 d 3s1s 2 and
= h 1 + d 3 c 2 .
(99)
(100)
where,
N 21 = wc1 + c s1 ,
N 22 = ac1 + b s1 ,
N 23 = b c1 a s1 ,
N 24 = cc1 w s1 ,
N 25 = p x c1 + p y s1 and
N 26 = p x s1 + p y c1 d 2 .
N 37 = c 2 (p z h 1 ) s 2 (p x c1 + p y s1 ) d 3 .
(101)
147
(102)
where, N 41 = N 31 ,
N 42 = N 32 ,
N 43 = N 33 and
N 44 = N 34 .
The first joint variable 1 can be determined equating the second terms of M2
and N2 as follows.
2
(103)
The joint variables 2 and d 3 are computed equating the first and third elements of M3 and N3 respectively.
(104)
d 3 = s 2 (c1 p x + s1 p y ) + c 2 (p z h 1 )
(105)
N 44
N
and tan( 4 6 ) = 42
N 41
N 43
equations can be derived form equating the terms M4 to N4, where,
c 5 c ( 4 + 6) = N 41 , s 5 s ( 4 6 ) = N 42 , s5 c ( 46 ) = N 43 and c5 s( 6+ 4 ) = N 44 . In this case, the
(106)
(107)
(108)
148
4. References
Denavit, J. & Hartenberg, R. S. (1955). A kinematic notation for lower-pair
mechanisms based on matrices. Journal of Applied Mechanics, Vol., 1
(June 1955) pp. 215-221
Funda, J.; Taylor, R. H. & Paul, R.P. (1990). On homogeneous transorms, quaternions, and computational efficiency. IEEE Trans.Robot. Automat., Vol.,
6 (June 1990) pp. 382388
Kucuk, S. & Bingul, Z. (2004). The Inverse Kinematics Solutions of Industrial
Robot Manipulators, IEEE Conferance on Mechatronics, pp. 274-279, Turkey, June 2004, Istanbul
Craig, J. J. (1989). Introduction to Robotics Mechanics and Control, USA:AddisionWesley Publishing Company
Hamilton, W. R. (1869). Elements of quaternions, Vol., I & II, Newyork Chelsea
Salamin, E. (1979). Application of quaternions to computation with rotations. Tech.,
AI Lab, Stanford Univ., 1979
Kotelnikov, A. P. (1895). Screw calculus and some of its applications to geometry
and mechanics. Annals of the Imperial University of Kazan.
Pervin, E. & Webb, J. A. (1983). Quaternions for computer vision and robotics,
In conference on computer vision and pattern recognition. pp 382-383,
Washington, D.C.
Gu, Y.L. & Luh, J. (1987). Dual-number transformation and its application to
robotics. IEEE J. Robot. Automat. Vol., 3, pp. 615-623
Kim, J. H. & Kumar, V. R. (1990). Kinematics of robot manipulators via line
transformations. J. Robot. Syst., Vol., 7, No., 4, pp. 649674
Caccavale, F. & Siciliano, B. (2001). Quaternion-based kinematic control of redundant spacecraft/ manipulator systems, In proceedings of the 2001
IEEE international conference on robotics and automation, pp. 435-440
Rueda, M. A. P.; Lara, A. L. ; Marinero, J. C. F.; Urrecho, J. D. & Sanchez, J.L.G.
(2002). Manipulator kinematic error model in a calibration process
through quaternion-vector pairs, In proceedings of the 2002 IEEE international conference on robotics and automation, pp. 135-140
ISBN 3-86611-285-8
technologies. Although being highly technical and complex in nature, the papers presented in this book
represent some of the latest cutting edge technologies and advancements in industrial robotics technology.
This book covers topics such as networking, properties of manipulators, forward and inverse robot arm
kinematics, motion path-planning, machine vision and many other practical topics too numerous to list here.
The authors and editor of this book wish to inspire people, especially young ones, to get involved with robotic
and mechatronic engineering technology and to develop new and exciting practical applications, perhaps using
the ideas and concepts presented herein.
How to reference
In order to correctly reference this scholarly work, feel free to copy and paste the following:
Serdar Kucuk and Zafer Bingul (2006). Robot Kinematics: Forward and Inverse Kinematics, Industrial
Robotics: Theory, Modelling and Control, Sam Cubero (Ed.), ISBN: 3-86611-285-8, InTech, Available from:
http://www.intechopen.com/books/industrial_robotics_theory_modelling_and_control/robot_kinematics__forwar
d_and_inverse_kinematics
InTech Europe
InTech China