You are on page 1of 153

Analysis of spatial serial manipulators

using kinematic mapping


Martin Pfurner
Doctoral Thesis
Institute for Basic Sciences in Engineering
Unit Geometry and CAD
University of Innsbruck, Austria
email: martin.pfurner@uibk.ac.at
October, 2006
A thesis submitted to the Faculty of Civil Engineering
in partial fullment of the requirements of the degree of
Doctor of technical sciences.
c _Martin Pfurner, 2006
Abstract
The inverse kinematics of general serial 6R-manipulators is an old and well investigated
problem. In a series of scientic papers this problem has been solved using dierent
methods. In most of the papers the problem is cast into sets of equations which are
manipulated and then numerically solved. It is interesting to observe that most of the
existing solutions lack of geometric insight to the problem. This was the main motiva-
tion to revive the problem. The main goal of this thesis is to nd the simplest set of
polynomial equations describing the inverse kinematics problem using geometric prepro-
cessing.
In the geometric preprocessing we adopt the kinematic image space, introduced by
Blaschke and Study, and describe mechanical constraints by sets of algebraic equations.
The most important manifold described with this algorithm is the manifold belonging
to the sets of end eector poses of a generic 3R-manipulator. It turns out that this
manifold is the intersection of a one parameter set of 3-spaces with the basic quadratic
manifold (Study quadric) in the image space. These one parameter sets of 3-spaces are
known in multi-dimensional geometry as Segre manifolds. They can be described as
intersections of four projectively coupled pencils of hyperplanes.
The action of transformations T in E
3
on the image space coordinates of an arbitrary
transformation A is studied in order to nd the simplest mathematical representations
of the hyperplanes. It turns out that T acts as linear operator on the image space co-
ordinates of A. The entries of the corresponding 8 8 matrix depend only linearly of
the image space coordinates of T. This approach allows a fully general representation
of the hyperplane equations, i.e. without specifying the design parameters (Denavit
Hartenberg parameters) with numerical values.
The representation of 3R-chains in the image space is then the main tool for the newly de-
veloped algorithm for the solution of the inverse kinematics of general 6R-manipulators.
Fixing the end eector of a 6R-chain makes this chain rigid. The main idea of the
proposed inverse kinematics algorithm is to open this chain between third and fourth
revolute axis. Two coordinate systems
L
and
R
are attached to both ends of the so
i
generated 3R-sub-chains. One of the chains is xed in the base system and the other
one is xed in the end eector system.
L
and
R
will coincide in some discrete poses
which are then solutions of the inverse kinematics problem. The mathematical version of
this geometric algorithm yields a simple set of algebraic equations. It is shown that this
system is linear in all but two variables. The solution of this system is straightforward
and yields almost immediately the well known univariate polynomial of degree 16 in one
of the unknowns. This algorithm is therefore a big advance compared to all existing
ones.
As a by-product this algorithm allows the mathematical description of coupler motions
of overconstrained closed 6R-mechanisms. In this case the system of equations does
not give a discrete set of solutions, it yields a whole continuum. It is shown that all
input-output equations of such a chain can be solved generally and in closed form.
ii
Kurzfassung
Die inverse Kinematik von allgemeinen seriellen Manipulatoren mit sechs Drehachsen
(6R-Manipulatoren) ist in einer Reihe von wissenschaftlichen Arbeiten untersucht, ver-
feinert und auf vielfaltigste Arten gelost worden. Aber in all diesen Arbeiten wurden
immer nur die Gleichungen, die dieses Problem beschreiben, betrachtet, vereinfacht und
meist numerisch gelost, ohne dabei die Geometrie dieses Problems zu betrachten. Dies
ist die Motivation die inverse Kinematik noch einmal neu aufzurollen, einer genauen ge-
ometrischen Untersuchung zuzuf uhren mit der Intention, das einfachste Gleichungssys-
tem zu nden, das dieses Problem mathematisch beschreibt.
Bei der geometrischen Vorbehandlung und der Suche nach dem einfachsten beschreiben-
den Gleichungssystem f ur die mathematische Beschreibung der inversen Kinematik von
allgemeinen 6R-Manipulatoren werden in der vorliegenden Arbeit die Mannigfaltigkeiten
studiert, welche die Bewegung des Endeektors eines 3R-Manipulators in einem sieben
dimensionalen Parameterraum, dem so genannten kinematischen Bildraum, beschreiben.
Wesentliche Idee dieser Beschreibung ist, dass die freie Bewegung eines Endeektors
durch mechanische Zwange eingeschrankt wird, und diese Zwange im kinematischen Bil-
draum durch algebraische Gleichungen in den Koordinaten dieses Raumes (den Study
Parametern) beschrieben werden. Es stellt sich heraus, dass die auftredenden Man-
nigfaltigkeiten Schnitte einer einparametrigen Schar von 3-Raumen, einer so genan-
nten Segre Mannigfaltigkeit, mit einer quadratischen Grundmannigfaltigkeit, der Study-
quadrik, sind. Es wird gezeigt, dass die Segre Mannigfaltigkeit als Schnitt von vier
projektiv gekoppelten Hyperebenenb uscheln erzeugt werden kann.
Als methodisch wesentliches Instrument zur einfachen Darstellung der Hyperebenen wird
der Einuss einer Koordinatentransformation T im E
3
auf die Study Parameter einer
beliebigen anderen Transformation A studiert. Dabei stellt sich heraus dass T als lin-
earer Operator auf die Study Parameter von A wirkt, wobei die Matrixeintrage der
zugehorigen 88 Matrix nur linear von einem der Study Parameter von T abhangig sind.
Dadurch ist es moglich die Segre Mannigfaltigkeit in voller Allgemeinheit darzustellen,
d.h. ohne auch nur einen der Design Parameter (Denavit-Hartenberg Parameter) des
iii
Manipulators numerisch festzulegen. Die Darstellungen der 3R-Ketten im Parameter-
raum werden dann zur Losung der inversen Kinematik von 6R-Manipulatoren verwendet.
Wird die Endeektorlage einer 6R-Kette fest gehalten, dann ist dieser Manipulator im
allgemeinen starr. Wenn nun aber die Verbindung zwischen der dritten und vierten
Achse aufgebrochen wird, und genau in diesem Bruch zwei Kopien eines Koordinaten-
systems jeweils mit dritter bzw. vierter Achse fest verbunden werden (
L
und
R
),
dann entstehen daraus zwei oene 3R-Ketten. Eine dieser Ketten ist in der Basis des
6R-Manipulators xiert, wahrend die andere durch die Endeektorlage xiert wird. Die
Endeektoren dieser beiden Ketten werden durch zwei Koordinatensysteme
L
bzw.
R
beschrieben. Die oenen 3R-Ketten haben die Eigenschaft, dass in einigen Positionen die
sie beschreibenden Koordinatensysteme in Position und Orientierung ubereinstimmen.
Dann kann die zuvor getrennte Verbindung wieder geschlossen werden und man erhalt
Losungen der inversen Kinematik von 6R-Manipulatoren. Die mathematische Umset-
zung dieses geometrischen Losungsalgorithmus liefert ein algebraisches Gleichungssys-
tem, das im Vergleich mit allen bisherigen Losungsansatzen sehr einfach ist. In der Ar-
beit wird gezeigt, dass bis auf zwei Parameter alle anderen auftretenden Variablen linear
gelost werden konnen. Die Losung dieses Systems ist unkompliziert und liefert fast un-
mittelbar das wohlbekannte Polynom vom Grad 16 in einer der Unbekannten. Dies ist
eine wesentliche Verbesserung im Vergleich zu allen bisherigen Losungsverfahren.
Sozusagen als Nebenprodukt wird eine Beschreibung der Koppelbewegung von uber-
geschlossenen 6R-Mechanismen erhalten. Dies sind Mechanismen, die theoretisch starr
sind aber auf Grund ihrer speziellen Abmessungen beweglich werden. Falls einer dieser
Mechanismen einen Freiheitsgrad besitzt konnen alle Drehwinkel als algebraische Funk-
tionen eines einzigen, des sogenannten Eingangswinkels, dargestellt werden. Es wird
gezeigt, dass die

Ubertragungsfunktionen f ur jeden beliebigen ubergeschlossenen 6R-
Mechanismus allgemein berechnet werden konnen.
iv
Contents
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Kurzfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
List of abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Authors publications and presentations . . . . . . . . . . . . . . . . . . . . . xii
List of gures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
List of tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
1. Introduction 1
1.1. Serial manipulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Organization of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Claim of originality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. Previous work and motivation 7
3. Mathematical framework 14
3.1. Tangent of the half-angle substitution . . . . . . . . . . . . . . . . . . . . 14
3.2. Elimination theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.1. Resultants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4. Geometry 20
4.1. Systematics of spatial linkages . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.1. Formula of Gr ubler, Kutzbach, Tschebysche . . . . . . . . . . . 21
4.2. Parameterization of the Euclidean displacements . . . . . . . . . . . . . . 22
4.2.1. Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.2. Dual quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.3. Studys kinematic mapping . . . . . . . . . . . . . . . . . . . . . 29
4.3. Transformations in P
7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.1. Coordinate transformation of the base frame . . . . . . . . . . . . 35
v
Contents
4.3.2. Coordinate transformation of the moving frame . . . . . . . . . . 35
4.3.3. Properties of T
b
and T
m
. . . . . . . . . . . . . . . . . . . . . . . 36
4.4. Denavit Hartenberg parameters . . . . . . . . . . . . . . . . . . . . . . . 38
4.5. Direct and inverse kinematics . . . . . . . . . . . . . . . . . . . . . . . . 42
5. Constraint manifolds 44
5.1. Constraint manifold of a canonical serial 2R-chain . . . . . . . . . . . . . 47
5.1.1. Fix u
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1.2. Fix u
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.3. Fix u
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2. Constraint manifold of a canonical serial 3R-chain . . . . . . . . . . . . . 51
5.2.1. Variation of u
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2.2. Variation of u
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.3. Variation of u
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2.4. Special cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.3. Constraint manifold of a general serial 3R-chain . . . . . . . . . . . . . . 62
5.3.1. Version Nr.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3.2. Version Nr.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.4. Properties of the constraint manifolds . . . . . . . . . . . . . . . . . . . . 65
5.4.1. Dierent representations of the Segre manifold . . . . . . . . . . . 67
5.4.2. Properties of the Segre manifolds . . . . . . . . . . . . . . . . . . 69
6. Inverse kinematics of the general 6R-mechanism 73
6.1. Simplication of the problem . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.1.1. Segre manifold of the left 3R-chain . . . . . . . . . . . . . . . . . 75
6.1.2. Segre manifold of the right 3R-chain . . . . . . . . . . . . . . . . 76
6.2. Solution of the inverse kinematics . . . . . . . . . . . . . . . . . . . . . . 79
6.3. Algebraic structure of the problem . . . . . . . . . . . . . . . . . . . . . 79
6.4. Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.5.1. Example of Raghavan and Roth [75] . . . . . . . . . . . . . . . . 85
6.5.2. Example of Manseur and Doty [53] . . . . . . . . . . . . . . . . . 91
6.5.3. Example of Manocha and Zhu [51]: Puma 762 . . . . . . . . . . . 97
7. Overconstrained 6R-mechanisms 102
7.1. Analysis of overconstrained serial 6R-chains . . . . . . . . . . . . . . . . 104
vi
Contents
7.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.2.1. Bricards orthogonal chain . . . . . . . . . . . . . . . . . . . . . . 106
8. Conclusions 111
8.1. Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.2. Suggestions for future research . . . . . . . . . . . . . . . . . . . . . . . . 111
A. One parameter sets of 3-spaces 122
A.1. T(v
1
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
A.2. T(v
2
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
A.3. T(v
3
) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
B. Files on CD-Rom 134
B.1. General structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
B.1.1. Directory maple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
B.1.2. Directory publications . . . . . . . . . . . . . . . . . . . . . . . . 135
C. Curriculum vitae 137
vii
Acknowledgments
My greatest thank is addressed to my supervisor Prof. Manfred Husty for his
support during the last few years. The basis, on which this thesis was build on,
grew in his mind and he always found time for conversation in his fully booked
date book.
I would also like to acknowledge Prof. Bernard Roth, my co-examiner, for his
valuable comments on this thesis.
I am greatly indebted to Hans-Peter Schrocker. He always listened patiently to my
questions and tried to answer in a way I could understand. Furthermore I want to
thank him for his valuable comments on the thesis and for thoroughly proofreading
the manuscript.
I would also like to acknowledge Katrin Brunnthaler, who got a very good friend
throughout our master study and our common years in the same oce. Our
conversations were an inherent part in the not always easy time at work.
I would like to thank all of the people at our Institute. It is always a comfortable
atmosphere and I always enjoyed the time at our coee break with the very deli-
cious cakes, most of the time baked by Carina Wibmer, who is the good mind at
work.
Ich mochte auch ganz speziell meinen Eltern Maria und Josef, meinen Groel-
tern und meiner Schwester mit ihrer Familie danken. Ihre Unterst utzung, ihr
Verst undnis, ihr Vertrauen und die Sicherheit, die eine Familie gibt, haben meinen
Weg ermoglicht.
Weiters mochte ich diesen Dank auch an die Familie meiner Frau richten, in der
ich sehr herzlich aufgenommen wurde und in der ich mich sehr wohl f uhle.
Finally I wish to thank my family. My wife Monika did not only give me her love,
she accepted privations just that I could live my dream. Her patience and her
viii
Contents
emotional support did always motivate me to go further. I do also want to thank
my sons Sebastian and Daniel. Sebastian for his daily question: Wann kommst
du wieder nach Hause? and Daniel for his beck when I left, and for their pleasure
when I came home after work.
ix
List of abbreviations
EE . . . . . . . . . . . . . . . . . . . . . . The end eector of the manipulator
pose . . . . . . . . . . . . . . . . . . . . position and orientation of a coordinate frame in E
3
dof . . . . . . . . . . . . . . . . . . . . . . degree of freedom
E
2
. . . . . . . . . . . . . . . . . . . . . . the Euclidean plane
E
3
. . . . . . . . . . . . . . . . . . . . . . the Euclidean 3-space
SE(2) . . . . . . . . . . . . . . . . . . . group of planar Euclidean displacements
SE(3) . . . . . . . . . . . . . . . . . . . group of Euclidean displacements in E
3
SO(3) . . . . . . . . . . . . . . . . . . . group of rotations in E
3
A . . . . . . . . . . . . . . . . . . . . . . . matrix (bold capital letter)
[A[ . . . . . . . . . . . . . . . . . . . . . determinant of the matrix A
a . . . . . . . . . . . . . . . . . . . . . . . vector (bold small letter)
|a| . . . . . . . . . . . . . . . . . . . . . norm of the vector a
H . . . . . . . . . . . . . . . . . . . . . . . set of quaternions
U . . . . . . . . . . . . . . . . . . . . . . . set of normalized quaternions
D . . . . . . . . . . . . . . . . . . . . . . . ring of dual numbers
H
d
. . . . . . . . . . . . . . . . . . . . . . set of dual quaternions
U
d
. . . . . . . . . . . . . . . . . . . . . . set of normalized dual quaternions
V . . . . . . . . . . . . . . . . . . . . . . . set of dual quaternions of the form R = 1 + r
x
P . . . . . . . . . . . . . . . . . . . . . . . quaternion
|P| . . . . . . . . . . . . . . . . . . . . . norm of the quaternion P
I . . . . . . . . . . . . . . . . . . . . . . . complex unity
SM
ic
. . . . . . . . . . . . . . . . . . . . Segre Manifold of a canonical 3R-chain where the
tangent half-angle of the ith joint is the 3-space
parameter angle of the ith revolute joint
angle of the ith revolute joint
SM
i
. . . . . . . . . . . . . . . . . . . . Segre Manifold of an arbitrary 3R-chain where the
tangent half-angle of the ith joint is the 3-space
parameter angle of the ith revolute joint
DH Parameter . . . . . . . . . . Denavit-Hartenberg Parameter
P
7
. . . . . . . . . . . . . . . . . . . . . . the kinematic image space

0
. . . . . . . . . . . . . . . . . . . . . . coordinate frame attached to the base

i
. . . . . . . . . . . . . . . . . . . . . . coordinate frame attached to the i-th link
of the manipulator
canonical manipulator . . . manipulator where the rst axis coincides
with the z-axis of the
base frame and the DH parameter d
1
= 0
S
2
6
. . . . . . . . . . . . . . . . . . . . . . the Study quadric
exceptional generator . . . 3-space P
7
, given by x
0
= x
1
= x
2
= x
3
= 0
T . . . . . . . . . . . . . . . . . . . . . . . polynomials (calligraphic letters)
xi
Authors publications and presentations
Conference proceedings: M. Husty, M. Pfurner, H.-P. Schrocker
A new and ecient algorithm for the inverse
kinematics of a general serial 6R manipulator
Proceedings of ASME 2005,
29th Mechanisms and Robotics Conference,
Long Beach, California, September 2005
K. Brunnthaler, M. Pfurner, M. Husty
Synthesis of planar four-bar mechanisms
Proceedings of MUSME 2005,
Uberlandia, Brazil, March 2005
M. Pfurner, M. Husty
A Method to Determine the Motion of
Overconstrained 6R-Mechanisms
Submitted to 12th IFToMM World Congress,
Besancon, France, June 2007
Journal papers: K. Brunnthaler, M. Pfurner, M. Husty
Synthesis of planar four-bar mechanisms
Transactions of the Canadian Society for
Mechanical Engineering, Vol. 30, No.2, p. 297-313
xii
M. Husty, M. Pfurner, H.-P. Schrocker
A new and ecient algorithm for the inverse
kinematics of a general serial 6R manipulator
Mechanism and Machine Theory,
accepted for publication, available online, 2006
Public talks: Ein neuer und ezienter Algorithmus zur inversen
Kinematik von allgemeinen 6R Robotern
31. Bayerisch-Tirolerisches Mechanik Kolloquium
Innsbruck, July 2006
Thesis: M. Pfurner
Falllinien auf Drehachen mit geneigter Achse
Master thesis, TU Graz, September 2002
List of Figures
1.1. Typical serial manipulator (painting robot from ABB) . . . . . . . . . . 1
1.2. Typical parallel manipulator (Stewart-Gough platform from PI) . . . . . 2
1.3. Kinematic scheme of a general 6R-mechanism . . . . . . . . . . . . . . . 3
1.4. PUMA like robot from Staubli . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5. Serial manipulators used in car industry . . . . . . . . . . . . . . . . . . 4
1.6. Packing robot from ABB . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7. Robocoaster of KUKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1. A general Euclidean displacement . . . . . . . . . . . . . . . . . . . . . . 22
4.2. Symbolic sketch of the Study quadric . . . . . . . . . . . . . . . . . . . . 30
4.3. Relative position of two lines in space . . . . . . . . . . . . . . . . . . . . 39
4.4. Home position of a 6R-mechanism . . . . . . . . . . . . . . . . . . . . . . 40
4.5. Coordinate frames attached to a general nR-mechanism . . . . . . . . . . 41
5.1. Canonical 3R-manipulator . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2. Canonical 2R-mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3. General 3R-serial-chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4. Symbolic sketch of SM
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.1. Cutting of the 6R into two 3R serial chains . . . . . . . . . . . . . . . . . 75
6.2. Coordinate frames of the right 3R-chain . . . . . . . . . . . . . . . . . . 77
7.1. Turbula T2F Heavy-Duty Shaker-Mixer (Willy A. Bachofen AG) . . . . . 103
7.2. Motion of the coupler system . . . . . . . . . . . . . . . . . . . . . . . . 110
xiv
List of Tables
4.1. Quaternion multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.1. DH parameters of the example of Raghavan and Roth . . . . . . . . . . . 86
6.2. The 16 sets of solutions of the example of Raghavan and Roth (in degrees) 91
6.3. DH parameters of the example of Manseur and Doty . . . . . . . . . . . 92
6.4. The 16 real sets of solutions of the example of Manseur and Doty (in
degrees) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.5. DH parameters of the example of Manocha and Zhu . . . . . . . . . . . . 98
6.6. The 8 sets of solutions of the example of the Puma 762 (in degrees) . . . 101
7.1. DH parameters of Bricards orthogonal chain . . . . . . . . . . . . . . . . 107
xv
1. Introduction
Mechanical systems that allow a rigid body (the end eector) to move with respect
to a xed base play a very important role in numerous applications. The position and
orientation of the end eector can be described with the help of the relative position and
orientation of a coordinate frame, attached to the end eector, with respect to the base.
Such mechanical systems, also called manipulators, can be divided into three classes by
their structure:
Serial manipulators: Such manipulators resemble the human arm. They are xed with
one link, the base, in E
3
. Each of the following links is connected via joints to
two other links, except the last, which is connected to only one and called the
end eector. Such manipulators nd attention in this thesis. A typical serial
manipulator is shown in Fig. 1.1
Figure 1.1.: Typical serial manipulator (Painting robot from ABB, www.abb.com)
1
1. Introduction
Parallel manipulators: They can be seen as an assemblage of serial manipulators work-
ing together on one tool plate. Therefore the investigations on serial manipulators
are also useful for parallel mechanisms. A typical parallel mechanism is a Stewart-
Gough platform as shown in Fig. 1.2. An overview on the state of the art in
research on parallel manipulators is given in Merlet [65].
Figure 1.2.: Typical parallel manipulator (Stewart-Gough platform from PI,
www.physikinstrumente.com)
Hybrid manipulators: They consist of parallel and serial manipulators in combination.
1.1. Serial manipulators
Geometrically a serial mechanism consists of n links and adjacent links are connected
via joints, which are in general revolute or prismatic joints. Typically, one actuator is
used to control the motion of each joint and the joint displacements are kinematically
independent of each other. The rst joint is xed in E
3
in the so called base frame.
The last link carries the tool that the manipulator is working with, and is called the end
eector (EE). A spatial serial mechanism with six joints, where the axes of the joints
are linearly independent and at least three revolute joints exist, is able to provide the
EE with the full six degrees of freedom (dof) in E
3
. A schematic sketch of a serial
manipulator with six revolute joints is shown in Fig. 1.3.
2
1. Introduction
Figure 1.3.: Kinematic scheme of a general 6R-mechanism
One of the most famous serial manipulators is the PUMA (Programmable Universal
Machine for Assembly), introduced by Unimation. A mechanism that has the Puma
architecture is shown in Fig 1.4.
Figure 1.4.: PUMA like robot from Staubli, www.staubli.com
Serial manipulators are used in various applications in industry. For example in car
industry for assembly jobs, welding, painting or just moving heavy parts (Figure 1.5).
Another application is picking and packing (Figure 1.6). One can say that robots are
used in industry in elds that are dangerous or at least unhealthy for people, to carry
things that are too heavy or to do automated work.
3
1. Introduction
Figure 1.5.: Serial manipulators used in car industry (left: assemblage by KUKA robots,
www.kuka.com, right: weld robots in Ford Motor Company, www.ford.com)
Even entertainment industry uses serial manipulators for example to spin people
Figure 1.6.: Packing robot from ABB, www.abb.com
through space like the Robocoaster of KUKA does in Figure 1.7.
1.2. Organization of the thesis
Chapter 2 gives an overview of the developments of the inverse kinematics problem and
the motivation for this thesis. After introducing some mathematical framework in Chap-
ter 3, a short introduction to spatial linkages and representations of spatial displacements
is given in Chapter 4. Furthermore this chapter describes the eect of a coordinate trans-
formation in the Euclidean space on the Study parameters of a mechanism. In Chapter
4
1. Introduction
Figure 1.7.: Robocoaster of KUKA, www.robocoaster.com
5 the constraint manifolds of canonical and arbitrary 3R-chains are developed. In this
thesis, a mechanism is called canonical if the rst axis is coincident with the z-axes of
the base frame and the rst oset (see Section 4.4) is zero. The constraint manifolds are
used in Chapter 6 to establish a new and ecient algorithm for the inverse kinematics
of 6R-serial-chains. Within this chapter the new algorithm is applied to a few examples.
Chapter 7 uses the solution of the inverse kinematics problem to obtain the motion and
the input-output equations of overconstrained 6R-mechanisms. These equations can be
obtained algebraically. Chapter 8 gives conclusions about the presented work and points
out questions which are open for further research. In Appendix A the algebraic repre-
sentation of the constraint manifold of a general 3R-mechanism is presented. Appendix
B gives an overview about the le structure of the attached CD-Rom.
1.3. Claim of originality
The author claims the originality of ideas and results presented here, the main contri-
butions being listed below.
1. The rediscovery of computations of the Study parameters presented by Study [87].
2. The description and the properties of a coordinate transformation in the base or
moving frame of the manipulator in the kinematic image space P
7
in Section 4.3.
5
1. Introduction
3. The coordinate functions of the parametric representation of the constraint mani-
fold of general serial nR-manipulators are multi linear functions in tangents of the
half-angles of its revolute joints (Theorem 5.1).
4. The constraint manifold of canonical 2R-chains, with known pose of the EE coor-
dinate frame in Section 5.1.
5. The constraint manifold of canonical and general 3R-chains for arbitrary design of
the manipulator, i.e. without setting any DH parameter, in Sections 5.2 and 5.3
and the properties of this manifold.
6. The solution of the inverse kinematics presented in Chapter 6 is in few parts similar
to the algorithm presented in Husty et al. [36]. But major aspects are new.
7. Algebraic computation of the motion and the input-output equations of overcon-
strained 6R-chains in Chapter 7 with help of the inverse kinematics solution of
Chapter 6.
6
2. Previous work and motivation
The inverse kinematics problem for open loop 6R-manipulators is equivalent to the
displacement analysis of seven link 7R closed loop mechanisms. In the second case
one angle is the input angle and all others depend on it. If this input angle is xed the
remaining mechanism can be seen as a 6R-manipulator with a given EE pose. Kinematics
of serial manipulators have been studied for at least three decades, while the analysis of
spatial mechanisms extends back a century.
Within these years a tremendous amount of papers and books were published concerning
this problem. It is not possible to list and comment on all publications and therefore
only an overview of the developments of this topic is given here in chronological order:
1968: Pieper [70] was the rst who formulated the inverse kinematics problem of serial
six axes manipulators and derived solutions for the inverse kinematics as the roots
of a univariate polynomial for decoupled mechanisms. For manipulators with gen-
eral geometry he proposed iterative numerical techniques. Pieper showed that a
naive elimination strategy would lead to a univariate polynomial of degree 524288.
He also was the rst to present an example of a 6R-manipulator with 16 real
solutions.
1973: Roth et al. [81] showed that the inverse kinematics problem has to have at most
32 solutions. The proof is based on arguments from synthetic geometry and was
non-constructive.
Freudenstein [26] called the problem to obtain closed form, algebraic solutions of
the input-output displacement of the general, single-loop, single-degree-of-freedom
spatial 7R-mechanism the Mount Everest kinematics problem.
1979: Albala and Angeles [1] presented the rst constructive solution of this problem.
They developed a 12 12 determinant whose entries were quartic polynomials in
the tangent of the half-angle of the joint variables.
7
2. Previous work and motivation
1980: Duy and Crane [23] provided a solution by combining spherical trigonometry
and dyalitic elimination to obtain a polynomial of degree 32 in the tangent of the
half-angle of one of the joint variables. This polynomial always yielded extraneous
or false roots in addition to the desired ones.
In his book Duy [22] also presented lower degree polynomials for a wide variety
of special cases involving prismatic or cylindric joints as well as for the closed-loop
7R case where three consecutive axes are parallel or intersecting.
1985: Tsai and Morgan [90] cast the problem as eight second degree polynomials and
used homotopy continuation to solve the inverse kinematics problem. They found
only 16 solutions for various 6R-manipulators and conjectured that this problem
has at most 16 solutions.
Pennock and Yang [69] applied the theory of dual number matrices to the de-
scription of the motion of a 6R-chain in E
3
and obtained closed-form solutions for
the joint displacements of mechanisms with special geometry.
Keler and Jucha [41] developed an algorithm to derive the joint parameters approx-
imately. But this algorithm was not very fast and the authors did not recognize
or at least did not cite the publications already existing at that time.
Within the same year Angeles [2] used invariants of the rotational part of the
displacement and a recursive scheme, similar to Horners for polynomial evalua-
tion, to reduce the number of equations. He therefore obtained more eciency in
the numerical solution.
Goldenberg et al. [30] presented an iterative solution based on a nonlinear optimiza-
tion algorithm which uses a modied Newton-Raphson technique. This algorithm
could be applied to every mechanism with revolute and prismatic joints.
1986: Primrose [72] proved the conjecture of Tsai and Morgan [90], that the solution
of the input-output equation of the serial closed loop 7R-mechanism of general
geometry has at most 16 solutions over C using projective geometry.
1987: Lee and Liang [44] presented the displacement analysis of the spatial seven-link
6R-P manipulator. This approach is based on that of Duy and Crane [23].
8
2. Previous work and motivation
Mahalingam and Sharan [49] used a complex method for optimization. The advan-
tage of this algorithm is that among all possible solutions the solution that needs
minimum movement of the links is obtained.
1988: The already mentioned paper of Lee and Liang [44] and the vector theory pre-
sented in Lee and Liang [46] were the basis for the rst correct and complete
solution of the inverse kinematics problem by Lee and Liang [45]. Extensions of
Duys method together with dialytic elimination allowed them to obtain a 16th
degree polynomial in the tangent of the half-angle of one of the joint variables.
Manseur and Doty [52] simplied the equations by dividing the basic equations
into position and orientation equations. Afterwards they used an iterative proce-
dure to solve the inverse kinematics for manipulators where no closed form solution
could be found.
Woernle was the rst who pointed out in his PhD Thesis [95], that algebraic
computations, executed on the matrices describing the forward kinematics of a
manipulator in many publications, are geometrically decompositions of the 6R-
manipulator into 3R-sub-chains.
Poon and Lawrence [71] produced an iterative procedure for the inverse position
analysis of 12 well known manipulator structures which is well conditioned around
singularities.
1989: Manseur and Doty [53] presented a 6R-manipulator with 16 real solution sets for
the inverse kinematics problem obtained using their equations.
1990: Raghavan and Roth [75] presented the second complete solution to this problem.
They used a description based on Denavit Hartenberg notation [18] and divided
the manipulator, only algebraically, to obtain a set of nonlinear algebraic equa-
tions. Clever eliminations yielded a 16th degree polynomial in the tangent of the
half-angle of one of the joint variable. This solution is the basis for most of the
later developments.
Smith and Lipkin [86] concluded that the high degree of complexity found in the
techniques before limits their practical use. They therefore analyzed manipulators
9
2. Previous work and motivation
with fourth order inverse kinematics solutions, e.g. wrist partitioned robots. They
restated this problem as intersection problem of a pencil of conics and solved it.
1991: Wampler and Morgan [93] used an alternative approach to obtain two linear and
10 quadratic equations formulating the problem and solved it using polynomial
continuation.
Lee et al. [48] rewrote the solution of Lee and Liang [45] for the case of 6R-
manipulators.
Thomopoulos and Tam [89] used an iterative method based on numerical methods
for nonlinear algebraic equations to obtain the solutions of the inverse kinematics
problem for a prescribed trajectory of the tip of the manipulator.
1992: Manocha and Canny [50] used the equations of Raghavan and Roth [75] which are
quadratic in the tangent of the half-angle of joint three and formulated this prob-
lem as an Eigenvalue problem. Some symbolic preprocessing and certain checks for
condition numbers and degeneracy improved the numeric stability and accuracy
of the overall algorithm.
Mavroidis and Roth [58] presented manipulators which yield a univariate poly-
nomial of lower degree than 16.
1993: Raghavan and Roth [74] generalized their solution of 1990 to all serial chains,
open or closed, containing revolute, prismatic or cylindric joints.
Ghazvini [27] used the equations of Raghavan and Roth [75] which are linear in the
tangent of the half-angle of the third revolute joint and added more independent
equations which are linear in the same unknown. With this set he formulated the
inverse kinematics problem as a generalized Eigenproblem.
1994: Manocha and Zhu [51] presented a fast algorithm for the inverse kinematics prob-
lem. They took the equations of Raghavan and Roth [75] and reduced this problem
to the derivation of zeros of matrix polynomials and matrix pencils.
Mavroidis et al. [57] generalized the method of Raghavan and Roth [75]. They de-
veloped algorithms for the dierent possibilities to decompose the 6R-mechanism
10
2. Previous work and motivation
into two 3R-chains.
Recio and Gonzalez-Lopez [77] applied the theory of ideals to this problem. They
proved that the ideal corresponding to the general 6R-manipulator is real and
prime, what means that the usual inverse kinematic equations do not add redun-
dant solutions and that this ideal cannot be factorized.
Mavroidis and Roth [59] determined conditions on the design of the mechanism
that the univariate polynomila has a lower degree than 16 and therefore the inverse
kinematics yields less than 16 solutions over C.
1996: Manseur and Doty [56] presented a new algorithm to solve this problem based on
the closed form solution of the serial 4R- and 5R-chain presented in Manseur and
Doty [54] and [55]. In the second case they did only nd closed form solutions of
the 5R if at least two adjacent axes are parallel or do intersect. With the help of
these solutions they divided the manipulator into a 4R + 2R and 5R + 1R chain
and solved the rst part in closed form. The remaining manipulator is solved with
the help of a 2-dimensional (e.g. Newton-Raphson) and 1-dimensional iterative
numerical technique.
Lee and Reinholtz [47] reduced the number of basic equations to derive a uni-
variate polynomial for manipulators containing one or more prismatic joints.
1997: Zhang and Ding [99] applied a self organizing neural network to solve this prob-
lem.
Zanganeh [98] used an interactive approach to solve the inverse kinematics problem.
Based on the equations of Raghavan and Roth [75] he eliminated three unknowns
to obtain three bivariate equations in two unknowns. These were plotted in E
2
and the common intersections are the solutions for the inverse kinematics problem.
Regnier et al. [78] used a concept of multi agent systems from Distributed Articial
Intelligence to obtain solutions for the inverse kinematics problem. However this
is a rather slow numerical algorithm.
2000: Balkan et al. [6] used a semi-analytical method to solve this problem for a class
of robot manipulators in which four joint variables are contained in the wrist point
11
2. Previous work and motivation
equation, such as in the Fanuc Arc mate. For this case it is possible to express all
joint variables in terms of a selected one.
2001: Karsai [40] introduced a special transformation method for the combined repre-
sentation of the linear motions and their time derivatives and used this method to
obtain analytic and approximate solutions of the inverse kinematics problem.
Borboni [10] applied a new numerical algorithm based on fuzzy logic to this prob-
lem which was fast and reliable and converged in all the tested trials.
2002: Zoppi [100] presented an eective inverse kinematics algorithm for one special
painting robot based on a decomposition of this mechanism.

Ozgoren [68] used the number of parallel revolute joints and the position of pris-
matic joints to classify all possible 6 joint manipulators containig revolute and
prismatic joints. For each of these classes he mentioned a method to solve the
inverse kinematics problem.
2004: Chapelle and Bidaud [15] approximated the joint variable solutions of the inverse
kinematics with closed form analytical expressions which evolved from a Genetic
Programm. The average errors for a Puma robot were in a range of 10
4
rad and
for a GMF arc mate about 10
2
rad for the rst to 10
1
rad for the sixth revolute
angle.
2006: Based on Duy and Cranes [23] method, Wang et al. [94] solved the problem
using Groebner Bases.
Kalra et al. [38] used an evolutionary approach, based on a real-coded genetic
algorithm, on industrial robots to solve the inverse kinematics. Furthermore they
compared these solutions on the basis of their closeness in joint space to the cur-
rent robot conguration.
Husty et al. [36] had a deeper look at the geometry of this problem. The algorithm
and ideas behind their work will be, in a new way, a part of this thesis.
In all but the last publication the authors usually derived the equations using vector
theory or with help of the DH convention for serial chains. Afterwards these equations
were solved numerically or, in some cases previously simplied and then numerically
12
2. Previous work and motivation
solved. To the authors surprise the geometric structure of the problem was never really
revealed. This was the motivation to reassume this well developed eld and to sim-
plify the basic equations, that fully describe the inverse kinematics problem, applying
geometric insight before and during the computations with a modern computer algebra
system.
13
3. Mathematical framework
The revival of theoretical kinematics in the last decades depends crucially on the devel-
opment of strong mathematical tools provided by computer algebra systems. In former
times people working in theoretical kinematics had a deep insight into the mathematics
and geometry linked to kinematics and therefore were able to solve a lot of classical
problems. The emphasis in former times was given to planar and especially one degree
of freedom systems. Further development of theoretical kinematics turning to multi
degree of freedom systems and more complex mechanisms was restricted because of the
increasing complexity of equations describing these systems. At the beginning of the
20th century most mathematicians quit the research in theoretical kinematics because
of this reason. The advent of computer algebra systems, having the ability to handle
even highly complex systems of equations, has radically changed the situation. One can
apply algorithms, e.g. resultants or dialytic elimination, developed in the 19th century
to solve highly complicated problems.
The other reason for the newly developed interest is the advance in numerical math-
ematics and its implementation in terms of computer algorithms. All these new tools
facilitate to solving well known problems from the past and also facilitates developing
new techniques in mechanism analysis, synthesis and control of more and more complex
systems.
In the following subsections several of the mathematical techniques and algorithms
which will be applied in this thesis to mechanism analysis are summarized.
3.1. Tangent of the half-angle substitution
In the analysis of mechanical systems the mechanical properties are transformed into sets
of equations which usually contain functions of design parameters or motion parameters.
If these parameters are angles, the functions are trigonometric functions.
14
3. Mathematical framework
For computer algebra systems it is easier to handle algebraic equations than equations
containing trigonometric functions in one or more variables. In case of trigonometric
functions one always has to keep in mind the identity
sin
2
() + cos
2
() = 1
for an arbitrary angle . Tangent of the half-angle substitution is commonly used to
convert trigonometric functions (functions containing sines or cosines of one or more
variables) into rational polynomials of new variables. It is based on the elementary
trigonometric identities (see Bartsch [7])
(3.1) sin() =
2 tan
_

2
_
1 + tan
2
_

2
_, cos() =
1 tan
2
_

2
_
1 + tan
2
_

2
_, ,= (2k + 1), k Z
Substituting a new variable
(3.2) p = tan
_

2
_
into Eq. 3.1 yields the following identities for sine and cosine
sin() =
2p
1 + p
2
, cos() =
1 p
2
1 + p
2
.
These formulas dene a mapping of the points of the unit circle, parameterized by the
angle , to R . The inverse of this mapping is described by
(3.3) = 2 arctan(p)
Therefore the angle = 0 belongs to p = 0, =

2
to p = 1 and = to p = . It is
dicult to handle with a computer algebra system. If one has to substitute p =
into a polynomial

k
i=0
a
i
p
i
the limit for p is . But if the polynomials are
coordinate functions of a homogeneous vector with the same degree k then the ratio of
these functions converge to values unequal to . In every coordinate function one has
to look for the limit
lim
p
k

i =0
a
i
p
i
.
A division of all these coordinate functions by the highest power of p does not change
the point and yields in every coordinate
lim
p
k

i =0
a
i
p
ki
= a
k
.
15
3. Mathematical framework
In other words if one has to substitute p = into a the coordinate functions of a
homogeneous point then the result is that one has to take in every coordinate the
coecients of the largest power of p.
Lemma 3.1. If the angle has the algebraic value p = tan
_

2
_
then the angle has
the algebraic value p =
1
p
Proof.
(3.4)
p = tan

2
= tan
2 arctan(p)
2
By using the elementary identity
tan( ) =
tan() tan()
1 + tan() tan()
Eq. 3.4 gets
p = lim

2
tan () tan(arctan(p))
1 + tan () tan(arctan(p))
= lim

2
1
p
tan()
1
tan()
+ p
=
1
p
3.2. Elimination theory
Within this thesis it will very often be necessary to intersect algebraic varieties. Math-
ematically this means solving systems of equations. There is a wide eld of methods
to nd solutions. There exist algebraic ones, such as resultants or Grobner bases, or
numerical methods, like homotopy continuation or interval analysis. A deeper insight to
the theory of solving systems of polynomial equations is given in Sturmfels [88]. To solve
the systems of polynomial equations which come up in this thesis, resultant methods
were sucient. Therefore this approach will be recalled briey. A detailed introduction
is given by Cox et al. [17].
3.2.1. Resultants
Resultants are an ecient method to reduce systems of polynomial equations step by
step to a univariate polynomial.
If the two polynomials f, g are given as
f(x) = a
0
x
l
+ . . . a
l1
x + a
l
, a
0
,= 0, l > 0
g(x) = b
0
x
m
+ . . . b
m1
x + b
m
, b
0
,= 0, m > 0,
16
3. Mathematical framework
then the resultant of f and g is the (l + m) (l + m) determinant
(3.5) Res(f, g) =

a
0
b
0
a
1
a
0
b
1
b
0
a
2
a
1
.
.
.
b
2
b
1
.
.
.
.
.
. a
2
.
.
.
a
0
.
.
. b
2
.
.
.
b
0
a
l
.
.
.
.
.
.
a
1
b
m
.
.
.
.
.
.
b
1
a
l
a
2
b
m
b
2
.
.
.
.
.
.
.
.
.
.
.
.
a
l
b
m

,
where the blank spaces have to be lled with zeros. If and only if the two given poly-
nomials have a common root this determinant is zero. If it is not zero one knows, even
though the roots are not known, that they do not have common roots. A little example
will give more insight:
Let the two polynomials be
f(x) = x
3
+ 6x
2
13x 42
g(x) = x
2
+ 3x + 2.
The coecients substituted into Eq. 3.5 yields
Res(f, g) =

1 0 1 0 0
6 1 3 1 0
13 6 2 3 1
42 13 0 2 3
0 42 0 0 2

= 0.
Indeed, f and g can be factored into
f(x) = (x 3)(x + 2)(x 7),
g(x) = (x + 1)(x + 2)
and have therefore the root x = 2 in common.
For the application of this method to eliminate variables from systems of equations the
next example should help. Consider the equations
f(x, y) = x
2
y x
2
2xy + x + y 1,
g(x, y) = 3xy x + 5.
17
3. Mathematical framework
Deriving the resultant to eliminate the unknown x means reordering these polynomials
by powers of x and treating the factors of x
k
as coecients:
f(x, y) = (y 1)x
2
+ (2y + 1)x + (y 1),
g(x, y) = (3y 1)x + 5.
Substituting the coecients of the dierent powers of x into the determinant in Eq. 3.5
yields
Res
x
(f, g) =

y 1 3y 1 0
2y + 1 5 3y 1
y 1 0 5

= 9y
3
+ 15y
2
+ 7y 21.
The index indicates which of the variable is eliminated in this step. The roots of this
univariate polynomial (0.824, 1.245 1.131I, 1.245 + 1.131I) are the y values of the
common roots of f and g. The x values of the common roots can be computed as the
common roots of the two polynomials by solving for x after substituting each one of the
y values. The corresponding x values are (3.395, 0.698 0.500I, 0.698 + 0.500I).
If more than two variables are involved more elimination steps are needed. But one has
to be very careful in the back-substitution process. Back substitution into all equations
and comparing the roots is necessary to nd out the valid solutions. This process may
cause troubles in computing. A little example will give more insight:
Let the polynomials be
f(x, y, z) = x
2
2xy + y
2
z
2
,
g(x, y, z) = x 3y
2
+ yz 1,
h(x, y, z) = xz yz + 3z
2
.
Deriving the resultant of f and g and of g and h to eliminate the unknown z yields
Res
z
(f, g) = (2y
2
+ xy + 1 x)(4y
2
+ xy 1 + x),
Res
z
(g, h) = (x 3y
2
1)(xy + 8y
2
3x + 3).
Computing the resultant of these two polynomials to eliminate y yields the univariate
polynomial
(3.6) 64(1 + x)
4
(3x
2
x + 1)
4
= 0.
The solutions of this polynomial are x = 1 and x =
1

11I
6
, all three with multiplicity
four. Back substitution of x = 1 into Res
z
(f, g) and Res
z
(g, h) and computing the
18
3. Mathematical framework
solutions for y yields y
1
2
,
1
4
, 0, 0 and y
1
8
, 0, 0, 0. Therefore the only common
solution is 0. Back substitution of x = 1 and y = 0 into the polynomials f, g and h
and computing the solutions for z makes g equal to zero and yields z 1, 1 for f
and z 0,
1
3
. As one can see no common root exists for all three polynomials with
x = 1.
Starting the same procedure with x =
1+

11I
6
and solving Res
z
(f, g) and Res
z
(g, h)
for y yields y
1+

11I
6
,
1+

11I
4
,
1+

11I
8
and y
1+

11
6
,
3+3

11I
16
,
1+

11I
6
. The
common solution is
1+

11
6
. Substitution of x =
1+

11I
6
and y =
1+

11
6
into f, g and h
yields the common solution z = 0.
Starting with x =
1

11I
6
yields, performing the same procedure once more, the roots
x =
1

11I
6
, y =
1

11
6
, z = 0. This shows that in the univariate polynomial in Eq. 3.6
only the factor (3x
2
x + 1) yields accurate solutions.
In this case it is also possible to compute the factor of the univariate polynomial,
that yields accurate solutions, in another way. One may compute the resultants, that
eliminate rst y and then z, as performed above, and afterward one eliminates in the
rst step z and in the second step y:
Res
y
(f, g) = (3x
2
x + 1 7xz + 4z
2
)(3x
2
x + 1 + 5xz + 2z
2
),
Res
y
(g, h) = z
2
(1 x + 17xz + 3x
2
+ 24z
2
).
And the resultant of these two polynomials to eliminate z yields
(3.7) 64(3x
2
x + 1)
6
(429x
2
25x + 25)(105x
2
121x + 121) = 0
The resulting two univariate polynomials (Eq. 3.6 and 3.7) have the factor that yields
the accurate solutions in common.
19
4. Geometry
4.1. Systematics of spatial linkages
A mechanism consists of several links connected by joints. The number of degrees of
freedom (dof) of a mechanism depends on the number of links, the number of joints and
on the types of joints. In this section some basic denitions of mechanism terminology
are given, see for example Tsai [91].
A kinematic chain consists of n individual bodies
1
, . . . ,
n
that are called links. In
this thesis all links are treated to be rigid bodies. Links are connected in pairs by joints.
There are six basic types of joints (lower pair joints): revolute, prismatic, cylindrical,
helical, spherical and planar. Within the thesis only the rst two are used and therefore
only these two are considered in detail:
A revolute joint permits two links to rotate with respect to each other about an axis
that is dened by the geometry of the joint. Hence, the only freedom it leaves is the
rotation about this axis and it has therefore one dof.
A prismatic joint allows two links to slide with respect to each other along an axis
direction that is dened by the geometry of the joint. Hence the only freedom it leaves
is the translation along the axis and it has therefore one dof.
Within this thesis only geometrically perfect links are used. That means that, unless
stated otherwise, a revolute joint is able to rotate about 360 degrees and a prismatic
joint can translate to a length of .
A kinematic chain is called closed, if every link of it is connected with at least two other
links. And a chain is called open if it is not closed. It is also possible for a kinematic
chain to be made up of both types. Such a chain is called a hybrid kinematic chain.
A kinematic chain is called a mechanism or manipulator when one of the links is regarded
as being xed to the ground in E
3
. This link is often called the base.
A mechanism is called a serial mechanism if there exist a unique path from the base
to the end eector of the mechanism. If there exist at least two distinct paths the
mechanism is called a parallel mechanism.
20
4. Geometry
A machine or robot is an assemblage of one or more mechanisms, along with energy
supplying elements, hydraulic or pneumatic elements and so on. A machine is used to
transform external energy into useful work whereas a mechanism is for the transmission
of motion.
The EE of a mechanism is the link where the tool, that the manipulator operates with,
is attached. In the case of a serial manipulator this is usually the last link.
4.1.1. Formula of Gr ubler, Kutzbach, Tschebysche
One of the rst steps in a study of mechanisms is the investigation of the number of
dof of the whole mechanism. The dof of a mechanism is the number of independent
parameters needed to specify the conguration of the mechanism completely. Except
for some special cases a general formula to derive the dof of a mechanism was given by
Gr ubler, Kutzbach and Tschebysche (see Husty et al. [33]). With help of this formula
it is possible to express the dof of a spatial manipulator in terms of the number of links,
joints and types of joints of the mechanism:
(4.1) F = (n g 1) +
g

i=1
f
i
with
F . . . dof of the mechanism
. . . maximum possible dof in the space in which a mechanism
is intended to function (spatial: =6, planar and spherical: =3)
n . . . number of links (including the xed base)
g . . . number of joints
f
i
. . . dof of joint i
In this formula one has to take care that none of the dof of the joints is redundant (e.g.
two prismatic joints with parallel axes, four revolute joints passing through one point,
. . .). Otherwise one has to subtract these redundant dofs in this formula.
The degree of freedom F is an integer value in the range (, ]. If F is equal zero the
mechanism has no degree of freedom and if F < 0 it becomes statically indetermined
and no motion is possible.
There exist exceptions that do not obey the criterion in Eq. 4.1 (see e.g. Bricard [12],
Roschel [80], Karger [39], Goldberg [29]). Those mechanisms that require special mea-
surements to achieve mobility are called overconstrained mechanisms (see Mavroidis and
Roth [62]). Chapter 7 deals with such mechanisms.
21
4. Geometry
4.2. Parameterization of the Euclidean displacements
Let E
3
be the three dimensional Euclidean space. Coordinate frames will be denoted by
. The mapping
T : E
3
E
3

is called a Euclidean transformation if it preserves the distance between any two points
and, furthermore, the orientation, i.e. a right handed frame is transformed into a right
handed frame. Euclidean displacements form a group and every element can be written
in coordinate form as
x

= Tx
where x and x

represent points with homogeneous coordinates in and

respectively,
and
T =
_
_
_
_
_
_
1 0 0 0
d
1
a
11
a
12
a
13
d
2
a
21
a
22
a
23
d
3
a
31
a
32
a
33
_
_
_
_
_
_
.
d = (d
1
, d
2
, d
3
)
T
is the vector from the origin of to the origin of

and A = (a
ij
), i, j =
1, . . . , 3 is a proper orthogonal matrix SO(3) and therefore describes the rotation of

with respect to (see Figure 4.1)


1
.
There exist dierent parameterizations of the group SO(3). Examples include Ro-
d

O
O

x
y
z
x

Figure 4.1.: A general Euclidean displacement


drigues and Euler parameters, which will appear in Subsection 4.2.3. Another parametriza-
tion uses the fact, that every rotation about an axis through the origin can be generated
1
Throughout the whole thesis the European notation is used and the rst coordinate is the homoge-
nizing coordinate.
22
4. Geometry
as a concatenation of at most three rotations about the axes of the coordinate frame.
This approach yields a parametrization with Euler angles. More about this parameteri-
zations can be found in Bottema and Roth [11].
In the following subsections the singularity free parametrization of the Euclidean dis-
placement group, that is used in this thesis to describe the displacements, will be devel-
oped. It is called the kinematic mapping for spatial displacements and was introduced
by E. Study. Kinematic mapping maps each displacement to a point in a parameter
space and nds application in spatial, spherical and planar kinematics. There exists a
wide range of classical literature on this topic: Study [87] for the spatial, M uller [66] for
the spherical and Gr unwald [31] and Blaschke [9] for the planar case.
With the advent of algebraic manipulation systems within the last years kinematic map-
ping has found renewed interest within the community (see Bottema and Roth [11] or
Husty et al. [33], Ravani and Roth [76], McCarthy [63]).
Kinematic mapping maps spatial displacements to points in a seven dimensional pro-
jective space. The coordinates of these points are called the Study parameters. The
derivation of these parameters is done with the help of quaternions and dual quater-
nions. The next sections refer mainly two lectures of M.L. Husty, held in winter term
2002/2003 and 2003/2004 as space kinematic and robotics at the University of Inns-
bruck [35].
4.2.1. Quaternions
Quaternions were introduced by W.R. Hamilton in 1840, but basic elements can also
be found in L. Euler [24]. Hamilton wanted to describe the relative position of two
vectors in the 3-space. He found out that it is necessary to use four parameters for the
description. As one knows the complex numbers perform this in the planar case. The
attempt to extend this situation to the spatial case lead to the quaternions.
Let H be the set of all ordered quadruples with entries of R, called the set of quater-
nions. Let P = (p
0
, p
1
, p
2
, p
3
) and Q = (q
0
, q
1
, q
2
, q
3
) H.
p
0
is called the scalar part and p = (p
1
, p
2
, p
3
) the vectorial part of the quaternion P.
The sum and the dierence of two quaternions are dened component wise.
The multiplication of two quaternions is dened by
(4.2)
P Q = (p
0
q
0
p
1
q
1
p
2
q
2
p
3
q
3
, p
0
q
1
+ p
1
q
0
+ p
2
q
3
p
3
q
2
,
p
0
q
2
p
1
q
3
+ p
2
q
0
+ p
3
q
1
, p
0
q
3
+ p
1
q
2
p
2
q
1
+ p
3
q
0
).
23
4. Geometry
R is embedded in this vector space via x R (x, 0, 0, 0). Then the multiplication of
a scalar with a quaternion can be performed component wise, as one can see in Eq. 4.2.
R
3
is embedded in H via (x, y, z) R
3
(0, x, y, z).
With these relations (H, +, ) is a vector space over R.
The multiplication rule in Eq. 4.2 gets clearer with the introduction of the basis
quaternions
1 = (1, 0, 0, 0), i = (0, 1, 0, 0)
j = (0, 0, 1, 0), k = (0, 0, 0, 1).
Then P can be written as P = p
0
1 + p
1
i + p
2
j + p
3
k.
Using the multiplication Table 4.1 the quaternion multiplication in Eq. 4.2 can be
performed like the multiplication of polynomials. As one can see in Table 4.1 the mul-
tiplication is associative but not commutative.
1 i j k
1 1 i j k
i i 1 k j
j j k 1 i
k k j i 1
Table 4.1.: Quaternion multiplication
In the following quaternions are written in dierent notations. These notations are
P = p
0
1 + p
1
i + p
2
j + p
3
k = p
0
+p,
where p = (p
1
, p
2
, p
3
) is a vector in R
3
.
Analogous to the conjugate of a complex number the conjugate quaternion is dened as

P = p
0
1 p
1
i p
2
j p
3
k
and the norm is
|P| =
_
P

P =
_
p
2
0
+ p
2
1
+ p
2
2
+ p
2
3
.
With this norm H becomes a four dimensional Euclidean vector space over R.
24
4. Geometry
A quaternion is called normalized if |P| = 1. The set of normalized quaternions is
denoted by U.
The inverse of a quaternion is dened with help of the norm by
P
1
=

P
|P|
.
For a normalized quaternion the inverse is equal to the conjugate quaternion.
A quaternion is called vectorial if its scalar part is equal to zero. The product of two
vectorial quaternions P = p
1
i + p
2
j + p
3
k and Q = q
1
i + q
2
j + q
3
k, reads
(4.3)
P Q = (p
1
i + p
2
j + p
3
k) (q
1
i + q
2
j + q
3
k)
= (p
1
q
1
+p
2
q
2
+p
3
q
3
)1 + (p
2
q
3
p
3
q
2
)i (p
1
q
3
+p
3
q
1
)j + (p
1
q
2
p
2
q
1
)k
= pq +p q.
This is no vectorial quaternion at all.
Let P, Q be two general quaternions. Then
P Q = (p
0
+p) (q
0
+q)
= p
0
q
0
+ q
0
p + p
0
q +p q
= p
0
q
0
+ q
0
p + p
0
q pq +p q.
Here one can see, that, if P and Q are vectorial quaternions and pq, the product
quaternion P Q is a vectorial quaternion. Furthermore it is in a plane orthogonal to
p. This means geometrically, that Eq. 4.3 describes, with the restriction that P and Q
are vectorial quaternions and pq, a rotation of q about p with a change of the length.
If furthermore P is a normalized vectorial quaternion and pq then P Q describes a
rotation of q around p.
Every normalized quaternion can be written as
P = cos() + p
1
sin() + p
2
sin() + p
3
sin(),
where p = (p
1
, p
2
, p
3
) is a unit vector.
The multiplication of such a normalized quaternion P with a vectorial quaternion Q,
whose vector part q is orthogonal to p is then
P q = sin()(p q) + cos()q.
25
4. Geometry
This describes a rotation of the vector q about p with an angle .
But a practical use of the quaternion multiplication for the description of rotations has
not been given, because in this way only rotations of vectors orthogonal to the rotation
axis can be described.
With the help of normalized quaternions, Euler [24] dened a rotation in E
3
for a
vector q about an arbitrary axis (direction p) by
(4.4)
Ad P(q) = P q

P = P q P
1
,
where P is a normalized quaternion which can be written as P = cos(

2
) +sin(

2
)p and q
is a vectorial quaternion. Eq. 4.4 is an orthogonal transformation of the vector space R
3
of all three dimensional vectors, and the normalized quaternion P describes a rotation
with the angle about the axis p.
The mapping Ad P
1
P
2
(q) = P
1
P
2
q

P
1
P
2
= P
1
P
2
q

P
2

P
1
= Ad P
1
(Ad P
2
(q)) is
a homomorphism from U to SO(3). Every element of the group SO(3) is a rotation and
therefore Ad P(q) maps the group U onto the whole group SO(3). But this mapping is
not an isomorphism because every element of SO(3) is represented by two quaternions
which dier by the factor 1. This means that this mapping is a 2 to 1 parametrization of
SO(3). The orthogonal transformation matrix can be calculated by the transformation
of the unit vectors i, j and k. With the quaternion X = x
0
+x
1
i +x
2
j +x
3
k one obtains:
X i

X = (x
0
1 + x
1
i + x
2
j + x
3
k)i(x
0
1 x
1
i x
2
j x
3
k)
= (x
0
i x
1
1 x
2
k + x
3
j)(x
0
1 x
1
i x
2
j x
3
k)
= (x
2
0
+ x
2
1
x
2
2
x
2
3
)i + 2(x
1
x
2
+ x
0
x
3
)j + 2(x
1
x
3
x
0
x
2
)k,
X j

X = 2(x
1
x
2
x
0
x
3
)i + (x
2
0
x
2
1
+ x
2
2
x
2
3
)j + 2(x
2
x
3
+ x
0
x
1
)k,
X k

X = 2(x
1
x
3
+ x
0
x
2
)i + 2(x
2
x
3
x
0
x
1
)j + (x
2
0
x
2
1
x
2
2
+ x
2
3
)k.
The coecients of the unit quaternions can be assembled in the matrix:
(4.5) Ad X =
_
_
_
x
2
0
+ x
2
1
x
2
2
x
2
3
2(x
1
x
2
x
0
x
3
) 2(x
1
x
3
+ x
0
x
2
)
2(x
1
x
2
+ x
0
x
3
) x
2
0
x
2
1
+ x
2
2
x
2
3
2(x
2
x
3
x
0
x
1
)
2(x
1
x
3
x
0
x
2
) 2(x
2
x
3
+ x
0
x
1
) x
2
0
x
2
1
x
2
2
+ x
2
3
_
_
_
.
This matrix is an element of SO(3) and represents all rotations about the origin.
This is the well known parametrization of SO(3) with Euler parameters. To obtain
a parametrization of the general Euclidean displacements, the group SE(3), one has to
use dual quaternions.
26
4. Geometry
4.2.2. Dual quaternions
The algebra of dual quaternions or biquaternions H
d
is the most important algebra
for kinematics because it gives a parameterization of the Euclidean displacement group
SE(3) without parameterization singularities. Let D be the ring of dual numbers. A
dual number can be written as a = a
0
+ a
1
with
2
= 0. This ring is not free of zero
divisors. Biquaternions are generated by substitution of dual coecients a D in a
quaternion.
As every coecient of the quaternion consists of two elements the dual quaternions are
elements of an eight dimensional vector space over R. The basis elements are
1, i, j, k, 1, i, j, k.
The dual quaternion multiplication is therefore dened by applying the multiplication
of the quaternions and obeying
2
= 0. Furthermore it is assumed that the product of
with the basis quaternions is commutative.
A dual quaternion can be written as
P = X + Y
= (x
0
+ y
0
)1 + (x
1
+ y
1
)i + (x
2
+ y
2
)j + (x
3
+ y
3
)k
= a +p
where X = (x
0
, x
1
, x
2
, x
3
), Y = (y
0
, y
1
, y
2
, y
3
) H, a = (x
0
+y
0
) D and p = p
1
+p
2
with p
1
= (x
1
, x
2
, x
3
), p
2
= (y
0
, y
1
, y
2
).
The product of the dual quaternions P = a +p and Q = b +q is then
P Q = ab pq +ap +bq +p q
There exist two kinds of conjugation relations for dual quaternions:
The conjugated biquaternion

P = x
0
+ y
0
p
1
p
2
and the dual conjugated biquaternion
P

= x
0
y
0
+p
1
p
2
.
The norm |P| of a dual quaternion is dened as
|P| =
_
P

P
27
4. Geometry
Expanding the product under the square root yields the dual number
P

P = a
2
pp
= x
2
0
+ 2x
0
y
0
+p
1
p
1
+ 2p
1
p
2
= x
2
0
+p
1
p
1
+ 2(x
0
y
0
+p
1
p
2
).
The product of a dual quaternion with its conjugated is, taken coordinate wise
P

P = x
2
0
+ x
2
1
+ x
2
2
+ x
2
3
+ (x
0
y
0
+ x
1
y
1
+ x
2
y
2
+ x
3
y
3
).
| | is dened analogous to the norm of quaternions but it is no norm on the vector
space H
d
. However the relations

P
1
P
2
=

P
2

P
1
and |P
1
P
2
| = |P
1
||P
2
| hold.
A dual quaternion is called normalized if |P| = 1. The set of normalized dual quater-
nions U
d
is a manifold in H
d
described by the equations
x
2
0
+ x
2
1
+ x
2
2
+ x
2
3
= 1
x
0
y
0
+ x
1
y
1
+ x
2
y
2
+ x
3
y
3
= 0.
(U
d
, ) is a group and the inverse element is the conjugate quaternion.
Let V be the set of all dual quaternions of the form R = 1 + r where r is a vector of
R
3
. The mapping Ad
e
P from V to H
d
is given by:
Ad
e
P(r) = P
e
r

P.
Direct computation yields
(4.6)
Ad
e
P(r) = (X Y )(1 + r)(

X +

Y )
= 1 + (Xr

X + X

Y Y

X)
= 1 + r

.
The fact, that X

Y Y

X+

X

Y Y

X = X

Y Y

X+Y

XX

Y = 0 and X, Y U yields
that Ad
e
P is a linear transformation of R
3
. Moreover, the result in Subsection 4.2.1,
that Xr

X is an orthogonal transformation, allows the conclusion that Ad


e
P represents
a congruence of the Euclidean space with the ortho-normal base i, j, k. The vector
X

Y Y

X represents the translational part and Xr

X is the rotational part of the spatial


displacement. This mapping is a homomorphism of U
d
into the group of displacements
of E
3
(SE(3)) and therefore a 2 to 1 parametrization of the group of congruences of the
Euclidean space.
28
4. Geometry
A coordinate representation of the transformation in matrix form can be obtained by
expanding the formula in Eq. 4.6. The coordinate representation of the rotational part
of the 4 4 transformation matrix can be taken from Eq. 4.5. The translational part is
computed directly via
(4.7)
X

Y Y

X = 2(x
0
y
1
+ x
1
y
0
x
2
y
3
+ x
3
y
2
)i + 2(x
0
y
2
+ x
1
y
3
+ x
2
y
0
x
3
y
1
)j
+ 2(x
0
y
3
x
1
y
2
+ x
2
y
1
+ x
3
y
0
)k.
Combination of 4.5 and 4.7 gives the representation of the group of Euclidean dis-
placements in biquaternion coordinates, sometimes also called Soma coordinates, Study
coordinates or Study parameters (see Bottema and Roth [11], McCarthy [64]):
A =
_
_
_
_
_
_
1 0 0 0
l x
2
0
+ x
2
1
x
2
2
x
2
3
2(x
1
x
2
x
0
x
3
) 2(x
1
x
3
+ x
0
x
2
)
m 2(x
1
x
2
+ x
0
x
3
) x
2
0
x
2
1
+ x
2
2
x
2
3
2(x
2
x
3
x
0
x
1
)
n 2(x
1
x
3
x
0
x
2
) 2(x
2
x
3
+ x
0
x
1
) x
2
0
x
2
1
x
2
2
+ x
2
3
_
_
_
_
_
_
with
l = 2(x
0
y
1
+ x
1
y
0
x
2
y
3
+ x
3
y
2
),
m = 2(x
0
y
2
+ x
1
y
3
+ x
2
y
0
x
3
y
1
),
n = 2(x
0
y
3
x
1
y
2
+ x
2
y
1
+ x
3
y
0
).
Using weaker assumptions and ommiting the normalizing condition x
2
0
+x
2
1
+x
2
2
+x
2
3
= 1
by just assuming that x
2
0
+x
2
1
+x
2
2
+x
2
3
,= 0 one can leave the normalization of the dual
quaternions open and gets the matrix representation of SE(3)
A=
1

_
_
_
_
_
_
x
2
0
+ x
2
1
+ x
2
2
+ x
2
3
0 0 0
l x
2
0
+ x
2
1
x
2
2
x
2
3
2(x
1
x
2
x
0
x
3
) 2(x
1
x
3
+ x
0
x
2
)
m 2(x
1
x
2
+ x
0
x
3
) x
2
0
x
2
1
+ x
2
2
x
2
3
2(x
2
x
3
x
0
x
1
)
n 2(x
1
x
3
x
0
x
2
) 2(x
2
x
3
+ x
0
x
1
) x
2
0
x
2
1
x
2
2
+ x
2
3
_
_
_
_
_
_
(4.8)
where = x
2
0
+ x
2
1
+ x
2
2
+ x
2
3
.
4.2.3. Studys kinematic mapping
The algebra of the dual quaternions H
d
gives us a 2 to 1 correspondence between 8-tuples
of real numbers (x
0
, . . . , x
3
, y
0
, . . . , y
3
) having the property
(4.9) x
0
y
0
+ x
1
y
1
+ x
2
y
2
+ x
3
y
3
= 0
29
4. Geometry
and the space congruences, because the tuples P and P describe the same congruence.
By constructing a 7-dimensional projective space P
7
belonging to the 8-dimensional vec-
tor space H
d
one can get rid of this doubled covering. In P
7
8-tuples can be seen as
homogeneous coordinates of the points.
Points, that satisfy the condition in Eq. 4.9 are on a quadric in this space. The three
space x
0
= x
1
= x
2
= x
3
= 0 is a generator space (here called the exceptional generator)
on this quadric but points within this space have to be excluded. They do not represent
congruences in E
3
because all Euler parameters of the rotational part would be zero.
The remaining quadric, with one generator space removed, is called Study quadric S
2
6
.
It is of hyperbolic type and it contains two sets of generator spaces (3-spaces) analogous
to the two sets of lines on a hyperboloid of one sheet in E
3
. A symbolic sketch is given
in Figure 4.2. A detailed treatment of more properties of this quadric can be found in
Selig [84].
Figure 4.2.: Symbolic sketch of the Study quadric
30
4. Geometry
As one can see in the algebraic equation of S
2
6
the points P and P describe the same
point on this quadric. From this follows, that there exists a one to one correspondence
between points of the Study quadric and the spatial congruences in E
3
.
The mapping
: P P
7
A(x
i
, y
1
) (x
0
: x
1
: x
2
: x
3
: y
0
: y
1
: y
2
: y
3
) ,= (0 : 0 : 0 : 0 : 0 : 0 : 0 : 0)
of all elements of SE(3) onto the points of S
2
6
is called a kinematic mapping. The
projective space P
7
is called a kinematic image space.
Computation of the Study parameters
Common version: In all available references the Euler parameters, which are the rst
four Study parameters, were derived using the theorem of Cayley. This theorem states
that it is possible to represent an orthogonal matrix A using a skew symmetric matrix
S:
A = (I S)
1
(I +S)
where I is the 3 3 unit matrix and
S =
_
_
_
0 b
3
b
2
b
3
0 b
1
b
2
b
1
0
_
_
_
.
If the eigenvalues of A do not have the value 1 (which means that A does not describe
a rotation with angle ) one can compute the matrix S via
S = (AI)(A+I)
1
.
From the entries b
i
of S one can directly compute the direction of the rotation axis
v = (b
1
: b
2
: b
3
) and the rotation angle tan

2
=
_
b
2
1
+ b
2
2
+ b
2
3
. The parameters b
i
, i =
1, . . . , 3 are called Rodrigues parameters (see Rodrigues [79], Bottema and Roth [11]).
Performing the substitutions b
i
=
x
i
x
0
for i = 1, . . . , 3 (homogenization of the parameters)
yields the Euler parameters x
i
.
In case A describes a rotation of angle it has to be handled in a dierent way, which
can be seen in Angeles [3].
31
4. Geometry
Studys version: Study [87] developed another algorithm to compute the Euler param-
eters directly from the 3 3 rotation matrix A = (a
ij
)
i,j=1,...,3
via the ratios
(4.10)
x
0
: x
1
: x
2
: x
3
= 1 + a
11
+ a
22
+ a
33
: a
32
a
23
: a
13
a
31
: a
21
a
12
= a
32
a
23
: 1 +a
11
a
22
a
33
: a
12
+ a
21
: a
31
+ a
13
= a
13
a
31
: a
12
+ a
21
: 1 a
11
+ a
22
a
33
: a
23
+ a
32
= a
21
a
12
: a
31
+ a
13
: a
23
+ a
32
: 1 a
11
a
22
+ a
33
.
In general all formulas yield the same ratios. But in special cases, e.g. when A describes
a rotation of angle , one or more of the lines in Eq. 4.10 result in 0 : 0 : 0 : 0. But in
every conguration at least one of the four lines does not have four zero entries.
These elegant formulas for the Euler parameters in terms of the entries of an orthogonal
matrix can be obtained as follows:
Let the orthogonal matrix A be
(4.11) A =
_
_
_
a
11
a
12
a
13
a
21
a
22
a
23
a
31
a
32
a
33
_
_
_
and the same matrix written in Euler parameters
(4.12) A =
1

_
_
_
c
2
0
+ c
2
1
c
2
2
c
2
3
2(c
1
c
2
c
0
c
3
) 2(c
1
c
3
+ c
0
c
2
)
2(c
1
c
2
+ c
0
c
3
) c
2
0
c
2
1
+ c
2
2
c
2
3
2(c
2
c
3
c
0
c
1
)
2(c
1
c
3
c
0
c
2
) 2(c
2
c
3
+ c
0
c
1
) c
2
0
c
2
1
c
2
2
+ c
2
3
_
_
_
where
= c
2
0
+ c
2
1
+ c
2
2
+ c
2
3
.
Without loss of generality one can assume that the Euler parameters in Eq. 4.12 are
normalized, which means that = 1.
As shown in Husty et al. [33] the axis v = (x
1
, x
2
, x
3
)
T
of the rotation (Rodrigues
parameters) given by the matrix A can be computed via
x
1
: x
2
: x
3
= (a
32
a
23
) : (a
13
a
31
) : (a
21
a
12
).
Replacing the corresponding entries of the matrix A by those of Eq. 4.12 one obtains:
(4.13)
x
1
= a
32
a
23
= 2(c
2
c
3
+ c
0
c
1
) 2(c
2
c
3
c
0
c
1
) = 4c
0
c
1
x
2
= a
13
a
31
= 2(c
1
c
3
+ c
0
c
2
) 2(c
1
c
3
c
0
c
2
) = 4c
0
c
2
x
3
= a
21
a
12
= 2(c
1
c
2
+ c
0
c
3
) 2(c
1
c
2
c
0
c
3
) = 4c
0
c
3
.
32
4. Geometry
To get a (non-normalized) set of Euler parameters out of the x
i
, i = 1, 2, 3 one has to
add a homogenizing coordinate x
0
such, that
x
0
: x
1
: x
2
: x
3
= (c
0
: c
1
: c
2
: c
3
).
From Eq. 4.13 it is easy to see that =
1

has to be equal to 4c
0
. This means that
x
0
= c
0
= 4c
2
0
.
It is known that, because the Euler parameters c
i
are normalized, c
0
is the cosine of half
of the rotation angle and cos() =
1
2
(trace(A) 1) =
1
2
(a
11
+a
22
+a
33
1) (see Husty
et al. [33]). Using the goniometric formula for the half angle of the cosine one obtains
c
0
= cos
_

2
_
=
_
1 + cos()
2
=

1 +
1
2
(trace(A) 1)
2
=
1
2
_
trace(A) + 1.
Substituting this result into x
0
= 4c
2
0
leads to
x
0
= 4c
2
0
= 4
_

1
2
_
trace(A) + 1
_
2
= trace(A) + 1.
This yields to the rst ratio of (x
0
: x
1
: x
2
: x
3
) in Eq. 4.10.
In the special case that A is skew symmetric (what means that the rotation angle
is equal to ), this formula does not yield a solution. Then one can derive the Euler
parameters in another way by taking some other sums and dierences of matrix entries
of Eq. 4.11:
a
32
a
23
= 2(c
2
c
3
+ c
0
c
1
) 2(c
2
c
3
c
0
c
1
) = 4c
0
c
1
a
11
a
22
a
33
+ 1 = (c
2
0
+ c
2
1
c
2
2
c
2
3
) (c
2
0
c
2
1
+ c
2
2
c
2
3
) (c
2
0
c
2
1
c
2
2
+ c
2
3
) + 1
= c
2
0
+ 3c
2
1
c
2
2
c
2
2
+ 1 = (c
2
0
+ c
2
1
+ c
2
2
+ c
2
3
) + 4c
2
1
+ 1 = 4c
2
1
a
12
+ a
21
= 2(c
1
c
2
c
0
c
3
) + 2(c
1
c
2
+ c
0
c
3
) = 4c
1
c
2
a
31
+ a
13
= 2(c
1
c
3
c
0
c
2
) + 2(c
1
c
3
+ c
0
c
2
) = 4c
1
c
3
.
This yields the second ratio of Eq. 4.10 to get a non-normalized set of Euler parameters
x
0
: x
1
: x
2
: x
3
= 4c
1
(c
0
: c
1
: c
2
: c
3
) = a
32
a
23
: a
11
a
22
a
33
+1 : a
12
+a
21
: a
31
+a
13
.
The derivation of the other two formulas is similar.
33
4. Geometry
After having computed the Euler parameters via one of the relations of Eq. 4.10 the
remaining Study parameters can be derived by the formulas
(4.14)
y
0
=
1
2
(t
1
x
1
+ t
2
x
2
+ t
3
x
3
),
y
1
=
1
2
(x
0
t
1
+ x
2
t
3
x
3
t
2
),
y
2
=
1
2
(x
0
t
2
x
1
t
3
+ x
3
t
1
),
y
3
=
1
2
(x
0
t
3
+ x
1
t
2
x
2
t
1
)
where t = (t
1
, t
2
, t
3
)
T
is the translation vector of the congruence.
4.3. Transformations in P
7
This section deals with the question, what is the eect of a coordinate transformation
in the Euclidean space on the Study parameters of another transformation.
In robotics there exist two important coordinate transformations. The rst one in the
base frame that moves the whole manipulator to another place. This results in a change
of the xed coordinate system. The second one is performed in the moving frame and
changes the coordinate system of the EE.
In both cases the relative motion of the EE with respect to the base frame is given by
the matrix
A=
1

1
_
_
_
_
a
2
0
+ a
2
1
+ a
2
2
+ a
2
3
0 0 0
2(a
4
a
1
a
5
a
0
a
7
a
2
+ a
6
a
3
) a
2
0
+ a
2
1
a
2
2
a
2
3
2(a
1
a
2
a
0
a
3
) 2(a
1
a
3
+ a
0
a
2
)
2(a
4
a
2
a
6
a
0
a
5
a
3
+ a
7
a
1
) 2(a
1
a
2
+ a
0
a
3
) a
2
0
a
2
1
+ a
2
2
a
2
3
2(a
2
a
3
a
0
a
1
)
2(a
4
a
3
a
7
a
0
a
6
a
1
+ a
5
a
2
) 2(a
1
a
3
a
0
a
2
) 2(a
2
a
3
+ a
0
a
1
) a
2
0
a
2
1
a
2
2
+ a
2
3
_
_
_
_
,
where
1
= a
2
0
+ a
2
1
+ a
2
2
+ a
2
3
and a coordinate transformation is given by
T =
1

2
_
_
_
_
t
2
0
+ t
2
1
+ t
2
2
+ t
2
3
0 0 0
2(t
4
t
1
t
5
t
0
t
7
t
2
+ t
6
t
3
) t
2
0
+ t
2
1
t
2
2
t
2
3
2(t
1
t
2
t
0
t
3
) 2(t
1
t
3
+ t
0
t
2
)
2(t
4
t
2
t
6
t
0
t
5
t
3
+ t
7
t
1
) 2(t
1
t
2
+ t
0
t
3
) t
2
0
t
2
1
+ t
2
2
t
2
3
2(t
2
t
3
t
0
t
1
)
2(t
4
t
3
t
7
t
0
t
6
t
1
+ t
5
t
2
) 2(t
1
t
3
t
0
t
2
) 2(t
2
t
3
+ t
0
t
1
) t
2
0
t
2
1
t
2
2
+ t
2
3
_
_
_
_
,
where
2
= t
2
0
+ t
2
1
+ t
2
2
+ t
2
3
. Both matrices can be either variable or xed. Note, that
the Study parameters of these two transformations are (see Eq. 4.8)
a = (a
0
, a
1
, a
2
, a
3
, a
4
, a
5
, a
6
, a
7
)
T
,
t = (t
0
, t
1
, t
2
, t
3
, t
4
, t
5
, t
6
, t
7
)
T
.
34
4. Geometry
4.3.1. Coordinate transformation of the base frame
A coordinate transformation of the base frame of a manipulator is described by T A.
The Study parameters of this matrix product are:
(4.15) t a =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
a
0
t
0
a
1
t
1
a
2
t
2
a
3
t
3
a
0
t
1
+ a
1
t
0
+ t
2
a
3
t
3
a
2
a
0
t
2
+ a
2
t
0
+ a
1
t
3
a
3
t
1
a
0
t
3
+ a
3
t
0
+ a
2
t
1
a
1
t
2
a
0
t
4
a
1
t
5
a
2
t
6
a
3
t
7
+ a
4
t
0
a
5
t
1
a
6
t
2
a
7
t
3
a
0
t
5
+ a
1
t
4
a
2
t
7
+ a
3
t
6
+ a
4
t
1
+ a
5
t
0
a
6
t
3
+ a
7
t
2
a
0
t
6
+ a
1
t
7
+ a
2
t
4
a
3
t
5
+ a
4
t
2
+ a
5
t
3
+ a
6
t
0
a
7
t
1
a
0
t
7
a
1
t
6
+ a
2
t
5
+ a
3
t
4
+ a
4
t
3
a
5
t
2
+ a
6
t
1
+ a
7
t
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
where
=
a
0
t
0
a
1
t
1
a
2
t
2
a
3
t
3
(a
2
0
+ a
2
1
+ a
2
2
+ a
2
3
)(t
2
0
+ t
2
1
+ t
2
2
+ t
2
3
)
.
Because of the fact that these parameters are homogeneous, can be omitted. It is
possible to write Eq. 4.15 as a matrix T
b
(the index b indicates the transformation in
the base frame) multiplied by the vector a:
t a = T
b
a
where
(4.16) T
b
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
t
0
t
1
t
2
t
3
0 0 0 0
t
1
t
0
t
3
t
2
0 0 0 0
t
2
t
3
t
0
t
1
0 0 0 0
t
3
t
2
t
1
t
0
0 0 0 0
t
4
t
5
t
6
t
7
t
0
t
1
t
2
t
3
t
5
t
4
t
7
t
6
t
1
t
0
t
3
t
2
t
6
t
7
t
4
t
5
t
2
t
3
t
0
t
1
t
7
t
6
t
5
t
4
t
3
t
2
t
1
t
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
4.3.2. Coordinate transformation of the moving frame
A coordinate transformation of the EE frame of a manipulator is described by A T .
Performing the same procedure as in Section 4.3.1 one gets the representation of such a
transformation in the kinematic image space as
a t = T
m
a
35
4. Geometry
where
(4.17) T
m
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
t
0
t
1
t
2
t
3
0 0 0 0
t
1
t
0
t
3
t
2
0 0 0 0
t
2
t
3
t
0
t
1
0 0 0 0
t
3
t
2
t
1
t
0
0 0 0 0
t
4
t
5
t
6
t
7
t
0
t
1
t
2
t
3
t
5
t
4
t
7
t
6
t
1
t
0
t
3
t
2
t
6
t
7
t
4
t
5
t
2
t
3
t
0
t
1
t
7
t
6
t
5
t
4
t
3
t
2
t
1
t
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
The m in the index indicates the transformation in the moving frame which is the frame
attached to the EE.
Summarizing the computations above yields
Theorem 4.1. Coordinate transformations in the base or moving frame of a manipulator
can be written as projective transformations in the kinematic image space. Each of the
elements of the matrices describing these transformations is simply linear in one of its
Study parameters.
Remark 4.1. The 4 4 block matrices in T
b
and T
m
are well known in geometry. They
describe the Cliord-translations in an elliptic space (see Giering [28]).
4.3.3. Properties of T
b
and T
m
Lemma 4.1. The matrix product of T
b
and T
m
is commutative.
Proof. The matrices have the shape
T
b
=
_
A 0
B A
_
T
m
=
_
C 0
D C
_
Then the products are:
T
b
T
m
=
_
AC 0
BC+AD AC
_
T
m
T
b
=
_
CA 0
DA+CB CA
_
The commutativity of the Cliord translations yields the commutativity of the product
of T
b
and T
m
. Direct computations shows the same result.
36
4. Geometry
In other words, Lemma 4.1 expresses that it does not matter which coordinate trans-
formation is performed rst in the kinematic image space. This is what one would expect
because of the same fact in the Euclidean space.
Lemma 4.2. The inverse matrices T
1
b
and T
1
m
can be obtained by substituting the
conjugate quaternion

T = (t
0
, t
1
, t
2
, t
3
, t
4
, t
5
, t
6
, t
7
) instead of T = (t
0
, t
1
, t
2
, t
3
,
t
4
, t
5
, t
6
, t
7
) into T
b
and T
m
, respectively.
Proof. Direct computation of T
b
T
b
(t
0
, t
1
, t
2
, t
3
, t
4
, t
5
, t
6
, t
7
) yields a multiple
of the unit matrix. Because of the homogeneity of the Study parameters this multiple
can be omitted.
Lemma 4.3. The matrices T
b
and T
m
describe a transformation in the kinematic image
space that maps points of S
2
6
onto points of the same quadric. Furthermore the excep-
tional generator of this quadric, given by x
0
= x
1
= x
2
= x
3
= 0, is mapped onto itself
and points of the quadric with the equation y
2
0
+ y
2
1
+ y
2
2
+ y
2
3
= 0 in this exceptional
3-space are mapped onto points on the same quadric.
Proof. Because of the construction of these matrices T
b
a and T
m
a have to fulll the
equation of S
2
6
. The second part of the lemma is also easy to see.
Points in the exceptional generator have coordinates (0 : 0 : 0 : 0 : y
0
: y
1
: y
2
: y
3
).
Because of the upper right 4 4 zero matrix of T
b
and T
m
, the transformed point
has to lie within this generator and has coordinates (0 : 0 : 0 : 0 : y
0
: y
1
: y
2
:
y
3
). Substitution of these coordinates into the equation y
2
0
+ y
2
1
+ y
2
2
+ y
2
3
= 0 yields
(y
2
1
+y
2
2
+y
2
3
+y
2
4
)(t
2
0
+t
2
1
+t
2
2
+t
2
3
) = 0. As one can see if the point lies on this quadric
before the transformation then it lies on the quadric after the transformation.
The transformations T
b
and T
m
are point transformations. In Chapter 5 the cor-
responding hyperplane transformation is needed. A hyperplane in P
7
is a linear six
dimensional subspace and is described by
u
T
x = 0
where u is an 8-tuple and the entries are called the hyperplane coordinates and x de-
scribes an arbitrary point X in P
7
. In the same manner as with point transformations
one is able to transform hyperplanes by using:
Lemma 4.4. Let T be a point transformation in P
7
and the point X P
7
is described
by x and
X

X = T x.
37
4. Geometry
This point transformation transforms the hyperplane with the equation
u
T
x = 0
into the hyperplane
u
T
x = 0
where u = (T
T
)
1
u. That means that this (T
T
)
1
is the corresponding transformation
for the hyperplane coordinates u. Furthermore T transforms a quadric described by the
equation
x
T
A x = 0
into the quadric
x
T


A x = 0,
where

A = (T
T
)
1
A T
1
.
Proof. If u
T
x = 0 and X

X = T x, then one has to look for an u such, that
u
T
x = u
T
T x = 0. This implies that u
T
= u
T
T or u = (T
T
)
1
u.
If x
T
A x = 0 and X

X = T x, then one has to look for an

A such, that
x
T

A x = (T x)
T

A T x = x
T
T
T

A T x. This implies that A = T


T

A T or

A = (T
T
)
1


A T
1
Within the next chapters the transformations T
b
(Eq. 4.16) and T
m
(Eq. 4.17) de-
rived in Section 4.3 will be needed. Therefore the transformation, that is described by
the matrix A in the Euclidean space, will be denoted by T
b
(A) and T
m
(A), respectively.
That means that the Study parameters of A are substituted in the matrix T
b
resp. T
m
instead of t.
4.4. Denavit Hartenberg parameters
Denavit and Hartenberg [18] formulated an algorithm to describe the design of a manip-
ulator in a unique way. The pose of the EE of the manipulator is then described with
help of matrix products using a simple geometric notation for the coordinate transfor-
mations between coordinate systems attached to the rotation axes.
First of all they studied the relative position of two lines in the space. In this system
coordinate frames are attached to each line. The rst one
0
such that the z-axis is
38
4. Geometry
aligned with the rst line and the x-axis is parallel to the common normal of the two
lines. The second frame
1
is attached to the second line in the same way and further-
more the origin of this frame has to coincide with the foot of the common normal of the
two lines as shown in Fig. 4.3.

1
a
d

Figure 4.3.: Relative position of two lines in space


The length of the common normal is denoted by a, the distance between the origin of
the rst reference frame to the foot of the common normal on the rst line by d and the
twist angle of the two lines by .
With this notation one is able to write the transformation
0

1
as
G =
_
_
_
_
_
_
1 0 0 0
a 1 0 0
0 0 cos() sin()
d 0 sin() cos()
_
_
_
_
_
_
.
Remark 4.2. Traditionally the entities a, d and are called Denavit Hartenberg (DH)
parameters.
Essential for the following description of the forward kinematics of a serial chain is the
observation that for every serial chain it is possible to nd a home conguration where
all axes are parallel to a plane .
Remark 4.3. In this home conguration all axes of the serial chain meet one line, the
line at innity of and belong therefore to a special linear complex. This means that for
39
4. Geometry
every serial chain this home position is a singularity. This observation means additionally
that there is no serial chain without a singularity. It should be noted that this special
conguration is only used to simplify the computation. It does not mean that the
manipulator has to be there at any point in time.
top view
front view side view
perspective view
x

x
y
z
Figure 4.4.: Home position of a 6R-mechanism
This exceptional conguration can be achieved by the following algorithm:
Choose a plane normal to the common perpendicular of the rst two axes and x the
rst axis. Rotate the remaining part of the manipulator about the second axis until the
third axis is parallel to the chosen plane. Now x the second axis and therefore, with
xed rst and second axis, the position of the rst three axes is xed in space. All three
axes are parallel to the chosen plane. This process is repeated until all axes are parallel
to the plane. The result of this process is shown for a 6R-mechanism in Fig. 4.4 in four
40
4. Geometry
dierent views. In this gure all axes are chosen to be parallel to the yz-plane of the
base frame. Note that the distances between adjacent axes a
i
show up in true length in
the top view and front view and the osets d
i
and the angles
i
, i = 1, . . . , n are in true
shape in the side view.
A serial nR mechanism is composed of a sequence of n + 1 links connected by n
revolute joints. The links are numbered such that link zero constitutes the base of the
manipulator and link n is the terminal link, where the EE is located. Joint i connects
link i and i+1 and the variable joint parameter (rotation angle) is denoted by u
i
. In order
to dene the relationship between the location of links, one has to assign a coordinate
frame
i
attached to link i such that the z
i
-axis coincides with the axis of joint i and
the x
i
axis is aligned with the common normal of joint i 1 and i. The y
i
-axis lies
such that the three axes form a right handed coordinate frame (see Fig. 4.5). Then the

0
=base frame

n1

n
EE frame
Figure 4.5.: Coordinate frames attached to a general nR-mechanism
relative displacement of
n
with respect to
0
can be computed by linking all relative
displacements of
i
with respect to
i1
. Furthermore one has to allow the mechanism
to fully rotate about each of its axes. Therefore this relative displacement is given by
concatenation of matrices
(4.18) D = B M
1
G
1
M
2
G
2
. . . M
n1
G
n1
M
n
G
n
,
41
4. Geometry
where B is the coordinate transformation
0

1
,
G
i
=
_
_
_
_
_
_
1 0 0 0
a
i
1 0 0
0 0 cos(
i
) sin(
i
)
d
i
0 sin(
i
) cos(
i
)
_
_
_
_
_
_
for i = 1, . . . , n where
i
is the twist angle between the z-axes of the coordinate frames
i and i + 1, a
i
is the length of the common normal of the same axes and d
i
is the
translational distance of the two common normals of the z-axis of link i with the adjacent
z-axis of links i-1 and i+1, called the oset. The matrices
M
i
=
_
_
_
_
_
_
1 0 0 0
0 cos(u
i
) sin(u
i
) 0
0 sin(u
i
) cos(u
i
) 0
0 0 0 1
_
_
_
_
_
_
describe the rotation about the z-axes of the frames 1, . . . , n which are the axes of rota-
tions of the nR-manipulator. The angles of rotation are measured such that if all joint
parameters are zero then the manipulator is in the above described home position.
Remark 4.4. The DH parameters completely determine the design of the manipulator.
For an nR manipulator there are exactly 3n 4 DH parameters.
4.5. Direct and inverse kinematics
Two main topics in theoretical kinematics of manipulators are the direct (also termed
forward) and the inverse (also termed backward) kinematics problem. In both cases the
design (DH parameters) of the manipulator is known.
The forward kinematics problem involves determining all possible poses of the EE
frame when the actuated joints are locked having specic input values. This problem
is easy to solve for serial manipulators. One has to compute the matrix product in Eq.
4.18 where all matrix entries are real numbers. On the other hand this problem is di-
cult to solve for parallel manipulators. Take as an example the forward kinematics of a
general Stewart-Gough platform, as derived in Husty [34]. The problem can be stated
as follows. Given six points in the base frame B
1
, . . . , B
6
, six points in the moving frame
42
4. Geometry
M
1
, . . . , M
6
and six links with xed length l
1
, . . . , l
6
. The problem is now to assemble
the manipulator such that link l
i
connects the points B
i
and M
i
, i = 1 . . . , 6. There are
up to 40 solutions to this problem (see Raghavan [73]). An example with these number
of real postures is shown in Dietmaier [21].
The inverse kinematics problem can be stated that a discrete pose of the EE is given
and one has to compute the joint parameters such that the given manipulator can move
the EE in this pose. This problem is easy to solve in the case of a parallel manipulator.
For example in the case of a Stewart-Gough platform one knows six points in the base
B
1
, . . . , B
6
and six points in the moving frame M
1
, . . . , M
6
and all are xed in E
3
. One
has to derive the distance between the points B
i
and M
i
. This problem is solvable using
basic vector algebra. On the other hand the analog problem is not easy to solve for serial
manipulators. This is the main topic of this thesis. An overview of the huge amount
of literature related to this problem was given in Chapter 2 and a new method for the
solution will be presented in Chapter 6.
43
5. Constraint manifolds
The basic idea to analyze mechanisms with kinematic mapping is the following: the EE
of a mechanism is bound to move with the constraints given by the mechanism. Every
pose of the EE coordinate system is mapped with kinematic mapping to a point in the
kinematic image space. Therefore every mechanism generates a certain set of points,
curves, surfaces or higher dimensional algebraic varieties in the kinematic image space.
The corresponding variety of a mechanism is called the constraint manifold. It fully
describes the mobility of the EE of a manipulator. Essentially this constraint manifold
is the kinematic image of the workspace.
A parametric representation of the constraint manifold of an nR mechanism is given
by computing the Study parameters of the transformation in Eq. 4.18. If one uses the
algebraic values v
i
, which are the tangents of half the rotation angles u
i
, i = 1, . . . , n
one gets
Theorem 5.1. The coordinate functions of the parametric representation of the con-
straint manifold of a serial nR mechanism are multi linear (n-linear) in the tangents of
half the rotation angles v
i
, i = 1, . . . , n.
Proof. The representation of the nR manipulator in Eq. 4.18 can be seen as the con-
catenation of coordinate transformations in the xed frame starting with the simplest
kinematic chain, the one that is only able to perform the identity, here called the identity
mechanism. This manipulator consists of no joint and no link and the base and moving
frame coincide.The matrix representation of this manipulator is the 4 4 unit matrix I
and therefore the Study parameters of this EE motion are id = (1 : 0 : 0 : 0 : 0 : 0 : 0 : 0)
T
.
Eq. 4.18, seen as the concatenation of coordinate transformations in the base frame of
this manipulator, can be written as
D = B M
1
G
1
M
2
G
2
. . . M
n1
G
n1
M
n
G
n
I.
44
5. Constraint manifolds
All these transformations can be performed directly in the kinematic image space, where
T
b
(B) =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
b
0
b
1
b
2
b
3
0 0 0 0
b
1
b
0
b
3
b
2
0 0 0 0
b
2
b
3
b
0
b
1
0 0 0 0
b
3
b
2
b
1
b
0
0 0 0 0
b
4
b
5
b
6
b
7
b
0
b
1
b
2
b
3
b
5
b
4
b
7
b
6
b
1
b
0
b
3
b
2
b
6
b
7
b
4
b
5
b
2
b
3
b
0
b
1
b
7
b
6
b
5
b
4
b
3
b
2
b
1
b
0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
with the Study parameters (b
0
, b
1
, . . . , b
6
, b
7
) of B,
(5.1) T
b
(M
i
) =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0 v
i
0 0 0 0
0 1 v
i
0 0 0 0 0
0 v
i
1 0 0 0 0 0
v
i
0 0 1 0 0 0 0
0 0 0 0 1 0 0 v
i
0 0 0 0 0 1 v
i
0
0 0 0 0 0 v
i
1 0
0 0 0 0 v
i
0 0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
T
b
(G
i
) =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2 2al
i
0 0 0 0 0 0
2al
i
2 0 0 0 0 0 0
0 0 2 2al
i
0 0 0 0
0 0 2al
i
2 0 0 0 0
a
i
al
i
a
i
d
i
al
i
d
i
2 2al
i
0 0
a
i
a
i
al
i
d
i
d
i
al
i
2al
i
2 0 0
d
i
al
i
d
i
a
i
al
i
a
i
0 0 2 2al
i
d
i
d
i
al
i
a
i
a
i
al
i
0 0 2al
i
2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
where v
i
= tan
u
i
2
and al
i
= tan

i
2
for i = 1, . . . , n. Multiplication of these matrices in
the kinematic image space yields a parametric representation of the constraint manifold
(of the workspace in P
7
):
p = T
b
(B) T
b
(M
1
) T
b
(G
1
) T
b
(M
2
) T
b
(G
2
)
. . . T
b
(M
n1
) T
b
(G
n1
) T
b
(M
n
) T
b
(G
n
) id
Because of the fact that in Eq. 5.1 tangents of half the rotation angles u
i
do occur
linearly, the matrix product is multi linear in these parameters.
45
5. Constraint manifolds
Remark 5.1. Eq. 4.18 can also be seen as the concatenation of coordinate transfor-
mations in the moving frame of the identity mechanism and can therefore be written
as
D = I B M
1
G
1
M
2
G
2
. . . M
n1
G
n1
M
n
G
n
.
Then the parametric representation of the constraint manifold can be derived as
p = T
m
(G
n
) T
m
(M
n
) T
m
(G
n1
) T
m
(M
n1
)
. . . T
m
(G
2
) T
m
(M
2
) T
m
(G
1
) T
m
(M
1
) T
m
(B) id
Generally the dimension of this variety corresponds to the degrees of freedom of the
kinematic chain. If for example one point of the moving system is bound to move on
a surface, the manipulator still has ve degrees of freedom. Therefore the mechanical
constraint is mapped to a surface in the kinematic image space.
From this statement one can conclude that every mechanical system in general can
also be described by a system of algebraic (polynomial) equations. From an algebraic
point of view one has a system of polynomial equations I = (g
1
, . . . , g
n
), which corre-
sponds to an algebraic variety V = V (g
1
, . . . , g
n
), the constraint manifold. With this
interpretation it is possible to use all the progress which was made in recent years in
solving systems of algebraic (polynomial) equations (see Dickenstein and Emiris [19])
for solving problems that occur in theoretical kinematics.
One can study constraint manifolds instead of the manipulator in E
3
to nd out
properties of the manipulator and its mobility. This theory found application in many
problems in kinematics. For example Husty [34] used it to solve the direct kinematics of
general Stewart-Gough platforms, in Husty et al. [36] and in Chapter 6 it was applied
to solve the inverse kinematics problem of general serial 6R-manipulators. Furthermore
using this method the synthesis problem of Bennett mechanisms was solved in Brun-
nthaler et al. [14]. A detailed introduction to this topic can be found in McCarthy [64].
For the inverse kinematics of the general serial 6R-mechanism, that was previously
published in Husty et al. [36] and will be presented in Chapter 6 in a new way, it is
necessary to study the constraint manifold of general serial 3R-chains.
Given the design (DH parameters) of an arbitrary 3R-chain one can compute the
relative position of the EE frame with respect to the base frame as a function of the
46
5. Constraint manifolds
three rotation angles u
1
, u
2
and u
3
. Therefore the constraint manifold of a 3R-chain,
representing all poses that the EE frame can attain is a 3-manifold in the kinematic
image space.
In Husty et al. [36] this constraint manifold was derived in a very geometric way. With
a new algorithm, presented in Sections 5.1 - 5.3, it is easy to nd a representation of this
manifold in closed form for an arbitrary 3R-chain and furthermore the representation
becomes much shorter than in the paper of Husty et al. [36].
The polynomial equations representing 3R-chains in P
7
will be derived from the rep-
resentation of 2R-chains. Therefore it is necessary to have a closer look at the constraint
manifold of canonical 2R-chains.
5.1. Constraint manifold of a canonical serial 2R-chain
Without loss of generality a manipulator can be placed in the base frame in a suitable
manner. A manipulator, where the rst revolute axis coincides with the z-axis of the
base frame and the DH parameter d
1
is equal to zero, will be called a canonical manip-
ulator (see Fig. 5.1).
Fixing one of the rotation angles of the 3R-chain one gets a 2R-sub-chain contained
in the 3R-chain.
According to Selig [84] the kinematic image of a 2R-chain is the intersection of a linear
3-space T with the Study quadric. Selig derived the implicit algebraic representation
of the manifold from the parametric representation of a pair of revolute joints in the
kinematic image space. But from his derivation it is not clear where the EE of this
manipulator is placed. This placement is crucial: The 3-space representing the 2R-chain
depends on the moving coordinate system.
Therefore it is necessary to compute the representation for an arbitrary serial 2R-
manipulator with a known placement of the moving frame.
The starting point of the following sections is a canonical 3R-chain with known design
(DH parameters). Investigation of the corresponding 2R-chains, that are obtained by
xing one after the other rotation angles, yields the constraint manifolds of canonical
2R-chains.
47
5. Constraint manifolds

0
=
1

2

3
EE frame
Figure 5.1.: Canonical 3R-manipulator
Because of the fact that one or more of the corresponding 2R-chains could be special
ones (having intersecting or parallel axes) one has to distinguish several cases. If the two
remaining not xed axes intersect then the resulting 2R-chain is a spherical chain and
the possible motion of this chain belongs to a subgroup of the Euclidean motion group,
namely the rotation group SO(3). If the two remaining axes are parallel this 2R-chain
is a planar one and therefore it generates a two parametric motion within the subgroup
of planar Euclidean motions SE(2). Both of these groups map, according to Selig [84],
to 3-spaces lying on the Study quadric. This means, in both cases, unlike to the general
case, one cannot obtain the constraint manifold by intersecting a 3-space with S
2
6
.
In the following subsections all possible cases are discussed in detail.
5.1.1. Fix u
1
By xing the rst revolute axis u
1
= u
10
(the zero in the index indicates a xed value)
the corresponding 2R-chain has the matrix representation
D = F M
2
G
2
M
3
G
3
.
where F is a xed transformation, given by M
1
(u
10
) G
1
. F and G
3
are coordinate
transformations in the base and moving frame of this 2R-manipulator, respectively. Ne-
glecting F and setting d
2
= 0 transforms the chain into a canonical one as shown in
Figure 5.2. Setting d
2
= 0 means no loss of generality because a transformation in
the direction of the second revolute axis can be achieved later directly in the kinematic
image space. Omitting G
3
transforms the EE frame such that the z-axis coincides with
the second axis of this 2R-chain and the x-axis is aligned with the common normal of
48
5. Constraint manifolds
the two revolute axes.

0
=
i

i+1
EE frame
Figure 5.2.: Canonical 2R-mechanism (for the cases in Subsections 5.1.1 and 5.1.2 i is
respectively 2 or 1)
Then the matrix representation of this 2R-chain becomes
D = M
2
G
2
M
3
.
The parametric representation of the constraint manifold, computed with Eqs. 4.10 and
4.14, reads
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
0
x
1
x
2
x
3
y
0
y
1
y
2
y
3
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
(cos(u
2
) cos(u
3
) sin(u
2
) sin(u
3
) + 1)(1 + cos(
2
))
(cos(u
2
) + cos(u
3
)) sin(
2
)
(sin(u
2
) sin(u
3
)) sin(
2
)
(cos(u
2
) sin(u
3
) + sin(u
2
) cos(u
3
))(1 + cos(
2
))
1
2
a
2
(cos(u
2
) cos(u
3
) sin(u
2
) sin(u
3
) + 1)(sin
2
)

1
2
a
2
(cos(u
2
) + cos(u
3
))(1 + cos(
2
))

1
2
a
2
(sin(u
2
) sin(u
3
))(1 + cos(
2
))
1
2
a
2
(cos(u
2
) sin(u
3
) + sin(u
2
) cos(u
3
))(sin(
2
))
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
By inspection and direct substitution one can verify easily that these coordinates satisfy
four independent linear equations:
Hc
11
: a
2
sin(
2
)x
0
2(1 + cos(
2
))y
0
= 0,
Hc
12
: a
2
(1 + cos(
2
))x
1
+ 2 sin(
2
)y
1
= 0,
Hc
13
: a
2
(1 + cos(
2
))x
2
+ 2 sin(
2
)y
2
= 0,
Hc
14
: a
2
sin(
2
)x
3
2(1 + cos(
2
))y
3
= 0.
49
5. Constraint manifolds
Applying half tangent substitution (al
2
= tan

2
2
) these equations rewrite to
(5.2)
Hc
11
: 2a
2
al
2
x
0
4y
0
= 0,
Hc
12
: 2a
2
x
1
+ 4al
2
y
1
= 0,
Hc
13
: 2a
2
x
2
+ 4al
2
y
2
= 0,
Hc
14
: 2a
2
al
2
x
3
4y
3
= 0.
5.1.2. Fix u
3
By xing the third revolute axis u
3
= u
30
the corresponding 2R-chain has the matrix
representation
D = M
1
G
1
M
2
F
where F is a xed transformation given by G
2
M
3
(u
30
) G
3
. This is a transformation
in the moving frame of the 2R-manipulator. It can be executed later on directly in the
kinematic image space. Therefore one can neglect F at the moment and gets a canonical
2R-chain as shown in Figure 5.2. Furthermore the z-axis of the EE coincides with the
second revolute axis and the x-axis is aligned with the common normal of the two axes.
The forward transformation matrix of this manipulator is then given by
D = M
1
G
1
M
2
.
As one can see this matrix has the same shape as the one in Subsection 5.1.1. Only the
indices have to be changed such that 2 has to become 1 and 3 has to become 2.
After this substitution the hyperplane equations read
(5.3)
Hc
31
: 2a
1
al
1
x
0
4y
0
= 0,
Hc
32
: 2a
1
x
1
+ 4al
1
y
1
= 0,
Hc
33
: 2a
1
x
2
+ 4al
1
y
2
= 0,
Hc
34
: 2a
1
al
1
x
3
4y
3
= 0.
5.1.3. Fix u
2
This case is not as easy as the two cases before. Fixing the second revolute joint u
2
= u
20
yields a 2R-chain represented by
D = M
1
F M
3
G
3
50
5. Constraint manifolds
where F is a xed transformation, given by G
1
M
2
(u
20
) G
2
.
F is neither a coordinate transformation in the base nor in the moving frame. So it
cannot be neglected as in the previous cases.
Therefore the representation of this 2R-chain is not derived analogously to the previous
cases and the representation of the 3R-chain is also computed in a dierent way. This
will be done in Subsection 5.2.2.
5.2. Constraint manifold of a canonical serial 3R-chain
Varying the previously xed rotation angle about an axis yields the parametric represen-
tation of the constraint manifold of a canonical 3R-chain. A rotation in the Euclidean
space maps to a straight line in the kinematic image space. Therefore the representation
of a 3R-chain in the kinematic image space is a one parameter set of 3-spaces T.
The parameter of this set depends on the angle of the 3R-chain that has been xed to
generate the corresponding 2R-chain. So one gets three dierent one parameter sets of
3-spaces T(u
1
), T(u
2
) and T(u
3
), but all having the same intersection with S
2
6
(proof see
Corollary 5.1).
In the following subsections all possible cases of sets of 3-spaces will be discussed in
detail. Special attention is given to derive a simple set of equations that describe these
sets of 3-spaces.
5.2.1. Variation of u
1
In this case one has to apply the (now one parametric set of) coordinate transformations
M
1
G
1
G
2
in the base frame and G
3
in the moving frame of the 2R-manipulator of
Subsection 5.1.1. G
2
translates the base frame by d
2
in the direction of the z-axis (same
matrix as G
2
but a
2
= 0,
2
= 0).
It is one of the new and essential contributions of this thesis that the transformations
bringing the canonical manifolds to a general position can be performed eciently in
the kinematic image space. Therefore these transformations are executed on the hyper-
planes of Eq. 5.2 which describe the canonical 2R-chain in the kinematic image space.
The point transformation in the base frame would be T
b
(M
1
)T
b
(G
1
)T
b
(G
2
), so accord-
ing to Lemma 4.4 the hyperplane transformation is ((T
b
(M
1
) T
b
(G
1
) T
b
(G
2
))
T
)
1
=
51
5. Constraint manifolds
(T
b
(M
1
)
T
)
1
(T
b
(G
1
)
T
)
1
(T
b
(G
2
)
T
)
1
. After applying the tangent of the half-angle
substitutions for all angles (v
1
= tan
u
1
2
, al
i
= tan

i
2
, i = 1, 2) these transformations are
written
(T
b
(M
1
)
T
)
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0 v
1
0 0 0 0
0 1 v
1
0 0 0 0 0
0 v
1
1 0 0 0 0 0
v
1
0 0 1 0 0 0 0
0 0 0 0 1 0 0 v
1
0 0 0 0 0 1 v
1
0
0 0 0 0 0 v
1
1 0
0 0 0 0 v
1
0 0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
(T
b
(G
1
)
T
)
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2 2al
1
0 0 al
1
a
1
a
1
al
1
0
2al
1
2 0 0 a
1
al
1
a
1
0 al
1
0 0 2 2al
1
al
1
0 al
1
a
1
a
1
0 0 2al
1
2 0 al
1
a
1
al
1
a
1
0 0 0 0 2 2al
1
0 0
0 0 0 0 2al
1
2 0 0
0 0 0 0 0 0 2 2al
1
0 0 0 0 0 0 2al
1
2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
(T
b
(G
2
)
T
)
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2 0 0 0 0 0 0 d
2
0 2 0 0 0 0 d
2
0
0 0 2 0 0 d
2
0 0
0 0 0 2 d
2
0 0 0
0 0 0 0 2 0 0 0
0 0 0 0 0 2 0 0
0 0 0 0 0 0 2 0
0 0 0 0 0 0 0 2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
52
5. Constraint manifolds
The coordinate transformation G
3
in E
3
of the moving frame can be performed with
help of
(T
m
(G
3
)
T
)
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2 2al
3
0 0 al
3
a
3
a
3
al
3
d
3
d
3
2al
3
2 0 0 a
3
al
3
a
3
d
3
al
3
d
3
0 0 2 2al
3
al
3
d
3
d
3
al
3
a
3
a
3
0 0 2al
3
2 d
3
al
3
d
3
a
3
al
3
a
3
0 0 0 0 2 2al
3
0 0
0 0 0 0 2al
3
2 0 0
0 0 0 0 0 0 2 2al
3
0 0 0 0 0 0 2al
3
2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
where al
3
= tan

3
2
, in P
7
. Applying all transformations of the base and moving frames
on the hyperplane coordinates of the hyperplanes in Eq. 5.2 yields the four linear
equations:
(5.4)
Hc
1
(v
1
) : (a
2
al
2
v
1
d
2
al
3
a
1
al
3
a
3
al
1
a
1
a
2
al
2
al
3
al
1
al
3
v
1
d
2
al
1
al
3
d
3
al
1
v
1
a
3
al
1
d
3
v
1
)x
0
+(al
3
v
1
d
2
+a
2
al
2
al
3
+a
2
al
2
al
1
+a
1
+a
3
al
3
al
1
a
1
+v
1
d
2
al
1
al
3
a
3
al
1
+d
3
al
1
v
1
al
3
d
3
v
1
)x
1
+(a
1
v
1
d
2
al
1
+al
3
d
3
d
3
al
1
+ a
2
al
2
al
1
v
1
+ al
3
d
2
al
3
al
1
a
1
v
1
al
3
a
3
al
1
v
1
+ a
3
v
1
+ a
2
al
2
al
3
v
1
)x
2
+(a
3
al
1
v
1
+d
2
+d
3
al
1
a
1
v
1
+a
2
al
2
v
1
al
3
a
1
v
1
+al
3
d
2
al
1
+al
3
d
3
al
1
a
2
al
2
al
3
al
1
v
1
al
3
a
3
v
1
)x
3
+ 2(al
3
al
1
1)y
0
2(al
3
+ al
1
)y
1
2(al
1
v
1
+ al
3
v
1
)y
2
+ 2(al
3
al
1
v
1
v
1
)y
3
= 0
Hc
2
(v
1
) : (al
2
a
1
+al
2
v
1
d
2
al
1
a
2
al
1
al
2
al
3
al
1
a
1
al
2
al
3
a
3
al
1
al
2
al
3
v
1
d
2
al
2
d
3
al
1
v
1
a
2
al
3
+ al
2
a
3
+ al
2
al
3
d
3
v
1
)x
0
+ (a
2
al
3
al
1
+ al
2
v
1
d
2
al
2
al
3
d
3
al
1
v
1
+ al
2
al
3
a
1
+ al
2
al
3
a
3
al
2
d
3
v
1
+ al
2
al
1
a
1
+ al
2
a
3
al
1
+ a
2
+ al
2
al
3
v
1
d
2
al
1
)x
1
+ (al
2
d
3
al
2
d
2
+ al
2
al
3
a
1
v
1
al
2
al
3
d
2
al
1
a
2
al
3
al
1
v
1
+ al
2
al
1
a
1
v
1
+ al
2
al
3
a
3
v
1
+ al
2
a
3
al
1
v
1
+ al
2
al
3
d
3
al
1
+ a
2
v
1
)x
2
+ (a
2
al
3
v
1
+ al
2
a
1
v
1
al
2
d
2
al
1
+ al
2
al
3
d
2
al
2
al
3
d
3
+ al
2
a
3
v
1
+ al
2
d
3
al
1
al
2
al
3
al
1
a
1
v
1
al
2
al
3
a
3
al
1
v
1
a
2
al
1
v
1
)x
3
2(al
2
al
3
+ al
2
al
1
)y
0
+2(al
2
al
3
al
1
+al
2
)y
1
+2(al
2
v
1
al
2
al
3
al
1
v
1
)y
2
2(al
2
al
3
v
1
+al
2
al
1
v
1
)y
3
= 0
(5.5)
Hc
3
(v
1
) : (al
2
a
3
v
1
+ al
2
al
3
d
3
+ al
2
a
1
v
1
al
2
d
2
al
1
al
2
al
3
d
2
+ al
2
al
3
al
1
a
1
v
1
al
2
al
3
a
3
al
1
v
1
+ al
2
d
3
al
1
a
2
al
1
v
1
+ a
2
al
3
v
1
)x
0
+ (al
2
al
3
a
3
v
1
+ al
2
al
3
d
3
al
1
a
2
v
1
+ al
2
d
2
al
2
d
3
a
2
al
3
al
1
v
1
+ al
2
al
3
a
1
v
1
al
2
al
3
d
2
al
1
al
2
al
1
a
1
v
1
+ al
2
a
3
al
1
v
1
)x
1
+ (a
2
al
3
al
1
+ a
2
al
2
al
3
v
1
d
2
al
1
+al
2
v
1
d
2
+al
2
al
1
a
1
+al
2
al
3
d
3
al
1
v
1
al
2
d
3
v
1
+al
2
al
3
a
3
al
2
a
3
al
1
al
2
al
3
a
1
)x
2
+ (a
2
al
1
al
2
a
1
+ al
2
a
3
al
2
al
3
v
1
d
2
al
2
al
3
al
1
a
1
al
2
v
1
d
2
al
1
+ al
2
d
3
al
1
v
1
+ al
2
al
3
d
3
v
1
a
2
al
3
+ al
2
al
3
a
3
al
1
)x
3
+ 2(al
2
al
3
v
1
al
2
al
1
v
1
)y
0
2(al
2
v
1
+ al
2
al
3
al
1
v
1
)y
1
+ 2(al
2
al
3
al
1
+ al
2
)y
2
+ 2(al
2
al
3
+ al
2
al
1
)y
3
= 0
(5.6)
53
5. Constraint manifolds
(5.7)
Hc
4
(v
1
) : (d
2
+ al
3
a
3
v
1
d
3
a
3
al
1
v
1
+ al
3
d
3
al
1
a
2
al
2
al
3
al
1
v
1
a
2
al
2
v
1
+ al
1
a
1
v
1
al
3
a
1
v
1
+ al
3
d
2
al
1
)x
0
+ (a
1
v
1
d
2
al
1
al
3
d
2
a
2
al
2
al
3
v
1
+ a
2
al
2
al
1
v
1
+ al
3
al
1
a
1
v
1
al
3
a
3
al
1
v
1
a
3
v
1
d
3
al
1
al
3
d
3
)x
1
+(a
2
al
2
al
3
+al
3
a
3
al
1
v
1
d
2
al
1
d
3
al
1
v
1
a
2
al
2
al
1
a
1
+a
3
al
3
v
1
d
2
al
3
al
1
a
1
al
3
d
3
v
1
)x
2
+ (a
2
al
2
+a
3
al
1
al
3
a
3
al
1
a
1
+al
3
a
1
d
3
v
1
+ a
2
al
2
al
3
al
1
+ al
3
v
1
d
2
al
1
+ al
3
d
3
al
1
v
1
v
1
d
2
)x
3
+ 2(al
3
al
1
v
1
+ v
1
)y
0
+ 2(al
3
v
1
al
1
v
1
)y
1
+ 2(al
1
al
3
)y
2
+2(1 + al
3
al
1
)y
3
= 0
Intersecting this set of hyperplane equations yield the one parameter set of 3-spaces
T
c
(v
1
) whose intersection with the Study quadric is the constraint manifold of the canon-
ical serial 3R-chain.
Remark 5.2. It has to be emphasized that the presented algorithm allows writing the
equations completely general, i.e. without specifying the DH parameters.
Remark 5.3. The intersection fails if this manifold lies on S
2
6
. This happens when the
second and the third revolute axes are parallel or do intersect. In this cases one has
to take another set of hyperplane equations T
c
(v
2
) or T
c
(v
3
) to compute the constraint
manifold (see next subsection).
5.2.2. Variation of u
2
As mentioned in Subsection 5.1.3 this case requires another algorithm to derive equations
representing the one parameter set of 3-spaces T
c
(v
2
).
The starting point is the canonical 3R-manipulator (d
1
= 0) given by
(5.8) D = M
1
G
1
M
2
G
2
M
3
.
Tangent of the half-angle substitution is applied to all angles (v
i
= tan
u
i
2
, i = 1, 2, 3
and al
i
= tan

i
2
, i = 1, 2). The kinematic image of this 3R-manipulator is a manifold
depending on v
1
, v
2
and v
3
. The parametric representation, computed using Theorem
5.1, is
p(v
1
, v
2
, v
3
) = (p
0
: p
1
: p
2
: p
3
: p
4
: p
5
: p
6
)
where
p
0
= 2(1 v
3
v
2
al
1
al
2
al
1
v
3
al
2
v
2
v
1
al
1
al
2
v
2
+ v
3
v
1
al
1
al
2
v
1
v
2
v
3
v
1
),
p
1
= 2(al
2
+ v
3
al
2
v
2
+ al
1
al
1
v
2
v
3
+ v
1
al
1
v
2
+ v
3
v
1
al
1
al
2
v
1
v
2
+ v
3
v
1
al
2
),
p
2
= 2(v
3
al
2
+ al
2
v
2
al
1
v
2
v
3
al
1
+ al
2
v
1
+ v
1
v
3
al
2
v
2
+ v
1
al
1
v
1
al
1
v
2
v
3
),
p
3
= 2(v
2
+ v
3
v
3
al
1
al
2
+ al
1
al
2
v
2
+ v
1
v
3
v
1
v
2
v
1
al
1
al
2
v
1
al
1
v
3
al
2
v
2
),
54
5. Constraint manifolds
p
4
= al
1
v
2
v
3
a
1
+ al
2
a
2
+ al
2
a
1
+ al
1
a
2
+ al
1
a
1
a
2
v
2
v
3
al
2
+ al
1
v
2
a
2
v
3
+ al
1
d
2
v
3
al
2
+ a
1
v
3
al
2
v
2
+ v
1
al
1
v
2
a
2
+ v
1
al
1
al
2
d
2
+ v
1
al
2
v
2
a
1
d
2
v
3
v
1
v
2
+ d
2
v
1
+ d
2
v
2
+ d
2
v
3
+ v
1
al
1
v
2
d
2
v
3
al
2
v
1
a
1
v
3
al
2
v
1
a
1
v
3
al
1
a
2
v
1
al
2
v
2
a
2
v
1
v
3
al
2
a
2
v
1
v
3
al
1
al
1
d
2
al
2
v
2
v
1
a
1
al
1
v
2
,
p
5
= d
2
al
1
v
2
+a
2
v
1
v
2
a
1
+d
2
al
2
v
2
+d
2
v
1
al
2
a
2
+al
1
d
2
v
3
+a
1
al
1
al
2
v
1
al
1
d
2
v
2
a
2
v
3
+v
1
al
1
al
2
a
2
v
2
+v
1
al
1
v
2
v
3
d
2
+v
1
a
2
v
3
al
1
al
2
+v
1
v
2
d
2
v
3
al
2
v
1
al
1
a
1
al
2
v
2
+v
1
a
1
v
3
al
1
al
2
+a
2
al
1
al
2
+a
1
v
3
v
2
v
1
a
2
v
3
v
1
a
1
v
2
v
1
a
1
v
3
d
2
v
3
al
2
al
1
a
2
v
2
v
3
al
2
+al
1
a
1
v
3
al
2
v
2
,
p
6
= v
1
a
1
+ a
2
v
1
al
1
al
2
v
2
d
2
v
3
al
2
a
2
v
1
a
2
v
2
al
2
d
2
+ al
1
d
2
+ a
2
v
3
+ al
2
v
1
v
2
d
2
al
1
v
2
v
3
d
2
+ a
1
v
2
+ a
1
v
3
a
1
v
3
al
1
al
2
a
2
v
3
al
1
al
2
al
1
al
2
a
2
v
2
+ al
1
a
1
al
2
v
2
+ v
1
al
1
d
2
v
3
+ v
1
d
2
al
1
v
2
v
1
v
2
a
2
v
3
v
1
d
2
v
3
al
2
+ v
1
a
1
v
3
v
2
v
1
al
1
a
2
v
2
v
3
al
2
+ v
1
al
1
a
1
v
3
al
2
v
2
+ a
1
v
1
al
1
al
2
,
p
7
= al
1
v
2
a
1
al
1
v
2
v
3
v
1
a
1
d
2
+ v
1
v
2
d
2
al
1
v
2
d
2
v
3
al
2
+ v
1
al
1
v
2
a
2
v
3
v
1
al
1
d
2
al
2
v
2
+ v
1
al
1
d
2
v
3
al
2
+ v
1
a
1
v
3
al
2
v
2
+ al
1
v
1
a
1
+ al
2
v
1
a
1
+ al
2
a
2
v
1
+ al
2
a
2
v
2
+ v
3
v
1
d
2
+ v
3
v
2
d
2
al
1
al
2
d
2
+ al
1
a
2
v
1
v
3
al
2
a
2
v
1
v
2
al
2
v
2
a
1
+ v
3
al
2
a
1
+ v
3
al
1
a
1
+ v
3
al
2
a
2
+ v
3
al
1
a
2
al
1
v
2
a
2
.
To obtain a representation for T(v
2
) analogous to the one of T(v
1
) in Subsection 5.2.1,
but linear in v
2
, one has to nd coecients a, . . . , p for the hyperplane equations such
that
(5.9)
ap
0
+ bp
1
+ cp
2
+ dp
3
+ ep
4
+ fp
5
+ gp
6
+ hp
7
+ v
2
(ip
0
+ jp
1
+ kp
2
+ lp
3
+ mp
4
+ np
5
+ op
6
+ pp
7
) = 0
holds. Furthermore these coecients should be polynomials only depending on the DH
parameters and especially they should be independent of v
1
and v
3
.
It is possible to nd those coecients in the following way:
The absolute terms (the coecients of v
2
0
) in p
0
, . . . , p
7
of Eq. 5.9 are denoted by
p
00
, . . . , p
70
and the coecients of v
2
by p
01
, . . . , p
71
. Then Eq. 5.9 rewrites to
ap
00
+bp
10
+cp
20
+dp
30
+ep
40
+fp
50
+gp
60
+hp
70
+v
2
(ap
01
+bp
11
+cp
21
+dp
31
+ep
41
+fp
51
+gp
61
+hp
71
+ip
00
+jp
10
+kp
20
+lp
30
+mp
40
+np
50
+op
60
+pp
70
)
+ v
2
2
(ip
01
+ jp
11
+ kp
21
+ lp
31
+ mp
41
+ np
51
+ op
61
+ pp
71
) = 0.
In this equation the coecients of all powers of v
2
have to vanish.
Therefore the polynomial ip
01
+ jp
11
+ kp
21
+ lp
31
+ mp
41
+ np
51
+ op
61
+ pp
71
has to
vanish. That means especially the four coecients of v
1
, v
3
, v
1
v
3
and (v
1
v
3
)
0
have to
vanish. This yields a linear system of four equations in 8 unknowns i, . . . , p.
It would be analogous to the previous case if these coecients would be polynomials
without a denominator. This is possible but the coecients are of course not unique,
55
5. Constraint manifolds
otherwise one could not nd four such sets of coecients, that are necessary to obtain
four hyperplane equations. One possible solution is:
i = l = m = o = p = 0,
j = (a
1
a
2
)(al
1
al
2
+ 1), k = (al
1
+ al
2
)d
2
, n = 2(al
1
al
2
).
The remaining unknowns a, . . . , h appear in the coecients of v
2
and v
0
2
. With the same
considerations as above one gets eight linear equations in these unknowns to solve for
them. For one choice of i, . . . , p these unknowns are unique and are computed as:
a = d = e = f = h = 0
b = d
2
(al
1
al
2
), c = (al
1
al
2
1)(a
1
+ a
2
), g = 2(al
1
+ al
2
).
Therefore Eq. 5.9 reads
Hc
1
(v
2
) : (v
2
(a
1
a
2
)(al
1
al
2
+ 1) + d
2
(al
1
al
2
))x
1
+(v
2
d
2
(al
1
+al
2
)+(al
1
al
2
1)(a
1
+a
2
))x
2
+2v
2
(al
1
al
2
)y
1
2(al
1
+al
2
)y
2
=0
Three other possible choices for i, . . . , p are:
2 3 4
i (a
1
a
2
)(al
1
al
2
) 0 d
2
(al
1
al
2
1)
j 0 d
2
(al
1
+ al
2
) 0
k 0 (a
1
a
2
)(al
1
al
2
+ 1) 0
l d
2
(al
1
al
2
1) 0 (a
1
a
2
)(al
1
al
2
)
m 2(al
1
al
2
+ 1) 0 0
n 0 0 0
o 0 2(al
1
al
2
) 0
p 0 0 2(al
1
al
2
+ 1)
And the corresponding remaining coecients are computed as
2 3 4
a d
2
(al
1
al
2
+ 1) 0 (a
1
+ a
2
)(al
1
+ al
2
)
b 0 (a
1
+ a
2
)(al
1
al
2
1) 0
c 0 d
2
(al
1
al
2
) 0
d (a
1
+ a
2
)(al
1
+ al
2
) 0 d
2
(al
1
al
2
+ 1)
e 0 0 2(al
1
al
2
1)
f 0 2(al
1
+ al
2
) 0
g 0 0 0
h 2(al
1
al
2
1) 0 0
56
5. Constraint manifolds
These yield the three hyperplane equations
Hc
2
(v
2
) : (v
2
(a
1
a
2
)(al
1
al
2
) d
2
(al
1
al
2
+ 1))x
0
+ (v
2
d
2
(al
1
al
2
1) + (a
1
+ a
2
)(al
1
+ al
2
))x
3
2v
2
(al
1
al
2
+ 1)y
0
+ 2(al
1
al
2
1)y
3
= 0
Hc
3
(v
2
) : (v
2
d
2
(al
1
+ al
2
) + (a
1
+ a
2
)(al
1
al
2
1))x
1
(v
2
(a
1
a
2
)(al
1
al
2
+ 1) + d
2
(al
1
al
2
))x
2
2(al
1
+ al
2
)y
1
v
2
(al
1
al
2
)y
2
= 0
Hc
4
(v
2
) : (v
2
d
2
(al
1
al
2
1) (a
1
+ a
2
)(al
1
+ al
2
))x
0
+ (v
2
(a
1
a
2
)(al
1
al
2
) d
2
(al
1
al
2
+ 1))x
3
2(al
1
al
2
1)y
0
2v
2
(al
1
al
2
+ 1)y
3
= 0
To proceed from Eq. 5.8 to a general canonical 3R-chain only the coordinate transforma-
tion G
3
in the moving frame is missing. Executing this transformation in the kinematic
image space on the hyperplane equations Hc
1
(v
2
), Hc
2
(v
2
), Hc
3
(v
2
) and Hc
4
(v
2
) yields
(5.10)
Hc
1
(v
2
) : (al
3
v
2
a
1
+ al
3
al
1
al
2
a
2
v
2
al
3
al
1
a
1
al
2
v
2
+ al
3
a
2
v
2
al
3
al
1
d
2
+ al
3
al
2
d
2
+ a
3
al
1
v
2
al
2
a
3
v
2
al
3
d
3
al
2
al
3
d
3
al
1
)x
0
+ (a
1
v
2
al
1
al
2
a
2
v
2
+ al
1
a
1
al
2
v
2
a
2
v
2
+ al
1
d
2
al
2
d
2
+ al
3
a
3
al
1
v
2
a
3
al
3
al
2
v
2
+ d
3
al
2
+ d
3
al
1
)x
1
+ (d
2
al
2
v
2
+ al
1
d
2
v
2
a
1
+ a
2
al
1
al
2
a
2
+ a
1
al
1
al
2
+ d
3
al
1
v
2
d
3
al
2
v
2
a
3
al
3
al
2
a
3
al
3
al
1
)x
2
+(d
2
al
3
al
2
v
2
al
1
d
2
al
3
v
2
+al
3
a
1
al
3
al
1
al
2
a
2
+al
3
a
2
al
3
al
1
al
2
a
1
d
3
al
1
al
3
v
2
+ al
3
d
3
al
2
v
2
al
2
a
3
al
1
a
3
)x
3
2al
3
v
2
(al
1
al
2
)y
0
+ 2(al
1
v
2
al
2
v
2
)y
1
2(al
2
+ al
1
)y
2
+ 2al
3
(al
2
+ al
1
)y
3
= 0,
(5.11)
Hc
2
(v
2
) : (al
2
a
2
v
2
+al
1
v
2
a
1
al
1
v
2
a
2
al
2
v
2
a
1
d
2
al
1
al
2
d
2
al
3
a
3
al
1
al
2
v
2
al
3
a
3
v
2
+ d
3
al
1
al
2
d
3
)x
0
(a
2
al
3
al
2
v
2
+ al
3
al
1
v
2
a
1
al
3
al
1
v
2
a
2
a
1
al
3
al
2
v
2
al
3
d
2
al
3
al
1
al
2
d
2
+ a
3
al
1
al
2
v
2
+ a
3
v
2
+ al
3
d
3
al
1
al
2
al
3
d
3
)x
1
+ (al
1
d
2
al
3
al
2
v
2
+ d
2
al
3
v
2
+ a
2
al
3
al
2
+ a
1
al
3
al
2
+ a
2
al
3
al
1
+ a
1
al
3
al
1
+ al
3
d
3
al
1
al
2
v
2
+ d
3
al
3
v
2
a
3
al
1
al
2
+ a
3
)x
2
+ (al
1
d
2
al
2
v
2
+ d
2
v
2
+ al
2
a
2
+ al
2
a
1
+ al
1
a
2
+ al
1
a
1
+ d
3
al
1
al
2
v
2
+ d
3
v
2
+ al
3
al
1
al
2
a
3
al
3
a
3
)x
3
2(al
1
al
2
v
2
+ v
2
)y
0
2al
3
v
2
(1 +al
1
al
2
)y
1
+ 2al
3
(al
1
al
2
1)y
2
+ 2(al
1
al
2
1)y
3
= 0,
(5.12)
Hc
3
(v
2
) : (d
2
al
3
al
2
v
2
al
1
d
2
al
3
v
2
+ al
3
a
1
al
3
al
1
al
2
a
2
+ al
3
a
2
al
3
al
1
al
2
a
1
d
3
al
1
al
3
v
2
+ al
3
d
3
al
2
v
2
al
2
a
3
al
1
a
3
)x
0
+(d
2
al
2
v
2
+al
1
d
2
v
2
a
1
+a
2
al
1
al
2
a
2
+a
1
al
1
al
2
+d
3
al
1
v
2
d
3
al
2
v
2
a
3
al
3
al
2
a
3
al
3
al
1
)x
1
+ (al
1
al
2
a
2
v
2
a
1
v
2
al
1
a
1
al
2
v
2
+ a
2
v
2
al
1
d
2
+ al
2
d
2
d
3
al
2
d
3
al
1
+ a
3
al
3
al
2
v
2
al
3
a
3
al
1
v
2
)x
2
+ (al
3
al
1
al
2
a
2
v
2
+ al
3
v
2
a
1
+ al
3
al
1
a
1
al
2
v
2
al
3
a
2
v
2
+ al
3
al
1
d
2
al
3
al
2
d
2
+al
3
d
3
al
2
+al
3
d
3
al
1
+al
2
a
3
v
2
a
3
al
1
v
2
)x
3
+2al
3
(al
2
+al
1
)y
0
2(al
2
+ al
1
)y
1
+ 2(al
2
v
2
al
1
v
2
)y
2
+ 2al
3
v
2
(al
1
al
2
)y
3
= 0,
57
5. Constraint manifolds
(5.13)
Hc
4
(v
2
) : (al
1
d
2
al
2
v
2
d
2
v
2
al
2
a
1
al
1
a
1
al
2
a
2
al
1
a
2
+al
3
a
3
al
3
al
1
al
2
a
3
d
3
al
1
al
2
v
2
d
3
v
2
)x
0
+(al
1
d
2
al
3
al
2
v
2
d
2
al
3
v
2
a
1
al
3
al
2
a
1
al
3
al
1
a
2
al
3
al
2
a
2
al
3
al
1
a
3
+ a
3
al
1
al
2
al
3
d
3
al
1
al
2
v
2
d
3
al
3
v
2
)x
1
+ (a
2
al
3
al
2
v
2
+ al
3
al
1
v
2
a
1
al
3
al
1
v
2
a
2
a
1
al
3
al
2
v
2
al
3
d
2
al
3
al
1
al
2
d
2
+ a
3
al
1
al
2
v
2
+ a
3
v
2
+ al
3
d
3
al
1
al
2
al
3
d
3
)x
2
+(al
2
a
2
v
2
+al
1
v
2
a
1
al
1
v
2
a
2
al
2
v
2
a
1
d
2
al
1
al
2
d
2
al
3
a
3
al
1
al
2
v
2
al
3
a
3
v
2
+ d
3
al
1
al
2
d
3
)x
3
+ 2(1 al
1
al
2
)y
0
2al
3
(al
1
al
2
1)y
1
2al
3
v
2
(1 +al
1
al
2
)y
2
2(al
1
al
2
v
2
+ v
2
)y
3
= 0.
This is the representation of the one parameter set of 3-spaces T
c
(v
2
).
Intersecting this set of hyperplane equations with the Study quadric yields the constraint
manifold of the 3R-chain.
Remark 5.4. The intersection is only possible, if the manifold does not lie on S
2
6
. This
happens if it is a planar or spherical 3R-chain or if the rst and the third axes are parallel
and the second axis lies orthogonal to the other two and d
2
= 0. In all these cases one
has to take one set of hyperplane equations either T
c
(v
1
) or T
c
(v
3
) (see next subsection)
to obtain the constraint manifold.
5.2.3. Variation of u
3
To obtain the equations of the hyperplanes depending on the rotation angle u
3
of the
third revolute axis one has to take the hyperplanes of Eq. 5.3 in Subsection 5.1.1. To
achieve a canonical 3R-chain one has to apply the (now one parametric set of) coordinate
transformations G
2
M
3
G
3
in the moving frame of the 2R-manipulator.
Again these transformations can be executed on the hyperplanes of Eq. 5.3 describing
this 2R-chain in the kinematic image space.
The point transformation in the moving frame would be T
m
(G
3
) T
m
(M
3
) T
m
(G
2
), so
the hyperplane transformation is ((T
m
(G
3
) T
m
(M
3
) T
m
(G
2
))
T
)
1
= (T
m
(G
3
)
T
)
1

(T
m
(M
3
)
T
)
1
(T
m
(G
2
)
T
)
1
. They are written, after applying tangent of the half-angle
58
5. Constraint manifolds
substitutions for all angles (v
3
= tan
u
3
2
, al
i
= tan

i
2
, i = 2, 3)
(T
m
(G
2
)
T
)
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2 2al
2
0 0 al
2
a
2
a
2
al
2
d
2
d
2
2al
2
2 0 0 a
2
al
2
a
2
d
2
al
2
d
2
0 0 2 2al
2
al
2
d
2
d
2
al
2
a
2
a
2
0 0 2al
2
2 d
2
al
2
d
2
a
2
al
2
a
2
0 0 0 0 2 2al
2
0 0
0 0 0 0 2al
2
2 0 0
0 0 0 0 0 0 2 2al
2
0 0 0 0 0 0 2al
2
2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
(T
b
(M
3
)
T
)
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0 v
3
0 0 0 0
0 1 v
3
0 0 0 0 0
0 v
3
1 0 0 0 0 0
v
3
0 0 1 0 0 0 0
0 0 0 0 1 0 0 v
3
0 0 0 0 0 1 v
3
0
0 0 0 0 0 v
3
1 0
0 0 0 0 v
3
0 0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
(T
b
(G
3
)
T
)
1
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2 2al
3
0 0 al
3
a
3
a
3
al
3
d
3
d
3
2al
3
2 0 0 a
3
al
3
a
3
d
3
al
3
d
3
0 0 2 2al
3
al
3
d
3
d
3
al
3
a
3
a
3
0 0 2al
3
2 d
3
al
3
d
3
a
3
al
3
a
3
0 0 0 0 2 2al
3
0 0
0 0 0 0 2al
3
2 0 0
0 0 0 0 0 0 2 2al
3
0 0 0 0 0 0 2al
3
2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
Executed on the hyperplane coordinates of Eq. 5.3 yields the four linear equations:
Hc
1
(v
3
) : (a
1
al
1
a
1
al
1
al
2
al
3
al
2
a
2
d
2
v
3
al
3
a
2
al
3
al
2
d
2
v
3
al
3
a
3
al
2
a
3
+al
2
v
3
al
3
d
3
v
3
d
3
)x
0
+(a
1
al
1
al
3
+a
1
al
1
al
2
al
3
al
2
a
2
al
3
d
2
v
3
+a
2
+al
2
d
2
v
3
+a
3
al
2
al
3
a
3
al
2
v
3
d
3
v
3
al
3
d
3
)x
1
+(a
1
al
1
al
2
v
3
+a
1
al
1
v
3
al
3
al
3
al
2
a
2
v
3
+al
3
d
2
a
2
v
3
+al
2
d
2
al
2
d
3
+al
3
d
3
+v
3
a
3
+al
2
v
3
al
3
a
3
)x
2
+ (a
1
al
1
al
2
v
3
al
3
+a
1
al
1
v
3
+al
3
a
2
v
3
al
3
al
2
d
2
al
2
a
2
v
3
+d
2
+d
3
+al
2
al
3
d
3
+al
2
v
3
a
3
v
3
al
3
a
3
)x
3
+2(1+al
2
al
3
)y
0
2(al
3
+al
2
)y
1
+2(al
2
v
3
v
3
al
3
)y
2
2(al
2
v
3
al
3
+v
3
)y
3
= 0,
(5.14)
59
5. Constraint manifolds
Hc
2
(v
3
) : (a
1
al
2
a
1
al
3
+al
1
a
2
+al
1
al
2
d
2
v
3
al
1
al
3
al
2
a
2
al
1
al
3
d
2
v
3
al
1
al
2
al
3
a
3
+ al
1
a
3
al
1
v
3
al
3
d
3
al
1
al
2
v
3
d
3
)x
0
+ (a
1
a
1
al
2
al
3
+ al
1
al
2
a
2
+ al
1
d
2
v
3
+ al
1
al
3
a
2
+ al
1
al
3
al
2
d
2
v
3
+ al
1
al
3
a
3
+ al
1
al
2
a
3
al
1
al
2
v
3
al
3
d
3
+ al
1
v
3
d
3
)x
1
+ (a
1
v
3
a
1
al
2
v
3
al
3
al
1
al
2
a
2
v
3
+ al
1
d
2
+ al
1
al
3
a
2
v
3
al
1
al
3
al
2
d
2
+ al
1
al
2
al
3
d
3
+ al
1
d
3
al
1
v
3
al
3
a
3
+ al
1
al
2
v
3
a
3
)x
2
+(a
1
al
2
v
3
+a
1
v
3
al
3
+al
1
al
3
al
2
a
2
v
3
al
1
al
3
d
2
+al
1
a
2
v
3
al
1
al
2
d
2
+al
1
al
2
d
3
al
1
al
3
d
3
al
1
v
3
a
3
al
1
al
2
v
3
al
3
a
3
)x
3
2(al
1
al
2
+ al
1
al
3
)y
0
+2(al
1
al
1
al
2
al
3
)y
1
2(al
1
v
3
+al
1
al
2
v
3
al
3
)y
2
+2(al
1
al
2
v
3
+al
1
v
3
al
3
)y
3
=0,
(5.15)
Hc
3
(v
3
) : (a
1
al
2
v
3
a
1
v
3
al
3
al
1
al
3
al
2
a
2
v
3
+ al
1
al
3
d
2
+ al
1
al
2
d
2
al
1
a
2
v
3
+ al
1
v
3
a
3
+ al
1
al
2
v
3
al
3
a
3
al
1
al
2
d
3
+ al
1
al
3
d
3
)x
0
+ (a
1
al
2
v
3
al
3
+ a
1
v
3
al
1
al
3
a
2
v
3
+ al
1
al
3
al
2
d
2
+ al
1
al
2
a
2
v
3
al
1
d
2
al
1
d
3
al
1
al
2
al
3
d
3
al
1
al
2
v
3
a
3
+al
1
v
3
al
3
a
3
)x
1
+(a
1
a
1
al
2
al
3
+al
1
al
2
a
2
+al
1
d
2
v
3
+ al
1
al
3
a
2
+ al
1
al
3
al
2
d
2
v
3
+ al
1
al
3
a
3
+ al
1
al
2
a
3
al
1
al
2
v
3
al
3
d
3
+ al
1
v
3
d
3
)x
2
+(a
1
al
2
a
1
al
3
+al
1
a
2
+al
1
al
2
d
2
v
3
al
1
al
3
al
2
a
2
al
1
al
3
d
2
v
3
al
1
al
2
al
3
a
3
+ al
1
a
3
al
1
v
3
al
3
d
3
al
1
al
2
v
3
d
3
)x
3
+ 2(al
1
al
2
v
3
al
1
v
3
al
3
)y
0
+ 2(al
1
al
2
v
3
al
3
+ al
1
v
3
)y
1
+ 2(al
1
al
1
al
2
al
3
)y
2
2(al
1
al
2
+ al
1
al
3
)y
3
= 0,
(5.16)
(5.17)
Hc
4
(v
3
) : (a
1
al
1
v
3
a
1
al
1
al
2
v
3
al
3
+al
2
a
2
v
3
d
2
al
3
a
2
v
3
+al
3
al
2
d
2
al
2
al
3
d
3
d
3
+ v
3
al
3
a
3
al
2
v
3
a
3
)x
0
+ (a
1
al
1
al
2
v
3
a
1
al
1
v
3
al
3
+ al
3
al
2
a
2
v
3
al
3
d
2
al
2
d
2
+ a
2
v
3
v
3
a
3
al
2
v
3
al
3
a
3
+ al
2
d
3
al
3
d
3
)x
1
+(a
1
al
1
al
3
+a
1
al
1
al
2
al
3
al
2
a
2
al
3
d
2
v
3
+a
2
+al
2
d
2
v
3
+a
3
al
2
al
3
a
3
al
2
v
3
d
3
v
3
al
3
d
3
)x
2
+ (a
1
al
1
a
1
al
1
al
2
al
3
al
2
a
2
d
2
v
3
al
3
a
2
al
3
al
2
d
2
v
3
al
3
a
3
al
2
a
3
+al
2
v
3
al
3
d
3
v
3
d
3
)x
3
+2(v
3
+al
2
v
3
al
3
)y
0
+ 2(al
2
v
3
+ v
3
al
3
)y
1
2(al
3
+ al
2
)y
2
+ 2(1 + al
2
al
3
)y
3
= 0.
The intersection of these hyperplane equations is the one parameter set of 3-spaces
T
c
(v
3
). Intersecting this set with the Study quadric yields the constraint manifold of the
canonical 3R-chain.
Remark 5.5. This intersection fails if the manifold lies on S
2
6
. This happens if the rst
and the second axes are parallel or do intersect. In this case one has to take one set
of hyperplane equations either T
c
(v
1
) or T
c
(v
2
) to obtain the constraint manifold of the
canonical 3R-chain.
5.2.4. Special cases
In Remarks 5.3 - 5.5 all cases where two of the three axes are parallel or intersecting
have been treated exhaustively.
When, on the other hand, all three axes are parallel or intersecting then the caution
of Remarks 5.3 - 5.5 do not apply. One theoretically could take any set of 3-spaces
60
5. Constraint manifolds
T(v
i
) i = 1, . . . , 3. One can compute the manifolds for these special cases and will see
that for every value of v
1
, v
2
or v
3
the sets of hyperplanes will always have the same
3-space as intersection and this space lies on S
2
6
. Therefore in these cases the sets of
hyperplanes are not one parametric, they are xed. It is not practicable to derive the
xed hyperplanes from one of the sets T(v
i
), i = 1, 2, 3. There exists a better method
to derive the equations of canonical planar or spherical 3R-chains which is shown in the
following two paragraphs.
Canonical planar 3R-mechanism
In this case the DH parameters d
2
,
1
and
2
are equal to zero.
The canonical 3R-chain that is given by
G = M
1
G
1
M
2
G
2
M
3
is a planar mechanism, where the z-axis of the EE lies on the third revolute axis and
the x-axis is, in the initial position, aligned with the x-axis of the base frame. The
parametric representation of this manipulator in the kinematic image space fullls
x
1
= 0, x
2
= 0, y
0
= 0, y
3
= 0.
If one transforms the EE to a general position by applying the coordinate transformation
G
3
in the moving frame, performed in the kinematic image space, these equations are
rewritten as
(5.18)
Hc
p1
: al
3
x
0
+ x
1
= 0
Hc
p2
: x
2
al
3
x
3
= 0
Hc
p3
: al
3
a
3
x
0
a
3
x
1
al
3
d
3
x
2
d
3
x
3
+ 2y
0
+ 2al
3
y
1
= 0
Hc
p4
: d
3
x
0
+ al
3
d
3
x
1
a
3
x
2
+ al
3
a
3
x
3
+ 2al
3
y
2
+ 2y
3
= 0.
This xed linear 3-space is denoted T
cp
.
Canonical spherical 3R-mechanism
In this case the DH parameters a
1
, a
2
and d
2
are equal to zero.
The canonical 3R-chain that is given by
(5.19) D = M
1
G
1
M
2
G
2
M
3
is a spherical chain, where the EE frame is, in the initial position, coincident with the
base frame. That means, that this chain only rotates the EE about its own origin and
61
5. Constraint manifolds

3
EE frame
Figure 5.3.: General 3R-serial-chain
the base frames origin. The parametric representation of this chain in the kinematic
image space fullls the equations
y
0
= 0, y
1
= 0, y
2
= 0, y
3
= 0.
But if the EE is not in this position, which means that Eq. 5.19 is multiplied from the
right side by G
3
, then these equations become
(5.20)
Hc
w1
: al
3
a
3
x
0
a
3
x
1
al
3
d
3
x
2
d
3
x
3
+ 2y
0
+ 2al
3
y
1
= 0
Hc
w2
: a
3
x
0
+ al
3
a
3
x
1
+ d
3
x
2
al
3
d
3
x
3
2al
3
y
0
+ 2y
1
= 0
Hc
w3
: al
3
d
3
x
0
d
3
x
1
+ al
3
a
3
x
2
+ a
3
x
3
+ 2y
2
2al
3
y
3
= 0
Hc
w4
: d
3
x
0
+ al
3
d
3
x
1
a
3
x
2
+ al
3
a
3
x
3
+ 2al
3
y
2
+ 2y
3
= 0.
This xed 3-space is denoted by T
cw
5.3. Constraint manifold of a general serial 3R-chain
This section proceeds to discuss the general case. It diers from the canonical 3R-chains
by having a general position of the rst revolute axis with respect to the xed coordinate
system (see Figure 5.3).
It is also necessary to have a representation for such a general 3R-chain for the new
algorithm for the inverse kinematics of a general serial 6R-chain presented in Chapter 6.
Remark 5.6. For every general mechanism one may assume that d
1
= 0 because an
appropriate translation can be included into the transformation
0

1
.
62
5. Constraint manifolds
5.3.1. Version Nr.1
In Section 5.2 the 3R-chain was always a canonical one, which means that the rst axis
is coincident with the z-axis of the base frame and the DH parameter d
1
is equal to zero.
To derive from the constraint manifold of the canonical 3R-chain in Section 5.2 the equa-
tions of the constraint manifold of an arbitrarily placed 3R-chain only a xed coordinate
transformation in the base frame is needed. This can be executed in the kinematic image
space via the matrix (T
T
b
)
1
from Section 4.3.1. Applied to the one parameter sets of
3-spaces T
c
(v
1
), T
c
(v
2
) and T
c
(v
3
), generated as intersections of the one parameter sets of
hyperplanes in Eqs. 5.4 - 5.7, 5.10 - 5.13 and 5.14 - 5.17, and the xed 3-spaces T
cp
and
T
cw
, generated as the intersections of the hyperplanes in Eqs. 5.18 and 5.20, this yields
new sets of hyperplane equations intersecting in one parameter sets of 3-spaces and xed
3-spaces. The resulting one parameter sets of 3-spaces will be denoted by T(v
1
), T(v
2
)
and T(v
3
). The hyperplane equations describing these sets of 3-spaces are a little bit
more complicated. They are displayed in Appendix A.
The hyperplane equations describing the xed 3-space as the constraint manifold T
p
of
an arbitrary planar 3R-mechanism, where the rst axis does not coincide with the z-axis
of the base frame, is described as the intersection of the four hyperplanes
(5.21) H
p1
: 2x
0
(t
0
al
3
+t
1
) +2x
1
(t
1
al
3
+t
0
) +2x
2
(t
2
al
3
+t
3
) 2x
3
(t
3
al
3
+t
2
) = 0,
(5.22) H
p2
: 2x
0
(t
2
+t
3
al
3
) 2x
1
(t
3
+t
2
al
3
) + 2x
2
(t
0
+t
1
al
3
) + 2x
3
(t
1
t
0
al
3
) = 0,
(5.23)
H
p3
: x
0
(t
0
al
3
a
3
+ t
1
a
3
+ t
2
al
3
d
3
+ t
3
d
3
+ 2t
4
2t
5
al
3
)
+ x
1
(t
1
al
3
a
3
t
0
a
3
+ t
3
al
3
d
3
t
2
d
3
+ 2t
5
+ 2t
4
al
3
)
+ x
2
(t
2
al
3
a
3
t
3
a
3
t
0
al
3
d
3
+ t
1
d
3
+ 2t
6
+ 2t
7
al
3
)
+ x
3
(t
3
al
3
a
3
+ t
2
a
3
t
1
al
3
d
3
t
0
d
3
+ 2t
7
2t
6
al
3
) + 2y
0
(t
1
al
3
+ t
0
)
+ 2y
1
(t
1
+ t
0
al
3
) + 2y
2
(t
2
+ t
3
al
3
) + 2y
3
(t
2
al
3
+ t
3
) = 0,
(5.24)
H
p4
: x
0
(t
0
d
3
t
1
al
3
d
3
+ t
2
a
3
t
3
al
3
a
3
2t
6
al
3
2t
7
)
+ x
1
(t
1
d
3
+ t
0
al
3
d
3
+ t
3
a
3
+ t
2
al
3
a
3
2t
7
al
3
+ 2t
6
)
+ x
2
(t
2
d
3
+ t
3
al
3
d
3
t
0
a
3
t
1
al
3
a
3
+ 2t
4
al
3
2t
5
)
+ x
3
(t
3
d
3
t
2
al
3
d
3
t
1
a
3
+ t
0
al
3
a
3
+ 2t
5
al
3
+ 2t
4
) 2y
0
(t
3
+ t
2
al
3
)
+ 2y
1
(t
3
al
3
+ t
2
) + 2y
2
(t
0
al
3
t
1
) + 2y
3
(t
0
+ t
1
al
3
) = 0.
The manifold T
w
describing an arbitrary spherical 3R-chain in P
7
is given by the inter-
section of the hyperplanes
(5.25)
H
w1
: x
0
(t
0
al
3
a
3
+ t
1
a
3
+ t
2
al
3
d
3
+ t
3
d
3
+ 2t
4
2t
5
al
3
)
+ x
1
(t
1
al
3
a
3
t
0
a
3
+ t
3
al
3
d
3
t
2
d
3
+ 2t
5
+ 2t
4
al
3
)
+ x
2
(t
2
al
3
a
3
t
3
a
3
t
0
al
3
d
3
+ t
1
d
3
+ 2t
6
+ 2t
7
al
3
)
+ x
3
(t
3
al
3
a
3
+ t
2
a
3
t
1
al
3
d
3
t
0
d
3
+ 2t
7
2t
6
al
3
) + 2y
0
(t
0
t
1
al
3
)
+ 2y
1
(t
1
+ t
0
al
3
) + 2y
2
(t
2
+ t
3
al
3
) + 2y
3
(t
3
t
2
al
3
) = 0
63
5. Constraint manifolds
(5.26)
H
w2
: x
0
(t
0
a
3
t
1
al
3
a
3
t
2
d
3
+ t
3
al
3
d
3
2t
4
al
3
2t
5
)
+ x
1
(t
1
a
3
+ t
0
al
3
a
3
t
3
d
3
t
2
al
3
d
3
2t
5
al
3
+ 2t
4
)
+ x
2
(t
2
a
3
+ t
3
al
3
a
3
+ t
0
d
3
+ t
1
al
3
d
3
2t
6
al
3
+ 2t
7
)
+ x
3
(t
3
a
3
t
2
al
3
a
3
+ t
1
d
3
t
0
al
3
d
3
2t
7
al
3
2t
6
) 2y
0
(t
0
al
3
+ t
1
)
+ 2y
1
(t
0
t
1
al
3
) + 2y
2
(t
3
t
2
al
3
) 2y
3
(t
3
al
3
+ t
2
) = 0
(5.27)
H
w3
: x
0
(t
0
al
3
d
3
+ t
1
d
3
t
2
al
3
a
3
t
3
a
3
2t
6
+ 2t
7
al
3
)
+ x
1
(t
1
al
3
d
3
t
0
d
3
t
3
al
3
a
3
+ t
2
a
3
2t
7
2t
6
al
3
)
+ x
2
(t
2
al
3
d
3
t
3
d
3
+ t
0
al
3
a
3
t
1
a
3
+ 2t
4
+ 2t
5
al
3
)
+ x
3
(t
3
al
3
d
3
+ t
2
d
3
+ t
1
al
3
a
3
+ t
0
a
3
+ 2t
5
2t
4
al
3
) + 2y
0
(t
2
+ t
3
al
3
)
2y
1
(t
3
+ t
2
al
3
) + 2y
2
(t
0
+ t
1
al
3
) + 2y
3
(t
1
t
0
al
3
) = 0
(5.28)
H
w4
: x
0
(t
0
d
3
t
1
al
3
d
3
+ t
2
a
3
t
3
al
3
a
3
2t
6
al
3
2t
7
)
+ x
1
(t
1
d
3
+ t
0
al
3
d
3
+ t
3
a
3
+ t
2
al
3
a
3
2t
7
al
3
+ 2t
6
)
+ x
2
(t
2
d
3
+ t
3
al
3
d
3
t
0
a
3
t
1
al
3
a
3
+ 2t
4
al
3
2t
5
)
+ x
3
(t
3
d
3
t
2
al
3
d
3
t
1
a
3
+ t
0
al
3
a
3
+ 2t
5
al
3
+ 2t
4
) 2y
0
(t
3
+ t
2
al
3
)
+ 2y
1
(t
3
al
3
+ t
2
) + 2y
2
(t
0
al
3
t
1
) + 2y
3
(t
0
+ t
1
al
3
) = 0.
The constraint manifold of an arbitrary 3R-chain is again the intersection of a one pa-
rameter set of 3-spaces resp. a xed 3-space with S
2
6
.
Remark 5.7. It should be noted, that the hyperplane equations, describing the one pa-
rameter sets of 3-spaces resp. the xed 3 spaces, still can be computed in full generality,
i.e. without specifying any of the DH parameters.
5.3.2. Version Nr.2
In Husty et al. [36] this constraint manifold was computed in the following way:
The parametric representation of an arbitrary 3R-chain in the Euclidean space is given
by
D = B M
1
G
1
M
2
G
2
M
3
G
3
where Bis a xed coordinate transformation. The kinematic image of this representation
is denoted by p(u
1
, u
2
, u
3
) or, after applying tangent of the half-angle substitution for
all rotation angles (v
i
= tan
u
i
2
), i = 1, 2, 3, the same chain can be written as p(v
1
, v
2
, v
3
).
Fixing one of the revolute joints by xing one parameter (e.g. v
3
) yields a correspond-
ing 2R-chain. Its kinematic image lies in a 3-space T. Hence, the constraint manifold of
the 3R-chain is the intersection of a one parameter set of 3-spaces T(v
3
) with the Study
quadric.
64
5. Constraint manifolds
Fixing two of the three revolute joints by xing two parameters (e.g. v
1
and v
2
) one
gets a pure rotation about the third axis. This rotation maps to a line l on the Study
quadric. It depends on the values of the two xed parameters and is therefore denoted
by l = l(v
1
, v
2
). The points on l are parameterized by v
3
.
The one parameter set of 3-spaces T(v
3
) is generated as follows:
Take four straight lines l(v
1i
, v
2i
) (by xing four pairs of angles (v
1
, v
2
)), parametrized
by p
i
(v
3
) (i = 1, . . . , 4). Every 3-space of T(v
3
), for a xed value of v
3
, is spanned by
p
1
(v
3
), . . . , p
4
(v
3
) belonging to the same parameter value of v
3
.
To obtain four pencils of hyperplanes, that intersect in the manifold T(v
3
) one has
to determine four triples of points such that each three of these points span, together
with four points on the lines p
1
(v
3
), . . . , p
4
(v
3
) corresponding to a xed parameter value
v
3
= v
30
, one hyperplane. One has to take care that the four hyperplanes are linearly
independent.
In this short summary the parameter v
3
was xed to obtain the manifold. Of course
one can also x one of the other revolute joints by xing v
1
or v
2
. This yields two dierent
sets of 3-spaces. A more elaborate explanation can be found in Husty et al. [36]. But it
should be noted that Version 1 in the previous subsection is much more ecient.
5.4. Properties of the constraint manifolds
To pass from the constraint manifolds of a canonical 3R-chain to those of a general ar-
bitrary 3R-chain, only a xed coordinate transformation in the base frame was applied.
It is important to observe that this transformation does not change the geometric shape
and geometric properties of the manifold, but only the position in the kinematic image
space. Therefore the properties developed in this section for the manifolds T(v
i
) can be
adopted literally as properties of T
c
(v
i
), i = 1, 2, 3.
The one parameter sets of 3-spaces T(v
1
), T(v
2
) and T(v
3
) derived in Subsection 5.3.1
are well known in geometry. Geometrically they can be obtained by the following algo-
rithm:
Take two 3-spaces in P
7
and dene a linear relation between the points in these spaces
what means that each point of one space is joined by a line with exactly one point of
65
5. Constraint manifolds
the other three space. The manifold of all these lines is called a Segre manifold. A
symbolic sketch of a Segre manifold is depicted in Fig. 5.4. In this gure three spaces,
corresponding to discrete values of v
1
, are drawn as boxes. Through every point of such
three spaces there is exactly one line that belongs to the manifold, as an example p(v
1
)
is drawn.
p(v
1
)
Figure 5.4.: Symbolic sketch of SM
1
An example of a Segre manifold is a hyperboloid in E
3
. There one has to take two
lines instead of the 3-spaces in P
7
and a linear relation between the points on both lines.
The lines connecting the corresponding points are a regulus of a hyperboloid, a Segre
manifold in P
3
.
A Segre manifold can also be dened as a topological product of two linear spaces, i.e.,
the manifold of all ordered pairs of points of both spaces (see Naas and Schmid [67]).
Denition 5.1. The Segre manifolds generated by the one parameter set of 3-spaces
T(v
1
), T(v
2
) and T(v
3
) are denoted by SM
1
, SM
2
and SM
3
, respectively. The Segre
manifolds generated by the one parameter set of 3-spaces T
c
(v
1
), T
c
(v
2
) and T
c
(v
3
) are
denoted by SM
1c
, SM
2c
and SM
3c
.
Summarizing the ndings above one can state:
Theorem 5.2. The Segre manifold SM
1
(SM
2
, SM
3
) is the intersection of four one
parameter pencils of hyperplanes. The hyperplane coordinates depend linearly on v
1
(v
2
, v
3
).
A summary of the ndings in Section 5.3 yields
66
5. Constraint manifolds
Theorem 5.3. The constraint manifold of a 3R-chain is the intersection of the Study
quadric with a Segre manifold SM
1
(SM
2
, SM
3
) generated by the pencils of hyperplanes
describing T(v
1
) (T(v
2
), T(v
3
)). The intersection of a xed three space T
i
= T(v
1i
)
(T
i
= T(v
2i
), T
i
= T(v
3i
)) with S
2
6
is the kinematic image of the corresponding 2R-chain
obtained by xing the rotation angle v
1
= v
1i
(v
2
= v
2i
, v
3
= v
3i
) of the 3R-chain.
Corollary 5.1. The constraint manifold of a 3R-chain is the intersection of any two of
the Segre manifolds SM
1
, SM
2
, SM
3
.
Proof. The Segre manifolds SM
1
an SM
2
are swept by the one parametric set of 3-spaces
T(v
1
) and T(v
2
). Their intersection is the straight line l(v
1
, v
2
) (see Subsection 5.3.2).
The union of all these lines is precisely the intersection of SM
3
with the Study quadric,
i.e. the constraint manifold of the 3R-chain.
This proof can be started with any two of the Segre manifolds.
5.4.1. Dierent representations of the Segre manifold
This section describes dierent representations of the Segre manifold SM
1
. The same
considerations can be done with the other two manifolds by only changing the indices.
Having more than one representation at hand is advantageous, since the representation
can be chosen according to the specic problem.
Parametric representation, span of points
Take one special 3-space of T(v
1
) by xing the parameter v
1
= v
10
. Choose four linear
independent points p
i
(i = 1, . . . , 4) of this space and then let v
1
vary again. Because of
Theorem 5.2 this results in four straight lines l
i
and p
i
(v
1
) = T(v
1
) l
i
. Now the points
of SM
1
are described by
x =
4

i=1

i
p
i
(v
1
)
where (
1
,
2
,
3
,
4
)
T
is a homogeneous quadruple.
In this representation, the algebraic degree of SM
1
is easily computed. It is dened as
the number of intersection points of itself and a generic 3-space U P
7
(see Harris [32]).
Let U be the span of four points described by u
1
, . . . , u
4
. U and T(v
1
) intersect if and
only if
det(p
1
(v
1
), p
2
(v
1
), p
3
(v
1
), p
4
(v
1
), u
1
, u
2
, u
3
, u
4
) = 0.
This is a polynomial of degree four in v
1
. Hence there exist four intersection points of
SM
1
and U. That means that the algebraic degree of SM
1
is four.
67
5. Constraint manifolds
Algebraic equations
In order to nd a set of algebraic equations of SM
1
one has to x two parameter values
v
11
and v
12
and let p
ij
= p
i
(v
j
) for i = 1, . . . , 4 and j = 1, 2. In a projective coordinate
frame with base points p
11
, . . . , p
41
, p
12
, . . . , p
42
one may use the coordinate vectors
(
0
: . . . :
3
:
0
: . . . :
3
)
T
. In this frame, the algebraic equations of SM
1
read
(5.29) det
_

i

i

j

j
_
= 0, i, j, 0, . . . , 3
(see Naas and Schmid [67]). Note that only three of these quadric equations are inde-
pendent. Therefore, SM
1
is the intersection of three hyper-quadrics (Eq. 5.29). In order
to nd the equations of SM
1
in the original coordinate frame of P
7
, one has to apply
the transformation y = Px where P is the matrix
P = (p
11
, . . . , p
41
, p
12
, . . . p
42
)
to the coordinates in Eq. 5.29. There exist symmetric eight by eight matrices such that
Eq. 5.29 reads
(
0
, . . . ,
3
,
0
, . . . ,
3
)
T
A
ij
(
0
, . . . ,
3
,
0
, . . .
3
) = 0.
The transformed equations are (see Lemma 4.4)
(
0
, . . . ,
3
,
0
, . . . ,
3
)
T
(P
T
)
1
A
ij
P
1
(
0
, . . . ,
3
,
0
, . . . ,
3
) = 0.
Remark 5.8. It is possible to compute symbolically the system of algebraic equations of
all Segre manifolds without specifying the DH parameters.
Intersection of hyperplanes
As investigated in Section 5.3 the constraint manifold of an arbitrary 3R-chain is the
intersection of a one parameter set of 3-spaces, depending linearly on the parameter
v
1
, with S
2
6
. A xed 3-space in the seven dimensional projective space is geometrically
determined by intersecting four hyperplanes H
1
, . . . , H
4
. Algebraically this means it is
given by four linear equations. A one parameter set of three spaces is therefore given by
the intersection of four one parameter sets of hyperplanes H
i
(v
1
), i = 1, . . . , 4, each de-
pending linearly on the parameter v
1
. This parameter can be any of the algebraic values
of the rotation angles of the 3R-chain. Such a linear one parameter set of hyperplanes
is called a pencil of hyperplanes. To each value of v
1
the four pencils of hyperplanes
68
5. Constraint manifolds
intersect in one 3-space of the Segre manifold. The hyperplane equations describing such
types of Segre manifolds were investigated and discussed in more detail in Section 5.3
and are printed in Appendix A.
The greatest advantage of these hyperplane equations to those presented in Husty et
al. [36] is, that these equations are extremely short (224 operands) although no DH
parameter is specied. Additionally all the DH parameters appear only multi linearly
within these equations.
This representation of the Segre manifolds is used within this thesis for the computation
of the inverse kinematics of general serial 6R-manipulators.
5.4.2. Properties of the Segre manifolds
As seen in Subsection 5.1.3 the Segre manifold SM
2
has to be handled in a special way.
The reason is the following. The corresponding 2R-chains of SM
1
and SM
3
belonging
to xed parameter values always have the same shape. They only vary in their position
in E
3
. But the corresponding 2R-chains of SM
2
belonging to xed values of v
2
vary in
their shape. The twist angle between the rst and third axis and even the length and
direction of the common normal depend on the value of v
2
. Therefore SM
2
is not that
easy to handle as the other two. The question arises when does one unconditionally need
this special Segre manifold? The answer is that there are only two cases: if the rst two
axes intersect orthogonally and the third is parallel to the second, or if the rst axis is
parallel to the second and the second and third intersect orthogonally. In all other cases
one may nd a Segre manifold from SM
1
and SM
3
, which is not fully contained in the
Study quadric, to obtain the constraint manifold of the 3R-chain. For the following the
weaker assumption that SM
2
is only used if
1
= 0 or
2
= 0 should hold. Then one
can formulate:
Theorem 5.4. The Segre manifolds SM
1
, SM
2
(with the restriction that
1
= 0 or

2
= 0) and SM
3
intersect the exceptional generator of S
2
6
(the 3-space, that had to
be sliced out of the Segre manifold), given by x
0
= x
1
= x
2
= x
3
= 0, in conjugate
complex lines. These lines lie in those 3-spaces of the Segre manifolds that correspond
to the parameter values v
i
= I, i = 1, 2, 3. Furthermore these lines lie on the quadric
y
2
0
+ y
2
1
+ y
2
2
+ y
2
3
= 0 in this exceptional 3-space.
Proof. The exceptional generator of S
2
6
is given as intersection of the four hyperplanes
x
0
= 0, x
1
= 0, x
2
= 0 and x
3
= 0. Their intersection with the four pencils of
69
5. Constraint manifolds
hyperplanes H
i
(v) =

3
j=0
(h
i(j+1)
x
j
+ h
i(j+5)
y
j
), i = 1, . . . , 4 that describe one of the
Segre manifolds can be obtained by computing the determinant

1 0 0 0 h
11
h
21
h
31
h
41
0 1 0 0 h
12
h
22
h
32
h
42
0 0 1 0 h
13
h
23
h
33
h
43
0 0 0 1 h
14
h
24
h
34
h
44
0 0 0 0 h
15
h
25
h
35
h
45
0 0 0 0 h
16
h
26
h
36
h
46
0 0 0 0 h
17
h
27
h
37
h
47
0 0 0 0 h
18
h
28
h
38
h
48

= 0.
The result of this determinant is the same as the result of
(5.30) [S[ =

h
15
h
25
h
35
h
45
h
16
h
26
h
36
h
46
h
17
h
27
h
37
h
47
h
18
h
28
h
38
h
48

= 0.
Therefore the intersection of the one parameter sets of 3-spaces T(v
1
), T(v
2
) and T(v
3
)
representing the Segre manifolds with the exceptional 3-space can be derived by the
determinant of the coecients of the y
i
, i = 1, . . . , 4 of the hyperplane equations. Sub-
stituting the hyperplane coordinates of the hyperplanes presenting T(v
1
) into Eq. 5.30
yields
al
2
2
(v
2
1
+ 1)
2
(t
2
0
+ t
2
1
+ t
2
2
+ t
2
3
)
2
(1 +al
2
1
)
2
(al
2
3
+ 1)
2
= 0.
If al
2
= 0, then SM
1
cannot be taken for the computation of the constraint manifold.
Another Segre manifold has to be taken (see Subsection 5.2). Therefore one may assume
that al
2
,= 0. Then those 3-spaces of SM
1
belonging to the parameter values v
1
= I
intersects the exceptional 3-space of S
2
6
. If one substitutes v
1
= I into the matrix S
in Eq. 5.30 the rank is two. Therefore the intersection has to be a line. The para-
metric representations of the two conjugate complex lines as intersections of the 3-space
belonging to v
1
= I and v
1
= I with the exceptional generator are
(5.31)
(0, 0, 0, 0, l
11
, l
12
, s
2
, s
3
)
T
= 0,
(0, 0, 0, 0, l
11
, l
12
, s
2
, s
3
)
T
= 0,
where s
2
and s
3
are homogeneous parameters on the lines and l
1i
, i = 1, 2 are the
70
5. Constraint manifolds
conjugate complex numbers:
l
11
=
(I(2t
0
t
1
+ 2t
2
t
3
) 2t
0
t
2
+ 2t
1
t
3
)s
2
+ (I(t
2
0
t
2
1
+ t
2
2
t
2
3
) 2t
0
t
3
2t
1
t
2
)s
3
(t
0
+ t
2
I(t
1
+ t
3
))(t
0
t
2
+ I(t
1
t
3
))
l
12
=
(I(t
2
0
t
2
1
+ t
2
2
t
2
3
) 2t
0
t
3
2t
1
t
2
)s
2
+ (I(2t
0
t
2
2t
1
t
3
) + 2t
0
t
1
+ 2t
2
t
3
)s
3
(t
0
+ t
2
I(t
1
+ t
3
))(t
0
t
2
+ I(t
1
t
3
))
.
Substitution of the coordinates of the lines in Eq. 5.31 into the quadric in this excep-
tional 3-space with the equation y
2
0
+ y
2
1
+ y
2
2
+ y
2
3
= 0 yields that this lines are fully
contained in this quadric.
The other two cases can be shown in an analogous way. Therefore only the parametric
representations of the intersections are displayed here.
The intersection of SM
2
, assuming that
1
= 0, with the exceptional generator are the
two conjugate complex lines
(0, 0, 0, 0, l
11
, l
12
, s
2
, s
3
)
T
= 0
(0, 0, 0, 0, l
11
, l
12
, s
2
, s
3
)
T
= 0
corresponding to the parameter values v
2
= I.
In the case of
2
= 0 the intersection are the two conjugate complex lines
(0, 0, 0, 0, l
21
, l
22
, s
2
, s
3
)
T
= 0
(0, 0, 0, 0, l
21
, l
22
, s
2
, s
3
)
T
= 0
belonging to v
2
= I with
l
21
= I
2al
3
s
2
+ (1 al
2
3
)s
3
(al
3
I)(al
3
+ I)
l
22
= I
(al
2
3
1)s
2
+ 2al
3
s
3
(al
3
I)(al
3
+ I)
The intersection lines of SM
3
with the exceptional generator have the parametric rep-
resentation
(0, 0, 0, 0, l
21
, l
22
, s
2
, s
3
)
T
= 0
(0, 0, 0, 0, l
21
, l
22
, s
2
, s
3
)
T
= 0.
Therefore all Segre manifolds intersect the exceptional generator in complex conjugate
lines.
If one uses these Segre manifolds for the inverse kinematics problem as shown in
Chapter 6 these intersections with the exceptional generator will always appear and
can be neglected, because the corresponding Study parameters of the EE poses of this
71
5. Constraint manifolds
3R-chain lie on the exceptional generator and are therefore not mappings of Euclidean
displacements. These solutions yield exactly the 16 solutions that Primrose [72] proved
to be redundant solutions for the serial 6R-chain.
Remark 5.9. This also shows, that the exceptional generator of S
2
6
plays a similar role
to the circle points in planar kinematics or, better still, in planar kinematic mapping
(see Bottema and Roth [11]).
72
6. Inverse kinematics of the general
6R-mechanism
One aim of this thesis was to solve the inverse kinematics problem of general 6R-
mechanisms. This chapter gives a deeper insight to the simplication of the problem
and shows how the constraint manifolds of 3R-chains can be used to solve it.
In the following sections the design of a general serial 6R-chain is given by its DH
parameters and a pose of the EE is given by the matrix A.
Remark 6.1. Within this chapter the joint angles and structural angles will be written
either algebraically of in terms of their trigonometric functions. Note, that it does not
matter which description of the angle is taken because with Eqs. 3.2 and 3.3 one is able
to convert one into the other. After applying tangent of the half-angle substitutions the
angles are denoted by al
i
= tan

i
2
and v
i
= tan
u
i
2
for i = 1, . . . , 6.
Without loss of generality one may assume that the 6R-mechanism is a canonical one,
what means that
0
=
1
and d
1
= 0. If this is not the case only a xed coordinate
transformation B in the base frame is needed to satisfy this assumption. Applying the
same transformation to A yields the corresponding pose for the EE frame of the canoni-
cal 6R-mechanism and the solutions for the joint angles for this transformed mechanism
are the same as the ones for the given mechanism located somewhere else in E
3
.
Therefore the inverse kinematic problem is to solve the matrix equation
M
1
G
1
M
2
G
2
M
3
G
3
M
4
G
4
M
5
G
5
M
6
G
6
= A
with d
1
= 0 for the unknowns v
i
, i = 1, . . . , 6. It is not possible to solve this equation
simply by brute force.
Therefore one has to simplify this problem. A new, ecient and very geometric approach
of simplication is shown in the next section.
73
6. Inverse kinematics of the general 6R-mechanism
6.1. Simplication of the problem
If, for an arbitrary design of a canonical 6R-mechanism, the EE frame is in the pose A,
the mechanism is rigid.
To apply the theory developed in Chapter 5 one has to break up the link between the
third and the fourth revolute axis of the 6R-manipulator at the foot of the common
normal at the fourth axes. Moreover one has to attach two copies of a coordinate frame

L
=
R
, called the left and the right frame, to the resulting mechanisms in the
following way:
The origin is the foot of the common normal of the third and fourth axis on the
fourth axis,
the x-axis is aligned with the common normal of the third and fourth axes and
the z-axis coincides with the fourth axis.
The resulting mechanisms are two open 3R-chains, called the left and the right 3R-
chain. The base frame of the left one is
0
and the EE frame is
L
, the base of the right
one is
6
with the EE
R
(see Fig. 6.1). Such decompositions of the 6R-mechanism were
used in several publications that are listed in Section 2, but the authors of this papers
only recognize the algebraic but not the geometric implications of this simplication, or
at least they did not mention it.
Afterwards one has to compute the direct kinematics for these two 3R-manipulators.
In some discrete poses
L
and
R
have to coincide. In these poses the broken link can
be reconnected and therefore yields congurations of the 6R-manipulator, where the EE
is in the given pose. From the literature it is well known that there will be up to 16 such
real conguration assembly modes when the given 6R-chain is general.
These congurations can be found with help of the kinematic mapping established in
Subsection 4.2.3. Every pose of the EE of the left 3R-chain is one point on the constraint
manifold of this chain and the same is true for the right 3R-chain. Intersecting these two
manifolds yields some discrete points that are mapped by the inverse kinematic mapping
to poses where the frames
L
and
R
coincide. The constraint manifold of each of these
3R-chains is the intersection of a Segre manifold with the Study quadric. The following
subsections will derive the representations of these Segre manifolds.
74
6. Inverse kinematics of the general 6R-mechanism

L
=
R

R
EE frame
EE frame
Figure 6.1.: Cutting of the 6R into two 3R serial chains
6.1.1. Segre manifold of the left 3R-chain
The pose of
L
with respect to
0
is given by
T
1
= M
1
G
1
M
2
G
2
M
3
G
3
.
This is exactly the canonical 3R-chain for which the constraint manifold was derived in
Section 5.2. This manifold was the intersection of one of the Segre manifolds SM
1c
, SM
2c
or SM
3c
and the intersection of one of the 3-spaces T
cp
or T
cw
with the Study quadric.
Which one depends on the DH parameters of the 6R-manipulator because in some special
cases one or more of the Segre manifolds lies completely on S
2
6
. The cases where one has
to take care in the choice of SM
ic
are listed below:
If
2
= 0 or a
2
= 0, do not take SM
1c
,
if
1
=

2
,
2
=

2
and d
2
= 0, do not take SM
2c
,
if
1
= 0 or a
1
= 0, do not take SM
3c
,
75
6. Inverse kinematics of the general 6R-mechanism
if
1
=
2
= 0, take T
cp
and
if a
1
= a
2
= d
2
= 0, take T
cw
.
In a general case, where none of these conditions are true, one may take any of the Segre
manifolds SM
ic
, i = 1, . . . , 3 to derive the constraint manifold of the left 3R-chain. The
representations of the Segre manifolds as intersections of four pencils of hyperplanes are
presented in Eqs. 5.4 - 5.7, 5.10 - 5.13 and 5.14 - 5.17. In the special cases of a planar
or spherical 3R-chains these manifolds are the xed three spaces T
cp
or T
cw
generated as
intersections of the hyperplanes given in Eqs. 5.18 and 5.20.
For simplicity, if one has chosen an allowed Segre manifold or a xed 3-space for this
left 3R-chain it will be denoted by SM
L
.
6.1.2. Segre manifold of the right 3R-chain
The pose of
R
with respect to
6
is given by
T
2
= A G
1
6
M
1
6
G
1
5
M
1
5
G
1
4
M
1
4
.
This would be the description if one takes the coordinate frames attached to the 6R-
mechanism. To adopt the theory developed in Section 5.3 these frames will be changed.
First of all the base frame of the right 3R-chain is not taken as
6
(given by the matrix
A), it is taken as A G
1
6
and moreover rotated about an angle of about the sixth axis
of the 6R-mechanism. That means that the EE is transformed into a pose A (describing
the pose of a coordinate frame
6
) such that the x-axes coincides with the common
normal of the fth and sixth axes of the 6R-manipulator and the z-axis coincides with
the axis of the sixth revolute joint.
The origins of two more coordinate frames
5
and
4
, connected with the fth and
fourth axis of the 6R-manipulator, lie on the foot of the common normal with the next
axis, the x-axis is aligned with this common normal and the z-axis coincides with the
respective axis of the revolute joint. The EE of this mechanism is
R
, which is
R
rotated with an angle about its z-axis, as shown in Fig. 6.2, where the original frames
of the 6R-chain are drawn transparently. With this assumptions the relative position of

R
with respect to
6
is given by
(6.1)
T
2
= A M
1
G
1
M
2
G
2
M
3
G
3
76
6. Inverse kinematics of the general 6R-mechanism

5

6
EE frame
Figure 6.2.: Coordinate frames of the right 3R-chain
where
A = A G
1
6
M
1
=
_
_
_
_
_
_
1 0 0 0
0 cos(u
6
) sin(u
6
) 0
0 sin(u
6
) cos(u
6
) 0
0 0 0 1
_
_
_
_
_
_
, G
1
=
_
_
_
_
_
_
1 0 0 0
a
5
1 0 0
0 0 cos(
5
) sin(
5
)
0 0 sin(
5
) cos(
5
)
_
_
_
_
_
_
,
M
2
=
_
_
_
_
_
_
1 0 0 0
0 cos(u
5
) sin(u
5
) 0
0 sin(u
5
) cos(u
5
) 0
0 0 0 1
_
_
_
_
_
_
, G
2
=
_
_
_
_
_
_
1 0 0 0
a
4
1 0 0
0 0 cos(
4
) sin(
4
)
d
5
0 sin(
4
) cos(
4
)
_
_
_
_
_
_
,
M
3
=
_
_
_
_
_
_
1 0 0 0
0 cos(u
3
) sin(u
3
) 0
0 sin(u
3
) cos(u
3
) 0
0 0 0 1
_
_
_
_
_
_
, G
3
=
_
_
_
_
_
_
1 0 0 0
0 1 0 0
0 0 1 0
d
4
0 0 1
_
_
_
_
_
_
.
The bars over the rotation angles mean that this angle is indeed the rotation angle about
the particular axis of the 6R-manipulator but it is measured in a dierent way.
Eq. 6.1 has the same shape as Eq. 6.1.1, only with a coordinate transformation in the
base frame described by A. This is almost the shape of a general serial 3R-chain. The
constraint manifold of this chain is derived in Section 5.3. It is the intersection of the
77
6. Inverse kinematics of the general 6R-mechanism
Segre manifolds SM
i
, i = 1, 2, 3 with the Study quadric, or in special cases the 3-spaces
T
p
or T
w
. The only changes of the description of the general 3R-chain in Section 5.3
to the description of the right 3R-chain in this section are the changes of the entries of
the matrices M
i
and G
i
to those of M
i
and G
i
, i = 1, 2, 3. The transition from the
equations in Appendix A to the equations of the right 3R-chain is performed by the
following substitutions:
(6.2)
a
1
a
5
, a
2
a
4
, a
3
= 0,
d
2
d
5
, d
3
d
4
,
al
1
al
5
, al
2
al
4
, al
3
= 0,
v
1
v
6
, v
2
v
5
, v
3
v
4
.
Because of the dierent coordinate frames and therefore a dierent home position of this
3R-chain the angles v
i
are not the angles v
i
, i = 4, 5, 6 that appear in the 6R-chain, but
they can be obtained from them by (see Lemma 3.1)
(6.3) v
4
=
1
v
4
, v
5
= v
5
, v
6
=
1
v
6
.
To achieve the representation of the constraint manifold of this right 3R-chain one has
to take the hyperplane equations representing T(v
1
), T(v
2
) and T(v
3
) for an arbitrary
design, printed in Appendix A, or the hyperplane equations representing T
p
in Eqs. 5.21
- 5.24 and T
w
in Eqs. 5.25 - 5.28 for special designs, make the substitutions given in
Eq. 6.2 and intersect this manifolds with the Study quadric, if necessary. These hy-
perplane equations are not printed in the thesis. For computation one should take the
representations of T(v
i
), i = 1, 2, 3, T
p
or T
w
and perform the described substitutions.
The equations can be seen on the CD attached to this thesis.
After substitution the one parameter sets of 3-spaces are denoted by T(v
6
), T(v
5
) and
T(v
4
), and each of them also describes a Segre manifold denoted by SM
6
, SM
5
and
SM
4
. The corresponding four pencils of hyperplanes to each Segre manifold are denoted
by H
5
(v
i
), . . . , H
8
(v
i
) for i = 4, 5, 6.
The representations of the xed 3-spaces are denoted by T
p
and T
w
.
The question as to which of the Segre manifolds or three spaces one can take to derive
the constraint manifold of the right 3R-chain is answered by:
if
5
= 0 or a
5
= 0, do not take SM
4
,
if
4
=

2
,
5
=

2
and d
4
= 0, do not take SM
5
78
6. Inverse kinematics of the general 6R-mechanism
if
4
= 0 or a
4
= 0, do not take SM
6
,
if
4
=
5
= 0, take T
p
and
if a
4
= a
5
= d
5
= 0, take T
s
.
In the general case, where none of these conditions are true, one may take any of the
Segre manifolds SM
i
, i = 4, 5, 6 to derive the constraint manifold of this right 3R-chain.
For simplicity if one has chosen an allowed Segre manifold or a xed 3-space for the right
3R-chain it will be denoted by SM
R
.
6.2. Solution of the inverse kinematics
The solution of the inverse kinematics problem of a serial 6R-chain can therefore be
computed as the intersection
S
2
6
SM
L
SM
R
.
With the understanding that a xed 3-space is a special case of a one parameter set of
3-spaces one may summarize this results as:
Theorem 6.1. Geometrically the solution of the inverse kinematic problem of a serial
6R-chain is equivalent to the intersection of eight one parameter sets of hyperplanes with
S
2
6
in P
7
.
6.3. Algebraic structure of the problem
In this section the hyperplane equations describing the Segre manifold SM
L
will be de-
noted by H
i
, those describing SM
R
by H
i+4
, i = 1, . . . , 4.
An investigation of the structure of the nine equations addressed in Theorem 6.1
reveals the non-linearity of the problem. There are eight hyperplane equations H
i
which
are linear in x
i
, y
i
and bilinear in x
i
v
123
and y
i
v
123
as well as x
i
v
456
and y
i
v
456
, i = 0, . . . , 3.
v
123
denotes the tangent half of one of the revolute joints of the left 3R-chain and v
456
denotes the tangent of the half-angle for one of the revolute joints of the right 3R-chain.
Eq. 4.9 of S
2
6
is bilinear in x
i
and y
i
, i = 0, . . . , 3. The solution algorithm of this
intersection problem is straight forward.
79
6. Inverse kinematics of the general 6R-mechanism
At rst one normalizes the Study parameters by setting one suitable coordinate, say x
0
,
equal to one (at least one has to be non zero!). The remaining seven Study parameters
are solved linearly from seven arbitrary hyperplane equations, say H
1
, . . . , H
7
.
Remark 6.2. It should be mentioned here that it is possible to solve this set of linear
equations in full generality, that means without specifying any DH parameters. But the
output text from Maple had a le size of multiple gigabytes. Therefore it is not useful
to operate with this general result.
Multiplying the result for the Study parameters by the common denominator yields
all Study parameters depending on the two parameters v
123
and v
456
:
x
i
= x
i
(v
123
, v
456
), y
i
= y
i
(v
123
, v
456
).
Substituting these Study parameters into Eq. 4.9 and in the one remaining equation H
8
one obtains two non-linear algebraic equations E
1
= 0 and E
2
= 0 in the two parameters:
E
1
(v
123
, v
456
) = 0, E
2
(v
123
, v
456
) = 0.
Remark 6.3. The vanishing of E
2
is the condition for intersecting the two one parameter
sets of three spaces T
c
(v
123
) and T(v
456
) of SM
L
and SM
R
described by H
1
, . . . , H
4
and
H
5
, . . . , H
8
. Hence, it can be also written as the determinant
(6.4) [h
1
, h
2
, h
3
, h
4
, h
5
, h
6
, h
7
, h
8
[ = 0
where h
i
are the hyperplane coordinates of H
i
for i = 1, . . . , 8.
The resultant of E
1
and E
2
with respect to one unknown, e.g. v
456
, yields a univariate
polynomial of degree 56 in the remaining unknown v
123
. This polynomial factors into
(1 +v
2
123
)
4
T
1
(v
123
)T
2
(v
123
)T
3
(v
123
)
2
T(v
123
) = 0.
(1 + v
2
123
) yields the solutions v
123
= I, which belong to points on the exceptional
generator and can therefore be canceled. The polynomials T
1
and T
2
are of degree
four in v
123
and belong, after back substitution of the roots and comparing the common
roots of E
1
and E
2
, to solutions v
456
= I. Therefore, these two polynomials also can be
canceled. T
3
is a polynomial of degree 12 and belongs to values of v
123
that yield, back
substituted into the solved linear system, solutions of the form (0, 0, 0, 0, 0, 0, 0, 0). This
point is excluded from P
7
and therefore also T
3
can be omitted from this polynomial.
Therefore T is the univariate polynomial of degree 16.
Remark 6.4. This polynomial factors in that way in the general case. In special cases
the factorization may look dierent, but the factors which do not solve the whole system
can always be excluded for the same reasons.
80
6. Inverse kinematics of the general 6R-mechanism
Remark 6.5. For every design it is possible to compute this univariate polynomial in a
short time. It depends on the degree of this polynomial if the solutions can be obtained
in closed form or only numerical.
Solving T for the unknown v
123
one obtains 16 solutions over C. The other unknown
can be computed with back substitution of these solutions in E
1
and E
2
. Solving both
equations and comparing the solutions yields one common solution of the system for
v
456
. Note that the solution of these unknowns are already or yield directly via Eq. 6.3
the tangents half of two of the joint angles of the 6R-mechanism. Having the values of
this two unknowns one can substitute the 16 pairs of solutions into the Study parameters
resulted from the solutions of the linear system in Eq. 6.3. These yield 16 poses where
the right and the left coordinate systems coincide (
L
=
R
).
The remaining task is simple: One has to compute the inverse kinematics of two 2R-
chains. So far one has to compare the entries of the matrices describing the motion of
the remaining 2R-chains T
1
(u
1
, u
2
, u
3
) (where one of the joint variables is xed) in Eq.
6.1.1 and T
2
(u
4
, u
5
, u
6
) (where one of the joint variables is xed) in Eq. 6.1, with the
entries of the matrix that describe the pose of
L
=
R
. This leads to an overdetermined
set of equations for the four unknown angles.
Theorem 5.1 gives another possibility to solve the inverse kinematics of the remaining
2R-chains. For every 3R-chain one has three dierent Segre manifolds to obtain the
constraint manifold. For the derivation of the poses where
L
=
R
one has used only
one of them. This poses are points in P
7
. Every two of the unused Segre manifolds has
to include all 16 points, and in general every point only lies in one and only one three
space of these manifolds. Therefore one may take out of any set T(v
i
) one pencil of
hyperplanes, each of them depending on one of the remaining rotation angles, and solve
these equations for these angles. These are each linear equations in one unknown.
6.4. Algorithms
This section gives an algorithmic version of the section before. It is a brief description
of how the inverse kinematics of general and wrist partitioned serial 6R-chain can be
solved using the methods developed in this thesis.
81
6. Inverse kinematics of the general 6R-mechanism
Algorithm 1 (Inverse kinematics of general serial 6R-chains)
Remark 6.6. The algorithm uses the Segre manifolds SM
3c
and SM
4
for computing
the constraint manifolds of the left and right 3R-chain. It is possible that these Segre
manifolds are not suited because of the special design of the mechanism (see itemization
in Subsections 6.1.1 and 6.1.2). In this case one has to replace SM
3c
by one of the Segre
manifolds SM
1c
or SM
2c
and SM
4
by SM
5
or SM
6
.
Input: design of 6R-chain (DH parameters), one pose of the EE (given by A).
Output: 16 sets of rotation angles that yield the given EE pose
1. Substitute the DH parameters into the hyperplane equations representing the one
parameter set of 3-spaces T
c
(v
3
) (Eqs. 5.14 - 5.17) to obtain four pencils of hyper-
planes H
i
(v
3
), i = 1, . . . , 4.
2. Perform the substitutions of Eq. 6.2 (a
1
a
5
, a
2
a
4
, a
3
= 0, d
2
d
5
, d
3

d
4
, al
1
al
5
, al
2
al
4
, al
3
= 0, v
3
v
4
) in the hyperplane equations rep-
resenting T(v
3
) (Eqs. A.9 - A.12) to obtain the one parameter set of 3-spaces
T(v
4
).
3. Substitute the DH parameters and the Study parameters of A into the hyperplane
equations representing T(v
4
) to obtain four pencils of hyperplanes H
i
(v
4
), i =
5, . . . , 8.
4. Intersect the hyperplanes H
1
(v
3
), . . . , H
4
(v
3
), H
5
(v
4
), . . . , H
7
(v
4
). This yields a sur-
face R represented by r(v
3
, v
4
), depending on the two parameters v
3
and v
4
.
5. Substitute r(v
3
, v
4
) in the equation of the Study quadric x
0
y
0
+x
1
y
1
+x
2
y
2
+x
3
y
3
=
0 and the equation of the remaining hyperplane H
8
(v
4
). This yields two algebraic
equations E
1
and E
2
in the unknowns v
3
and v
4
.
6. Compute the resultant of E
1
and E
2
with respect to v
4
. This results in a polynomial
that factors into
(1 +v
2
3
)
4
T
1
(v
3
)T
2
(v
3
)T
3
(v
3
)
2
T(v
3
) = 0.
(1 +v
2
3
),T
1
(v
3
) and T
2
(v
3
) yield solutions v
3
= I or subsequently solutions of v
4
that are v
4
= I. T
3
(v
3
) comes from the determinant of the linear system that has
been solved before and yield points on R with coordinates (0,0,0,0,0,0,0,0), which
82
6. Inverse kinematics of the general 6R-mechanism
is excluded from P
7
. T(v
3
) is a polynomial of degree 16. The solutions of this
polynomial yield the 16 possible solutions over C for the tangent of the half-angle
of the rotation about the third revolute axis v
3i
, i = 1, . . . , 16.
7. Insert v
3i
into E
1
and E
2
and compute the unique common solution v
4i
of the
resulting algebraic equations in v
4
. These solutions yield directly using v
4i
=
1
v
4i
, i = 1, . . . , 16, the 16 possible solutions for the tangent of the half-angle of the
rotation about the fourth axis.
8. Substituting v
3i
and v
4i
into r(v
3
, v
4
) yields the Study parameters r
i
of the 16 poses
where the EE coordinate systems of the left and the right 3R-chain coincide.
9. Substituting the DH parameters and the poses described by r
i
, i = 1, . . . , 16 into
one of the hyperplane equations describing T
c
(v
1
) (Eqs. 5.4 - 5.7) and T
c
(v
2
) (Eqs.
5.10 - 5.13) yields for each r
i
two linear equations, one in v
1
and one in v
2
. The
solutions are the corresponding values for the tangent of the half-angle of the
rotation about the rst and the second revolute axis.
10. Performing the same substitutions as in item 2 for the hyperplane equations rep-
resenting T(v
1
) (Eqs. A.1 - A.4) and T(v
2
) (Eqs. A.5 - A.8) and furthermore
v
1
v
6
and v
2
v
5
, one obtains the one parameter sets of 3-spaces T(v
5
) and
T(v
6
).
11. Substituting the DH parameters, the Study parameters of A and the Study pa-
rameters of each of the EE poses r
i
of the coordinate frames, where
R
=
L
,
into one of the hyperplane equations describing T(v
5
) and T(v
6
) yields, for every
r
i
, two linear equations in the unknowns v
5
and v
6
. Their solutions yield, with
v
5
= v
5
and v
6
=
1
v
6
, the corresponding values for the tangent of the half-angle
of the rotation about the fth and sixth revolute axis.
Remark 6.7. This algorithm describes the inverse kinematics of a general 6R mechanism.
In this context general means that the rst three or the last three axes are not parallel
or do intersect in one point. This means especially that a wrist partitioned manipulator
(the last three axes intersect) is not solved with this algorithm. The solution of the
inverse kinematics of wrist partitioned manipulators is accomplished with Algorithm 2.
83
6. Inverse kinematics of the general 6R-mechanism
Algorithm 2 (Inverse kinematics of wrist partitioned serial 6R-chains)
Remark 6.8. This algorithm uses the Segre manifold SM
2c
to compute the constraint
manifold of the left 3R-chain. It is possible that this Segre manifold is not suited because
of the special design of the mechanism (see itemization in Subsections 6.1.1). In this
case one has to replace SM
2c
by one of the Segre manifolds SM
1c
or SM
3c
.
Input: design of wrist partitioned 6R-chain (DH parameters with a
4
= a
5
= d
5
= 0),
one pose of the EE (given by A).
Output: 8 sets of rotation angles that yield the given EE pose
1. Substitute the DH parameters into the hyperplane equations representing the one
parameter set of 3-spaces T
c
(v
2
) (Eqs. 5.10 - 5.13) to obtain four pencils of hyper-
planes H
i
(v
2
), i = 1, . . . , 4.
2. Perform the substitutions of Eq. 6.2 (a
3
= 0, d
3
d
4
, al
1
al
5
, al
2

al
4
, al
3
= 0) in the hyperplane equations representing T
w
(Eqs. 5.25 - 5.28).
Substitute the Study parameters of A into these hyperplanes to obtain four hy-
perplanes H
5
, . . . , H
8
. The intersection of these hyperplanes is a xed 3-space on
S
2
6
which is the constraint manifold of the wrist.
3. Intersection of the eight hyperplanes by computing the determinant
[h
1
(v
2
), h
2
(v
2
), h
3
(v
2
), h
4
(v
2
), h
5
, h
6
, h
7
, h
8
[ = 0,
where h
i
are the hyperplane coordinates of H
i
, i = 1, . . . , 8 yields a univariate
polynomial T of degree four in v
2
.
4. The roots of T are the four values v
2i
, i = 1, . . . , 4 for the tangent of the half-angle
of the second revolute joint.
5. Substitution of v
2i
into the hyperplanes H
i
(v
2
), i = 1, . . . , 4 and intersecting them
with H
5
, . . . , H
7
yields four points R
i
, i = 1, . . . , 4 in P
7
in which the Segre mani-
fold and the xed 3-space intersect.
6. Substitution of the DH parameters and the coordinates of R
i
, i = 1, . . . , 4 into one
of the hyperplane equations describing T(v
1
) and T(v
3
) yields, for every R
i
, two
linear equations in the unknowns v
1
and v
3
. The solutions are the corresponding
four sets for the tangent of the half-angle of the rotations about the rst and third
revolute axis.
84
6. Inverse kinematics of the general 6R-mechanism
7. Compute the matrix equation
M
4
G
4
M
5
G
5
M
6
G
6
= A S
1
i
,
where S
i
are the matrices representing the poses where
L
=
R
, i = 1, . . . , 4.
8. Compute the Study parameters of the left and the right hand side and normalize
one of the coordinates (e.g. the rst). This yields a system of seven equations in
the unknowns v
4
, v
5
and v
6
.
9. Computing a Groebner basis of this system shows that it is highly redundant and
yields a quadratic equation in one unknown and two linear equations, each of them
linear in this unknown and one of the other two. The solution of this system yields,
for every set of joint parameters of the rst three axes, two sets of joint parameters
for the last three axes.
6.5. Examples
In the following examples the coordinates of an arbitrary point in P
7
are denoted by
(z
0
, z
1
, z
2
, z
3
, s
0
, s
1
, s
2
, s
3
)
T
. The angles are always converted with help of tangent half-
angle substitutions into their algebraic values. If these values are oating-point numbers
they are converted into rational numbers. This is no loss of generality because one is able
to approximate every oat with any accuracy one wants with a rational number. The
same is true for the given pose of the EE. Because of the length of the approximating
rational numbers these are printed here in their oating point representation, but com-
puted with their exact values. The step when computations have to switch from exact
rational numbers to oating-point computations, will be outlined within the examples.
6.5.1. Example of Raghavan and Roth [75]
This is an example for a general manipulator. Therefore Algorithm 1 presented in Sec-
tion 6.4 can be applied. The DH parameters are printed in Table 6.1.
The pose of the EE is given by:
A =
_
_
_
_
_
_
1. 0 0 0.
6.821518361 0.3549374753 0.4616395743 0.8129626637
1.461467040 0.8767096046 0.1376161852 0.4609143665
5.369505213 0.3246531321 0.8763279571 0.3558787071
_
_
_
_
_
_
.
85
6. Inverse kinematics of the general 6R-mechanism
i a
i
d
i

i
(deg)
1 0.8 0.9 20
2 1.2 3.7 31
3 0.33 1 45
4 1.8 0.5 81
5 0.6 2.1 12
6 2.2 0.63 100
Table 6.1.: DH parameters of the example of Raghavan and Roth
In this example d
1
is unequal to zero. For the algorithm presented in this thesis it is
necessary that the 6R-mechanism is a canonical one. Therefore one has to translate the
mechanism and the matrix, that gives the EE pose, in the direction of the z-axes by an
amount d
1
. For the manipulator this transformations means only setting d
1
= 0. For
the matrix describing the EE pose this means subtracting d
1
from the z-coordinate of
the rst column, i.e. a
41
d
1
. Therefore the pose of the EE for this example is given by
(6.5) A =
_
_
_
_
_
_
1 0 0 0
6.821518365 0.3549374753 0.4616395741 0.8129626636
1.461467041 0.8767096056 0.1376161851 0.4609143663
4.469505217 0.3246531320 0.8763279568 0.3558787070
_
_
_
_
_
_
.
Substituting the remaining DH parameters into the hyperplane equations representing
the one parameter set of 3-spaces T
c
(v
3
) (Eqs. 5.14 - 5.17) yields four pencils of hyper-
planes
H
1
(v
3
) : (0.9331956870 5.010153286v
3
)z
0
+ (1.451795932 1.198027476v
3
)z
1
+ (2.695580014 0.950628499v
3
)z
2
+ (4.389846714 + 0.276358999v
3
)z
3
1.770256825s
0
1.383076214s
1
0.273778037v
3
s
2
2.229743175v
3
s
3
= 0
H
2
(v
3
) : (0.314440294 0.211244568v
3
)z
0
+ (0.894666074 + 0.883425201v
3
)z
1
+ (0.774048417 0.870897882v
3
)z
2
+ (0.475303485 + 0.280537503v
3
)z
3
0.243873653s
0
+ 0.312144041s
1
0.393163882v
3
s
2
+ 0.048274455v
3
s
3
= 0
H
3
(v
3
) : (0.475303485 0.280537503v
3
)z
0
+ (0.774048417 + 0.8708978822v
3
)z
1
+ (0.894666074 + 0.883425201v
3
)z
2
+ (0.314440294 0.211244568v
3
)z
3
0.048274455v
3
s
0
+ 0.393163882v
3
s
1
+ 0.312144041s
2
0.243873653s
3
= 0
H
4
(v
3
) : (4.389846714 0.276358999v
3
)z
0
+ (2.695580014 + 0.950628499v
3
)z
1
+ (1.451795932 1.198027476v
3
)z
2
+ (0.933195687 5.010153286v
3
)z
3
+ 2.229743175v
3
s
0
+ 0.273778037v
3
s
1
1.383076214s
2
1.770256825s
3
= 0
Substituting the DH parameters into T(v
4
), as derived in Subsection 6.1.2, and addi-
86
6. Inverse kinematics of the general 6R-mechanism
tionally the Study parameters of A (Eq. 6.5) yields the four pencils of hyperplanes
H
5
(v
4
) : (1.779919692v
4
+ 15.29439424)z
0
+ (22.33596590v
4
+ 26.66430288)z
1
+ (26.66430288v
4
22.33596590)z
2
+ (15.29439424v
4
+ 1.779919692)z
3
+ (3.684186575 + 0.906817154v
4
)s
0
+ (6.164367480 + 4.871400352v
4
)s
1
+ (4.871400352 6.164367480v
4
)s
2
+ (0.906817154 3.684186575v
4
)s
3
= 0
H
6
(v
4
) : (0.4699118777v
4
+ 4.050380750)z
0
+ (1.110994971v
4
1.473046678)z
1
+ (1.473046678v
4
+ 1.110994971)z
2
+ (4.050380750v
4
+ 0.4699118777)z
3
+ (0.647901129 0.512004808v
4
)s
0
+ (0.387223612 + 0.095310323v
4
)s
1
+ (0.095310323 0.387223612v
4
)s
2
+ (0.512004808 + 0.647901129v
4
)s
3
= 0
H
7
(v
4
) : (0.174468358v
4
+ 2.245479763)z
0
+ (3.612941137v
4
0.343251384)z
1
+ (0.343251384v
4
3.612941137)z
2
+ (2.245479763v
4
0.174468358)z
3
+ (0.483810313v
4
+ 0.174232093)s
0
+ (0.579349273v
4
+ 0.490791360)s
1
+ (0.490791360v
4
0.579349273)s
2
+ (0.174232093v
4
0.483810313)s
3
= 0
H
8
(v
4
) : (18.03721301v
4
+ 21.72216911)z
0
+ (0.565200322v
4
+ 1.333687321)z
1
+ (1.333687321v
4
+ 0.565200322)z
2
+ (21.72216911v
4
+ 18.03721301)z
3
+ (5.512140134v
4
4.669567875)s
0
+ (4.603147651v
4
+ 1.657707636)s
1
+(1.657707636v
4
4.603147651)s
2
+(4.669567875v
4
+5.512140134)s
3
= 0
Solving seven of these equations H
1
(v
3
), . . . , H
4
(v
3
),H
5
(v
4
), . . . , H
7
(v
4
) linearly for the
homogeneous coordinates z
0
, . . . , z
3
, s
0
, . . . , s
3
yields a surface R in the kinematic image
space, dependent on the two parameters v
3
and v
4
. This surface is represented by
87
6. Inverse kinematics of the general 6R-mechanism
r = (r
0
, . . . , r
7
) where
r
0
= v
3
4
v
4
3
+ 0.749329254v
2
4
v
4
3
+ 0.897848593v
4
v
4
3
+ 0.931275466v
4
3
+ 0.030860985v
3
4
v
3
3
+ 0.408588974v
2
4
v
3
3
+ 0.5803875878v
4
v
3
3
+ 0.05235964256v
3
3
+ 1.560260545v
3
4
v
2
3
+ 0.5036658486v
2
4
v
2
3
+ 2.005286091v
4
v
2
3
+ 1.351827344v
2
3
+ 0.1853003278v
3
4
v
3
0.1703420974v
2
4
v
3
+ .09500240831v
4
v
3
+ 0.1506590725v
3
+ 0.7766640132v
3
4
+ 0.2538478506v
2
4
+ 0.6348337141v
4
+ 0.3625772931
r
1
= v
3
4
v
4
3
+ 0.6648041914v
2
4
v
4
3
+ 1.831853248v
4
v
4
3
+ 1.626458923v
4
3
+ 0.8409639691v
3
4
v
3
3
+ 0.9746396755v
2
4
v
3
3
+ 1.937805856v
4
v
3
3
1.437552353v
3
3
+ 2.413849485v
3
4
v
2
3
+ 1.787888354v
2
4
v
2
3
+ 5.464542210v
4
v
2
3
+ 3.254400646v
2
3
+ 0.8509184896v
3
4
v
3
+ 2.338423791v
2
4
v
3
+ 1.748682765v
4
v
3
1.534084490v
3
+ 0.6996842340v
3
4
+ 1.130544882v
2
4
+ 4.138347149v
4
+ 1.610053321
r
2
= v
3
4
v
4
3
+ 1.285904703v
2
4
v
4
3
0.5936881449v
4
v
4
3
+ 3.756119768v
4
3
3.269481191v
3
4
v
3
3
1.298890369v
2
4
v
3
3
+ 1.029991885v
4
v
3
3
2.805469882v
3
3
+ 2.504535965v
3
4
v
2
3
5.300041693v
2
4
v
2
3
+ 0.9200329113v
4
v
2
3
+ 5.657102195v
2
3
1.142692230v
3
4
v
3
+ 0.7031662928v
2
4
v
3
1.764326304v
4
v
3
3.007949751v
3
+ 0.8989644898v
3
4
1.856182155v
2
4
+ 3.139869650v
4
+ 1.334949387
r
3
= v
3
4
v
4
3
1.718305042v
2
4
v
4
3
+ 1.463462406v
4
v
4
3
1.263342218v
4
3
+ 0.8275985114v
3
4
v
3
3
+ 1.191288225v
2
4
v
3
3
+ 0.5761349775v
4
v
3
3
1.203061811v
3
3
+ 1.200999370v
3
4
v
2
3
2.236122148v
2
4
v
2
3
+ 2.692260316v
4
v
2
3
1.956690311v
2
3
+ 0.6935742685v
3
4
v
3
+ 1.905259438v
2
4
v
3
+ 0.2174732563v
4
v
3
1.296446764v
3
0.02447309976v
3
4
0.5384648674v
2
4
+ 2.034972516v
4
0.7732889720
r
4
= v
3
4
v
4
3
1.419582082v
2
4
v
4
3
+ 1.180824386v
4
v
4
3
0.7614868924v
4
3
+ 1.071012815v
3
4
v
3
3
+ 0.3430643320v
2
4
v
3
3
+ 2.546554886v
4
v
3
3
1.797450535v
3
3
+ 2.849976397v
3
4
v
2
3
0.03889673564v
2
4
v
2
3
+ 3.346148759v
4
v
2
3
+ 0.2008339062v
2
3
+ 0.5466229190v
3
4
v
3
+ 3.792830210v
2
4
v
3
+ 3.349556176v
4
v
3
2.129980577v
3
+ 0.2317407576v
3
4
0.1579287969v
2
4
+ 4.150777316v
4
+ 1.042025246
r
5
= v
3
4
v
4
3
+ 5.512376440v
2
4
v
4
3
+ 1.417965408v
4
v
4
3
+ 12.21099713v
4
3
+ 4.791964747v
3
4
v
3
3
+ 6.960407418v
2
4
v
3
3
+ 12.88949963v
4
v
3
3
+ 2.354027116v
3
3
+ 0.8043837348v
3
4
v
2
3
+ 6.513862756v
2
4
v
2
3
+ 13.34422305v
4
v
2
3
+ 20.19394011v
2
3
+ 4.998481856v
3
4
v
3
0.7211253924v
2
4
v
3
+ 7.988192869v
4
v
3
+ 4.369529129v
3
+ 1.233561086v
3
4
+ 3.888313858v
2
4
+ 2.233055289v
4
+ 7.975148431
r
6
= v
3
4
v
4
3
10.98226759v
2
4
v
4
3
+ 17.51971791v
4
v
4
3
11.49443092v
4
3
+ 14.04029485v
3
4
v
3
3
+ 31.32536974v
2
4
v
3
3
+ 1.177617186v
4
v
3
3
+ 7.511511813v
3
3
19.91194259v
3
4
v
2
3
+ 7.194153240v
2
4
v
2
3
+ 14.43236420v
4
v
2
3
17.94138625v
2
3
+ 3.084523630v
3
4
v
3
+ 22.03275136v
2
4
v
3
+ 2.443489782v
4
v
3
+ 8.318474561v
3
16.49779621v
3
4
+ 1.994902640v
2
4
3.076684461v
4
6.845988270
r
7
= v
3
4
v
4
3
+ 0.7608259554v
2
4
v
4
3
+ 1.007891407v
4
v
4
3
+ 1.073632755v
4
3
0.04843798193v
3
4
v
3
3
+ 0.3089085433v
2
4
v
3
3
+ 0.5040442618v
4
v
3
3
0.9415591695v
3
3
+ 1.560017617v
3
4
v
2
3
0.1186808932v
2
4
v
2
3
+ 2.117167808v
4
v
2
3
+ 1.716961414v
2
3
+ .5346939687v
3
4
v
3
+ 0.9637628571v
2
4
v
3
0.7265136827v
4
v
3
0.9639303264v
3
+ 0.3859093277v
3
4
+ 0.6622775030v
2
4
+ 1.659686709v
4
+ 0.4138477732
88
6. Inverse kinematics of the general 6R-mechanism
Substitution of this point into Eq. 4.9 representing the Study quadric and the remaining
hyperplane equation H
8
(v
4
) yields
E
1
: (v
6
3
v
6
4
+2.569848114v
6
3
v
5
4
+0.3435139499v
5
3
v
6
4
+5.970147746v
6
3
v
4
4
+7.264588657v
5
3
v
5
4
1.053975438v
4
3
v
6
4
+ 9.171814589v
6
3
v
3
4
+ 12.87630152v
5
3
v
4
4
+ 0.2283963646v
4
3
v
5
4
+ 0.7725350814v
3
3
v
6
4
+ 16.31685000v
6
3
v
2
4
+ 21.47779533v
5
3
v
3
4
+ 10.26218792v
4
3
v
4
4
+ 7.029317514v
3
3
v
5
4
2.659775244v
2
3
v
6
4
+ 7.264258839v
6
3
v
4
+ 18.63399881v
5
3
v
2
4
+ 29.03808312v
4
3
v
3
4
+ 0.5306595095v
3
3
v
4
4
+ 5.364463399v
2
3
v
5
4
1.014913587v
3
v
6
4
+ 12.57704845v
6
3
+ 13.86826071v
5
3
v
4
+ 21.22090614v
4
3
v
2
4
+ 33.83376234v
3
3
v
3
4
+ 17.28506176v
2
3
v
4
4
8.694513463v
3
v
5
4
+ 0.8091550094v
6
4
3.621512434v
5
3
+ 29.47895049v
4
3
v
4
+ 34.42342275v
3
3
v
2
4
5.137500588v
2
3
v
3
4
+ 13.71366284v
3
v
4
4
2.354315979v
5
4
+ 32.73594626v
4
3
+ 5.221655297v
3
3
v
4
+ 5.262808196v
2
3
v
2
4
+ 39.39569555v
3
v
3
4
8.655398850v
4
4
4.773459373v
3
3
+ 34.50841016v
2
3
v
4
2.511562188v
3
v
2
4
+ 6.129020747v
3
4
+ 24.24793209v
2
3
11.33726287v
3
v
4
+ 15.31229974v
2
4
0.6119513791v
3
+ 6.829583883v
4
+ 4.032250986)(1 +v
2
3
) = 0
E
2
: v
4
3
v
4
4
4.341071956v
4
3
v
3
4
4.169820032v
3
3
v
4
4
4.103273209v
4
3
v
2
4
3.993000618v
3
3
v
3
4
+ 10.16413934v
2
3
v
4
4
5.533881941v
4
3
v
4
+ 3.896866361v
3
3
v
2
4
+ 8.161150819v
2
3
v
3
4
10.96789417v
3
v
4
4
0.1382018802v
4
3
+ 17.30942043v
3
3
v
4
+ 3.284151398v
2
3
v
2
4
2.871728552v
3
v
3
4
+ 6.543853546v
4
4
7.010093757v
3
3
7.932487352v
2
3
v
4
+ 45.00638589v
3
v
2
4
18.53477266v
3
4
+ 9.107976663v
2
3
+ 16.51259721v
3
v
4
+ 3.045200041v
2
4
9.008742768v
3
+ 15.84571631v
4
+ 8.458440489 = 0
The common solutions of these two equations can be obtained with the help of a resul-
tant. Eliminating v
4
yields the polynomial
L(v
3
) : (v
4
3
1.871396051v
3
3
+ 6.681459762v
2
3
+ 0.1047211591v
3
+ 4.107509347)(v
4
3
5.819347699v
3
3
+ 16.11060009v
2
3
2.380079351v
3
+ 12.37126974)(v
12
3
1.579628754v
11
3
+ 7.404758977v
10
3
4.623724507v
9
3
+ 21.28272661v
8
3
3.908990424v
7
3
+ 30.87306761v
6
3
+ 0.3002386633v
5
3
+ 23.97085822v
4
3
+ 1.725261272v
3
3
+ 9.444239137v
2
3
+ 0.5604337811v
3
+ 1.470258004)T(v
3
) = 0
where
T(v
3
) : v
16
3
+ 0.5103616823v
15
3
0.2149984286v
14
3
+ 4.753253165v
13
3
+ 1.774529330v
12
3
+ 9.801338233v
11
3
+ 14.12163531v
10
3
2.583228172v
9
3
+ 15.83393594v
8
3
9.978071104v
7
3
+ 3.160770768v
6
3
+ 2.654700230v
5
3
1.242033476v
4
3
+ 7.110052661v
3
3
+ 1.543603271v
2
3
+ 2.005385859v
3
+ 1.087068650 = 0
is the univariate polynomial of degree 16. The solutions of (1 +v
2
3
) are v
3
= I and the
solutions of the two polynomials of degree four yield, as the common solutions after back
89
6. Inverse kinematics of the general 6R-mechanism
substitution into E
1
and E
2
, v
4
= I. The corresponding points to these solutions in
P
7
lie on the exceptional generator that had to be cut out of the Study quadric and are
therefore not mappings of Euclidean displacements. The polynomial of degree 12 yields
solutions where the coecient matrix of the linear system, that has been solved before,
is singular. Up to this step computations were performed with rational coecients. The
solutions of T(v
3
) have to be computed numerically and are
v
3
= (1.691740354 0.2041175451I, 0.7271308276, 0.4142135669,
0.1879938366 1.246572280I, 0.04119213366 0.8787914937I,
0.01264656625 0.8677611953I, 0.1569855583 0.7328788289I, 0.8077058428
0.3415432135I, 1.284372846 1.206685624I).
Substituting each of these solutions into E
1
and E
2
and calculating the common solutions
for v
4
yields the 16 solutions
v
4
= (0.9794954129 0.8647543835I, 1.374743684, 1.401948293,
2.630705895 0.7201737666I, 0.08641164657 1.107678436I, 0.1643589392
0.6284346363I, 0.6516505180 2.004995268I, 3.521735935 3.197502780I,
0.9312875208 0.5948644093I).
The coordinates of v
3
and v
4
substituted into the surface R yield the Study parameters
of the 16 poses, where
L
=
R
. The solutions for the tangent of the half-angle of the
rotation about the fourth axis v
4
, can be obtained by v
4
=
1
v
4
and are therefore
v
4
= (0.5737399648 0.5065303451I, 0.7274083246, 0.7132930686,
0.3536244956 0.09680712902I, 0.07000190556 0.8973281304I, 0.3895278935
1.489379411I, 0.1466144397 0.4511026229I, 0.1556454996 0.1413157962I,
0.7626252379 0.4871305601I).
The remaining angles can be obtained from using the other Segre manifolds SM
1
, SM
2
,
SM
5
and SM
6
. Therefore one can take one pencil of hyperplanes out of each of the
equations describing these manifolds, substitute the DH parameters, the EE pose and
each pose of
L
=
R
into these and solve each equation, which is linear in one of the
tangents of the remaining half-angles. As an example the hyperplane equations for the
rst pair of real solutions v
3
= 1.374743684 and v
4
= 0.7274083246 are
0.1149055481 + v
1
= 0
0.4768957482 + v
2
= 0
0.0628818985 + v
5
= 0
2.916417472 + v
6
= 0.
90
6. Inverse kinematics of the general 6R-mechanism
The solutions for v
1
and v
2
can be seen in these equations. The solutions for v
5
and
v
6
can be obtained by v
5
= v
5
and v
6
=
1
v
6
. The other 15 solutions can be attained
analogously. The 16 sets of solutions are shown in Table 6.2. They completely agree
with the solutions given in Raghavan and Roth [75]
Solution 1 Solution 2 Solution 3 Solution 4
u
1
46.779-60.091I 46.779+60.091I 13.110 14.000
u
2
172.531+139.444I 172.531-139.444I 50.993 29.700
u
3
-119.363-6.014I -119.363+6.014I -72.044 -45.000
u
4
-70.150-43.329I -70.150+43.329I 72.065 71.000
u
5
91.522-149.379I 91.522+149.379I -7.196 -63.000
u
6
-29.137+124.990I -29.137-124.990I -37.852 10.000
Solution 5 Solution 6 Solution 7 Solution 8
u
1
30.074-61.978I 30.074+61.978I 166.726+130.300I 166.726-130.300I
u
2
-43.491+226.319I -43.491-226.319I 153.484+18.964I 153.484-18.964I
u
3
-147.460-113.668I -147.460+113.667I -20.026-153.923I -20.026+153.923I
u
4
-39.252+9.875I -39.252-9.875I 36.399+156.215I 36.399-156.215I
u
5
-68.979-236.042I -68.979+236.042I -164.287+89.825I -164.287-89.825I
u
6
-2.946+145.603I -2.946-145.603I 15.830-130.481I 15.830+130.481I
Solution 9 Solution 10 Solution 11 Solution 12
u
1
143.838-24.025I 143.838+24.025I 135.785+32.326I 135.785-32.326I
u
2
-127.574+109.260I -127.575-109.260I -166.854+20.426I -166.854-20.426I
u
3
-5.851-151.453I -5.851+151.453I 35.619-98.869I 35.619+98.869I
u
4
150.375+79.834I 150.375-79.834I 20.724+54.018I 20.724-54.018
u
5
-117.225+166.343I -117.225-166.343I 21.570-58.569I 21.570+58.569I
u
6
-30.593-133.833I -30.593+133.833I -77.238+26.904 -77.238-26.904I
Solution 13 Solution 14 Solution 15 Solution 16
u
1
53.644-6.493I 53.644+6.493I -7.447-26.021I -7.447+26.021I
u
2
-96.181+20.010I -96.181-20.010I 10.727+77.838I 10.727-77.838I
u
3
81.863-23.334I 81.863+23.334I 129.343-38.635I 129.343+38.635I
u
4
18.040+15.904I 18.040-15.904I -83.228-34.264I -83.228+34.264
u
5
-32.861-48.098I -32.861+48.098I 17.738+84.770I 17.738-84.770I
u
6
-2.663+37.056I -2.663-37.056I -16.514-66.892I -16.514+66.892I
Table 6.2.: The 16 sets of solutions of the example of Raghavan and Roth (in degrees)
6.5.2. Example of Manseur and Doty [53]
The DH parameters of the mechanism that is able to move the EE in one pose with 16
distinct real congurations are printed in Table 6.3.
91
6. Inverse kinematics of the general 6R-mechanism
i a
i
d
i

i
1 0.3 0

2
2 1 0 0
3 0 0.2

2
4 1.5 0 0
5 0 0

2
6 0 0 0
Table 6.3.: DH parameters of the example of Manseur and Doty
The EE pose for the solutions is
A =
_
_
_
_
_
_
1 0 0 0
1.140175 0.760117 0.641689 0.102262
0 0.133333 0 0.991071
0 0.635959 0.766965 0.085558
_
_
_
_
_
_
.
This is an example for the case where not all Segre manifolds can be used for the
derivation of the univariate polynomial. In this mechanism the second and third axes
are parallel. If one would keep the rst axis xed, to obtain one 3-space of the Segre
manifold SM
1c
then the remaining 2R-chain is planar. This means that this 3-space lies
on the Study quadric and cannot be intersected with it later on. Therefore SM
1c
is not
a suitable choice for SM
L
. In this example SM
2c
will be taken to derive the constraint
manifold of the left 3R-chain.
On the other hand, if one has a look at the last three axes then the last two axes
intersect. Therefore if one would keep the fourth axis xed to obtain a 3-space of SM
4
the remaining 2R-chain would be a spherical one. The kinematic image of such a 2R-
chain is a quadric in a 3-space on the Study quadric. Therefore the intersection with
the S
2
6
fails. So one has to take one of the Segre manifolds SM
5
or SM
6
to obtain the
constraint manifold of the right 3R-chain. In the following SM
5
is taken to be SM
R
.
Substitution of the DH parameters and the Study parameters of the pose of the EE
yields
H
1
(v
2
) : (1.4v
2
0.4)z
0
+ (1.4v
2
+ 0.4)z
1
+ (2.6 + 0.4v
2
)z
2
+ (2.6 0.4v
2
)z
3
4v
2
s
0
+ 4v
2
s
1
4s
2
+ 4s
3
= 0
H
2
(v
2
) : (0.4 + 1.4v
2
)z
0
(0.4 + 1.4v
2
)z
1
+ (2.6 + 0.4v
2
)z
2
+ (2.6 + 0.4v
2
)z
3
4v
2
s
0
4 v
2
s
1
4s
2
4s
3
= 0
H
3
(v
2
) : (2.6 0.4v
2
)z
0
+ (2.6 + 0.4v
2
)z
1
+ (1.4v
2
0.4)z
2
+ (1.4v
2
+ 0.4)z
3
+ 4s
0
4s
1
4v
2
s
2
+ 4v
2
s
3
= 0
H
4
(v
2
) : (2.6 + 0.4v
2
)z
0
(2.6 + 0.4v
2
)z
1
(0.4 + 1.4v
2
)z
2
(0.4 + 1.4v
2
)z
3
+ 4s
0
+ 4s
1
4v
2
s
2
4v
2
s
3
= 0
92
6. Inverse kinematics of the general 6R-mechanism
H
5
(v
5
) : (0.2236706728 0.7072183178v
5
)z
0
+ (2.004233068 0.2326413183v
5
)z
1
(0.7436811649 + 0.3208317015v
5
)z
2
+ (0.03490067370 + 1.990991155v
5
)z
3
+ (0.4482117628v
5
+ 1.476441218)s
0
+ (0.6508816555v
5
+ 1.550043180)s
1
+(1.550043180v
5
0.6508816555)s
2
+(1.476441218v
5
+0.4482117628)s
3
= 0
H
6
(v
5
) : (0.3208317015 + 0.7436811649v
5
)z
0
+ (1.990991155 0.03490067370v
5
)z
1
+ (0.7072183178 0.2236706728v
5
)z
2
+ (0.2326413183 2.004233068v
5
)z
3
+ (0.6508816555v
5
+ 1.550043180)s
0
+ (0.4482117628v
5
1.476441218)s
1
(1.476441218v
5
+ 0.4482117628)s
2
(1.550043180v
5
+ 0.6508816555)s
3
= 0
H
7
(v
5
) : (0.03490067370 1.990991155v
5
)z
0
(0.7436811649 + 0.3208317015v
5
)z
1
+ (2.004233068 + 0.2326413183v
5
)z
2
+ (0.2236706728 0.7072183178v
5
)z
3
+ (0.4482117628 + 1.476441218v
5
)s
0
+ (1.550043180v
5
0.6508816555)s
1
(1.550043180 + 0.6508816555v
5
)s
2
+ (0.4482117628v
5
+ 1.476441218)s
3
= 0
H
8
(v
5
) : (0.2326413183 + 2.004233068v
5
)z
0
+ (0.7072183178 0.2236706728v
5
)z
1
+ (1.990991155 + 0.03490067370v
5
)z
2
(0.3208317015 + 0.7436811649v
5
)z
3
+ (0.6508816555 + 1.550043180v
5
)s
0
(1.476441218v
5
+ 0.4482117628)s
1
+(1.4764412180.4482117628v
5
)s
2
+(0.6508816555v
5
+1.550043180)s
3
= 0
Solving the linear system of seven of these equations H
1
(v
2
), . . . , H
4
(v
2
),H
5
(v
5
), . . . , H
7
(v
5
)
in the homogeneous unknowns z
0
, . . . , z
3
, s
0
, . . . , s
3
yields the surface R in P
7
, dependent
on the two parameters v
2
and v
5
with the coordinates:
r
0
= v
4
2
v
3
5
+ 2.076583748v
4
2
v
2
5
+ 2.187714523v
3
2
v
3
5
15.82662310v
4
2
v
5
+ 10.34842592v
3
2
v
2
5
6.780025844v
2
2
v
3
5
+ 2.537618137v
4
2
14.72483569v
3
2
v
5
+ 14.32828088v
2
2
v
2
5
2.274159814v
2
v
3
5
4.386145652v
3
2
92.35858652v
2
2
v
5
+ 58.65177620v
2
v
2
5
+ 6.704872560v
3
5
6.553710446v
2
2
9.623697320v
2
v
5
+ 5.055421308v
2
5
+ 12.41596502v
2
28.97545947v
5
2.400442001
93
6. Inverse kinematics of the general 6R-mechanism
r
1
= v
4
2
v
3
5
+ 7.039242481v
4
2
v
2
5
+ 1.144551856v
3
2
v
3
5
0.09366418026v
4
2
v
5
8.612086898v
3
2
v
2
5
1.058219448v
2
2
v
3
5
0.5475635548v
4
2
+ 6.336826554v
3
2
v
5
+ 19.96038791v
2
2
v
2
5
+ 0.8005354666v
2
v
3
5
2.267447829v
3
2
11.30433686v
2
2
v
5
22.66261869v
2
v
2
5
7.018754521v
3
5
+ 2.340322843v
2
2
2.270909685v
2
v
5
+ 3.604261669v
2
5
+ 3.361669488v
2
+ 2.573976566v
5
0.7384138179
r
2
= v
4
2
v
3
5
+ 4.297616481v
4
2
v
2
5
1.637553741v
3
2
v
3
5
0.5872372612v
4
2
v
5
+ 1.687352399v
3
2
v
2
5
0.6832929914v
2
2
v
3
5
0.2301319947v
4
2
+ 0.9526289192v
3
2
v
5
+ 22.51069577v
2
2
v
2
5
+ 1.881298210v
2
v
3
5
0.4323804561v
3
2
0.2101933535v
2
2
v
5
0.06085656431v
2
v
2
5
0.5993588986v
3
5
+ 1.439831786v
2
2
+ 12.50564724v
2
v
5
+ 6.478627752v
2
5
+ 1.193053057v
2
0.8621881672v
5
2.411814237
r
3
= v
4
2
v
3
5
3.225209286v
4
2
v
2
5
+ 10.17245930v
3
2
v
3
5
45.71142898v
4
2
v
5
+ 83.48972487v
3
2
v
2
5
+ 2.232459018v
2
2
v
3
5
+ 19.76648495v
4
2
+ 82.71629086v
3
2
v
5
107.0995522v
2
2
v
2
5
30.86962715v
2
v
3
5
+ 0.2228862156v
3
2
120.5842551v
2
2
v
5
+ 6.404421926v
2
v
2
5
+ 4.078754869v
3
5
+ 8.883882981v
2
2
+ 196.7666419v
2
v
5
+ 12.37584627v
2
5
29.78011240v
2
3.654812404v
5
57.45635180
r
4
= v
4
2
v
3
5
+ 5.910474589v
4
2
v
2
5
0.2040331002v
3
2
v
3
5
0.2968755030v
4
2
v
5
3.716451169v
3
2
v
2
5
4.651217118v
2
2
v
3
5
0.4168722961v
4
2
+ 13.40639621v
3
2
v
5
7.782299379v
2
2
v
2
5
0.9286537572v
2
v
3
5
5.527505030v
3
2
23.38318070v
2
2
v
5
+ 22.22036339v
2
v
2
5
+ 7.421433082v
3
5
+ 2.844650842v
2
2
+ 8.372274763v
2
v
5
1.270416358v
2
5
+ 8.490790009v
2
3.167121520v
5
0.1862404710
r
5
= v
4
2
v
3
5
+ 1.785784776v
4
2
v
2
5
8.490303066v
3
2
v
3
5
17.46578003v
4
2
v
5
33.41202834v
3
2
v
2
5
+ 9.216875794v
2
2
v
3
5
+ 3.482607261v
4
2
2.852556056v
3
2
v
5
16.69617233v
2
2
v
2
5
+ 8.961071989v
2
v
3
5
1.575202732v
3
2
61.75743715v
2
2
v
5
174.6152779v
2
v
2
5
11.54521307v
3
5
7.753303679v
2
2
+ 37.26883379v
2
v
5
8.194875488v
2
5
+ 3.382754000v
2
+ 50.65958407v
5
+ 1.062014616
r
6
= v
4
2
v
3
5
+ 15.11339173v
4
2
v
2
5
75.57378138v
3
2
v
3
5
+ 57.65841741v
4
2
v
5
578.6751739v
3
2
v
2
5
88.44555672v
2
2
v
3
5
39.82718693v
4
2
248.8825711v
3
2
v
5
+ 790.8523042v
2
2
v
2
5
+ 259.1466851v
2
v
3
5
+ 16.10898643v
3
2
712.4449374v
2
2
v
5
+ 22.61306967v
2
v
2
5
+ 41.81785137v
3
5
+ 226.1575798v
2
2
+ 715.6497344v
2
v
5
+ 74.00206391v
2
5
50.12588490v
2
116.9145673v
5
270.6836754
r
7
= v
4
2
v
3
5
+ 3.935601159v
4
2
v
2
5
1.219170623v
3
2
v
3
5
0.6524106355v
4
2
v
5
+ 4.678994019v
3
2
v
2
5
2.149215156v
2
2
v
3
5
0.1882170551v
4
2
12.19398886v
3
2
v
5
+ 17.07839725v
2
2
v
2
5
+ 1.207424145v
2
v
3
5
+ 1.803846247v
3
2
8.415855435v
2
2
v
5
+ 7.092670736v
2
v
2
5
+ 2.186857220v
3
5
1.381116666v
2
2
48.75888563v
2
v
5
14.09637743v
2
5
4.838256058v
2
+ 1.472758138v
5
+ 5.168022921
94
6. Inverse kinematics of the general 6R-mechanism
Substitution of this coordinates into the equation of S
2
6
and the remaining eighth hyper-
plane yields:
E
1
: (v
6
2
v
6
5
+6.443554507v
6
2
v
5
5
+5.060743474v
5
2
v
6
5
20.85670999v
6
2
v
4
5
+57.60750263v
5
2
v
5
5
9.581679487v
4
2
v
6
5
131.3424349v
6
2
v
3
5
+ 186.9477222v
5
2
v
4
5
85.45921012v
4
2
v
5
5
25.92731099v
3
2
v
6
5
+ 49.54631123v
6
2
v
2
5
+ 90.20438601v
5
2
v
3
5
205.4435901v
4
2
v
4
5
+ 101.2933138v
3
2
v
5
5
+ 37.39622540v
2
2
v
6
5
+ 5.266772549v
6
2
v
5
133.3151419v
5
2
v
2
5
833.5738977v
4
2
v
3
5
+ 658.5776157v
3
2
v
4
5
+ 127.7873330v
2
2
v
5
5
+ 22.93927563v
2
v
6
5
2.439155077v
6
2
+ 46.81471400v
5
2
v
5
+ 232.1582115v
4
2
v
2
5
+ 1222.528236v
3
2
v
3
5
701.4870070v
2
2
v
4
5
439.2002855v
2
v
5
5
32.23730449v
6
5
5.095010376v
5
2
38.81266620v
4
2
v
5
399.8356473v
3
2
v
2
5
715.0758549v
2
2
v
3
5
+ 78.05548227v
2
v
4
5
1.242142689v
5
5
+ 24.18664847v
4
2
+ 153.2183045v
3
2
v
5
+ 698.6304255v
2
2
v
2
5
+ 934.7260590v
2
v
3
5
+ 185.6944526v
4
5
+ 18.26235484v
3
2
12.26203245v
2
2
v
5
58.67524917v
2
v
2
5
56.34346937v
3
5
66.27743870v
2
2
424.6190456v
2
v
5
190.6125037v
2
5
10.42248360v
2
+29.54821295v
5
+47.22220364)(13 +7v
2
2
) = 0
E
2
: v
4
2
v
4
5
+ 1.742477915v
4
2
v
3
5
0.1480967561v
3
2
v
4
5
17.29925158v
4
2
v
2
5
+ 3.387114502v
3
2
v
3
5
3.357214716v
2
2
v
4
5
+ 1.742477915v
4
2
v
5
0.2961935121v
3
2
v
2
5
+7.408417297v
2
2
v
3
5
0.1480967561v
2
v
4
5
+v
4
2
+3.387114502v
3
2
v
5
104.6952894v
2
2
v
2
5
+ 4.403249098v
2
v
3
5
+ 3.362485277v
4
5
0.1480967561v
3
2
+ 7.408417297v
2
2
v
5
0.2961935121v
2
v
2
5
+ 1.050102363v
3
5
3.357214716v
2
2
+ 4.403249098v
2
v
5
12.57428103v
2
5
0.1480967561v
2
+ 1.050102363v
5
+ 3.362485277 = 0
To arrive at a univariate polynomial the unknown v
5
is eliminated with help of a resul-
tant. This yields:
L(v
2
) : (7v
2
2
13)
4
(v
4
2
0.5232509926v
3
2
+ 8.175932473v
2
2
0.6952687952v
2
+ 0.3173363717)(v
4
2
+ 0.3921707137v
3
2
+ 6.719823237v
2
2
+ 0.5003610221v
2
+ 0.4232020560)(v
12
2
6.297609836v
11
2
30.61549637v
10
2
99.24132889v
9
2
2.221038473v
8
2
146.6481161v
7
2
+ 911.4041786v
6
2
+ 595.8603058v
5
2
39.71054925v
4
2
1230.850514v
3
2
715.7113747v
2
2
242.0388908v
2
119.0584624)
2
T(v
2
) = 0
where
T(v
2
) : (v
8
2
+ 17.90309054v
7
2
575.5344002v
6
2
+ 3.001855853v
5
2
+ 2025.248885v
4
2
52.78234443v
3
2
1792.737396v
2
2
15.88924832v
2
+ 3.727269723)
2
= 0
is the univariate polynomial of degree 16. The polynomial (7v
2
2
13) belongs to points
in P
7
that lie in the 3-space that was sliced out of S
2
6
. The other polynomials yield
solutions, that lie on the exceptional 3-space of S
2
6
and are points with coordinates
95
6. Inverse kinematics of the general 6R-mechanism
(0 : 0 : 0 : 0 : 0 : 0 : 0 : 0), that are also not allowed solutions. In this example T(v
2
) is a
polynomial of degree eight squared. This means that every solution is a double solution
and they are:
v
2
= (34.52599571, 1.314955290, 1.284680223, 0.05036364576,
0.04139375839, 1.362769892, 1.362771367, 16.50596932).
The common solutions, after back substitution of each of these values into E
1
and E
2
,
for v
5
are
v
5
= (0.1959330021, 5.103785422, 17.86278906,
0.05598229910, 12.57018127, 0.07955334761, 0.4868948879,
2.053831381, 0.6207354157, 1.610992340, 9676552.570,
0.1033425895 10
6
, 7.433040187, 0.1345344536, 3.279761255, 0.3049002419),
where the rst two belong to the rst value of v
2
, the third and fourth to the second
value of v
2
and so on.
The corresponding values for the tangent of half the rotation angle about the fth axis
of the 6R can be obtained by v
5
= v
5
and are
v
5
= (0.1959330021, 5.103785422, 17.86278906, 0.05598229910, 12.57018127,
0.07955334761, 0.04868948879, 2.053831381, 0.6207354157,
1.610992340, 9676552.570, 0.1033425895 10
6
, 7.433040187, 0.1345344536,
3.279761255, 0.3049002419).
The tangents of the half-angles for the remaining axes can be obtained, similar to the
rst example, with help of the remaining Segre manifolds. As an example the equations
for the rst real set of solutions are:
0.9770581594 + v
1
= 0
0.01401243529 +v
3
= 0
0.6162141815 + v
4
= 0
2.743288549 + v
6
= 0.
The values for v
4
and v
6
can be obtained from v
i
=
1
v
i
, i = 4, 6. All 16 real sets of
solutions are printed in Table 6.4. These solutions completely agree with the solutions
in Manseur and Doty [53].
96
6. Inverse kinematics of the general 6R-mechanism
Solution 1 Solution 2 Solution 3 Solution 4
u
1
88.67033630 88.67033586 -11.76818694 -11.76818693
u
2
-176.6819340 -176.6819340 -105.4953198 -105.4953198
u
3
-178.3943983 1.605601725 -114.4896090 65.51039114
u
4
-63.28392872 -116.7160710 1.243093355 178.7569066
u
5
157.8286024 22.17139760 6.408409824 173.5915901
u
6
139.9437739 -40.05622611 -79.39796404 100.6020360
Solution 5 Solution 6 Solution 7 Solution 8
u
1
168.7032995 168.7033019 -96.29227439 -96.29227372
u
2
-104.2053468 -104.2053468 -5.766376514 -5.766376514
u
3
-33.44378459 146.5562153 0.8581079569 -179.1418921
u
4
-163.6065189 -16.39348090 141.5227242 38.47727589
u
5
-9.096983608 -170.9030164 128.0775720 51.92242793
u
6
-81.78415968 98.21584023 140.3691890 -39.63081096
Solution 9 Solution 10 Solution 11 Solution 12
u
1
113.8414164 113.8414141 0.000025905 0.00002613
u
2
4.740668921 4.740668921 107.4575872 107.4575872
u
3
-179.0928968 0.9071030947 112.4602948 -67.53970522
u
4
-55.95391390 -124.0460860 -7.662275644 -172.3377241
u
5
-63.65867848 -116.3413215 0.000011842 179.9999881
u
6
-42.46273441 137.5372655 0.00004326 -179.9999568
Solution 13 Solution 14 Solution 15 Solution 16
u
1
-179.9999696 -179.9999701 -120.7478615 -120.7478615
u
2
107.4576464 107.4576464 173.0660439 173.0660439
u
3
-147.3755080 32.62449190 1.527534654 -178.4724652
u
4
-7.662232386 -172.3377675 148.6724232 31.32757686
u
5
-164.6755005 -15.32449948 -33.91295293 -146.0870470
u
6
-179.9999773 0.00002259 -37.39531573 142.6046837
Table 6.4.: The 16 real sets of solutions of the example of Manseur and Doty (in degrees)
6.5.3. Example of Manocha and Zhu [51]: Puma 762
The Puma series are wrist partitioned 6R-manipulators. That means that the last three
axes intersect in one point and therefore the right 3R-chain is a spherical one. This is
an example where Algorithm 2 presented in Section 6.4 can be applied. The constraint
manifold for this 3R-chain is therefore not a one parameter set of 3-spaces, it is the xed
T
w
given by the hyperplanes in Eq. 5.25 - 5.28. The DH parameters of the Puma 762
are given in Table 6.5.
The rst 3R-chain is also typical for Puma robots. The rst two axes intersect orthog-
onally and the third is parallel to the second. That means, if this 6R-manipulator would
97
6. Inverse kinematics of the general 6R-mechanism
i a
i
d
i

i
1 0 0

2
2 0.65 0 0
3 0 -0.19

2
4 0 0.6

2
5 0 0

2
6 0 0 0
Table 6.5.: DH parameters of the example of Manocha and Zhu
be a general one without a wrist, one could only take SM
2c
to obtain the constraint
manifold of this 3R-chain because the other two, SM
1c
and SM
3c
lie on S
2
6
. But in this
special case it does not matter which Segre manifold is taken because the xed 3-space,
representing the wrist in P
7
, lies on S
2
6
and therefore the intersection of this 3-space
with one of the Segre manifolds of the left 3R-chain is also on the Study quadric. So it
does not matter if one of the Segre manifolds corresponding to the left 3R-chain lies on
the Study quadric because only the intersection with T
w
is important. Because of the
fact that a Segre manifold of this type intersects an arbitrary 3-space in P
7
in 4 points
(see Subsection 5.4.1), this problem yields a univariate polynomial of degree four which
can be solved in closed form.
The pose of the end eector in Manocha and Zhu [51] is given by
(6.6) A =
_
_
_
_
_
_
1 0 0 0
0.614 0.250 0.975 0.146
0.884 0.475 0.25 0.854
0.46 0.854 0.146 0.50
_
_
_
_
_
_
.
The lower right 3 3 matrix of Eq. 6.6 should be an orthogonal matrix and therefore
one would expect, that the determinant of the whole matrix is 1. But the determinant
of this matrix A is 0.973. This is numerically not very exact but maybe due to roundo
errors. Therefore one solution of Manocha and Zhus is taken and the direct kinematics
with this solution yields
(6.7) A =
_
_
_
_
_
_
1 0 0 0
13
40
+
41
200

2
1
4

1
4

1
2

2
1
4

2
1
2
13
40
+
79
200

2
1
4
+
1
2

2
1
4

1
4

2
1
2
13
40

2
1
4

2 +
1
2

1
4

2 +
1
2
1
2
_
_
_
_
_
_
which is numerically up to three digits the same as above.
Substitution of the DH parameters and the Study parameters into the hyperplanes
98
6. Inverse kinematics of the general 6R-mechanism
representing the one parameter set of 3-spaces T
c
(v
2
) and the xed 3-space T
w
yields
H
1
(v
2
) : (65v
2
+ 19)z
0
+ (65v
2
19)z
1
+ (65 19v
2
)z
2
+ (65 + 19v
2
)z
3
200v
2
s
0
+ 200v
2
s
1
200s
2
+ 200s
3
= 0
H
2
(v
2
) : (19 65v
2
)z
0
+ (19 65v
2
)z
1
+ (65 19v
2
)z
2
+ (65 19v
2
)z
3
200v
2
s
0
200v
2
s
1
200s
2
200s
3
= 0
H
3
(v
2
) : (65 + 19v
2
)z
0
+ (65 19v
2
)z
1
+ (65v
2
+ 19)z
2
+ (65v
2
19)z
3
+ 200s
0
200s
1
200v
2
s
2
+ 200v
2
s
3
= 0
H
4
(v
2
) : (65 + 19v
2
)z
0
+ (65 + 19v
2
)z
1
+ (19 65v
2
)z
2
+ (19 65v
2
)z
3
+ 200s
0
+ 200s
1
200v
2
s
2
200v
2
s
3
= 0
H
5
: (79

2 + 65)z
0
+ (204 106

2)z
1
+ (84 79

2)z
2
+ (185 5

2)z
3
+ 400s
0
+ 200s
1
200s
2
+ 200s
3

2 = 0
H
6
: (84 + 106

2)z
0
+ (65 + 41

2)z
1
+ (55 5

2)z
2
+ (36 + 79

2)z
3
200s
0
+ 400s
1
+ 200s
2

2 + 200s
3
= 0
H
7
: (36 + 79

2)z
0
+ (55 + 5

2)z
1
+ (65 + 41

2)z
2
+ (84 106

2)z
3
+ 200s
0
200s
1

2 + 400s
2
+ 200s
3
= 0
H
8
: (185 + 5

2)z
0
+ (84 79

2)z
1
+ (204 + 106

2)z
2
+ (79

2 + 65)z
3
200s
0

2 200s
1
200s
2
+ 400s
3
= 0
These eight hyperplanes intersect if

h
1
(v
2
), h
2
(v
2
), h
3
(v
2
), h
4
(v
2
), h
5
, h
6
, h
7
, h
8

= 0,
where h
i
are the hyperplane coordinates of H
i
, i = 1, . . . , 8. This yields the univariate
polynomial
T(v
2
) : (25v
2
1 +

2)(v
2
+ 25 + 25

2)(v
2
1 +

2)(v
2
+ 1 +

2) = 0.
The solutions of T are
v
2
= (1 +

2, 1 +

2,
1
25
+
1
25

2, 25 + 25

2).
Substituting these values for v
2
into H
1
(v
2
), . . . , H
4
(v
2
) and computing the intersection
with the hyperplanes H
5
, . . . , H
7
yields four points R
i
, i = 1, . . . , 4 which represent
those poses where
L
and
R
coincide. The corresponding solutions of v
1
and v
3
can
be obtained with help of the remaining Segre manifolds SM
1c
and SM
3c
. Taking one
of the pencils of hyperplanes of each Segre manifold, substituting the coordinates of
R
i
, i = 1, . . . , 4
L
and solving linearly for v
1
resp. v
3
yields
v
1
=
_
2307
1873

3697
1873

2, 1 +

2, 1 +

2,
2307
1873

3697
1873

2
_
,
99
6. Inverse kinematics of the general 6R-mechanism
v
3
=
_
1 +

2, 1 +

2, 1 +

2, 1 +

2
_
.
The computation of the rotation angles of the wrist can not be done with help of the
Segre manifolds of the right 3R-chain because these manifolds are not functions of a
single parameter, they are a xed 3-space T
w
that does not depend on any of the
rotation angles v
4
, v
5
or v
6
. In this case one has to solve the matrix equations
(6.8) M
4
G
4
M
5
G
5
M
6
G
6
= A S
1
i
,
where S
i
are the matrices representing the poses where
L
=
R
, i = 1, . . . , 4. According
to Theorem 5.1 the parametric representations of the constraint manifolds of the left
sides of these equations are 3-linear in the tangents of the half-angles of the rotations.
Therefore these matrix equations can be seen as a set of seven equations in the unknowns
v
4
, v
5
and v
6
in the kinematic image space. In this special case one of these equations
is equal to zero. As an example the remaining six equations for the rst set of solutions
v
1
, v
2
and v
3
are
G
1
: 595 595v
6
v
4
+ 247

2v
5
v
6
+ 247

2v
5
v
4
456v
6
v
5
456v
5
v
4
= 0
G
2
: 595v
6
595v
4
+ 1646v
6
v
5
+ 1646v
5
v
4
+ 348

2v
5
v
6
+ 348

2v
5
v
4
= 0
G
3
: 595 + 595v
6
v
4
177v
6
177v
4
38

2v
6
38

2v
4
= 0
G
4
: 1785 + 1785v
6
v
4
531v
6
531v
4
114

2v
6
114

2v
4
= 0
G
5
: 1785v
6
1785v
4
+ 4938v
6
v
5
+ 4938v
5
v
4
+ 1044

2v
5
v
6
+ 1044

2v
5
v
4
= 0
G
6
: 1785 + 1785v
6
v
4
741

2v
5
v
6
741

2v
5
v
4
+ 1368v
6
v
5
+ 1368v
5
v
4
= 0
This is an overdetermined set of equations. One Groebner basis of this set is
GB
1
: 5114071 + (19342760

2 + 3500622)v
6
+ 5114071v
2
6
= 0,
GB
2
: 36302494 + 4301843

2 + 106795686v
5
+ (9967157

2 + 4078586)v
6
= 0,
GB
3
: 13803340 + 3397390

2 + (1892210

2 + 467833)v
6
+ 4072323v
4
= 0.
The solution of this system yields two sets of solutions for the remaining joint parameters
v
4
, v
5
and v
6
.
Performing the same computations for each of the four matrix equations in Eq. 6.8
yields two solutions for the remaining joint variables that solve the system. Therefore
for every set of the rst three revolute angles there exist two sets of angles for the second
triple of revolute angles. The whole set of angles for v
4
, v
5
and v
6
are here evaluated
numerical because the exact solutions are too long to display:
v
4
= (4.693995017, 0.213038147, 0.414213562, 2.414213562,
0.2701331151, 3.701878603, 8.65281971, 0.11556929) ,
100
6. Inverse kinematics of the general 6R-mechanism
v
5
= (0.2980997914, 0.2980997914, 0.414213562, 0.414213562,
0.8881245516, 0.8881245516, 0.81081596, 0.81081596) ,
v
6
= (0.161424168, 6.194859276, 0.414213562, 2.414213562,
0.119885483, 8.341293683, 0.00551605, 181.2898599) .
In these vectors the rst two entries belong to the rst set of the rst three joint param-
eters, the third and fourth to the second set and so on. The whole set of solutions for
the inverse kinematic problem of the Puma 762 is shown in Table 6.6. These solutions
do agree with Manocha and Zhu [51] except for some rounding errors, but in Solution 6
(in Manocha and Zhu Solution 5) the angle of the sixth revolute joint is 13.67 degrees
instead of 113.68 in their table. This is assumed to be a typing error.
Solution 1 Solution 2 Solution 3 Solution 4
u
1
-114.6686858 -114.6686858 45 45
u
2
135 135 45 45
u
3
135 135 45 45
u
4
24.05279491 -155.9472051 45 -135
u
5
-33.19861545 33.19861545 45 -45
u
6
-161.6603576 18.33964245 45 -135
Solution 5 Solution 6 Solution 7 Solution 8
u
1
45 45 -114.6686858 -114.6686858
u
2
1.898441409 1.898441409 178.1015585 178.1015585
u
3
135 135 45 45
u
4
-149.7666328 30.23336718 -166.8152300 13.18477298
u
5
-83.21813240 83.21813240 78.07138178 -78.07138178
u
6
-166.3273900 13.67261025 0.6320863584 -179.3679161
Table 6.6.: The 8 sets of solutions of the example of the Puma 762 (in degrees)
101
7. Overconstrained 6R-mechanisms
Linkages that should have zero or less degrees of freedom, according to the formula of
Gr ubler, Kutzbach and Tschebysche in Eq. 4.1, but do have mobility are called over-
constrained mechanisms. In general, overconstrained mechanisms are multi-loop and
multi-degree-of-freedom linkages. In this section we are only interested in single loop
mechanisms, where all the links are connected with revolute joints.
Such single loop overconstrained mechanisms of mobility one have either 4, 5 or 6 links.
Mechanisms with more than 6 links are mobile, according to this formula.
In the case of 4R-mechanisms, Bennett [8] was the rst who found an overconstrained
closed loop, called the Bennett linkage. Brunnthaler et al. [14] give a simple proof that
linkages that satisfy the relations of Bennett linkages are the only movable 4R-chains.
The full classication of closed loop overconstrained mechanisms with 5 revolute joints
was published by Karger [39].
Bennett linkages are of special interest not only because of themselves but also because
they form a fundamental part of several other overconstrained mechanisms like Gold-
bergs 5R-linkage [29], Waldrons 6R-linkage [92] or Wohlharts 6R-linkage [96]. All of
them and many more overconstrained linkages obtained from combinations of Bennett
linkages are treated in detail in Dietmaier [20].
But there exist many other closed loop 6R-chains which are not combinations of Ben-
nett linkages. The rst overconstrained 6R-mechanism was found by Sarrus [82]. This
mechanism consists of two groups of respectively three adjacent parallel axes. Bricard
found, beside some combined Bennetts, another overconstrained 6R-mechanism in [13].
In this mechanism every pair of adjacent axes are orthogonal. Another very famous over-
constrained 6R-mechanism was found, although by another approach, by the inventor
Schatz [83]. This mechanism is similar to the one of Bricard, but the distances between
three adjacent axes are equal. This mechanism is used in industry, where the company
Bachofen used it to create a machine for mixing powder and uids, called the Turbula
mixing machine (Fig. 7.1).
102
7. Overconstrained 6R-mechanisms
Figure 7.1.: Turbula T2F Heavy-Duty Shaker-Mixer (Willy A. Bachofen AG,
http://www.wab.ch/ie/e/turbula1.htm)
Yan et al. [97] specied in 1987 special values to some of the design parameters to ob-
tain a closed form solution for the inverse kinematics, identied geometric constraints for
the mechanism to be movable and obtained three new types of movable 6R-mechanisms.
Lee and Yan [43] analyzed in 1993 overconstrained mechanisms with three adjacent par-
allel axes.
In 1994 Mavroidis and Roth [62] used the solution of the inverse kinematics problem of
Raghavan and Roth [75] to analyze known and synthesize new overconstrained mecha-
nisms. Furthermore they used this algorithm in [60] and [61] to analyze known overcon-
strained mechanisms, correct errors in several published overconstrained conditions of
known manipulators and discovered new overconstrained mechanisms.
An overview of most known mechanisms with six joints can be found in Baker [4] in a
publication from 2002.
Jin and Yang [37] used only a few equations of the inverse kinematics problem to ob-
tain solutions for four of the revolute angles. Afterwards they permuted the indices and
performed the procedure again to obtain some other revolute angles and used the fact
that if this mechanism is movable in every permutation then the whole mechanism is
movable.
Shih and Yan [85] synthesized a mechanism, where three adjacent axes are parallel and
103
7. Overconstrained 6R-mechanisms
the other three axes intersect in one point, for two-position cylindrical rigid body guid-
ance.
Fang and Tsai [25] used screw theory to identify geometric conditions that lead to -
nite motion of mechanisms, but because of the fact, that screw theory only yields local
properties, they needed more information to demonstrate full cycle mobility. They enu-
merated overconstrained mechanisms with a motion space that is constraint by one to
up to three zero- or innite-pitch wrenches.
Chen and Baker developed in [16] a new technique to synthesize new overconstrained
multi-loop linkages. They take a set of Bennett loops, connect it by another Bennett
mechanism and obtain a multi-loop linkage. Baker [5] found out that this linkage con-
tains 16 6R-chains. One of the new types was an overconstrained 6R-chain.
Most discoveries of overconstrained six revolute spatial linkages have come about syn-
thetically or intuitively rather than by analytical processes. Therefore until now there
is no complete classication of all overconstrained serial closed loop mechanisms with 6
revolute axes. A complete classication seems to be a dicult problem.
7.1. Analysis of overconstrained serial 6R-chains
From a geometric point of view a closed loop 6R-chain becomes mobile when all 6
joint axes belong to a linear complex. This mobility can be either conguration depen-
dent, i.e. an instantaneously singular conguration, or conguration independent. Only
mechanisms with axes that belong to a linear complex in every conguration are called
overconstrained. This condition is called the linear complex condition. In order to fulll
this condition it is necessary that these mechanisms have a special design, i.e., certain
conditions between their design parameters have to be fullled.
A serial open 6R-chain, where the EE is xed in an arbitrary pose in E
3
can always be
seen as a closed loop chain. One has to join theoretically the EE with the rst joint and
create a base link connecting the rst and the sixth joint. This point of view is taken in
this thesis to apply the algorithm developed in Chapter 6 for the inverse kinematics of
open 6R-manipulators to the analysis of closed 6R-chains. The only disadvantage of this
convention is that if one wants to recalculate a known closed overconstrained 6R-chain
one has to search for one EE pose such that the corresponding open 6R-mechanism is
104
7. Overconstrained 6R-mechanisms
an overconstrained one too.
The basic idea for the analysis of overconstrained mechanisms is the following: One
considure the 6R-mechanism, as a serial 6R-chain, where the EE is in a xed pose. In
such an EE pose the inverse kinematics does not yield 16 isolated 6-tuples over C for
the angles of the revolute joints, it yields innitely many. This means that the set of
equations, that has to be solved for the inverse kinematics, has to be overdetermined. If
this set is redundant the 16 degree polynomial, that would yield the isolated solutions
for the inverse kinematics problem of general 6R-mechanisms has to vanish.
Geometrically, this means that the intersection of the two Segre manifolds with the
Study quadric, as shown in Section 6.2, does not only consist of isolated points but of
a curve, a surface or a variety. The dimension of this intersection yields directly the
degrees of freedom that the mechanism has. If the dimension of the intersection is zero-
dimensional, the manipulator is rigid, if it is one-dimensional, then the manipulator has
one degree of freedom and so on.
If one wants to discuss the one degree of freedom case then algebraically there are two
possibilities for for the vanishing of the univariate polynomial:
1. One of the polynomials E
1
or E
2
vanishes identically.
2. The two polynomials have a common factor T
c
.
E
1
: T
c
T
1
= 0
E
2
: T
c
T
2
= 0
In both cases the ideal 1 spanned by the set of equations describing the inverse kinemat-
ics changes dimension. When we have 16 discrete solutions, then its dimension is zero.
In the rst case mentioned above the dimension of 1 is one. In the second case the ideal
consists of a one dimensional and a zero dimensional component. The algebraic variety
given by the zeros of the set of polynomial equations is a curve in case one and a curve
and some discrete points in the second case. The discrete points belong to the solution
of T
1
= T
2
= 0. Kinematically the second case means that there exist some assembly
modes of the chain where it is rigid and (at least) one where it is mobile.
The common factor of E
1
and E
2
or the remaining of the two equations if one of them
vanishes identically, yields immediately one of the ve input-output equations. To obtain
these transfer functions one has to dene one of the variables, e.g., v
123
as input angle
105
7. Overconstrained 6R-mechanisms
t where v
123
denotes the tangent of half of one of the rotation angles of joints one, two
or three. Solving T
c
for the other unknown v
456
yields a function in t for this unknown
where v
456
denotes one of the tangents of half of the rotation angles of joints four, ve
or six. Because of Eq. 6.4 E
2
has at most bi-degree four and therefore also T
c
has at
most bi-degree four. This means that it is theoretically possible to compute the input-
output equation for arbitrary designs of overconstrained mechanisms in closed form.
This is a general result that was to the best of the authors knowledge not known up to
now. Substitution of the solutions into R yields the Study parameters of the motion of
the coupler coordinate frames
L
=
R
with respect to
0
in the kinematic image space.
Substitution of the Study parameters into the matrix operator given in Eq. 4.8 yields
a one parameter set of transformations of
L
=
R
with respect to
0
which repre-
sents the motion of the coupler frame in Cartesian space. It should be emphasized that
in the notation of this thesis, link number six is xed in the base frame during the motion.
The remaining input-output functions for the other joint variables can be derived as
explained in the paragraph before Section 6.4 using the four Segre manifolds which have
not been used up to now. Therefore one can take one pencil of hyperplanes out of each
of the equations describing these manifolds, substitute the DH parameters, the EE pose
and each pose of
L
=
R
into these and solve each equation, which is linear in one
of the tangents of the remaining half-angles. Therefore the remaining unknowns can be
obtained by solving linear equations in one unknown.
Note that this algorithm is completely general and can be applied to any possible
design of overconstrained 6R-mechanisms and furthermore to serial 4R and 5R-chains,
which can be seen as sub-chains of the 6R.
7.2. Example
7.2.1. Bricards orthogonal chain
The DH parameters of Bricards orthogonal chain are given in Table 7.1 with the ad-
ditional condition that a
2
1
a
2
2
+ a
2
3
a
2
4
+ a
2
5
a
2
6
= 0. The computed example is a
special case of this mechanism with a
i
= 1, i = 1, . . . , 6 and
6
=

2
which was discussed
in great detail in Kunze and Stachel [42]. The left 3R-chain of this manipulator is an
106
7. Overconstrained 6R-mechanisms
i a
i
d
i

i
1 a
1
0

2
2 a
2
0

2
3 a
3
0

2
4 a
4
0

2
5 a
5
0

2
6 a
6
0

2
Table 7.1.: DH parameters of Bricards orthogonal chain
example for a manipulator, where one should not take the Segre manifold SM
2c
to ob-
tain the constraint manifold of this chain, because this manifold is fully contained on
S
2
6
. Therefore SM
1c
is used for the derivation of the inverse kinematics problem. The
same is true for the right 3R-chain. In this case SM
6
is taken for computations. One
pose of the EE, where this manipulator is overconstrained, is given by
A =
_
_
_
_
_
_
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
_
_
_
_
_
_
.
Substitution of the DH parameters and the Study parameters of A into the hyperplane
equations representing the Segre manifolds SM
1c
of the left and SM
6
of the right 3R-
chain yields the remarkably simple set of equations
H
1
(v
1
) : 2z
0
+ z
1
+ z
2
v
1
2z
3
v
1
2s
1
2s
2
v
1
= 0
H
2
(v
1
) : z
0
+ 2z
1
+ 2z
2
v
1
z
3
v
1
2s
0
2s
3
v
1
= 0
H
3
(v
1
) : z
1
v
1
+ z
2
2s
1
v
1
+ 2s
2
= 0
H
4
(v
1
) : z
0
v
1
+ z
3
+ 2s
0
v
1
2s
3
= 0
H
5
(v
6
) : z
0
v
6
+ z
1
+ 2z
1
v
6
z
2
+ 2z
2
v
6
+ z
3
v
6
2s
0
v
6
2s
1
+ 2s
2
2s
3
v
6
= 0
H
6
(v
6
) : z
0
+ 2z
0
v
6
+ z
1
v
6
+ z
2
v
6
+ z
3
+ 2z
3
v
6
2s
0
+ 2s
1
v
6
+ 2s
2
v
6
+ 2s
3
= 0
H
7
(v
6
) : z
0
+ 2z
0
v
6
z
1
v
6
+ z
2
v
6
+ z
3
2z
3
v
6
+ 2s
0
2s
1
v
6
+ 2s
2
v
6
+ 2s
3
= 0
H
8
(v
6
) : z
0
v
6
z
1
+ 2z
1
v
6
z
2
2z
2
v
6
+ z
3
v
6
+ 2s
0
v
6
+ 2s
1
+ 2s
2
2s
3
v
6
= 0
Solving the system of H
1
(v
1
), . . . , H
4
(v
1
), H
5
(v
6
), . . . , H
7
(v
6
) for the homogeneous un-
knowns z
0
, . . . , z
3
, s
0
, . . . , s
3
yields the surface R = 128(1+v
2
1
)(r
0
, r
1
, r
2
, r
3
, r
4
, r
5
, r
6
, r
7
)
T
,
107
7. Overconstrained 6R-mechanisms
depending on the two unknowns v
1
and v
6
=
1
v
6
, with
r
0
= 2(v
1
v
2
6
+ v
1
v
6
v
6
+ 1)(v
1
v
6
+ v
1
v
6
+ 1)
r
1
= 2(v
2
1
v
2
6
+ 3v
1
v
3
6
v
1
v
2
6
v
3
6
v
2
1
+ v
1
v
6
+ v
1
+ v
6
)
r
2
= 2(v
2
1
v
3
6
3v
1
v
3
6
v
2
1
v
6
v
1
v
2
6
v
1
v
6
+ v
2
6
+ v
1
1)
r
3
= 2(v
1
v
6
+ v
2
6
+ v
1
v
6
)(v
1
v
6
+ v
1
v
6
+ 1)
r
4
= (v
1
v
2
6
+ v
1
v
6
2v
2
6
v
6
1)(v
1
v
6
+ v
1
v
6
+ 1)
r
5
= (v
2
1
v
2
6
+ v
1
v
3
6
3v
1
v
2
6
+ v
3
6
v
2
1
v
1
v
6
2v
2
6
v
1
+ 3v
6
2)
r
6
= (v
2
1
v
3
6
+ 2v
2
1
v
2
6
+ v
1
v
3
6
+ 3v
2
1
v
6
+ 3v
1
v
2
6
+ 2v
2
1
v
1
v
6
v
2
6
+ v
1
+ 1)
r
7
= (2v
1
v
2
6
v
1
v
6
v
2
6
+ v
1
+ v
6
)(v
1
v
6
+ v
1
v
6
+ 1)
Substitution of these coordinates into the Study quadric and the remaining hyperplane
H
6
(v
6
) yields
E
1
: (v
2
6
+ 1)(v
2
1
+ 1)
2
(v
2
6
v
2
1
v
2
1
1 4v
1
v
2
6
+v
2
6
)(v
2
6
v
2
1
+ 2v
6
v
2
1
+v
2
1
+ 1 2v
6
+v
2
6
) = 0
E
2
: (v
2
6
+ 1)(v
2
1
+ 1)(v
2
6
v
2
1
v
2
1
1 4v
1
v
2
6
+ v
2
6
) = 0
(v
2
6
+ 1) and (v
2
1
+ 1) yield points on R that lie on the exceptional generator of S
2
6
.
Therefore the appropriate common factor of these polynomials is
T
c
: v
2
6
v
2
1
v
2
1
1 4v
1
v
2
6
+ v
2
6
= 0
Furthermore one can see that there are no discrete solutions for both equations. There-
fore no rigid assembly modes exist for this mechanism. Because of the special DH pa-
rameters the common polynomial of E
1
and E
2
is only of bi-degree two. Setting v
1
= t
yields a quadratic polynomial in v
6
which is solved to obtain a parametric representation.
The solutions are
v
6
=
W
(t
2
4t + 1)
,
where
(7.1)
W =
_
(t
2
4t + 1)(t
2
+ 1).
The parametric representation of v
6
can be obtained via v
6
=
1
v
6
. Substitution of these
solutions into one pencil of hyperplanes of the remaining, until that time not used, Segre
manifolds SM
2
, SM
3
, SM
4
and SM
5
yields for every solution of v
6
one solution for the
algebraic values of the remaining rotation angles. These solutions are
v
1
= t, v
2
=
W
t
2
+ 1
, v
3
=
t + 1
t 1
v
4
=
W
t
2
+ 1
, v
5
=
t + 1
t 1
, v
6
=
t
2
4t + 1
W
.
108
7. Overconstrained 6R-mechanisms
Note that both signs of the square root W just parameterize two parts of the same
motion. It is easy to show that the motion is not rational.
Substitution of the values of v
1
and v
6
into R yields the Study parameters of the motion
of the coordinate frame
L
=
R
with respect to
0
, whose x-axis is aligned with the
common normal of the third and fourth axes. This common normal can be seen as the
coupler of the 6R-chain. The two parts of the curve which represents the motion in P
7
read:
Mo
S
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
2(t
6
+ 4t
5
t
4
+ 2t
3
9t
2
+ 6t + 1 + (t
4
+ 2t
3
+ 2t
2
4t + 1)W)
4t
2
(t
3
5t
2
+ 5t 1 (1 +t)W)
4t(t
3
5t
2
+ 5t 1 + (1 t)W)
2(t
6
+ 6t
5
9t
4
+ 2t
3
t
2
+ 4t 1 + (t
4
+ 4t
3
2t
2
2t + 1)W)
t
6
+ 6t
5
11t
4
+ 10t
3
t
2
4t + 1 + (t
4
+ 4t
3
4t
2
+ 2t 1)W
2t
3
+ 10t
2
10t + 2 + (4t
2
+ 6t 2)W
2t
2
(t
4
5t
3
+ 5t
2
t + (t
2
3t + 2)W)
t
6
4t
5
t
4
+ 10t
3
11t
2
+ 6t 1 + (t
4
2t
3
+ 4t
2
4t + 1)W
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,
(7.2)
where W is given in Eq. 7.1.
Substitution of these Study parameters (Eq. 7.2) into the matrix in Eq. 4.8 yields the
matrix that describes the motion of
L
=
R
with respect to the base frame in E
3
:
Mo =
_
_
_
_
_
_
1 0 0 0

t
2
1
t
2
+1
2t(t+1)
(t1)(t
2
+1)

(t+1)W
(t1)(t
2
+1)

2t
t
2
+1
(t+1)
2
t
2
+1
t
4
2t
3
2t
2
2t+1
(t
2
+1)(t1)
2
2tW
(t
2
+1)(t1)
2
2t(t+1)
(t1)(t
2
+1)
W
t
2
+1
2tW
(t
2
+1)(t1)
2

2t
(t1)
2
(t+1)W
(t1)(t
2
+1)
_
_
_
_
_
_
,
where W is given in Eq. 7.1.
The parametric representation of the motion of the origin of
L
=
R
in
0
is:
x
0

=
_
1,
t
2
1
t
2
+ 1
,
(t + 1)
2
t
2
+ 1
,
W
t
2
+ 1
_
T
.
The origin of the moving frame is the foot of the common normal of joints three and
four on the fourth joint. Examination of the normal projections of this curve onto the
coordinate planes of this representation shows that the top view (xy-plane) of this curve
is the circle
x
2
+ (y 1)
2
= 1
109
7. Overconstrained 6R-mechanisms
and the front view (yz-plane) is the parabola
z
2
+ 2y = 3.
The curve in space is therefore, as the intersection of two quadratic cylinders, a curve
of degree four. The parametric representation of the motion of the point with the
coordinates (1 : 1 : 0 : 0) in
L
, which is the foot of the common normal of joints three
and four on the third axis, is:
x
1

=
_
1,
t + 1
t 1
,
2t
(t 1)
2
,
W
(t 1)
2
_
T
.
Examination of the projections of this curve onto the same planes as above shows that
the front view is the circle
z
2
+ y
2
= 1
and the top view is the parabola
x
2
2y = 1.
Figure 7.2 shows some discrete poses of the motion of the coordinate frame
L
=
R
with respect to
0
. Furthermore the curves of the origin and the unit points on the axes
of
L
=
R
are drawn and the homogeneous coordinates of the points in
L
are labeled.
(1:0:0:0)
(1:0:0:1)
(1:0:1:0)
(1:1:0:0)
P
P
P
P
P

P
PP
Figure 7.2.: Motion of the coupler system
110
8. Conclusions
8.1. Concluding remarks
Applying geometric preprocessing, algebraic and multidimensional geometry it was pos-
sible to develop a new and very ecient algorithm to solve the inverse kinematics problem
of all thinkable 6R-serial-manipulators. This includes the general ones but especially also
all industrial designs.
The main idea for the algorithm is to split the 6R-manipulator into two 3R-chains and to
investigate the kinematic image of these chains in a seven dimensional parameter space.
To develop the simplest set of polynomial equations the action of coordinate transfor-
mations on the image space coordinates was applied. The whole algorithm yields a
relatively simple set of polynomial equations from which the 16 sets of solutions can be
obtained easily.
The algorithm is veried with sets of known solutions and all possible designs of 6R-
manipulators are discussed in detail.
As a by-product the algorithm yields immediately the coupler motion as well as all
input-output equations if the 6R-chain is overconstrained.
8.2. Suggestions for future research
The investigations on the inverse kinematics problem of general serial 6R-chains yielded
many properties of the constraint manifold of a general serial 3R-chain. The developed
method is also very promising to solve more interesting problems in kinematics of serial
chains:
The generalization of the inverse kinematics, if some of the revolute joints are
replaced by prismatic joints. Concerning this problem one should pay attention
on the constraint manifolds of 3PRR, 3RPR, 3RRP, 3PPR, 3PRP, 3RPP and
3PPP serial chains.
111
8. Conclusions
Because of the fact, that the constraint manifold is derived for fully arbitrary 3R-
chains it may be possible to use this algorithm also for the synthesis problem of
3R-chains.
The inverse kinematic of serial 5R-chains is a by-product of this thesis because
the 5R is a special case of the 6R if one joint is locked. This simplication strikes
through in a simplication of the univariate polynomial to a polynomial of degree
four. Therefore it should be possible to obtain a closed form solution for every
serial 5R-chain.
As indicated in the example in Section 6.5.3 for most industrial robots it is possible
to nd closed form solutions of the inverse kinematics problem. Therefore it may
be possible to nd closed form solutions for the functions of the joint parameters
when the EE has to follow a given path. This fact could result in new path planning
algorithms.
112
Bibliography
[1] H. Albala and J. Angeles. Numerical Solution to the Input-Output Displacement
Equation of the General 7R Spatial Mechanism. In Proceedings of the Fifth World
Congress on Theory of Machines and Mechanisms, pages 10081011, 1979.
[2] J. Angeles. On the numerical solution of the inverse kinematic problem. The
International Journal of Robotics Research, 4(2):2137, Summer 1985.
[3] J. Angeles. Fundamentals of Robotic Mechanical Systems. Theory, Methods and
Algorithms. Springer, New York, 1997.
[4] J.E. Baker. Displacement-closure equations of the unspecialised double-Hookes-
joint linkage. Mechanism and Machine Theory, 37(10):11271144, October 2002.
[5] J.E. Baker. A Courious New Family of Overconstrained Six-Bars. Transactions
of the ASME, Journal of Mechanical Design, 127:602606, July 2005.
[6] T. Balkan, M.K.

Ozgoren, M.A.S. Arikan, and H.M. Baykurt. A method on
inverse kinematics solution including singular and multiple congurations for a
class of robotic manipulators. Mechanism and Machine Theory, 35(9):12211237,
September 2000.
[7] H.-J. Bartsch. Taschenbuch mathematischer Formeln, volume 19. Fachbuchverlag
Leipzig im Carl Hanser Verlag, 2001.
[8] G.T. Bennett. A new mechanism. Engineering, 76:777778, 1903.
[9] W. Blaschke. Kinematik und Quaternionen. VEB Deutscher Verlag der Wis-
senschaften, Berlin, 1960.
[10] A. Borboni. Solution of the inverse kinematic problem of a serial manipulator by
a fuzzy algorithm. In The 10th IEEE International Conference on Fuzzy Systems,
pages 339339, Melbourne, Vic., Australia, December 2001. IEEE.
113
Bibliography
[11] O. Bottema and B. Roth. Theoretical Kinematics, volume 24 of North-Holland Se-
ries in Applied Mathematics and Mechanics. North-Holland Publishing Company,
Amsterdam, New York, Oxford, 1979.
[12] R. Bricard. Memoire sur la theorie de loctaedre articulee. Journal math. pur.
appl., 3:113148, 1897.
[13] R. Bricard. Lecons de Cinematique. Tome II Cinematique Appliquee, Gauthier-
Villars, Paris, 1927.
[14] K. Brunnthaler, H.-P. Schrocker, and M. L. Husty. A new method for the synthesis
of Bennet mechanisms. In Proceedings of CK 2005, International Workshop on
Computtational Kinematics, Cassino, Italy, 2005.
[15] F. Chapelle and P. Bidaud. Closed form solutions for inverse kinematics approxi-
mation of general 6R manipulators. Mechanism and Machine Theory, 39(3):323
338, March 2004.
[16] Y. Chen and J.E. Baker. Using a Bennett linkage as a connector between their
Bennett loops. Proceedings of the Institution of Mechanical Engineers, Part K:
Journal of Multi-body Dynamics, 219(2):177185, 2005.
[17] D. Cox, J. Little, and D. OShea. Using Algebraic Geometry, volume 185 of Grad-
uate Texts in Mathematics. Springer-Verlag, New York, 1998.
[18] J. Denavit and R.S. Hartenberg. A Kinematic Notation for Lower-Pair Mechanisms
Based on Matrices. Journal of Applied Mechanics, 77:215221, 1955.
[19] A. Dickenstein and I.Z. Emiris. Solving Polynomial Equations, Foundations, Al-
gorithms and Applications. Springer Pub., 2005.
[20] P. Dietmaier. Einfach ubergeschlossene Mechanismen mit Drehgelenken. Habilita-
tionsschrift, Graz, 1995.
[21] P. Dietmaier. The Stewart-Gogh Platform of general geometry can have 40 real
postures. Advances in Robot Kinematics Analysis and Control (ARK). Kluwer
Academic Publishers, 1998.
[22] J. Duy. Analysis of Mechanisms and Robot Manipulators. Arnold, London, 1980.
114
Bibliography
[23] J. Duy and C. Crane. A Displacement Analysis of the General Spatial 7-link, 7R
Mechanism. Mechanism and Machine Theory, 15:153169, 1980.
[24] L. Euler. Formulae generales pro translatione quacunque corpum rigidorum. Novi
Commentari Acad. Petropolitanae, 20:189207, 1776.
[25] Y. Fang and L.-W. Tsai. Enumeration of a class of overconstrained mechanisms us-
ing the theory of reciprocal screws. Mechanism and Machine Theory, 39(11):1175
1187, November 2004.
[26] F. Freudenstein. Kinematics: Past, Present and Future. Mechanisms and Machine
Theory, 8(2):151160, 1979.
[27] M. Ghazvini. Reducing the Inverse Kinematics of Manipulators to the Solution
of a Generalized Eigenproblem, pages 1526. Computational Kinematics, ed. J.
Angeles et al. Kluwer Academic Publisher, 1993.
[28] O. Giering. Vorlesungen uber hohere Geometrie. Friedr. Vieweg und Sohn, Braun-
schweig, 1983.
[29] M. Goldberg. New Five-Bar and Six-Bar Linkages in Three Dimensions. Transac-
tions ASME, pages 649661, 1943.
[30] A.A. Goldenberg, B. Benhabib, and R.G. Fenton. A complete generalized solution
of the inverse kinematics of robots. IEEE Journal on Robotics and Automation,
1(1):1428, March 1985.
[31] J. Gr unwald. Ein Abbildungsprinzip, welches die ebene Geometrie und Kinematik
mit der raumlichen Geometrie verkn upft. Sitzungsberichte der Akad. Wiss. Wien,
120:667741, 1911.
[32] J. Harris. Algebraic Geometry, volume 133 of Graduate Texts in Mathematics.
Springer, 1995.
[33] M. L. Husty, A. Karger, H. Sachs, and W. Steinhilper. Kinematik und Robotik.
Springer-Verlag, Berlin, Heidelberg, New York, 1997.
[34] M.L. Husty. An algorithm for Solving the Direct Kinematic of General Stewart-
Gough Platforms. Mechanism and Machine Theory, 31(4):365380, 1996.
[35] M.L. Husty. Lecture notes. University of Innsbruck, 2002,2003,2004.
115
Bibliography
[36] M.L. Husty, M. Pfurner, and H.-P. Schrocker. A new and ecient algorithm for the
inverse kinematics of a general serial 6R manipulator. Mechanism and Machine
theory, accepted for publication, 2006.
[37] Q. Jin and T. Yang. Overconstraint analysis on spatial 6-link loops. Mechanisms
and Machine Theory, 37(3):267278, March 2002.
[38] P. Kalra, P.B. Mahapatra, and D.K. Aggarwal. An evolutionary approach for
solving the multimodal inverse kinematics problem of industrial robots. Mechanism
and Machine Theory, 41(10):12131229, October 2006.
[39] A. Karger. Classication of 5R closed kinematic chains with self mobility. Mech-
anism and Machine Theory, 33(1/2):213222, 1998.
[40] G. Karsai. Method for the calculation of the combined motion time derivatives
of optimal order and solution for the inverse kinematic problems. Mechanism and
Machine Theory, 36(2):261272, February 2001.
[41] M.L. Keler and J. Jucha. Ein Rechenverfahren zur Robotersteuerung bei
vorgegebener Greiferbewegung mit sechs Freiheitsgraden. Forschung im Ingenieur-
wesen, 51(6), 1985.
[42] S. Kunze and H. Stachel.

Uber ein sechsgliedriges raumliches Getriebe. Elemente
der Mathematik, 29(2):2532, Marz 1974.
[43] C.C. Lee and H.S. Yan. Movable spatial 6R mechanisms with three adjacent
parallel axes. Transactions of ASME, Journal of Mechanical Design, 115:522529,
1993.
[44] H.Y. Lee and C.G. Liang. Displacement analysis of the spatial 7-link 6R-P linkage.
Mechanism and Machine Theory, 22(1):111, 1987.
[45] H.Y. Lee and C.G. Liang. Displacement analysis of the general 7-link 7R mecha-
nism. Mechanism and Machine Theory, 23(3):219226, 1988.
[46] H.Y. Lee and C.G. Liang. A new vector theory for the analysis of spatial mecha-
nisms. Mechanism and Machine theory, 23(3):209217, 1988.
[47] H.Y. Lee and C.F. Reinhotz. Inverse Kinemtics of Serial-Chain Manipulators.
Transactions of ASME, Journal of Mechanical Design, 118:502508, September
1996.
116
Bibliography
[48] H.Y. Lee, C. Woernle, and M. Hiller. A complete solution for the inverse kinematic
problem of the general 6R robot manipulator. Transactions of ASME, Journal of
Mechanical Design, 113:481486, December 1991.
[49] S. Mahalingam and A.M. Sharan. The nonlinear displacement analysis of robotic
manipulators using the complex optimization theory. Mechanism and Machine
Theory, 22(1):8995, 1987.
[50] D. Manocha and J.F. Canny. Real Time Inverse Kinematics for General 6R Ma-
nipulators. In Proceedings of the IEEE International Conference on Robotics and
Automation, pages 383389, Nice, France, May 1992. IEEE.
[51] D. Manocha and Y. Zhu. A Fast Algorithm and System for the Inverse Kinematics
of General Serial Manipulators. In Proceedings of IEEE Conference on Robotics
and Automation, 1994.
[52] R. Manseur and K.L. Doty. A fast algorithm for inverse kinematic analysis of
robot manipulators. The International Journal of Robotics Research, 7(3):5263,
1988.
[53] R. Manseur and K.L. Doty. A robot manipulator with 16 real inverse kinematic
solution sets. The International Journal of Robotics Research, 8(5):7579, 1989.
[54] R. Manseur and K.L. Doty. A complete kinematic analysis of four-revolute-axis
robot manipulators. Mechanism and Machine Theory, 27(5):575586, 1992.
[55] R. Manseur and K.L. Doty. Fast inverse kinemtics of ve-revolute-axis robot
manipulators. Mechanism and Machine Theory, 27(5):587598, 1992.
[56] R. Manseur and K.L. Doty. Structural Kinematics of 6-Revolute-Axis Robot Ma-
nipulators. Mechanism and Machine Theory, 31(5):647657, 1996.
[57] C. Mavroidis, F.B. Ouezdou, and P. Bidaud. Inverse kinematics of six-degree of
freedom general and special manipulators using symbolic computation. Robotica,
12(5):421430, 1994.
[58] C. Mavroidis and B. Roth. New Manipulators with Simple Inverse Kinematics.
In Proceedings of the 9th Cism-IFToMM Symposium on Robots and Manipulators
(Romansy 92), Udine, Italy, 1992.
117
Bibliography
[59] C. Mavroidis and B. Roth. Structural Parameters Which Reduce the Number
of Manipulator Congurations. Transactions of ASME, Journal of Mechanical
Design, 116:310, 1994.
[60] C. Mavroidis and B. Roth. Analysis of Overconstrained Mechanisms. Transactions
of ASME, Journal of Mechanical Design, 117:6973, 1995.
[61] C. Mavroidis and B. Roth. New and Revised Overconstrained Mechanisms. Trans-
actions of ASME, Journal of Mechanical Design, 117(1):7582, 1995.
[62] C. Mavroidis and B. Roth. Analysis and Synthesis of Overconstrained Mechanisms.
In Mechanism Synthesis and Analysis, pages 115133, New York, Vol. DE-70, ed.
G.R. Pennock, 1994. ASME.
[63] J.M. McCarthy. Kinematics mappings and robotics. In Proceedings of IEEE In-
ternational Conference on Robotics and Automation, volume 3, pages 11681173.
IEEE, 1986.
[64] J.M. McCarthy. Geometric Design of Linkages, volume 320 of Interdisciplinary
Applied Mathematics. Springer-Verlag, New York, 2000.
[65] J.-P. Merlet. Parallel Robots. Kluwer Academic Publishers, Dordrecht, Nether-
lands, 2000.
[66] H.R. M uller. Sparische Kinematik. VEB Deutscher Verlag der Wissenschaften,
Berlin, 1962.
[67] J. Naas and H.L. Schmid. Mathematisches Worterbuch, Band II. Akademie-Verlag
Berlin, 1974.
[68]

Ozgoren. Topological analysis of 6-joint serial manipulators and their inverse kine-
matic solution. Mechanism and Machine Theory, 37(5):511547, May 2002.
[69] G.R. Pennock and A.T. Yang. Application of Dual-Number Matrices to the Inverse
Kinematics Problem of Robot Manipulators. Transactions of ASME, Journal of
Mechanisms, Transmissions and Automation in Design, 107:201208, June 1985.
[70] D. Pieper. The Kinematics of Manipulators Under Computer Control. PhD thesis,
Stanford University, 1968.
118
Bibliography
[71] J.K. Poon and P.D. Lawrence. Manipulator inverse kinematics based on joint
functions. In Proceedings of IEEE International Conference on Robotics and Au-
tomation, 1988.
[72] E.J.F Primrose. On the input-output equation of the general 7R-mechanism. Mech-
anism and Machine Theory, 21(6):509,510, 1986.
[73] M. Raghavan. The Stewart platform of general geometry has 40 congurations.
Transactions of the ASME, Journal of Mechanical Design, 115:277282, 1993.
[74] M. Raghavan and B. Roth. Inverse kinematics of the general 6R manipulator
and related linkages. Transactions of the ASME, Journal of Mechanical Design,
115:228235, 1990.
[75] M. Raghavan and B. Roth. Kinematic analysis of the 6R manipulator of general
geometry. In Proceedings of the 5th International Symposium on Robotics Research,
Tokio, preprint 1989, nal 1990.
[76] B. Ravani and B. Roth. Mappings of spatial kinematics. Transactions of ASME,
Journal of Mechanisms, Transmissions and Automation in Design, 106:341347,
1984.
[77] T. Recio and M.J. Gonzalez-Lopez. On the symbolic insimplication of the general
6R-manipulator kinematic equations. In Proceedings of the International Sympo-
sium on Symbolic and Algebraic Computation, pages 354358, Oxford, UK, 1995.
[78] S. Regnier, F.B. Ouezdou, and P. Bidaud. Distributed Method for Inverse Kine-
matics of all Serial Manipulators. Mechanism and Machine Theory, 32(7):855867,
October 1997.
[79] O. Rodrigues. Des lois geometrigues qui regissent les desplacement dun
systeme solide dans lespace, et de la variation des cordonnees provenant de ces
deplacements consideres independamment des causes qui peuvent les produire.
Journal de Mathematiques Pures et Appliquees, 5:280440, 1840.
[80] O. Roschel. Und sie bewegen sich doch - neue ubergeschlossene Polyedermodelle.
Informationsbltter der Geometrie, 21(1):3741, 2002.
[81] B. Roth, J. Rastegar, and V. Scheinmann. On the Design of Computer Controlled
Manipulators. In First CISM-IFToMM Symposium, pages 93113, September
1973.
119
Bibliography
[82] F.P. Sarrus. Note sur la transformation des mouvements rectilignes alternatifs
en mouvments circulaires et reciproquement. Comptes. Rendus dla Acad. Sci.,
36:10361038, 1853.
[83] P. Schatz. Rhytmusforschung und Technik. Verlag freies Denken, Stuttgart, 1975.
[84] J. M. Selig. Geometric Fundamentals of Robotics. Monographs in Computer
Science. Springer, New York, 2005.
[85] A.J. Shih and H.-S. Yan. Synthesis of a single-loop, overconstrained six revolute
joint spatial mechanism for two-position cylindrical rigid body guidance. Mecha-
nism and Machine Theory, 37(1):6173, January 2002.
[86] D.R. Smith and H.Lipkin. Analysis of fourth order manipulator kinematics using
conic sections. In Proceedings of IEEE International Conference on Robotics and
Automation, Cincinnati, 1990.
[87] E. Study. Geometrie der Dynamen. B. G. Teubner, Leipzig, 1903.
[88] B. Sturmfels. Lecture notes. CBMS Conference at Texas A&M University, Collage
Station, 2002.
[89] S.C.A. Thomopoulos and R.Y.J. Tam. An iterative solution to the inverse kine-
matics of robotic manipulators. Mechanism and Machine Theory, 26(4):359373,
1991.
[90] L.-W. Tsai and A. Morgan. Solving the Kinematics of the Most General Six-
and Five-Degree-of-Freedom Manipulators by Continuation Methods. Transac-
tions of ASME, Journal of Mechanisms, Transmissions and Automation in Design,
107:189200, June 1985.
[91] L.W. Tsai. Robot Analysis, The Mechanics of Serial and Parallel Manipulators.
John Wiley & Sons, Inc., 1999.
[92] K.J. Waldron. A family of overconstrained linkages. Journal of Mechanisms,
2:201211, 1967.
[93] C. Wampler and A. Morgan. Solving the 6R inverse position problem using a
generic-case solution methodology. Mechanism and Machine Theory, 26(1):91
106, 1991.
120
Bibliography
[94] Y. Wang, L. Hang, and T. Yang. Inverse kinematics Analysis of General 6R Serial
Robot Mechanisms Based on Groebner Base. Fronteers of Mechanical Engineering
in China, 1:115124, 2006.
[95] C. Woernle. Ein systematisches Verfahren zur Aufstellung der geometrischen
Schliessbedingungen in kinematischen Schleifen mit Anwendung bei der
R uckwartstransformation f ur Industrieroboter. PhD thesis, Universitat Stuttgart,
1988.
[96] K. Wohlhart. A New 6R Space Mechanism. In Proceedings of the 7th World
Congress IFToMM, volume 1, pages 193198, Sevilla, Spain, 1987.
[97] H.S. Yan, W.M. Hwang, and J.B. Sheu. Movable 6R Mechanisms. In Proceedings
of the 7th World Congress of the Theory of Machines and Mechanisms, volume 1,
pages 237242, Sevilla, Spain, 1987.
[98] K.E. Zanganeh. The Contour Method. An interactive approach to the inverse
kinematics of serial manipulators. Centre for Intelligent Machines and Department
of Mechanical Engineering, McGill University, Montreal, TR-CIM-97-10, August
1997.
[99] W. Zhang and Q. Ding. Inverse Kinematics for a 6 dof Manipulator based on Neural
Networks. Transactions of Nenjing University of Aeronautics and Astronautics,
14(1):7376, June 1997.
[100] M. Zoppi. Eective Backward Kinematics for an Industrial 6R Robot. In Pro-
ceedings of DETC02, ASME 2002 Design Engineering Technical Conferences and
Computers and Information in Engineering Conference, number MECH-34256 in
DETC2002, Monteal, Canada, September-October 2002. ASME.
121
A. One parameter sets of 3-spaces
In the equations of this appendix a
i
and d
i
are the DH parameters of the 3R-mechanism
and al
i
is the tangent of half the twist angles
i
, i = 1, 2, 3.
(t
0
, . . . , t
7
) are the Study parameters of the pose of
1
with respect to
0
.
A.1. T(v
1
)
H
1
(v
1
) :
((a
3
al
1
al
3
a
1
al
3
a
3
a
2
al
2
al
3
al
1
al
3
d
2
al
1
v
1
al
3
d
3
al
1
v
1
d
3
v
1
+a
2
al
2
al
1
a
1
d
2
v
1
)t
0
+(a
2
al
2
al
3
a
2
al
2
al
1
+al
3
al
1
a
1
+al
3
d
2
v
1
d
2
al
1
v
1
+al
3
a
3
al
1
d
3
al
1
v
1
+al
3
d
3
v
1
a
1
a
3
)t
1
+(d
2
al
1
a
1
v
1
a
2
al
2
al
1
v
1
a
2
al
2
al
3
v
1
+al
3
al
1
a
1
v
1
+al
3
a
3
al
1
v
1
a
3
v
1
al
3
d
2
al
3
d
3
+d
3
al
1
)t
2
+(al
3
a
1
v
1
+a
3
al
1
v
1
al
3
d
3
al
1
d
2
+al
3
a
3
v
1
+al
1
a
1
v
1
+a
2
al
2
al
3
al
1
v
1
a
2
al
2
v
1
d
3
al
3
d
2
al
1
)t
3
+ (2 + 2al
3
al
1
)t
4
+ (2al
3
+ 2al
1
)t
5
+ (2al
1
v
1
+ 2al
3
v
1
)t
6
+ (2v
1
2al
3
al
1
v
1
)t
7
)x
0
+((al
3
d
2
v
1
+a
2
al
2
al
3
+a
2
al
2
al
1
al
3
al
1
a
1
al
3
d
3
v
1
+d
2
al
1
v
1
al
3
a
3
al
1
+d
3
al
1
v
1
+a
1
+a
3
)t
0
+(a
3
al
1
al
3
a
1
al
3
a
3
a
2
al
2
al
3
al
1
al
3
d
2
al
1
v
1
al
3
d
3
al
1
v
1
d
3
v
1
+a
2
al
2
al
1
a
1
d
2
v
1
)t
1
+(a
2
al
2
v
1
al
3
a
1
v
1
+al
3
d
2
al
1
+al
3
d
3
al
1
+d
2
+d
3
al
1
a
1
v
1
a
2
al
2
al
3
al
1
v
1
a
3
al
1
v
1
al
3
a
3
v
1
)t
2
+ (a
1
v
1
+ d
2
al
1
a
2
al
2
al
1
v
1
a
2
al
2
al
3
v
1
+ al
3
al
1
a
1
v
1
+ al
3
a
3
al
1
v
1
a
3
v
1
al
3
d
2
al
3
d
3
+d
3
al
1
)t
3
+(2al
3
2al
1
)t
4
+(2 +2al
3
al
1
)t
5
+(2v
1
+2al
3
al
1
v
1
)t
6
+(2al
1
v
1
+2al
3
v
1
)t
7
)x
1
+ ((a
1
v
1
+ al
3
d
3
+ a
2
al
2
al
1
v
1
+ a
2
al
2
al
3
v
1
+ a
3
v
1
+ al
3
d
2
d
2
al
1
d
3
al
1
al
3
al
1
a
1
v
1
al
3
a
3
al
1
v
1
)t
0
+(al
3
a
1
v
1
+a
3
al
1
v
1
al
3
d
3
al
1
d
2
+al
3
a
3
v
1
+al
1
a
1
v
1
+a
2
al
2
al
3
al
1
v
1
a
2
al
2
v
1
d
3
al
3
d
2
al
1
)t
1
+(a
3
al
1
al
3
a
1
al
3
a
3
a
2
al
2
al
3
al
1
al
3
d
2
al
1
v
1
al
3
d
3
al
1
v
1
d
3
v
1
+a
2
al
2
al
1
a
1
d
2
v
1
)t
2
+(al
3
d
2
v
1
+a
2
al
2
al
3
+a
2
al
2
al
1
al
3
al
1
a
1
al
3
d
3
v
1
+d
2
al
1
v
1
al
3
a
3
al
1
+d
3
al
1
v
1
+a
1
+a
3
)t
3
+(2al
1
v
1
2al
3
v
1
)t
4
+(2v
1
2al
3
al
1
v
1
)t
5
+(2+2al
3
al
1
)t
6
+(2al
3
2al
1
)t
7
)x
2
+((a
2
al
2
v
1
al
3
a
1
v
1
+ al
3
d
2
al
1
+ al
3
d
3
al
1
+ d
2
+ d
3
al
1
a
1
v
1
a
2
al
2
al
3
al
1
v
1
a
3
al
1
v
1
al
3
a
3
v
1
)t
0
+(a
1
v
1
+al
3
d
3
+a
2
al
2
al
1
v
1
+a
2
al
2
al
3
v
1
+a
3
v
1
+al
3
d
2
d
2
al
1
d
3
al
1
al
3
al
1
a
1
v
1
al
3
a
3
al
1
v
1
)t
1
+(a
2
al
2
al
3
a
2
al
2
al
1
+al
3
al
1
a
1
+al
3
d
2
v
1
d
2
al
1
v
1
+al
3
a
3
al
1
d
3
al
1
v
1
+al
3
d
3
v
1
a
1
a
3
)t
2
+(a
3
al
1
al
3
a
1
al
3
a
3
a
2
al
2
al
3
al
1
al
3
d
2
al
1
v
1
al
3
d
3
al
1
v
1
d
3
v
1
+a
2
al
2
al
1
a
1
d
2
v
1
)t
3
+ (2v
1
+ 2al
3
al
1
v
1
)t
4
+ (2al
1
v
1
2al
3
v
1
)t
5
+ (2al
3
+ 2al
1
)t
6
+ (2 + 2al
3
al
1
)t
7
)x
3
+ ((2 + 2al
3
al
1
)t
0
+ (2al
3
+ 2al
1
)t
1
+ (2al
1
v
1
+ 2al
3
v
1
)t
2
+ (2v
1
2al
3
al
1
v
1
)t
3
)y
0
+ ((2al
3
2al
1
)t
0
+ (2 + 2al
3
al
1
)t
1
+ (2v
1
+ 2al
3
al
1
v
1
)t
2
+ (2al
1
v
1
+ 2al
3
v
1
)t
3
)y
1
+ ((2al
1
v
1
2al
3
v
1
)t
0
+ (2v
1
2al
3
al
1
v
1
)t
1
+ (2 + 2al
3
al
1
)t
2
+ (2al
3
2al
1
)t
3
)y
2
+ ((2v
1
+ 2al
3
al
1
v
1
)t
0
+ (2al
1
v
1
2al
3
v
1
)t
1
+ (2al
3
+ 2al
1
)t
2
+ (2 + 2al
3
al
1
)t
3
)y
3
= 0
(A.1)
122
A. One parameter sets of 3-spaces
H
2
(v
1
) :
((al
2
d
3
al
1
v
1
a
2
al
1
a
2
al
3
+ al
2
a
1
+ al
2
a
3
+ al
2
d
2
al
1
v
1
al
2
al
3
al
1
a
1
al
2
al
3
d
2
v
1
al
2
al
3
a
3
al
1
+ al
2
al
3
d
3
v
1
)t
0
+ (al
2
d
3
v
1
a
2
al
2
al
3
d
2
al
1
v
1
+ al
2
al
3
d
3
al
1
v
1
+ a
2
al
3
al
1
al
2
al
3
a
1
al
2
al
1
a
1
al
2
d
2
v
1
al
2
a
3
al
1
al
2
al
3
a
3
)t
1
+ (a
2
v
1
al
2
d
3
al
2
al
3
a
1
v
1
+ al
2
d
2
+ a
2
al
3
al
1
v
1
al
2
al
1
a
1
v
1
al
2
a
3
al
1
v
1
+ al
2
al
3
d
2
al
1
al
2
al
3
d
3
al
1
al
2
al
3
a
3
v
1
)t
2
+ (al
2
a
1
v
1
al
2
a
3
v
1
+ a
2
al
3
v
1
+ a
2
al
1
v
1
al
2
al
3
d
2
+ al
2
al
3
al
1
a
1
v
1
+ al
2
d
2
al
1
al
2
d
3
al
1
+ al
2
al
3
d
3
+ al
2
al
3
a
3
al
1
v
1
)t
3
+ (2al
2
al
1
2al
2
al
3
)t
4
+ (2al
2
+ 2al
2
al
3
al
1
)t
5
+ (2al
2
v
1
+ 2al
2
al
3
al
1
v
1
)t
6
+ (2al
2
al
3
v
1
+ 2al
2
al
1
v
1
)t
7
)x
0
+ ((al
2
al
3
a
1
+ al
2
al
1
a
1
a
2
al
3
al
1
+ al
2
al
3
d
2
al
1
v
1
al
2
al
3
d
3
al
1
v
1
+ al
2
d
2
v
1
+ al
2
a
3
al
1
+ al
2
al
3
a
3
al
2
d
3
v
1
+ a
2
)t
0
+(al
2
d
3
al
1
v
1
a
2
al
1
a
2
al
3
+al
2
a
1
+al
2
a
3
+al
2
d
2
al
1
v
1
al
2
al
3
al
1
a
1
al
2
al
3
d
2
v
1
al
2
al
3
a
3
al
1
+ al
2
al
3
d
3
v
1
)t
1
+ (al
2
d
3
al
1
+ al
2
a
3
v
1
al
2
d
2
al
1
a
2
al
3
v
1
a
2
al
1
v
1
+ al
2
al
3
d
2
+ al
2
a
1
v
1
al
2
al
3
al
1
a
1
v
1
al
2
al
3
a
3
al
1
v
1
al
2
al
3
d
3
)t
2
+(a
2
v
1
al
2
d
3
al
2
al
3
a
1
v
1
+al
2
d
2
+a
2
al
3
al
1
v
1
al
2
al
1
a
1
v
1
al
2
a
3
al
1
v
1
+ al
2
al
3
d
2
al
1
al
2
al
3
d
3
al
1
al
2
al
3
a
3
v
1
)t
3
+ (2al
2
2al
2
al
3
al
1
)t
4
+ (2al
2
al
1
2al
2
al
3
)t
5
+ (2al
2
al
3
v
1
2al
2
al
1
v
1
)t
6
+ (2al
2
v
1
+ 2al
2
al
3
al
1
v
1
)t
7
)x
1
+ ((al
2
d
2
+ a
2
v
1
+ al
2
al
3
a
1
v
1
+ al
2
d
3
a
2
al
3
al
1
v
1
+ al
2
al
1
a
1
v
1
+ al
2
a
3
al
1
v
1
al
2
al
3
d
2
al
1
+al
2
al
3
d
3
al
1
+al
2
al
3
a
3
v
1
)t
0
+(al
2
a
1
v
1
al
2
a
3
v
1
+a
2
al
3
v
1
+a
2
al
1
v
1
al
2
al
3
d
2
+al
2
al
3
al
1
a
1
v
1
+al
2
d
2
al
1
al
2
d
3
al
1
+al
2
al
3
d
3
+al
2
al
3
a
3
al
1
v
1
)t
1
+(al
2
d
3
al
1
v
1
a
2
al
1
a
2
al
3
+al
2
a
1
+al
2
a
3
+al
2
d
2
al
1
v
1
al
2
al
3
al
1
a
1
al
2
al
3
d
2
v
1
al
2
al
3
a
3
al
1
+al
2
al
3
d
3
v
1
)t
2
+(al
2
al
3
a
1
+al
2
al
1
a
1
a
2
al
3
al
1
+ al
2
al
3
d
2
al
1
v
1
al
2
al
3
d
3
al
1
v
1
+ al
2
d
2
v
1
+ al
2
a
3
al
1
+ al
2
al
3
a
3
al
2
d
3
v
1
+ a
2
)t
3
+ (2al
2
v
1
2al
2
al
3
al
1
v
1
)t
4
+(2al
2
al
3
v
1
+2al
2
al
1
v
1
)t
5
+(2al
2
al
1
2al
2
al
3
)t
6
+(2al
2
2al
2
al
3
al
1
)t
7
)x
2
+((al
2
d
3
al
1
+al
2
a
3
v
1
al
2
d
2
al
1
a
2
al
3
v
1
a
2
al
1
v
1
+al
2
al
3
d
2
+al
2
a
1
v
1
al
2
al
3
al
1
a
1
v
1
al
2
al
3
a
3
al
1
v
1
al
2
al
3
d
3
)t
0
+(al
2
d
2
+a
2
v
1
+al
2
al
3
a
1
v
1
+al
2
d
3
a
2
al
3
al
1
v
1
+al
2
al
1
a
1
v
1
+al
2
a
3
al
1
v
1
al
2
al
3
d
2
al
1
+al
2
al
3
d
3
al
1
+al
2
al
3
a
3
v
1
)t
1
+(al
2
d
3
v
1
a
2
al
2
al
3
d
2
al
1
v
1
+al
2
al
3
d
3
al
1
v
1
+a
2
al
3
al
1
al
2
al
3
a
1
al
2
al
1
a
1
al
2
d
2
v
1
al
2
a
3
al
1
al
2
al
3
a
3
)t
2
+(al
2
d
3
al
1
v
1
a
2
al
1
a
2
al
3
+al
2
a
1
+al
2
a
3
+al
2
d
2
al
1
v
1
al
2
al
3
al
1
a
1
al
2
al
3
d
2
v
1
al
2
al
3
a
3
al
1
+al
2
al
3
d
3
v
1
)t
3
+ (2al
2
al
3
v
1
2al
2
al
1
v
1
)t
4
+ (2al
2
v
1
2al
2
al
3
al
1
v
1
)t
5
+ (2al
2
+ 2al
2
al
3
al
1
)t
6
+ (2al
2
al
1
2al
2
al
3
)t
7
)x
3
+ ((2al
2
al
1
2al
2
al
3
)t
0
+ (2al
2
+ 2al
2
al
3
al
1
)t
1
+ (2al
2
v
1
+ 2al
2
al
3
al
1
v
1
)t
2
+ (2al
2
al
3
v
1
+2al
2
al
1
v
1
)t
3
)y
0
+((2al
2
2al
2
al
3
al
1
)t
0
+(2al
2
al
1
2al
2
al
3
)t
1
+(2al
2
al
3
v
1
2al
2
al
1
v
1
)t
2
+(2al
2
v
1
+2al
2
al
3
al
1
v
1
)t
3
)y
1
+((2al
2
v
1
2al
2
al
3
al
1
v
1
)t
0
+(2al
2
al
3
v
1
+2al
2
al
1
v
1
)t
1
+(2al
2
al
1
2al
2
al
3
)t
2
+(2al
2
2al
2
al
3
al
1
)t
3
)y
2
+((2al
2
al
3
v
1
2al
2
al
1
v
1
)t
0
+(2al
2
v
1
2al
2
al
3
al
1
v
1
)t
1
+ (2al
2
+ 2al
2
al
3
al
1
)t
2
+ (2al
2
al
1
2al
2
al
3
)t
3
)y
3
= 0
(A.2)
123
A. One parameter sets of 3-spaces
H
3
(v
1
) :
((a
2
al
3
v
1
al
2
al
3
d
2
+ al
2
a
1
v
1
al
2
d
2
al
1
+ al
2
d
3
al
1
+ al
2
al
3
d
3
al
2
a
3
v
1
+ al
2
al
3
al
1
a
1
v
1
al
2
al
3
a
3
al
1
v
1
a
2
al
1
v
1
)t
0
+ (al
2
d
3
+ a
2
v
1
+ a
2
al
3
al
1
v
1
+ al
2
al
1
a
1
v
1
al
2
al
3
a
1
v
1
al
2
d
2
al
2
al
3
d
3
al
1
+ al
2
al
3
a
3
v
1
al
2
a
3
al
1
v
1
+ al
2
al
3
d
2
al
1
)t
1
+ (al
2
d
3
v
1
al
2
al
3
a
3
+ al
2
al
3
d
2
al
1
v
1
al
2
d
2
v
1
a
2
a
2
al
3
al
1
+al
2
al
3
a
1
al
2
al
1
a
1
al
2
al
3
d
3
al
1
v
1
+al
2
a
3
al
1
)t
2
+(a
2
al
1
al
2
a
3
al
2
al
3
a
3
al
1
+al
2
d
2
al
1
v
1
al
2
d
3
al
1
v
1
+al
2
al
3
d
2
v
1
+a
2
al
3
al
2
al
3
d
3
v
1
+al
2
al
3
al
1
a
1
+al
2
a
1
)t
3
+ (2al
2
al
1
v
1
+ 2al
2
al
3
v
1
)t
4
+ (2al
2
v
1
+ 2al
2
al
3
al
1
v
1
)t
5
+ (2al
2
2al
2
al
3
al
1
)t
6
+ (2al
2
al
3
2al
2
al
1
)t
7
)x
0
+ ((al
2
d
2
a
2
v
1
+ al
2
al
3
a
1
v
1
al
2
d
3
a
2
al
3
al
1
v
1
al
2
al
1
a
1
v
1
+ al
2
a
3
al
1
v
1
al
2
al
3
d
2
al
1
+ al
2
al
3
d
3
al
1
al
2
al
3
a
3
v
1
)t
0
+ (a
2
al
3
v
1
al
2
al
3
d
2
+ al
2
a
1
v
1
al
2
d
2
al
1
+ al
2
d
3
al
1
+ al
2
al
3
d
3
al
2
a
3
v
1
+ al
2
al
3
al
1
a
1
v
1
al
2
al
3
a
3
al
1
v
1
a
2
al
1
v
1
)t
1
+ (al
2
a
3
al
2
d
2
al
1
v
1
al
2
al
3
al
1
a
1
al
2
al
3
d
2
v
1
+ al
2
al
3
a
3
al
1
+ al
2
al
3
d
3
v
1
+ al
2
d
3
al
1
v
1
+ a
2
al
1
a
2
al
3
al
2
a
1
)t
2
+ (al
2
d
3
v
1
al
2
al
3
a
3
+ al
2
al
3
d
2
al
1
v
1
al
2
d
2
v
1
a
2
a
2
al
3
al
1
+ al
2
al
3
a
1
al
2
al
1
a
1
al
2
al
3
d
3
al
1
v
1
+ al
2
a
3
al
1
)t
3
+ (2al
2
v
1
2al
2
al
3
al
1
v
1
)t
4
+ (2al
2
al
1
v
1
+ 2al
2
al
3
v
1
)t
5
+ (2al
2
al
3
+ 2al
2
al
1
)t
6
+ (2al
2
2al
2
al
3
al
1
)t
7
)x
1
+ ((al
2
al
3
a
1
+ al
2
al
1
a
1
+ a
2
al
3
al
1
al
2
al
3
d
2
al
1
v
1
+ al
2
al
3
d
3
al
1
v
1
+ al
2
d
2
v
1
al
2
a
3
al
1
+ al
2
al
3
a
3
al
2
d
3
v
1
+ a
2
)t
0
+ (a
2
al
1
al
2
a
3
al
2
al
3
a
3
al
1
+ al
2
d
2
al
1
v
1
al
2
d
3
al
1
v
1
+ al
2
al
3
d
2
v
1
+ a
2
al
3
al
2
al
3
d
3
v
1
+ al
2
al
3
al
1
a
1
+ al
2
a
1
)t
1
+ (a
2
al
3
v
1
al
2
al
3
d
2
+ al
2
a
1
v
1
al
2
d
2
al
1
+al
2
d
3
al
1
+al
2
al
3
d
3
al
2
a
3
v
1
+al
2
al
3
al
1
a
1
v
1
al
2
al
3
a
3
al
1
v
1
a
2
al
1
v
1
)t
2
+(al
2
d
2
a
2
v
1
+ al
2
al
3
a
1
v
1
al
2
d
3
a
2
al
3
al
1
v
1
al
2
al
1
a
1
v
1
+ al
2
a
3
al
1
v
1
al
2
al
3
d
2
al
1
+ al
2
al
3
d
3
al
1
al
2
al
3
a
3
v
1
)t
3
+ (2al
2
+ 2al
2
al
3
al
1
)t
4
+ (2al
2
al
3
2al
2
al
1
)t
5
+ (2al
2
al
1
v
1
+ 2al
2
al
3
v
1
)t
6
+(2al
2
v
1
2al
2
al
3
al
1
v
1
)t
7
)x
2
+((al
2
a
3
al
2
d
2
al
1
v
1
al
2
al
3
al
1
a
1
al
2
al
3
d
2
v
1
+al
2
al
3
a
3
al
1
+al
2
al
3
d
3
v
1
+al
2
d
3
al
1
v
1
+a
2
al
1
a
2
al
3
al
2
a
1
)t
0
+(al
2
al
3
a
1
+al
2
al
1
a
1
+a
2
al
3
al
1
al
2
al
3
d
2
al
1
v
1
+ al
2
al
3
d
3
al
1
v
1
+ al
2
d
2
v
1
al
2
a
3
al
1
+ al
2
al
3
a
3
al
2
d
3
v
1
+ a
2
)t
1
+ (al
2
d
3
+ a
2
v
1
+ a
2
al
3
al
1
v
1
+al
2
al
1
a
1
v
1
al
2
al
3
a
1
v
1
al
2
d
2
al
2
al
3
d
3
al
1
+al
2
al
3
a
3
v
1
al
2
a
3
al
1
v
1
+al
2
al
3
d
2
al
1
)t
2
+(a
2
al
3
v
1
al
2
al
3
d
2
+ al
2
a
1
v
1
al
2
d
2
al
1
+ al
2
d
3
al
1
+ al
2
al
3
d
3
al
2
a
3
v
1
+ al
2
al
3
al
1
a
1
v
1
al
2
al
3
a
3
al
1
v
1
a
2
al
1
v
1
)t
3
+(2al
2
al
3
+2al
2
al
1
)t
4
+(2al
2
+2al
2
al
3
al
1
)t
5
+(2al
2
v
1
+2al
2
al
3
al
1
v
1
)t
6
+(2al
2
al
1
v
1
+2al
2
al
3
v
1
)t
7
)x
3
+((2al
2
al
1
v
1
+2al
2
al
3
v
1
)t
0
+(2al
2
v
1
+2al
2
al
3
al
1
v
1
)t
1
+(2al
2
2al
2
al
3
al
1
)t
2
+(2al
2
al
3
2al
2
al
1
)t
3
)y
0
+((2al
2
v
1
2al
2
al
3
al
1
v
1
)t
0
+(2al
2
al
1
v
1
+2al
2
al
3
v
1
)t
1
+(2al
2
al
3
+2al
2
al
1
)t
2
+(2al
2
2al
2
al
3
al
1
)t
3
)y
1
+((2al
2
+2al
2
al
3
al
1
)t
0
+(2al
2
al
3
2al
2
al
1
)t
1
+(2al
2
al
1
v
1
+2al
2
al
3
v
1
)t
2
+(2al
2
v
1
2al
2
al
3
al
1
v
1
)t
3
)y
2
+((2al
2
al
3
+2al
2
al
1
)t
0
+(2al
2
+2al
2
al
3
al
1
)t
1
+ (2al
2
v
1
+ 2al
2
al
3
al
1
v
1
)t
2
+ (2al
2
al
1
v
1
+ 2al
2
al
3
v
1
)t
3
)y
3
= 0
(A.3)
124
A. One parameter sets of 3-spaces
H
4
(v
1
) :
((d
3
d
2
al
3
a
1
v
1
a
2
al
2
al
3
al
1
v
1
+al
3
d
2
al
1
a
2
al
2
v
1
+al
3
d
3
al
1
a
3
al
1
v
1
+al
3
a
3
v
1
+al
1
a
1
v
1
)t
0
+(d
3
al
1
+d
2
al
1
+al
3
d
3
+al
3
d
2
+a
3
v
1
a
1
v
1
+a
2
al
2
al
3
v
1
al
3
al
1
a
1
v
1
+al
3
a
3
al
1
v
1
a
2
al
2
al
1
v
1
)t
1
+(a
2
al
2
al
1
+al
3
al
1
a
1
a
2
al
2
al
3
al
3
a
3
al
1
+d
3
al
1
v
1
+al
3
d
2
v
1
+d
2
al
1
v
1
+a
1
a
3
+al
3
d
3
v
1
)t
2
+(al
1
a
1
a
3
al
1
+d
2
v
1
al
3
a
1
+al
3
a
3
al
3
d
3
al
1
v
1
+d
3
v
1
a
2
al
2
al
3
d
2
al
1
v
1
a
2
al
2
al
3
al
1
)t
3
+ (2v
1
+ 2al
3
al
1
v
1
)t
4
+ (2al
3
v
1
+ 2al
1
v
1
)t
5
+ (2al
1
+ 2al
3
)t
6
+ (2 + 2al
3
al
1
)t
7
)x
0
+ ((a
1
v
1
al
3
d
2
+ a
2
al
2
al
1
v
1
al
3
d
3
+ al
3
al
1
a
1
v
1
d
2
al
1
a
3
v
1
a
2
al
2
al
3
v
1
al
3
a
3
al
1
v
1
d
3
al
1
)t
0
+(al
3
d
2
al
1
d
3
d
2
al
3
a
1
v
1
a
2
al
2
al
3
al
1
v
1
a
2
al
2
v
1
+al
3
d
3
al
1
a
3
al
1
v
1
+al
3
a
3
v
1
+al
1
a
1
v
1
)t
1
+(a
2
al
2
al
3
a
3
+al
3
a
1
+a
3
al
1
d
3
v
1
d
2
v
1
+a
2
al
2
al
3
al
1
+al
3
d
2
al
1
v
1
+al
3
d
3
al
1
v
1
al
1
a
1
)t
2
+(a
2
al
2
al
1
+al
3
al
1
a
1
a
2
al
2
al
3
al
3
a
3
al
1
+d
3
al
1
v
1
+al
3
d
2
v
1
+d
2
al
1
v
1
+a
1
a
3
+al
3
d
3
v
1
)t
3
+ (2al
3
v
1
2al
1
v
1
)t
4
+ (2v
1
+ 2al
3
al
1
v
1
)t
5
+ (2 2al
3
al
1
)t
6
+ (2al
1
+ 2al
3
)t
7
)x
1
+((a
3
al
3
al
1
a
1
al
3
d
2
v
1
a
2
al
2
al
1
+al
3
a
3
al
1
d
3
al
1
v
1
al
3
d
3
v
1
d
2
al
1
v
1
a
1
+a
2
al
2
al
3
)t
0
+(al
1
a
1
a
3
al
1
+d
2
v
1
al
3
a
1
+al
3
a
3
al
3
d
3
al
1
v
1
+d
3
v
1
a
2
al
2
al
3
d
2
al
1
v
1
a
2
al
2
al
3
al
1
)t
1
+(al
3
d
2
al
1
d
3
d
2
al
3
a
1
v
1
a
2
al
2
al
3
al
1
v
1
a
2
al
2
v
1
+al
3
d
3
al
1
a
3
al
1
v
1
+al
3
a
3
v
1
+al
1
a
1
v
1
)t
2
+(a
1
v
1
al
3
d
2
+a
2
al
2
al
1
v
1
al
3
d
3
+al
3
al
1
a
1
v
1
d
2
al
1
a
3
v
1
a
2
al
2
al
3
v
1
al
3
a
3
al
1
v
1
d
3
al
1
)t
3
+ (2al
1
2al
3
)t
4
+ (2 + 2al
3
al
1
)t
5
+ (2v
1
+ 2al
3
al
1
v
1
)t
6
+ (2al
3
v
1
2al
1
v
1
)t
7
)x
2
+((a
2
al
2
al
3
a
3
+al
3
a
1
+a
3
al
1
d
3
v
1
d
2
v
1
+a
2
al
2
al
3
al
1
+al
3
d
2
al
1
v
1
+al
3
d
3
al
1
v
1
al
1
a
1
)t
0
+(a
3
al
3
al
1
a
1
al
3
d
2
v
1
a
2
al
2
al
1
+al
3
a
3
al
1
d
3
al
1
v
1
al
3
d
3
v
1
d
2
al
1
v
1
a
1
+a
2
al
2
al
3
)t
1
+(d
3
al
1
+d
2
al
1
+al
3
d
3
+al
3
d
2
+a
3
v
1
a
1
v
1
+a
2
al
2
al
3
v
1
al
3
al
1
a
1
v
1
+al
3
a
3
al
1
v
1
a
2
al
2
al
1
v
1
)t
2
+ (d
3
d
2
al
3
a
1
v
1
a
2
al
2
al
3
al
1
v
1
+ al
3
d
2
al
1
a
2
al
2
v
1
+ al
3
d
3
al
1
a
3
al
1
v
1
+ al
3
a
3
v
1
+al
1
a
1
v
1
)t
3
+(2 2al
3
al
1
)t
4
+(2al
1
2al
3
)t
5
+(2al
3
v
1
+2al
1
v
1
)t
6
+(2v
1
+2al
3
al
1
v
1
)t
7
)x
3
+ ((2v
1
+ 2al
3
al
1
v
1
)t
0
+ (2al
3
v
1
+ 2al
1
v
1
)t
1
+ (2al
1
+ 2al
3
)t
2
+ (2 + 2al
3
al
1
)t
3
)y
0
+ ((2al
3
v
1
2al
1
v
1
)t
0
+ (2v
1
+ 2al
3
al
1
v
1
)t
1
+ (2 2al
3
al
1
)t
2
+ (2al
1
+ 2al
3
)t
3
)y
1
+ ((2al
1
2al
3
)t
0
+ (2 + 2al
3
al
1
)t
1
+ (2v
1
+ 2al
3
al
1
v
1
)t
2
+ (2al
3
v
1
2al
1
v
1
)t
3
)y
2
+ ((2 2al
3
al
1
)t
0
+ (2al
1
2al
3
)t
1
+ (2al
3
v
1
+ 2al
1
v
1
)t
2
+ (2v
1
+ 2al
3
al
1
v
1
)t
3
)y
3
= 0
(A.4)
125
A. One parameter sets of 3-spaces
A.2. T(v
2
)
H
1
(v
2
) :
((al
3
d
3
al
1
al
3
d
3
al
2
al
3
al
1
d
2
+ al
3
al
2
d
2
+ al
3
a
2
v
2
al
3
v
2
a
1
+ al
3
al
1
al
2
a
2
v
2
al
3
al
1
a
1
al
2
v
2
+ a
3
al
1
v
2
al
2
a
3
v
2
)t
0
+ (d
3
al
1
+ a
2
v
2
+ a
3
al
3
al
2
v
2
al
1
d
2
+ al
2
d
2
a
1
v
2
d
3
al
2
+ al
1
al
2
a
2
v
2
al
1
a
1
al
2
v
2
al
3
a
3
al
1
v
2
)t
1
+(a
1
+a
2
d
2
al
2
v
2
a
2
al
1
al
2
a
1
al
1
al
2
d
2
al
1
v
2
+d
3
al
2
v
2
+a
3
al
3
al
2
+a
3
al
3
al
1
d
3
al
1
v
2
)t
2
+(al
2
a
3
+al
3
al
1
al
2
a
2
+al
3
al
1
al
2
a
1
+d
3
al
1
al
3
v
2
al
3
d
3
al
2
v
2
+al
1
a
3
al
3
a
1
al
3
a
2
+al
1
d
2
al
3
v
2
+ d
2
al
3
al
2
v
2
)t
3
+ (2al
3
v
2
al
1
+ 2al
3
v
2
al
2
)t
4
+ (2al
1
v
2
+ 2al
2
v
2
)t
5
+ (2al
2
+ 2al
1
)t
6
+ (2al
3
al
1
2al
3
al
2
)t
7
)x
0
+ ((al
1
al
2
a
2
v
2
+ al
3
a
3
al
1
v
2
+ d
3
al
1
+ a
1
v
2
a
3
al
3
al
2
v
2
+ d
3
al
2
+ al
1
a
1
al
2
v
2
al
2
d
2
a
2
v
2
+ al
1
d
2
)t
0
+ (al
3
d
3
al
1
al
3
d
3
al
2
al
3
al
1
d
2
+ al
3
al
2
d
2
+ al
3
a
2
v
2
al
3
v
2
a
1
+ al
3
al
1
al
2
a
2
v
2
al
3
al
1
a
1
al
2
v
2
+ a
3
al
1
v
2
al
2
a
3
v
2
)t
1
+ (al
3
a
1
al
1
d
2
al
3
v
2
d
2
al
3
al
2
v
2
+ al
3
a
2
al
3
al
1
al
2
a
1
d
3
al
1
al
3
v
2
+ al
3
d
3
al
2
v
2
al
3
al
1
al
2
a
2
al
1
a
3
al
2
a
3
)t
2
+(a
1
+a
2
d
2
al
2
v
2
a
2
al
1
al
2
a
1
al
1
al
2
d
2
al
1
v
2
+d
3
al
2
v
2
+a
3
al
3
al
2
+a
3
al
3
al
1
d
3
al
1
v
2
)t
3
+ (2al
1
v
2
2al
2
v
2
)t
4
+ (2al
3
v
2
al
1
+ 2al
3
v
2
al
2
)t
5
+ (2al
3
al
1
+ 2al
3
al
2
)t
6
+ (2al
2
+ 2al
1
)t
7
)x
1
+((a
1
+d
2
al
1
v
2
+d
2
al
2
v
2
+a
2
al
1
al
2
+a
1
al
1
al
2
+d
3
al
1
v
2
d
3
al
2
v
2
a
3
al
3
al
2
a
3
al
3
al
1
a
2
)t
0
+ (al
2
a
3
+ al
3
al
1
al
2
a
2
+ al
3
al
1
al
2
a
1
+ d
3
al
1
al
3
v
2
al
3
d
3
al
2
v
2
+ al
1
a
3
al
3
a
1
al
3
a
2
+ al
1
d
2
al
3
v
2
+ d
2
al
3
al
2
v
2
)t
1
+ (al
3
d
3
al
1
al
3
d
3
al
2
al
3
al
1
d
2
+ al
3
al
2
d
2
+ al
3
a
2
v
2
al
3
v
2
a
1
+ al
3
al
1
al
2
a
2
v
2
al
3
al
1
a
1
al
2
v
2
+ a
3
al
1
v
2
al
2
a
3
v
2
)t
2
+ (al
1
al
2
a
2
v
2
+ al
3
a
3
al
1
v
2
+ d
3
al
1
+ a
1
v
2
a
3
al
3
al
2
v
2
+ d
3
al
2
+ al
1
a
1
al
2
v
2
al
2
d
2
a
2
v
2
+ al
1
d
2
)t
3
+ (2al
2
2al
1
)t
4
+ (2al
3
al
1
2al
3
al
2
)t
5
+ (2al
3
v
2
al
1
+ 2al
3
v
2
al
2
)t
6
+ (2al
1
v
2
2al
2
v
2
)t
7
)x
2
+((al
3
a
1
al
1
d
2
al
3
v
2
d
2
al
3
al
2
v
2
+al
3
a
2
al
3
al
1
al
2
a
1
d
3
al
1
al
3
v
2
+al
3
d
3
al
2
v
2
al
3
al
1
al
2
a
2
al
1
a
3
al
2
a
3
)t
0
+(a
1
+d
2
al
1
v
2
+d
2
al
2
v
2
+a
2
al
1
al
2
+a
1
al
1
al
2
+d
3
al
1
v
2
d
3
al
2
v
2
a
3
al
3
al
2
a
3
al
3
al
1
a
2
)t
1
+ (d
3
al
1
+ a
2
v
2
+ a
3
al
3
al
2
v
2
al
1
d
2
+ al
2
d
2
a
1
v
2
d
3
al
2
+ al
1
al
2
a
2
v
2
al
1
a
1
al
2
v
2
al
3
a
3
al
1
v
2
)t
2
+ (al
3
d
3
al
1
al
3
d
3
al
2
al
3
al
1
d
2
+ al
3
al
2
d
2
+ al
3
a
2
v
2
al
3
v
2
a
1
+al
3
al
1
al
2
a
2
v
2
al
3
al
1
a
1
al
2
v
2
+a
3
al
1
v
2
al
2
a
3
v
2
)t
3
+(2al
3
al
1
+2al
3
al
2
)t
4
+(2al
2
2al
1
)t
5
+ (2al
1
v
2
+ 2al
2
v
2
)t
6
+ (2al
3
v
2
al
1
+ 2al
3
v
2
al
2
)t
7
)x
3
+((2al
3
v
2
al
1
+2al
3
v
2
al
2
)t
0
+(2al
1
v
2
+2al
2
v
2
)t
1
+(2al
2
+2al
1
)t
2
+(2al
3
al
1
2al
3
al
2
)t
3
)y
0
+ ((2al
1
v
2
2al
2
v
2
)t
0
+ (2al
3
v
2
al
1
+ 2al
3
v
2
al
2
)t
1
+ (2al
3
al
1
+ 2al
3
al
2
)t
2
+ (2al
2
+ 2al
1
)t
3
)y
1
+((2al
2
2al
1
)t
0
+(2al
3
al
1
2al
3
al
2
)t
1
+(2al
3
v
2
al
1
+2al
3
v
2
al
2
)t
2
+(2al
1
v
2
2al
2
v
2
)t
3
)y
2
+((2al
3
al
1
+2al
3
al
2
)t
0
+(2al
2
2al
1
)t
1
+(2al
1
v
2
+2al
2
v
2
)t
2
+(2al
3
v
2
al
1
+2al
3
v
2
al
2
)t
3
)y
3
= 0
(A.5)
126
A. One parameter sets of 3-spaces
H
2
(v
2
) :
((al
1
v
2
a
2
+d
3
al
1
al
2
al
2
v
2
a
1
+al
2
a
2
v
2
+al
1
v
2
a
1
d
2
d
3
al
1
al
2
d
2
al
3
a
3
v
2
al
3
a
3
al
1
al
2
v
2
)t
0
+ (al
3
al
1
v
2
a
1
+ al
3
al
1
v
2
a
2
a
3
al
1
al
2
v
2
al
3
d
3
al
1
al
2
+ a
1
al
3
al
2
v
2
a
2
al
3
al
2
v
2
+ al
3
d
2
a
3
v
2
+ al
3
d
3
+ al
3
al
1
al
2
d
2
)t
1
+ (a
3
al
1
al
2
a
1
al
3
al
2
a
2
al
3
al
2
d
3
al
3
v
2
+ al
1
d
2
al
3
al
2
v
2
al
3
d
3
al
1
al
2
v
2
a
3
d
2
al
3
v
2
a
2
al
3
al
1
a
1
al
3
al
1
)t
2
+(d
2
v
2
al
1
a
1
al
2
a
2
al
1
a
2
d
3
al
1
al
2
v
2
al
2
a
1
+al
3
a
3
d
3
v
2
+al
1
d
2
al
2
v
2
al
3
al
1
al
2
a
3
)t
3
+(2al
1
al
2
v
2
2v
2
)t
4
+(2al
3
v
2
al
1
al
2
+2al
3
v
2
)t
5
+(2al
3
2al
3
al
1
al
2
)t
6
+(2al
1
al
2
+2)t
7
)x
0
+ ((al
3
al
1
v
2
a
1
+ a
2
al
3
al
2
v
2
al
3
al
1
al
2
d
2
+ a
3
al
1
al
2
v
2
+ al
3
d
3
al
1
al
2
a
1
al
3
al
2
v
2
al
3
d
3
al
3
d
2
+ a
3
v
2
al
3
al
1
v
2
a
2
)t
0
+ (al
1
v
2
a
2
+ d
3
al
1
al
2
al
2
v
2
a
1
+ al
2
a
2
v
2
+ al
1
v
2
a
1
d
2
d
3
al
1
al
2
d
2
al
3
a
3
v
2
al
3
a
3
al
1
al
2
v
2
)t
1
+(al
2
a
2
+d
2
v
2
+al
1
a
2
+al
1
a
1
al
3
a
3
+al
2
a
1
+al
3
al
1
al
2
a
3
+d
3
v
2
al
1
d
2
al
2
v
2
+d
3
al
1
al
2
v
2
)t
2
+ (a
3
al
1
al
2
a
1
al
3
al
2
a
2
al
3
al
2
d
3
al
3
v
2
+ al
1
d
2
al
3
al
2
v
2
al
3
d
3
al
1
al
2
v
2
a
3
d
2
al
3
v
2
a
2
al
3
al
1
a
1
al
3
al
1
)t
3
+ (2al
3
v
2
2al
3
v
2
al
1
al
2
)t
4
+ (2al
1
al
2
v
2
2v
2
)t
5
+ (2al
1
al
2
2)t
6
+ (2al
3
2al
3
al
1
al
2
)t
7
)x
1
+ ((a
2
al
3
al
1
+ d
3
al
3
v
2
+ a
1
al
3
al
1
+ a
1
al
3
al
2
+ a
2
al
3
al
2
+ al
3
d
3
al
1
al
2
v
2
a
3
al
1
al
2
+ a
3
al
1
d
2
al
3
al
2
v
2
+ d
2
al
3
v
2
)t
0
+(d
2
v
2
al
1
a
1
al
2
a
2
al
1
a
2
d
3
al
1
al
2
v
2
al
2
a
1
+al
3
a
3
d
3
v
2
+al
1
d
2
al
2
v
2
al
3
al
1
al
2
a
3
)t
1
+ (al
1
v
2
a
2
+ d
3
al
1
al
2
al
2
v
2
a
1
+ al
2
a
2
v
2
+ al
1
v
2
a
1
d
2
d
3
al
1
al
2
d
2
al
3
a
3
v
2
al
3
a
3
al
1
al
2
v
2
)t
2
+ (al
3
al
1
v
2
a
1
+ a
2
al
3
al
2
v
2
al
3
al
1
al
2
d
2
+ a
3
al
1
al
2
v
2
+ al
3
d
3
al
1
al
2
a
1
al
3
al
2
v
2
al
3
d
3
al
3
d
2
+ a
3
v
2
al
3
al
1
v
2
a
2
)t
3
+ (2al
3
+ 2al
3
al
1
al
2
)t
4
+ (2al
1
al
2
+ 2)t
5
+ (2al
1
al
2
v
2
2v
2
)t
6
+ (2al
3
v
2
2al
3
v
2
al
1
al
2
)t
7
)x
2
+((al
2
a
2
+d
2
v
2
+al
1
a
2
+al
1
a
1
al
3
a
3
+al
2
a
1
+al
3
al
1
al
2
a
3
+d
3
v
2
al
1
d
2
al
2
v
2
+d
3
al
1
al
2
v
2
)t
0
+(a
2
al
3
al
1
+d
3
al
3
v
2
+a
1
al
3
al
1
+a
1
al
3
al
2
+a
2
al
3
al
2
+al
3
d
3
al
1
al
2
v
2
a
3
al
1
al
2
+a
3
al
1
d
2
al
3
al
2
v
2
+d
2
al
3
v
2
)t
1
+(al
3
al
1
v
2
a
1
+al
3
al
1
v
2
a
2
a
3
al
1
al
2
v
2
al
3
d
3
al
1
al
2
+a
1
al
3
al
2
v
2
a
2
al
3
al
2
v
2
+al
3
d
2
a
3
v
2
+ al
3
d
3
+ al
3
al
1
al
2
d
2
)t
2
+ (al
1
v
2
a
2
+ d
3
al
1
al
2
al
2
v
2
a
1
+ al
2
a
2
v
2
+ al
1
v
2
a
1
d
2
d
3
al
1
al
2
d
2
al
3
a
3
v
2
al
3
a
3
al
1
al
2
v
2
)t
3
+(2al
1
al
2
2)t
4
+(2al
3
+2al
3
al
1
al
2
)t
5
+(2al
3
v
2
al
1
al
2
+ 2al
3
v
2
)t
6
+ (2al
1
al
2
v
2
2v
2
)t
7
)x
3
+((2al
1
al
2
v
2
2v
2
)t
0
+(2al
3
v
2
al
1
al
2
+2al
3
v
2
)t
1
+(2al
3
2al
3
al
1
al
2
)t
2
+(2al
1
al
2
+2)t
3
)y
0
+((2al
3
v
2
2al
3
v
2
al
1
al
2
)t
0
+(2al
1
al
2
v
2
2v
2
)t
1
+(2al
1
al
2
2)t
2
+(2al
3
2al
3
al
1
al
2
)t
3
)y
1
+((2al
3
+2al
3
al
1
al
2
)t
0
+(2al
1
al
2
+2)t
1
+(2al
1
al
2
v
2
2v
2
)t
2
+(2al
3
v
2
2al
3
v
2
al
1
al
2
)t
3
)y
2
+((2al
1
al
2
2)t
0
+(2al
3
+2al
3
al
1
al
2
)t
1
+(2al
3
v
2
al
1
al
2
+2al
3
v
2
)t
2
+(2al
1
al
2
v
2
2v
2
)t
3
)y
3
= 0
(A.6)
127
A. One parameter sets of 3-spaces
H
3
(v
2
) :
((al
3
a
1
al
1
d
2
al
3
v
2
d
2
al
3
al
2
v
2
+ al
3
a
2
al
3
al
1
al
2
a
1
d
3
al
1
al
3
v
2
+ al
3
d
3
al
2
v
2
al
3
al
1
al
2
a
2
al
1
a
3
al
2
a
3
)t
0
+(a
1
+a
2
d
2
al
2
v
2
a
2
al
1
al
2
a
1
al
1
al
2
d
2
al
1
v
2
+d
3
al
2
v
2
+a
3
al
3
al
2
+a
3
al
3
al
1
d
3
al
1
v
2
)t
1
+ (al
1
al
2
a
2
v
2
+ al
3
a
3
al
1
v
2
+ d
3
al
1
+ a
1
v
2
a
3
al
3
al
2
v
2
+ d
3
al
2
+ al
1
a
1
al
2
v
2
al
2
d
2
a
2
v
2
+ al
1
d
2
)t
2
+ (al
3
d
3
al
1
al
3
d
3
al
2
al
3
al
1
d
2
+ al
3
al
2
d
2
+ al
3
a
2
v
2
al
3
v
2
a
1
+ al
3
al
1
al
2
a
2
v
2
al
3
al
1
a
1
al
2
v
2
+ a
3
al
1
v
2
al
2
a
3
v
2
)t
3
+ (2al
3
al
1
+ 2al
3
al
2
)t
4
+ (2al
2
+ 2al
1
)t
5
+ (2al
1
v
2
2al
2
v
2
)t
6
+ (2al
3
v
2
al
1
+ 2al
3
v
2
al
2
)t
7
)x
0
+((a
1
+d
2
al
1
v
2
+d
2
al
2
v
2
+a
2
al
1
al
2
+a
1
al
1
al
2
+d
3
al
1
v
2
d
3
al
2
v
2
a
3
al
3
al
2
a
3
al
3
al
1
a
2
)t
0
+ (al
3
a
1
al
1
d
2
al
3
v
2
d
2
al
3
al
2
v
2
+ al
3
a
2
al
3
al
1
al
2
a
1
d
3
al
1
al
3
v
2
+ al
3
d
3
al
2
v
2
al
3
al
1
al
2
a
2
al
1
a
3
al
2
a
3
)t
1
+ (al
3
al
1
d
2
al
3
al
1
al
2
a
2
v
2
+ al
3
al
1
a
1
al
2
v
2
al
3
al
2
d
2
+ al
3
v
2
a
1
+ al
2
a
3
v
2
+ al
3
d
3
al
2
+ al
3
d
3
al
1
a
3
al
1
v
2
al
3
a
2
v
2
)t
2
+ (al
1
al
2
a
2
v
2
+ al
3
a
3
al
1
v
2
+ d
3
al
1
+ a
1
v
2
a
3
al
3
al
2
v
2
+ d
3
al
2
+ al
1
a
1
al
2
v
2
al
2
d
2
a
2
v
2
+ al
1
d
2
)t
3
+ (2al
2
2al
1
)t
4
+ (2al
3
al
1
+ 2al
3
al
2
)t
5
+ (2al
3
v
2
al
1
2al
3
v
2
al
2
)t
6
+ (2al
1
v
2
2al
2
v
2
)t
7
)x
1
+ ((d
3
al
1
+ a
2
v
2
+ a
3
al
3
al
2
v
2
al
1
d
2
+ al
2
d
2
a
1
v
2
d
3
al
2
+ al
1
al
2
a
2
v
2
al
1
a
1
al
2
v
2
al
3
a
3
al
1
v
2
)t
0
+ (al
3
d
3
al
1
al
3
d
3
al
2
al
3
al
1
d
2
+ al
3
al
2
d
2
+ al
3
a
2
v
2
al
3
v
2
a
1
+ al
3
al
1
al
2
a
2
v
2
al
3
al
1
a
1
al
2
v
2
+ a
3
al
1
v
2
al
2
a
3
v
2
)t
1
+ (al
3
a
1
al
1
d
2
al
3
v
2
d
2
al
3
al
2
v
2
+ al
3
a
2
al
3
al
1
al
2
a
1
d
3
al
1
al
3
v
2
+ al
3
d
3
al
2
v
2
al
3
al
1
al
2
a
2
al
1
a
3
al
2
a
3
)t
2
+(a
1
+d
2
al
1
v
2
+d
2
al
2
v
2
+a
2
al
1
al
2
+a
1
al
1
al
2
+d
3
al
1
v
2
d
3
al
2
v
2
a
3
al
3
al
2
a
3
al
3
al
1
a
2
)t
3
+(2al
1
v
2
+2al
2
v
2
)t
4
+(2al
3
v
2
al
1
+2al
3
v
2
al
2
)t
5
+(2al
3
al
1
+2al
3
al
2
)t
6
+(2al
2
2al
1
)t
7
)x
2
+((al
3
al
1
d
2
al
3
al
1
al
2
a
2
v
2
+al
3
al
1
a
1
al
2
v
2
al
3
al
2
d
2
+al
3
v
2
a
1
+al
2
a
3
v
2
+al
3
d
3
al
2
+al
3
d
3
al
1
a
3
al
1
v
2
al
3
a
2
v
2
)t
0
+(d
3
al
1
+a
2
v
2
+a
3
al
3
al
2
v
2
al
1
d
2
+al
2
d
2
a
1
v
2
d
3
al
2
+al
1
al
2
a
2
v
2
al
1
a
1
al
2
v
2
al
3
a
3
al
1
v
2
)t
1
+(a
1
+a
2
d
2
al
2
v
2
a
2
al
1
al
2
a
1
al
1
al
2
d
2
al
1
v
2
+d
3
al
2
v
2
+a
3
al
3
al
2
+ a
3
al
3
al
1
d
3
al
1
v
2
)t
2
+ (al
3
a
1
al
1
d
2
al
3
v
2
d
2
al
3
al
2
v
2
+ al
3
a
2
al
3
al
1
al
2
a
1
d
3
al
1
al
3
v
2
+al
3
d
3
al
2
v
2
al
3
al
1
al
2
a
2
al
1
a
3
al
2
a
3
)t
3
+(2al
3
v
2
al
1
2al
3
v
2
al
2
)t
4
+(2al
1
v
2
+2al
2
v
2
)t
5
+ (2al
2
+ 2al
1
)t
6
+ (2al
3
al
1
+ 2al
3
al
2
)t
7
)x
3
+ ((2al
3
al
1
+ 2al
3
al
2
)t
0
+ (2al
2
+ 2al
1
)t
1
+ (2al
1
v
2
2al
2
v
2
)t
2
+ (2al
3
v
2
al
1
+ 2al
3
v
2
al
2
)t
3
)y
0
+ ((2al
2
2al
1
)t
0
+ (2al
3
al
1
+ 2al
3
al
2
)t
1
+ (2al
3
v
2
al
1
2al
3
v
2
al
2
)t
2
+ (2al
1
v
2
2al
2
v
2
)t
3
)y
1
+((2al
1
v
2
+2al
2
v
2
)t
0
+(2al
3
v
2
al
1
+2al
3
v
2
al
2
)t
1
+(2al
3
al
1
+2al
3
al
2
)t
2
+(2al
2
2al
1
)t
3
)y
2
+((2al
3
v
2
al
1
2al
3
v
2
al
2
)t
0
+(2al
1
v
2
+2al
2
v
2
)t
1
+(2al
2
+2al
1
)t
2
+(2al
3
al
1
+2al
3
al
2
)t
3
)y
3
=0
(A.7)
128
A. One parameter sets of 3-spaces
H
4
(v
2
) :
((d
2
v
2
al
1
a
1
al
2
a
2
al
1
a
2
d
3
al
1
al
2
v
2
al
2
a
1
+al
3
a
3
d
3
v
2
+al
1
d
2
al
2
v
2
al
3
al
1
al
2
a
3
)t
0
+ (a
2
al
3
al
1
+ d
3
al
3
v
2
+ a
1
al
3
al
1
+ a
1
al
3
al
2
+ a
2
al
3
al
2
+ al
3
d
3
al
1
al
2
v
2
a
3
al
1
al
2
+ a
3
al
1
d
2
al
3
al
2
v
2
+ d
2
al
3
v
2
)t
1
+ (al
3
al
1
v
2
a
1
+ al
3
al
1
v
2
a
2
a
3
al
1
al
2
v
2
al
3
d
3
al
1
al
2
+ a
1
al
3
al
2
v
2
a
2
al
3
al
2
v
2
+ al
3
d
2
a
3
v
2
+ al
3
d
3
+ al
3
al
1
al
2
d
2
)t
2
+ (d
3
al
1
al
2
+ d
2
al
1
v
2
a
1
al
2
a
2
v
2
+ al
3
a
3
v
2
+ al
1
v
2
a
2
+ al
2
v
2
a
1
+ al
1
al
2
d
2
+ al
3
a
3
al
1
al
2
v
2
+ d
3
)t
3
+ (2al
1
al
2
+ 2)t
4
+(2al
3
+2al
3
al
1
al
2
)t
5
+(2al
3
v
2
al
1
al
2
+2al
3
v
2
)t
6
+(2al
1
al
2
v
2
+2v
2
)t
7
)x
0
+((a
3
al
1
al
2
a
1
al
3
al
2
a
2
al
3
al
2
d
3
al
3
v
2
+ al
1
d
2
al
3
al
2
v
2
al
3
d
3
al
1
al
2
v
2
a
3
d
2
al
3
v
2
a
2
al
3
al
1
a
1
al
3
al
1
)t
0
+(d
2
v
2
al
1
a
1
al
2
a
2
al
1
a
2
d
3
al
1
al
2
v
2
al
2
a
1
+al
3
a
3
d
3
v
2
+al
1
d
2
al
2
v
2
al
3
al
1
al
2
a
3
)t
1
+ (al
1
v
2
a
2
+ d
3
al
1
al
2
al
2
v
2
a
1
+ al
2
a
2
v
2
+ al
1
v
2
a
1
d
2
d
3
al
1
al
2
d
2
al
3
a
3
v
2
al
3
a
3
al
1
al
2
v
2
)t
2
+ (al
3
al
1
v
2
a
1
+ al
3
al
1
v
2
a
2
a
3
al
1
al
2
v
2
al
3
d
3
al
1
al
2
+ a
1
al
3
al
2
v
2
a
2
al
3
al
2
v
2
+ al
3
d
2
a
3
v
2
+ al
3
d
3
+ al
3
al
1
al
2
d
2
)t
3
+ (2al
3
2al
3
al
1
al
2
)t
4
+ (2al
1
al
2
+ 2)t
5
+(2al
1
al
2
v
2
2v
2
)t
6
+(2al
3
v
2
al
1
al
2
+2al
3
v
2
)t
7
)x
1
+((al
3
al
1
v
2
a
1
+a
2
al
3
al
2
v
2
al
3
al
1
al
2
d
2
+ a
3
al
1
al
2
v
2
+ al
3
d
3
al
1
al
2
a
1
al
3
al
2
v
2
al
3
d
3
al
3
d
2
+ a
3
v
2
al
3
al
1
v
2
a
2
)t
0
+ (d
3
al
1
al
2
+ d
2
al
1
v
2
a
1
al
2
a
2
v
2
+ al
3
a
3
v
2
+ al
1
v
2
a
2
+ al
2
v
2
a
1
+ al
1
al
2
d
2
+ al
3
a
3
al
1
al
2
v
2
+ d
3
)t
1
+(d
2
v
2
al
1
a
1
al
2
a
2
al
1
a
2
d
3
al
1
al
2
v
2
al
2
a
1
+al
3
a
3
d
3
v
2
+al
1
d
2
al
2
v
2
al
3
al
1
al
2
a
3
)t
2
+(a
3
al
1
al
2
a
1
al
3
al
2
a
2
al
3
al
2
d
3
al
3
v
2
+al
1
d
2
al
3
al
2
v
2
al
3
d
3
al
1
al
2
v
2
a
3
d
2
al
3
v
2
a
2
al
3
al
1
a
1
al
3
al
1
)t
3
+ (2al
3
v
2
2al
3
v
2
al
1
al
2
)t
4
+ (2al
1
al
2
v
2
+ 2v
2
)t
5
+ (2al
1
al
2
+ 2)t
6
+ (2al
3
2al
3
al
1
al
2
)t
7
)x
2
+((al
1
v
2
a
2
+d
3
al
1
al
2
al
2
v
2
a
1
+al
2
a
2
v
2
+al
1
v
2
a
1
d
2
d
3
al
1
al
2
d
2
al
3
a
3
v
2
al
3
a
3
al
1
al
2
v
2
)t
0
+(al
3
al
1
v
2
a
1
+a
2
al
3
al
2
v
2
al
3
al
1
al
2
d
2
+a
3
al
1
al
2
v
2
+al
3
d
3
al
1
al
2
a
1
al
3
al
2
v
2
al
3
d
3
al
3
d
2
+ a
3
v
2
al
3
al
1
v
2
a
2
)t
1
+ (a
2
al
3
al
1
+ d
3
al
3
v
2
+ a
1
al
3
al
1
+ a
1
al
3
al
2
+ a
2
al
3
al
2
+ al
3
d
3
al
1
al
2
v
2
a
3
al
1
al
2
+ a
3
al
1
d
2
al
3
al
2
v
2
+ d
2
al
3
v
2
)t
2
+ (d
2
v
2
al
1
a
1
al
2
a
2
al
1
a
2
d
3
al
1
al
2
v
2
al
2
a
1
+al
3
a
3
d
3
v
2
+al
1
d
2
al
2
v
2
al
3
al
1
al
2
a
3
)t
3
+(2al
1
al
2
v
2
2v
2
)t
4
+(2al
3
v
2
2al
3
v
2
al
1
al
2
)t
5
+ (2al
3
+ 2al
3
al
1
al
2
)t
6
+ (2al
1
al
2
+ 2)t
7
)x
3
+((2al
1
al
2
+2)t
0
+(2al
3
+2al
3
al
1
al
2
)t
1
+(2al
3
v
2
al
1
al
2
+2al
3
v
2
)t
2
+(2al
1
al
2
v
2
+2v
2
)t
3
)y
0
+((2al
3
2al
3
al
1
al
2
)t
0
+(2al
1
al
2
+2)t
1
+(2al
1
al
2
v
2
2v
2
)t
2
+(2al
3
v
2
al
1
al
2
+2al
3
v
2
)t
3
)y
1
+((2al
3
v
2
2al
3
v
2
al
1
al
2
)t
0
+(2al
1
al
2
v
2
+2v
2
)t
1
+(2al
1
al
2
+2)t
2
+(2al
3
2al
3
al
1
al
2
)t
3
)y
2
+((2al
1
al
2
v
2
2v
2
)t
0
+(2al
3
v
2
2al
3
v
2
al
1
al
2
)t
1
+(2al
3
+2al
3
al
1
al
2
)t
2
+(2al
1
al
2
+2)t
3
)y
3
= 0
(A.8)
129
A. One parameter sets of 3-spaces
A.3. T(v
3
)
H
1
(v
3
) :
((al
2
a
2
+a
1
al
1
d
2
v
3
al
3
a
2
al
3
a
3
al
2
a
3
v
3
d
3
a
1
al
1
al
2
al
3
al
3
al
2
d
2
v
3
+al
2
v
3
al
3
d
3
)t
0
+(v
3
al
3
d
3
+al
2
al
3
a
3
+al
2
v
3
d
3
a
2
a
3
a
1
al
1
al
3
a
1
al
1
al
2
+al
3
al
2
a
2
+al
3
d
2
v
3
al
2
d
2
v
3
)t
1
+(al
2
d
3
al
3
d
2
al
2
d
2
+a
2
v
3
v
3
a
3
al
3
d
3
+a
1
al
1
al
2
v
3
a
1
al
1
v
3
al
3
+al
3
al
2
a
2
v
3
al
2
v
3
al
3
a
3
)t
2
+ (a
1
al
1
v
3
+ al
2
a
2
v
3
al
3
a
2
v
3
+ al
3
al
2
d
2
al
2
al
3
d
3
+ v
3
al
3
a
3
d
2
d
3
al
2
v
3
a
3
a
1
al
1
al
2
v
3
al
3
)t
3
+(2+2al
2
al
3
)t
4
+(2al
3
+2al
2
)t
5
+(2v
3
al
3
2al
2
v
3
)t
6
+(2v
3
+2al
2
v
3
al
3
)t
7
)x
0
+((a
1
al
1
al
3
+a
1
al
1
al
2
al
3
al
2
a
2
al
3
d
2
v
3
+al
2
d
2
v
3
al
2
al
3
a
3
al
2
v
3
d
3
v
3
al
3
d
3
+a
2
+a
3
)t
0
+(al
2
a
2
+a
1
al
1
d
2
v
3
al
3
a
2
al
3
a
3
al
2
a
3
v
3
d
3
a
1
al
1
al
2
al
3
al
3
al
2
d
2
v
3
+al
2
v
3
al
3
d
3
)t
1
+(a
1
al
1
v
3
+al
3
a
2
v
3
al
3
al
2
d
2
al
2
a
2
v
3
+al
2
al
3
d
3
+al
2
v
3
a
3
v
3
al
3
a
3
+d
2
+d
3
+a
1
al
1
al
2
v
3
al
3
)t
2
+(al
2
d
3
al
3
d
2
al
2
d
2
+a
2
v
3
v
3
a
3
al
3
d
3
+a
1
al
1
al
2
v
3
a
1
al
1
v
3
al
3
+al
3
al
2
a
2
v
3
al
2
v
3
al
3
a
3
)t
3
+(2al
3
2al
2
)t
4
+(2 +2al
2
al
3
)t
5
+(2al
2
v
3
al
3
2v
3
)t
6
+(2v
3
al
3
2al
2
v
3
)t
7
)x
1
+((al
3
d
2
a
2
v
3
+ al
2
d
2
al
2
d
3
+ al
3
d
3
+ v
3
a
3
a
1
al
1
al
2
v
3
+ a
1
al
1
v
3
al
3
al
3
al
2
a
2
v
3
+ al
2
v
3
al
3
a
3
)t
0
+(al
2
a
2
v
3
a
1
al
1
v
3
al
3
a
2
v
3
+al
3
al
2
d
2
al
2
al
3
d
3
+v
3
al
3
a
3
d
2
d
3
al
2
v
3
a
3
a
1
al
1
al
2
v
3
al
3
)t
1
+(al
2
a
2
+a
1
al
1
d
2
v
3
al
3
a
2
al
3
a
3
al
2
a
3
v
3
d
3
a
1
al
1
al
2
al
3
al
3
al
2
d
2
v
3
+al
2
v
3
al
3
d
3
)t
2
+(a
1
al
1
al
3
+a
1
al
1
al
2
al
3
al
2
a
2
al
3
d
2
v
3
+al
2
d
2
v
3
al
2
al
3
a
3
al
2
v
3
d
3
v
3
al
3
d
3
+a
2
+a
3
)t
3
+(2al
2
v
3
2v
3
al
3
)t
4
+(2v
3
+2al
2
v
3
al
3
)t
5
+(2 +2al
2
al
3
)t
6
+(2al
3
2al
2
)t
7
)x
2
+((a
1
al
1
v
3
+ al
3
a
2
v
3
al
3
al
2
d
2
al
2
a
2
v
3
+ al
2
al
3
d
3
+ al
2
v
3
a
3
v
3
al
3
a
3
+ d
2
+ d
3
+ a
1
al
1
al
2
v
3
al
3
)t
0
+(al
3
d
2
a
2
v
3
+al
2
d
2
al
2
d
3
+al
3
d
3
+v
3
a
3
a
1
al
1
al
2
v
3
+a
1
al
1
v
3
al
3
al
3
al
2
a
2
v
3
+al
2
v
3
al
3
a
3
)t
1
+(v
3
al
3
d
3
+al
2
al
3
a
3
+al
2
v
3
d
3
a
2
a
3
a
1
al
1
al
3
a
1
al
1
al
2
+al
3
al
2
a
2
+al
3
d
2
v
3
al
2
d
2
v
3
)t
2
+(al
2
a
2
+a
1
al
1
d
2
v
3
al
3
a
2
al
3
a
3
al
2
a
3
v
3
d
3
a
1
al
1
al
2
al
3
al
3
al
2
d
2
v
3
+al
2
v
3
al
3
d
3
)t
3
+ (2al
2
v
3
al
3
2v
3
)t
4
+ (2al
2
v
3
2v
3
al
3
)t
5
+ (2al
3
+ 2al
2
)t
6
+ (2 + 2al
2
al
3
)t
7
)x
3
+ ((2 + 2al
2
al
3
)t
0
+ (2al
3
+ 2al
2
)t
1
+ (2v
3
al
3
2al
2
v
3
)t
2
+ (2v
3
+ 2al
2
v
3
al
3
)t
3
)y
0
+ ((2al
3
2al
2
)t
0
+ (2 + 2al
2
al
3
)t
1
+ (2al
2
v
3
al
3
2v
3
)t
2
+ (2v
3
al
3
2al
2
v
3
)t
3
)y
1
+ ((2al
2
v
3
2v
3
al
3
)t
0
+ (2v
3
+ 2al
2
v
3
al
3
)t
1
+ (2 + 2al
2
al
3
)t
2
+ (2al
3
2al
2
)t
3
)y
2
+ ((2al
2
v
3
al
3
2v
3
)t
0
+ (2al
2
v
3
2v
3
al
3
)t
1
+ (2al
3
+ 2al
2
)t
2
+ (2 + 2al
2
al
3
)t
3
)y
3
= 0
(A.9)
130
A. One parameter sets of 3-spaces
H
2
(v
3
) :
((2al
1
al
2
2al
1
al
3
)t
0
+ (2al
1
al
2
al
3
2al
1
)t
1
+ (2al
1
v
3
+ 2al
1
al
2
v
3
al
3
)t
2
+ (2al
1
al
2
v
3
2al
1
v
3
al
3
)t
3
)y
0
+ ((2al
1
al
2
al
3
+ 2al
1
)t
0
+ (2al
1
al
2
2al
1
al
3
)t
1
+ (2al
1
al
2
v
3
+ 2al
1
v
3
al
3
)t
2
+ (2al
1
v
3
+ 2al
1
al
2
v
3
al
3
)t
3
)y
1
+ ((2al
1
v
3
2al
1
al
2
v
3
al
3
)t
0
+ (2al
1
al
2
v
3
2al
1
v
3
al
3
)t
1
+ (2al
1
al
2
2al
1
al
3
)t
2
+ (2al
1
al
2
al
3
+ 2al
1
)t
3
)y
2
+ ((2al
1
al
2
v
3
+ 2al
1
v
3
al
3
)t
0
+ (2al
1
v
3
2al
1
al
2
v
3
al
3
)t
1
+ (2al
1
al
2
al
3
2al
1
)t
2
+ (2al
1
al
2
2al
1
al
3
)t
3
)y
3
+ ((a
1
al
2
a
1
al
3
+ al
1
a
2
+ al
1
a
3
+ al
1
al
2
d
2
v
3
al
1
al
3
al
2
a
2
al
1
al
3
d
2
v
3
al
1
al
2
al
3
a
3
al
1
v
3
al
3
d
3
al
1
al
2
v
3
d
3
)t
0
+(al
1
al
2
a
3
a
1
+a
1
al
2
al
3
al
1
al
2
a
2
al
1
d
2
v
3
al
1
al
3
a
3
al
1
al
3
al
2
d
2
v
3
+al
1
al
2
v
3
al
3
d
3
al
1
v
3
d
3
al
1
al
3
a
2
)t
1
+(a
1
v
3
al
1
d
2
al
1
d
3
+ a
1
al
2
v
3
al
3
al
1
al
3
a
2
v
3
+ al
1
al
3
al
2
d
2
+ al
1
al
2
a
2
v
3
al
1
al
2
al
3
d
3
al
1
al
2
v
3
a
3
+ al
1
v
3
al
3
a
3
)t
2
+(a
1
al
2
v
3
a
1
v
3
al
3
+al
1
al
3
d
2
+al
1
al
2
d
2
al
1
a
2
v
3
+al
1
v
3
a
3
al
1
al
2
d
3
+al
1
al
3
d
3
al
1
al
3
al
2
a
2
v
3
+ al
1
al
2
v
3
al
3
a
3
)t
3
+ (2al
1
al
2
2al
1
al
3
)t
4
+ (2al
1
al
2
al
3
2al
1
)t
5
+ (2al
1
v
3
+ 2al
1
al
2
v
3
al
3
)t
6
+ (2al
1
al
2
v
3
2al
1
v
3
al
3
)t
7
)x
0
+ ((a
1
al
2
al
3
+ al
1
al
2
a
2
+ al
1
d
2
v
3
+ al
1
al
3
a
2
+ al
1
al
3
a
3
+ al
1
al
2
a
3
+ al
1
v
3
d
3
+ a
1
+ al
1
al
3
al
2
d
2
v
3
al
1
al
2
v
3
al
3
d
3
)t
0
+ (a
1
al
2
a
1
al
3
+ al
1
a
2
+ al
1
a
3
+ al
1
al
2
d
2
v
3
al
1
al
3
al
2
a
2
al
1
al
3
d
2
v
3
al
1
al
2
al
3
a
3
al
1
v
3
al
3
d
3
al
1
al
2
v
3
d
3
)t
1
+ (a
1
al
2
v
3
+ a
1
v
3
al
3
al
1
al
3
d
2
+ al
1
a
2
v
3
al
1
al
2
d
2
+ al
1
al
2
d
3
al
1
al
3
d
3
al
1
v
3
a
3
+ al
1
al
3
al
2
a
2
v
3
al
1
al
2
v
3
al
3
a
3
)t
2
+ (a
1
v
3
al
1
d
2
al
1
d
3
+ a
1
al
2
v
3
al
3
al
1
al
3
a
2
v
3
+ al
1
al
3
al
2
d
2
+ al
1
al
2
a
2
v
3
al
1
al
2
al
3
d
3
al
1
al
2
v
3
a
3
+ al
1
v
3
al
3
a
3
)t
3
+ (2al
1
al
2
al
3
+ 2al
1
)t
4
+ (2al
1
al
2
2al
1
al
3
)t
5
+ (2al
1
al
2
v
3
+ 2al
1
v
3
al
3
)t
6
+ (2al
1
v
3
+ 2al
1
al
2
v
3
al
3
)t
7
)x
1
+ ((a
1
v
3
+ al
1
d
2
+ al
1
d
3
a
1
al
2
v
3
al
3
al
1
al
2
a
2
v
3
+ al
1
al
3
a
2
v
3
al
1
al
3
al
2
d
2
+ al
1
al
2
al
3
d
3
al
1
v
3
al
3
a
3
+ al
1
al
2
v
3
a
3
)t
0
+ (a
1
al
2
v
3
a
1
v
3
al
3
+ al
1
al
3
d
2
+ al
1
al
2
d
2
al
1
a
2
v
3
+ al
1
v
3
a
3
al
1
al
2
d
3
+ al
1
al
3
d
3
al
1
al
3
al
2
a
2
v
3
+ al
1
al
2
v
3
al
3
a
3
)t
1
+ (a
1
al
2
a
1
al
3
+ al
1
a
2
+ al
1
a
3
+al
1
al
2
d
2
v
3
al
1
al
3
al
2
a
2
al
1
al
3
d
2
v
3
al
1
al
2
al
3
a
3
al
1
v
3
al
3
d
3
al
1
al
2
v
3
d
3
)t
2
+(a
1
al
2
al
3
+ al
1
al
2
a
2
+ al
1
d
2
v
3
+ al
1
al
3
a
2
+ al
1
al
3
a
3
+ al
1
al
2
a
3
+ al
1
v
3
d
3
+ a
1
+ al
1
al
3
al
2
d
2
v
3
al
1
al
2
v
3
al
3
d
3
)t
3
+ (2al
1
v
3
2al
1
al
2
v
3
al
3
)t
4
+ (2al
1
al
2
v
3
2al
1
v
3
al
3
)t
5
+ (2al
1
al
2
2al
1
al
3
)t
6
+(2al
1
al
2
al
3
+2al
1
)t
7
)x
2
+((a
1
al
2
v
3
+a
1
v
3
al
3
al
1
al
3
d
2
+al
1
a
2
v
3
al
1
al
2
d
2
+ al
1
al
2
d
3
al
1
al
3
d
3
al
1
v
3
a
3
+ al
1
al
3
al
2
a
2
v
3
al
1
al
2
v
3
al
3
a
3
)t
0
+ (a
1
v
3
+ al
1
d
2
+ al
1
d
3
a
1
al
2
v
3
al
3
al
1
al
2
a
2
v
3
+ al
1
al
3
a
2
v
3
al
1
al
3
al
2
d
2
+ al
1
al
2
al
3
d
3
al
1
v
3
al
3
a
3
+ al
1
al
2
v
3
a
3
)t
1
+(al
1
al
2
a
3
a
1
+a
1
al
2
al
3
al
1
al
2
a
2
al
1
d
2
v
3
al
1
al
3
a
3
al
1
al
3
al
2
d
2
v
3
+al
1
al
2
v
3
al
3
d
3
al
1
v
3
d
3
al
1
al
3
a
2
)t
2
+(a
1
al
2
a
1
al
3
+al
1
a
2
+al
1
a
3
+al
1
al
2
d
2
v
3
al
1
al
3
al
2
a
2
al
1
al
3
d
2
v
3
al
1
al
2
al
3
a
3
al
1
v
3
al
3
d
3
al
1
al
2
v
3
d
3
)t
3
+ (2al
1
al
2
v
3
+ 2al
1
v
3
al
3
)t
4
+ (2al
1
v
3
2al
1
al
2
v
3
al
3
)t
5
+ (2al
1
al
2
al
3
2al
1
)t
6
+ (2al
1
al
2
2al
1
al
3
)t
7
)x
3
= 0
(A.10)
131
A. One parameter sets of 3-spaces
H
3
(v
3
) :
((a
1
al
2
v
3
a
1
v
3
al
3
+al
1
al
3
d
2
+al
1
al
2
d
2
al
1
a
2
v
3
+al
1
v
3
a
3
al
1
al
2
d
3
+al
1
al
3
d
3
al
1
al
3
al
2
a
2
v
3
+al
1
al
2
v
3
al
3
a
3
)t
0
+(a
1
v
3
+al
1
d
2
+al
1
d
3
a
1
al
2
v
3
al
3
al
1
al
2
a
2
v
3
+al
1
al
3
a
2
v
3
al
1
al
3
al
2
d
2
+ al
1
al
2
al
3
d
3
al
1
v
3
al
3
a
3
+ al
1
al
2
v
3
a
3
)t
1
+ (al
1
al
2
a
3
a
1
+ a
1
al
2
al
3
al
1
al
2
a
2
al
1
d
2
v
3
al
1
al
3
a
3
al
1
al
3
al
2
d
2
v
3
+ al
1
al
2
v
3
al
3
d
3
al
1
v
3
d
3
al
1
al
3
a
2
)t
2
+ (a
1
al
3
+ al
1
v
3
al
3
d
3
al
1
a
3
+ al
1
al
3
d
2
v
3
+ al
1
al
2
al
3
a
3
al
1
a
2
+ al
1
al
2
v
3
d
3
+ al
1
al
3
al
2
a
2
al
1
al
2
d
2
v
3
+ a
1
al
2
)t
3
+ (2al
1
al
2
v
3
2al
1
v
3
al
3
)t
4
+ (2al
1
v
3
2al
1
al
2
v
3
al
3
)t
5
+ (2al
1
al
2
al
3
2al
1
)t
6
+ (2al
1
al
2
+ 2al
1
al
3
)t
7
)x
0
+ ((a
1
v
3
al
1
d
2
al
1
d
3
+ a
1
al
2
v
3
al
3
al
1
al
3
a
2
v
3
+ al
1
al
3
al
2
d
2
+ al
1
al
2
a
2
v
3
al
1
al
2
al
3
d
3
al
1
al
2
v
3
a
3
+ al
1
v
3
al
3
a
3
)t
0
+ (a
1
al
2
v
3
a
1
v
3
al
3
+ al
1
al
3
d
2
+ al
1
al
2
d
2
al
1
a
2
v
3
+ al
1
v
3
a
3
al
1
al
2
d
3
+ al
1
al
3
d
3
al
1
al
3
al
2
a
2
v
3
+ al
1
al
2
v
3
al
3
a
3
)t
1
+ (a
1
al
2
a
1
al
3
+ al
1
a
2
+ al
1
a
3
+ al
1
al
2
d
2
v
3
al
1
al
3
al
2
a
2
al
1
al
3
d
2
v
3
al
1
al
2
al
3
a
3
al
1
v
3
al
3
d
3
al
1
al
2
v
3
d
3
)t
2
+ (al
1
al
2
a
3
a
1
+ a
1
al
2
al
3
al
1
al
2
a
2
al
1
d
2
v
3
al
1
al
3
a
3
al
1
al
3
al
2
d
2
v
3
+ al
1
al
2
v
3
al
3
d
3
al
1
v
3
d
3
al
1
al
3
a
2
)t
3
+ (2al
1
v
3
+ 2al
1
al
2
v
3
al
3
)t
4
+ (2al
1
al
2
v
3
2al
1
v
3
al
3
)t
5
+ (2al
1
al
2
2al
1
al
3
)t
6
+ (2al
1
al
2
al
3
2al
1
)t
7
)x
1
+((a
1
al
2
al
3
+al
1
al
2
a
2
+al
1
d
2
v
3
+al
1
al
3
a
2
+al
1
al
3
a
3
+al
1
al
2
a
3
+al
1
v
3
d
3
+a
1
+al
1
al
3
al
2
d
2
v
3
al
1
al
2
v
3
al
3
d
3
)t
0
+(a
1
al
3
+al
1
v
3
al
3
d
3
al
1
a
3
+al
1
al
3
d
2
v
3
+al
1
al
2
al
3
a
3
al
1
a
2
+al
1
al
2
v
3
d
3
+al
1
al
3
al
2
a
2
al
1
al
2
d
2
v
3
+a
1
al
2
)t
1
+(a
1
al
2
v
3
a
1
v
3
al
3
+al
1
al
3
d
2
+al
1
al
2
d
2
al
1
a
2
v
3
+al
1
v
3
a
3
al
1
al
2
d
3
+ al
1
al
3
d
3
al
1
al
3
al
2
a
2
v
3
+ al
1
al
2
v
3
al
3
a
3
)t
2
+ (a
1
v
3
al
1
d
2
al
1
d
3
+ a
1
al
2
v
3
al
3
al
1
al
3
a
2
v
3
+al
1
al
3
al
2
d
2
+al
1
al
2
a
2
v
3
al
1
al
2
al
3
d
3
al
1
al
2
v
3
a
3
+al
1
v
3
al
3
a
3
)t
3
+(2al
1
al
2
al
3
+ 2al
1
)t
4
+ (2al
1
al
2
+ 2al
1
al
3
)t
5
+ (2al
1
al
2
v
3
2al
1
v
3
al
3
)t
6
+ (2al
1
v
3
+ 2al
1
al
2
v
3
al
3
)t
7
)x
2
+ ((a
1
al
2
a
1
al
3
+ al
1
a
2
+ al
1
a
3
+ al
1
al
2
d
2
v
3
al
1
al
3
al
2
a
2
al
1
al
3
d
2
v
3
al
1
al
2
al
3
a
3
al
1
v
3
al
3
d
3
al
1
al
2
v
3
d
3
)t
0
+(a
1
al
2
al
3
+al
1
al
2
a
2
+al
1
d
2
v
3
+al
1
al
3
a
2
+al
1
al
3
a
3
+al
1
al
2
a
3
+al
1
v
3
d
3
+a
1
+al
1
al
3
al
2
d
2
v
3
al
1
al
2
v
3
al
3
d
3
)t
1
+(a
1
v
3
+al
1
d
2
+al
1
d
3
a
1
al
2
v
3
al
3
al
1
al
2
a
2
v
3
+al
1
al
3
a
2
v
3
al
1
al
3
al
2
d
2
+al
1
al
2
al
3
d
3
al
1
v
3
al
3
a
3
+al
1
al
2
v
3
a
3
)t
2
+(a
1
al
2
v
3
a
1
v
3
al
3
+al
1
al
3
d
2
+al
1
al
2
d
2
al
1
a
2
v
3
+al
1
v
3
a
3
al
1
al
2
d
3
+al
1
al
3
d
3
al
1
al
3
al
2
a
2
v
3
+al
1
al
2
v
3
al
3
a
3
)t
3
+(2al
1
al
2
2al
1
al
3
)t
4
+(2al
1
al
2
al
3
+2al
1
)t
5
+(2al
1
v
3
2al
1
al
2
v
3
al
3
)t
6
+(2al
1
al
2
v
3
2al
1
v
3
al
3
)t
7
)x
3
+ ((2al
1
al
2
v
3
2al
1
v
3
al
3
)t
0
+ (2al
1
v
3
2al
1
al
2
v
3
al
3
)t
1
+ (2al
1
al
2
al
3
2al
1
)t
2
+ (2al
1
al
2
+2al
1
al
3
)t
3
)y
0
+((2al
1
v
3
+2al
1
al
2
v
3
al
3
)t
0
+(2al
1
al
2
v
3
2al
1
v
3
al
3
)t
1
+(2al
1
al
2
2al
1
al
3
)t
2
+(2al
1
al
2
al
3
2al
1
)t
3
)y
1
+((2al
1
al
2
al
3
+2al
1
)t
0
+(2al
1
al
2
+2al
1
al
3
)t
1
+(2al
1
al
2
v
3
2al
1
v
3
al
3
)t
2
+ (2al
1
v
3
+ 2al
1
al
2
v
3
al
3
)t
3
)y
2
+ ((2al
1
al
2
2al
1
al
3
)t
0
+ (2al
1
al
2
al
3
+ 2al
1
)t
1
+ (2al
1
v
3
2al
1
al
2
v
3
al
3
)t
2
+ (2al
1
al
2
v
3
2al
1
v
3
al
3
)t
3
)y
3
= 0
(A.11)
132
A. One parameter sets of 3-spaces
H
4
(v
3
) :
((a
1
al
1
v
3
+al
2
a
2
v
3
al
3
a
2
v
3
+al
3
al
2
d
2
al
2
al
3
d
3
+v
3
al
3
a
3
d
2
d
3
al
2
v
3
a
3
a
1
al
1
al
2
v
3
al
3
)t
0
+(al
3
d
2
a
2
v
3
+al
2
d
2
al
2
d
3
+al
3
d
3
+v
3
a
3
a
1
al
1
al
2
v
3
+a
1
al
1
v
3
al
3
al
3
al
2
a
2
v
3
+al
2
v
3
al
3
a
3
)t
1
+(v
3
al
3
d
3
+al
2
al
3
a
3
+al
2
v
3
d
3
a
2
a
3
a
1
al
1
al
3
a
1
al
1
al
2
+al
3
al
2
a
2
+al
3
d
2
v
3
al
2
d
2
v
3
)t
2
+(a
1
al
1
+al
3
a
2
+a
1
al
1
al
2
al
3
+d
2
v
3
al
2
v
3
al
3
d
3
+al
2
a
3
+al
3
al
2
d
2
v
3
+al
3
a
3
+v
3
d
3
+al
2
a
2
)t
3
+ (2v
3
+ 2al
2
v
3
al
3
)t
4
+ (2al
2
v
3
2v
3
al
3
)t
5
+ (2al
3
+ 2al
2
)t
6
+ (2 2al
2
al
3
)t
7
)x
0
+ ((al
2
d
3
al
3
d
2
al
2
d
2
+ a
2
v
3
v
3
a
3
al
3
d
3
+ a
1
al
1
al
2
v
3
a
1
al
1
v
3
al
3
+ al
3
al
2
a
2
v
3
al
2
v
3
al
3
a
3
)t
0
+(al
2
a
2
v
3
a
1
al
1
v
3
al
3
a
2
v
3
+al
3
al
2
d
2
al
2
al
3
d
3
+v
3
al
3
a
3
d
2
d
3
al
2
v
3
a
3
a
1
al
1
al
2
v
3
al
3
)t
1
+(al
2
a
2
+a
1
al
1
d
2
v
3
al
3
a
2
al
3
a
3
al
2
a
3
v
3
d
3
a
1
al
1
al
2
al
3
al
3
al
2
d
2
v
3
+al
2
v
3
al
3
d
3
)t
2
+(v
3
al
3
d
3
+al
2
al
3
a
3
+al
2
v
3
d
3
a
2
a
3
a
1
al
1
al
3
a
1
al
1
al
2
+al
3
al
2
a
2
+al
3
d
2
v
3
al
2
d
2
v
3
)t
3
+ (2v
3
al
3
2al
2
v
3
)t
4
+ (2v
3
+ 2al
2
v
3
al
3
)t
5
+ (2 + 2al
2
al
3
)t
6
+ (2al
3
+ 2al
2
)t
7
)x
1
+((a
1
al
1
al
3
+a
1
al
1
al
2
al
3
al
2
a
2
al
3
d
2
v
3
+al
2
d
2
v
3
al
2
al
3
a
3
al
2
v
3
d
3
v
3
al
3
d
3
+a
2
+a
3
)t
0
+(a
1
al
1
+al
3
a
2
+a
1
al
1
al
2
al
3
+d
2
v
3
al
2
v
3
al
3
d
3
+al
2
a
3
+al
3
al
2
d
2
v
3
+al
3
a
3
+v
3
d
3
+al
2
a
2
)t
1
+(
a
1
al
1
v
3
+al
2
a
2
v
3
al
3
a
2
v
3
+al
3
al
2
d
2
al
2
al
3
d
3
+v
3
al
3
a
3
d
2
d
3
al
2
v
3
a
3
a
1
al
1
al
2
v
3
al
3
)t
2
+(al
2
d
3
al
3
d
2
al
2
d
2
+a
2
v
3
v
3
a
3
al
3
d
3
+a
1
al
1
al
2
v
3
a
1
al
1
v
3
al
3
+al
3
al
2
a
2
v
3
al
2
v
3
al
3
a
3
)t
3
+ (2al
3
2al
2
)t
4
+ (2 2al
2
al
3
)t
5
+ (2v
3
+ 2al
2
v
3
al
3
)t
6
+ (2v
3
al
3
2al
2
v
3
)t
7
)x
2
+((al
2
a
2
+a
1
al
1
d
2
v
3
al
3
a
2
al
3
a
3
al
2
a
3
v
3
d
3
a
1
al
1
al
2
al
3
al
3
al
2
d
2
v
3
+al
2
v
3
al
3
d
3
)t
0
+(a
1
al
1
al
3
+a
1
al
1
al
2
al
3
al
2
a
2
al
3
d
2
v
3
+al
2
d
2
v
3
al
2
al
3
a
3
al
2
v
3
d
3
v
3
al
3
d
3
+a
2
+a
3
)t
1
+(al
3
d
2
a
2
v
3
+al
2
d
2
al
2
d
3
+al
3
d
3
+v
3
a
3
a
1
al
1
al
2
v
3
+a
1
al
1
v
3
al
3
al
3
al
2
a
2
v
3
+al
2
v
3
al
3
a
3
)t
2
+ (a
1
al
1
v
3
+ al
2
a
2
v
3
al
3
a
2
v
3
+ al
3
al
2
d
2
al
2
al
3
d
3
+ v
3
al
3
a
3
d
2
d
3
al
2
v
3
a
3
a
1
al
1
al
2
v
3
al
3
)t
3
+ (2 + 2al
2
al
3
)t
4
+ (2al
3
2al
2
)t
5
+ (2al
2
v
3
2v
3
al
3
)t
6
+ (2v
3
+ 2al
2
v
3
al
3
)t
7
)x
3
+ ((2v
3
+ 2al
2
v
3
al
3
)t
0
+ (2al
2
v
3
2v
3
al
3
)t
1
+ (2al
3
+ 2al
2
)t
2
+ (2 2al
2
al
3
)t
3
)y
0
+ ((2v
3
al
3
2al
2
v
3
)t
0
+ (2v
3
+ 2al
2
v
3
al
3
)t
1
+ (2 + 2al
2
al
3
)t
2
+ (2al
3
+ 2al
2
)t
3
)y
1
+ ((2al
3
2al
2
)t
0
+ (2 2al
2
al
3
)t
1
+ (2v
3
+ 2al
2
v
3
al
3
)t
2
+ (2v
3
al
3
2al
2
v
3
)t
3
)y
2
+ ((2 + 2al
2
al
3
)t
0
+ (2al
3
2al
2
)t
1
+ (2al
2
v
3
2v
3
al
3
)t
2
+ (2v
3
+ 2al
2
v
3
al
3
)t
3
)y
3
= 0
(A.12)
133
B. Files on CD-Rom
This chapter introduces the structure on the attached CD-Rom. Some of the results would go
beyond the scope of this thesis if they were printed on paper. These results can be seen in
les on this CD-Rom. If the result of something is saved there, a pointer to the CD is given.
Furthermore all the examples are saved as Maple Input les (.mpl) on the CD and can be
computed directly from this source in a command line.
B.1. General structure
The directory tree on the CD is organized as follows:
The root directory contains the whole thesis in .pdf format and two directories. All the Maple
les are saved in the directory maple. The second directory, namely publications, contains all
the papers published by the author in pdf format.
B.1.1. Directory maple
In this directory the examples for the inverse kinematics are saved. These les are denoted in
the same manner as the headings of the examples.
This directory furthermore contains four subdirectories:
hyperplanes: This directory contains the hyperplane equations describing the one parameter
sets of 3-spaces and the xed 3-spaces, which yield the constraint manifold of every
possible 3R-chain. All the les contain plain text.
hp-can-vi: the hyperplane equations describing T
c
(v
i
), i = 1, 2, 3.
hp-vi: the hyperplane equations describing T(v
i
), i = 1, 2, 3.
hp-viq: the hyperplane equations describing T(v
i
), i = 4, 5, 6.
hp-inverse-2r: containes parts of the above described les.
hp-wrist: the hyperplane equations desctibing T
w
.
hp-planar: the hyperplanes describing T
p
movable: This directory contains the example for the overconstrained 6R-mechanism.
procedures: This contains some procedures that are loaded in the Maple worksheets. These
procedures are
proc BBmatrix: Computes the matrix operator of a transformation that is given in
Study parameters, in E
3
.
proc MtoSP: Computes the study parameters of a transformation that is given by a
4 4 matrix.
134
B. Files on CD-Rom
transformations: This directory contains two les with the matrix description of a transfor-
mation in the base or moving frame of a manipulator, in the kinematic image space. The
les are:
CoordTrafo GS: The matrix TrafoGS is the description of a coordinate transformation
of a manipulator in the moving frame, achieved in the kinematic image space. The
matrix TrafoGSI is the inverse.
CoordTrafo RS: The matrix TrafoRS is the description of a coordinate transformation
of a manipulator in the base frame, achieved in the kinematic image space. The
matrix TrafoRSI is the inverse.
B.1.2. Directory publications
The rst two of the authors publications in conference proceedings were also presented later
on in an enhanced version in journals. Therefore only the journal publications of this papers
are saved on the CD.
CSME-Transactions-Burmester.pdf :
Synthesis of planar four-bar mechanisms
Abstract: Designing a four-bar mechanism that guides a coupler system through ve
given poses is an old and well known problem named after L. Burmester. In this paper
we show that with kinematic mapping a much neater, more comprehensive solution is
obtained. It produces a univariate quartic that can be solved explicitly. Furthermore,
solutions that yield ordinary four-bars, slider-cranks or elliptical trammels are identied,
a-priori.
MMT-inverse-kinematics-6r.pdf :
A new and ecient algorithm for the inverse kinematics
of a general serial 6R manipulator
Abstract: In this paper a new and very ecient algorithm to compute the inverse kine-
matics of a general 6R serial kinematic chain is presented. The main idea is to make use
of classical multidimensional geometry to structure the problem and to use the geometric
information before starting the elimination process. For the geometric preprocessing we
utilize the Study model of Euclidean displacements, sometimes called kinematic image,
which identies a displacement with a point on a six dimensional quadric S
2
6
in seven
dimensional projective space P
7
. The 6R-chain is broken up in the middle to form two
open 3R-chains. The kinematic image of a 3R-chain turns out to be a Segre-manifold
consisting of a one parameter set of 3-spaces. The intersection of two Segre-manifolds
and S
2
6
yields 16 points which are the kinematic images representing the 16 solutions
of the inverse kinematics. Algebraically this procedure means that we have to solve a
system of seven linear equations and one resultant to arrive at the univariate 16 degree
polynomial. From this step in the algorithm we get two out of the six joint angles and
the remaining four angles are obtained straight forward by solving the inverse kinematics
of two 2R-chains.
135
B. Files on CD-Rom
iftomm2007-submitted-overconstrained-6R.pdf :
A Method to Determine the Motion of Overconstrained
6R-Mechanisms
Abstract: In this paper the input-output equations of overconstrained 6R-mechanisms
are computed analytically. These equations yield directly the coupler motion of the 6R-
mechanism. The analysis of these overconstrained mechanisms is performed applying the
solution algorithm of the inverse kinematics problem presented in a former paper of the
authors. The presented algorithm can be applied to any overconstrained 6R-mechanism.
A numerical example is provided.
136
C. Curriculum vitae
Pfurner Martin
Birth: 11. July 1978 in Lienz/Tyrol.
Marital Status: Married to Monika.
Children: Sebastian, born 25.02.2003,
Daniel, born 04.06.2005.
Education:
1984-1988 Primary school in Debant,
1988-1992 Lower grade BG/BRG Lienz,
1992-1996 Sixth form BG/BRG Lienz,
26.Juni 1996 School leaving eximination,
1997 Military service at ABC Abwehrzug Tirol
1997-2002 Studies at the Technical University and
Karl-Franzens University Graz: descriptive
geometry and mathematics (high school teacher)
2000-2002 Employed as Tutor at the Institute for Geometry
at the Technical University Graz
September 2002 Graduation Mag.rer.nat
Since October 2002 Scientic sta at the Leopold-Franzens
University Innsbruck.
Schoolyear 04/05 Probationary year at HTL Anichstrae
(as high school teacher at a higher technical school)
137

You might also like