You are on page 1of 37

Mechanism and Machine Theory 37 (2002) 511–547

www.elsevier.com/locate/mechmt

Topological analysis of 6-joint serial manipulators and


their inverse kinematic solutions
€ zgo
M. Kemal O €ren *
Mechanical Engineering Department, Middle East Technical University, 06531 Ankara, Turkey
Received 8 August 2000; accepted 31 October 2001

Abstract
The 6-joint serial manipulators are thoroughly investigated from the viewpoint of their inverse kinematic
solutions. To do this systematically, the manipulators are classified according to their joint arrangements
and two topological concepts are introduced as type number and conjugacy. The conditions of validity are
stated and the valid manipulators are further classified into four groups according to their type numbers as
type-3, type-4, type-5, and type-6. The concept of conjugacy leads to a reduction in the number of ma-
nipulators to be investigated. The minimal conditions for the existence of analytical solutions are deter-
mined. The ways of obtaining analytical solutions are described for all typical samples of joint arrangement
and type number classifications. If analytical solutions do not exist, then it is described how to obtain semi-
analytical solutions of first, second, or at most third order. A kth order semi-analytical solution is such that
the number of equations to be solved numerically can be reduced to k. Simplifications and manipulations of
the kinematic equations both for their analytical or semi-analytical solutions and for the topological
analysis of manipulators have been achieved by means of the numerous properties of the exponential
rotation matrices.  2002 Elsevier Science Ltd. All rights reserved.

Keywords: 6-Joint serial manipulators; Conjugate manipulators; Topology of manipulators; Type number of
manipulators; Valid manipulators; Inverse kinematics; Analytical inverse kinematics; Spatial kinematics; Exponential
rotation matrices

1. Introduction

The main purpose of this paper is to investigate the 6-joint serial manipulators exhaustively from
the viewpoint of their inverse kinematic solutions. The inverse kinematic solutions are classified as
analytical and semi-analytical. The semi-analytical solutions are further classified as first order,

*
Tel.: +90-312-2102-573; fax: +90-312-2101-266.
E-mail address: ozgoren@metu.edu.tr (M. Kemal O€ zg€
oren).

0094-114X/02/$ - see front matter  2002 Elsevier Science Ltd. All rights reserved.
PII: S 0 0 9 4 - 1 1 4 X ( 0 2 ) 0 0 0 0 5 - 8
512 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

second order, and third order. A solution is designated as analytical, if each joint variable can be
expressed with a finite number of known terms that contain the specified and/or already determined
variables. An analytical solution can be obtained as described in the appendices of this paper. A
solution is designated as kth order semi-analytical (k ¼ 1; 2; 3), if 6  k of the joint variables can be
obtained analytically in terms of the other k joint variables, which can then be determined from a
set of k equations using an appropriate numerical solution method. The analytical phase of a semi-
analytical solution can also be carried out as described in the same appendices. In these appendices,
the manipulations are made directly on the joint variables without employing any transformation.
Thus, the analytical solutions and the analytical portions of the semi-analytical solutions are ob-
tained directly for the joint variables. On the other hand, in a kth order semi-analytical solution, the
k equations to be solved numerically can always be obtained as trigonometric equations involving
revolute joint variables only, because the prismatic joint variables appear linearly and they can
easily be eliminated. If k ¼ 1, there is still no need for a variable transformation, because, as long as
there is one equation to be solved numerically, it does not matter whether it is trigonometric or not.
However, if k ¼ 2 or 3, then a kth order semi-analytical solution scheme can further be converted
into a first order semi-analytical one. This can be achieved by first converting the k trigonometric
equations into k polynomial equations in the new variables defined as xi ¼ tanð/i =2Þ, where /i is
one of the k unknown angular variables. Then, after necessary eliminations, a single univariate
polynomial equation can be obtained. In the most complicated case with k ¼ 3, the order of this
polynomial equation happens to be 16. Its order can be shown to decrease as k decreases. However,
such a conversion is not taken into the scope of this paper, not only because it is in general quite
cumbersome, but also because univariate polynomial equations have already been obtained in
various publications using different approaches [1–5].
This paper, instead, based on a classification of the 6-joint serial manipulators, determines
those which can have analytical solutions and those which can have only kth order semi-analytical
solutions and then describes how to obtain these solutions. It also determines the minimal con-
ditions, that is, the minimum number of zero link lengths, zero offsets, and parallel axes, so that
the order of a semi-analytical solution reduces or an analytical solution becomes possible. In order
to do this, the equations of direct kinematics are first written in the most simplified form so that
the particular features of each manipulator appear explicitly. This has been possible by expressing
the orientation matrix and the wrist point position vector of the manipulator’s hand separately
and by using the relevant properties of the exponential rotation matrices to simplify them [6–10].
The exponential rotation matrices constitute a very convenient analytical tool for spatial kine-
matics as observed in several other publications as well [11–16]. Based on the simplified expres-
sions of the hand orientation and the wrist point location, three topological concepts are
introduced, which are joint arrangement, type number, and conjugacy.
The joint arrangement is the major topological property of a manipulator. Similarly as in [17], it
describes how many R (revolute) and P (prismatic) joints the manipulator has and in what
configuration it has them. It also describes, as one of the most significant features of a manipu-
lator, how many of the consecutive R joints are parallel. Some of the joint arrangements happen
to be invalid, which must be avoided in designing a manipulator. The invalid joint arrangements
are indicated here by a set of invalidity conditions.
The type number of a manipulator is defined based on the number of P joints and the number of
consecutive R joints with parallel axes. It decreases as these numbers increase. According to their
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 513

type numbers, the manipulators with valid joint arrangements are classified into four groups: type-
3, type-4, type-5, and type-6. It turns out that, if the type number N of a manipulator is greater than
3, an analytical inverse kinematic solution does not exist in general and only an ðN  3Þrd order
semi-analytical solution can be obtained, unless there are some simplifying features such as zero
effective link lengths or three spherically arranged R joints. In other words, as the type number gets
larger, more conditions will be required in order to obtain an analytical solution.
Another concept related to the joint arrangement is the conjugacy. The joint arrangements of the
6-joint manipulators happen to appear in conjugate pairs in the sense that the kinematic equations
associated with one member of the pair can be obtained directly from the kinematic equations
associated with the other member simply by a kinematic inversion such that the roles of the base
frame and the hand frame are interchanged. Consequently, it becomes sufficient to obtain the in-
verse kinematic solution only for one member of the conjugate pair. Hence, the number of distinct
6-joint manipulators to be investigated for inverse kinematic solutions reduces considerably.

2. Preliminaries

In this section, the main features of the notation to be used are explained, some definitions are
given, and the essential properties of the exponential rotation matrices are presented.
A vector will be indicated by an overhead arrow such as ~ a. A column (3  1 matrix) will be
indicated by an overhead bar such as  a. A general 3  3 square matrix will be indicated by an
overhead circumflex such as A^. The skew symmetric cross-product matrix generated from a col-
umn  a will be indicated by an overhead tilde as a~. The transpose of a matrix will be indicated by a
superscript t.
A reference frame Fa will be described by denoting its origin as Oa and its kth unit basis vector
ðaÞ
ðk ¼ 1; 2; 3Þ as ~
uk . Only orthogonal and right-handed reference frames will be used so that
ðaÞ ðaÞ ðaÞ ðaÞ ðaÞ ðaÞ ðaÞ ðaÞ ðaÞ
u1  ~
~ u2 ¼ ~
u3 ; u2  ~
~ u3 ¼ ~
u1 ; u3  ~
~ u1 ¼ ~
u2 :
v in Fa and its column representation vðaÞ in Fa will be expressed as follows:
Resolution of a vector ~
X3
ðaÞ ðaÞ
X3
ðaÞ ða=aÞ
X
3
ðaÞ
ðaÞ

~ vk ~ uk ; v ¼ vk uk ¼ vk uk :
k¼1 k¼1 k¼1

uk is the kth elementary column. That is,


Here, 
2 3 2 3 2 3
1 0 0
u1 ¼ 4 0 5; 
 u 2 ¼ 4 1 5; 
u3 ¼ 4 0 5:
0 0 1
ðaÞ
Note that u k is the column representation of the unit basis vector ~
uk in its own frame Fa , i.e.
ða=aÞ
uk ¼ 
 uk .
The relationship between the column representations of the same vector ~ v in two different
frames Fa and Fb will be expressed as follows:
vðaÞ ¼ C^ða;bÞvðbÞ ;
ðbÞ
where C^ða;bÞ is the transformation matrix. The column representation of the unit basis vector ~
uk of
Fb will be expressed in Fa as follows:
514 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

ðb=aÞ ðb=bÞ

uk ¼ C^ða;bÞ 
uk ¼ C^ða;bÞ 
uk :
ðb=aÞ
As implied by this equation,  uk is the kth column of C^ða;bÞ .
If Fb is obtained by rotating Fa through an angle h about the axis described by a unit vector ~ n,
then C^ða;bÞ can be expressed as the following exponential rotation matrix [6–10]:
C^ða;bÞ ¼ en~h ¼ I^ cos h þ n~ sin h þ  nnt ð1  cos hÞ: ð2:1Þ
^
Here, I is the identity matrix,  n¼ ðaÞ
n ¼ ðbÞ
n , and n~ is the cross-product matrix generated from n so
that n~v ¼  n  v. This matrix is generated as follows:
2 3 2 3
n1 0 n3 n2
n ¼ 4 n2 5 ! n~ ¼ 4 n3
 0 n1 5: ð2:2Þ
n3 n2 n1 0
It can be shown that the cross-product matrices and the exponential rotation matrices have the
following properties:

1. n~2 ¼ nnt  I^; n~3 ¼ ~ n: ð2:3Þ


t t ^
2. n~m ~¼m  n  ðm  nÞI : ð2:4Þ
3. If u ¼ n~m  ; then u~ ¼ n~m ~m ~ n~ ¼ m  nt  nm
 t: ð2:5Þ
t t 2 t 2 t
4. r n~r ¼ 0; r n~ r ¼ ð n rÞ  r r 6¼ 0: ð2:6Þ
n~h 1 n~h t ~
5. ðe Þ ¼ ðe Þ ¼ e nh : ð2:7Þ
6. en~h en~/ ¼ en~/ en~h ¼ en~ðhþ/Þ : ð2:8Þ
7. en~h em~/ 6¼ em~/ en~h 6¼ eð~nhþm~/Þ if m  6¼ n: ð2:9Þ
8. en~h n ¼ n; nt en~h ¼ nt : ð2:10Þ
9. en~h n~ ¼ n~en~h 6¼ n~: ð2:11Þ
10. Rotated axis property: If m  ¼ en~h u, then
~ ¼ en~h u~e~nh ;
m ð2:12aÞ
em~/ ¼ en~h eu~/ e~nh : ð2:12bÞ
11. Right shifting and left shifting properties:
0
em~b en~h ¼ en~ h em~b ; n0 ¼ em~b n; ð2:13aÞ
00
en~h em~b ¼ em~b en~ h ; n00 ¼ em~b n: ð2:13bÞ
12. If ui and uj are distinct elementary columns, then
eu~i h uj ¼ uj cos h þ nij sin h; nij ¼ u~i uj ; ð2:14aÞ
utj eu~i h ¼ utj cos h þ ntji sin h; nji ¼ u~j ui : ð2:14bÞ

3. Kinematic formulation of 6-joint serial manipulators

3.1. Kinematic description

The kinematic configuration of a 6-joint serial manipulator will be described here by using the
DH (Denavit–Hartenberg) convention as illustrated in Fig. 1. According to this convention, the
unit basis vectors of the link frame Fk are defined as follows.
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 515
ðkÞ
u3 is along the axis of the joint Jkþ1 , which is between the links Lk and Lkþ1 . Its sense along the
~
ðkÞ
joint axis can be assigned arbitrarily. ~ u1 is along the common normal between the axes of the
joints Jk and Jkþ1 . It is oriented from Jk to Jkþ1 , if the axes of these joints are unintersecting skew
ðkÞ
lines. If they are intersecting, then the sense of ~ u1 can be assigned arbitrarily along the common
ðkÞ ðkÞ ðkÞ
normal. Finally, ~ u2 ¼ ~ u3  ~u1 so that Fk is formed as a right-handed reference frame.
The common normal intersects the axes of the joints Jk and Jkþ1 at the points Ak and Ok , re-
spectively. Ok is taken as the origin of Fk . The link and joint parameters are defined as follows:
ðkÞ
• ak ¼ Ak Ok is the effective link length of Lk along ~
u1 .
ðkÞ ðk1Þ ðkÞ
• ak is the twist angle of Lk defined about ~ u1 from ~ u3 to ~
u3 .
ðk1Þ
• sk ¼ Ok1 Ak is the translation distance of Lk with respect to Lk1 along ~ u3 .
ðk1Þ ðk1Þ ðkÞ
• hk is the rotation angle of Lk with respect to Lk1 defined about ~ u3 from ~ u1 to ~
u1 .
If Jk is a revolute (R) joint, then sk ¼ dk ¼ constant and hk is the joint variable. In this case, dk is
designated as the offset. If Jk is a prismatic (P) joint, then hk ¼ dk ¼ constant and sk is the joint
variable. In this case, sk and dk may be designated as the sliding displacement and the deflection
angle, respectively.
ð0Þ
Except~ u3 , which is along the axis of J1 , the base frame F0 can be fixed to the base with an arbitrary
orientation. The hand frame F6 is attached to the last link (the hand) by taking O6 ¼ A6 and
ð6Þ ð5Þ ð6Þ ð6Þ ð6Þ
u3 ¼ ~
~ u3 , i.e. a6 ¼ 0 and a6 ¼ 0, without loss of generality. The unit basis vectors~ u1 ,~u2 , and~
u3 of
F6 are, respectively, designated as the normal vector ð~ un Þ, the side vector ð~
us Þ, and the approach vector
ua Þ. The origin O6 of F6 is designated as the wrist point. The tip point P of the end-effector attached
ð~
!
to the hand is located by the position vector ~ q ¼ O6 P , which is fixed in F6 . In many cases, the
ð6Þ
end-effector is a gripper and P is the mid point between its fingertips. In such a case, ~ q ¼ dp~
u3 .
If Jk is an R joint and if the axes of Jk and Jkþ1 are parallel, then the offset dk becomes arbitrary
and so it is normally taken as dk ¼ 0. Particularly, without loss of generality, it is customary to

Fig. 1. Illustration of the Denavit–Hartenberg convention.


516 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

take d1 ¼ 0 if J1 is revolute and d6 ¼ 0 if J6 is revolute. In the latter case, the origins of F5 and F6
coincide and the wrist point becomes O5 ¼ O6 .
In order to have distinct joint motions, the axes of two successive joints of the same type cannot
be coincident. However, if the two successive joints are of different type, then their axes can be
coincident. In such a case, the deflection angle about the prismatic joint axis and the offset along
the revolute joint axis become arbitrary and they can be taken as zero. Thus, if the axes of the
prismatic joint Jk and the revolute joint Jkþ1 are coincident, then it is normal to take dk ¼ 0 and
dkþ1 ¼ 0. Similarly, if the axes of the revolute joint Jk and the prismatic joint Jkþ1 are coincident,
then it is normal to take dk ¼ 0 and dkþ1 ¼ 0.

3.2. Orientation of the hand

The orientation of the hand with respect to the base frame can be described by the following
matrix:

C^ ¼ C^ð0;6Þ ¼ C^ð0;1Þ C^ð1;2Þ




C^ð5;6Þ : ð3:1Þ
Based on the DH convention, the rotation matrix between two successive links can be expressed
as

C^ðk1;kÞ ¼ eu~3 hk eu~1 ak : ð3:2Þ


Thus, noting that a6 ¼ 0, Eq. (3.1) becomes

C^ ¼ ðeu~3 h1 eu~1 a1 Þðeu~3 h2 eu~1 a2 Þ




ðeu~3 h5 eu~1 a5 Þðeu~3 h6 Þ: ð3:3Þ

Using Eq. (2.8), Eq. (3.3) can also be written as follows:

C^ ¼ ðeu~3 h1 Þðeu~1 b1 eu~3 h2 e~u1 b1 Þ




ðeu~1 b5 eu~3 h6 e~u1 b5 Þeu~1 b5 ; ð3:4Þ
where
b1 ¼ a1 ; b2 ¼ b1 þ a2 ; . . . ; b5 ¼ b4 þ a5 : ð3:5Þ
The angle bk may be called the cumulative twist angle of the link Lk .
Application of Eq. (2.12b) to Eq. (3.4) leads to the following simplified expression for the hand
orientation matrix:

C^ ¼ B^eu~1 b5 ; ð3:6Þ
where

B^ ¼ en~1 h1 en~2 h2 en~3 h3 en~4 h4 en~5 h5 en~6 h6 ; ð3:7Þ

n1 ¼ 
 n2 ¼ eu~1 b1 
u3 ;  n3 ¼ eu~1 b2 
u3 ;  u3 ; . . . ; n6 ¼ eu~1 b5 u3 : ð3:8Þ
B^ will be designated here as the basic orientation matrix of the hand.
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 517

3.3. Location of the wrist and tip points

Let the locations of the wrist point ðO6 Þ and the tip point ðP Þ be described by the following
position vectors:
! !
r ¼ O0 O6 and ~
~ p ¼ O0 P ¼ ~r þ~
q:
Let r ¼ rð0Þ ,  pð0Þ , and q ¼ qð6Þ be the column representations of the above vectors in the frames
p¼
F0 and F6 . These columns are related as
p ¼ r þ C^q:
 ð3:9Þ
Since C^ has already been expressed in terms of the joint variables by Eq. (3.6) and since q is a
constant column, it is sufficient here to express r in terms of the joint variables in order to de-
termine the location of the tip point. Recalling that a6 ¼ 0, this can be done as described below:
ð0=0Þ ð1=0Þ ð1=0Þ ð2=0Þ ð4=0Þ ð5=0Þ ð5=0Þ
r ¼ s1 
u3 þ a1 
u1 þ s2 
u3 þ a2 
u1 þ


þ s5 u3 þ a5 u1 þ s6 u3 : ð3:10Þ
Note that
ðk=0Þ ðk=kÞ

ui ¼ C^ð0;kÞ 
ui ¼ C^ð0;kÞ 
ui : ð3:11Þ
On the other hand, following the same procedure used previously for C^ ¼ C ^ð0;6Þ , it can be shown
that
C^ð0;kÞ ¼ U
^ k eu~1 bk and U ^ k ¼ en~1 h1


en~k hk : ð3:12Þ
Hence, with U ^ 0 ¼ I^, the following equation can be written for r:
X
6 X
5
r ¼ ^ k1 
sk U nk þ ^ k
ak U u1 : ð3:13Þ
k¼1 k¼1

3.4. Inverse kinematics

The joint variables corresponding to a specified pose (position and orientation) of the end-
effector can be determined as described below.
As the first step, referring to Eqs. (3.6) and (3.9), the basic orientation matrix and the wrist point
location column are determined in terms of the specified hand orientation matrix C^ and the tip
point location column  p as follows:
B^ ¼ C^e~u1 b5 and r ¼ p  C^q: ð3:14Þ
^
As the second step, the joint variables are determined as functions of B and r by solving the
following equations simultaneously:
en~1 h1 en~2 h2 en~3 h3 en~4 h4 en~5 h5 en~6 h6 ¼ B^; ð3:15Þ
X 6 X 5
sk U^ k1  nk þ ak U^ k u1 ¼ r: ð3:16Þ
k¼1 k¼1

The ways of solving these equations for all possible 6-joint manipulators are described later in
Section 5 after the necessary topological preparation presented in the following section.
518 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

4. Topological analysis of 6-joint serial manipulators

4.1. Joint type combinations

Since an arbitrary orientation of the hand in the three dimensional task space necessitates at
least three angular joint variables, the number of R joints cannot be less than three. Therefore, the
6-joint serial manipulators can occur only with the following joint type combinations:
6R; 5R1P; 4R2P; 3R3P:

4.2. Joint type arrangements

The manipulators that contain P joints can occur with the following arrangements of the R and
P joints:
5R1P manipulators:
PR5 ; RPR4 ; R2 PR3 ; R3 PR2 ; R4 PR; R5 P.
4R2P manipulators:
Group-1: P2 R4 ; RP2 R3 ; R2 P2 R2 ; R3 P2 R; R4 P2 .
Group-2: PRPR3 ; RPRPR2 ; R2 PRPR; R3 PRP.
Group-3: PR2 PR2 ; RPR2 PR; R2 PR2 P.
Group-4: PR3 PR; RPR3 P.
Group-5: PR4 P.
3R3P manipulators:
Group-1: P3 R3 ; RP3 R2 ; R2 P3 R; R3 P3 .
Group-2: P2 RPR2 ; RP2 RPR; R2 P2 RP; PRP2 R2 ; RPRP2 R; R2 PRP2 .
Group-3: P2 R2 PR; RP2 R2 P; PR2 P2 R; RPR2 P2 .
Group-4: PRPRPR, RPRPRP.
Group-5: P2 R3 P; PR3 P2 .
Group-6: PR2 PRP; PRPR2 P.

4.3. Kinematic equations of manipulators with different joint type combinations

In the presence of P joints, the general expression of the basic orientation matrix B^ given by Eq.
(3.7) can be factorized using the right and left shifting properties expressed by Eqs. (2.13a) and
(2.13b) as follows:

B^ ¼ L^R^D
^: ð4:1Þ

Here, R^ is a variable matrix that consists of the angular joint variables only while L^ and D ^ are
constant matrices that consist of the deflection angles. As such, R^ consists of smaller number of
matrix factors as compared to B^. So, R^ will be designated here as the reduced orientation matrix of
the hand. Due to its simplest possible dependence on the angular joint variables, it is expedient to
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 519

use R^ as the specified hand orientation matrix in the process of inverse kinematic solution by
relating it to B^ and hence to C^ as follows:
^ t ¼ L^t ðC^e~u1 b5 ÞD
R^ ¼ L^t B^D ^ t: ð4:2Þ
It is to be noted that this factorization is not unique although the number of matrix factors in R^ is
invariant.
As for the wrist point location, the matrices U ^ 5 in Eq. (3.13) can also be factorized
^ 1; . . . ; U

similarly. This leads to the definition of r as the modified wrist point location column, which is
related to the specified C^ and  p as follows:

p  C^qÞ:
r ¼ L^tr ¼ L^t ð ð4:3Þ
ð00 Þ ð00 ;0Þ
Here, r can be interpreted as r ¼ r ¼ C^ rð0Þ ¼ L^tr. In other words, it represents ~
r in the
0
deflected base frame F0 , which is a hypothetical frame obtained by rotating the actual base frame
0
F0 according to the deflection angle factors contained in L^ ¼ C^ð0;0 Þ .
The kinematic equations are derived below for typical representative manipulators of each joint
type combination using the factorizations described above.

4.3.1. 6R manipulators

For a 6R manipulator, all of h1 ; h2 ; . . . ; h6 are joint variables. Therefore, L^ ¼ D


^ ¼ I^ and

R^ ¼ B^ ¼ en~1 h1 en~2 h2 en~3 h3 en~4 h4 en~5 h5 en~6 h6 : ð4:4Þ


The wrist point location of this manipulator can be expressed as

r ¼ r ¼ en~1 h1 c1 þ en~1 h1 en~2 h2 c2 þ en~1 h1 en~2 h2 en~3 h3 c3 þ en~1 h1 en~2 h2 en~3 h3 en~4 h4 c4
þ en~1 h1 en~2 h2 en~3 h3 en~4 h4 en~5 h5 c5 : ð4:5Þ
If desired, this equation can also be written more compactly as

r ¼ en~1 h1 c1 þ en~1 h1 en~2 h2 c2 þ en~1 h1 en~2 h2 en~3 h3 c3 þ R^e~n6 h6 e~n5 h5 c4 þ R^e~n6 h6 c5 : ð4:6Þ
In these equations,
c1 ¼ a1 
u1 þ d2 
n2 ; . . . ; c4 ¼ a4 
u1 þ d5 
n5 ; c5 ¼ a5 u1 : ð4:7Þ

4.3.2. 5R1P manipulators

A typical representative is an R2 PR3 manipulator, for which h3 ¼ d3 and


B^ ¼ en~1 h1 en~2 h2 en~3 d3 en~4 h4 en~5 h5 en~6 h6 :
The deflection angle matrix can be shifted to the right. Then, L^ ¼ I^, D
^ ¼ en~3 d3 , and

R^ ¼ en~1 h1 en~2 h2 em~4 h4 em~5 h5 em~6 h6 ¼ B^e~n3 d3 ; ð4:8Þ


where m k ¼ en~3 d3 nk for k ¼ 4; 5; 6.
520 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

In accordance with this factorization, the wrist point location equation can be written as
r ¼ r ¼ s3 en~1 h1 en~2 h2 
n3 þ en~1 h1 c1 þ en~1 h1 en~2 h2 c2 þ en~1 h1 en~2 h2 em~4 h4 c4 þ en~1 h1 en~2 h2 em~4 h4 em~5 h5 c5 ; ð4:9Þ
where c1 ¼ a1 u
1 þ d2 
n2 , c2 ¼ a2 
u1 þ a3 w
 1 þ d4 m
 4 , c4 ¼ a4 w
 1 þ d5 m
 5 , c5 ¼ a5 w  1 ¼ en~3 d3 u1 .
 1 , and w
The deflection angle matrix can also be shifted to the left. Then, L^ ¼ e 3 3 , D ~
n d ^ ¼ I^, and

R^ ¼ em~1 h1 em~2 h2 en~4 h4 en~5 h5 en~6 h6 ¼ e~n3 d3 B^; ð4:10Þ


where m k ¼ e~n3 d3 
nk for k ¼ 1; 2.
In this case, r ¼ e~n3 d3 r and the wrist point location equation can be written as

r ¼ s3 em~1 h1 em~2 h2 
n3 þ em~1 h1 c1 þ em~1 h1 em~2 h2 c2 þ em~1 h1 em~2 h2 en~4 h4 c4 þ em~1 h1 em~2 h2 en~4 h4 en~5 h5 c5 ; ð4:11Þ
where c1 ¼ a1 w
 1 þ d2 m
 2 , c2 ¼ a2 w
 1 þ a3   1 ¼ e~n3 d3 u1 .
u1 þ d4 n4 , c4 ¼ a4 u1 þ d5 n5 , c5 ¼ a5 u1 , and w

4.3.3. 4R2P manipulators

Two typical representatives can be selected as an RP2 R3 manipulator with consecutive P joints
and as a PR3 PR manipulator having R joints between the P joints. By shifting the deflection angle
matrices as indicated below, the simplified hand orientation and wrist point location equations for
these manipulators can be obtained as follows.
(i) RP 2 R3 manipulator:
R^ ¼ em~1 h1 en~4 h4 en~5 h5 en~6 h6 ¼ e~n3 d3 e~n2 d2 B^; ð4:12Þ
r ¼ em~1 h1 ðs2 m n3 þ c1 þ en~4 h4 c4 þ en~4 h4 en~5 h5 c5 Þ:
 2 þ s3  ð4:13Þ
In these equations, r ¼ e~n3 d3 e~n2 d2 r, m  1 ¼ e~n3 d3 e~n2 d2 n1 , m
 2 ¼ e~n3 d3 n2 , w
 1 ¼ e~n3 d3 e~n2 d2 u1 ,
~
n3 d3
2 ¼ e
w 1 , c1 ¼ a1 w
u  1 þ a2 w
 2 þ a3 
u1 þ d4 
n4 , c4 ¼ a4 u1 þ d5 n5 , c5 ¼ a5 u1 .
(ii) PR3 PR manipulator:
R^ ¼ en~2 h2 en~3 h3 en~4 h4 em~6 h6 ¼ e~n1 d1 B^e~n5 d5 ; ð4:14Þ
r ¼ s1 
n1 þ s5 en~2 h2 en~3 h3 en~4 h4 
n5 þ c1 þ en~2 h2 c2 þ en~2 h2 en~3 h3 c3 þ en~2 h2 en~3 h3 en~4 h4 c4 : ð4:15Þ
In these equations, r ¼ e~n1 d1 r, m  6 ¼ en~5 d5 n6 , w
 1 ¼ en~5 d5 u1 , c1 ¼ a1 u1 þ d2 n2 , c2 ¼ a2 u1 þ d3 n3 ,
c3 ¼ a3 
u1 þ d4 
n4 , c4 ¼ a4 
u1 þ a5 w
 1.

4.3.4. 3R3P manipulators

A typical representative is an RPRPRP manipulator, whose hand orientation and wrist point
location equations can be written as follows:
R^ ¼ em~1 h1 en~3 h3 em~5 h5 ¼ e~n2 d2 B^e~n6 d6 e~n4 d4 ; ð4:16Þ
r ¼ s2 em~1 h1  n4 þ s6 R^m
n2 þ s4 em~1 h1 en~3 h3   6 þ em~1 h1 c1 þ em~1 h1 en~3 h3 c3 þ R^c5 : ð4:17Þ
~
n2 d2 ~
n2 d2 n~4 d4 n~4 d4 ~
n2 d2
In these equations, r ¼ e 1 ¼ e
r, m  5 ¼ e n5 , m
n1 , m
 6 ¼ e 1 ¼ e
n6 , w  2 ¼ en~4 d4 u1 ,
u1 , w
c1 ¼ a1 w
 1 þ a2 
u1 þ d3 
n3 , c3 ¼ a3 
u1 þ a4 w
 2 þ d5 m 5 , c5 ¼ a5 w
 2.
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 521

4.4. Joint arrangement

The term joint arrangement is defined here as a notion that involves both joint type and joint
axis arrangements. As mentioned above, the joint type arrangement is the ordering of the R and P
joints in a sequence. The joint axis arrangement, on the other hand, is the specification of the
relative locations and orientations of the joint axes. The following special types of joint ar-
rangements have important roles in facilitating the inverse kinematic solutions:
1. The joint arrangements that contain a set of two or three PARJs (parallel-axis revolute joints).
These R joints with parallel axes need not be arranged one immediately after the other. There
may be P joints between any two of them.
2. The joint arrangements that contain an ORPJ (orthogonal revolute and prismatic joint combina-
tion), which is an RP or PR joint pair with orthogonal axes.
3. The joint arrangements that contain a PJA (planar joint arrangement). A PJA can be formed in
one of the following ways:
(i) Three consecutive PARJs.
(ii) Two PARJs and a P joint forming ORPJs with them.
(iii) Two P joints with non-parallel axes and an R joint forming ORPJs with them.
4. The joint arrangements that contain an SJA (spherical joint arrangement). An SJA is formed by
three consecutive R joints with non-coincident axes that intersect at a common point.
5. The joint arrangements that contain a CSJA (cylindro-spherical joint arrangement), which is a
combination of an SJA with one or two CJAs at either or both sides. A CJA (cylindrical joint
arrangement) is an RP or PR joint pair with coincident axes. In a CSJA, the first and/or the
third R joint (but not the second) of an SJA is replaced with a CJA. In other words, a CSJA
may occur as CJA-R-R, R-R-CJA, or CJA-R-CJA.
6. The joint arrangements that contain ZELLs (zero effective link lengths).

4.5. Valid and invalid manipulators

A 6-joint serial manipulator is defined here to be valid, if the DOF (degree of freedom) of its
hand is 6 in the three dimensional task space ST . It is defined to be invalid, if the DOF of its hand
in ST is less than 6. Along the same line, a joint arrangement is defined here to be valid, if it is the
joint arrangement of a valid manipulator.
The types of joint arrangements that are responsible of invalid 6-joint manipulators are de-
scribed below in a setting of invalidity conditions:
(i) A manipulator will be invalid, if it has more than three P joints. It will be invalid, because the
rotational DOF of its hand will be less than 3 due to having less than three R joints and therefore
the total DOF of its hand will be less than 6.
(ii) A manipulator will be invalid, if it has at least two consecutive P joints with parallel
axes or at least two consecutive R joints with coincident axes. It will be invalid, because the
hand motion produced by the sliding displacements of two or more parallel P joints can be
equivalently produced by the sliding displacement of only one of them while the others are
kept fixed. Similarly, the hand motion produced by the angular displacements of two or more
coincident revolute joints can be equivalently produced by the angular displacement of only
522 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

one of them while the others are kept fixed. Thus, the hand of the manipulator can only move
as if there are less than six joints and therefore its DOF will be less than 6.
(iii) A manipulator will be invalid, if it has a PJA with redundant joints. This type of in-
validity arises with the following joint arrangements: A set of three or more consecutive P
joints with axes lying in parallel planes. A set of four or more PARJs. A set of three or more
PARJs and one or more P joints forming ORPJs with them. A set of two P joints and two or
more PARJs forming ORPJs with them. With such a joint arrangement, although the ma-
nipulator will have redundancy in generating motions parallel to a particular plane, the overall
DOF of its hand in ST will be less than 6, and therefore it will be invalid.
(iv) A manipulator will be invalid, if it has an SJA with more than three R joints. It
will be invalid, because with such an SJA the translational DOF of its hand will be at most 2.
(v) A manipulator will be invalid, if it has two PJAs. It will be invalid, because the rotational
DOF of its hand will be 2; e.g. an R2 PR3 manipulator with PJA-123 and PJA-456. A manipulator
will also be invalid, if it has two SJAs. It will be invalid, because the translational DOF of its
hand will be 2. Invalidity with two SJAs can occur only in a 6R manipulator, if it has SJA-123 and
SJA-456. However, a manipulator with one PJA and one SJA may or may not be invalid. This can be
seen looking at the examples in Section 5. With one PJA and one SJA, the manipulator in Example
5.4.3 will be invalid, but the manipulators in Examples 5.4.4 and 5.4.5 will still be valid.

4.6. Type number of a manipulator

The type number of a manipulator is defined here as the number of the distinct matrix factors in
its reduced orientation matrix R^. In other words, the type number is the number of the revolute
joints with non-parallel axes. A manipulator, whose type number is k, is designated as a type-k
manipulator.
The type number decreases as the number of P joints and/or PARJs increases. For example,
the type numbers of 6R, 5R1P, 4R2P, and 3R3P manipulators without any PARJs are, re-
spectively, 6, 5, 4, and 3. The reduction of the type number due to PARJs can be illustrated
on a 6R manipulator. If the first three and the next two joints form two distinct sets of
PARJs, i.e. if  n1 ¼  n2 ¼  n3 6¼ 
n4 ¼ 
n5 6¼ 
n6 , according to Eq. (2.8), (4.4) reduces to
^
R¼e n~1 h123 n~4 h45 n~6 h6
e e ð4:18Þ
with the joint angle combinations h123 ¼ h1 þ h2 þ h3 and h45 ¼ h4 þ h5 . Hence, it is seen that the
type number of such a 6R manipulator is 3. Meanwhile, the wrist point equation of this type-3
manipulator, i.e. Eq. (4.5), reduces to the following form with the additional joint angle combi-
nation h12 ¼ h1 þ h2 :
r ¼ en~1 h1 c1 þ en~1 h12 c2 þ en~1 h123 ðc3 þ en~4 h4 c4 þ en~4 h45 c5 Þ: ð4:19Þ
As noticed, one of the prominent characteristics of the PARJs is that they lead to certain joint
angle combinations, with which the expressions become simpler and more compact. Therefore,
these joint angle combinations are kinematically more convenient to use and the inverse kinematic
solutions are normally carried out to determine them. Of course, once they are determined, the
joint angles themselves will be readily available, e.g.
h2 ¼ h12  h1 ; h3 ¼ h123  h12 ; h5 ¼ h45  h4 :
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 523

Obviously, the type number of a valid manipulator cannot be less than 3. The valid manipulators
can be classified according to their type numbers. In order to designate the manipulators in this
classification, the following notations will be used:

• S denotes a single R joint not parallel to the neighbouring R joints.


• D denotes a double PARJ group not parallel to the neighbouring R joints.
• T denotes a triple PARJ group not parallel to the neighbouring R joints.

With these notations, the manipulators can be classified as follows:


6R manipulators:
Type-6: S6 .
Type-5: DS4 ; SDS3 ; S2 DS2 , S3 DS, S4 D.
Type-4: TS3 ; STS2 ; S2 TS, S3 T; D2 S2 ; SD2 S, S2 D2 ; DS2 D, DSDS, SDSD.
Type-3: TDS, DST, STD, SDT, DTS, TSD; D3 .
5R1P manipulators:
Type-5: S5 .
Type-4: DS3 ; SDS2 ; S2 DS; S3 D.
Type-3: TS2 , STS, S2 T; D2 S, DSD, SD2 .
4R2P manipulators:
Type-4: S4 .
Type-3: DS2 , SDS, S2 D.
3R3P manipulators:
Type-3: S3 .

4.7. Conjugate manipulators

Two manipulators such that one has the same topological features of the other in the reverse
order are defined here as a pair of conjugate manipulators. The following examples can be given as
typical conjugate manipulators:
• Two 5R1P manipulators of type-5 with the joint type arrangements PR5 and R5 P.
• Two 6R manipulators of type-3 with the joint axis arrangements TDS and SDT.
• Two 6R manipulators of type-6, one with a spherical wrist (SJA-456) and the other with a
spherical shoulder (SJA-123).
• Two 4R2P manipulators of type-3, one with the joint arrangement P2 R4 -DS2 and the other
with the joint arrangement R4 P2 -S2 D.
Some of the manipulators are self-conjugate. Typical examples are given below:
• A 6R manipulator of type-6.
• A 6R manipulator of type-4 with the joint axis arrangement DS2 D.
• A 4R2P manipulator of type-3 with the joint arrangement R2 P2 R2 -SDS.
524 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

The significance of the conjugate manipulators lies in the fact that the kinematic equations per-
taining to a manipulator can be converted to have the same form as the form of the kinematic
equations pertaining to its conjugate. Thus, if the inverse kinematic solution has been obtained for
a manipulator, this solution can be used for its conjugate as well. This fact considerably reduces
the number of manipulators to be investigated within the scope of inverse kinematics. The essence
of the conversion of the kinematic equations is actually a kinematic inversion such that the roles of
the base frame F0 and the hand frame F6 are interchanged.
As an example to illustrate the convertibility of the kinematic equations, a pair of conjugate
4R2P manipulators of type-3 will be considered here with the joint arrangements PR2 PR2 -DS2
and R2 PR2 P-S2 D. For other conjugate pairs, the kinematic equations can be converted in a
similar way. For the example pair, denoting the kinematic parameters and the joint variables of
the second manipulator with primes, Eqs. (3.7) and (3.13) can be written as follows:
B^ ¼ en~1 d1 en~4 d4 R^; R^ ¼ em~2 h23 en~5 h5 en~6 h6 ; ð4:20Þ
n~03 d03 n~06 d06 n~01 h01 n~02 h02 ~ 04 h045
B^0 ¼ R^0 e e ; R^0 ¼ e e e m
; ð4:21Þ
~ 2 h2
m ~2 h23
m ~ 2 h23 n~5 h5
m
r ¼ a1 w
 1 þ a2 e 1 þ e
w ða3 w
 1 þ a4 
u1 þ d23 m
 2 þ d5 n5 Þ þ a5 e e u1 þ s1 m
1
þ s4 em~2 h23 
n4 ; ð4:22Þ
n~01 h01 n~01 h01 n~02 h02 n~01 h01 n~02 h02 ~ 04 h04
r0 ¼ a01 e u1 þ e
 e ða02 
u1 þ a03 w
 01 þ d20 n02 þ d45
0
 04 Þ þ a04 e
m e m
e  01 þ a05 R^0 w
w  01
0 0 0 0
þ s06 R^0 m
 06 þ s03 en~1 h1 en~2 h2 
n03 : ð4:23Þ
In these equations,
n3 ¼ 
 n2 ; h23 ¼ h2 þ h3 ; d23 ¼ d2 þ d3 ;
n05 ¼ 
 n04 ; h045 ¼ h04 þ h05 ; 0
d45 ¼ d40 þ d50 ; d6 ¼ d10 ¼ 0;
 1 ¼ e~n4 d4 
m n1 ;  2 ¼ e~n4 d4 
m n2 ;  1 ¼ e~n4 d4 u1 ;
w
0 0 0 0 0 0
 04 ¼ en~3 d3 
m n04 ;  06 ¼ en~3 d3 
m n06 ;  01 ¼ en~3 d3 u1 ;
w
r ¼ e~n4 d4 e~n1 d1 r:
2 ¼ m
Noting that m ^ ¼ R^t and q ¼ R^tr , the equations pertaining to
 3 and using the definitions Q
the first manipulator can be written again in the following converted form:
^ ¼ e~n6 h6 e~n5 h5 em~3 h23 ;
Q ð4:24Þ
~
n6 h6 ~
n6 h6 ~
n5 h5 ~
n6 h6 ~
n5 h5  m
~ 3 h3
q ¼ a5 e
 u1 þ e
 e ða3 w
 1 þ a4 
u1 þ d23 m
 2 þ d5 n5 Þ þ a2 e e e 1
w
^w
þ a1 Q ^m
 1 þ s1 Q  1 þ s4 e~n6 h6 e~n5 h5 
n4 : ð4:25Þ

Comparison shows that Eqs. (4.21) and (4.23) have the same forms as the forms of Eqs. (4.24) and
(4.25), respectively. In fact, they would be the same equations, if the following equalities existed:
^;
R^0 ¼ Q r0 ¼ 
q ;
n01 ¼ 
 n06 ¼ 
n6 ; . . . ;  n1 ;
a01 ¼ a5 ; . . . ; a05 ¼ a1 ;
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 525

d20 ¼ d5 ; s03 ¼ s4 ; d40 ¼ d3 ; d50 ¼ d2 ; s06 ¼ s1 ;


h01 ¼ h6 ; h02 ¼ h5 ; d03 ¼ d4 ; h04 ¼ h3 ; h05 ¼ h2 ; d06 ¼ d1 :

5. Inverse kinematic solutions

In this section, the inverse kinematic solutions for the 6-joint serial manipulators are investi-
gated. The manipulator configurations that can have analytical and kth order semi-analytical
solutions are identified and the ways of obtaining these solutions are described. Also, the number
and type of special features are indicated with which the order of a semi-analytical solution re-
duces or it becomes possible to obtain an analytical solution. The general patterns of the ana-
lytical solutions and the analytical portions of the semi-analytical solutions are presented in
Appendices A,B,C,D,E,F,G,H,I. The multiplicities and singularities that may occur in these so-
lutions are also indicated in the same appendices.
Before starting the inverse kinematic solutions, Eq. (3.15) of hand orientation must be sim-
plified to obtain the equation for the reduced orientation matrix by properly shifting the deflection
angle matrices as described previously and Eq. (3.16) of wrist point location must also be sim-
plified in accordance with the orientation equation. The simplified equations have already been
obtained in Section 4 as Eqs. (4.4)–(4.17) for typical representative manipulators (R6 ; R2 PR3 ;
RP2 R3 ; PR3 PR, RPRPRP), which are used here as examples. However, they can be obtained
similarly for any other manipulator as well.
The main feature of a manipulator that determines the complexity of its inverse kinematic
solution is its type number. So, the inverse kinematic solutions are investigated here in four main
categories defined by the type numbers. The following notations are used:
• /i denotes a joint angle or a joint angle combination.
• wj stands for either /j or sj depending on the joint type.

5.1. Type-3 manipulators

Type-3 manipulators consist of those with the following joint arrangements:


1. 3R3P manipulators with S3 (Example 5.3.1).
2. 4R2P manipulators with permutations of D, S, S (Examples 5.3.2, 5.3.3, and 5.3.4).
3. 5R1P manipulators with permutations of T, S, S (Example 5.3.5).
4. 5R1P manipulators with permutations of D, D, S (Examples 5.3.6 and 5.3.7).
5. 6R manipulators with permutations of T, D, S (Example 5.3.8).
6. 6R manipulators with D3 (Example 5.3.9).
For these manipulators, the reduced orientation matrix has the following form:
R^ ¼ em~i /i em~j /j em~k /k : ð5:1Þ
The angles /i ; /j ; /k can be determined from Eq. (5.1) as in Appendix C. Then, the wrist point
equation can be reduced to the following general form:
f ðwp ; wq ; wr Þ ¼ 
0; ð5:2Þ
526 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

Eqs. (5.1) and (5.2) for typical type-3 manipulators together with the ways of solving Eq. (5.2) for
the remaining variables wp , wq , wr are presented below as examples.

Example 5.3.1. For an RPRPRP-S3 manipulator,


R^ ¼ em~1 h1 en~3 h3 em~5 h5 ; ð5:3Þ
n2 þ s4 k4 þ s6 k6 ¼ x;
s2  ð5:4Þ
where x ¼ em~1 h1 ðr  R^c5 Þ  ðc1 þ en~3 h3 c3 Þ, k4 ¼ en~3 h3 n4 , k6 ¼ em~1 h1 R^m
 6 . The variables s2 ; s4 , and
s6 can be determined from Eq. (5.4) analytically as in Appendix D.

Example 5.3.2. For an RP2 R3 -S2 D manipulator with n5 ¼ n6 , which has no R joint between the P
joints:
R^ ¼ em~1 h1 en~4 h4 en~5 h56 ; ð5:5Þ
s2 m n3 þ el~5 h5 y5 ¼ x;
 2 þ s3  ð5:6Þ
where l5 ¼ en~4 h4 n5 , y5 ¼ en~4 h4 c5 , x ¼ em~1 h1 r  ðc1 þ en~4 h4 c4 Þ. The variables s2 ; s3 , and h5 can be
determined from Eq. (5.6) analytically as in Appendix E.

Example 5.3.3. For a PR3 PR-DS2 manipulator with n2 ¼ n3 , which has no P joint between the R
joints of the D group,
R^ ¼ en~2 h23 en~4 h4 em~6 h6 ; ð5:7Þ
n1 þ s5 k5 þ en~2 h2 c2 ¼ x;
s1  ð5:8Þ
where k5 ¼ en~2 h23 en~4 h4 
n5 , x ¼ r  c1  en~2 h23 ðc3 þ en~4 h4 c4 Þ. The variables s1 ; s5 , and h2 can be de-
termined from Eq. (5.8) analytically as in Appendix E.

Example 5.3.4. For a PR3 PR-S2 D manipulator with n4 ¼ m


 6 , which has a P joint between the R
joints of the D group,
R^ ¼ en~2 h2 en~3 h3 en~4 h46 ; ð5:9Þ
s1 k1 þ s5 e~n4 h6 
n5 þ e~n4 h6 c4 ¼ x; ð5:10Þ
where k1 ¼ R^t 
n1 , x ¼ R^t ½r  c1  en~2 h2 ðc2 þ en~3 h3 c3 Þ . The variables s1 ; s5 , and h6 can be determined
from Eq. (5.10) analytically as in Appendix E.

Example 5.3.5. For an R2 PR3 -STS manipulator with n2 ¼ m


4 ¼ m
 5,

R^ ¼ en~1 h1 en~2 h245 em~6 h6 ; ð5:11Þ


n3 þ e~n2 h2 y2 þ en~2 h4 c4 ¼ c2 ;
s3  ð5:12Þ
where y2 ¼ c1 þ en~2 h245 c5  e~n1 h1 r. The variables h2 ; h4 , and s3 can be determined from Eq. (5.12)
analytically as in Appendix F.
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 527

Example 5.3.6. For an R2 PR3 -D2 S manipulator with n1 ¼ n2 and m
4 ¼ m
 5 , which does not have
the P joint between the R joints of the D groups,
R^ ¼ en~1 h12 em~4 h45 em~6 h6 ; ð5:13Þ
n3 þ e~n1 h2 c1 þ em~4 h4 c4 ¼ x;
s3  ð5:14Þ
where x ¼ e~n1 h12 r  ðc2 þ em~4 h45 c5 Þ. The variables h2 ; h4 , and s3 can be determined from Eq. (5.14)
analytically as in Appendix F, if there is a PJA (PJA-123 or PJA-345) so that either nt3 n1 ¼ 0 or
nt3 m
  4 ¼ 0. Otherwise, they can be determined by a first order semi-analytical solution.

Example 5.3.7. For an R2 PR3 -SD2 manipulator with n2 ¼ m 5 ¼ m


 4 and m  6 , which has the P joint
between the R joints of one of the D groups,

R^ ¼ en~1 h1 en~2 h24 em~5 h56 ; ð5:15Þ


n3 þ e~n2 h2 y2 þ e~n2 h2 el~5 h5 y5 ¼ c2 ;
s3  ð5:16Þ

 5 , y5 ¼ en~2 h24 c5 , y2 ¼ c1 þ en~2 h24 c4  e~n1 h1 r. The variables h2 ; h5 , and s3 can be
where l5 ¼ en~2 h24 m
determined from Eq. (5.16) analytically as in Appendix F, if there is a PJA (PJA-234) so that
nt3 
 n2 ¼ 0. Otherwise, they can be determined by a first order semi-analytical solution.

Example 5.3.8. For an R6 -TDS manipulator with n1 ¼ n2 ¼ n3 and n4 ¼ n5 ,

R^ ¼ en~1 h123 en~4 h45 en~6 h6 ; ð5:17Þ


e~n1 h23 c1 þ e~n1 h3 c2 þ en~4 h4 c4 ¼ x; ð5:18Þ

where x ¼ e~n1 h123 r  ðc3 þ en~4 h45 c5 Þ. The variables h3 ; h4 , and h23 can be determined from Eq.
(5.18) analytically as in Appendix G.

Example 5.3.9. For an R6 -D3 manipulator with n1 ¼ n2 , n3 ¼ n4 , and n5 ¼ n6 ,
R^ ¼ en~1 h12 en~3 h34 en~5 h56 ; ð5:19Þ
~
n1 h2 n~3 h3 l~5 h5
e c1 þ e c3 þ e y5 ¼ x; ð5:20Þ
n~3 h34 n~3 h34 ~
n1 h12 n~3 h34
where l5 ¼ e 5 , y5 ¼ e
n c5 , x ¼ e r  c2  e c4 . In this case, the variables h2 , h3 , and h5
can be determined from Eq. (5.20) not analytically but in a first order semi-analytical way as in
Appendix G.

5.2. Type-4 manipulators

Type-4 manipulators consist of those with the following joint arrangements:


1. 4R2P manipulators with S4 (Examples 5.4.1 and 5.4.2).
2. 5R1P manipulators with permutations of D, S, S, S (Examples 5.4.3 and 5.4.4).
3. 6R manipulators with permutations of T, S, S, S (Example 5.4.5).
4. 6R manipulators with permutations of D, D, S, S (Example 5.4.6).
528 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

For these manipulators, the hand orientation and the wrist point location equations have the
following general forms:
R^ ¼ em~i /i em~j /j em~k /k em~p /p ; ð5:21Þ
f ð/i ; /j ; /k ; w ; w Þ ¼ 
q r 0: ð5:22Þ
The particular forms of Eqs. (5.21) and (5.22) are given below for typical type-4 manipulators as
examples.

Example 5.4.1. For an RP2 R3 -S4 manipulator with no R joint between the P joints,
R^ ¼ em~1 h1 en~4 h4 en~5 h5 en~6 h6 ; ð5:23Þ
em~1 h1 r ¼ s2 m n3 þ c1 þ en~4 h4 c4 þ en~4 h4 en~5 h5 c5 :
 2 þ s3  ð5:24Þ

Example 5.4.2. For a PR3 PR-S4 manipulator with some R joints between the P joints,
R^ ¼ en~2 h2 en~3 h3 en~4 h4 em~6 h6 ; ð5:25Þ
r ¼ c1 þ s1 n1 þ s5 R^em~6 h6  n5 þ en~2 h2 c2 þ en~2 h2 en~3 h3 c3 þ R^em~6 h6 c4 : ð5:26Þ

Example 5.4.3. For an R2 PR3 -DS3 manipulator with n1 ¼ n2 , which does not have the P joint
between the R joints of the D group,
R^ ¼ en~1 h12 em~4 h4 em~5 h5 em~6 h6 ; ð5:27Þ
e~n1 h12 r ¼ s3 
n3 þ e~n1 h2 c1 þ c2 þ em~4 h4 c4 þ em~4 h4 em~5 h5 c5 : ð5:28Þ

Example 5.4.4. For an R2 PR3 -SDS2 manipulator with n2 ¼ m


 4 , which has the P joint between the
R joints of the D group,
R^ ¼ en~1 h1 en~4 h24 em~5 h5 em~6 h6 ; ð5:29Þ
e~n1 h1 r ¼ s3 en~2 h2 
n3 þ c1 þ en~2 h2 c2 þ en~2 h24 c4 þ en~2 h24 em~5 h5 c5 : ð5:30Þ

Example 5.4.5. For an R6 -STS2 manipulator with n2 ¼ n3 ¼ n4 ,


R^ ¼ en~1 h1 en~2 h234 en~5 h5 en~6 h6 ; ð5:31Þ
~
n1 h1 n~2 h2 n~2 h23 n~2 h234 n~2 h234 n~5 h5
e r ¼ c1 þ e c2 þ e c3 þ e c4 þ e e c5 : ð5:32Þ

Example 5.4.6. For an R6 -SD2 S manipulator with n2 ¼ n3 and n4 ¼ n5 ,
R^ ¼ en~1 h1 en~2 h23 en~4 h45 en~6 h6 ; ð5:33Þ
e~n2 h23 e~n1 h1 r ¼ e~n2 h23 c1 þ e~n2 h3 c2 þ c3 þ en~4 h4 c4 þ en~4 h45 c5 : ð5:34Þ

5.2.1. First order semi-analytical solutions

Without any special feature, Eqs. (5.21) and (5.22) can be solved in a first order semi-analytical
way. For this purpose, Eq. (5.21) can be written again as
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 529

em~j /j em~k /k em~p /p ¼ em~i /i R^:


This equation can be solved analytically as in Appendix C so that
/s ¼ fs ð/i Þ for s ¼ j; k; p: ð5:35Þ
Then, after necessary substitutions, Eq. (5.22) becomes
gð/i ; w ; w Þ ¼ 
q 0:r ð5:36Þ
Eq. (5.36) can be solved analytically to obtain
wq ¼ fq ð/i Þ; wr ¼ fr ð/i Þ; ð5:37Þ
together with the following analytically unsolvable equation:
fo ð/i Þ ¼ 0: ð5:38Þ
In order to determine /i , Eq. (5.38) can be solved numerically by using a suitable method. Then,
the other variables can be determined readily from Eqs. (5.35) and (5.37).
The general forms of Eq. (5.36) and the ways of solving them are given below for different type-
4 manipulators. In these equations, the columns such as kp , lq , yr , and x are all known either
completely or as functions of /i .
4R2P manipulators:
sq kq þ sr kr ¼ x: ð5:39Þ
This equation can be solved for sq and sr as in Appendix D. The fo equation can be obtained as
fo ¼ kt k~rx ¼ 0:
q

Example. For the manipulator of Example 5.4.2, with k1 ¼ n1 and k5 ¼ R^em~6 h6 n5 ,
s1 k1 þ s5 k5 ¼ x ¼ r  c1  en~2 h2 ðc2 þ en~3 h3 c3 Þ  R^em~6 h6 c4 :

5R1P manipulators:
sq kq þ el~r /r yr ¼ x: ð5:40Þ
This equation can be solved for sq and /r as in Appendix E. Then, the fo equation can be obtained as
lt kq Þsq þ lt ðyr  xÞ ¼ 0:
fo ¼ ð r r

Example. For the manipulator of Example 5.4.4,


n3 þ c2 ¼ e~n2 h2 y2 ;
s3 
where y2 ¼ e~n1 h1 r  ðc1 þ en~2 h24 c4 þ en~2 h24 em~5 h5 c5 Þ.
6R manipulators:
el~q /q yq þ el~r /r yr ¼ x: ð5:41Þ
This equation can be solved for /q and /r as in Appendix F. The fo equation can be obtained in
the following two ways:
530 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

1. With a T group, lr ¼ lq and fo ¼ ltq ðyq þ yr  xÞ ¼ 0.


2. With two D groups, lr 6¼ lq and fo ¼ lts ðel~q /q yq þ el~r /r yr  xÞ ¼ 0; s ¼ q or r.

Example 1. For the manipulator of Example 5.4.5, which has a T group,


en~2 h2 c2 þ en~2 h23 c3 ¼ x ¼ e~n1 h1 r  c1  en~2 h234 ðc4 þ en~5 h5 c5 Þ:

Example 2. For the manipulator of Example 5.4.6, which has two D groups,
e~n2 h3 c2 þ en~4 h4 c4 ¼ x ¼ e~n2 h23 e~n1 h1 r  ðe~n2 h23 c1 þ c3 þ en~4 h45 c5 Þ:

5.2.2. Analytical solutions with a ZELL and a PJA

If the number of unknowns in Eq. (5.22) reduces to four due to a ZELL and if the manipulator
has a PJA, then there exists a unit column v such that the following equation obtained from Eq.
(5.22) will have only one unknown /s :
fo ð/s Þ ¼ vt f ¼ 0: ð5:42Þ
It happens that /s is one of the angles in Eq. (5.21). After determining /s from Eq. (5.42), the
other three angles can be determined from Eq. (5.21). Finally, going back to Eq. (5.22), the re-
maining two variables wq and wr can be determined similarly as described above during the ex-
planation of the semi-analytical solutions.
Here, the existence of v necessitates a PJA. However, in some of the joint arrangements, it is not
possible to have a PJA. For example, an RP2 R3 -S4 manipulator can have two different PJAs,
whereas a PR3 PR-S4 manipulator cannot have any. Furthermore, v exists only for some of the
ZELLs even if a PJA is present. The forms of Eq. (5.22) with proper ZELLs and their treatments
are given below for typical type-4 manipulators as examples.
4R2P manipulators:

Example. For the manipulator of Example 5.4.1, the number of unknowns can be reduced to four
only if the ZELL is a5 ¼ 0 or a4 ¼ 0. The solution is described here for a5 ¼ 0, but it can be
obtained similarly also for a4 ¼ 0. With a5 ¼ 0, Eq. (5.24) becomes

s2 m n3 þ c1 þ en~4 h4 c4 ¼ em~1 h1 r :


 2 þ s3  ð5:43Þ

 t1 m
If PJA-123 is present so that m  t1 
2 ¼ m n3 ¼ 0, with v ¼ m
 1 , Eq. (5.43) leads to

m  t1 ðr  c1 Þ:
 t1 en~4 h4 c4 ¼ h4 ¼ m ð5:44Þ

Eq. (5.44) can be solved for h4 similarly as Eq. (C.5) of Appendix C. Then, Eq. (5.23) can be
written as

em~1 h1 en~5 h5 en~6 h6 ¼ R^ ; ð5:45Þ
where  1
m ¼e ~
n4 h4
 1, R ¼ e
m R^. Hence, the angles h1 ; h5 ; h6 can be determined as in Appendix
^ ~
n4 h4

C. Finally, going back to Eq. (5.43), s2 and s3 can be determined as in Appendix D.


€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 531

t4 m
If PJA-234 is present so that n nt4 
2 ¼  n3 ¼ 0, this time with v ¼ n4 , Eq. (5.43) leads to
nt4 em~1 h1 r ¼ h1 ¼ 
 nt4 ðc1 þ c4 Þ:
Hence, starting with h1 , the solution can be obtained similarly as described above.
5R1P manipulators:

Example. For the manipulator of Example 5.4.4 with a5 ¼ 0,


n3 þ c2 ¼ en~2 h2 ðe~n1 h1 r  c1  en~2 h24 c4 Þ:
s3  ð5:46Þ
If the PJA-234 is present so that  nt2 
n3 ¼ 0, with v ¼ n2 , Eq. (5.44) leads to
 
nt2 e~n1 h1 r ¼ 
 nt2 c1 þ c2 þ c4 :
After determining h1 from this equation, Eq. (5.29) can be solved for h24 ; h5 ; h6 as described before.
Then, Eq. (5.46) can be solved for s3 and h2 as in Appendix E.
6R manipulators:

These manipulators will have a PJA if they have a T group. Furthermore, the number of un-
knowns in their version of Eq. (5.22) will reduce to four if they have a ZELL not adjacent to the
T group.

Example. For the manipulator of Example 5.4.5 with a5 ¼ 0,


e~n1 h1 r ¼ c1 þ en~2 h2 c2 þ en~2 h23 c3 þ en~2 h234 c4 : ð5:47Þ
With v ¼ 
n2 , Eq. (5.47) reduces to
nt2 e~n1 h1 r ¼ 
 nt2 ðc1 þ c2 þ c3 þ c4 Þ:
Hence, starting with h1 , the joint variables can be determined as in the previous cases.

5.2.3. Analytical solutions with an SJA or a CSJA

Analytical solutions can also be obtained if the number of unknown variables in Eq. (5.22)
reduces to three due to an SJA or a CSJA. After determining these variables as in Appendices
D,E,F,G,H,I, the remaining three variables can be determined from Eq. (5.21) as in Appendix C.
The reduced forms of Eq. (5.22) and the ways of solving them are given below for typical ma-
nipulators as examples.
4R2P manipulators:

Example 1. The manipulator of Example 5.4.1 with SJA-456, i.e. with a4 ¼ a5 ¼ d5 ¼ 0, has the
following equation which can be solved as in Appendix E:

em~1 h1 r ¼ s2 m
 2 þ s3 
n3 þ c1 :
532 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

Example 2. The manipulator of Example 5.4.2 with CSJA-3456, i.e. with n5 ¼ n6 ¼ m
 6 and
a3 ¼ a4 ¼ a5 ¼ d4 ¼ 0, has the following equation:
n1 þ s5 k5 þ en~2 h2 c2 ¼ x;
s1 
where k5 ¼ R^
n5 , x ¼ r  c1 . The solution can be obtained as in Appendix E.
5R1P manipulators:

Example 1. The manipulator of Example 5.4.3 with SJA-456, i.e. with a4 ¼ a5 ¼ d5 ¼ 0, has the
following equation which can be solved as in Appendix F:
e~n1 h12 r ¼ s3 
n3 þ e~n1 h2 c1 þ c2 :

Example 2. The manipulator of Example 5.4.4 with SJA-456, i.e. with a4 ¼ a5 ¼ d5 ¼ 0, has the
following equation:
n3 þ e~n2 h2 c1 þ c2 ¼ e~n2 h2 e~n1 h1 r:
s3 
In this case, analytical solution is possible if the SJA is accompanied by an additional fea-
ture, which can either be a PJA or a ZELL. Otherwise the solution will be first order semi-
analytical.
With PJA-234,  nt2 
n3 ¼ 0. Then, an analytical solution can be obtained as in Appendix F.
With a1 ¼ 0 as a ZELL and the definition c 2 ¼ c2 þ d2 n2 , the following equation is obtained,
which can be solved analytically as in Appendix I:
n3 þ c 2 ¼ e~n2 h2 e~n1 h1 r:
s3 
6R manipulators:

Example. The manipulator of Example 5.4.5 with SJA-456, i.e. with a4 ¼ a5 ¼ d5 ¼ 0, has the
following equation, which can be solved as in Appendix G:
e~n1 h1 r ¼ c1 þ en~2 h2 c2 þ en~2 h23 c3 :

5.3. Type-5 manipulators

Type-5 manipulators consist of those with the following joint arrangements:


1. 5R1P manipulators with S5 (Example 5.5.1).
2. 6R manipulators with permutations of D, S, S, S, S (Example 5.5.2).
For these manipulators, the hand orientation and the wrist point location equations have the
following general forms:
R^ ¼ em~i /i em~j /j em~k /k em~p /p em~q /q ; ð5:48Þ
f ð/i ; /j ; /k ; /p ; wr Þ ¼  0: ð5:49Þ
The particular forms of Eqs. (5.48) and (5.49) are given below for typical type-5 manipulators as
examples.
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 533

Example 5.5.1. For an R2 PR3 -S5 manipulator,


R^ ¼ en~1 h1 en~2 h2 em~4 h4 em~5 h5 em~6 h6 ; ð5:50Þ
e~n2 h2 e~n1 h1 r ¼ s3 
n3 þ e~n2 h2 c1 þ c2 þ em~4 h4 c4 þ em~4 h4 em~5 h5 c5 : ð5:51Þ

Example 5.5.2. For an R6 -SDS3 manipulator with n2 ¼ n3 ,


R^ ¼ en~1 h1 en~2 h23 en~4 h4 en~5 h5 en~6 h6 ; ð5:52Þ
~
n1 h1 n~2 h2 n~2 h23 n~4 h4 n~4 h4 n~5 h5
e r ¼ c1 þ e c2 þ e ðc3 þ e c4 þ e e c5 Þ: ð5:53Þ

5.3.1. Second order semi-analytical solutions

Without any special feature, Eqs. (5.48) and (5.49) can be solved in a second order semi-
analytical way. For this purpose, Eq. (5.48) can be written again as

em~k /k em~p /p em~q /q ¼ em~j /j em~i /i R^:


This equation can be solved analytically as in Appendix C so that
/s ¼ fs ð/i ; /j Þ for s ¼ k; p; q: ð5:54Þ
Then, after necessary substitutions, Eq. (5.49) becomes
:
gð/i ; /j ; w Þ ¼ 0 ð5:55Þ
r

This equation can be solved analytically to obtain


wr ¼ fr ð/i ; /j Þ; ð5:56Þ
together with the following analytically unsolvable two coupled equations:
fo ð/i ; /j Þ ¼ 0; go ð/i ; /j Þ ¼ 0: ð5:57Þ
These equations can be solved numerically in order to determine /i and /j . Then, the other
variables can be determined readily from Eqs. (5.54) and (5.56).
The general forms of Eq. (5.55) and the ways of solving them are given below for different type-
5 manipulators together with examples.
5R1P manipulators:
nr ¼ xð/i ; /j Þ:
sr 
t1 
From this equation, noting that u ut1 eu~1 br1 u3 ¼ ut1 u3 ¼ 0, sr and the equations fo ¼ 0 and
nr ¼ 
go ¼ 0 are obtained as follows:
ntrx;
sr ¼ 
ut1x ¼ 0;
fo ¼  ut1 n~r x ¼ 0:
go ¼ 

Example. For the manipulator of Example 5.5.1,

n3 ¼ x ¼ e~n2 h2 e~n1 h1 r  ðe~n2 h2 c1 þ c2 þ em~4 h4 c4 þ em~4 h4 em~5 h5 c5 Þ:
s3 
534 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

6R manipulators:
en~r hr cr ¼ xð/i ; /j Þ:
As in Appendix B, hr and the equations fo ¼ 0 and go ¼ 0 are obtained as follows:
h i
nr Þ2 ;
hr ¼ atan2 ntr c~rx ; ctr x  ðctr 

ntr ðx  cr Þ ¼ 0;


fo ¼  go ¼ xtx  ctrcr ¼ 0:

Example. For the manipulator of Example 5.5.2,


 
en~2 h2 c2 ¼ x ¼ e~n1 h1 r  c1  en~2 h23 c3 þ en~4 h4 c4 þ en~4 h4 en~5 h5 c5 :

5.3.2. First order semi-analytical solutions

First order semi-analytical solutions are obtainable simply with a ZELL in the case of 6R
manipulators. However, in the case of 5R1P manipulators, it is necessary to have either two
ZELLs or a ZELL accompanied with an ORPJ.

Example 1. For the manipulator of Example 5.5.1, with a5 ¼ 0, Eq. (5.51) becomes
e~n2 h2 e~n1 h1 r ¼ s3 
n3 þ e~n2 h2 c1 þ z2 ; ð5:58Þ
where z2 ¼ z2 ðh4 Þ ¼ c2 þ em~4 h4 c4 .

nt2 
(i) If there is also an ORPJ so that  n3 ¼ 0, Eq. (5.58) can be solved as in Appendix F in order
to obtain
h1 ¼ f1 ðh4 Þ; h2 ¼ f2 ðh4 Þ; s3 ¼ f3 ðh4 Þ:

With these results, Eq. (5.50) can be solved as in Appendix C in order to obtain
h4 ¼ f4 ðh4 Þ; h5 ¼ f5 ðh4 Þ; h6 ¼ f6 ðh4 Þ:

h4 can be determined by solving the equation h4 ¼ f4 ðh4 Þ numerically. Then, each of the other
variables can readily be computed using the relevant equation.
(ii) If there is an additional ZELL, e.g. a1 ¼ 0, defining z 2 ðh4 Þ ¼ z2 ðh4 Þ þ d2 n2 , Eq. (5.58) becomes

e~n2 h2 e~n1 h1 r ¼ s3 
n3 þ z 2 :

This equation can now be solved as in Appendix I in order to obtain h1 , h2 , and s3 in terms of h4 .
Then, the solution proceeds similarly as in Case (i) described above.

Example 2. For the manipulator of Example 5.5.2, with a5 ¼ 0, Eq. (5.53) becomes
e~n1 h1 r ¼ c1 þ en~2 h2 c2 þ en~2 h23 y3 ; ð5:59Þ
where y3 ¼ y3 ðh4 Þ ¼ c3 þ en~4 h4 c4 . Eq. (5.59) can be solved as in Appendix G in order to obtain
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 535

h1 ¼ f1 ðh4 Þ; h2 ¼ f2 ðh4 Þ; h23 ¼ f3 ðh4 Þ:

Then, the rest of the solution proceeds similarly as in the previous example.

5.3.3. Analytical solutions

With an SJA or a CSJA, the number of unknown variables in Eq. (5.49) reduces to three. In
some cases, these variables can be determined analytically. However, in some other cases, an
additional feature is required such as an ORPJ or a ZELL. The remaining three variables can then
be determined from Eq. (5.48) as in Appendix C.
5R1P manipulators:
Analytical solutions can be obtained if there is an SJA or a CSJA together with an ORPJ or a
ZELL.

Example 1. For the manipulator of Example 5.5.1 with SJA-456, a4 ¼ a5 ¼ d5 ¼ 0 and Eq. (5.51)
becomes
e~n2 h2 e~n1 h1 r ¼ s3 
n3 þ e~n2 h2 c1 þ c2 : ð5:60Þ
(i) With ORPJ-23, i.e. with nt2 
¼ 0, Eq. (5.60) can be solved as in Appendix F.
 n3
(ii) With a1 ¼ 0 as a ZELL and the definition c 2 ¼ c2 þ d2 n2 , Eq. (5.60) simplifies to the following
one, which can be solved as in Appendix I:
e~n2 h2 e~n1 h1 r ¼ s3 
n3 þ c 2 : ð5:61Þ

Example 2. For the same manipulator with CSJA-1234, a1 ¼ a2 ¼ a3 ¼ d2 ¼ 0 and n3 ¼ n4 ¼ m
 4.
With the definitions x ¼ R^tr and c 4 ¼ c4 þ d4 m
 4 , Eq. (5.51) becomes
 4 þ em~5 h5 c5 þ c 4 :
em~5 h5 em~6 h6 x ¼ s3 m ð5:62Þ
 t5 m
(i) With ORPJ-35, i.e. with m  4 ¼ 0, Eq. (5.62) can be solved as in Appendix F.
(ii) With a5 ¼ 0 as a ZELL, Eq. (5.62) simplifies to the following one, which can be solved as in
Appendix I:
 4 þ c 4 :
em~5 h5 em~6 h6 x ¼ s3 m ð5:63Þ
6R manipulators:

Example 1. For the manipulator of Example 5.5.2 with SJA-456, a4 ¼ a5 ¼ d5 ¼ 0 and Eq. (5.53)
becomes
e~n1 h1 r ¼ c1 þ en~2 h2 c2 þ en~2 h23 c3 : ð5:64Þ
This equation can be solved as in Appendix G without requiring any additional feature. This is an
example of the case, in which the SJA is not adjacent to the D group.

Example 2. For the same manipulator with SJA-345, a3 ¼ a4 ¼ d4 ¼ 0. With the definition
c 5 ¼ c5 þ d5 
n5 , Eq. (5.53) becomes
536 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

r ¼ en~1 h1 c1 þ en~1 h1 en~2 h2 c2 þ R^e~n6 h6 c 5 : ð5:65Þ


This is an example with the SJA adjacent to the D group. In such a case, Eq. (5.65) cannot be
solved analytically. However, if a1 ¼ 0 too, then with the definitions c 2 ¼ c2 þ d2 n2 , co5 ¼ R^c 5 , and
 6 ¼ R^
m n6 , the following equation is obtained, which can be solved analytically as in Appendix H:
r  em~6 h6 co5 ¼ en~1 h1 en~2 h2 c 2 : ð5:66Þ

5.4. Type-6 manipulators

They consist of the R6 -S6 manipulators. Their hand orientation and wrist point location
equations have already been given as Eqs. (4.4)–(4.6).

5.4.1. Third order semi-analytical solution

Without any special feature, the inverse kinematic solution can be obtained in a third order
semi-analytical way. For this purpose, Eq. (4.4) can be written again as
en~4 h4 en~5 h5 en~6 h6 ¼ e~n3 h3 e~n2 h2 e~n1 h1 R^: ð5:67Þ
This equation can be solved analytically as in Appendix C so that
hk ¼ fk ðh1 ; h2 ; h3 Þ for k ¼ 4; 5; 6: ð5:68Þ
After necessary substitutions, Eq. (4.6) becomes
en~1 h1 c1 þ en~1 h1 en~2 h2 c2 þ en~1 h1 en~2 h2 en~3 h3 c3 ¼ xðh1 ; h2 ; h3 Þ; ð5:69Þ
where xðh1 ; h2 ; h3 Þ ¼ r  R^e~n6 h6 ðe~n5 h5 c4 þ c5 Þ.
The first three joint variables can be determined by solving Eq. (5.69) numerically. Then, the
last three joint variables can be computed using Eq. (5.68).

5.4.2. Second order semi-analytical solution with a ZELL

If there is a ZELL, the number of joint variables in Eq. (4.5) reduces to four. Then, it can be
written as follows:
eri n~i hi yi þ erj n~j hj yj ¼ x; ð5:70Þ
where ri and rj can be þ1 or 1 and yi , yj , and x are expressed in terms of hk and hp . Eq. (5.70) can
be solved as in Appendix F in order to obtain
hi ¼ fi ðhk ; hp Þ and hj ¼ fj ðhk ; hp Þ;
together with the following consistency equation:
nts ðeri n~i hi yi þ erj n~j hj yj  xÞ ¼ 0;
fo ðhk ; hp Þ ¼  s ¼ i or j:
After necessary substitutions, Eq. (4.4) can be solved as in Appendix C in order to obtain
hp ¼ fp ðhk ; hp Þ; hq ¼ fq ðhk ; hp Þ; hr ¼ fr ðhk ; hp Þ:
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 537

The solution is completed by determining hk and hp numerically from the equations


fo ðhk ; hp Þ ¼ 0 and hp ¼ fp ðhk ; hp Þ:

Example. With a5 ¼ 0, Eq. (5.70) appears as


e~n1 h1 r ¼ c1 þ en~2 h2 y ;
where y ¼ c2 þ en~3 h3 ðc3 þ en~4 h4 c4 Þ and i ¼ 1, j ¼ 2, k ¼ 3, p ¼ 4, q ¼ 5, r ¼ 6.

5.4.3. First order semi-analytical solution with two ZELLs

If there are two ZELLs, the number of joint variables in Eq. (4.5) will again reduce to four.
However, this time, Eq. (4.5) can be written as follows:
eri n~i hi erj n~j hj x ¼ erk n~k hk y þ z; ð5:71Þ
where x, y , and z are expressed in terms of hp . Eq. (5.71) can be solved as in Appendix H in order
to obtain
hs ¼ fs ðhp Þ for s ¼ i; j; k:
After necessary substitutions, Eq. (4.4) can be solved as in Appendix C in order to obtain
hs ¼ fs ðhp Þ for s ¼ p; q; r:
The solution is completed by determining hp numerically from the following equation:
hp ¼ fp ðhp Þ:

Example. With a2 ¼ a4 ¼ 0, Eq. (5.71) appears as


en~2 h2 en~3 h3 c 3 ¼ e~n1 h1 y  c1 ;
where c 3 ¼ c3 þ d3  n5 , y ¼ r  R^e~n6 h6 c 5 , and i ¼ 2, j ¼ 3, k ¼ 1, p ¼ 6, q ¼ 5, r ¼ 4.
n3 , c 5 ¼ c5 þ d5 

5.4.4. First order semi-analytical solution with an SJA

If there is an SJA, the number of joint variables in Eq. (4.5) will reduce to three. Then, it can be
written as follows:
eri n~i hi yi þ erj n~j hj yj ¼ x; ð5:72Þ
where yi , yj , and x are expressed in terms of hk . Eq. (5.72) can be solved as in Appendix F in order
to obtain
hi ¼ fi ðhk Þ and hj ¼ fj ðhk Þ;
together with the consistency equation fo ðhk Þ ¼ 0, which is similar to the previous one associated
with Eq. (5.70). This fo equation can be solved numerically in order to determine hk . Then, hi and
hj can readily be computed. Finally, with the knowledge of these three joint variables, the re-
maining three can be determined from Eq. (4.4) as in Appendix C.
538 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

Example. With SJA-456, Eq. (5.72) appears as


e~n1 h1 r ¼ c1 þ en~2 h2 y ;
where y ¼ c2 þ en~3 h3 c3 and i ¼ 1, j ¼ 2, k ¼ 3, p ¼ 4, q ¼ 5, r ¼ 6.

5.4.5. Analytical solution with an SJA and a ZELL

If there is an SJA together with a non-adjacent ZELL, Eq. (4.5) will become
eri n~i hi erj n~j hj x ¼ erk n~k hk y þ z; ð5:73Þ
where x, y , and z are all known. Eq. (5.73) can be solved as in Appendix H in order to determine
the three joint variables it contains. The remaining three joint variables can then be determined by
solving Eq. (4.4) as in Appendix C.

Example 1. With SJA-456 and a1 ¼ 0, Eq. (5.73) appears as


e~n2 h2 e~n1 h1 r ¼ c 2 þ en~3 h3 c3 ;
where i ¼ 2, j ¼ 1, k ¼ 3, p ¼ 4, q ¼ 5, r ¼ 6, and c 2 ¼ c2 þ d2 n2 .

Example 2. With SJA-456 and a2 ¼ 0, Eq. (5.73) appears this time as


en~2 h2 en~3 h3 c 3 ¼ e~n1 h1 r  c1 ;
where i ¼ 2, j ¼ 3, k ¼ 1, p ¼ 4, q ¼ 5, r ¼ 6, and c 3 ¼ c3 þ d3 n3 .

6. Conclusion

The inverse kinematics of general 6-joint serial manipulators is investigated exhaustively using the
analytical method developed based on the exponential rotation matrices. The equations of direct
kinematics are simplified as much as possible employing the properties of these matrices. Using the
simplified equations, the ways of obtaining the analytical solutions are described, whenever they
exist. If they do not exist, then the ways are described to obtain kth order semi-analytical solutions
that require only k equations to be solved numerically ðk ¼ 1; 2; 3Þ.
It is seen in Appendices A,B,C,D,E,F,G,H,I that the analytical solutions or the analytical por-
tions of the semi-analytical solutions can be expressed as solutions to a group of general equations
that occur in only nine basically different patterns and their expressions are quite simple. On the
other hand, the general tendency in the kinematical design of a manipulator is to make it analytically
solvable. If this is not achievable for some reason, then the design tendency is to minimize the order
of the semi-analytical solution [12]. Therefore, whenever a semi-analytical solution is needed, its
order will probably be low and most probably it will be 1. Especially if k ¼ 1, the associated nu-
merical solution can be obtained quite easily. Thus, the analytical and semi-analytical solutions
described in Appendices A,B,C,D,E,F,G,H,I can be implemented easily and evaluated rapidly on a
computer. Besides, in case of fully analytical solutions, all the multiple and singular manipulator
configurations appear explicitly; and in case of kth order semi-analytical solutions, not the ones
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 539

associated with the k equations to be solved numerically, but the rest of them appear again explicitly.
Hence, it is facilitated not only to make an appropriate motion planning for the manipulator but
also to control its configuration near a singularity [9]. Therefore, the solutions obtained analytically
or semi-analytically are expected to be preferable to the purely numerical, iterative, and hence slow-
to-compute solutions, which are unnecessarily too general being blind to any classification.
The simplified kinematical equations reveal the special features that are required for the exis-
tence of analytical solutions or for reductions in the order of semi-analytical solutions. They also
reveal the features that make a manipulator invalid. So, they can be used as a basic tool for the
kinematical design of manipulators. Moreover, these simplified position and orientation equations
can be differentiated easily and thus they constitute the starting point for the analytical solutions
to the inverse velocity and acceleration problems. Hence, it also becomes possible to carry out a
complete singularity treatment of any 6-joint manipulator similarly to the treatment of a partic-
ular 6R-SDS3 manipulator as in [9].
Although the analytical method described here is applied to the serial manipulators, it can as
well be applied to the other types of manipulators and in general to all kinds of spatial mecha-
nisms. Application examples to spatial mechanisms can be seen in [10].

Appendix A

The following equation is to be solved for h in the interval ½p; p :


a cos h þ b sin h ¼ c: ðA:1Þ
If a2 þ b2 > 0 and if a2 þ b2 P c2 whenever c 6¼ 0, the solution can be expressed as follows by first
obtaining sin h and cos h with d ¼ ða2 þ b2  c2 Þ1=2 and r ¼ 1:
sin h ¼ ðbc þ radÞ=ða2 þ b2 Þ; cos h ¼ ðac  rbdÞ=ða2 þ b2 Þ; ðA:2Þ
h ¼ atan2 ½ðbc þ radÞ; ðac  rbdÞ : ðA:3Þ
If a ¼ b ¼ 0, then Eq. (A.1) degenerates and necessitates that c ¼ 0 for consistency. In such a case,
h becomes arbitrary.

Appendix B

The following equation is to be solved for h:


en~h 
p¼
q: ðB:1Þ
Since this equation has only one unknown, its consistency necessitates two conditions, which are
pt 
 p¼qt  nt 
q and  nt 
p¼ q. Using Eqs. (2.1) and (2.3), Eq. (B.1) can be written as follows:
n~p sin h  n~2 
p cos h ¼  nt 
q  ð pÞ
n: ðB:2Þ
Premultiplication of this equation by n~ leads to

n~2 
p sin h þ n~
p cos h ¼ n~
q: ðB:3Þ
Upon premultiplying Eqs. (B.2) and (B.3) by pt , the following two equations are obtained:
540 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O
h i h i
pt 
 p  ð nÞ2 cos h ¼ 
pt  pt  nÞ2 ;
pt 
q  ð pt p  ðpt nÞ2 sin h ¼ pt q~n:
 ðB:4Þ

If 
p is not zero and not parallel to  n, i.e. if n~p 6¼ 0, then pt p  ðpt nÞ2 > 0 and h is determined as
h i
h ¼ atan2 pt q~ pt 
n;  q  ð nÞ2 :
pt  ðB:5Þ
If 
n and 
p are parallel or if p¼ p ¼ 0, then Eq. (B.1) degenerates and h becomes arbitrary.
0, i.e if n~
In such a case, the consistency of Eq. (B.1) necessitates that p ¼ q.

Appendix C

The following equation is to be solved for /; h, and w, where A^; B^; C^ are specified rotation
matrices:
em~/ A^eu~h B^en~w ¼ C^: ðC:1Þ
Let v ¼ B^  ¼ A^t m
n, w ^ ¼ A^t C^B^t . Then, using Eqs. (2.12a) and (2.12b), Eq. (C.1) becomes
 , and D
^:
ew~/ eu~h ev~w ¼ D ðC:2Þ
If w
 , v, and 
u are not parallel, then /; w, and h can be solved from Eq. (C.2). If any two or all three
of w , v, and 
u become parallel, then Eq. (C.2) degenerates into one of the following forms (i) and
(ii). In such cases, two or all of /; w, and h become arbitrary and only certain linear combinations
of them such as a; b, or c can be determined.
(i) ^ or ew~/ eu~b ¼ D
eu~a ev~w ¼ D ^; ðC:3Þ
(ii) ^:
eu~c ¼ D ðC:4Þ

In (i) and (ii), the combinations that can be determined are a ¼ h þ r1 / if w  ¼ r1 u but v 6¼ r2 u,
b ¼ h þ r2 w if v ¼ r2   6¼ r1 
u but w u, and c ¼ h þ r1 / þ r2 w if w
 ¼ r1 u and v ¼ r2 u. In these ex-
pressions, r1 ¼ 1 and r2 ¼ 1.
When there is no degeneracy, the solution can be started with h. In order to find it, both sides of
Eq. (C.2) can be premultiplied by w  t and postmultiplied by v. According to Eq. (2.10), this op-
eration results in
 t eu~hv ¼ h ¼ w
w ^v:
 tD ðC:5Þ
Using Eq. (2.1), Eq. (C.5) can also be written as
a cos h þ b sin h ¼ c; ðC:6Þ
t t t t 2 t t t
where a ¼ w  v  ð
w u vÞ ¼ 
uÞð w u~ v, b ¼ w w uÞðu vÞ. Since there is no degener-
 u~v, c ¼ h  ð
acy, u~v 6¼ 
0 and u~w  6¼ 
0. Therefore, a2 þ b2 > 0 and h can be determined from Eq. (C.6) as in
Appendix A.
Having h available, / and w can be determined from the following two equations. The first one
of them is generated by postmultiplying both sides of Eq. (C.2) by v and the second one is gen-
erated by postmultiplying the transposes of both sides of Eq. (C.2) by w .
ew~/ 
p ¼ r; ðC:7aÞ
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 541

e~vw 
q ¼ s: ðC:7bÞ
Here,  u~h ^v; 
p ¼ e v, r ¼ D q¼e w ~
uh
 , s ¼ D w ^t  and q ¼ s ¼ r3v, where r3 ¼ 1,
 . Unless p ¼ r ¼ r3 w
/ and w can be determined from Eqs. (C.7a) and (C.7b) as in Appendix B. However, if h turns out
to be such that   , which also implies that q ¼ s ¼ r3v, then Eq. (C.2) becomes singular
p ¼ r ¼ r3 w
and this singularity prevents determination of / and w separately. In this singularity, using Eqs.
(2.12a) and (2.12b) and the facts that
w p ¼ eu~h ðr3vÞ
 ¼ r3  q ¼ e~uh ðr3 w
and v ¼ r3   Þ;
Eq. (C.2) can be worked out into either of the following forms, both of which are of the same form
as Eq. (C.4):
^0 ¼ D
ew~ð/þr3 wÞ ¼ D ^ e~uh ^ 00 ¼ e~uh D
or ev~ðwþr3 /Þ ¼ D ^: ðC:8Þ
These equations show that, instead of / and w, one can only determine either the combination
c0 ¼ / þ r3 w or its twin c00 ¼ r3 c0 ¼ w þ r3 /.
In case of a degeneracy of form (i), a and w or b and / can be determined through the following
procedure, which is described for the first one of Eqs. (C.3), but it can be applied to the second one
as well. The first one of Eqs. (C.3) can be written as follows:
eu~av ¼ k ¼ D
^v and e~vw  ^t
u ¼ l ¼ D u: ðC:9Þ
Since this is a case of form (i), u and v are supposed to be non-parallel. Therefore, Eqs. (C.9) can
be solved for a and w as in Appendix B. Meanwhile, the consistency of Eqs. (C.9) necessitates that
 ^v ¼ 
ut D utv.
In case of a further degeneracy of form (ii), c can be found from Eq. (C.4) by introducing
two auxiliary columns y and z, which are generated from an arbitrary column x ð~ ux 6¼ 0Þ
so that y ¼ u~x and z ¼ u~y . Using these columns, even though they are not unique, c can be
found uniquely as
c ¼ atan2 ðs; cÞ ðC:10Þ
t^ t t^ t t^ t t^ t
where s ¼ z Dy =z z ¼ y Dz=y y and c ¼ z Dz=z z ¼ y Dy =y y . As for the consistency of Eq. (C.4),
it necessitates two compatibility conditions on D ^ , which are y t D ^ u ¼ 0 and zt D
^ u ¼ 0.

Appendix D

The following equation with j n1 j ¼ j


n2 j ¼ jn3 j ¼ 1 is to be solved for s1 ; s2 , and s3 :
n1 þ s2 
s1  n2 þ s 3 
n3 ¼ r: ðD:1Þ
If D ¼nt1 n~2 
n3 6¼ 0, the solution is obtained as follows:
s1 ¼  nt2 n~3r=D; nt3 n~1r=D;
s2 ¼  nt1 n~2r=D:
s3 ¼  ðD:2Þ
If D ¼ 0, Eq. (D.1) becomes singular and the following degenerate cases arise. Then, the variables
s1 , s2 , and s3 cannot be determined separately, but only certain linear combinations of them can be
determined.
(i) If only two of n1 ;  n3 are parallel, then Eq. (D.1) degenerates into the following equation,
n2 ; 
where fi; j; kg is an arbitrary shuffling of f1; 2; 3g:
542 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

s0i 
ni þ s0j 
nj ¼ r: ðD:3Þ
In this equation, it is assumed that n i and nj ¼ rnk ðr ¼ 1Þ are not parallel. Therefore, s0i ¼ si
and s0j ¼ sj þ rsk . Consistency of this equation necessitates that nti n~jr ¼ 0. With this condition and
the fact that  ni and  nj are not parallel, s0i and s0j are determined as
 .   . 
s0i ¼  nti n~2j r nti n~2j 
 ni and s0j ¼ ntj n~2i r ntj n~2i nj : ðD:4Þ

(ii) If all three of 


n1 ;  n3 are parallel, i.e. if ni ¼ ri nk and nj ¼ rj nk , then Eq. (D.1) degenerates
n2 ; 
further into the following equation, in which s00k ¼ sk þ ri si þ rj sj :
s00k 
nk ¼ r: ðD:5Þ
From this equation, s00k is determined as
s00k ¼ 
ntkr: ðD:6Þ
In this case, consistency necessitates two compatibility conditions, which are expressed in terms of
an arbitrary column x ð~ nk x 6¼ 
0Þ as follows:
xt n~kr ¼ 0 and xt n~2k r ¼ 0:

Appendix E

n1 j ¼ j
The following equations with j n2 j ¼ jn3 j ¼ 1 are to be solved for s1 ; s2 , and h3 :
s1  n2 þ en~3 h3 x ¼ r;
n1 þ s 2  ðE:1Þ
n1 þ s2 en~3 h3 
s1  n2 þ en~3 h3 x ¼ r; n3 6¼ 
 n2 : ðE:2Þ

n1 Þ2 þ ð
nt3 
If ð n2 Þ2 > 0, one of s1 and s2 can be expressed in terms of the other as in the following
nt3 
equations:
s2 ¼ d2  k21 s1 ; ðE:3aÞ
s1 ¼ d1  k12 s2 : ðE:3bÞ
Here, k21 ¼ ð nt3  nt3 n
n1 Þ=ð 2 Þ and d2 ¼ n t3 ðr  xÞ=ðnt3 n2 Þ are defined if nt3 n2 6¼ 0 and similarly
t t t
k12 ¼ ð
n3 n2 Þ=ð
n3 n1 Þ and d1 ¼  nt3 
n3 ðr  xÞ=ð n1 Þ are defined if nt3 n1 6¼ 0. Using Eq. (E.3a) or (E.3b),
one of s1 and s2 can be eliminated in Eqs. (E.1) and (E.2). In this elimination, Eq. (E.3a) is
preferable if j nt3  nt3 
n2 j P j n1 j and Eq. (E.3b) is preferable if jnt3 n1 j P jnt3 n2 j. Depending on the pre-
ferred one, after its substitution, Eqs. (E.1) and (E.2) take the following forms, respectively:
en~3 h3 x ¼ 
q  s1 m
 1; ðE:4aÞ
en~3 h3 ðy  s1 l1 Þ ¼ r  s1 
n1 ; ðE:5aÞ
n~3 h3
e x ¼ 
p  s2 m
 2; ðE:4bÞ
en~3 h3 ðx þ s2 
n2 Þ ¼ 
p þ s2 l2 : ðE:5bÞ
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 543

In these equations, p ¼ r  d1 n 1 , q ¼ r  d2 n 2 , l1 ¼ k21 n2 , l2 ¼ k12 n1 , m


 1 ¼ n1  l1 , m
 2 ¼ n2  l2 ,
and y ¼ x þ d2  n2 .
Note that Eqs. (E.4a), (E.5a), (E.4b) and (E.5b) have the same form and therefore they can all
be solved similarly for the pair fs1 ; h3 g or fs2 ; h3 g. After the solution, the other one of s1 and s2 can
be found from Eq. (E.3a) or (E.3b). A way of solving these equations is described here by taking
Eq. (E.5a) as a typical sample. Multiplication of each side of Eq. (E.5a) by its transpose results in
ðy  s1 l1 Þt ðy  s1 l1 Þ ¼ ðr  s1 
n1 Þt ðr  s1 
n1 Þ or
a1 s21  2b1 s1 þ c1 ¼ 0; ðE:6Þ

where a1 ¼  nt1 
n1  lt1 l1 ¼ 1  k21
2
nt1r  lt1 y , c1 ¼ rtr  y ty .
, b1 ¼ 
If a1 6¼ 0 and a1 c1 < b1 , then with d1 ¼ ðb21  a1 c1 Þ1=2 > 0, s1 can be determined from Eq. (E.6)
2

with two possible values as


s1 ¼ ðb1 þ r1 d1 Þ=a1 ; r1 ¼ 1: ðE:7Þ
If d1 ¼ 0 with a1 6¼ 0 or if a1 ¼ 0 with b1 6¼ 0, then s1 can be determined uniquely as
s1 ¼ b1 =a1 or s1 ¼ c1 =ð2b1 Þ: ðE:8Þ
If a1 ¼ 0 and b1 ¼ 0, then Eq. (E.6) degenerates and s1 becomes arbitrary with the consistency
condition that c1 ¼ 0.
 ¼ y  s1 l1 and v ¼ r  s1 n1 , Eq. (E.5a) can be written as
Knowing s1 , with w

en~3 h3 w
 ¼ v: ðE:9Þ
Hence, h3 can be determined as in Appendix B, provided that n~3 w  6¼ 0. Otherwise, singularity
occurs and h3 becomes arbitrary.
Note that, when d1 > 0, the expressions of s1 and h3 will contain r1 . This sign ambiguity can be
eliminated by stipulating the following condition derived from Eq. (E.5a):
   
1 nt1 en~3 h3 l1 s1 þ 
nt1 en~3 h3 y ¼ 
nt1r: ðE:10Þ

nt3 
If  nt3 n
n1 ¼  2 ¼ 0, then Eqs. (E.1) and (E.2) will again be singular because one of the scalar
equations obtained from them, i.e.  nt3 ðr  xÞ ¼ 0, will be a consistency condition instead of being a
relationship among s1 ; s2 , and h3 . Therefore, one of s1 ; s2 , and h3 may be taken arbitrarily and the
others can be found accordingly. The most convenient one to take arbitrarily is h3 . Then, Eqs.
(E.1) and (E.2) can be written in the following common form:

n1 þ s2 k2 ¼ f ;
s1  ðE:11Þ

where k2 ¼ 
n2 for Eq. (E.1), k2 ¼ en~3 h3 n
2 for Eq. (E.2), and f ¼ r  en~3 h3 x for both. Eq. (E.11) can
be solved similarly as Eq. (D.3) of Appendix D, provided that n~1 k2 6¼ 0. In case of Eq. (E.2), it is
always possible to have n~1 k2 6¼ 
0 by a proper selection of h3 . However, in case of Eq. (E.1), a
further degeneracy may occur such that n~1 k2 ¼ 0 with k2 ¼ rn1 and r ¼ 1. In such a degeneracy,
only the combination s12 ¼ s1 þ rs2 can be found as s12 ¼ nt1 f alongside with the consistency
conditions described in Appendix D.
544 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

Appendix F

n1 j ¼ j
The following equations with j n2 j ¼ jn3 j ¼ 1 are to be solved for s1 ; h2 , and h3 :
n1 þ en~2 h2 y2 þ en~2 h3 y3 ¼ r;
s1  ðF:1Þ
n~2 h2 n~3 h3
n1 þ e
s1  y2 þ e y3 ¼ r; n3 6¼ 
 n2 ; ðF:2Þ
n1 þ en~2 h2 y2 þ en~2 h2 en~3 h3 y3 ¼ r;
s1  n3 6¼ n2 :
 ðF:3Þ
Here, it is assumed that these equations are not degenerate due to occurrences such as n~iyi ¼ 0. If
there were such occurrences, they would reduce to equations of simpler forms that could be solved
as in Appendices D, E and I.

F.1. Solution of Eq. (F.1)

t2 
If n n1 6¼ 0, s1 can be determined from Eq. (F.1) as
nt2 ðr  y2  y3 Þ=ð
s1 ¼  nt2 
n1 Þ: ðF:4Þ
p ¼ r  s1 
Then, with  n1 , Eq. (F.1) can be written as
en~2 h3 y3 ¼ 
p  en~2 h2 y2 : ðF:5Þ
When each side of Eq. (F.5) is multiplied by its transpose, the following equation is obtained,
which can be solved for h2 similarly as Eq. (C.5) of Appendix C, as long as n~2 p 6¼ 0. Otherwise, if
p¼
n~2  0, singularity occurs and h2 becomes arbitrary.
 
t n~2 h2 t t t
p e y2 ¼ h2 ¼ 
 p p þ y2 y2  y3y3 =2: ðF:6Þ
Knowing h2 ; h3 can be determined from Eq. (F.5) as in Appendix B.
nt2 
If  n1 ¼ 0, degeneracy occurs with the consistency condition that nt2 ðy2 þ y3  rÞ ¼ 0. Then,
one of s1 , h2 , and h3 may be taken arbitrarily. For example, taking s1 arbitrarily, Eq. (F.1) takes
the form of Eq. (F.5) with the same definition of p ¼ pðs1 Þ. Hence, with the same solution pro-
cedure, h2 and h3 can be found in terms of s1 .

F.2. Solution of Eq. (F.2)

Eq. (F.2) can be solved analytically if  nt2 n


1 ¼ 0 or nt3 n1 ¼ 0. The solution is described below for
nt2 
 n1 ¼ 0 and it can be obtained similarly for nt3 n1 ¼ 0. With nt2 n1 ¼ 0, Eq. (F.2) can be reduced to
nt2 en~3 h3 y3 ¼ h3 ¼ 
 nt2 ðr  y2 Þ: ðF:7Þ
Hence, h3 can be determined by solving Eq. (F.7) similarly as Eq. (C.5) of Appendix C. Then,
defining x ¼ xðh3 Þ ¼ r  en~3 h3 y3 , Eq. (F.2) can be written as follows, from which s1 and h2 can be
determined as in Appendix E:
en~2 h2 y2 ¼ x  s1 n1 : ðF:8Þ
nt2 
If  n1 6¼ 0 and  nt3 
n1 6¼ 0, Eq. (F.2) can only be solved in a first order semi-analytical way. Noting
that x ¼ xðh3 Þ, the solution of Eq. (F.8) as in Appendix E gives
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 545

s1 ¼ f1 ðh3 Þ and h2 ¼ f2 ðh3 Þ: ðF:9Þ


Then, the following consistency condition for Eq. (F.8) becomes the equation to be solved nu-
merically in order to determine h3 :
nt2 
fo ðh3 Þ ¼ ð nt2xðh3 Þ þ 
n1 Þf1 ðh3 Þ   nt2y2 ¼ 0: ðF:10Þ

F.3. Solution of Eq. (F.3)

nt2 
Eq. (F.3) can be solved analytically if  n1 ¼ 0. With this condition, Eq. (F.3) can be reduced to
Eq. (F.7) and hence h3 can be found. Then, defining z2 ¼ y2 þ en~3 h3 y3 , Eq. (F.3) can be written in
the following form, from which s1 and h2 can be determined as in Appendix E, if n~2z2 6¼ 0.
Otherwise, singularity occurs and h2 becomes arbitrary.
en~2 h2 z2 ¼ r  s1 
n1 : ðF:11Þ
nt2 n1 6¼ 0, Eq. (F.3) can only be solved in a first order semi-analytical way. Starting with Eq.
If 
(F.11) and noting that z2 ¼ z2 ðh3 Þ, the solution can be obtained very similarly as described above
in ‘‘Solution of Eq. (F.2)’’.

Appendix G

The following equations with j


n1 j ¼ j
n2 j ¼ jn3 j ¼ 1 are to be solved for h1 ; h2 , and h3 :
en~1 h1 y1 þ en~1 h2 y2 þ en~3 h3 y3 ¼ r; ðG:1Þ
n~1 h1 n~2 h2 n~3 h3
e y1 þ e y2 þ e y3 ¼ r: ðG:2Þ

It is assumed that there are no occurrences such as n~iyi ¼ 0. If there were, Eqs. (G.1) and (G.2)
would degenerate into equations of simpler forms that could be solved as in Appendices F and A.
It is also assumed that no two of 
n1 ;  n3 are parallel in Eq. (G.2). Otherwise, Eq. (G.2) would
n2 ; 
reduce to an equation of the same form as Eq. (G.1).

G.1. Solution of Eq. (G.1)

The following equation obtained from Eq. (G.1) can be solved for h3 similarly as Eq. (C.5) of
n1 6¼ 0:
Appendix C, provided that n~3 
nt1 en~3 h3 y3 ¼ h3 ¼ 
 nt1 ðr  y1  y2 Þ: ðG:3Þ
Then, with x ¼ r  en~3 h3 y3 , Eq. (G.1) can be written as follows, which can be solved for h1 and h2
similarly as Eq. (F.5) of Appendix F:
en~1 h1 y1 ¼ x  en~1 h2 y2 : ðG:4Þ

G.2. Solution of Eq. (G.2)

This equation can only be solved in a first order semi-analytical way. In order to obtain the
solution, Eq. (G.2) can be written as follows with x ¼ xðh3 Þ ¼ r  en~3 h3 y3 :
546 € zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O

en~1 h1 y1 ¼ x  en~2 h2 y2 : ðG:5Þ


This equation can be solved similarly as Eq. (F.5) of Appendix F so that
h1 ¼ f1 ðh3 Þ and h2 ¼ f2 ðh3 Þ: ðG:6Þ
To complete the solution, h3 can be determined numerically from the following equation, which is
obtained by multiplying both sides of Eq. (G.2) by nt3 :
nt3 en~1 h1 y1 þ 
fo ðh3 Þ ¼  nt3 en~2 h2 y2 þ 
nt3 ðy3  rÞ ¼ 0: ðG:7Þ

Appendix H

The following equation with j


uj ¼ jvj ¼ j
wj ¼ 1 is to be solved for /; h, and w:
eu~/ ev~hx ¼ y þ ew~wz: ðH:1Þ
It is assumed that u~v 6¼ 
0, v~x 6¼  ~z 6¼ 
0, w ~y 6¼ 0. Otherwise, Eq. (H.1) would degenerate into
0, and w
a simpler form rendering some or all of /; h, and w arbitrary.
In order to find w, each side of Eq. (H.1) can be multiplied by its transpose. Hence, the fol-
lowing equation is obtained, which can be solved similarly as Eq. (C.5) of Appendix C:
y t ew~wz ¼ h1 ¼ ðxtx  y t y  ztzÞ=2: ðH:2Þ
After w, in order to find h, Eq. (H.1) can be written as follows with r ¼ y þ ew~wz:
eu~/ ev~hx ¼ r: ðH:3Þ
Premultiplication of this equation by ut at both sides leads to the following equation, which can
also be solved similarly as Eq. (C.5) of Appendix C.
ut ev~hx ¼ h2 ¼ 
 utr: ðH:4Þ
After w and h, in order to find /, Eq. (H.3) can be written as follows with p ¼ ev~hx:
eu~/ 
p ¼ r: ðH:5Þ
Hence, the solution for / can be obtained as in Appendix B, unless any singularity is encountered
p¼
due to an occurrence such as u~ p ¼ r.
0 or 

Appendix I

The following equation with j


uj ¼ jvj ¼ j
wj ¼ 1 is to be solved for /; h, and s:
eu~/ ev~hx ¼ y þ s
w: ðI:1Þ
The variable s can be determined by solving the following equation, which is obtained by mul-
tiplying each side of Eq. (I.1) by its transpose:
s2 þ 2ðy t w
 Þs þ ðy t y  xtxÞ ¼ 0: ðI:2Þ
€ zg€oren / Mechanism and Machine Theory 37 (2002) 511–547
M. Kemal O 547

 Þ2  ðy ty  xtxÞ ¼ xtx þ y t w


If ðy t w ~ 2y P 0, s can be obtained as a real number. Then, Eq. (I.1) can
be written as follows with r ¼ y þ s w:
eu~/ ev~hx ¼ r: ðI:3Þ
This equation can be solved for / and h similarly as Eq. (H.3) of Appendix H provided that
u~v 6¼ 
0, v~x 6¼ 
0, and ~xr 6¼ 
0.

References

[1] H.Y. Lee, C. Woernle, M. Hiller, A complete solution for the inverse kinematic problem of the general 6R robot
manipulator, ASME Journal of Mechanical Design 113 (1991) 481–486.
[2] H.Y. Lee, C.F. Reinholtz, Inverse kinematics of serial-chain manipulators, ASME Journal of Mechanical Design
118 (1996) 396–404.
[3] D. Kohli, M. Osvatic, Inverse kinematics of general 6R and 5R,P serial manipulators, ASME Journal of
Mechanical Design 115 (1993) 922–931.
[4] M. Raghavan, B. Roth, Inverse kinematics of the general 6R manipulator and related linkages, ASME Journal of
Mechanical Design 115 (1993) 502–508.
[5] D. Manocha, J.F. Canny, Efficient inverse kinematics for general 6R manipulators, IEEE Transactions on
Robotics and Automation 10 (1994) 648–657.
[6] M.K. O € zg€
oren, Optimization of manipulator motions, in: Second CISM-IFTOMM Symposium on Theory and
Practice of Robots and Manipulators, Warsaw, Poland, 1976.
[7] M.K. O€ zg€oren, Application of exponential rotation matrices to the kinematic analysis of manipulators, in: Seventh
World Congress on the Theory of Machines and Mechanisms, Sevilla, Spain, 1987.
[8] M.K. O € zg€
oren, Some remarks on rotation matrices and associated angular velocities, Mechanisms and Machine
Theory 29 (1994) 933–940.
[9] M.K. O € zg€
oren, Kinematic analysis of a manipulator with its position and velocity related singular configurations,
Mechanism and Machine Theory 34 (1999) 933–940.
[10] M.K. O € zg€
oren, Kinematic analysis of spatial mechanisms using exponential rotation matrices, in: Tenth World
Congress on the Theory of Machines and Mechanisms, Oulu, Finland, 1999.
[11] T. Balkan, M.K. O € zg€
oren, M.A.S. Arikan, H.M. Baykurt, A method of inverse kinematic solution including
singular and multiple configuration for a class of robotic manipulators, Mechanism and Machine Theory 35 (2000)
1221–1237.
[12] T. Balkan, M.K. O € zg€
oren, M.A.S. Arikan, H.M. Baykurt, A kinematic structure-based classification and
compact kinematic equations for six-dof industrial robotic manipulators, Mechanism and Machine Theory 36
(2001) 817–832.
[13] J.M. Herve, Intrinsic formulation of problems of geometry and kinematics of mechanisms, Mechanism and
Machine Theory 17 (1982) 179–184.
[14] J.M. Herve, The Lie group of rigid body displacements, a fundamental tool for mechanism design, Mechanism and
Machine Theory 34 (1999) 719–730.
[15] R.W. Brockett, Robotic manipulators and the product of exponential formula, in: Proceedings of the International
Symposium on Mathematical Theory of Networks and Systems, Springer, Berlin, 1984, pp. 120–127.
[16] R.N. Murray, Z. Li, S.S. Sastry, A Mathematical Introduction to Robotic Manipulation, CRC Press, London,
1994.
[17] J. Duffy, Analysis of Mechanisms and Robot Manipulators, Wiley, New York, 1980.

You might also like