You are on page 1of 11

International Journal of Automation and Computing 2 (2005) 114-124

An Analysis of the Inverse Kinematics for a


5-DOF Manipulator
De Xu∗†‡ , Carlos A. Acosta Calderon, John Q. Gan, Huosheng Hu
† Department of Computer Science, University of Essex, Colchester CO4 3SQ, UK

Min Tan
‡ The Key Laboratory of Complex System and Intelligence Science, Institute of Automation,
Chinese Academy of Sciences, Beijing 100080, China

Abstract: This paper proposes an analytical solution for a 5-DOF manipulator to follow a given trajectory while keeping the
orientation of one axis in the end-effector frame. The forward kinematics and inverse kinematics for a 5-DOF manipulator are
analyzed systemically. The singular problem is discussed after the forward kinematics is provided. For any given reachable
position and orientation of the end-effector, the derived inverse kinematics will provide an accurate solution. In other words,
there exists no singular problem for the 5-DOF manipulator, which has wide application areas such as welding, spraying,
and painting. Experiment results verify the effectiveness of the methods developed in this paper.

Keywords: Inverse kinematics, modeling and control, 5-DOF manipulator.

1 Introduction tor. If any DOF of the end-effector is not maintained,


then the desired position and orientation of the end-
Analytical techniques to deal with inverse kinemat- effector is reduced to 5-DOF. Obviously, analytical so-
ics have been well developed for manipulators with 6 lutions for inverse kinematics exist in this case, and
degrees of freedom (DOF), especially after the work methods for dealing with them should be different de-
of Manocha and Canny[1] . However, the deficiency pending on which DOF is not satisfied. In practice
of degrees of freedom makes the control of manipu- however, it is quite reasonable to satisfy the orientation
lators with less than 6-DOF very difficult when fol- defined by one coordinate vector only and the three-
lowing a given trajectory with a desired final pose. dimensional position of the end-effector. For example,
A large number of unreachable positions and orien- when the manipulator is used for welding, the direction
tations which exist in the working space for an end- of the weld gun and position of its tip should match de-
effector often result in no analytical solutions for the sired values. If the manipulator is mounted on a mobile
inverse kinematics[2] , although various artificial intelli- robot, i.e. it can move with a mobile robot and serve
gence methods have been proposed for redundant and as a mobile manipulator[6,7] , to keep the position of the
constrained manipulators[3∼5]. Recently, an analyti- end-effector free in the moving direction of the mobile
cal solution to the inverse kinematics of a 5-DOF Pio- robot is reasonable. These two typical cases in which
neer robotic arm (PArm) was developed at Essex[2]. It the total number of DOF to be controlled is five are
works very well for any reachable position and orien- selected as examples to analyze the inverse kinematics
tation of the end-effector, and can provide very good of the PArm in this paper.
approximate solutions for over 99% of situations that The rest of this paper is organized as follows. Sec-
cannot be exactly reached. tion 2 presents the robotic arm platform and coordinate
As we know, it is impossible in most cases to com- frame assignation. Forward kinematics analysis is in-
pletely satisfy the desired position and orientation of troduced in Section 3. Section 4 presents the inverse
an end-effector with 6-DOF using a 5-DOF manipula- kinematics analysis for a general case, and criteria for
——————— determining whether solutions for five joint angles ex-
Manuscript received June 4, 2005; revised December 12, 2005. ist. Solutions for two special cases concerned with a
This work was supported by the National High Tech- 5-DOF manipulator are derived in Section 5. Section
nology Research and Development Program of China (No.
6 provides experiment results to show the feasibility of
2002AA422160), and the National Key Fundamental Research
and Development Project of China (973, No.2002CB312200) the proposed solution. Finally, the paper is concluded
∗ Corresponding in Section 7.
author. E-mail address: sdxude@yahoo.com
De Xu et al./ An Analysis of the Inverse Kinematics for a 5-DOF Manipulator 115

2 Coordinate frames for the PArm 3 Forward kinematics for the PArm
The PArm is an accessory for the family of Pioneer 3.1 Forward kinematics
Mobile Robots, as shown in Fig.1. It is a 5-DOF ma-
nipulator driven by six open-loop servomotors and has The forward kinematics is a set of equations that
a gripper as an end-effector. The gripper has foam- calculates the position and orientation of the end-
lined fingers for firm grasping and manipulation of ob- effector in terms of given joint angles. This set of
jects as large as a soda can and as heavy as 150 grams equations is generated by using the D-H parameters
throughout the arm’s envelope of operation[8] . obtained from the frame assignation. The parameters
for the PArm are listed in Table 1, where θi represents
rotation about the Z-axis, αi rotation about the X-
axis, di transition along the Z-axis, and ai transition
along the X-axis.

Table 1 The D-H parameters of the PArm


Frame θi di (mm) ai (mm) αi (degree)
O0 − O1 θ1 d1 = 120 a1 = 68.75 -90
O1 − O2 θ2 0 a2 = 160 0
O2 − O3 −90 + θ3 0 0 -90
O3 − O4 θ4 d4 = 137.75 0 90
O4 − O5 θ5 0 0 -90
Fig.1 The PArm 5-DOF manipulator[8] O5 − O6 0 D6 = 113.21 0 0

The forward kinematics describe the transformation


from one frame to another, starting at the base and
ending at the end-effector. The transformation matrix
Ai between two neighboring frames Oi−1 and Oi is ex-
pressed as (1), found at the bottom of the page.
By substituting the D-H parameters in Table 1 into
(1), we can obtain the individual transformation ma-
trices A1 to A6 , and a global matrix of transformation
0
T6 as in (2):
nx ox ax px
 

0
 ny oy ay py 
Fig.2 Coordinate frames for the PArm T6 = A1 A2 A3 A4 A5 A6 = 
 nz oz az pz  (2)

0 0 0 1
Coordinate frames for the PArm are assigned as
shown in Fig.2. They are established using the prin- where (px , py , pz ) represents the position, and
ciples of the Denavit-Hartenbarg (D-H) convention. ({nx , ny , nz }, {ox , oy , oz }, {ax , ay , az }) the orientation
Frame O5 is an auxiliary frame attached to the end- of the end-effector. The orientation and position of the
effector at the place of joint 5, whose coordinate direc- end-effector can be calculated in terms of joint angles
tions are the same as O6 . Using the auxiliary frame and the D-H parameters of the manipulator, as shown
O5 to maintain consistency in the orientation for the in (3) to (14).
last link of the manipulator keeps frames O0 to O5 in
nx = c1 s23 c4 c5 + s1 s4 c5 + c1 c23 s5 (3)
the same plane and this allows us to apply the geomet-
ric projection method to the derivation of the inverse ny = s1 s23 c4 c5 − c1 s4 c5 + s1 c23 s5 (4)
kinematics. nz = c23 c4 c5 − s23 s5 (5)


cos(θi ) −sin(θi ) cos(αi ) sin(θi ) sin(αi ) αi cos(θi )

 sin(θi ) cos(θi ) cos(αi ) −cos(θi ) sin(αi ) αi sin(θi ) 
Ai = Rot(z, θ1 )T rans(0, 0, di )T rans(ai , 0, 0)Rot(x, αi ) = 
 0

sin(αi ) cos(αi ) di 
0 0 0 1
(1)
116 International Journal of Automation and Computing 2 (2005) 114-124

ox = −c1 s23 s4 + s1 c4 (6) derivation of the inverse kinematics, an auxiliary frame


oy = −s1 s23 s4 − c1 c4 (7) O5 is added, which is a rotation of the frame O4 . The
geometric projection that relates frame O5 to frame O1
oz = −c23 s4 (8)
is shown in Fig.3(a).
ax = −c1 s23 c4 s5 − s1 s4 s5 + c1 c23 c5 (9)
ay = −s1 s23 c4 s5 + c1 s4 s5 + s1 c23 c5 (10)
az = −c23 c4 s5 − s23 c5 (11)
px = −d6 c1 s23 c4 s5 − d6 s1 s4 s5 + d6 c1 c23 c5
+ d4 c1 c23 + a2 c1 c2 + a1 c1 (12)
py = −d6 s1 s23 c4 s5 + d6 c1 s4 s5 + d6 s1 c23 c5
+ d4 s1 c23 + a2 s1 c2 + a1 s1 (13)
pz = −d6 c23 c4 s5 − d6 s23 c5 − d4 s23 − a2 s2 + d1
(14)

where ci = cos(θi ), si = sin(θi ), c23 = cos(θ2 + θ3 ), and


s23 = sin(θ2 + θ3 ).
(a) The projection of O5 to O0
3.2 Discussion of the singular position
problem
It should be noted that if joint angle θ4 equals zero,
frames O1 , O2 , and O4 would rotate around parallel
axes, which means that all links of the arm would be on
the same plane. A singular position problem[9] might
emerge in this case. This has to be checked for, before
deriving the inverse kinematics. If θ4 = 0, then

1 0 0 0

 0 0 −1 0 
A4 =  0 1 0 d4 , and the transforms from

0 0 0 1
frame O2 to O5 and O1 to O5 , are as follows:

s35 0 c35 c3 d4

(b) The sketch of links in the same plane
2
 −c35 0 s35 s3 d4 
T5 = A3 A4 A5 = 
 0
 (15) Fig.3 The sketch of coordinate projection for the PArm
−1 0 0 
0 0 0 1
Obviously, the transformation matrix from frame
s235 0 c235 c23 d4 + a2 c2 O0 to O5 is as follows:
 

1
 −c235 0 s235 s23 d4 + a2 s2 
T5 = A25 T5 = 
 0
.
nx

ox ax −ax d6 + px

−1 0 0 
0 0 0 1 0
 ny oy ay −ay d6 + py 
T5 =0 T6 A−1
6 =
 nz
 (17)
(16) oz az −az d6 + pz 
Obviously, the solutions for joint angles θ1 to θ5 can 0 0 0 1
be determined for a given desired matrix 0 T6 . In other
words, there exists no singular problem in the PArm in and from Fig.3(a) it is easy to find a solution for θ1 as
the case of θ4 = 0. follows:

4 Inverse kinematics for the PArm 


θ11 = arctan 2(−ay d6 + py , −ax d6 + px )
(18)
θ12 = arctan 2(ay d6 − py , ax d6 − px )
4.1 Solutions for θ1 to θ3
It can be observed that the origins of frames O0 to where θ11 and θ12 are two candidate solutions, which
O5 are all in the same plane, as shown in Fig.3(b). correspond to the front and rear arm locations.
Based on this observation, in order to simplify the From Fig.3(b), considering the direction of angles
De Xu et al./ An Analysis of the Inverse Kinematics for a 5-DOF Manipulator 117

θ2 and θ3 , we have: By combining (23) and (22), a solution for θ2 can


 be derived as follows:
 d1 − a2 s2 − d4 s23 = −az d6 + pz
  B12 + B22 + a22 − d24
a1 + a2 c2 + d4 c23 =  θ 21 = arcsin( p )−γ
2a2 B12 + B22


 p
± (−ax d6 + px )2 + (−ay d6 + py )2 (24)

2 2 2 2
(19)

 θ22 = π − arcsin( B 1 + B 2 + a 2 − d4
 p )−γ
where the positive sign on the right hand side of the 2a2 B12 + B22
second equation is for the front arm orientation, and where θ21 and θ22 are two candidate values for θ2 . From
the negative sign for the rear arm orientation. In other (20), we can obtain a solution for θ3 :
words, the positive corresponds to θ11 and the negative
to θ12 . For the sake of convenience, (19) is rewritten as θ3 = arctan 2(B1 − a2 s2 , B2 − a2 c2 ) − θ2 . (25)
(20): It is clear that there are four groups of possible solu-

d4 s23 = az d6 − pz + d1 − a2 s2 = B1 − a2 s2 tions for θ1 , θ2 , and θ3 .

 p
d4 c23 = ± (−ax d6 + px )2 + (−ay d6 + py )2

4.2 Solutions for θ4 and θ5

(20)
 −a1 − a2 c2
After obtaining solutions for θ1 , θ2 , and θ3 , it should



= B2 − a2 c2 be straightforward to obtain solutions for θ4 and θ5 by
where using the equations for the forward kinematics[2] . How-
ever, various conditions with different values for solved
B1 = az d6 − pz + d1

p . joint angles have to be considered. This paper proposes
B2 = ± (−ax d6 + px )2 + (−ay d6 + py )2 − a1 a useful strategy to solve θ4 and θ5 , and at the same
(21)
time obtain useful criteria for checking the correctness
By applying a square sum to the two equations in of solutions. From (2), we have:
(20), a new equation that contains θ2 alone can be
−1 −1 0
formed as follows: A−1
3 A2 A1 T6 A−1
6 = A4 A5 (26)
B12 + B22 + a22 − d24 where the right side is:
B1 s2 + B2 c2 = . (22)
2a2 
c4 c5 −s4 −c4 s5 0

It is easy to establish that the values of B1 and B2 are  s4 c5 c4 −s4 s5 0 
A4 A5 =   (27)
not zero at the same time. Otherwise (22) would not  s5 0 c5 d4 
hold because of the different values of a2 and d4 . There- 0 0 0 1
fore, it is reasonable to introduce an auxiliary angle γ
and the left side is easily derived as (28). By substitut-
which is defined by:
ing s1 , c1 , s23 , and c23 obtained from (18), (24), and
γ = arctan 2(B2 , B1 ). (23) (25) into the last column in (28), we have (29).

nx c1 s23 + ny s1 s23 + nz c23 ox c1 s23 + oy s1 s23 + oz c23 ax c1 s23 + ay s1 s23 + az c23


−1 −1 0
 n x s1 − n y c1 ox s1 − oy c1 a x s1 − a y c1
A−1
3 A2 A1 T6 A−1
6 =
 nx c1 c23 + ny s1 c23 − nz s23 ox c1 c23 + oy s1 c23 − oz c23 ax c1 c23 + ay s1 c23 − az s23
0 0 0
c1 s23 (−ax d6 + px ) + s1 s23 (−ay d6 + py ) + c23 (−az d6 + pz ) − a1 s23 − a2 s3 − d1 c23

s1 (−ax d6 + px ) − c1 (−ay d6 + py ) 

c1 c23 (−ax d6 + px ) + s1 c23 (−ay d6 + py ) + s23 (−az d6 + pz ) − a1 c23 − a2 c3 − d1 s23 
(28)
1


nx c1 s23 + ny s1 s23 + nz c23 ox c1 s23 + oy s1 s23 + oz c23 ax c1 s23 + ay s1 s23 + az c23 0

−1 −1 0
 n x s1 − n y c1 ox s1 − oy c1 a x s1 − a y c1 0 
A−1
3 A2 A1 T6 A−1
6 =
 nx c1 s23 + ny s1 s23 − nz c23

ox c1 s23 + oy s1 s23 − oz c23 ax c1 s23 + ay s1 s23 − az c23 d4 
0 0 0 1
(29)
118 International Journal of Automation and Computing 2 (2005) 114-124

By equating the first and second terms of the sec- to check how many of those groups belong to correct
ond column in (27) and (29) respectively, we can obtain solutions, an easier way is to predict the number of
a solution for θ4 . Similarly, by equating the first and correct solutions in terms of the desired position and
third terms of the third row in (27) and (29) respec- orientation of the end-effector. The direction vector of
tively, we can obtain a solution for θ5 . The solutions the Z-axis of frame O3 can be indicated using different
for θ4 and θ5 are as follows: candidate solutions for θ1 and θ2 as follows:
T
vz31 = [ c1 c231 s1 c231 −s231 ] , f or θ11 , θ21 , θ231
 
 θ4 = arctan 2(−ox c1 s23 − oy s1 s23 − oz c23 , ox s1 oy c1 )
 

v = [ c c T
1 232 s1 c232 −s232 ] , f or θ11 , θ22 , θ232

θ5 = arctan 2(nx c1 c23 + ny s1 c23 − nz s23 − ax c1 c23 z32
T


+ay s1 s23 − az s23 ).


 vz33 = [−c1 c233 −s1 c233 −s233 ] , f or θ12 , θ21 , θ233
 T
(30) vz34 = [−c1 c234 −s1 c234 −s234 ] , f or θ12 , θ22 , θ234
(32)
4.3 The existence of correct solutions where vz31 to vz34 represent the direction of the Z-axis
of frame O3 in frame O0 .
It is evident that the inverse kinematics for a 5-DOF
Any two vectors in (32) form a plane because of the
manipulator such as the PArm will have no solution
different values of θ231 to θ234 . For example, vz3i and
for some given positions and orientations of the end-
vz3j (i 6= j) form a plane with a vertical vector as:
effector. How can we know in which cases there will be
T
no solution to the inverse kinematics? We notice that v3ij = vz3i × vz3j = [ −s1 kij c1 kij 0] (33)
the term in the third row and second column in (27) is
where kij = c23i s23j − s23i c23j . It is clear that kij 6= 0
zero and the corresponding term in (29) is determined
for θ23i 6= θ23j when i 6= j. The cross product of the
by θ1 to θ3 , so that we have the following criterion−the
Y -axis of frame O5 and v3ij is given by:
solutions for θ1 , θ2 , and θ3 have to satisfy:
v3ij × vy5 = [ kij oz c1 kij oz s1 −kij (ox c1 + oy s1 ) ]T
ox c1 c23 + oy s1 c23 − oz s23 = 0. (31) (34)
T
where vy5 = [ ox oy oz ] is the Y -axis of frame O5 .
The physical meaning of this criterion can T
If v3ij ×vy5 = [ 0 0 0 ] , then the Y -axis of frame O5
easily be explained. As a matter of fact,
is vertical to the plane formed with vz3i and vz3j . This
[ c1 c23 s1 c23 −s23 ]T is the direction vector of the Z-
T means that the solutions corresponding to vz3i and vz3j
axis of frame O3 , whilst [ ox oy oz ] is that of the
are correct because they satisfy (31). This observation
Y-axis of frame O5 . As shown in Fig.1, these two
leads to the following criterion.
axes have perpendicular mechanics at any given time.
Criterion 2: Multiple groups of correct solutions
Therefore, the relationship expressed in (31) can be
exist if and only if (35) and (36) are satisfied:
used in the following two criteria for checking whether
there are feasible inverse kinematic solutions. ox (px − ax d6 ) + oy (py − ay d6 ) = 0

(35)
Criterion 1: The inverse kinematics for the PArm oz = 0
have correct solutions, if and only if at least one of the (a2 − d4 )2 6 B12 + B22 6 (a2 + d4 )2 . (36)
solutions for θ1 to θ3 , given in (18), (24), and (25),
satisfies (31). Condition (35) is derived from (34) and (31) under
Proof. the condition that s1 and c1 are not zero at the same
a) The necessity time. To ensure that the solutions for θ1 to θ3 given
If (31) is not satisfied by any of the four groups of in (18), (24), and (25) have real values, condition (36)
solutions given in (18), (24), and (25), then (26) can- must be satisfied. If conditions (35) and (36) are satis-
not be satisfied and the position and orientation of the fied, there will be two or four solution groups that can
end-effector cannot be achieved with these solutions. achieve the desired position and orientation of the end-
b) The sufficiency effector. More specifically, the following conclusions
If (31) is satisfied by any of the four groups of so- can be drawn:
lutions given in (18), (24), and (25), then the solutions
• In the case that (35) and (36) are satisfied for two
for θ4 and θ5 given by (30) will satisfy (26), because of
selections of B2 , four groups of correct solutions
the orthogonality of the rotation transformation ma-
can be obtained.
trix for the orientation. That is, the desired position
and orientation of the end-effector can be realized.  • If (35) is satisfied, but (36) is true for only one
There are four groups of candidate solutions given selection of B2 , then two groups of correct solu-
above. Although the above criterion can be employed tions can be obtained.
De Xu et al./ An Analysis of the Inverse Kinematics for a 5-DOF Manipulator 119

• If (35) is satisfied, but (36) is false for two se- 5.2 Solutions to satisfy all orientations
lections of B2 , there will be no correct solutions,
because of the mechanical constraints. Now consider the situation where all orientations
can be satisfied and the position coordinates in the Y
• If (35) is not satisfied, but (31) is satisfied, there and Z axes are also taken into account. For example,
will be a unique group of solutions to realize if the manipulator is installed on a mobile robot, then
the desired position and orientation of the end- the position coordinate on the X-axis could be realized
effector. by the mobile robot.
It can be noted that the first term is the product
• If (35) and (31) are not satisfied, there will be
of the second and third terms in (27). Therefore, an
no solution to realize the desired position and
equation including only θ1 to θ3 can be formed as fol-
orientation of the end-effector.
lows:
It is noted that when (35) is satisfied then θ4 = 0 nx c1 s23 + ny s1 s23 + nz c23
or θ4 = ±π. This means that all links and the end-
= (ox s1 − oy c1 )(ax c1 c23 + ay s1 c23 − az s23 ).
effector in this case are in the same plane, and that the
(40)
conclusion in Section 3.2 is supported.
Another equation including only θ1 to θ3 is (31). If
5 Inverse kinematics for the PArm with oz 6= 0 then s23 can be expressed using c23 , s1 , and c1 .
one DOF of the end-effector unsatisfied Combining (31) and (40) leads to:
5.1 Solutions that satisfy the position and ny oy (oz − 1) + (nx ox − ny oy )(oz − 1)c21
Z-axis orientation + (nx oy + ny ox )(oz − 1)c1 s1 = 0. (41)
As discussed in Section 1, the position of the end- If oz 6= 1, then the common term oz − 1 can be elimi-
effector has to be controlled accurately, but only the nated from (41). By applying a double angle formula
desired Z-axis orientation should be matched in some to (41), a typical triangle equation can be obtained as
applications, i.e. the X or Y -axis orientation is ignored. follows:
In this case, the solutions for θ1 to θ3 are the same as
given in Section 4.1, because they are able to realize (nx ox − ny oy ) cos(2θ1 ) + (nx oy + ny ox ) sin(2θ1 ) = nz oz
(42)
the desired position of the end-effector.
and possible solutions for θ1 derived as:
To take only the Z-axis orientation into account,
γ1 = arctan 2(nx ox − ny oy , nx oy + ny ox )

the terms in the third row and third column in (27) 
nz oz

and (29) are used to obtain a solution for θ5 as follows:

γ = arcsin p


 2

(1 − n2z )(1 − o2z )



θ5 = ± arccos(ax c1 c23 + ay s1 c23 − az s23 ). (37) 
θ11 = (γ2 − γ1 )/2 (43)
θ = (π − γ − γ )/2

Then, the first and second terms in the third column 12 2 1




θ13 = π + (γ2 − γ1 )/2

in (27) and (29) can be used to solve θ4 . Here three 



cases are presented:

θ14 = π + (π − γ2 − γ1 )/2

• If s5 > 0 then the solution for θ4 is: where γ1 and γ2 are auxiliary angles, and θ11 to θ14 are
four candidate solutions for θ1 .
θ41 = arctan 2(−ax s1 + ay c1 , −ax c1 s23 − ay s1 s23 By substituting θ1 in (31) using (43), the value of
− az c23 ) (38) θ23 can then be determined as follows:
θ231 = arctan 2(ox c1 + oy s1 , −oz )

(44)
• If s5 < 0 then the solution for θ4 is: θ232 = π + θ231
where θ231 and θ232 are two candidate solutions for θ23 .
θ42 = arctan 2(ax s1 − ay c1 , ax c1 s23 + ay s1 s23
The position coordinates on the axes X, Y , and Z
+ az c23 ) (39) of frame O6 in the base frame show the relationship
between θ1 to θ3 as in (45):
• If s5 = 0, then ax and ay are independent of θ4 , 
which can be checked in (9) and (10). Therefore,  d1 − a2 s2 − d4 s23 = −az d6 + pz

the solution of θ4 can be given arbitrarily in this (a1 + a2 c2 + d4 c23 )s1 = −ay d6 + py (45)

case. 
(a1 + a2 c2 + d4 c23 )c1 = −ax d6 + px
120 International Journal of Automation and Computing 2 (2005) 114-124

By submitting θ23 to the first equation in (45), then 6.1 Experiment of trajectory following
solutions for θ2 and θ3 can be obtained as (46) and (47):
In this experiment, desired positions and orienta-
θ21 = arcsin[(d1 − d4 s23 + az d6 − pz )/a2 ]

(46) tions of the end-effector were generated using:
θ22 = π − θ21
1 0 0 px
 
where θ21 and θ22 are two candidate solutions for θ2 , 0
 0 −1 0 py 
and the solution for θ3 is: T6 = 
 0 0 −1 pz 
 (50)

θ3 = θ23 − θ2 . (47) 0 0 0 1

The solutions for θ4 and θ5 can be given as in (30).  px = 298 + t/5

In this case, the reachable positions px and py can be py = 50 cos(πt/36) (51)
calculated from the last two equations in (45), which

pz = 100 − 40 sin(πt/36)

may be far away from the desired positions.
where t(= 1, 2, · · · , 36) is an independent variable. The
If oz = 1, then ox = 0 and oy = 0. The result
orientations were fixed, and the positions formed a
θ23 = 0 can be deduced from (31). By submitting θ23
smooth trajectory. Obviously, there were unreachable
in (45), the solutions for θ1 to θ3 can be obtained as in
positions. This experiment was conducted to test solu-
(48) and (49):
 tions derived in both Sections 4 and 5.1.
 θ21 = arcsin[(d1 + az d6 − py )/a2 ]
 The methods proposed in Sections 4 and 5.1 were
θ22 = π − θ21 (48) employed to find joint angles from the desired posi-
 tions and orientations. Then, the forward kinematics
θ3 = −θ2

 were applied to calculate the reached positions and ori-
 γ4 = arcsin[(−ay d6 + py )/(a1 + a2 c2 + d4 c23 )]
 entations. The angles formed by the inverse kinematics
θ11 = γ4 were applied to the PArm manipulator in a real robot
experiment. Both the simulated PArm and the real

θ12 = π − γ4

(49) PArm were used in experiments. Joint angle accuracy
where θ11 and θ12 are two candidate solutions for θ1 . for the simulated PArm and real PArm were 0.01 and
If oz = 0, then c23 = 0 or s4 = 0. If c23 = 0, then 1 degree respectively.
the solution of θ1 to θ3 can be obtained from (45). If Experiment results for the simulated PArm are
s4 = 0, θ1 can be resolved from (31), and θ2 and θ3 given in Fig. 4, and those for the real PArm in Fig.5.
deduced from (45). The solution of θ4 and θ5 can be Figs.4(a) and 5(a) show desired positions with stars,
given as (30). The processes of resolution in detail for and reached positions with circles. Coordinate units
these cases are omitted here. are in millimeters. Figs.4(b) and 5(b) show orientation
Obviously, even if positions in the X and Y axes errors in terms of Euler angles. Figs.4(c) and 5(c) il-
are not considered, it is not certain that the orien- lustrate orientation errors in terms of angles between
tation of the end-effector can be realized, because desired and reached axis directions. Figs.4(d) and 5(d)
d1 −d4 s23 +az d6 −pz may be greater than a2 . Therefore, display joint angles from the inverse kinematics.
solutions to satisfy the orientation of the end-effector From Figs.4 and 5 it is clear that all desired posi-
first are not considered. tions match with mm accuracy and the Z-axis orien-
tation is well satisfied. However, this is not the case
6 Experimental results with the X and Y -axis orientations, because the meth-
ods applied here satisfy the positions and the Z-axis
Several experiments were conducted to validate the
orientation without considering the remained DOF in
derived inverse kinematics. An experiment was first
orientation.
conducted to check the correctness of the method de-
rived in Section 4, with reachable positions and ori- 6.2 Experiment for unreachable positions
entations. The desired positions and orientations of and orientations near reachable ones
the end-effector were created using forward kinematics
with random joint angles[10] . Therefore, these positions This simulation experiment was used to check if a
and orientations were reachable by the manipulator. group of reasonable solutions could be obtained for po-
Experiment results show that the derived inverse kine- sitions and orientations near reachable ones. Reach-
matics provide completely accurate solutions in this ex- able positions and orientations were generated using
periment. In addition, criteria 1 and 2 described by the forward kinematics with random joint angles, as
(31), (35), and (36) are also proved correct. conducted in experiment 1. Their Euler angles indica-
De Xu et al./ An Analysis of the Inverse Kinematics for a 5-DOF Manipulator 121

Fig.4 Experimental results using the simulated PArm

Fig.5 Experimental results using the real PArm


122 International Journal of Automation and Computing 2 (2005) 114-124

ting orientations were calculated, and then added using satisfied, whether the orientation of the end-effector is
small random angles in the range [ −1.5 1.5 ] degrees. reachable or not.
Positions were also added using random values, rang-
ing between [ −2 2 ] mm. In this way, positions and 6.3 A comparison of methods described in
orientations in a small neighborhood of reachable ones Section 5
were generated. The values of joint angles were strictly
limited in their actual working range, and their accu- The last experiment compared the methods derived
racy set the same as for the real PArm, i.e. one degree. in Sections 5.1 and 5.2 with unreachable positions and
When values of solutions exceeded this range, a simple orientations of the end-effector. Experiment results are
optimal search method using a grade-descent strategy provided below as Td , T1 , and T2 , where Td is the de-
was employed to find a group of approximate solutions sired unreachable position and orientation, T1 is the
in the range. It used the calculated solutions as initial reached position and orientation obtained by using the
starting points. It is clear that a group of satisfied ap- method in Section 5.1, and T2 is the reached position
proximate solutions can be found for any unreachable and orientation obtained by using the method in Sec-
positions and orientations near reachable ones by us- tion 5.2. It can be seen that the position and Z-axis
ing the inverse kinematics calculation combined with orientation in T1 match Td very well and the remaining
the grade-descent searching strategy. Inverse kinemat- orientation is close to that in Td . The orientations in
ics results are shown in Fig.6 for positions, and Fig.7 for T2 are almost the same as those in Td , but the posi-
errors of positions and the Z-axis orientation, respec- tions are far from those in Td . Therefore, the method
tively. It can be concluded that the three-dimensional in Section 5.1 provides advantages in comparison to the
positions and the Z-axis orientation can be effectively method in Section 5.2.
De Xu et al./ An Analysis of the Inverse Kinematics for a 5-DOF Manipulator 123

0.0630 0.3871 0.9199 262.3470


 
resolving process of inverse kinematics. This is an im-
 −0.8761 0.4629 −0.1348 279.1224  portant advancement, since the singular problem often
Td =  
 −0.4780 −0.7974 0.3683 286.1055  exists in 6-DOF manipulators.
0 0 0 1 The effectiveness of the derived methods has been

0.0587 0.3878 0.9199 262.3453
 demonstrated through experiment results. For any
 −0.8812 0.4531 −0.1348 279.1235  reachable positions and orientations of the end-effector,
T1 =  
 −0.4691 −0.8027 0.3683 286.1053  correct solutions for the inverse kinematics of the PArm
0 0 0 1 could be obtained from (18), (21), (23), (24), (25), and
(30). Their correctness can be checked using criterion
0.0630 0.3871 0.9199 198.9438
 
(31). For dealing with unreachable positions and ori-
 −0.8761 0.4629 −0.1348 161.1466 
T2 =  entations of an end-effector, solutions that satisfy the
 −0.4780 −0.7974 0.3683 266.6803  .

positions and the Z-axis orientation are preferred and
0 0 0 1 can be used to satisfy applications such as those in [11]
and [12]. We have currently focused on the problem
7 Conclusions and future work associated with a mobile manipulator, i.e. a combina-
tion of a manipulator and a mobile robot. Although
In this paper, a strategy based on geometric projec-
the manipulator has insufficient DOF, the addition of
tion was proposed to resolve the inverse kinematics of
a 3-DOF mobile platform makes its DOF redundant;
a 5-DOF manipulator. Sufficient and necessary criteria
this in turn creates new problems for us to address in
were provided to determine whether correct solutions
the future.
existed without using forward kinematics. Once the
four groups of candidate solutions were calculated for References
the first three joint angles, one criterion was employed
[1] D. Manocha, J. F. Canny. Efficient inverse kinematics for
to check which group was correct. In addition, it was general 6R manipulators. IEEE Transactions on Robotics
possible using another criterion to check if there were and Automation, vol. 10, no. 5, pp. 648–657, 1994.
multiple groups of correct solutions for a given position [2] J. Q. Gan, E. Oyama, E. M. Rosales, H. Hu. A complete
analytical solution to the inverse kinematics of the Pioneer2
and orientation before resolving the inverse kinemat-
robotic arm. Journal of Robotica, vol. 23, no. 1, pp. 123–
ics. Both criteria were derived for the first time in this 129, 2005.
paper. They provide significant convenience for the [3] J. Guo, V. Cherkassky. A solution to the inverse kinemat-
124 International Journal of Automation and Computing 2 (2005) 114-124

ics problem in robotics using neural network processing. In mobile robots, in particular, the coordination of multi-robot sys-
proceedings of IEEE Conference on Neural Networks, Wash- tems, mobile manipulators, and learning by imitation. He is a
ington, D.C., USA, pp. 299–304, 1989. member of IEEE.
[4] S. Tejomurtula, S. Kak. Inverse kinematics in robotics using
neural networks. Information Sciences, vol. 116, pp. 147–
164, 1999. John Q. Gan received a B.Sc. degree
[5] E. Oyama, A. Agah, K. F. MacDprman, S. Tachi. A modu- in electronic engineering from North-
lar neural network architecture for inverse kinematics model western Polytechnic University, China
learning. Neuro-computing, vol. 38–40, pp. 797–805, 2001. in 1982, a M.Eng. degree in automatic
[6] E. Papadopoulos, J. Poulakakis. Planning and model- control and a Ph.D degree in biomedi-
based control for mobile manipulators. In proceedings of cal electronics from Southeast Univer-
IEEE/RSJ International Conference on Intelligent Robots sity, China in 1985 and 1991, respec-
and Systems, Takamatsu, Japan, 1810–1815, 2000. tively. He is a Senior Lecturer in the
[7] C. S. Tzafestas, S. G. Tzafestas. Full-state modelling, mo- Department of Computer Science at
tion planning and control of mobile manipulators. Studies in the University of Essex, UK. He has
Informatics and Control, vol.10, no.2, 2001. [Online], Avail- co-authored a book, and published over 100 research papers. His
able: http://www.ici.ro/ici/revista/sic2001 2/index.html research interests are in robotics and intelligent systems, brain-
[8] ActivMedia Robotics’ Pioneer Arm Manual v4, September, computer interfaces, pattern recognition, signal processing, data
2003. ActivMedia fusion, and neurofuzzy computation.
[9] D. Xu. A study on visual measurement and control for
robot.Post-Doctoral Fellow Report, chapter 2, Institute of
Automation, China, 2002. Huosheng Hu is a Professor in
[10] E. M. Rosales, J. Q. Gan. Forward and inverse kinematics the Department of Computer Sci-
models for a 5-DOF pioneer 2 robot arm. Technical report, ence, at the University of Essex,
University of Essex, 2003. and head of the Human Centered
[11] L. Zlajpah, B. Nemec. Kinematic control algorithms Robotics Group. His research in-
for on-line obstacle avoidance for redundant manipulators. terests include autonomous mobile
IEEE/RSJ International Conference on Intelligent Robots robots, human-robot interaction, evo-
and Systems, Lausanne, Switzerland, 1898–1903, 2002. lutionary robotics, multi-robot col-
[12] M. A. Meggiolaro, G. Scriffignano, S. Dubowsky. Manipula- laboration, embedded systems, per-
tor calibration using a single endpoint contact constraint. In vasive computing, sensor integration,
Proceedings of ASME Design Engineering Technical Confer- RoboCup, intelligent control, and net-
ence, Baltimore, USA, 2000. worked robotics. He has published over 200 papers in journals,
books, and conferences, and received two best paper awards.
He is a founding member of the IEEE Society of Robotics
De Xu graduated from Shandong Uni-
and Automation Technical Committee of Internet and Online
versity of Technology (SUT), China in
Robots, and a member of the IASTED Technical Committee
1985. He received a Masters degree
on “Robotics” for 2001-2004. He was a Conference Chairman
from SUT in 1990, and a Ph.D. de-
for the 1st European Embedded Systems Conference in Paris,
gree from Zhejiang University, China
1996, and has been a member of the Program Committees
in 2001. He has been with the In-
for many international conferences such as IROS (2005-2006),
stitute of Automation, at the Chinese
IASTED Robotics and Applications Conferences (2000-present),
Academy of Sciences (CASIA) since
and RoboCup Symposiums (2000 - 2004). Dr. Hu is a Char-
2001. He is an associate professor with
tered Engineer, a senior member of IEEE, and a member of IEE,
the Laboratory of Complex Systems
AAAI, ACM, IASTED and IAS.
and Intelligence Science, CASIA. He
worked as on academic visitor in the Department of Computer
Science, at the University of Essex from May to August 2004. He
is a member of the IEEE. His research interests include robotics Min Tan graduated from Tsing Hua
and automation, especially the control of robots such as visual University, China in 1986. He received
and intelligent control. a Ph.D. degree in 1990 from CASIA.
He is a professor with the Laboratory
of Complex Systems and Intelligence
Carlos Antonio Acosta Calderon Science, CASIA. He has published over
received a B.S. degree in Computer 100 papers in journals, books, and con-
Science Engineering from Pachuca In- ferences. His research interests include
stitute of Technology, Mexico in 2000, robotics and complex system theory.
and a M.Sc. degree in Computer
Science (Robotics and Intelligent Ma-
chines) from the University of Essex,
UK in 2001. He is currently pursuing
a Ph.D degree in Computer Science at
the University of Essex, UK. His re-
search interests have focused on

You might also like