Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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: [email protected] October, 2006 A thesis submitted to the Faculty of Civil Engineering in partial fulfilment of the requirements of the degree of Doctor of technical sciences. c Martin Pfurner, 2006

Transcript of Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Page 1: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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: [email protected]

October, 2006

A thesis submitted to the Faculty of Civil Engineering

in partial fulfilment of the requirements of the degree of

Doctor of technical sciences.

c©Martin Pfurner, 2006

Page 2: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Abstract

The inverse kinematics of general serial 6R-manipulators is an old and well investigated

problem. In a series of scientific papers this problem has been solved using different

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 find 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 effector 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 E3 on the image space coordinates of an arbitrary

transformation A is studied in order to find 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 effector 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

Page 3: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

generated 3R-sub-chains. One of the chains is fixed in the base system and the other

one is fixed in the end effector 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

Page 4: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 zuzufuhren mit der Intention, das einfachste Gleichungssys-

tem zu finden, das dieses Problem mathematisch beschreibt.

Bei der geometrischen Vorbehandlung und der Suche nach dem einfachsten beschreiben-

den Gleichungssystem fur die mathematische Beschreibung der inversen Kinematik von

allgemeinen 6R-Manipulatoren werden in der vorliegenden Arbeit die Mannigfaltigkeiten

studiert, welche die Bewegung des Endeffektors eines 3R-Manipulators in einem sieben

dimensionalen Parameterraum, dem so genannten kinematischen Bildraum, beschreiben.

Wesentliche Idee dieser Beschreibung ist, dass die freie Bewegung eines Endeffektors

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 Hyperebenenbuscheln erzeugt werden kann.

Als methodisch wesentliches Instrument zur einfachen Darstellung der Hyperebenen wird

der Einfluss einer Koordinatentransformation T im E3 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 8×8 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

Page 5: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Manipulators numerisch festzulegen. Die Darstellungen der 3R-Ketten im Parameter-

raum werden dann zur Losung der inversen Kinematik von 6R-Manipulatoren verwendet.

Wird die Endeffektorlage 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 offene 3R-Ketten. Eine dieser Ketten ist in der Basis des

6R-Manipulators fixiert, wahrend die andere durch die Endeffektorlage fixiert wird. Die

Endeffektoren dieser beiden Ketten werden durch zwei Koordinatensysteme ΣL bzw. ΣR

beschrieben. Die offenen 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 fur jeden beliebigen ubergeschlossenen 6R-

Mechanismus allgemein berechnet werden konnen.

iv

Page 6: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Contents

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

Kurzfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

List of abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

Author’s publications and presentations . . . . . . . . . . . . . . . . . . . . . xii

List of figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Grubler, Kutzbach, Tschebyscheff . . . . . . . . . . . 21

4.2. Parameterization of the Euclidean displacements . . . . . . . . . . . . . . 22

4.2.1. Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2.2. Dual quaternions . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2.3. Study‘s kinematic mapping . . . . . . . . . . . . . . . . . . . . . 29

4.3. Transformations in P 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3.1. Coordinate transformation of the base frame . . . . . . . . . . . . 35

v

Page 7: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Contents

4.3.2. Coordinate transformation of the moving frame . . . . . . . . . . 35

4.3.3. Properties of Tb and Tm . . . . . . . . . . . . . . . . . . . . . . . 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 u1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.1.2. Fix u3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.1.3. Fix u2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.2. Constraint manifold of a canonical serial 3R-chain . . . . . . . . . . . . . 51

5.2.1. Variation of u1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.2.2. Variation of u2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.2.3. Variation of u3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. Different 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. Simplification 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

Page 8: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Contents

7.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

7.2.1. Bricard’s 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 (v1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

A.2. T (v2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

A.3. T (v3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

Page 9: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 office. 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 coffee 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 Großel-

tern und meiner Schwester mit ihrer Familie danken. Ihre Unterstutzung, ihr

Verstundnis, 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 fuhle.

• 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

Page 10: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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

Page 11: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

List of abbreviations

EE . . . . . . . . . . . . . . . . . . . . . . The end effector of the manipulator

pose . . . . . . . . . . . . . . . . . . . . position and orientation of a coordinate frame in E3

dof . . . . . . . . . . . . . . . . . . . . . . degree of freedom

E2 . . . . . . . . . . . . . . . . . . . . . . the Euclidean plane

E3 . . . . . . . . . . . . . . . . . . . . . . the Euclidean 3-space

SE(2) . . . . . . . . . . . . . . . . . . . group of planar Euclidean displacements

SE(3) . . . . . . . . . . . . . . . . . . . group of Euclidean displacements in E3

SO(3) . . . . . . . . . . . . . . . . . . . group of rotations in E3

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

Hd . . . . . . . . . . . . . . . . . . . . . . set of dual quaternions

Ud . . . . . . . . . . . . . . . . . . . . . . set of normalized dual quaternions

V . . . . . . . . . . . . . . . . . . . . . . . set of dual quaternions of the form R = 1 + εr

x

Page 12: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

P . . . . . . . . . . . . . . . . . . . . . . . quaternion

‖P‖ . . . . . . . . . . . . . . . . . . . . . norm of the quaternion P

I . . . . . . . . . . . . . . . . . . . . . . . complex unity

SMic . . . . . . . . . . . . . . . . . . . . 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

SMi . . . . . . . . . . . . . . . . . . . . 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 first axis coincides

with the z-axis of the

base frame and the DH parameter d1 = 0

S26 . . . . . . . . . . . . . . . . . . . . . . the Study quadric

exceptional generator . . . 3-space ⊂ P 7, given by x0 = x1 = x2 = x3 = 0

P . . . . . . . . . . . . . . . . . . . . . . . polynomials (calligraphic letters)

xi

Page 13: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Author’s publications and presentations

Conference proceedings: M. Husty, M. Pfurner, H.-P. Schrocker

A new and efficient 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

Page 14: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

M. Husty, M. Pfurner, H.-P. Schrocker

A new and efficient algorithm for the inverse

kinematics of a general serial 6R manipulator

M echanism and Machine Theory,

accepted for publication, available online, 2006

Public talks: Ein neuer und effizienter Algorithmus zur inversen

Kinematik von allgemeinen 6R Robotern

31. Bayerisch-Tirolerisches Mechanik Kolloquium

Innsbruck, July 2006

Thesis: M. Pfurner

Falllinien auf Drehflachen mit geneigter Achse

Master thesis, TU Graz, September 2002

Page 15: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 SM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

Page 16: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 Bricard’s orthogonal chain . . . . . . . . . . . . . . . . 107

xv

Page 17: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

1. Introduction

Mechanical systems that allow a rigid body (the end effector) to move with respect

to a fixed base play a very important role in numerous applications. The position and

orientation of the end effector can be described with the help of the relative position and

orientation of a coordinate frame, attached to the end effector, 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 fixed with

one link, the base, in E3. 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 effector. Such manipulators find 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

Page 18: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 first joint is fixed in E3 in the so called base frame.

The last link carries the tool that the manipulator is working with, and is called the end

effector (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 E3. A schematic sketch of a serial

manipulator with six revolute joints is shown in Fig. 1.3.

2

Page 19: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

1. Introduction

Figure 1.3.: Kinematic scheme of a general 6R-mechanism

One of the most famous serial manipulators is the PUMA (Programmable Universal

M achine 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 fields that are dangerous or at least unhealthy for people, to carry

things that are too heavy or to do automated work.

3

Page 20: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 effect of a coordinate trans-

formation in the Euclidean space on the Study parameters of a mechanism. In Chapter

4

Page 21: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 first axis is coincident with the z-axes of

the base frame and the first offset (see Section 4.4) is zero. The constraint manifolds are

used in Chapter 6 to establish a new and efficient 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 file 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

Page 22: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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

Page 23: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 fixed 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 first 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 first 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 first 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

Page 24: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

2. Previous work and motivation

1980: Duffy 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 Duffy [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 E3 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 Horner’s for polynomial evalua-

tion, to reduce the number of equations. He therefore obtained more efficiency in

the numerical solution.

Goldenberg et al. [30] presented an iterative solution based on a nonlinear optimiza-

tion algorithm which uses a modified 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 Duffy and Crane [23].

8

Page 25: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 first correct and complete

solution of the inverse kinematics problem by Lee and Liang [45]. Extensions of

Duffy’s 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] simplified 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 first 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

Page 26: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 different possibilities to decompose the 6R-mechanism

10

Page 27: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 find 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 first 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 E2

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 Artificial

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

Page 28: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 effective 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 first to 10−1 rad for the sixth revolute

angle.

2006: Based on Duffy and Crane’s [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 configuration.

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 simplified and then numerically

12

Page 29: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

2. Previous work and motivation

solved. To the author’s surprise the geometric structure of the problem was never really

revealed. This was the motivation to reassume this well developed field 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

Page 30: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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

Page 31: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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

sin2(φ) + cos2(φ) = 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 + tan2

(φ2

) , cos(φ) =1− tan2

(φ2

)1 + tan2

(φ2

) , φ 6= (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 + p2, cos(φ) =

1− p2

1 + p2.

These formulas define 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

difficult to handle ∞ with a computer algebra system. If one has to substitute p = ∞into a polynomial

∑ki=0 aip

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

limp →∞

k∑i =0

aipi.

A division of all these coordinate functions by the highest power of p does not change

the point and yields in every coordinate

limp →∞

k∑i =0

ai

pk−i= ak.

15

Page 32: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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

coefficients 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 = 1p

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− ptan(α)

1tan(α)

+ 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 field of methods

to find 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 sufficient. Therefore this approach will be recalled briefly. A detailed introduction

is given by Cox et al. [17].

3.2.1. Resultants

Resultants are an efficient 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) = a0xl + . . . al−1x + al, a0 6= 0, l > 0

g(x) = b0xm + . . . bm−1x + bm, b0 6= 0, m > 0,

16

Page 33: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

3. Mathematical framework

then the resultant of f and g is the (l + m)× (l + m) determinant

(3.5)Res(f, g) =

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

a0 b0

a1 a0 b1 b0

a2 a1. . . b2 b1

. . .... a2

. . . a0... b2

. . . b0

al...

. . . a1 bm...

. . . b1

al a2 bm b2

. . ....

. . ....

al bm

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

,

where the blank spaces have to be filled 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) = x3 + 6x2 − 13x− 42

g(x) = x2 + 3x + 2.

The coefficients 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) = x2y − x2 − 2xy + x + y − 1,

g(x, y) = 3xy − x + 5.

17

Page 34: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

3. Mathematical framework

Deriving the resultant to eliminate the unknown x means reordering these polynomials

by powers of x and treating the factors of xk as coefficients:

f(x, y) = (y − 1)x2 + (−2y + 1)x + (y − 1),

g(x, y) = (3y − 1)x + 5.

Substituting the coefficients of the different powers of x into the determinant in Eq. 3.5

yields

Resx(f, g) =

∣∣∣∣∣∣∣y − 1 3y − 1 0

−2y + 1 5 3y − 1

y − 1 0 5

∣∣∣∣∣∣∣ = 9y3 + 15y2 + 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 find 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) = x2 − 2xy + y2 − z2,

g(x, y, z) = x− 3y2 + yz − 1,

h(x, y, z) = xz − yz + 3z2.

Deriving the resultant of f and g and of g and h to eliminate the unknown z yields

Resz(f, g) = (2y2 + xy + 1− x)(−4y2 + xy − 1 + x),

Resz(g, h) = −(x− 3y2 − 1)(xy + 8y2 − 3x + 3).

Computing the resultant of these two polynomials to eliminate y yields the univariate

polynomial

(3.6)64(−1 + x)4(3x2 − x + 1)4 = 0.

The solutions of this polynomial are x = 1 and x = 1±√

11I6

, all three with multiplicity

four. Back substitution of x = 1 into Resz(f, g) and Resz(g, h) and computing the

18

Page 35: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

3. Mathematical framework

solutions for y yields y ∈ {−12, 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,−13}. As one can see no common root exists for all three polynomials with

x = 1.

Starting the same procedure with x = 1+√

11I6

and solving Resz(f, g) and Resz(g, h)

for y yields y ∈ {1+√

11I6

,−1+√

11I4

,−1+√

11I8

} and y ∈ {1+√

116

,−3+3√

11I16

,−1+√

11I6

}. The

common solution is 1+√

116

. Substitution of x = 1+√

11I6

and y = 1+√

116

into f , g and h

yields the common solution z = 0.

Starting with x = 1−√

11I6

yields, performing the same procedure once more, the roots

x = 1−√

11I6

, y = 1−√

116

, z = 0. This shows that in the univariate polynomial in Eq. 3.6

only the factor (3x2 − 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 first y and then z, as performed above, and afterward one eliminates in the

first step z and in the second step y:

Resy(f, g) = (3x2 − x + 1− 7xz + 4z2)(3x2 − x + 1 + 5xz + 2z2),

Resy(g, h) = −z2(1− x + 17xz + 3x2 + 24z2).

And the resultant of these two polynomials to eliminate z yields

(3.7)64(3x2 − x + 1)6(429x2 − 25x + 25)(105x2 − 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

Page 36: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 definitions 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 first 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 defined 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 defined 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 fixed to the ground in E3. 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 effector of the mechanism. If there exist at least two distinct paths the

mechanism is called a parallel mechanism.

20

Page 37: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 Grubler, Kutzbach, Tschebyscheff

One of the first 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 configuration of the mechanism completely. Except

for some special cases a general formula to derive the dof of a mechanism was given by

Grubler, Kutzbach and Tschebyscheff (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

fi

withF . . . 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 fixed base)

g . . . number of joints

fi . . . 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 dof’s 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

Page 38: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

4.2. Parameterization of the Euclidean displacements

Let E3 be the three dimensional Euclidean space. Coordinate frames will be denoted by

Σ. The mapping

T : E3 7→ E3

Σ 7→ Σ′

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 asx′ = Tx

where x and x′ represent points with homogeneous coordinates in Σ and Σ′ respectively,

and

T =

1 0 0 0

d1 a11 a12 a13

d2 a21 a22 a23

d3 a31 a32 a33

.

d = (d1, d2, d3)T is the vector from the origin of Σ to the origin of Σ′ and A = (aij), 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 different parameterizations of the group SO(3). Examples include Ro-

d

Σ

Σ′

O

O′

x

y

z

x′

y′z′

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

1Throughout the whole thesis the European notation is used and the first coordinate is the homoge-nizing coordinate.

22

Page 39: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 finds application in spatial, spherical and planar kinematics. There exists a

wide range of classical literature on this topic: Study [87] for the spatial, Muller [66] for

the spherical and Grunwald [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 = (p0, p1, p2, p3) and Q = (q0, q1, q2, q3) ∈ H.

p0 is called the scalar part and p = (p1, p2, p3) the vectorial part of the quaternion P .

The sum and the difference of two quaternions are defined component wise.

The multiplication of two quaternions is defined by

(4.2)P ∗Q = (p0q0 − p1q1 − p2q2 − p3q3, p0q1 + p1q0 + p2q3 − p3q2,

p0q2 − p1q3 + p2q0 + p3q1, p0q3 + p1q2 − p2q1 + p3q0).

23

Page 40: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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.

R3 is embedded in H via (x, y, z) ∈ R3 → (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 = p01 + p1i + p2j + p3k.

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 ki i −1 k −jj j −k −1 ik k j −i −1

Table 4.1.: Quaternion multiplication

In the following quaternions are written in different notations. These notations are

P = p01 + p1i + p2j + p3k = p0 + p,

where p = (p1, p2, p3) is a vector in R3.

Analogous to the conjugate of a complex number the conjugate quaternion is defined as

P = p01− p1i− p2j− p3k

and the norm is

‖P‖ =√

P ∗ P =√

p20 + p2

1 + p22 + p2

3.

With this norm H becomes a four dimensional Euclidean vector space over R.

24

Page 41: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 defined 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 = p1i + p2j + p3k and Q = q1i + q2j + q3k, reads

(4.3)P ∗Q = (p1i + p2j + p3k) ∗ (q1i + q2j + q3k)

= −(p1q1 + p2q2 + p3q3)1 + (p2q3 − p3q2)i− (p1q3 + p3q1)j + (p1q2 − p2q1)k= −pq + p× q.

This is no vectorial quaternion at all.

Let P, Q be two general quaternions. Then

P ∗Q = (p0 + p) ∗ (q0 + q)= p0 ∗ q0 + q0 ∗ p + p0 ∗ q + p ∗ q= p0q0 + q0p + p0q− pq + p× q.

Here one can see, that, if P and Q are vectorial quaternions and p⊥q, 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 p⊥q, a rotation of q about p with a change of the length.

If furthermore P is a normalized vectorial quaternion and p⊥q then P ∗ Q describes a

rotation of q around p.

Every normalized quaternion can be written as

P = cos(θ) + p1 sin(θ) + p2 sin(θ) + p3 sin(θ),

where p = (p1, p2, p3) 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

Page 42: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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] defined a rotation in E3 for a

vector q about an arbitrary axis (direction p) by

(4.4)AdP (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 R3

of all three dimensional vectors, and the normalized quaternion P describes a rotation

with the angle θ about the axis p.

The mapping AdP1P2(q) = P1∗P2∗q∗P1 ∗ P2 = P1∗P2∗q∗P2∗P1 = AdP1(AdP2(q)) is

a homomorphism from U to SO(3). Every element of the group SO(3) is a rotation and

therefore AdP (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 differ 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 = x0 +x1i+x2j+x3k one obtains:

X ∗ i ∗ X = (x01 + x1i + x2j + x3k)i(x01− x1i− x2j− x3k)

= (x0i− x11− x2k + x3j)(x01− x1i− x2j− x3k)

= (x20 + x2

1 − x22 − x2

3)i + 2(x1x2 + x0x3)j + 2(x1x3 − x0x2)k,

X ∗ j ∗ X = 2(x1x2 − x0x3)i + (x20 − x2

1 + x22 − x2

3)j + 2(x2x3 + x0x1)k,

X ∗ k ∗ X = 2(x1x3 + x0x2)i + 2(x2x3 − x0x1)j + (x20 − x2

1 − x22 + x2

3)k.

The coefficients of the unit quaternions can be assembled in the matrix:

(4.5)AdX =

x20 + x2

1 − x22 − x2

3 2(x1x2 − x0x3) 2(x1x3 + x0x2)

2(x1x2 + x0x3) x20 − x2

1 + x22 − x2

3 2(x2x3 − x0x1)

2(x1x3 − x0x2) 2(x2x3 + x0x1) x20 − x2

1 − x22 + x2

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

Page 43: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

4.2.2. Dual quaternions

The algebra of dual quaternions or biquaternions Hd 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 = a0 + εa1 with ε2 = 0. This ring is not free of zero

divisors. Biquaternions are generated by substitution of dual coefficients a ∈ D in a

quaternion.

As every coefficient 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 defined 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= (x0 + εy0)1 + (x1 + εy1)i + (x2 + εy2)j + (x3 + εy3)k= a + p

where X = (x0, x1, x2, x3), Y = (y0, y1, y2, y3) ∈ H, a = (x0 + εy0) ∈ D and p = p1 + εp2

with p1 = (x1, x2, x3), p2 = (y0, y1, y2).

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 = x0 + εy0 − p1 − εp2

and the dual conjugated biquaternion

Pε = x0 − εy0 + p1 − εp2.

The norm ‖P‖ of a dual quaternion is defined as

‖P‖ =√

PP

27

Page 44: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

Expanding the product under the square root yields the dual number

P ∗ P = a2 − pp

= x20 + 2εx0y0 + p1p1 + 2εp1p2

= x20 + p1p1 + 2ε(x0y0 + p1p2).

The product of a dual quaternion with its conjugated is, taken coordinate wise

P ∗ P = x20 + x2

1 + x22 + x2

3 + ε(x0y0 + x1y1 + x2y2 + x3y3).

‖ · ‖ is defined analogous to the norm of quaternions but it is no norm on the vector

space Hd. However the relations P1P2 = P2P1 and ‖P1P2‖ = ‖P1‖‖P2‖ hold.

A dual quaternion is called normalized if ‖P‖ = 1. The set of normalized dual quater-

nions Ud is a manifold in Hd described by the equations

x20 + x2

1 + x22 + x2

3 = 1

x0y0 + x1y1 + x2y2 + x3y3 = 0.

(Ud, ∗) 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

R3. The mapping Ade P from V to Hd is given by:

Ade P (r) = PerP .

Direct computation yields

(4.6)Ade P (r) = (X − εY )(1 + εr)(X + εY )

= 1 + ε(XrX + XY − Y X)

= 1 + εr′.

The fact, that XY −Y X+˜

XY − Y X = XY −Y X+Y X−XY = 0 and X, Y ∈ U yields

that Ade P is a linear transformation of R3. Moreover, the result in Subsection 4.2.1,

that XrX is an orthogonal transformation, allows the conclusion that Ade P represents

a congruence of the Euclidean space with the ortho-normal base εi, εj, εk. The vector

XY −Y X represents the translational part and XrX is the rotational part of the spatial

displacement. This mapping is a homomorphism of Ud into the group of displacements

of E3 (SE(3)) and therefore a 2 to 1 parametrization of the group of congruences of the

Euclidean space.

28

Page 45: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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)XY − Y X = 2(−x0y1 + x1y0 − x2y3 + x3y2)i + 2(−x0y2 + x1y3 + x2y0 − x3y1)j+ 2(−x0y3 − x1y2 + x2y1 + x3y0)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 x20 + x2

1 − x22 − x2

3 2(x1x2 − x0x3) 2(x1x3 + x0x2)

m 2(x1x2 + x0x3) x20 − x2

1 + x22 − x2

3 2(x2x3 − x0x1)

n 2(x1x3 − x0x2) 2(x2x3 + x0x1) x20 − x2

1 − x22 + x2

3

with

l = 2(−x0y1 + x1y0 − x2y3 + x3y2),

m = 2(−x0y2 + x1y3 + x2y0 − x3y1),

n = 2(−x0y3 − x1y2 + x2y1 + x3y0).

Using weaker assumptions and ommiting the normalizing condition x20 +x2

1 +x22 +x2

3 = 1

by just assuming that x20 + x2

1 + x22 + x2

3 6= 0 one can leave the normalization of the dual

quaternions open and gets the matrix representation of SE(3)

A=1

x2

0 + x21 + x2

2 + x23 0 0 0

l x20 + x2

1 − x22 − x2

3 2(x1x2 − x0x3) 2(x1x3 + x0x2)

m 2(x1x2 + x0x3) x20 − x2

1 + x22 − x2

3 2(x2x3 − x0x1)

n 2(x1x3 − x0x2) 2(x2x3 + x0x1) x20 − x2

1 − x22 + x2

3

(4.8)

where ∆ = x20 + x2

1 + x22 + x2

3.

4.2.3. Study‘s kinematic mapping

The algebra of the dual quaternions Hd gives us a 2 to 1 correspondence between 8-tuples

of real numbers (x0, . . . , x3, y0, . . . , y3) having the property

(4.9)x0y0 + x1y1 + x2y2 + x3y3 = 0

29

Page 46: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 Hd 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 x0 = x1 = x2 = x3 = 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 E3 because all Euler parameters of the rotational part would be zero.

The remaining quadric, with one generator space removed, is called Study quadric S26 .

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 E3. 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

Page 47: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

As one can see in the algebraic equation of S26 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 E3.

The mapping

κ : α → P ∈ P7

A(xi, y1) → (x0 : x1 : x2 : x3 : y0 : y1 : y2 : y3) 6= (0 : 0 : 0 : 0 : 0 : 0 : 0 : 0)

of all elements α of SE(3) onto the points of S26 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 first

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 −b3 b2

b3 0 −b1

−b2 b1 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 = (A− I)(A + I)−1.

From the entries bi of S one can directly compute the direction of the rotation axis

v = (b1 : b2 : b3) and the rotation angle tan φ2

=√

b21 + b2

2 + b23. The parameters bi, i =

1, . . . , 3 are called Rodrigues parameters (see Rodrigues [79], Bottema and Roth [11]).

Performing the substitutions bi = xi

x0for i = 1, . . . , 3 (homogenization of the parameters)

yields the Euler parameters xi.

In case A describes a rotation of angle π it has to be handled in a different way, which

can be seen in Angeles [3].

31

Page 48: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

Study‘s version: Study [87] developed another algorithm to compute the Euler param-

eters directly from the 3× 3 rotation matrix A = (aij)i,j=1,...,3 via the ratios

(4.10)

x0: x1: x2: x3 = 1 + a11 + a22 + a33 : a32 − a23 : a13 − a31 : a21 − a12

= a32 − a23 : 1 + a11 − a22 − a33 : a12 + a21 : a31 + a13

= a13 − a31 : a12 + a21 : 1− a11 + a22 − a33 : a23 + a32

= a21 − a12 : a31 + a13 : a23 + a32 : 1− a11 − a22 + a33.

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 configuration 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 =

a11 a12 a13

a21 a22 a23

a31 a32 a33

and the same matrix written in Euler parameters

(4.12)A =1

c20 + c2

1 − c22 − c2

3 2(c1c2 − c0c3) 2(c1c3 + c0c2)

2(c1c2 + c0c3) c20 − c2

1 + c22 − c2

3 2(c2c3 − c0c1)

2(c1c3 − c0c2) 2(c2c3 + c0c1) c20 − c2

1 − c22 + c2

3

where

∆ = c20 + c2

1 + c22 + c2

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 = (x1, x2, x3)T of the rotation (Rodrigues

parameters) given by the matrix A can be computed via

x1 : x2 : x3 = (a32 − a23) : (a13 − a31) : (a21 − a12).

Replacing the corresponding entries of the matrix A by those of Eq. 4.12 one obtains:

(4.13)

λx1 = a32 − a23 = 2(c2c3 + c0c1)− 2(c2c3 − c0c1) = 4c0c1

λx2 = a13 − a31 = 2(c1c3 + c0c2)− 2(c1c3 − c0c2) = 4c0c2

λx3 = a21 − a12 = 2(c1c2 + c0c3)− 2(c1c2 − c0c3) = 4c0c3.

32

Page 49: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

To get a (non-normalized) set of Euler parameters out of the xi, i = 1, 2, 3 one has to

add a homogenizing coordinate x0 such, that

x0 : x1 : x2 : x3 = λ(c0 : c1 : c2 : c3).

From Eq. 4.13 it is easy to see that λ = 1λ

has to be equal to 4c0. This means that

x0 = λc0 = 4c20.

It is known that, because the Euler parameters ci are normalized, c0 is the cosine of half

of the rotation angle φ and cos(φ) = 12(trace(A)− 1) = 1

2(a11 + a22 + a33− 1) (see Husty

et al. [33]). Using the goniometric formula for the half angle of the cosine one obtains

c0 = cos

2

)= ±

√1 + cos(φ)

2= ±

√1 + 1

2(trace(A)− 1)

2= ±1

2

√trace(A) + 1.

Substituting this result into x0 = 4c20 leads to

x0 = 4c20 = 4

(±1

2

√trace(A) + 1

)2= trace(A) + 1.

This yields to the first ratio of (x0 : x1 : x2 : x3) 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 differences of matrix entries

of Eq. 4.11:

a32 − a23 = 2(c2c3 + c0c1)− 2(c2c3 − c0c1) = 4c0c1

a11 − a22 − a33 + 1 = (c20 + c2

1 − c22 − c2

3)− (c20 − c2

1 + c22 − c2

3)− (c20 − c2

1 − c22 + c2

3) + 1

= −c20 + 3c2

1 − c22 − c2

2 + 1 = −(c20 + c2

1 + c22 + c2

3) + 4c21 + 1 = 4c2

1

a12 + a21 = 2(c1c2 − c0c3) + 2(c1c2 + c0c3) = 4c1c2

a31 + a13 = 2(c1c3 − c0c2) + 2(c1c3 + c0c2) = 4c1c3.

This yields the second ratio of Eq. 4.10 to get a non-normalized set of Euler parameters

x0 : x1 : x2 : x3 = 4c1(c0 : c1 : c2 : c3) = a32− a23 : a11− a22− a33 + 1 : a12 + a21 : a31 + a13.

The derivation of the other two formulas is similar.

33

Page 50: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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)

y0 = 12(t1x1 + t2x2 + t3x3),

y1 = 12(−x0t1 + x2t3 − x3t2),

y2 = 12(−x0t2 − x1t3 + x3t1),

y3 = 12(−x0t3 + x1t2 − x2t1)

where t = (t1, t2, t3)T is the translation vector of the congruence.

4.3. Transformations in P 7

This section deals with the question, what is the effect of a coordinate transformation

in the Euclidean space on the Study parameters of another transformation.

In robotics there exist two important coordinate transformations. The first one in the

base frame that moves the whole manipulator to another place. This results in a change

of the fixed 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

a20 + a2

1 + a22 + a2

3 0 0 02(a4a1 − a5a0 − a7a2 + a6a3) a2

0 + a21 − a2

2 − a23 2(a1a2 − a0a3) 2(a1a3 + a0a2)

2(a4a2 − a6a0 − a5a3 + a7a1) 2(a1a2 + a0a3) a20 − a2

1 + a22 − a2

3 2(a2a3 − a0a1)2(a4a3 − a7a0 − a6a1 + a5a2) 2(a1a3 − a0a2) 2(a2a3 + a0a1) a2

0 − a21 − a2

2 + a23

,

where ∆1 = a20 + a2

1 + a22 + a2

3 and a coordinate transformation is given by

T =1

∆2

t20 + t21 + t22 + t23 0 0 0

2(t4t1 − t5t0 − t7t2 + t6t3) t20 + t21 − t22 − t23 2(t1t2 − t0t3) 2(t1t3 + t0t2)2(t4t2 − t6t0 − t5t3 + t7t1) 2(t1t2 + t0t3) t20 − t21 + t22 − t23 2(t2t3 − t0t1)2(t4t3 − t7t0 − t6t1 + t5t2) 2(t1t3 − t0t2) 2(t2t3 + t0t1) t20 − t21 − t22 + t23

,

where ∆2 = t20 + t21 + t22 + t23. Both matrices can be either variable or fixed. Note, that

the Study parameters of these two transformations are (see Eq. 4.8)

a = (a0, a1, a2, a3, a4, a5, a6, a7)T ,

t = (t0, t1, t2, t3, t4, t5, t6, t7)T .

34

Page 51: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 = ∆

a0t0 − a1t1 − a2t2 − a3t3

a0t1 + a1t0 + t2a3 − t3a2

a0t2 + a2t0 + a1t3 − a3t1

a0t3 + a3t0 + a2t1 − a1t2

a0t4 − a1t5 − a2t6 − a3t7 + a4t0 − a5t1 − a6t2 − a7t3

a0t5 + a1t4 − a2t7 + a3t6 + a4t1 + a5t0 − a6t3 + a7t2

a0t6 + a1t7 + a2t4 − a3t5 + a4t2 + a5t3 + a6t0 − a7t1

a0t7 − a1t6 + a2t5 + a3t4 + a4t3 − a5t2 + a6t1 + a7t0

where

∆ =a0t0 − a1t1 − a2t2 − a3t3

(a20 + a2

1 + a22 + a2

3)(t20 + t21 + t22 + t23)

.

Because of the fact that these parameters are homogeneous, ∆ can be omitted. It is

possible to write Eq. 4.15 as a matrix Tb (the index b indicates the transformation in

the base frame) multiplied by the vector a:

t ~ a = Tba

where

(4.16)Tb =

t0 −t1 −t2 −t3 0 0 0 0

t1 t0 −t3 t2 0 0 0 0

t2 t3 t0 −t1 0 0 0 0

t3 −t2 t1 t0 0 0 0 0

t4 −t5 −t6 −t7 t0 −t1 −t2 −t3

t5 t4 −t7 t6 t1 t0 −t3 t2

t6 t7 t4 −t5 t2 t3 t0 −t1

t7 −t6 t5 t4 t3 −t2 t1 t0

.

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 = Tma

35

Page 52: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

where

(4.17)Tm =

t0 −t1 −t2 −t3 0 0 0 0

t1 t0 t3 −t2 0 0 0 0

t2 −t3 t0 t1 0 0 0 0

t3 t2 −t1 t0 0 0 0 0

t4 −t5 −t6 −t7 t0 −t1 −t2 −t3

t5 t4 t7 −t6 t1 t0 t3 −t2

t6 −t7 t4 t5 t2 −t3 t0 t1

t7 t6 −t5 t4 t3 t2 −t1 t0

.

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 Tb and Tm are well known in geometry. They

describe the Clifford-translations in an elliptic space (see Giering [28]).

4.3.3. Properties of Tb and Tm

Lemma 4.1. The matrix product of Tb and Tm is commutative.

Proof. The matrices have the shape

Tb =

(A 0

B A

)Tm =

(C 0

D C

)

Then the products are:

Tb ·Tm =

(AC 0

BC + AD AC

)Tm ·Tb =

(CA 0

DA + CB CA

)

The commutativity of the Clifford translations yields the commutativity of the product

of Tb and Tm. Direct computations shows the same result.

36

Page 53: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

In other words, Lemma 4.1 expresses that it does not matter which coordinate trans-

formation is performed first 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−1b and T−1

m can be obtained by substituting the

conjugate quaternion T = (t0,−t1,−t2,−t3, t4,−t5,−t6,−t7) instead of T = (t0, t1, t2, t3,

t4, t5, t6, t7) into Tb and Tm, respectively.

Proof. Direct computation of Tb ·Tb(t0,−t1,−t2,−t3, t4,−t5,−t6,−t7) 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 Tb and Tm describe a transformation in the kinematic image

space that maps points of S26 onto points of the same quadric. Furthermore the excep-

tional generator of this quadric, given by x0 = x1 = x2 = x3 = 0, is mapped onto itself

and points of the quadric with the equation y20 + y2

1 + y22 + y2

3 = 0 in this exceptional

3-space are mapped onto points on the same quadric.

Proof. Because of the construction of these matrices Tb · a and Tm · a have to fulfill the

equation of S26 . The second part of the lemma is also easy to see.

Points in the exceptional generator have coordinates (0 : 0 : 0 : 0 : y0 : y1 : y2 : y3).

Because of the upper right 4 × 4 zero matrix of Tb and Tm, the transformed point

has to lie within this generator and has coordinates (0 : 0 : 0 : 0 : y0 : y1 : y2 :

y3). Substitution of these coordinates into the equation y20 + y2

1 + y22 + y2

3 = 0 yields

(y21 + y2

2 + y23 + y2

4)(t20 + t21 + t22 + t23) = 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 Tb and Tm 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

uT · 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

Page 54: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

This point transformation transforms the hyperplane with the equation

uT · x = 0

into the hyperplane

uT · x = 0

where u = (TT )−1 ·u. That means that this (TT )−1 is the corresponding transformation

for the hyperplane coordinates u. Furthermore T transforms a quadric described by the

equation

xT ·A · x = 0

into the quadric

xT · A · x = 0,

where A = (TT )−1 ·A ·T−1.

Proof. If uT · x = 0 and X → X = T · x, then one has to look for an u such, that

uT · x = uT ·T · x = 0. This implies that uT = uT ·T or u = (TT )−1u.

If xT · A · x = 0 and X → X = T · x, then one has to look for an A such, that

xT · A · x = (T · x)T · A ·T · x = xT ·TT · A ·T · x. This implies that A = TT · A ·T or

A = (T T )−1 · A ·T−1

Within the next chapters the transformations Tb (Eq. 4.16) and Tm (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 Tb(A) and Tm(A), respectively.

That means that the Study parameters of A are substituted in the matrix Tb resp. Tm

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 first one Σ0 such that the z-axis is

38

Page 55: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

aligned with the first 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.

Σ0

Σ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 first reference frame to the foot of the common normal on the first 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 find a home configuration where

all axes are parallel to a plane π.

Remark 4.3. In this home configuration all axes of the serial chain meet one line, the

line at infinity of π and belong therefore to a special linear complex. This means that for

39

Page 56: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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

configuration 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′′

z′′

y′′′z′′′

x′

y′

x

y

z

Figure 4.4.: Home position of a 6R-mechanism

This exceptional configuration can be achieved by the following algorithm:

Choose a plane normal to the common perpendicular of the first two axes and fix the

first axis. Rotate the remaining part of the manipulator about the second axis until the

third axis is parallel to the chosen plane. Now fix the second axis and therefore, with

fixed first and second axis, the position of the first three axes is fixed 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

Page 57: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

different views. In this figure all axes are chosen to be parallel to the yz-plane of the

base frame. Note that the distances between adjacent axes ai show up in true length in

the top view and front view and the offsets di 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 ui. In order

to define the relationship between the location of links, one has to assign a coordinate

frame Σi attached to link i such that the zi-axis coincides with the axis of joint i and

the xi axis is aligned with the common normal of joint i − 1 and i. The yi-axis lies

such that the three axes form a right handed coordinate frame (see Fig. 4.5). Then the

Σ0 =base frame

Σ1

Σ2

Σn−1

Σ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 Σi−1. 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 ·M1 ·G1 ·M2 ·G2 · . . . ·Mn−1 ·Gn−1 ·Mn ·Gn,

41

Page 58: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

where B is the coordinate transformation Σ0 → Σ1,

Gi =

1 0 0 0

ai 1 0 0

0 0 cos(αi) − sin(αi)

di 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, ai is the length of the common normal of the same axes and di 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 offset. The matrices

Mi =

1 0 0 0

0 cos(ui) − sin(ui) 0

0 sin(ui) cos(ui) 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 specific 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 diffi-

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 B1, . . . , B6, six points in the moving frame

42

Page 59: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

4. Geometry

M1, . . . ,M6 and six links with fixed length l1, . . . , l6. The problem is now to assemble

the manipulator such that link li connects the points Bi and Mi, 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

B1, . . . , B6 and six points in the moving frame M1, . . . ,M6 and all are fixed in E3. One

has to derive the distance between the points Bi and Mi. 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

Page 60: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 vi, which are the tangents of half the rotation angles ui, 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 vi, 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 fixed 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 ·M1 ·G1 ·M2 ·G2 · . . . ·Mn−1 ·Gn−1 ·Mn ·Gn · I.

44

Page 61: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

All these transformations can be performed directly in the kinematic image space, where

Tb(B) =

b0 −b1 −b2 −b3 0 0 0 0

b1 b0 −b3 b2 0 0 0 0

b2 b3 b0 −b1 0 0 0 0

b3 −b2 b1 b0 0 0 0 0

b4 −b5 −b6 −b7 b0 −b1 −b2 −b3

b5 b4 −b7 b6 b1 b0 −b3 b2

b6 b7 b4 −b5 b2 b3 b0 −b1

b7 −b6 b5 b4 b3 −b2 b1 b0

with the Study parameters (b0, b1, . . . , b6, b7) of B,

(5.1)Tb(Mi) =

1 0 0 −vi 0 0 0 0

0 1 −vi 0 0 0 0 0

0 vi 1 0 0 0 0 0

vi 0 0 1 0 0 0 0

0 0 0 0 1 0 0 −vi

0 0 0 0 0 1 −vi 0

0 0 0 0 0 vi 1 0

0 0 0 0 vi 0 0 1

,

Tb(Gi) =

2 −2ali 0 0 0 0 0 0

2ali 2 0 0 0 0 0 0

0 0 2 −2ali 0 0 0 0

0 0 2ali 2 0 0 0 0

aiali ai diali di 2 −2ali 0 0

−ai aiali di −diali 2ali 2 0 0

−diali −di aiali ai 0 0 2 −2ali

−di diali −ai aiali 0 0 2ali 2

,

where vi = tan ui

2and ali = tan αi

2for 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 = Tb(B) ·Tb(M1) ·Tb(G1) ·Tb(M2) ·Tb(G2) ·. . . ·Tb(Mn−1) ·Tb(Gn−1) ·Tb(Mn) ·Tb(Gn) · id

Because of the fact that in Eq. 5.1 tangents of half the rotation angles ui do occur

linearly, the matrix product is multi linear in these parameters.

45

Page 62: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 ·M1 ·G1 ·M2 ·G2 · . . . ·Mn−1 ·Gn−1 ·Mn ·Gn.

Then the parametric representation of the constraint manifold can be derived as

p = Tm(Gn) ·Tm(Mn) ·Tm(Gn−1) ·Tm(Mn−1) ·. . . ·Tm(G2) ·Tm(M2) ·Tm(G1) ·Tm(M1) ·Tm(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 five 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 = (g1, . . . , gn), which corre-

sponds to an algebraic variety V = V (g1, . . . , gn), 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 E3 to find 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

Page 63: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

three rotation angles u1, u2 and u3. 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 find 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 first revolute axis coincides with the z-axis of the

base frame and the DH parameter d1 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

fixing one after the other rotation angles, yields the constraint manifolds of canonical

2R-chains.

47

Page 64: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 fixed 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 S26 .

In the following subsections all possible cases are discussed in detail.

5.1.1. Fix u1

By fixing the first revolute axis u1 = u10 (the zero in the index indicates a fixed value)

the corresponding 2R-chain has the matrix representation

D = F ·M2 ·G2 ·M3 ·G3.

where F is a fixed transformation, given by M1(u10) · G1. F and G3 are coordinate

transformations in the base and moving frame of this 2R-manipulator, respectively. Ne-

glecting F and setting d2 = 0 transforms the chain into a canonical one as shown in

Figure 5.2. Setting d2 = 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 G3 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

Page 65: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 isrespectively 2 or 1)

Then the matrix representation of this 2R-chain becomes

D = M2 ·G2 ·M3.

The parametric representation of the constraint manifold, computed with Eqs. 4.10 and

4.14, reads

x0

x1

x2

x3

y0

y1

y2

y3

=

(cos(u2) cos(u3)− sin(u2) sin(u3) + 1)(1 + cos(α2))

(cos(u2) + cos(u3)) sin(α2)

(sin(u2)− sin(u3)) sin(α2)

(cos(u2) sin(u3) + sin(u2) cos(u3))(1 + cos(α2))12a2(cos(u2) cos(u3)− sin(u2) sin(u3) + 1)(sin α2)

−12a2(cos(u2) + cos(u3))(1 + cos(α2))

−12a2(sin(u2)− sin(u3))(1 + cos(α2))

12a2(cos(u2) sin(u3) + sin(u2) cos(u3))(sin(α2))

.

By inspection and direct substitution one can verify easily that these coordinates satisfy

four independent linear equations:

Hc11 : a2 sin(α2)x0 − 2(1 + cos(α2))y0 = 0,

Hc12 : a2(1 + cos(α2))x1 + 2 sin(α2)y1 = 0,

Hc13 : a2(1 + cos(α2))x2 + 2 sin(α2)y2 = 0,

Hc14 : a2 sin(α2)x3 − 2(1 + cos(α2))y3 = 0.

49

Page 66: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

Applying half tangent substitution (al2 = tan α2

2) these equations rewrite to

(5.2)

Hc11 : 2a2al2x0 − 4y0 = 0,

Hc12 : 2a2x1 + 4al2y1 = 0,

Hc13 : 2a2x2 + 4al2y2 = 0,

Hc14 : 2a2al2x3 − 4y3 = 0.

5.1.2. Fix u3

By fixing the third revolute axis u3 = u30 the corresponding 2R-chain has the matrix

representation

D = M1 ·G1 ·M2 · F

where F is a fixed transformation given by G2 ·M3(u30) ·G3. 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 = M1 ·G1 ·M2.

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)

Hc31 : 2a1al1x0 − 4y0 = 0,

Hc32 : 2a1x1 + 4al1y1 = 0,

Hc33 : 2a1x2 + 4al1y2 = 0,

Hc34 : 2a1al1x3 − 4y3 = 0.

5.1.3. Fix u2

This case is not as easy as the two cases before. Fixing the second revolute joint u2 = u20

yields a 2R-chain represented by

D = M1 · F ·M3 ·G3

50

Page 67: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

where F is a fixed transformation, given by G1 ·M2(u20) ·G2.

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 different way. This

will be done in Subsection 5.2.2.

5.2. Constraint manifold of a canonical serial 3R-chain

Varying the previously fixed 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 fixed to

generate the corresponding 2R-chain. So one gets three different one parameter sets of

3-spaces T (u1), T (u2) and T (u3), but all having the same intersection with S26 (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 u1

In this case one has to apply the (now one parametric set of) coordinate transformations

M1 ·G1 ·G2 in the base frame and G3 in the moving frame of the 2R-manipulator of

Subsection 5.1.1. G2 translates the base frame by d2 in the direction of the z-axis (same

matrix as G2 but a2 = 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 efficiently 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 Tb(M1)·Tb(G1)·Tb(G2), so accord-

ing to Lemma 4.4 the hyperplane transformation is ((Tb(M1) ·Tb(G1) ·Tb(G2))T )−1 =

51

Page 68: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

(Tb(M1)T )−1 · (Tb(G1)

T )−1 · (Tb(G2)T )−1. After applying the tangent of the half-angle

substitutions for all angles (v1 = tan u1

2, ali = tan αi

2, i = 1, 2) these transformations are

written

(Tb(M1)T )−1 =

1 0 0 −v1 0 0 0 0

0 1 −v1 0 0 0 0 0

0 v1 1 0 0 0 0 0

v1 0 0 1 0 0 0 0

0 0 0 0 1 0 0 −v1

0 0 0 0 0 1 −v1 0

0 0 0 0 0 v1 1 0

0 0 0 0 v1 0 0 1

,

(Tb(G1)T )−1 =

2 −2al1 0 0 al1a1 a1 al1 0

2al1 2 0 0 −a1 al1a1 0 −al1

0 0 2 −2al1 −al1 0 al1a1 a1

0 0 2al1 2 0 al1 −a1 al1a1

0 0 0 0 2 −2al1 0 0

0 0 0 0 2al1 2 0 0

0 0 0 0 0 0 2 −2al1

0 0 0 0 0 0 2al1 2

,

(Tb(G2)T )−1 =

2 0 0 0 0 0 0 d2

0 2 0 0 0 0 d2 0

0 0 2 0 0 −d2 0 0

0 0 0 2 −d2 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

Page 69: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

The coordinate transformation G3 in E3 of the moving frame can be performed with

help of

(Tm(G3)T )−1 =

2 −2al3 0 0 al3a3 a3 al3d3 d3

2al3 2 0 0 −a3 al3a3 −d3 al3d3

0 0 2 2al3 −al3d3 d3 al3a3 −a3

0 0 −2al3 2 −d3 −al3d3 a3 al3a3

0 0 0 0 2 −2al3 0 0

0 0 0 0 2al3 2 0 0

0 0 0 0 0 0 2 2al3

0 0 0 0 0 0 −2al3 2

,

where al3 = 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)

Hc1(v1) : (a2al2−v1d2−al3a1−al3a3−al1a1−a2al2al3al1−al3v1d2al1−al3d3al1v1

− a3al1− d3v1)x0 + (−al3v1d2 + a2al2al3 + a2al2al1 + a1 + a3− al3al1a1

+v1d2al1−al3a3al1 +d3al1v1−al3d3v1)x1 +(a1v1−d2al1 +al3d3−d3al1+ a2al2al1v1 + al3d2 − al3al1a1v1 − al3a3al1v1 + a3v1 + a2al2al3v1)x2

+(−a3al1v1 + d2 + d3−al1a1v1 +a2al2v1−al3a1v1 +al3d2al1 +al3d3al1− a2al2al3al1v1 − al3a3v1)x3 + 2(al3al1 − 1)y0

− 2(al3 + al1)y1 − 2(al1v1 + al3v1)y2 + 2(al3al1v1 − v1)y3 = 0

Hc2(v1) : (al2a1 +al2v1d2al1−a2al1−al2al3al1a1−al2al3a3al1−al2al3v1d2−al2d3al1v1

− a2al3 + al2a3 + al2al3d3v1)x0 + (−a2al3al1 + al2v1d2 − al2al3d3al1v1

+ al2al3a1 + al2al3a3 − al2d3v1 + al2al1a1 + al2a3al1 + a2 + al2al3v1d2al1)x1

+ (al2d3 − al2d2 + al2al3a1v1 − al2al3d2al1 − a2al3al1v1 + al2al1a1v1

+ al2al3a3v1 + al2a3al1v1 + al2al3d3al1 + a2v1)x2

+ (−a2al3v1 + al2a1v1 − al2d2al1 + al2al3d2 − al2al3d3 + al2a3v1 + al2d3al1− al2al3al1a1v1 − al2al3a3al1v1 − a2al1v1)x3 − 2(al2al3 + al2al1)y0

+2(−al2al3al1 +al2)y1 +2(al2v1−al2al3al1v1)y2−2(al2al3v1 +al2al1v1)y3 = 0(5.5)

Hc3(v1) : (−al2a3v1 + al2al3d3 + al2a1v1 − al2d2al1 − al2al3d2 + al2al3al1a1v1

− al2al3a3al1v1 + al2d3al1 − a2al1v1 + a2al3v1)x0

+ (−al2al3a3v1 + al2al3d3al1 − a2v1 + al2d2 − al2d3 − a2al3al1v1 + al2al3a1v1

− al2al3d2al1 − al2al1a1v1 + al2a3al1v1)x1 + (a2al3al1 + a2 − al2al3v1d2al1+al2v1d2 +al2al1a1 +al2al3d3al1v1−al2d3v1 +al2al3a3−al2a3al1−al2al3a1)x2

+ (a2al1 − al2a1 + al2a3 − al2al3v1d2 − al2al3al1a1 − al2v1d2al1 + al2d3al1v1

+ al2al3d3v1 − a2al3 + al2al3a3al1)x3 + 2(al2al3v1 − al2al1v1)y0

− 2(al2v1 + al2al3al1v1)y1 + 2(al2al3al1 + al2)y2 + 2(−al2al3 + al2al1)y3 = 0(5.6)

53

Page 70: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

(5.7)

Hc4(v1) : (−d2 + al3a3v1 − d3 − a3al1v1 + al3d3al1 −−a2al2al3al1v1 − a2al2v1

+ al1a1v1 − al3a1v1 + al3d2al1)x0 + (a1v1 − d2al1 − al3d2 − a2al2al3v1

+ a2al2al1v1 + al3al1a1v1 − al3a3al1v1 − a3v1 − d3al1 − al3d3)x1

+ (a2al2al3 + al3a3al1− v1d2al1− d3al1v1− a2al2al1− a1 + a3− al3v1d2

− al3al1a1 − al3d3v1)x2 + (a2al2 + a3al1 − al3a3 − al1a1 + al3a1 − d3v1

+ a2al2al3al1 + al3v1d2al1 + al3d3al1v1 − v1d2)x3 + 2(al3al1v1 + v1)y0

+ 2(al3v1 − al1v1)y1 + 2(al1 − al3)y2 +−2(1 + al3al1)y3 = 0

Intersecting this set of hyperplane equations yield the one parameter set of 3-spaces

Tc(v1) 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 S26 . 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 Tc(v2) or Tc(v3) to compute the constraint

manifold (see next subsection).

5.2.2. Variation of u2

As mentioned in Subsection 5.1.3 this case requires another algorithm to derive equations

representing the one parameter set of 3-spaces Tc(v2).

The starting point is the canonical 3R-manipulator (d1 = 0) given by

(5.8)D = M1 ·G1 ·M2 ·G2 ·M3.

Tangent of the half-angle substitution is applied to all angles (vi = tan ui

2, i = 1, 2, 3

and ali = tan αi

2, i = 1, 2). The kinematic image of this 3R-manipulator is a manifold

depending on v1, v2 and v3. The parametric representation, computed using Theorem

5.1, is

p(v1, v2, v3) = (p0 : p1 : p2 : p3 : p4 : p5 : p6)

where

p0 = 2(1− v3v2 − al1al2 − al1v3al2v2 − v1al1al2v2 + v3v1al1al2 − v1v2 − v3v1),p1 = 2(al2 + v3al2v2 + al1 − al1v2v3 + v1al1v2 + v3v1al1 − al2v1v2 + v3v1al2),p2 = 2(−v3al2 + al2v2 − al1v2 − v3al1 + al2v1 + v1v3al2v2 + v1al1 − v1al1v2v3),p3 = 2(v2 + v3 − v3al1al2 + al1al2v2 + v1 − v3v1v2 − v1al1al2 − v1al1v3al2v2),

54

Page 71: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

p4 = −al1v2v3a1 + al2a2 + al2a1 + al1a2 + al1a1 − a2v2v3al2 + al1v2a2v3

+ al1d2v3al2 + a1v3al2v2 + v1al1v2a2 + v1al1al2d2 + v1al2v2a1 − d2v3v1v2

+ d2v1 + d2v2 + d2v3 + v1al1v2d2v3al2 − v1a1v3al2 − v1a1v3al1− a2v1al2v2 − a2v1v3al2 − a2v1v3al1 − al1d2al2v2 − v1a1al1v2,

p5 = d2al1v2 + a2v1v2− a1 + d2al2v2 + d2v1al2− a2 + al1d2v3 + a1al1al2− v1al1d2− v2a2v3

+v1al1al2a2v2+v1al1v2v3d2+v1a2v3al1al2+v1v2d2v3al2−v1al1a1al2v2+v1a1v3al1al2+a2al1al2 +a1v3v2−v1a2v3−v1a1v2−v1a1v3−d2v3al2−al1a2v2v3al2 +al1a1v3al2v2,

p6 = −v1a1 + a2v1al1al2 − v2d2v3al2 − a2v1 − a2v2 − al2d2 + al1d2 + a2v3

+ al2v1v2d2 − al1v2v3d2 + a1v2 + a1v3 − a1v3al1al2 − a2v3al1al2− al1al2a2v2 + al1a1al2v2 + v1al1d2v3 + v1d2al1v2 − v1v2a2v3

− v1d2v3al2 + v1a1v3v2 − v1al1a2v2v3al2 + v1al1a1v3al2v2 + a1v1al1al2,

p7 = al1v2a1 − al1v2v3v1a1 − d2 + v1v2d2 − al1v2d2v3al2 + v1al1v2a2v3

− v1al1d2al2v2 + v1al1d2v3al2 + v1a1v3al2v2 + al1v1a1 + al2v1a1

+ al2a2v1 + al2a2v2 + v3v1d2 + v3v2d2 − al1al2d2 + al1a2v1 − v3al2a2v1v2

− al2v2a1 + v3al2a1 + v3al1a1 + v3al2a2 + v3al1a2 − al1v2a2.

To obtain a representation for T (v2) analogous to the one of T (v1) in Subsection 5.2.1,

but linear in v2, one has to find coefficients a, . . . , p for the hyperplane equations such

that

(5.9)ap0 + bp1 + cp2 + dp3 + ep4 + fp5 + gp6 + hp7

+ v2(ip0 + jp1 + kp2 + lp3 + mp4 + np5 + op6 + pp7) = 0

holds. Furthermore these coefficients should be polynomials only depending on the DH

parameters and especially they should be independent of v1 and v3.

It is possible to find those coefficients in the following way:

The absolute terms (the coefficients of v20) in p0, . . . , p7 of Eq. 5.9 are denoted by

p00, . . . , p70 and the coefficients of v2 by p01, . . . , p71. Then Eq. 5.9 rewrites to

ap00 + bp10 + cp20 + dp30 + ep40 + fp50 + gp60 +hp70 + v2(ap01 + bp11 + cp21 + dp31

+ ep41 +fp51 +gp61 +hp71 + ip00 + jp10 +kp20 + lp30 +mp40 +np50 +op60 +pp70)

+ v22(ip01 + jp11 + kp21 + lp31 + mp41 + np51 + op61 + pp71) = 0.

In this equation the coefficients of all powers of v2 have to vanish.

Therefore the polynomial ip01 + jp11 + kp21 + lp31 + mp41 + np51 + op61 + pp71 has to

vanish. That means especially the four coefficients of v1, v3, v1v3 and (v1v3)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 coefficients would be polynomials

without a denominator. This is possible but the coefficients are of course not unique,

55

Page 72: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

otherwise one could not find four such sets of coefficients, that are necessary to obtain

four hyperplane equations. One possible solution is:

i = l = m = o = p = 0,j = (a1 − a2)(al1al2 + 1), k = (al1 + al2)d2, n = 2(al1 − al2).

The remaining unknowns a, . . . , h appear in the coefficients of v2 and v02. 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 = 0b = d2(al1 − al2), c = (al1al2 − 1)(a1 + a2), g = −2(al1 + al2).

Therefore Eq. 5.9 reads

Hc1(v2) : (v2(a1 − a2)(al1al2 + 1) + d2(al1 − al2))x1

+(v2d2(al1+al2)+(al1al2−1)(a1+a2))x2+2v2(al1−al2)y1−2(al1+al2)y2 = 0

Three other possible choices for i, . . . , p are:

2 3 4

i (a1 − a2)(al1 − al2) 0 d2(al1al2 − 1)

j 0 d2(al1 + al2) 0

k 0 −(a1 − a2)(al1al2 + 1) 0

l −d2(al1al2 − 1) 0 (a1 − a2)(al1 − al2)

m −2(al1al2 + 1) 0 0

n 0 0 0

o 0 −2(al1 − al2) 0

p 0 0 −2(al1al2 + 1)

And the corresponding remaining coefficients are computed as

2 3 4

a −d2(al1al2 + 1) 0 −(a1 + a2)(al1 + al2)

b 0 (a1 + a2)(al1al2 − 1) 0

c 0 −d2(al1 − al2) 0

d (a1 + a2)(al1 + al2) 0 −d2(al1al2 + 1)

e 0 0 −2(al1al2 − 1)

f 0 −2(al1 + al2) 0

g 0 0 0

h 2(al1al2 − 1) 0 0

56

Page 73: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

These yield the three hyperplane equations

Hc2(v2) : (v2(a1 − a2)(al1 − al2)− d2(al1al2 + 1))x0

+ (−v2d2(al1al2 − 1) + (a1 + a2)(al1 + al2))x3

− 2v2(al1al2 + 1)y0 + 2(al1al2 − 1)y3 = 0

Hc3(v2) : (v2d2(al1 + al2) + (a1 + a2)(al1al2 − 1))x1

− (v2(a1 − a2)(al1al2 + 1) + d2(al1 − al2))x2

− 2(al1 + al2)y1 − v2(al1 − al2)y2 = 0

Hc4(v2) : (v2d2(al1al2 − 1)− (a1 + a2)(al1 + al2))x0

+ (v2(a1 − a2)(al1 − al2)− d2(al1al2 + 1))x3

− 2(al1al2 − 1)y0 − 2v2(al1al2 + 1)y3 = 0

To proceed from Eq. 5.8 to a general canonical 3R-chain only the coordinate transforma-

tion G3 in the moving frame is missing. Executing this transformation in the kinematic

image space on the hyperplane equations Hc1(v2), Hc2(v2), Hc3(v2) and Hc4(v2) yields

(5.10)

Hc1(v2) : (−al3v2a1 + al3al1al2a2v2 − al3al1a1al2v2 + al3a2v2 − al3al1d2

+ al3al2d2 + a3al1v2 − al2a3v2 − al3d3al2 − al3d3al1)x0

+ (a1v2 − al1al2a2v2 + al1a1al2v2 − a2v2 + al1d2 − al2d2 + al3a3al1v2

− a3al3al2v2 + d3al2 + d3al1)x1 + (d2al2v2 + al1d2v2 − a1 + a2al1al2− a2 + a1al1al2 + d3al1v2 − d3al2v2 − a3al3al2 − a3al3al1)x2

+ (−d2al3al2v2 − al1d2al3v2 + al3a1 − al3al1al2a2 + al3a2 − al3al1al2a1

− d3al1al3v2 + al3d3al2v2 − al2a3 − al1a3)x3 − 2al3v2(al1 − al2)y0

+ 2(al1v2 − al2v2)y1 − 2(al2 + al1)y2 + 2al3(al2 + al1)y3 = 0,

(5.11)

Hc2(v2) : (al2a2v2 + al1v2a1 − al1v2a2 − al2v2a1 − d2 − al1al2d2 − al3a3al1al2v2

− al3a3v2 + d3al1al2 − d3)x0(a2al3al2v2 + al3al1v2a1 − al3al1v2a2

− a1al3al2v2 − al3d2 − al3al1al2d2 + a3al1al2v2 + a3v2 + al3d3al1al2− al3d3)x1 + (−al1d2al3al2v2 + d2al3v2 + a2al3al2 + a1al3al2

+ a2al3al1 + a1al3al1 + al3d3al1al2v2 + d3al3v2 − a3al1al2 + a3)x2

+ (−al1d2al2v2 + d2v2 + al2a2 + al2a1 + al1a2 + al1a1 + d3al1al2v2

+ d3v2 + al3al1al2a3 − al3a3)x3 − 2(al1al2v2 + v2)y0

− 2al3v2(1 + al1al2)y1 + 2al3(al1al2 − 1)y2 + 2(al1al2 − 1)y3 = 0,

(5.12)

Hc3(v2) : (−d2al3al2v2 − al1d2al3v2 + al3a1 − al3al1al2a2 + al3a2 − al3al1al2a1

− d3al1al3v2 + al3d3al2v2 − al2a3 − al1a3)x0

+ (d2al2v2 + al1d2v2− a1 + a2al1al2− a2 + a1al1al2 + d3al1v2− d3al2v2

− a3al3al2 − a3al3al1)x1 + (al1al2a2v2 − a1v2 − al1a1al2v2 + a2v2

− al1d2 + al2d2 − d3al2 − d3al1 + a3al3al2v2 − al3a3al1v2)x2

+ (−al3al1al2a2v2 + al3v2a1 + al3al1a1al2v2 − al3a2v2 + al3al1d2

−al3al2d2+al3d3al2+al3d3al1+al2a3v2−a3al1v2)x3+2al3(al2+al1)y0

− 2(al2 + al1)y1 + 2(al2v2 − al1v2)y2 + 2al3v2(al1 − al2)y3 = 0,

57

Page 74: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

(5.13)

Hc4(v2) : (al1d2al2v2− d2v2− al2a1− al1a1− al2a2− al1a2 + al3a3− al3al1al2a3

− d3al1al2v2− d3v2)x0 + (al1d2al3al2v2− d2al3v2− a1al3al2− a1al3al1

− a2al3al2 − a2al3al1 − a3 + a3al1al2 − al3d3al1al2v2 − d3al3v2)x1

+ (a2al3al2v2 + al3al1v2a1 − al3al1v2a2 − a1al3al2v2 − al3d2

− al3al1al2d2 + a3al1al2v2 + a3v2 + al3d3al1al2 − al3d3)x2

+ (al2a2v2 + al1v2a1− al1v2a2− al2v2a1− d2− al1al2d2− al3a3al1al2v2

− al3a3v2 + d3al1al2 − d3)x3 + 2(1− al1al2)y0

− 2al3(al1al2 − 1)y1 − 2al3v2(1 + al1al2)y2 − 2(al1al2v2 + v2)y3 = 0.

This is the representation of the one parameter set of 3-spaces Tc(v2).

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 S26 . This

happens if it is a planar or spherical 3R-chain or if the first and the third axes are parallel

and the second axis lies orthogonal to the other two and d2 = 0. In all these cases one

has to take one set of hyperplane equations either Tc(v1) or Tc(v3) (see next subsection)

to obtain the constraint manifold.

5.2.3. Variation of u3

To obtain the equations of the hyperplanes depending on the rotation angle u3 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 G2 ·M3 ·G3 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 Tm(G3) ·Tm(M3) ·Tm(G2), so

the hyperplane transformation is ((Tm(G3) · Tm(M3) · Tm(G2))T )−1 = (Tm(G3)

T )−1 ·(Tm(M3)

T )−1 · (Tm(G2)T )−1. They are written, after applying tangent of the half-angle

58

Page 75: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

substitutions for all angles (v3 = tan u3

2, ali = tan αi

2, i = 2, 3)

(Tm(G2)T )−1 =

2 −2al2 0 0 al2a2 a2 al2d2 d2

2al2 2 0 0 −a2 al2a2 d2 −al2d2

0 0 2 −2al2 −al2d2 −d2 al2a2 a2

0 0 2al2 2 −d2 al2d2 −a2 al2a2

0 0 0 0 2 −2al2 0 0

0 0 0 0 2al2 2 0 0

0 0 0 0 0 0 2 −2al2

0 0 0 0 0 0 2al2 2

,

(Tb(M3)T )−1 =

1 0 0 −v3 0 0 0 0

0 1 −v3 0 0 0 0 0

0 v3 1 0 0 0 0 0

v3 0 0 1 0 0 0 0

0 0 0 0 1 0 0 −v3

0 0 0 0 0 1 −v3 0

0 0 0 0 0 v3 1 0

0 0 0 0 v3 0 0 1

,

(Tb(G3)T )−1 =

2 −2al3 0 0 al3a3 a3 al3d3 d3

2al3 2 0 0 −a3 al3a3 d3 −al3d3

0 0 2 −2al3 −al3d3 −d3 al3a3 a3

0 0 2al3 2 −d3 al3d3 −a3 al3a3

0 0 0 0 2 −2al3 0 0

0 0 0 0 2al3 2 0 0

0 0 0 0 0 0 2 −2al3

0 0 0 0 0 0 2al3 2

.

Executed on the hyperplane coordinates of Eq. 5.3 yields the four linear equations:

Hc1(v3) : (a1al1 − a1al1al2al3 − al2a2 − d2v3 − al3a2 − al3al2d2v3 − al3a3 − al2a3

+al2v3al3d3−v3d3)x0 +(a1al1al3 +a1al1al2−al3al2a2−al3d2v3 +a2 +al2d2v3

+a3−al2al3a3−al2v3d3− v3al3d3)x1 +(−a1al1al2v3 +a1al1v3al3−al3al2a2v3

+ al3d2 − a2v3 + al2d2 − al2d3 + al3d3 + v3a3 + al2v3al3a3)x2 + (a1al1al2v3al3+a1al1v3+al3a2v3−al3al2d2−al2a2v3+d2+d3+al2al3d3+al2v3a3−v3al3a3)x3

+2(−1+al2al3)y0−2(al3 +al2)y1 +2(al2v3−v3al3)y2−2(al2v3al3 +v3)y3 = 0,(5.14)

59

Page 76: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

Hc2(v3) : (−a1al2− a1al3 + al1a2 + al1al2d2v3− al1al3al2a2−−al1al3d2v3− al1al2al3a3

+ al1a3 − al1v3al3d3 − al1al2v3d3)x0 + (a1 − a1al2al3 + al1al2a2 + al1d2v3

+ al1al3a2 + al1al3al2d2v3 + al1al3a3 + al1al2a3 − al1al2v3al3d3 + al1v3d3)x1

+ (−a1v3 − a1al2v3al3 − al1al2a2v3 + al1d2 + al1al3a2v3 − al1al3al2d2

+ al1al2al3d3 + al1d3 − al1v3al3a3 + al1al2v3a3)x2

+(−a1al2v3 +a1v3al3 +al1al3al2a2v3−al1al3d2 +al1a2v3−al1al2d2 +al1al2d3

− al1al3d3 − al1v3a3 − al1al2v3al3a3)x3 − 2(al1al2 + al1al3)y0

+2(al1−al1al2al3)y1−2(al1v3 +al1al2v3al3)y2 +2(−al1al2v3 +al1v3al3)y3 = 0,(5.15)

Hc3(v3) : (a1al2v3 − a1v3al3 − al1al3al2a2v3 + al1al3d2 + al1al2d2 − al1a2v3 + al1v3a3

+ al1al2v3al3a3 − al1al2d3 + al1al3d3)x0

+ (a1al2v3al3 + a1v3 − al1al3a2v3 + al1al3al2d2 + al1al2a2v3 − al1d2 − al1d3

− al1al2al3d3− al1al2v3a3 + al1v3al3a3)x1 +(a1− a1al2al3 + al1al2a2 + al1d2v3

+ al1al3a2 + al1al3al2d2v3 + al1al3a3 + al1al2a3 − al1al2v3al3d3 + al1v3d3)x2

+ (−a1al2 − a1al3 + al1a2 + al1al2d2v3 − al1al3al2a2 − al1al3d2v3 − al1al2al3a3

+ al1a3 − al1v3al3d3 − al1al2v3d3)x3 + 2(al1al2v3 − al1v3al3)y0

+ 2(al1al2v3al3 + al1v3)y1 + 2(al1 − al1al2al3)y2 − 2(al1al2 + al1al3)y3 = 0,(5.16)

(5.17)

Hc4(v3) : (−a1al1v3−a1al1al2v3al3 +al2a2v3−d2−al3a2v3 +al3al2d2−al2al3d3

− d3 + v3al3a3 − al2v3a3)x0 + (a1al1al2v3 − a1al1v3al3 + al3al2a2v3

− al3d2 − al2d2 + a2v3 − v3a3 − al2v3al3a3 + al2d3 − al3d3)x1

+(a1al1al3 +a1al1al2−al3al2a2−al3d2v3 +a2 +al2d2v3 +a3−al2al3a3

− al2v3d3 − v3al3d3)x2 + (a1al1 − a1al1al2al3 − al2a2 − d2v3 − al3a2

−al3al2d2v3−al3a3−al2a3 +al2v3al3d3− v3d3)x3 +2(v3 +al2v3al3)y0

+ 2(−al2v3 + v3al3)y1 − 2(al3 + al2)y2 + 2(−1 + al2al3)y3 = 0.

The intersection of these hyperplane equations is the one parameter set of 3-spaces

Tc(v3). 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 S26 . This happens if the first

and the second axes are parallel or do intersect. In this case one has to take one set

of hyperplane equations either Tc(v1) or Tc(v2) 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

Page 77: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

T (vi) i = 1, . . . , 3. One can compute the manifolds for these special cases and will see

that for every value of v1, v2 or v3 the sets of hyperplanes will always have the same

3-space as intersection and this space lies on S26 . Therefore in these cases the sets of

hyperplanes are not one parametric, they are fixed. It is not practicable to derive the

fixed hyperplanes from one of the sets T (vi), 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 d2, α1 and α2 are equal to zero.

The canonical 3R-chain that is given by

G = M1 ·G1 ·M2 ·G2 ·M3

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 fulfills

x1 = 0, x2 = 0, y0 = 0, y3 = 0.

If one transforms the EE to a general position by applying the coordinate transformation

G3 in the moving frame, performed in the kinematic image space, these equations are

rewritten as

(5.18)

Hcp1 : −al3x0 + x1 = 0

Hcp2 : x2 − al3x3 = 0

Hcp3 : al3a3x0 − a3x1 − al3d3x2 − d3x3 + 2y0 + 2al3y1 = 0

Hcp4 : d3x0 + al3d3x1 − a3x2 + al3a3x3 + 2al3y2 + 2y3 = 0.

This fixed linear 3-space is denoted Tcp.

Canonical spherical 3R-mechanism

In this case the DH parameters a1, a2 and d2 are equal to zero.

The canonical 3R-chain that is given by

(5.19)D = M1 ·G1 ·M2 ·G2 ·M3

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

Page 78: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

Σ0

Σ1

Σ2

Σ3

EE frame

Figure 5.3.: General 3R-serial-chain

the base frame’s origin. The parametric representation of this chain in the kinematic

image space fulfills the equations

y0 = 0, y1 = 0, y2 = 0, y3 = 0.

But if the EE is not in this position, which means that Eq. 5.19 is multiplied from the

right side by G3, then these equations become

(5.20)

Hcw1 : al3a3x0 − a3x1 − al3d3x2 − d3x3 + 2y0 + 2al3y1 = 0

Hcw2 : a3x0 + al3a3x1 + d3x2 − al3d3x3 − 2al3y0 + 2y1 = 0

Hcw3 : al3d3x0 − d3x1 + al3a3x2 + a3x3 + 2y2 − 2al3y3 = 0

Hcw4 : d3x0 + al3d3x1 − a3x2 + al3a3x3 + 2al3y2 + 2y3 = 0.

This fixed 3-space is denoted by Tcw

5.3. Constraint manifold of a general serial 3R-chain

This section proceeds to discuss the general case. It differs from the canonical 3R-chains

by having a general position of the first revolute axis with respect to the fixed 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 d1 = 0 because an

appropriate translation can be included into the transformation Σ0 → Σ1.

62

Page 79: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 first axis

is coincident with the z-axis of the base frame and the DH parameter d1 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 fixed coordinate

transformation in the base frame is needed. This can be executed in the kinematic image

space via the matrix (TTb )−1 from Section 4.3.1. Applied to the one parameter sets of

3-spaces Tc(v1), Tc(v2) and Tc(v3), 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 fixed 3-spaces Tcp and

Tcw, 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 fixed

3-spaces. The resulting one parameter sets of 3-spaces will be denoted by T (v1), T (v2)

and T (v3). 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 fixed 3-space as the constraint manifold Tp of

an arbitrary planar 3R-mechanism, where the first axis does not coincide with the z-axis

of the base frame, is described as the intersection of the four hyperplanes

(5.21)Hp1 : −2x0(t0al3 + t1)+2x1(−t1al3 + t0)+2x2(−t2al3 + t3)−2x3(t3al3 + t2) = 0,

(5.22)Hp2 : 2x0(−t2 + t3al3)− 2x1(t3 + t2al3) + 2x2(t0 + t1al3) + 2x3(t1 − t0al3) = 0,

(5.23)

Hp3 : x0(t0al3a3 + t1a3 + t2al3d3 + t3d3 + 2t4 − 2t5al3)

+ x1(t1al3a3 − t0a3 + t3al3d3 − t2d3 + 2t5 + 2t4al3)+ x2(t2al3a3 − t3a3 − t0al3d3 + t1d3 + 2t6 + 2t7al3)+ x3(t3al3a3 + t2a3 − t1al3d3 − t0d3 + 2t7 − 2t6al3) + 2y0(−t1al3 + t0)+ 2y1(t1 + t0al3) + 2y2(t2 + t3al3) + 2y3(−t2al3 + t3) = 0,

(5.24)

Hp4 : x0(t0d3 − t1al3d3 + t2a3 − t3al3a3 − 2t6al3 − 2t7)

+ x1(t1d3 + t0al3d3 + t3a3 + t2al3a3 − 2t7al3 + 2t6)+ x2(t2d3 + t3al3d3 − t0a3 − t1al3a3 + 2t4al3 − 2t5)+ x3(t3d3 − t2al3d3 − t1a3 + t0al3a3 + 2t5al3 + 2t4)− 2y0(t3 + t2al3)+ 2y1(−t3al3 + t2) + 2y2(t0al3 − t1) + 2y3(t0 + t1al3) = 0.

The manifold Tw describing an arbitrary spherical 3R-chain in P 7 is given by the inter-

section of the hyperplanes

(5.25)

Hw1 : x0(t0al3a3 + t1a3 + t2al3d3 + t3d3 + 2t4 − 2t5al3)+ x1(t1al3a3 − t0a3 + t3al3d3 − t2d3 + 2t5 + 2t4al3)+ x2(t2al3a3 − t3a3 − t0al3d3 + t1d3 + 2t6 + 2t7al3)+ x3(t3al3a3 + t2a3 − t1al3d3 − t0d3 + 2t7 − 2t6al3) + 2y0(t0 − t1al3)+ 2y1(t1 + t0al3) + 2y2(t2 + t3al3) + 2y3(t3 − t2al3) = 0

63

Page 80: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

(5.26)

Hw2 : x0(t0a3 − t1al3a3 − t2d3 + t3al3d3 − 2t4al3 − 2t5)+ x1(t1a3 + t0al3a3 − t3d3 − t2al3d3 − 2t5al3 + 2t4)+ x2(t2a3 + t3al3a3 + t0d3 + t1al3d3 − 2t6al3 + 2t7)+ x3(t3a3 − t2al3a3 + t1d3 − t0al3d3 − 2t7al3 − 2t6)− 2y0(t0al3 + t1)+ 2y1(t0 − t1al3) + 2y2(t3 − t2al3)− 2y3(t3al3 + t2) = 0

(5.27)

Hw3 : x0(t0al3d3 + t1d3 − t2al3a3 − t3a3 − 2t6 + 2t7al3)+ x1(t1al3d3 − t0d3 − t3al3a3 + t2a3 − 2t7 − 2t6al3)+ x2(t2al3d3 − t3d3 + t0al3a3 − t1a3 + 2t4 + 2t5al3)+ x3(t3al3d3 + t2d3 + t1al3a3 + t0a3 + 2t5 − 2t4al3) + 2y0(−t2 + t3al3)− 2y1(t3 + t2al3) + 2y2(t0 + t1al3) + 2y3(t1 − t0al3) = 0

(5.28)

Hw4 : x0(t0d3 − t1al3d3 + t2a3 − t3al3a3 − 2t6al3 − 2t7)+ x1(t1d3 + t0al3d3 + t3a3 + t2al3a3 − 2t7al3 + 2t6)+ x2(t2d3 + t3al3d3 − t0a3 − t1al3a3 + 2t4al3 − 2t5)+ x3(t3d3 − t2al3d3 − t1a3 + t0al3a3 + 2t5al3 + 2t4)− 2y0(t3 + t2al3)+ 2y1(−t3al3 + t2) + 2y2(t0al3 − t1) + 2y3(t0 + t1al3) = 0.

The constraint manifold of an arbitrary 3R-chain is again the intersection of a one pa-

rameter set of 3-spaces resp. a fixed 3-space with S26 .

Remark 5.7. It should be noted, that the hyperplane equations, describing the one pa-

rameter sets of 3-spaces resp. the fixed 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

byD = B ·M1 ·G1 ·M2 ·G2 ·M3 ·G3

where B is a fixed coordinate transformation. The kinematic image of this representation

is denoted by p(u1, u2, u3) or, after applying tangent of the half-angle substitution for

all rotation angles (vi = tan ui

2), i = 1, 2, 3, the same chain can be written as p(v1, v2, v3).

Fixing one of the revolute joints by fixing one parameter (e.g. v3) 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(v3) with the Study

quadric.

64

Page 81: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

Fixing two of the three revolute joints by fixing two parameters (e.g. v1 and v2) 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 fixed parameters and is therefore denoted

by l = l(v1, v2). The points on l are parameterized by v3.

The one parameter set of 3-spaces T (v3) is generated as follows:

Take four straight lines l(v1i, v2i) (by fixing four pairs of angles (v1, v2)), parametrized

by pi(v3) (i = 1, . . . , 4). Every 3-space of T (v3), for a fixed value of v3, is spanned by

p1(v3), . . . ,p4(v3) belonging to the same parameter value of v3.

To obtain four pencils of hyperplanes, that intersect in the manifold T (v3) one has

to determine four triples of points such that each three of these points span, together

with four points on the lines p1(v3), . . . ,p4(v3) corresponding to a fixed parameter value

v3 = v30, one hyperplane. One has to take care that the four hyperplanes are linearly

independent.

In this short summary the parameter v3 was fixed to obtain the manifold. Of course

one can also fix one of the other revolute joints by fixing v1 or v2. This yields two different

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 efficient.

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 fixed 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 (vi) can be

adopted literally as properties of Tc(vi), i = 1, 2, 3.

The one parameter sets of 3-spaces T (v1), T (v2) and T (v3) 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 define 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

Page 82: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 figure three spaces,

corresponding to discrete values of v1, 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(v1)

is drawn.

p(v1)

Figure 5.4.: Symbolic sketch of SM1

An example of a Segre manifold is a hyperboloid in E3. 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 defined 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]).

Definition 5.1. The Segre manifolds generated by the one parameter set of 3-spaces

T (v1), T (v2) and T (v3) are denoted by SM1, SM2 and SM3, respectively. The Segre

manifolds generated by the one parameter set of 3-spaces Tc(v1), Tc(v2) and Tc(v3) are

denoted by SM1c, SM2c and SM3c.

Summarizing the findings above one can state:

Theorem 5.2. The Segre manifold SM1 (SM2, SM3) is the intersection of four one

parameter pencils of hyperplanes. The hyperplane coordinates depend linearly on v1

(v2, v3).

A summary of the findings in Section 5.3 yields

66

Page 83: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

Theorem 5.3. The constraint manifold of a 3R-chain is the intersection of the Study

quadric with a Segre manifold SM1 (SM2, SM3) generated by the pencils of hyperplanes

describing T (v1) (T (v2), T (v3)). The intersection of a fixed three space Ti = T (v1i)

(Ti = T (v2i), Ti = T (v3i)) with S26 is the kinematic image of the corresponding 2R-chain

obtained by fixing the rotation angle v1 = v1i (v2 = v2i, v3 = v3i) of the 3R-chain.

Corollary 5.1. The constraint manifold of a 3R-chain is the intersection of any two of

the Segre manifolds SM1, SM2, SM3.

Proof. The Segre manifolds SM1 an SM2 are swept by the one parametric set of 3-spaces

T (v1) and T (v2). Their intersection is the straight line l(v1, v2) (see Subsection 5.3.2).

The union of all these lines is precisely the intersection of SM3 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. Different representations of the Segre manifold

This section describes different representations of the Segre manifold SM1. 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 specific problem.

Parametric representation, span of points

Take one special 3-space of T (v1) by fixing the parameter v1 = v10. Choose four linear

independent points pi (i = 1, . . . , 4) of this space and then let v1 vary again. Because of

Theorem 5.2 this results in four straight lines li and pi(v1) = T (v1)∩ li. Now the points

of SM1 are described by

x =4∑

i=1

λipi(v1)

where (λ1, λ2, λ3, λ4)T is a homogeneous quadruple.

In this representation, the algebraic degree of SM1 is easily computed. It is defined 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 u1, . . . ,u4. U and T (v1) intersect if and

only ifdet(p1(v1),p2(v1),p3(v1),p4(v1),u1,u2,u3,u4) = 0.

This is a polynomial of degree four in v1. Hence there exist four intersection points of

SM1 and U . That means that the algebraic degree of SM1 is four.

67

Page 84: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

Algebraic equations

In order to find a set of algebraic equations of SM1 one has to fix two parameter values

v11 and v12 and let pij = pi(vj) for i = 1, . . . , 4 and j = 1, 2. In a projective coordinate

frame with base points p11, . . . ,p41,p12, . . . ,p42 one may use the coordinate vectors

(ξ0 : . . . : ξ3 : η0 : . . . : η3)T . In this frame, the algebraic equations of SM1 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, SM1 is the intersection of three hyper-quadrics (Eq. 5.29). In order

to find the equations of SM1 in the original coordinate frame of P 7, one has to apply

the transformation y = Px where P is the matrix

P = (p11, . . . ,p41,p12, . . .p42)

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 ·Aij · (ξ0, . . . , ξ3, η0, . . . η3) = 0.

The transformed equations are (see Lemma 4.4)

(ξ0, . . . , ξ3, η0, . . . , η3)T · (PT )−1AijP

−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

v1, with S26 . A fixed 3-space in the seven dimensional projective space is geometrically

determined by intersecting four hyperplanes H1, . . . , H4. 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 Hi(v1), i = 1, . . . , 4, each de-

pending linearly on the parameter v1. 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 v1 the four pencils of hyperplanes

68

Page 85: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 specified. 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 SM2 has to be handled in a special way.

The reason is the following. The corresponding 2R-chains of SM1 and SM3 belonging

to fixed parameter values always have the same shape. They only vary in their position

in E3. But the corresponding 2R-chains of SM2 belonging to fixed values of v2 vary in

their shape. The twist angle between the first and third axis and even the length and

direction of the common normal depend on the value of v2. Therefore SM2 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 first two

axes intersect orthogonally and the third is parallel to the second, or if the first axis is

parallel to the second and the second and third intersect orthogonally. In all other cases

one may find a Segre manifold from SM1 and SM3, 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 SM2 is only used if α1 = 0 or α2 = 0 should hold. Then one

can formulate:

Theorem 5.4. The Segre manifolds SM1, SM2 (with the restriction that α1 = 0 or

α2 = 0) and SM3 intersect the exceptional generator of S26 (the 3-space, that had to

be sliced out of the Segre manifold), given by x0 = x1 = x2 = x3 = 0, in conjugate

complex lines. These lines lie in those 3-spaces of the Segre manifolds that correspond

to the parameter values vi = ±I, i = 1, 2, 3. Furthermore these lines lie on the quadric

y20 + y2

1 + y22 + y2

3 = 0 in this exceptional 3-space.

Proof. The exceptional generator of S26 is given as intersection of the four hyperplanes

x0 = 0, x1 = 0, x2 = 0 and x3 = 0. Their intersection with the four pencils of

69

Page 86: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

hyperplanes Hi(v) =∑3

j=0 (hi(j+1)xj + hi(j+5)yj), i = 1, . . . , 4 that describe one of the

Segre manifolds can be obtained by computing the determinant∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

1 0 0 0 h11 h21 h31 h41

0 1 0 0 h12 h22 h32 h42

0 0 1 0 h13 h23 h33 h43

0 0 0 1 h14 h24 h34 h44

0 0 0 0 h15 h25 h35 h45

0 0 0 0 h16 h26 h36 h46

0 0 0 0 h17 h27 h37 h47

0 0 0 0 h18 h28 h38 h48

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

= 0.

The result of this determinant is the same as the result of

(5.30)|S| =

∣∣∣∣∣∣∣∣∣∣h15 h25 h35 h45

h16 h26 h36 h46

h17 h27 h37 h47

h18 h28 h38 h48

∣∣∣∣∣∣∣∣∣∣= 0.

Therefore the intersection of the one parameter sets of 3-spaces T (v1), T (v2) and T (v3)

representing the Segre manifolds with the exceptional 3-space can be derived by the

determinant of the coefficients of the yi, i = 1, . . . , 4 of the hyperplane equations. Sub-

stituting the hyperplane coordinates of the hyperplanes presenting T (v1) into Eq. 5.30

yields

al22(v21 + 1)2(t20 + t21 + t22 + t23)

2(1 + al21)2(al23 + 1)2 = 0.

If al2 = 0, then SM1 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 al2 6= 0. Then those 3-spaces of SM1 belonging to the parameter values v1 = ±I

intersects the exceptional 3-space of S26 . If one substitutes v1 = ±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 v1 = I and v1 = −I with the exceptional generator are

(5.31)(0, 0, 0, 0, l11, l12, s2, s3)

T = 0,

(0, 0, 0, 0, l11, l12, s2, s3)T = 0,

where s2 and s3 are homogeneous parameters on the lines and l1i, i = 1, 2 are the

70

Page 87: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

5. Constraint manifolds

conjugate complex numbers:

l11 =(I(2t0t1 + 2t2t3)− 2t0t2 + 2t1t3)s2 + (−I(t20 − t21 + t22 − t23)− 2t0t3 − 2t1t2)s3

(t0 + t2 − I(t1 + t3))(t0 − t2 + I(t1 − t3))

l12 =(−I(t20 − t21 + t22 − t23)− 2t0t3 − 2t1t2)s2 + (I(2t0t2 − 2t1t3) + 2t0t1 + 2t2t3)s3

(t0 + t2 − I(t1 + t3))(t0 − t2 + I(t1 − t3)).

Substitution of the coordinates of the lines in Eq. 5.31 into the quadric in this excep-

tional 3-space with the equation y20 + y2

1 + y22 + y2

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 SM2, assuming that α1 = 0, with the exceptional generator are the

two conjugate complex lines

(0, 0, 0, 0, l11, l12, s2, s3)T = 0

(0, 0, 0, 0, l11, l12, s2, s3)T = 0

corresponding to the parameter values v2 = ±I.

In the case of α2 = 0 the intersection are the two conjugate complex lines

(0, 0, 0, 0, l21, l22, s2, s3)T = 0

(0, 0, 0, 0, l21, l22, s2, s3)T = 0

belonging to v2 = ±I with

l21 = I2al3s2 + (1− al23)s3

(al3 − I)(al3 + I)l22 = I

(al23 − 1)s2 + 2al3s3

(al3 − I)(al3 + I)

The intersection lines of SM3 with the exceptional generator have the parametric rep-

resentation

(0, 0, 0, 0, l21, l22, s2, s3)T = 0

(0, 0, 0, 0, l21, l22, s2, s3)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

Page 88: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 S26 plays a similar role

to the circle points in planar kinematics or, better still, in planar kinematic mapping

(see Bottema and Roth [11]).

72

Page 89: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 simplification 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 ali = tan αi

2and vi = tan ui

2for i = 1, . . . , 6.

Without loss of generality one may assume that the 6R-mechanism is a canonical one,

what means that Σ0 = Σ1 and d1 = 0. If this is not the case only a fixed 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 E3.

Therefore the inverse kinematic problem is to solve the matrix equation

M1 ·G1 ·M2 ·G2 ·M3 ·G3 ·M4 ·G4 ·M5 ·G5 ·M6 ·G6 = A

with d1 = 0 for the unknowns vi, i = 1, . . . , 6. It is not possible to solve this equation

simply by brute force.

Therefore one has to simplify this problem. A new, efficient and very geometric approach

of simplification is shown in the next section.

73

Page 90: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

6.1. Simplification 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 simplification, 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 configurations 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 configuration assembly modes when the given 6R-chain is general.

These configurations 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

Page 91: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

Σ1

Σ1

ΣL = ΣR

ΣL

Σ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

T1 = M1 ·G1 ·M2 ·G2 ·M3 ·G3.

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 SM1c, SM2c

or SM3c and the intersection of one of the 3-spaces Tcp or Tcw 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 S26 . The cases where one has

to take care in the choice of SMic are listed below:

• If α2 = 0 or a2 = 0, do not take SM1c,

• if α1 = ±π2, α2 = ±π

2and d2 = 0, do not take SM2c,

• if α1 = 0 or a1 = 0, do not take SM3c,

75

Page 92: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

• if α1 = α2 = 0, take Tcp and

• if a1 = a2 = d2 = 0, take Tcw.

In a general case, where none of these conditions are true, one may take any of the Segre

manifolds SMic, 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 fixed three spaces Tcp or Tcw 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 fixed 3-space for this

left 3R-chain it will be denoted by SML.

6.1.2. Segre manifold of the right 3R-chain

The pose of ΣR with respect to Σ6 is given by

T2 = A ·G−16 ·M−1

6 ·G−15 ·M−1

5 ·G−14 ·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−16 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 fifth 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 fifth 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)T2 = A ·M1 ·G1 ·M2 ·G2 ·M3 ·G3

76

Page 93: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

ΣR

Σ4

Σ5Σ6

EE frame

Figure 6.2.: Coordinate frames of the right 3R-chain

where

A = A ·G−16

M1 =

1 0 0 0

0 cos(u6) − sin(u6) 0

0 sin(u6) cos(u6) 0

0 0 0 1

, G1 =

1 0 0 0

a5 1 0 0

0 0 cos(α5) − sin(α5)

0 0 sin(α5) cos(α5)

,

M2 =

1 0 0 0

0 cos(u5) − sin(u5) 0

0 sin(u5) cos(u5) 0

0 0 0 1

, G2 =

1 0 0 0

a4 1 0 0

0 0 cos(α4) − sin(α4)

−d5 0 sin(α4) cos(α4)

,

M3 =

1 0 0 0

0 cos(u3) − sin(u3) 0

0 sin(u3) cos(u3) 0

0 0 0 1

, G3 =

1 0 0 0

0 1 0 0

0 0 1 0

−d4 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 different 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

Page 94: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

Segre manifolds SMi, i = 1, 2, 3 with the Study quadric, or in special cases the 3-spaces

Tp or Tw. 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 Mi and Gi to those of Mi and Gi, 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)

a1 → a5, a2 → a4, a3 = 0,

d2 → −d5, d3 → −d4,

al1 → al5, al2 → al4, al3 = 0,

v1 → v6, v2 → v5, v3 → v4.

Because of the different coordinate frames and therefore a different home position of this

3R-chain the angles vi are not the angles vi, i = 4, 5, 6 that appear in the 6R-chain, but

they can be obtained from them by (see Lemma 3.1)

(6.3)v4 =1

v4

, v5 = −v5, v6 =1

v6

.

To achieve the representation of the constraint manifold of this right 3R-chain one has

to take the hyperplane equations representing T (v1), T (v2) and T (v3) for an arbitrary

design, printed in Appendix A, or the hyperplane equations representing Tp in Eqs. 5.21

- 5.24 and Tw 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 (vi), i = 1, 2, 3, Tp or Tw 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 (v6), T (v5) and

T (v4), and each of them also describes a Segre manifold denoted by SM6, SM5 and

SM4. The corresponding four pencils of hyperplanes to each Segre manifold are denoted

by H5(vi), . . . , H8(vi) for i = 4, 5, 6.

The representations of the fixed 3-spaces are denoted by T p and Tw.

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 a5 = 0, do not take SM4,

• if α4 = ±π2, α5 = ±π

2and d4 = 0, do not take SM5

78

Page 95: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

• if α4 = 0 or a4 = 0, do not take SM6,

• if α4 = α5 = 0, take T p and

• if a4 = a5 = d5 = 0, take T s.

In the general case, where none of these conditions are true, one may take any of the

Segre manifolds SMi, 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 fixed 3-space for the right

3R-chain it will be denoted by SMR.

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

S26 ∩ SML ∩ SMR.

With the understanding that a fixed 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

S26 in P 7.

6.3. Algebraic structure of the problem

In this section the hyperplane equations describing the Segre manifold SML will be de-

noted by Hi, those describing SMR by Hi+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 Hi which

are linear in xi, yi and bilinear in xiv123 and yiv123 as well as xiv456 and yiv456, i = 0, . . . , 3.

v123 denotes the tangent half of one of the revolute joints of the left 3R-chain and v456

denotes the tangent of the half-angle for one of the revolute joints of the right 3R-chain.

Eq. 4.9 of S26 is bilinear in xi and yi, i = 0, . . . , 3. The solution algorithm of this

intersection problem is straight forward.

79

Page 96: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

At first one normalizes the Study parameters by setting one suitable coordinate, say x0,

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 H1, . . . , H7.

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 file 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 v123 and v456:

xi = xi(v123, v456), yi = yi(v123, v456).

Substituting these Study parameters into Eq. 4.9 and in the one remaining equation H8

one obtains two non-linear algebraic equations E1 = 0 and E2 = 0 in the two parameters:

E1(v123, v456) = 0, E2(v123, v456) = 0.

Remark 6.3. The vanishing of E2 is the condition for intersecting the two one parameter

sets of three spaces Tc(v123) and T (v456) of SML and SMR described by H1, . . . , H4 and

H5, . . . , H8. Hence, it can be also written as the determinant

(6.4)|h1,h2,h3,h4,h5,h6,h7,h8| = 0

where hi are the hyperplane coordinates of Hi for i = 1, . . . , 8.

The resultant of E1 and E2 with respect to one unknown, e.g. v456, yields a univariate

polynomial of degree 56 in the remaining unknown v123. This polynomial factors into

(1 + v2123)

4P1(v123)P2(v123)P3(v123)2P(v123) = 0.

(1 + v2123) yields the solutions v123 = ±I, which belong to points on the exceptional

generator and can therefore be canceled. The polynomials P1 and P2 are of degree

four in v123 and belong, after back substitution of the roots and comparing the common

roots of E1 and E2, to solutions v456 = ±I. Therefore, these two polynomials also can be

canceled. P3 is a polynomial of degree 12 and belongs to values of v123 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 P3 can be omitted from this polynomial.

Therefore P 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 different, but the factors which do not solve the whole system

can always be excluded for the same reasons.

80

Page 97: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 P for the unknown v123 one obtains 16 solutions over C. The other unknown

can be computed with back substitution of these solutions in E1 and E2. Solving both

equations and comparing the solutions yields one common solution of the system for

v456. 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 T1(u1, u2, u3) (where one of the joint variables is fixed) in Eq.

6.1.1 and T2(u4, u5, u6) (where one of the joint variables is fixed) 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 different 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 (vi) 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

Page 98: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 SM3c and SM4 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 SM3c by one of the Segre

manifolds SM1c or SM2c and SM4 by SM5 or SM6.

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 Tc(v3) (Eqs. 5.14 - 5.17) to obtain four pencils of hyper-

planes Hi(v3), i = 1, . . . , 4.

2. Perform the substitutions of Eq. 6.2 (a1 → a5, a2 → a4, a3 = 0, d2 → −d5, d3 →−d4, al1 → al5, al2 → al4, al3 = 0, v3 → v4) in the hyperplane equations rep-

resenting T (v3) (Eqs. A.9 - A.12) to obtain the one parameter set of 3-spaces

T (v4).

3. Substitute the DH parameters and the Study parameters of A into the hyperplane

equations representing T (v4) to obtain four pencils of hyperplanes Hi(v4), i =

5, . . . , 8.

4. Intersect the hyperplanes H1(v3), . . . , H4(v3), H5(v4), . . . , H7(v4). This yields a sur-

face R represented by r(v3, v4), depending on the two parameters v3 and v4.

5. Substitute r(v3, v4) in the equation of the Study quadric x0y0+x1y1+x2y2+x3y3 =

0 and the equation of the remaining hyperplane H8(v4). This yields two algebraic

equations E1 and E2 in the unknowns v3 and v4.

6. Compute the resultant of E1 and E2 with respect to v4. This results in a polynomial

that factors into

(1 + v23)

4P1(v3)P2(v3)P3(v3)2P(v3) = 0.

(1 + v23),P1(v3) and P2(v3) yield solutions v3 = ±I or subsequently solutions of v4

that are v4 = ±I. P3(v3) 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

Page 99: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

is excluded from P 7. P(v3) 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 v3i, i = 1, . . . , 16.

7. Insert v3i into E1 and E2 and compute the unique common solution v4i of the

resulting algebraic equations in v4. These solutions yield directly using v4i =1

v4i, i = 1, . . . , 16, the 16 possible solutions for the tangent of the half-angle of the

rotation about the fourth axis.

8. Substituting v3i and v4i into r(v3, v4) yields the Study parameters ri 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 ri, i = 1, . . . , 16 into

one of the hyperplane equations describing Tc(v1) (Eqs. 5.4 - 5.7) and Tc(v2) (Eqs.

5.10 - 5.13) yields for each ri two linear equations, one in v1 and one in v2. The

solutions are the corresponding values for the tangent of the half-angle of the

rotation about the first and the second revolute axis.

10. Performing the same substitutions as in item 2 for the hyperplane equations rep-

resenting T (v1) (Eqs. A.1 - A.4) and T (v2) (Eqs. A.5 - A.8) and furthermore

v1 → v6 and v2 → v5, one obtains the one parameter sets of 3-spaces T (v5) and

T (v6).

11. Substituting the DH parameters, the Study parameters of A and the Study pa-

rameters of each of the EE poses ri of the coordinate frames, where ΣR = ΣL,

into one of the hyperplane equations describing T (v5) and T (v6) yields, for every

ri, two linear equations in the unknowns v5 and v6. Their solutions yield, with

v5 = −v5 and v6 = 1v6

, the corresponding values for the tangent of the half-angle

of the rotation about the fifth 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 first 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

Page 100: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 SM2c 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 SM2c by one of the Segre manifolds SM1c or SM3c.

Input: design of wrist partitioned 6R-chain (DH parameters with a4 = a5 = d5 = 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 Tc(v2) (Eqs. 5.10 - 5.13) to obtain four pencils of hyper-

planes Hi(v2), i = 1, . . . , 4.

2. Perform the substitutions of Eq. 6.2 (a3 = 0, d3 → −d4, al1 → al5, al2 →al4, al3 = 0) in the hyperplane equations representing Tw (Eqs. 5.25 - 5.28).

Substitute the Study parameters of A into these hyperplanes to obtain four hy-

perplanes H5, . . . , H8. The intersection of these hyperplanes is a fixed 3-space on

S26 which is the constraint manifold of the wrist.

3. Intersection of the eight hyperplanes by computing the determinant

|h1(v2),h2(v2),h3(v2),h4(v2),h5,h6,h7,h8| = 0,

where hi are the hyperplane coordinates of Hi, i = 1, . . . , 8 yields a univariate

polynomial P of degree four in v2.

4. The roots of P are the four values v2i, i = 1, . . . , 4 for the tangent of the half-angle

of the second revolute joint.

5. Substitution of v2i into the hyperplanes Hi(v2), i = 1, . . . , 4 and intersecting them

with H5, . . . , H7 yields four points Ri, i = 1, . . . , 4 in P 7 in which the Segre mani-

fold and the fixed 3-space intersect.

6. Substitution of the DH parameters and the coordinates of Ri, i = 1, . . . , 4 into one

of the hyperplane equations describing T (v1) and T (v3) yields, for every Ri, two

linear equations in the unknowns v1 and v3. The solutions are the corresponding

four sets for the tangent of the half-angle of the rotations about the first and third

revolute axis.

84

Page 101: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

7. Compute the matrix equation

M4 ·G4 ·M5 ·G5 ·M6 ·G6 = A · S−1i ,

where Si 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 first). This yields a system of seven equations in

the unknowns v4, v5 and v6.

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 first 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

(z0, z1, z2, z3, s0, s1, s2, s3)T . The angles are always converted with help of tangent half-

angle substitutions into their algebraic values. If these values are floating-point numbers

they are converted into rational numbers. This is no loss of generality because one is able

to approximate every float 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 floating point representation, but com-

puted with their exact values. The step when computations have to switch from exact

rational numbers to floating-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

Page 102: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

i ai di αi(deg)1 0.8 0.9 202 1.2 3.7 313 0.33 1 454 1.8 0.5 815 0.6 2.1 126 2.2 0.63 100

Table 6.1.: DH parameters of the example of Raghavan and Roth

In this example d1 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 −d1. For the manipulator this transformations means only setting d1 = 0. For

the matrix describing the EE pose this means subtracting d1 from the z-coordinate of

the first column, i.e. a41− d1. 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 Tc(v3) (Eqs. 5.14 - 5.17) yields four pencils of hyper-

planes

H1(v3) : (−0.9331956870− 5.010153286v3)z0 + (1.451795932− 1.198027476v3)z1

+ (2.695580014− 0.950628499v3)z2 + (4.389846714 + 0.276358999v3)z3

− 1.770256825s0 − 1.383076214s1 − 0.273778037v3s2 − 2.229743175v3s3 = 0

H2(v3) : (−0.314440294− 0.211244568v3)z0 + (0.894666074 + 0.883425201v3)z1

+ (0.774048417− 0.870897882v3)z2 + (−0.475303485 + 0.280537503v3)z3

− 0.243873653s0 + 0.312144041s1 − 0.393163882v3s2 + 0.048274455v3s3 = 0

H3(v3) : (0.475303485− 0.280537503v3)z0 + (−0.774048417 + 0.8708978822v3)z1

+ (0.894666074 + 0.883425201v3)z2 + (−0.314440294− 0.211244568v3)z3

− 0.048274455v3s0 + 0.393163882v3s1 + 0.312144041s2 − 0.243873653s3 = 0

H4(v3) : (−4.389846714− 0.276358999v3)z0 + (−2.695580014 + 0.950628499v3)z1

+ (1.451795932− 1.198027476v3)z2 + (−0.933195687− 5.010153286v3)z3

+ 2.229743175v3s0 + 0.273778037v3s1 − 1.383076214s2 − 1.770256825s3 = 0

Substituting the DH parameters into T (v4), as derived in Subsection 6.1.2, and addi-

86

Page 103: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

tionally the Study parameters of A (Eq. 6.5) yields the four pencils of hyperplanes

H5(v4) : (−1.779919692v4 + 15.29439424)z0 + (−22.33596590v4 + 26.66430288)z1

+ (−26.66430288v4 − 22.33596590)z2 + (15.29439424v4 + 1.779919692)z3

+ (−3.684186575 + 0.906817154v4)s0 + (6.164367480 + 4.871400352v4)s1

+ (4.871400352− 6.164367480v4)s2 + (−0.906817154− 3.684186575v4)s3 = 0

H6(v4) : (−0.4699118777v4 + 4.050380750)z0 + (1.110994971v4 − 1.473046678)z1

+ (1.473046678v4 + 1.110994971)z2 + (4.050380750v4 + 0.4699118777)z3

+ (0.647901129− 0.512004808v4)s0 + (0.387223612 + 0.095310323v4)s1

+ (0.095310323− 0.387223612v4)s2 + (0.512004808 + 0.647901129v4)s3 = 0

H7(v4) : (0.174468358v4 + 2.245479763)z0 + (−3.612941137v4 − 0.343251384)z1

+ (0.343251384v4 − 3.612941137)z2 + (2.245479763v4 − 0.174468358)z3

+ (0.483810313v4 + 0.174232093)s0 + (−0.579349273v4 + 0.490791360)s1

+ (−0.490791360v4 − 0.579349273)s2 + (0.174232093v4 − 0.483810313)s3 = 0

H8(v4) : (−18.03721301v4 + 21.72216911)z0 + (0.565200322v4 + 1.333687321)z1

+ (−1.333687321v4 + 0.565200322)z2 + (21.72216911v4 + 18.03721301)z3

+ (−5.512140134v4 − 4.669567875)s0 + (−4.603147651v4 + 1.657707636)s1

+(−1.657707636v4− 4.603147651)s2 +(−4.669567875v4 +5.512140134)s3 = 0

Solving seven of these equations H1(v3), . . . , H4(v3),H5(v4), . . . , H7(v4) linearly for the

homogeneous coordinates z0, . . . , z3, s0, . . . , s3 yields a surface R in the kinematic image

space, dependent on the two parameters v3 and v4. This surface is represented by

87

Page 104: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

r = (r0, . . . , r7) where

r0 = v34v

43 + 0.749329254v2

4v43 + 0.897848593v4v

43 + 0.931275466v4

3

+ 0.030860985v34v

33 + 0.408588974v2

4v33 + 0.5803875878v4v

33 + 0.05235964256v3

3

+ 1.560260545v34v

23 + 0.5036658486v2

4v23 + 2.005286091v4v

23 + 1.351827344v2

3

+ 0.1853003278v34v3 − 0.1703420974v2

4v3 + .09500240831v4v3 + 0.1506590725v3

+ 0.7766640132v34 + 0.2538478506v2

4 + 0.6348337141v4 + 0.3625772931

r1 = v34v

43 + 0.6648041914v2

4v43 + 1.831853248v4v

43 + 1.626458923v4

3

+ 0.8409639691v34v

33 + 0.9746396755v2

4v33 + 1.937805856v4v

33 − 1.437552353v3

3

+ 2.413849485v34v

23 + 1.787888354v2

4v23 + 5.464542210v4v

23 + 3.254400646v2

3

+ 0.8509184896v34v3 + 2.338423791v2

4v3 + 1.748682765v4v3 − 1.534084490v3

+ 0.6996842340v34 + 1.130544882v2

4 + 4.138347149v4 + 1.610053321

r2 = v34v

43 + 1.285904703v2

4v43 − 0.5936881449v4v

43 + 3.756119768v4

3

− 3.269481191v34v

33 − 1.298890369v2

4v33 + 1.029991885v4v

33 − 2.805469882v3

3

+ 2.504535965v34v

23 − 5.300041693v2

4v23 + 0.9200329113v4v

23 + 5.657102195v2

3

− 1.142692230v34v3 + 0.7031662928v2

4v3 − 1.764326304v4v3 − 3.007949751v3

+ 0.8989644898v34 − 1.856182155v2

4 + 3.139869650v4 + 1.334949387

r3 = v34v

43 − 1.718305042v2

4v43 + 1.463462406v4v

43 − 1.263342218v4

3

+ 0.8275985114v34v

33 + 1.191288225v2

4v33 + 0.5761349775v4v

33 − 1.203061811v3

3

+ 1.200999370v34v

23 − 2.236122148v2

4v23 + 2.692260316v4v

23 − 1.956690311v2

3

+ 0.6935742685v34v3 + 1.905259438v2

4v3 + 0.2174732563v4v3 − 1.296446764v3

− 0.02447309976v34 − 0.5384648674v2

4 + 2.034972516v4 − 0.7732889720

r4 = v34v

43 − 1.419582082v2

4v43 + 1.180824386v4v

43 − 0.7614868924v4

3

+ 1.071012815v34v

33 + 0.3430643320v2

4v33 + 2.546554886v4v

33 − 1.797450535v3

3

+ 2.849976397v34v

23 − 0.03889673564v2

4v23 + 3.346148759v4v

23 + 0.2008339062v2

3

+ 0.5466229190v34v3 + 3.792830210v2

4v3 + 3.349556176v4v3 − 2.129980577v3

+ 0.2317407576v34 − 0.1579287969v2

4 + 4.150777316v4 + 1.042025246

r5 = v34v

43 + 5.512376440v2

4v43 + 1.417965408v4v

43 + 12.21099713v4

3

+ 4.791964747v34v

33 + 6.960407418v2

4v33 + 12.88949963v4v

33 + 2.354027116v3

3

+ 0.8043837348v34v

23 + 6.513862756v2

4v23 + 13.34422305v4v

23 + 20.19394011v2

3

+ 4.998481856v34v3 − 0.7211253924v2

4v3 + 7.988192869v4v3 + 4.369529129v3

+ 1.233561086v34 + 3.888313858v2

4 + 2.233055289v4 + 7.975148431

r6 = v34v

43 − 10.98226759v2

4v43 + 17.51971791v4v

43 − 11.49443092v4

3

+ 14.04029485v34v

33 + 31.32536974v2

4v33 + 1.177617186v4v

33 + 7.511511813v3

3

− 19.91194259v34v

23 + 7.194153240v2

4v23 + 14.43236420v4v

23 − 17.94138625v2

3

+ 3.084523630v34v3 + 22.03275136v2

4v3 + 2.443489782v4v3 + 8.318474561v3

− 16.49779621v34 + 1.994902640v2

4 − 3.076684461v4 − 6.845988270

r7 = v34v

43 + 0.7608259554v2

4v43 + 1.007891407v4v

43 + 1.073632755v4

3

− 0.04843798193v34v

33 + 0.3089085433v2

4v33 + 0.5040442618v4v

33 − 0.9415591695v3

3

+ 1.560017617v34v

23 − 0.1186808932v2

4v23 + 2.117167808v4v

23 + 1.716961414v2

3

+ .5346939687v34v3 + 0.9637628571v2

4v3 − 0.7265136827v4v3 − 0.9639303264v3

+ 0.3859093277v34 + 0.6622775030v2

4 + 1.659686709v4 + 0.4138477732

88

Page 105: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 H8(v4) yields

E1 : (v63v

64 +2.569848114v6

3v54 +0.3435139499v5

3v64 +5.970147746v6

3v44 +7.264588657v5

3v54

− 1.053975438v43v

64 + 9.171814589v6

3v34 + 12.87630152v5

3v44 + 0.2283963646v4

3v54

+ 0.7725350814v33v

64 + 16.31685000v6

3v24 + 21.47779533v5

3v34 + 10.26218792v4

3v44

+ 7.029317514v33v

54 − 2.659775244v2

3v64 + 7.264258839v6

3v4 + 18.63399881v53v

24

+ 29.03808312v43v

34 + 0.5306595095v3

3v44 + 5.364463399v2

3v54 − 1.014913587v3v

64

+ 12.57704845v63 + 13.86826071v5

3v4 + 21.22090614v43v

24 + 33.83376234v3

3v34

+ 17.28506176v23v

44 − 8.694513463v3v

54 + 0.8091550094v6

4 − 3.621512434v53

+ 29.47895049v43v4 + 34.42342275v3

3v24 − 5.137500588v2

3v34 + 13.71366284v3v

44

− 2.354315979v54 + 32.73594626v4

3 + 5.221655297v33v4 + 5.262808196v2

3v24

+ 39.39569555v3v34 − 8.655398850v4

4 − 4.773459373v33 + 34.50841016v2

3v4

− 2.511562188v3v24 + 6.129020747v3

4 + 24.24793209v23 − 11.33726287v3v4

+ 15.31229974v24 − 0.6119513791v3 + 6.829583883v4 + 4.032250986)(1 + v2

3) = 0

E2 : v43v

44 − 4.341071956v4

3v34 − 4.169820032v3

3v44 − 4.103273209v4

3v24 − 3.993000618v3

3v34

+ 10.16413934v23v

44 − 5.533881941v4

3v4 + 3.896866361v33v

24 + 8.161150819v2

3v34

− 10.96789417v3v44 − 0.1382018802v4

3 + 17.30942043v33v4 + 3.284151398v2

3v24

− 2.871728552v3v34 + 6.543853546v4

4 − 7.010093757v33 − 7.932487352v2

3v4

+ 45.00638589v3v24 − 18.53477266v3

4 + 9.107976663v23 + 16.51259721v3v4

+ 3.045200041v24 − 9.008742768v3 + 15.84571631v4 + 8.458440489 = 0

The common solutions of these two equations can be obtained with the help of a resul-

tant. Eliminating v4 yields the polynomial

L(v3) : (v43 − 1.871396051v3

3 + 6.681459762v23 + 0.1047211591v3 + 4.107509347)(v4

3

− 5.819347699v33 + 16.11060009v2

3 − 2.380079351v3 + 12.37126974)(v123

− 1.579628754v113 + 7.404758977v10

3 − 4.623724507v93 + 21.28272661v8

3

− 3.908990424v73 + 30.87306761v6

3 + 0.3002386633v53 + 23.97085822v4

3

+ 1.725261272v33 + 9.444239137v2

3 + 0.5604337811v3 + 1.470258004)P(v3) = 0

where

P(v3) : v163 + 0.5103616823v15

3 − 0.2149984286v143 + 4.753253165v13

3 + 1.774529330v123

+ 9.801338233v113 + 14.12163531v10

3 − 2.583228172v93 + 15.83393594v8

3

− 9.978071104v73 + 3.160770768v6

3 + 2.654700230v53 − 1.242033476v4

3

+ 7.110052661v33 + 1.543603271v2

3 + 2.005385859v3 + 1.087068650 = 0

is the univariate polynomial of degree 16. The solutions of (1 + v23) are v3 = ±I and the

solutions of the two polynomials of degree four yield, as the common solutions after back

89

Page 106: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

substitution into E1 and E2, v4 = ±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 coefficient matrix of the linear system, that has been solved before,

is singular. Up to this step computations were performed with rational coefficients. The

solutions of P(v3) have to be computed numerically and are

v3 = (−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 E1 and E2 and calculating the common solutions

for v4 yields the 16 solutions

v4 = (−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 v3 and v4 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 v4, can be obtained by v4 = 1v4

and are therefore

v4 = (−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 SM1, SM2,

SM5 and SM6. 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

first pair of real solutions v3 = 1.374743684 and v4 = 0.7274083246 are

−0.1149055481 + v1 = 0

−0.4768957482 + v2 = 0

−0.0628818985 + v5 = 0

2.916417472 + v6 = 0.

90

Page 107: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

The solutions for v1 and v2 can be seen in these equations. The solutions for v5 and

v6 can be obtained by v5 = −v5 and v6 = 1v6

. 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 4u1 46.779-60.091I 46.779+60.091I 13.110 14.000u2 172.531+139.444I 172.531-139.444I 50.993 29.700u3 -119.363-6.014I -119.363+6.014I -72.044 -45.000u4 -70.150-43.329I -70.150+43.329I 72.065 71.000u5 91.522-149.379I 91.522+149.379I -7.196 -63.000u6 -29.137+124.990I -29.137-124.990I -37.852 10.000

Solution 5 Solution 6 Solution 7 Solution 8u1 30.074-61.978I 30.074+61.978I 166.726+130.300I 166.726-130.300Iu2 -43.491+226.319I -43.491-226.319I 153.484+18.964I 153.484-18.964Iu3 -147.460-113.668I -147.460+113.667I -20.026-153.923I -20.026+153.923Iu4 -39.252+9.875I -39.252-9.875I 36.399+156.215I 36.399-156.215Iu5 -68.979-236.042I -68.979+236.042I -164.287+89.825I -164.287-89.825Iu6 -2.946+145.603I -2.946-145.603I 15.830-130.481I 15.830+130.481I

Solution 9 Solution 10 Solution 11 Solution 12u1 143.838-24.025I 143.838+24.025I 135.785+32.326I 135.785-32.326Iu2 -127.574+109.260I -127.575-109.260I -166.854+20.426I -166.854-20.426Iu3 -5.851-151.453I -5.851+151.453I 35.619-98.869I 35.619+98.869Iu4 150.375+79.834I 150.375-79.834I 20.724+54.018I 20.724-54.018u5 -117.225+166.343I -117.225-166.343I 21.570-58.569I 21.570+58.569Iu6 -30.593-133.833I -30.593+133.833I -77.238+26.904 -77.238-26.904I

Solution 13 Solution 14 Solution 15 Solution 16u1 53.644-6.493I 53.644+6.493I -7.447-26.021I -7.447+26.021Iu2 -96.181+20.010I -96.181-20.010I 10.727+77.838I 10.727-77.838Iu3 81.863-23.334I 81.863+23.334I 129.343-38.635I 129.343+38.635Iu4 18.040+15.904I 18.040-15.904I -83.228-34.264I -83.228+34.264u5 -32.861-48.098I -32.861+48.098I 17.738+84.770I 17.738-84.770Iu6 -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 configurations are printed in Table 6.3.

91

Page 108: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

i ai di αi

1 0.3 0 π2

2 1 0 03 0 0.2 π

2

4 1.5 0 05 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 first axis fixed, to obtain one 3-space of the Segre

manifold SM1c 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 SM1c is not

a suitable choice for SML. In this example SM2c 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 fixed to obtain a 3-space of SM4

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 S26 fails. So one has to take one of the Segre manifolds SM5 or SM6 to obtain the

constraint manifold of the right 3R-chain. In the following SM5 is taken to be SMR.

Substitution of the DH parameters and the Study parameters of the pose of the EE

yields

H1(v2) : (1.4v2 − 0.4)z0 + (−1.4v2 + 0.4)z1 + (−2.6 + 0.4v2)z2

+ (2.6− 0.4v2)z3 − 4v2s0 + 4v2s1 − 4s2 + 4s3 = 0H2(v2) : −(0.4 + 1.4v2)z0 − (0.4 + 1.4v2)z1 + (2.6 + 0.4v2)z2

+ (2.6 + 0.4v2)z3 − 4v2s0 − 4 ∗ v2s1 − 4s2 − 4s3 = 0H3(v2) : (2.6− 0.4v2)z0 + (−2.6 + 0.4v2)z1 + (1.4v2 − 0.4)z2

+ (−1.4v2 + 0.4)z3 + 4s0 − 4s1 − 4v2s2 + 4v2s3 = 0H4(v2) : −(2.6 + 0.4v2)z0 − (2.6 + 0.4v2)z1 − (0.4 + 1.4v2)z2

− (0.4 + 1.4v2)z3 + 4s0 + 4s1 − 4v2s2 − 4v2s3 = 0

92

Page 109: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

H5(v5) : (0.2236706728− 0.7072183178v5)z0 + (2.004233068− 0.2326413183v5)z1

− (0.7436811649 + 0.3208317015v5)z2 + (−0.03490067370 + 1.990991155v5)z3

+ (0.4482117628v5 + 1.476441218)s0 + (0.6508816555v5 + 1.550043180)s1

+(1.550043180v5−0.6508816555)s2 +(−1.476441218v5 +0.4482117628)s3 = 0

H6(v5) : −(0.3208317015 + 0.7436811649v5)z0 + (1.990991155− 0.03490067370v5)z1

+ (0.7072183178− 0.2236706728v5)z2 + (0.2326413183− 2.004233068v5)z3

+ (−0.6508816555v5 + 1.550043180)s0 + (0.4482117628v5 − 1.476441218)s1

− (1.476441218v5 + 0.4482117628)s2 − (1.550043180v5 + 0.6508816555)s3 = 0

H7(v5) : (0.03490067370− 1.990991155v5)z0 − (0.7436811649 + 0.3208317015v5)z1

+ (−2.004233068 + 0.2326413183v5)z2 + (0.2236706728− 0.7072183178v5)z3

+ (−0.4482117628 + 1.476441218v5)s0 + (1.550043180v5 − 0.6508816555)s1

− (1.550043180 + 0.6508816555v5)s2 + (0.4482117628v5 + 1.476441218)s3 = 0

H8(v5) : (−0.2326413183 + 2.004233068v5)z0 + (0.7072183178− 0.2236706728v5)z1

+ (−1.990991155 + 0.03490067370v5)z2 − (0.3208317015 + 0.7436811649v5)z3

+ (0.6508816555 + 1.550043180v5)s0 − (1.476441218v5 + 0.4482117628)s1

+(1.476441218−0.4482117628v5)s2 +(−0.6508816555v5 +1.550043180)s3 = 0

Solving the linear system of seven of these equations H1(v2), . . . , H4(v2),H5(v5), . . . , H7(v5)

in the homogeneous unknowns z0, . . . , z3, s0, . . . , s3 yields the surface R in P 7, dependent

on the two parameters v2 and v5 with the coordinates:

r0 = v42v

35 + 2.076583748v4

2v25 + 2.187714523v3

2v35 − 15.82662310v4

2v5

+ 10.34842592v32v

25 − 6.780025844v2

2v35 + 2.537618137v4

2 − 14.72483569v32v5

+ 14.32828088v22v

25 − 2.274159814v2v

35 − 4.386145652v3

2 − 92.35858652v22v5

+ 58.65177620v2v25 + 6.704872560v3

5 − 6.553710446v22 − 9.623697320v2v5

+ 5.055421308v25 + 12.41596502v2 − 28.97545947v5 − 2.400442001

93

Page 110: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

r1 = v42v

35 + 7.039242481v4

2v25 + 1.144551856v3

2v35 − 0.09366418026v4

2v5

− 8.612086898v32v

25 − 1.058219448v2

2v35 − 0.5475635548v4

2 + 6.336826554v32v5

+ 19.96038791v22v

25 + 0.8005354666v2v

35 − 2.267447829v3

2 − 11.30433686v22v5

− 22.66261869v2v25 − 7.018754521v3

5 + 2.340322843v22 − 2.270909685v2v5

+ 3.604261669v25 + 3.361669488v2 + 2.573976566v5 − 0.7384138179

r2 = v42v

35 + 4.297616481v4

2v25 − 1.637553741v3

2v35 − 0.5872372612v4

2v5

+ 1.687352399v32v

25 − 0.6832929914v2

2v35 − 0.2301319947v4

2 + 0.9526289192v32v5

+ 22.51069577v22v

25 + 1.881298210v2v

35 − 0.4323804561v3

2 − 0.2101933535v22v5

− 0.06085656431v2v25 − 0.5993588986v3

5 + 1.439831786v22 + 12.50564724v2v5

+ 6.478627752v25 + 1.193053057v2 − 0.8621881672v5 − 2.411814237

r3 = v42v

35 − 3.225209286v4

2v25 + 10.17245930v3

2v35 − 45.71142898v4

2v5

+ 83.48972487v32v

25 + 2.232459018v2

2v35 + 19.76648495v4

2 + 82.71629086v32v5

− 107.0995522v22v

25 − 30.86962715v2v

35 + 0.2228862156v3

2 − 120.5842551v22v5

+ 6.404421926v2v25 + 4.078754869v3

5 + 8.883882981v22 + 196.7666419v2v5

+ 12.37584627v25 − 29.78011240v2 − 3.654812404v5 − 57.45635180

r4 = v42v

35 + 5.910474589v4

2v25 − 0.2040331002v3

2v35 − 0.2968755030v4

2v5

− 3.716451169v32v

25 − 4.651217118v2

2v35 − 0.4168722961v4

2 + 13.40639621v32v5

− 7.782299379v22v

25 − 0.9286537572v2v

35 − 5.527505030v3

2 − 23.38318070v22v5

+ 22.22036339v2v25 + 7.421433082v3

5 + 2.844650842v22 + 8.372274763v2v5

− 1.270416358v25 + 8.490790009v2 − 3.167121520v5 − 0.1862404710

r5 = v42v

35 + 1.785784776v4

2v25 − 8.490303066v3

2v35 − 17.46578003v4

2v5

− 33.41202834v32v

25 + 9.216875794v2

2v35 + 3.482607261v4

2 − 2.852556056v32v5

− 16.69617233v22v

25 + 8.961071989v2v

35 − 1.575202732v3

2 − 61.75743715v22v5

− 174.6152779v2v25 − 11.54521307v3

5 − 7.753303679v22 + 37.26883379v2v5

− 8.194875488v25 + 3.382754000v2 + 50.65958407v5 + 1.062014616

r6 = v42v

35 + 15.11339173v4

2v25 − 75.57378138v3

2v35 + 57.65841741v4

2v5

− 578.6751739v32v

25 − 88.44555672v2

2v35 − 39.82718693v4

2 − 248.8825711v32v5

+ 790.8523042v22v

25 + 259.1466851v2v

35 + 16.10898643v3

2 − 712.4449374v22v5

+ 22.61306967v2v25 + 41.81785137v3

5 + 226.1575798v22 + 715.6497344v2v5

+ 74.00206391v25 − 50.12588490v2 − 116.9145673v5 − 270.6836754

r7 = v42v

35 + 3.935601159v4

2v25 − 1.219170623v3

2v35 − 0.6524106355v4

2v5

+ 4.678994019v32v

25 − 2.149215156v2

2v35 − 0.1882170551v4

2 − 12.19398886v32v5

+ 17.07839725v22v

25 + 1.207424145v2v

35 + 1.803846247v3

2 − 8.415855435v22v5

+ 7.092670736v2v25 + 2.186857220v3

5 − 1.381116666v22 − 48.75888563v2v5

− 14.09637743v25 − 4.838256058v2 + 1.472758138v5 + 5.168022921

94

Page 111: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

Substitution of this coordinates into the equation of S26 and the remaining eighth hyper-

plane yields:

E1 : (v62v

65 + 6.443554507v6

2v55 + 5.060743474v5

2v65− 20.85670999v6

2v45 + 57.60750263v5

2v55

− 9.581679487v42v

65 − 131.3424349v6

2v35 + 186.9477222v5

2v45 − 85.45921012v4

2v55

− 25.92731099v32v

65 + 49.54631123v6

2v25 + 90.20438601v5

2v35 − 205.4435901v4

2v45

+ 101.2933138v32v

55 + 37.39622540v2

2v65 + 5.266772549v6

2v5 − 133.3151419v52v

25

− 833.5738977v42v

35 + 658.5776157v3

2v45 + 127.7873330v2

2v55 + 22.93927563v2v

65

− 2.439155077v62 + 46.81471400v5

2v5 + 232.1582115v42v

25 + 1222.528236v3

2v35

− 701.4870070v22v

45 − 439.2002855v2v

55 − 32.23730449v6

5 − 5.095010376v52

− 38.81266620v42v5 − 399.8356473v3

2v25 − 715.0758549v2

2v35 + 78.05548227v2v

45

− 1.242142689v55 + 24.18664847v4

2 + 153.2183045v32v5 + 698.6304255v2

2v25

+ 934.7260590v2v35 + 185.6944526v4

5 + 18.26235484v32 − 12.26203245v2

2v5

− 58.67524917v2v25 − 56.34346937v3

5 − 66.27743870v22 − 424.6190456v2v5

− 190.6125037v25− 10.42248360v2 + 29.54821295v5 + 47.22220364)(−13 + 7v2

2) = 0

E2 : v42v

45 + 1.742477915v4

2v35 − 0.1480967561v3

2v45 − 17.29925158v4

2v25

+ 3.387114502v32v

35 − 3.357214716v2

2v45 + 1.742477915v4

2v5 − 0.2961935121v32v

25

+ 7.408417297v22v

35 − 0.1480967561v2v

45 + v4

2 + 3.387114502v32v5 − 104.6952894v2

2v25

+ 4.403249098v2v35 + 3.362485277v4

5 − 0.1480967561v32 + 7.408417297v2

2v5

− 0.2961935121v2v25 + 1.050102363v3

5 − 3.357214716v22 + 4.403249098v2v5

− 12.57428103v25 − 0.1480967561v2 + 1.050102363v5 + 3.362485277 = 0

To arrive at a univariate polynomial the unknown v5 is eliminated with help of a resul-

tant. This yields:

L(v2) : (7v22 − 13)4(v4

2 − 0.5232509926v32 + 8.175932473v2

2 − 0.6952687952v2

+ 0.3173363717)(v42 + 0.3921707137v3

2 + 6.719823237v22 + 0.5003610221v2

+ 0.4232020560)(v122 − 6.297609836v11

2 − 30.61549637v102 − 99.24132889v9

2

− 2.221038473v82 − 146.6481161v7

2 + 911.4041786v62 + 595.8603058v5

2

− 39.71054925v42 − 1230.850514v3

2 − 715.7113747v22 − 242.0388908v2

− 119.0584624)2P(v2) = 0

where

P(v2) : (v82 + 17.90309054v7

2 − 575.5344002v62 + 3.001855853v5

2 + 2025.248885v42

− 52.78234443v32 − 1792.737396v2

2 − 15.88924832v2 + 3.727269723)2 = 0

is the univariate polynomial of degree 16. The polynomial (7v22 − 13) belongs to points

in P 7 that lie in the 3-space that was sliced out of S26 . The other polynomials yield

solutions, that lie on the exceptional 3-space of S26 and are points with coordinates

95

Page 112: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 P(v2) is a

polynomial of degree eight squared. This means that every solution is a double solution

and they are:

v2 = (−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 E1 and E2,

for v5 are

v5 = (−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 first two belong to the first value of v2, the third and fourth to the second

value of v2 and so on.

The corresponding values for the tangent of half the rotation angle about the fifth axis

of the 6R can be obtained by v5 = −v5 and are

v5 = (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

first example, with help of the remaining Segre manifolds. As an example the equations

for the first real set of solutions are:

−0.9770581594 + v1 = 0

−0.01401243529 + v3 = 0

0.6162141815 + v4 = 0

2.743288549 + v6 = 0.

The values for v4 and v6 can be obtained from vi = 1vi

, 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

Page 113: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

Solution 1 Solution 2 Solution 3 Solution 4u1 88.67033630 88.67033586 -11.76818694 -11.76818693u2 -176.6819340 -176.6819340 -105.4953198 -105.4953198u3 -178.3943983 1.605601725 -114.4896090 65.51039114u4 -63.28392872 -116.7160710 1.243093355 178.7569066u5 157.8286024 22.17139760 6.408409824 173.5915901u6 139.9437739 -40.05622611 -79.39796404 100.6020360

Solution 5 Solution 6 Solution 7 Solution 8u1 168.7032995 168.7033019 -96.29227439 -96.29227372u2 -104.2053468 -104.2053468 -5.766376514 -5.766376514u3 -33.44378459 146.5562153 0.8581079569 -179.1418921u4 -163.6065189 -16.39348090 141.5227242 38.47727589u5 -9.096983608 -170.9030164 128.0775720 51.92242793u6 -81.78415968 98.21584023 140.3691890 -39.63081096

Solution 9 Solution 10 Solution 11 Solution 12u1 113.8414164 113.8414141 0.000025905 0.00002613u2 4.740668921 4.740668921 107.4575872 107.4575872u3 -179.0928968 0.9071030947 112.4602948 -67.53970522u4 -55.95391390 -124.0460860 -7.662275644 -172.3377241u5 -63.65867848 -116.3413215 0.000011842 179.9999881u6 -42.46273441 137.5372655 0.00004326 -179.9999568

Solution 13 Solution 14 Solution 15 Solution 16u1 -179.9999696 -179.9999701 -120.7478615 -120.7478615u2 107.4576464 107.4576464 173.0660439 173.0660439u3 -147.3755080 32.62449190 1.527534654 -178.4724652u4 -7.662232386 -172.3377675 148.6724232 31.32757686u5 -164.6755005 -15.32449948 -33.91295293 -146.0870470u6 -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 fixed

Tw given by the hyperplanes in Eq. 5.25 - 5.28. The DH parameters of the Puma 762

are given in Table 6.5.

The first 3R-chain is also typical for Puma robots. The first two axes intersect orthog-

onally and the third is parallel to the second. That means, if this 6R-manipulator would

97

Page 114: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

i ai di αi

1 0 0 π2

2 0.65 0 03 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 SM2c to obtain the constraint

manifold of this 3R-chain because the other two, SM1c and SM3c lie on S26 . But in this

special case it does not matter which Segre manifold is taken because the fixed 3-space,

representing the wrist in P 7, lies on S26 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 Tw 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 effector 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 roundoff

errors. Therefore one solution of Manocha and Zhu’s is taken and the direct kinematics

with this solution yields

(6.7)A =

1 0 0 0

1340

+ 41200

√2 1

4−1

4− 1

2

√2 1

4

√2− 1

21340

+ 79200

√2 −1

4+ 1

2

√2 1

4−1

4

√2− 1

21340

√2 1

4

√2 + 1

2−1

4

√2 + 1

212

which is numerically up to three digits the same as above.

Substitution of the DH parameters and the Study parameters into the hyperplanes

98

Page 115: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

representing the one parameter set of 3-spaces Tc(v2) and the fixed 3-space Tw yields

H1(v2) : (65v2 + 19)z0 + (−65v2 − 19)z1 + (−65− 19v2)z2

+ (65 + 19v2)z3 − 200v2s0 + 200v2s1 − 200s2 + 200s3 = 0H2(v2) : (19− 65v2)z0 + (19− 65v2)z1 + (65− 19v2)z2

+ (65− 19v2)z3 − 200v2s0 − 200v2s1 − 200s2 − 200s3 = 0H3(v2) : (65 + 19v2)z0 + (−65− 19v2)z1 + (65v2 + 19)z2

+ (−65v2 − 19)z3 + 200s0 − 200s1 − 200v2s2 + 200v2s3 = 0H4(v2) : (−65 + 19v2)z0 + (−65 + 19v2)z1 + (19− 65v2)z2

+ (19− 65v2)z3 + 200s0 + 200s1 − 200v2s2 − 200v2s3 = 0

H5 : (−79√

2 + 65)z0 + (−204− 106√

2)z1 + (−84− 79√

2)z2

+ (185− 5√

2)z3 + 400s0 + 200s1 − 200s2 + 200s3

√2 = 0

H6 : (84 + 106√

2)z0 + (65 + 41√

2)z1 + (−55− 5√

2)z2

+ (−36 + 79√

2)z3 − 200s0 + 400s1 + 200s2

√2 + 200s3 = 0

H7 : (−36 + 79√

2)z0 + (55 + 5√

2)z1 + (65 + 41√

2)z2

+ (−84− 106√

2)z3 + 200s0 − 200s1

√2 + 400s2 + 200s3 = 0

H8 : (−185 + 5√

2)z0 + (−84− 79√

2)z1 + (204 + 106√

2)z2

+ (−79√

2 + 65)z3 − 200s0

√2− 200s1 − 200s2 + 400s3 = 0

These eight hyperplanes intersect if∣∣∣ h1(v2),h2(v2),h3(v2),h4(v2),h5,h6,h7,h8

∣∣∣ = 0,

where hi are the hyperplane coordinates of Hi, i = 1, . . . , 8. This yields the univariate

polynomial

P(v2) : (−25v2 − 1 +√

2)(−v2 + 25 + 25√

2)(−v2 − 1 +√

2)(−v2 + 1 +√

2) = 0.

The solutions of P are

v2 = (1 +√

2,−1 +√

2,− 1

25+

1

25

√2, 25 + 25

√2).

Substituting these values for v2 into H1(v2), . . . , H4(v2) and computing the intersection

with the hyperplanes H5, . . . , H7 yields four points Ri, i = 1, . . . , 4 which represent

those poses where ΣL and ΣR coincide. The corresponding solutions of v1 and v3 can

be obtained with help of the remaining Segre manifolds SM1c and SM3c. Taking one

of the pencils of hyperplanes of each Segre manifold, substituting the coordinates of

Ri, i = 1, . . . , 4 ΣL and solving linearly for v1 resp. v3 yields

v1 =

(2307

1873− 3697

1873

√2,−1 +

√2,−1 +

√2,

2307

1873− 3697

1873

√2

),

99

Page 116: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

v3 =(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 fixed 3-space Tw that does not depend on any of the

rotation angles v4, v5 or v6. In this case one has to solve the matrix equations

(6.8)M4 ·G4 ·M5 ·G5 ·M6 ·G6 = A · S−1i ,

where Si 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

v4, v5 and v6 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 first set of solutions

v1, v2 and v3 are

G1 : −595− 595v6v4 + 247√

2v5v6 + 247√

2v5v4 − 456v6v5 − 456v5v4 = 0

G2 : 595v6 − 595v4 + 1646v6v5 + 1646v5v4 + 348√

2v5v6 + 348√

2v5v4 = 0

G3 : −595 + 595v6v4 − 177v6 − 177v4 − 38√

2v6 − 38√

2v4 = 0

G4 : −1785 + 1785v6v4 − 531v6 − 531v4 − 114√

2v6 − 114√

2v4 = 0

G5 : 1785v6 − 1785v4 + 4938v6v5 + 4938v5v4 + 1044√

2v5v6 + 1044√

2v5v4 = 0

G6 : 1785 + 1785v6v4 − 741√

2v5v6 − 741√

2v5v4 + 1368v6v5 + 1368v5v4 = 0

This is an overdetermined set of equations. One Groebner basis of this set is

GB1 : −5114071 + (19342760√

2 + 3500622)v6 + 5114071v26 = 0,

GB2 : −36302494 + 4301843√

2 + 106795686v5 + (−9967157√

2 + 4078586)v6 = 0,

GB3 : 13803340 + 3397390√

2 + (1892210√

2 + 467833)v6 + 4072323v4 = 0.

The solution of this system yields two sets of solutions for the remaining joint parameters

v4, v5 and v6.

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 first three revolute angles there exist two sets of angles for the second

triple of revolute angles. The whole set of angles for v4, v5 and v6 are here evaluated

numerical because the exact solutions are too long to display:

v4 = (−4.693995017, 0.213038147, 0.414213562,−2.414213562,0.2701331151,−3.701878603,−8.65281971, 0.11556929) ,

100

Page 117: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

6. Inverse kinematics of the general 6R-mechanism

v5 = (0.2980997914,−0.2980997914, 0.414213562,−0.414213562,0.8881245516,−0.8881245516, 0.81081596,−0.81081596) ,

v6 = (0.161424168,−6.194859276, 0.414213562,−2.414213562,0.119885483,−8.341293683, 0.00551605,−181.2898599) .

In these vectors the first two entries belong to the first set of the first 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 4u1 -114.6686858 -114.6686858 45 45u2 135 135 45 45u3 135 135 45 45u4 24.05279491 -155.9472051 45 -135u5 -33.19861545 33.19861545 45 -45u6 -161.6603576 18.33964245 45 -135

Solution 5 Solution 6 Solution 7 Solution 8u1 45 45 -114.6686858 -114.6686858u2 1.898441409 1.898441409 178.1015585 178.1015585u3 135 135 45 45u4 -149.7666328 30.23336718 -166.8152300 13.18477298u5 -83.21813240 83.21813240 78.07138178 -78.07138178u6 -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

Page 118: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

7. Overconstrained 6R-mechanisms

Linkages that should have zero or less degrees of freedom, according to the formula of

Grubler, Kutzbach and Tschebyscheff 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 first 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 classification 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-

berg’s 5R-linkage [29], Waldron’s 6R-linkage [92] or Wohlhart’s 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 first 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 Bennett’s, 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 fluids, called the Turbula

mixing machine (Fig. 7.1).

102

Page 119: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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] specified in 1987 special values to some of the design parameters to ob-

tain a closed form solution for the inverse kinematics, identified 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

Page 120: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 fi-

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 infinite-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 classification of all overconstrained serial closed loop mechanisms with 6

revolute axes. A complete classification seems to be a difficult 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 configuration depen-

dent, i.e. an instantaneously singular configuration, or configuration independent. Only

mechanisms with axes that belong to a linear complex in every configuration are called

overconstrained. This condition is called the linear complex condition. In order to fulfill

this condition it is necessary that these mechanisms have a special design, i.e., certain

conditions between their design parameters have to be fulfilled.

A serial open 6R-chain, where the EE is fixed in an arbitrary pose in E3 can always be

seen as a closed loop chain. One has to join theoretically the EE with the first joint and

create a base link connecting the first 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

Page 121: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 fixed 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 infinitely 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 E1 or E2 vanishes identically.

2. The two polynomials have a common factor Pc.

E1 : PcP1 = 0E2 : PcP2 = 0

In both cases the ideal I 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 first case mentioned above the dimension of I 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 P1 = P2 = 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 E1 and E2 or the remaining of the two equations if one of them

vanishes identically, yields immediately one of the five input-output equations. To obtain

these transfer functions one has to define one of the variables, e.g., v123 as input angle

105

Page 122: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

7. Overconstrained 6R-mechanisms

t where v123 denotes the tangent of half of one of the rotation angles of joints one, two

or three. Solving Pc for the other unknown v456 yields a function in t for this unknown

where v456 denotes one of the tangents of half of the rotation angles of joints four, five

or six. Because of Eq. 6.4 E2 has at most bi-degree four and therefore also Pc 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 author’s 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 fixed 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. Bricard’s orthogonal chain

The DH parameters of Bricard’s orthogonal chain are given in Table 7.1 with the ad-

ditional condition that a21 − a2

2 + a23 − a2

4 + a25 − a2

6 = 0. The computed example is a

special case of this mechanism with ai = 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

Page 123: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

7. Overconstrained 6R-mechanisms

i ai di αi

1 a1 0 π2

2 a2 0 π2

3 a3 0 π2

4 a4 0 π2

5 a5 0 π2

6 a6 0 ±π2

Table 7.1.: DH parameters of Bricard’s orthogonal chain

example for a manipulator, where one should not take the Segre manifold SM2c to ob-

tain the constraint manifold of this chain, because this manifold is fully contained on

S26 . Therefore SM1c is used for the derivation of the inverse kinematics problem. The

same is true for the right 3R-chain. In this case SM6 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 SM1c of the left and SM6 of the right 3R-

chain yields the remarkably simple set of equations

H1(v1) : −2z0 + z1 + z2v1 − 2z3v1 − 2s1 − 2s2v1 = 0

H2(v1) : −z0 + 2z1 + 2z2v1 − z3v1 − 2s0 − 2s3v1 = 0

H3(v1) : −z1v1 + z2 − 2s1v1 + 2s2 = 0

H4(v1) : −z0v1 + z3 + 2s0v1 − 2s3 = 0

H5(v6) : z0v6 + z1 + 2z1v6 − z2 + 2z2v6 + z3v6 − 2s0v6 − 2s1 + 2s2 − 2s3v6 = 0

H6(v6) : −z0 + 2z0v6 + z1v6 + z2v6 + z3 + 2z3v6 − 2s0 + 2s1v6 + 2s2v6 + 2s3 = 0

H7(v6) : z0 + 2z0v6 − z1v6 + z2v6 + z3 − 2z3v6 + 2s0 − 2s1v6 + 2s2v6 + 2s3 = 0

H8(v6) : −z0v6 − z1 + 2z1v6 − z2 − 2z2v6 + z3v6 + 2s0v6 + 2s1 + 2s2 − 2s3v6 = 0

Solving the system of H1(v1), . . . , H4(v1), H5(v6), . . . , H7(v6) for the homogeneous un-

knowns z0, . . . , z3, s0, . . . , s3 yields the surface R = 128(1+v21)(r0, r1, r2, r3, r4, r5, r6, r7)

T ,

107

Page 124: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

7. Overconstrained 6R-mechanisms

depending on the two unknowns v1 and v6 = 1v6

, with

r0 = −2(v1v26 + v1v6 − v6 + 1)(v1v6 + v1 − v6 + 1)

r1 = 2(v21v

26 + 3v1v

36 − v1v

26 − v3

6 − v21 + v1v6 + v1 + v6)

r2 = 2(v21v

36 − 3v1v

36 − v2

1v6 − v1v26 − v1v6 + v2

6 + v1 − 1)

r3 = −2(v1v6 + v26 + v1 − v6)(v1v6 + v1 − v6 + 1)

r4 = −(v1v26 + v1v6 − 2v2

6 − v6 − 1)(v1v6 + v1 − v6 + 1)

r5 = −(v21v

26 + v1v

36 − 3v1v

26 + v3

6 − v21 − v1v6 − 2v2

6 − v1 + 3v6 − 2)

r6 = (v21v

36 + 2v2

1v26 + v1v

36 + 3v2

1v6 + 3v1v26 + 2v2

1 − v1v6 − v26 + v1 + 1)

r7 = (2v1v26 − v1v6 − v2

6 + v1 + v6)(v1v6 + v1 − v6 + 1)

Substitution of these coordinates into the Study quadric and the remaining hyperplane

H6(v6) yields

E1 : (v26 + 1)(v2

1 + 1)2(v26v

21 − v2

1 − 1− 4v1v26 + v2

6)(v26v

21 + 2v6v

21 + v2

1 + 1− 2v6 + v26) = 0

E2 : (v26 + 1)(v2

1 + 1)(v26v

21 − v2

1 − 1− 4v1v26 + v2

6) = 0

(v26 + 1) and (v2

1 + 1) yield points on R that lie on the exceptional generator of S26 .

Therefore the appropriate common factor of these polynomials is

Pc : v26v

21 − v2

1 − 1− 4v1v26 + v2

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 E1 and E2 is only of bi-degree two. Setting v1 = t

yields a quadratic polynomial in v6 which is solved to obtain a parametric representation.

The solutions are

v6 =W

(t2 − 4t + 1),

where

(7.1)W = ±√

(t2 − 4t + 1)(t2 + 1).

The parametric representation of v6 can be obtained via v6 = 1v6

. Substitution of these

solutions into one pencil of hyperplanes of the remaining, until that time not used, Segre

manifolds SM2, SM3, SM4 and SM5 yields for every solution of v6 one solution for the

algebraic values of the remaining rotation angles. These solutions are

v1 = t, v2 =W

t2 + 1, v3 =

t + 1

t− 1

v4 = − W

t2 + 1, v5 = − t + 1

t− 1, v6 =

t2 − 4t + 1

W.

108

Page 125: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 v1 and v6 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:

MoS =

2(−t6 + 4t5 − t4 + 2t3 − 9t2 + 6t + 1 + (−t4 + 2t3 + 2t2 − 4t + 1)W )

4t2(t3 − 5t2 + 5t− 1− (1 + t)W )

−4t(t3 − 5t2 + 5t− 1 + (1− t)W )

2(−t6 + 6t5 − 9t4 + 2t3 − t2 + 4t− 1 + (−t4 + 4t3 − 2t2 − 2t + 1)W )

−t6 + 6t5 − 11t4 + 10t3 − t2 − 4t + 1 + (−t4 + 4t3 − 4t2 + 2t− 1)W

−2t3 + 10t2 − 10t + 2 + (−4t2 + 6t− 2)W

2t2(t4 − 5t3 + 5t2 − t + (t2 − 3t + 2)W )

t6 − 4t5 − t4 + 10t3 − 11t2 + 6t− 1 + (t4 − 2t3 + 4t2 − 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 E3:

Mo =

1 0 0 0

− t2−1t2+1

2t(t+1)(t−1)(t2+1)

− (t+1)W(t−1)(t2+1)

− 2tt2+1

(t+1)2

t2+1t4−2t3−2t2−2t+1

(t2+1)(t−1)22tW

(t2+1)(t−1)22t(t+1)

(t−1)(t2+1)W

t2+1−2tW

(t2+1)(t−1)2− 2t

(t−1)2(t+1)W

(t−1)(t2+1)

,

where W is given in Eq. 7.1.

The parametric representation of the motion of the origin of ΣL = ΣR in Σ0 is:

x0′ =

(1,−t2 − 1

t2 + 1,(t + 1)2

t2 + 1,

W

t2 + 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 circlex2 + (y − 1)2 = 1

109

Page 126: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

7. Overconstrained 6R-mechanisms

and the front view (yz-plane) is the parabola

z2 + 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:

x1′ =

(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 circlez2 + y2 = 1

and the top view is the parabola

x2 − 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)

PPPPP

���

PPP

Figure 7.2.: Motion of the coupler system

110

Page 127: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

8. Conclusions

8.1. Concluding remarks

Applying geometric preprocessing, algebraic and multidimensional geometry it was pos-

sible to develop a new and very efficient 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 verified 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

Page 128: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 simplification strikes

through in a simplification 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 find closed form solutions of the inverse kinematics problem. Therefore it may

be possible to find 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

Page 129: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 1008–1011, 1979.

[2] J. Angeles. On the numerical solution of the inverse kinematic problem. The

International Journal of Robotics Research, 4(2):21–37, 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-Hooke’s-

joint linkage. Mechanism and Machine Theory, 37(10):1127–1144, October 2002.

[5] J.E. Baker. A Courious New Family of Overconstrained Six-Bars. Transactions

of the ASME, Journal of Mechanical Design, 127:602–606, 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 configurations for a

class of robotic manipulators. Mechanism and Machine Theory, 35(9):1221–1237,

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:777–778, 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 339–339, Melbourne, Vic., Australia, December 2001. IEEE.

113

Page 130: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 l’octaedre articulee. Journal math. pur.

appl., 3:113–148, 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):177–185, 2005.

[17] D. Cox, J. Little, and D. O’Shea. 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:215–221, 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. Duffy. Analysis of Mechanisms and Robot Manipulators. Arnold, London, 1980.

114

Page 131: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Bibliography

[23] J. Duffy and C. Crane. A Displacement Analysis of the General Spatial 7-link, 7R

Mechanism. Mechanism and Machine Theory, 15:153–169, 1980.

[24] L. Euler. Formulae generales pro translatione quacunque corpum rigidorum. Novi

Commentari Acad. Petropolitanae, 20:189–207, 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):151–160, 1979.

[27] M. Ghazvini. Reducing the Inverse Kinematics of Manipulators to the Solution

of a Generalized Eigenproblem, pages 15–26. 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 649–661, 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):14–28, March 1985.

[31] J. Grunwald. Ein Abbildungsprinzip, welches die ebene Geometrie und Kinematik

mit der raumlichen Geometrie verknupft. Sitzungsberichte der Akad. Wiss. Wien,

120:667–741, 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):365–380, 1996.

[35] M.L. Husty. Lecture notes. University of Innsbruck, 2002,2003,2004.

115

Page 132: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Bibliography

[36] M.L. Husty, M. Pfurner, and H.-P. Schrocker. A new and efficient 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):267–278, 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):1213–1229, October 2006.

[39] A. Karger. Classification of 5R closed kinematic chains with self mobility. Mech-

anism and Machine Theory, 33(1/2):213–222, 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):261–272, 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):25–32, 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:522–529,

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):1–11, 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):219–226, 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):209–217, 1988.

[47] H.Y. Lee and C.F. Reinhotz. Inverse Kinemtics of Serial-Chain Manipulators.

Transactions of ASME, Journal of Mechanical Design, 118:502–508, September

1996.

116

Page 133: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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:481–486, 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):89–95, 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 383–389, 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):52–63,

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):75–79, 1989.

[54] R. Manseur and K.L. Doty. A complete kinematic analysis of four-revolute-axis

robot manipulators. Mechanism and Machine Theory, 27(5):575–586, 1992.

[55] R. Manseur and K.L. Doty. Fast inverse kinemtics of five-revolute-axis robot

manipulators. Mechanism and Machine Theory, 27(5):587–598, 1992.

[56] R. Manseur and K.L. Doty. Structural Kinematics of 6-Revolute-Axis Robot Ma-

nipulators. Mechanism and Machine Theory, 31(5):647–657, 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):421–430, 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

Page 134: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Bibliography

[59] C. Mavroidis and B. Roth. Structural Parameters Which Reduce the Number

of Manipulator Configurations. Transactions of ASME, Journal of Mechanical

Design, 116:3–10, 1994.

[60] C. Mavroidis and B. Roth. Analysis of Overconstrained Mechanisms. Transactions

of ASME, Journal of Mechanical Design, 117:69–73, 1995.

[61] C. Mavroidis and B. Roth. New and Revised Overconstrained Mechanisms. Trans-

actions of ASME, Journal of Mechanical Design, 117(1):75–82, 1995.

[62] C. Mavroidis and B. Roth. Analysis and Synthesis of Overconstrained Mechanisms.

In Mechanism Synthesis and Analysis, pages 115–133, 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 1168–1173.

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. Muller. 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):511–547, 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:201–208, June 1985.

[70] D. Pieper. The Kinematics of Manipulators Under Computer Control. PhD thesis,

Stanford University, 1968.

118

Page 135: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 configurations.

Transactions of the ASME, Journal of Mechanical Design, 115:277–282, 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:228–235, 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, final 1990.

[76] B. Ravani and B. Roth. Mappings of spatial kinematics. Transactions of ASME,

Journal of Mechanisms, Transmissions and Automation in Design, 106:341–347,

1984.

[77] T. Recio and M.J. Gonzalez-Lopez. On the symbolic insimplification of the general

6R-manipulator kinematic equations. In Proceedings of the International Sympo-

sium on Symbolic and Algebraic Computation, pages 354–358, 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):855–867,

October 1997.

[79] O. Rodrigues. Des lois geometrigues qui regissent les desplacement d’un

systeme solide dans l’espace, 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:280–440, 1840.

[80] O. Roschel. Und sie bewegen sich doch - neue ubergeschlossene Polyedermodelle.

Informationsbltter der Geometrie, 21(1):37–41, 2002.

[81] B. Roth, J. Rastegar, and V. Scheinmann. On the Design of Computer Controlled

Manipulators. In First CISM-IFToMM Symposium, pages 93–113, September

1973.

119

Page 136: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

Bibliography

[82] F.P. Sarrus. Note sur la transformation des mouvements rectilignes alternatifs

en mouvments circulaires et reciproquement. Comptes. Rendus d’la Acad. Sci.,

36:1036–1038, 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):61–73, 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):359–373,

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:189–200, 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:201–211, 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

Page 137: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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:115–124, 2006.

[95] C. Woernle. Ein systematisches Verfahren zur Aufstellung der geometrischen

Schliessbedingungen in kinematischen Schleifen mit Anwendung bei der

Ruckwartstransformation fur 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 193–198, 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 237–242, 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):73–76, June 1997.

[100] M. Zoppi. Effective Backward Kinematics for an Industrial 6R Robot. In Pro-

ceedings of DETC’02, 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

Page 138: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

In the equations of this appendix ai and di are the DH parameters of the 3R-mechanism

and ali is the tangent of half the twist angles αi, i = 1, 2, 3.

(t0, . . . , t7) are the Study parameters of the pose of Σ1 with respect to Σ0.

A.1. T (v1)

H1(v1) :

((−a3al1−al3a1−al3a3−a2al2al3al1−al3d2al1v1−al3d3al1v1− d3v1 +a2al2−al1a1− d2v1)t0+(−a2al2al3−a2al2al1 +al3al1a1 +al3d2v1−d2al1v1 +al3a3al1−d3al1v1 +al3d3v1−a1−a3)t1+(d2al1−a1v1−a2al2al1v1−a2al2al3v1+al3al1a1v1+al3a3al1v1−a3v1−al3d2−al3d3+d3al1)t2+(al3a1v1+a3al1v1−al3d3al1−d2+al3a3v1+al1a1v1+a2al2al3al1v1−a2al2v1−d3−al3d2al1)t3+ (−2 + 2al3al1)t4 + (2al3 + 2al1)t5 + (2al1v1 + 2al3v1)t6 + (2v1 − 2al3al1v1)t7)x0

+((−al3d2v1 +a2al2al3 +a2al2al1−al3al1a1−al3d3v1 +d2al1v1−al3a3al1 +d3al1v1 +a1 +a3)t0+(−a3al1−al3a1−al3a3−a2al2al3al1−al3d2al1v1−al3d3al1v1−d3v1 +a2al2−al1a1−d2v1)t1+(a2al2v1−al3a1v1+al3d2al1+al3d3al1+d2+d3−al1a1v1−a2al2al3al1v1−a3al1v1−al3a3v1)t2+ (−a1v1 + d2al1 − a2al2al1v1 − a2al2al3v1 + al3al1a1v1 + al3a3al1v1 − a3v1 − al3d2 − al3d3

+ d3al1)t3 +(−2al3− 2al1)t4 +(−2+2al3al1)t5 +(−2v1 +2al3al1v1)t6 +(2al1v1 +2al3v1)t7)x1

+ ((a1v1 + al3d3 + a2al2al1v1 + a2al2al3v1 + a3v1

+ al3d2 − d2al1 − d3al1 − al3al1a1v1 − al3a3al1v1)t0+(al3a1v1+a3al1v1−al3d3al1−d2+al3a3v1+al1a1v1+a2al2al3al1v1−a2al2v1−d3−al3d2al1)t1+(−a3al1−al3a1−al3a3−a2al2al3al1−al3d2al1v1−al3d3al1v1−d3v1 +a2al2−al1a1−d2v1)t2+(−al3d2v1 +a2al2al3 +a2al2al1−al3al1a1−al3d3v1 +d2al1v1−al3a3al1 +d3al1v1 +a1 +a3)t3+(−2al1v1−2al3v1)t4 +(2v1−2al3al1v1)t5 +(−2+2al3al1)t6 +(−2al3−2al1)t7)x2 +((a2al2v1

− al3a1v1 + al3d2al1 + al3d3al1 + d2 + d3 − al1a1v1 − a2al2al3al1v1 − a3al1v1 − al3a3v1)t0+(a1v1+al3d3+a2al2al1v1+a2al2al3v1+a3v1+al3d2−d2al1−d3al1−al3al1a1v1−al3a3al1v1)t1+(−a2al2al3−a2al2al1 +al3al1a1 +al3d2v1−d2al1v1 +al3a3al1−d3al1v1 +al3d3v1−a1−a3)t2+(−a3al1−al3a1−al3a3−a2al2al3al1−al3d2al1v1−al3d3al1v1−d3v1 +a2al2−al1a1−d2v1)t3+ (−2v1 + 2al3al1v1)t4 + (−2al1v1 − 2al3v1)t5 + (2al3 + 2al1)t6 + (−2 + 2al3al1)t7)x3

+ ((−2 + 2al3al1)t0 + (2al3 + 2al1)t1 + (2al1v1 + 2al3v1)t2 + (2v1 − 2al3al1v1)t3)y0

+ ((−2al3 − 2al1)t0 + (−2 + 2al3al1)t1 + (−2v1 + 2al3al1v1)t2 + (2al1v1 + 2al3v1)t3)y1

+ ((−2al1v1 − 2al3v1)t0 + (2v1 − 2al3al1v1)t1 + (−2 + 2al3al1)t2 + (−2al3 − 2al1)t3)y2

+ ((−2v1 + 2al3al1v1)t0 + (−2al1v1 − 2al3v1)t1 + (2al3 + 2al1)t2 + (−2 + 2al3al1)t3)y3 = 0

(A.1)

122

Page 139: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H2(v1) :

((−al2d3al1v1 − a2al1 − a2al3 + al2a1 + al2a3 + al2d2al1v1 − al2al3al1a1 − al2al3d2v1

− al2al3a3al1 + al2al3d3v1)t0 + (al2d3v1 − a2 − al2al3d2al1v1 + al2al3d3al1v1 + a2al3al1

− al2al3a1 − al2al1a1 − al2d2v1 − al2a3al1 − al2al3a3)t1 + (−a2v1 − al2d3 − al2al3a1v1

+ al2d2 + a2al3al1v1 − al2al1a1v1 − al2a3al1v1 + al2al3d2al1 − al2al3d3al1 − al2al3a3v1)t2

+ (−al2a1v1 − al2a3v1 + a2al3v1 + a2al1v1 − al2al3d2 + al2al3al1a1v1 + al2d2al1

− al2d3al1 + al2al3d3 + al2al3a3al1v1)t3 + (−2al2al1 − 2al2al3)t4 + (−2al2 + 2al2al3al1)t5

+ (−2al2v1 + 2al2al3al1v1)t6 + (2al2al3v1 + 2al2al1v1)t7)x0 + ((al2al3a1 + al2al1a1

− a2al3al1 + al2al3d2al1v1 − al2al3d3al1v1 + al2d2v1 + al2a3al1 + al2al3a3 − al2d3v1 + a2)t0

+(−al2d3al1v1−a2al1−a2al3+al2a1+al2a3+al2d2al1v1−al2al3al1a1−al2al3d2v1−al2al3a3al1

+ al2al3d3v1)t1 + (al2d3al1 + al2a3v1 − al2d2al1 − a2al3v1 − a2al1v1 + al2al3d2 + al2a1v1

− al2al3al1a1v1− al2al3a3al1v1− al2al3d3)t2 +(−a2v1− al2d3− al2al3a1v1 + al2d2 + a2al3al1v1

− al2al1a1v1 − al2a3al1v1 + al2al3d2al1 − al2al3d3al1 − al2al3a3v1)t3 + (2al2 − 2al2al3al1)t4

+ (−2al2al1 − 2al2al3)t5 + (−2al2al3v1 − 2al2al1v1)t6 + (−2al2v1 + 2al2al3al1v1)t7)x1

+ ((−al2d2 + a2v1 + al2al3a1v1 + al2d3 − a2al3al1v1 + al2al1a1v1 + al2a3al1v1 − al2al3d2al1

+al2al3d3al1 +al2al3a3v1)t0 +(−al2a1v1−al2a3v1 +a2al3v1 +a2al1v1−al2al3d2 +al2al3al1a1v1

+al2d2al1−al2d3al1 +al2al3d3 +al2al3a3al1v1)t1 +(−al2d3al1v1−a2al1−a2al3 +al2a1 +al2a3

+al2d2al1v1−al2al3al1a1−al2al3d2v1−al2al3a3al1+al2al3d3v1)t2+(al2al3a1+al2al1a1−a2al3al1

+ al2al3d2al1v1 − al2al3d3al1v1 + al2d2v1 + al2a3al1 + al2al3a3 − al2d3v1 + a2)t3 + (2al2v1

− 2al2al3al1v1)t4 + (2al2al3v1 + 2al2al1v1)t5 + (−2al2al1− 2al2al3)t6 + (2al2− 2al2al3al1)t7)x2

+((al2d3al1+al2a3v1−al2d2al1−a2al3v1−a2al1v1+al2al3d2+al2a1v1−al2al3al1a1v1−al2al3a3al1v1

−al2al3d3)t0+(−al2d2+a2v1+al2al3a1v1+al2d3−a2al3al1v1+al2al1a1v1+al2a3al1v1−al2al3d2al1

+al2al3d3al1 +al2al3a3v1)t1 +(al2d3v1−a2−al2al3d2al1v1 +al2al3d3al1v1 +a2al3al1−al2al3a1

−al2al1a1−al2d2v1−al2a3al1−al2al3a3)t2+(−al2d3al1v1−a2al1−a2al3+al2a1+al2a3+al2d2al1v1

− al2al3al1a1 − al2al3d2v1 − al2al3a3al1 + al2al3d3v1)t3 + (−2al2al3v1 − 2al2al1v1)t4 + (2al2v1

− 2al2al3al1v1)t5 + (−2al2 + 2al2al3al1)t6 + (−2al2al1 − 2al2al3)t7)x3

+ ((−2al2al1 − 2al2al3)t0 + (−2al2 + 2al2al3al1)t1 + (−2al2v1 + 2al2al3al1v1)t2 + (2al2al3v1

+ 2al2al1v1)t3)y0 + ((2al2 − 2al2al3al1)t0 + (−2al2al1 − 2al2al3)t1 + (−2al2al3v1 − 2al2al1v1)t2

+(−2al2v1+2al2al3al1v1)t3)y1+((2al2v1−2al2al3al1v1)t0+(2al2al3v1+2al2al1v1)t1+(−2al2al1

− 2al2al3)t2 + (2al2− 2al2al3al1)t3)y2 + ((−2al2al3v1− 2al2al1v1)t0 + (2al2v1− 2al2al3al1v1)t1

+ (−2al2 + 2al2al3al1)t2 + (−2al2al1 − 2al2al3)t3)y3 = 0

(A.2)

123

Page 140: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H3(v1) :

((a2al3v1 − al2al3d2 + al2a1v1 − al2d2al1 + al2d3al1 + al2al3d3 − al2a3v1 + al2al3al1a1v1

− al2al3a3al1v1 − a2al1v1)t0 + (al2d3 + a2v1 + a2al3al1v1 + al2al1a1v1 − al2al3a1v1 − al2d2

− al2al3d3al1 + al2al3a3v1 − al2a3al1v1 + al2al3d2al1)t1 + (al2d3v1 − al2al3a3 + al2al3d2al1v1

− al2d2v1 − a2 − a2al3al1 + al2al3a1 − al2al1a1 − al2al3d3al1v1 + al2a3al1)t2 + (−a2al1 − al2a3

−al2al3a3al1 +al2d2al1v1−al2d3al1v1 +al2al3d2v1 +a2al3−al2al3d3v1 +al2al3al1a1 +al2a1)t3

+ (−2al2al1v1 + 2al2al3v1)t4 + (2al2v1 + 2al2al3al1v1)t5 + (−2al2 − 2al2al3al1)t6

+ (2al2al3 − 2al2al1)t7)x0 + ((al2d2 − a2v1 + al2al3a1v1 − al2d3 − a2al3al1v1 − al2al1a1v1

+ al2a3al1v1 − al2al3d2al1 + al2al3d3al1 − al2al3a3v1)t0 + (a2al3v1 − al2al3d2 + al2a1v1

− al2d2al1 + al2d3al1 + al2al3d3 − al2a3v1 + al2al3al1a1v1 − al2al3a3al1v1 − a2al1v1)t1

+ (al2a3 − al2d2al1v1 − al2al3al1a1 − al2al3d2v1 + al2al3a3al1 + al2al3d3v1 + al2d3al1v1

+ a2al1 − a2al3 − al2a1)t2 + (al2d3v1 − al2al3a3 + al2al3d2al1v1 − al2d2v1 − a2 − a2al3al1

+ al2al3a1 − al2al1a1 − al2al3d3al1v1 + al2a3al1)t3 + (−2al2v1 − 2al2al3al1v1)t4

+ (−2al2al1v1 + 2al2al3v1)t5 + (−2al2al3 + 2al2al1)t6 + (−2al2 − 2al2al3al1)t7)x1

+ ((−al2al3a1 + al2al1a1 + a2al3al1 − al2al3d2al1v1 + al2al3d3al1v1 + al2d2v1 − al2a3al1

+ al2al3a3 − al2d3v1 + a2)t0 + (−a2al1 − al2a3 − al2al3a3al1 + al2d2al1v1 − al2d3al1v1

+ al2al3d2v1 + a2al3 − al2al3d3v1 + al2al3al1a1 + al2a1)t1 + (a2al3v1 − al2al3d2 + al2a1v1

− al2d2al1 + al2d3al1 + al2al3d3 − al2a3v1 + al2al3al1a1v1 − al2al3a3al1v1 − a2al1v1)t2 + (al2d2

− a2v1 + al2al3a1v1 − al2d3 − a2al3al1v1 − al2al1a1v1 + al2a3al1v1 − al2al3d2al1 + al2al3d3al1

− al2al3a3v1)t3 + (2al2 + 2al2al3al1)t4 + (2al2al3 − 2al2al1)t5 + (−2al2al1v1 + 2al2al3v1)t6

+ (−2al2v1 − 2al2al3al1v1)t7)x2 + ((al2a3 − al2d2al1v1 − al2al3al1a1 − al2al3d2v1 + al2al3a3al1

+al2al3d3v1+al2d3al1v1+a2al1−a2al3−al2a1)t0+(−al2al3a1+al2al1a1+a2al3al1−al2al3d2al1v1

+ al2al3d3al1v1 + al2d2v1 − al2a3al1 + al2al3a3 − al2d3v1 + a2)t1 + (al2d3 + a2v1 + a2al3al1v1

+al2al1a1v1−al2al3a1v1−al2d2−al2al3d3al1+al2al3a3v1−al2a3al1v1+al2al3d2al1)t2+(a2al3v1

− al2al3d2 + al2a1v1 − al2d2al1 + al2d3al1 + al2al3d3 − al2a3v1 + al2al3al1a1v1 − al2al3a3al1v1

−a2al1v1)t3+(−2al2al3+2al2al1)t4+(2al2+2al2al3al1)t5+(2al2v1+2al2al3al1v1)t6+(−2al2al1v1

+2al2al3v1)t7)x3+((−2al2al1v1+2al2al3v1)t0+(2al2v1+2al2al3al1v1)t1+(−2al2−2al2al3al1)t2

+(2al2al3−2al2al1)t3)y0 +((−2al2v1−2al2al3al1v1)t0 +(−2al2al1v1 +2al2al3v1)t1 +(−2al2al3

+2al2al1)t2+(−2al2−2al2al3al1)t3)y1+((2al2+2al2al3al1)t0+(2al2al3−2al2al1)t1+(−2al2al1v1

+ 2al2al3v1)t2 + (−2al2v1 − 2al2al3al1v1)t3)y2 + ((−2al2al3 + 2al2al1)t0 + (2al2 + 2al2al3al1)t1

+ (2al2v1 + 2al2al3al1v1)t2 + (−2al2al1v1 + 2al2al3v1)t3)y3 = 0

(A.3)

124

Page 141: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H4(v1) :

((−d3−d2−al3a1v1−a2al2al3al1v1+al3d2al1−a2al2v1+al3d3al1−a3al1v1+al3a3v1+al1a1v1)t0

+(d3al1+d2al1+al3d3+al3d2+a3v1−a1v1+a2al2al3v1−al3al1a1v1+al3a3al1v1−a2al2al1v1)t1

+ (a2al2al1 + al3al1a1− a2al2al3− al3a3al1 + d3al1v1 + al3d2v1 + d2al1v1 + a1− a3 + al3d3v1)t2

+ (al1a1− a3al1 + d2v1− al3a1 + al3a3− al3d3al1v1 + d3v1− a2al2− al3d2al1v1− a2al2al3al1)t3

+ (2v1 + 2al3al1v1)t4 + (−2al3v1 + 2al1v1)t5 + (−2al1 + 2al3)t6 + (2 + 2al3al1)t7)x0 + ((a1v1

− al3d2 + a2al2al1v1 − al3d3 + al3al1a1v1 − d2al1 − a3v1 − a2al2al3v1 − al3a3al1v1 − d3al1)t0

+(al3d2al1−d3−d2−al3a1v1−a2al2al3al1v1−a2al2v1+al3d3al1−a3al1v1+al3a3v1+al1a1v1)t1

+ (a2al2− al3a3 + al3a1 + a3al1− d3v1− d2v1 + a2al2al3al1 + al3d2al1v1 + al3d3al1v1− al1a1)t2

+ (a2al2al1 + al3al1a1− a2al2al3− al3a3al1 + d3al1v1 + al3d2v1 + d2al1v1 + a1− a3 + al3d3v1)t3

+ (2al3v1 − 2al1v1)t4 + (2v1 + 2al3al1v1)t5 + (−2− 2al3al1)t6 + (−2al1 + 2al3)t7)x1

+((a3−al3al1a1−al3d2v1−a2al2al1 +al3a3al1−d3al1v1−al3d3v1−d2al1v1−a1 +a2al2al3)t0

+ (al1a1− a3al1 + d2v1− al3a1 + al3a3− al3d3al1v1 + d3v1− a2al2− al3d2al1v1− a2al2al3al1)t1

+(al3d2al1−d3−d2−al3a1v1−a2al2al3al1v1−a2al2v1+al3d3al1−a3al1v1+al3a3v1+al1a1v1)t2

+(a1v1−al3d2+a2al2al1v1−al3d3+al3al1a1v1−d2al1−a3v1−a2al2al3v1−al3a3al1v1−d3al1)t3

+ (2al1 − 2al3)t4 + (2 + 2al3al1)t5 + (2v1 + 2al3al1v1)t6 + (2al3v1 − 2al1v1)t7)x2

+((a2al2−al3a3 +al3a1 +a3al1−d3v1−d2v1 +a2al2al3al1 +al3d2al1v1 +al3d3al1v1−al1a1)t0

+ (a3− al3al1a1− al3d2v1− a2al2al1 + al3a3al1− d3al1v1− al3d3v1− d2al1v1− a1 + a2al2al3)t1

+(d3al1+d2al1+al3d3+al3d2+a3v1−a1v1+a2al2al3v1−al3al1a1v1+al3a3al1v1−a2al2al1v1)t2

+ (−d3 − d2 − al3a1v1 − a2al2al3al1v1 + al3d2al1 − a2al2v1 + al3d3al1 − a3al1v1 + al3a3v1

+al1a1v1)t3 +(−2− 2al3al1)t4 +(2al1− 2al3)t5 +(−2al3v1 +2al1v1)t6 +(2v1 +2al3al1v1)t7)x3

+ ((2v1 + 2al3al1v1)t0 + (−2al3v1 + 2al1v1)t1 + (−2al1 + 2al3)t2 + (2 + 2al3al1)t3)y0

+ ((2al3v1 − 2al1v1)t0 + (2v1 + 2al3al1v1)t1 + (−2− 2al3al1)t2 + (−2al1 + 2al3)t3)y1

+ ((2al1 − 2al3)t0 + (2 + 2al3al1)t1 + (2v1 + 2al3al1v1)t2 + (2al3v1 − 2al1v1)t3)y2

+ ((−2− 2al3al1)t0 + (2al1 − 2al3)t1 + (−2al3v1 + 2al1v1)t2 + (2v1 + 2al3al1v1)t3)y3 = 0

(A.4)

125

Page 142: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

A.2. T (v2)

H1(v2) :

((−al3d3al1 − al3d3al2 − al3al1d2 + al3al2d2 + al3a2v2 − al3v2a1 + al3al1al2a2v2

− al3al1a1al2v2 + a3al1v2 − al2a3v2)t0 + (−d3al1 + a2v2 + a3al3al2v2

− al1d2 + al2d2 − a1v2 − d3al2 + al1al2a2v2 − al1a1al2v2 − al3a3al1v2)t1+ (a1 + a2− d2al2v2− a2al1al2− a1al1al2− d2al1v2 + d3al2v2 + a3al3al2 + a3al3al1− d3al1v2)t2+(al2a3 +al3al1al2a2 +al3al1al2a1 +d3al1al3v2−al3d3al2v2 +al1a3−al3a1−al3a2 +al1d2al3v2

+ d2al3al2v2)t3 + (−2al3v2al1 + 2al3v2al2)t4 + (−2al1v2 + 2al2v2)t5 + (2al2 + 2al1)t6+ (−2al3al1 − 2al3al2)t7)x0 + ((−al1al2a2v2 + al3a3al1v2 + d3al1 + a1v2 − a3al3al2v2 + d3al2

+ al1a1al2v2 − al2d2 − a2v2 + al1d2)t0 + (−al3d3al1 − al3d3al2 − al3al1d2 + al3al2d2 + al3a2v2

− al3v2a1 + al3al1al2a2v2 − al3al1a1al2v2 + a3al1v2 − al2a3v2)t1 + (al3a1 − al1d2al3v2

− d2al3al2v2 + al3a2 − al3al1al2a1 − d3al1al3v2 + al3d3al2v2 − al3al1al2a2 − al1a3 − al2a3)t2+ (a1 + a2− d2al2v2− a2al1al2− a1al1al2− d2al1v2 + d3al2v2 + a3al3al2 + a3al3al1− d3al1v2)t3+ (2al1v2 − 2al2v2)t4 + (−2al3v2al1 + 2al3v2al2)t5 + (2al3al1 + 2al3al2)t6 + (2al2 + 2al1)t7)x1

+((−a1 +d2al1v2 +d2al2v2 +a2al1al2 +a1al1al2 +d3al1v2−d3al2v2−a3al3al2−a3al3al1−a2)t0+ (al2a3 + al3al1al2a2 + al3al1al2a1 + d3al1al3v2 − al3d3al2v2 + al1a3 − al3a1 − al3a2

+ al1d2al3v2 + d2al3al2v2)t1 + (−al3d3al1 − al3d3al2 − al3al1d2 + al3al2d2 + al3a2v2 − al3v2a1

+ al3al1al2a2v2 − al3al1a1al2v2 + a3al1v2 − al2a3v2)t2 + (−al1al2a2v2 + al3a3al1v2 + d3al1

+ a1v2 − a3al3al2v2 + d3al2 + al1a1al2v2 − al2d2 − a2v2 + al1d2)t3 + (−2al2 − 2al1)t4+ (−2al3al1 − 2al3al2)t5 + (−2al3v2al1 + 2al3v2al2)t6 + (2al1v2 − 2al2v2)t7)x2

+((al3a1− al1d2al3v2− d2al3al2v2 + al3a2− al3al1al2a1− d3al1al3v2 + al3d3al2v2− al3al1al2a2

−al1a3−al2a3)t0 +(−a1 +d2al1v2 +d2al2v2 +a2al1al2 +a1al1al2 +d3al1v2−d3al2v2−a3al3al2

− a3al3al1 − a2)t1 + (−d3al1 + a2v2 + a3al3al2v2 − al1d2 + al2d2 − a1v2 − d3al2 + al1al2a2v2

− al1a1al2v2 − al3a3al1v2)t2 + (−al3d3al1 − al3d3al2 − al3al1d2 + al3al2d2 + al3a2v2 − al3v2a1

+ al3al1al2a2v2− al3al1a1al2v2 + a3al1v2− al2a3v2)t3 +(2al3al1 +2al3al2)t4 +(−2al2− 2al1)t5+ (−2al1v2 + 2al2v2)t6 + (−2al3v2al1 + 2al3v2al2)t7)x3

+((−2al3v2al1 +2al3v2al2)t0 +(−2al1v2 +2al2v2)t1 +(2al2 +2al1)t2 +(−2al3al1−2al3al2)t3)y0

+ ((2al1v2 − 2al2v2)t0 + (−2al3v2al1 + 2al3v2al2)t1 + (2al3al1 + 2al3al2)t2 + (2al2 + 2al1)t3)y1

+((−2al2−2al1)t0 +(−2al3al1−2al3al2)t1 +(−2al3v2al1 +2al3v2al2)t2 +(2al1v2−2al2v2)t3)y2

+((2al3al1 +2al3al2)t0 +(−2al2−2al1)t1 +(−2al1v2 +2al2v2)t2 +(−2al3v2al1 +2al3v2al2)t3)y3

= 0

(A.5)

126

Page 143: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H2(v2) :

((−al1v2a2+d3al1al2−al2v2a1+al2a2v2+al1v2a1−d2−d3−al1al2d2−al3a3v2−al3a3al1al2v2)t0

+ (−al3al1v2a1 + al3al1v2a2 − a3al1al2v2 − al3d3al1al2 + a1al3al2v2 − a2al3al2v2

+ al3d2 − a3v2 + al3d3 + al3al1al2d2)t1 + (a3al1al2 − a1al3al2 − a2al3al2

− d3al3v2 + al1d2al3al2v2 − al3d3al1al2v2 − a3 − d2al3v2 − a2al3al1 − a1al3al1)t2

+(−d2v2−al1a1−al2a2−al1a2−d3al1al2v2−al2a1 +al3a3−d3v2 +al1d2al2v2−al3al1al2a3)t3

+ (−2al1al2v2− 2v2)t4 + (2al3v2al1al2 + 2al3v2)t5 + (2al3− 2al3al1al2)t6 + (−2al1al2 + 2)t7)x0

+ ((al3al1v2a1 + a2al3al2v2 − al3al1al2d2 + a3al1al2v2 + al3d3al1al2 − a1al3al2v2

− al3d3 − al3d2 + a3v2 − al3al1v2a2)t0 + (−al1v2a2 + d3al1al2 − al2v2a1

+ al2a2v2 + al1v2a1 − d2 − d3 − al1al2d2 − al3a3v2 − al3a3al1al2v2)t1

+ (al2a2 + d2v2 + al1a2 + al1a1− al3a3 + al2a1 + al3al1al2a3 + d3v2− al1d2al2v2 + d3al1al2v2)t2

+ (a3al1al2 − a1al3al2 − a2al3al2 − d3al3v2 + al1d2al3al2v2 − al3d3al1al2v2 − a3

− d2al3v2 − a2al3al1 − a1al3al1)t3 + (−2al3v2 − 2al3v2al1al2)t4 + (−2al1al2v2 − 2v2)t5

+ (2al1al2 − 2)t6 + (2al3 − 2al3al1al2)t7)x1 + ((a2al3al1 + d3al3v2 + a1al3al1

+ a1al3al2 + a2al3al2 + al3d3al1al2v2 − a3al1al2 + a3 − al1d2al3al2v2 + d2al3v2)t0

+(−d2v2−al1a1−al2a2−al1a2−d3al1al2v2−al2a1 +al3a3−d3v2 +al1d2al2v2−al3al1al2a3)t1

+ (−al1v2a2 + d3al1al2 − al2v2a1 + al2a2v2 + al1v2a1 − d2 − d3 − al1al2d2 − al3a3v2

− al3a3al1al2v2)t2 + (al3al1v2a1 + a2al3al2v2 − al3al1al2d2 + a3al1al2v2 + al3d3al1al2

− a1al3al2v2 − al3d3 − al3d2 + a3v2 − al3al1v2a2)t3 + (−2al3 + 2al3al1al2)t4

+ (−2al1al2 + 2)t5 + (−2al1al2v2 − 2v2)t6 + (−2al3v2 − 2al3v2al1al2)t7)x2

+((al2a2 +d2v2 +al1a2 +al1a1−al3a3 +al2a1 +al3al1al2a3 +d3v2−al1d2al2v2 +d3al1al2v2)t0

+(a2al3al1+d3al3v2+a1al3al1+a1al3al2+a2al3al2+al3d3al1al2v2−a3al1al2+a3−al1d2al3al2v2

+d2al3v2)t1+(−al3al1v2a1+al3al1v2a2−a3al1al2v2−al3d3al1al2+a1al3al2v2−a2al3al2v2+al3d2

− a3v2 + al3d3 + al3al1al2d2)t2 + (−al1v2a2 + d3al1al2 − al2v2a1 + al2a2v2 + al1v2a1 − d2 − d3

−al1al2d2−al3a3v2−al3a3al1al2v2)t3 +(2al1al2−2)t4 +(−2al3 +2al3al1al2)t5 +(2al3v2al1al2

+ 2al3v2)t6 + (−2al1al2v2 − 2v2)t7)x3

+((−2al1al2v2− 2v2)t0 +(2al3v2al1al2 +2al3v2)t1 +(2al3− 2al3al1al2)t2 +(−2al1al2 +2)t3)y0

+((−2al3v2− 2al3v2al1al2)t0 +(−2al1al2v2− 2v2)t1 +(2al1al2− 2)t2 +(2al3− 2al3al1al2)t3)y1

+((−2al3+2al3al1al2)t0+(−2al1al2+2)t1+(−2al1al2v2−2v2)t2+(−2al3v2−2al3v2al1al2)t3)y2

+((2al1al2− 2)t0 +(−2al3 +2al3al1al2)t1 +(2al3v2al1al2 +2al3v2)t2 +(−2al1al2v2− 2v2)t3)y3

= 0

(A.6)

127

Page 144: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H3(v2) :

((al3a1 − al1d2al3v2 − d2al3al2v2 + al3a2 − al3al1al2a1

− d3al1al3v2 + al3d3al2v2 − al3al1al2a2 − al1a3 − al2a3)t0

+ (a1 + a2− d2al2v2− a2al1al2− a1al1al2− d2al1v2 + d3al2v2 + a3al3al2 + a3al3al1− d3al1v2)t1

+ (−al1al2a2v2 + al3a3al1v2 + d3al1 + a1v2 − a3al3al2v2 + d3al2 + al1a1al2v2 − al2d2

− a2v2 + al1d2)t2 + (−al3d3al1 − al3d3al2 − al3al1d2 + al3al2d2 + al3a2v2 − al3v2a1

+ al3al1al2a2v2 − al3al1a1al2v2 + a3al1v2 − al2a3v2)t3 + (2al3al1 + 2al3al2)t4

+ (2al2 + 2al1)t5 + (2al1v2 − 2al2v2)t6 + (−2al3v2al1 + 2al3v2al2)t7)x0

+((−a1 +d2al1v2 +d2al2v2 +a2al1al2 +a1al1al2 +d3al1v2−d3al2v2−a3al3al2−a3al3al1−a2)t0

+ (al3a1 − al1d2al3v2 − d2al3al2v2 + al3a2 − al3al1al2a1 − d3al1al3v2 + al3d3al2v2

− al3al1al2a2 − al1a3 − al2a3)t1 + (al3al1d2 − al3al1al2a2v2 + al3al1a1al2v2 − al3al2d2

+ al3v2a1 + al2a3v2 + al3d3al2 + al3d3al1 − a3al1v2 − al3a2v2)t2 + (−al1al2a2v2

+ al3a3al1v2 + d3al1 + a1v2 − a3al3al2v2 + d3al2 + al1a1al2v2 − al2d2 − a2v2 + al1d2)t3

+ (−2al2 − 2al1)t4 + (2al3al1 + 2al3al2)t5 + (2al3v2al1 − 2al3v2al2)t6 + (2al1v2 − 2al2v2)t7)x1

+ ((−d3al1 + a2v2 + a3al3al2v2 − al1d2 + al2d2 − a1v2 − d3al2 + al1al2a2v2 − al1a1al2v2

− al3a3al1v2)t0 + (−al3d3al1 − al3d3al2 − al3al1d2 + al3al2d2 + al3a2v2 − al3v2a1

+ al3al1al2a2v2 − al3al1a1al2v2 + a3al1v2 − al2a3v2)t1 + (al3a1 − al1d2al3v2 − d2al3al2v2

+ al3a2 − al3al1al2a1 − d3al1al3v2 + al3d3al2v2 − al3al1al2a2 − al1a3 − al2a3)t2

+(−a1 +d2al1v2 +d2al2v2 +a2al1al2 +a1al1al2 +d3al1v2−d3al2v2−a3al3al2−a3al3al1−a2)t3

+(−2al1v2 +2al2v2)t4 +(−2al3v2al1 +2al3v2al2)t5 +(2al3al1 +2al3al2)t6 +(−2al2−2al1)t7)x2

+((al3al1d2− al3al1al2a2v2 + al3al1a1al2v2− al3al2d2 + al3v2a1 + al2a3v2 + al3d3al2 + al3d3al1

− a3al1v2− al3a2v2)t0 +(−d3al1 + a2v2 + a3al3al2v2− al1d2 + al2d2− a1v2− d3al2 + al1al2a2v2

−al1a1al2v2−al3a3al1v2)t1+(a1+a2−d2al2v2−a2al1al2−a1al1al2−d2al1v2+d3al2v2+a3al3al2

+ a3al3al1 − d3al1v2)t2 + (al3a1 − al1d2al3v2 − d2al3al2v2 + al3a2 − al3al1al2a1 − d3al1al3v2

+ al3d3al2v2− al3al1al2a2− al1a3− al2a3)t3 + (2al3v2al1− 2al3v2al2)t4 + (−2al1v2 + 2al2v2)t5

+ (2al2 + 2al1)t6 + (2al3al1 + 2al3al2)t7)x3

+ ((2al3al1 + 2al3al2)t0 + (2al2 + 2al1)t1 + (2al1v2 − 2al2v2)t2 + (−2al3v2al1 + 2al3v2al2)t3)y0

+ ((−2al2 − 2al1)t0 + (2al3al1 + 2al3al2)t1 + (2al3v2al1 − 2al3v2al2)t2 + (2al1v2 − 2al2v2)t3)y1

+((−2al1v2 +2al2v2)t0 +(−2al3v2al1 +2al3v2al2)t1 +(2al3al1 +2al3al2)t2 +(−2al2−2al1)t3)y2

+((2al3v2al1−2al3v2al2)t0+(−2al1v2+2al2v2)t1+(2al2+2al1)t2+(2al3al1+2al3al2)t3)y3 = 0

(A.7)

128

Page 145: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H4(v2) :

((−d2v2−al1a1−al2a2−al1a2− d3al1al2v2−al2a1 +al3a3− d3v2 +al1d2al2v2−al3al1al2a3)t0

+ (a2al3al1 + d3al3v2 + a1al3al1 + a1al3al2 + a2al3al2 + al3d3al1al2v2 − a3al1al2 + a3

− al1d2al3al2v2 + d2al3v2)t1 + (−al3al1v2a1 + al3al1v2a2 − a3al1al2v2 − al3d3al1al2

+ a1al3al2v2 − a2al3al2v2 + al3d2 − a3v2 + al3d3 + al3al1al2d2)t2 + (−d3al1al2 + d2 − al1v2a1

− al2a2v2 + al3a3v2 + al1v2a2 + al2v2a1 + al1al2d2 + al3a3al1al2v2 + d3)t3 + (−2al1al2 + 2)t4

+(−2al3+2al3al1al2)t5+(2al3v2al1al2+2al3v2)t6+(2al1al2v2+2v2)t7)x0+((a3al1al2−a1al3al2

− a2al3al2 − d3al3v2 + al1d2al3al2v2 − al3d3al1al2v2 − a3 − d2al3v2 − a2al3al1 − a1al3al1)t0

+(−d2v2−al1a1−al2a2−al1a2−d3al1al2v2−al2a1 +al3a3−d3v2 +al1d2al2v2−al3al1al2a3)t1

+ (−al1v2a2 + d3al1al2 − al2v2a1 + al2a2v2 + al1v2a1 − d2 − d3 − al1al2d2 − al3a3v2

− al3a3al1al2v2)t2 + (−al3al1v2a1 + al3al1v2a2 − a3al1al2v2 − al3d3al1al2 + a1al3al2v2

− a2al3al2v2 + al3d2 − a3v2 + al3d3 + al3al1al2d2)t3 + (2al3 − 2al3al1al2)t4 + (−2al1al2 + 2)t5

+ (−2al1al2v2 − 2v2)t6 + (2al3v2al1al2 + 2al3v2)t7)x1 + ((al3al1v2a1 + a2al3al2v2 − al3al1al2d2

+ a3al1al2v2 + al3d3al1al2 − a1al3al2v2 − al3d3 − al3d2 + a3v2 − al3al1v2a2)t0 + (−d3al1al2

+ d2 − al1v2a1 − al2a2v2 + al3a3v2 + al1v2a2 + al2v2a1 + al1al2d2 + al3a3al1al2v2 + d3)t1

+(−d2v2−al1a1−al2a2−al1a2−d3al1al2v2−al2a1 +al3a3−d3v2 +al1d2al2v2−al3al1al2a3)t2

+(a3al1al2−a1al3al2−a2al3al2−d3al3v2+al1d2al3al2v2−al3d3al1al2v2−a3−d2al3v2−a2al3al1

− a1al3al1)t3 + (−2al3v2 − 2al3v2al1al2)t4 + (2al1al2v2 + 2v2)t5 + (−2al1al2 + 2)t6 + (2al3

−2al3al1al2)t7)x2+((−al1v2a2+d3al1al2−al2v2a1+al2a2v2+al1v2a1−d2−d3−al1al2d2−al3a3v2

−al3a3al1al2v2)t0+(al3al1v2a1+a2al3al2v2−al3al1al2d2+a3al1al2v2+al3d3al1al2−a1al3al2v2

− al3d3 − al3d2 + a3v2 − al3al1v2a2)t1 + (a2al3al1 + d3al3v2 + a1al3al1 + a1al3al2 + a2al3al2

+ al3d3al1al2v2 − a3al1al2 + a3 − al1d2al3al2v2 + d2al3v2)t2 + (−d2v2 − al1a1 − al2a2 − al1a2

−d3al1al2v2−al2a1+al3a3−d3v2+al1d2al2v2−al3al1al2a3)t3+(−2al1al2v2−2v2)t4+(−2al3v2

− 2al3v2al1al2)t5 + (−2al3 + 2al3al1al2)t6 + (−2al1al2 + 2)t7)x3

+((−2al1al2 +2)t0 +(−2al3 +2al3al1al2)t1 +(2al3v2al1al2 +2al3v2)t2 +(2al1al2v2 +2v2)t3)y0

+((2al3− 2al3al1al2)t0 +(−2al1al2 +2)t1 +(−2al1al2v2− 2v2)t2 +(2al3v2al1al2 +2al3v2)t3)y1

+((−2al3v2− 2al3v2al1al2)t0 +(2al1al2v2 +2v2)t1 +(−2al1al2 +2)t2 +(2al3− 2al3al1al2)t3)y2

+((−2al1al2v2−2v2)t0+(−2al3v2−2al3v2al1al2)t1+(−2al3+2al3al1al2)t2+(−2al1al2+2)t3)y3

= 0

(A.8)

129

Page 146: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

A.3. T (v3)

H1(v3) :

((−al2a2 +a1al1− d2v3−al3a2−al3a3−al2a3− v3d3−a1al1al2al3−al3al2d2v3 +al2v3al3d3)t0

+ (v3al3d3 + al2al3a3 + al2v3d3− a2− a3− a1al1al3− a1al1al2 + al3al2a2 + al3d2v3− al2d2v3)t1

+(al2d3−al3d2−al2d2+a2v3−v3a3−al3d3+a1al1al2v3−a1al1v3al3+al3al2a2v3−al2v3al3a3)t2

+ (−a1al1v3 + al2a2v3 − al3a2v3 + al3al2d2 − al2al3d3 + v3al3a3 − d2 − d3 − al2v3a3

−a1al1al2v3al3)t3+(−2+2al2al3)t4+(2al3+2al2)t5+(2v3al3−2al2v3)t6+(2v3+2al2v3al3)t7)x0

+((a1al1al3 +a1al1al2−al3al2a2−al3d2v3 +al2d2v3−al2al3a3−al2v3d3− v3al3d3 +a2 +a3)t0

+(−al2a2 +a1al1−d2v3−al3a2−al3a3−al2a3−v3d3−a1al1al2al3−al3al2d2v3 +al2v3al3d3)t1

+(a1al1v3+al3a2v3−al3al2d2−al2a2v3+al2al3d3+al2v3a3−v3al3a3+d2+d3+a1al1al2v3al3)t2

+(al2d3−al3d2−al2d2+a2v3−v3a3−al3d3+a1al1al2v3−a1al1v3al3+al3al2a2v3−al2v3al3a3)t3

+ (−2al3− 2al2)t4 + (−2 + 2al2al3)t5 + (−2al2v3al3− 2v3)t6 + (2v3al3− 2al2v3)t7)x1 + ((al3d2

− a2v3 + al2d2 − al2d3 + al3d3 + v3a3 − a1al1al2v3 + a1al1v3al3 − al3al2a2v3 + al2v3al3a3)t0

+(al2a2v3−a1al1v3−al3a2v3+al3al2d2−al2al3d3+v3al3a3−d2−d3−al2v3a3−a1al1al2v3al3)t1

+(−al2a2 +a1al1−d2v3−al3a2−al3a3−al2a3−v3d3−a1al1al2al3−al3al2d2v3 +al2v3al3d3)t2

+ (a1al1al3 + a1al1al2− al3al2a2− al3d2v3 + al2d2v3− al2al3a3− al2v3d3− v3al3d3 + a2 + a3)t3

+ (2al2v3− 2v3al3)t4 + (2v3 + 2al2v3al3)t5 + (−2 + 2al2al3)t6 + (−2al3− 2al2)t7)x2 + ((a1al1v3

+ al3a2v3 − al3al2d2 − al2a2v3 + al2al3d3 + al2v3a3 − v3al3a3 + d2 + d3 + a1al1al2v3al3)t0

+(al3d2−a2v3+al2d2−al2d3+al3d3+v3a3−a1al1al2v3+a1al1v3al3−al3al2a2v3+al2v3al3a3)t1

+ (v3al3d3 + al2al3a3 + al2v3d3− a2− a3− a1al1al3− a1al1al2 + al3al2a2 + al3d2v3− al2d2v3)t2

+(−al2a2 +a1al1−d2v3−al3a2−al3a3−al2a3−v3d3−a1al1al2al3−al3al2d2v3 +al2v3al3d3)t3

+ (−2al2v3al3 − 2v3)t4 + (2al2v3 − 2v3al3)t5 + (2al3 + 2al2)t6 + (−2 + 2al2al3)t7)x3

+ ((−2 + 2al2al3)t0 + (2al3 + 2al2)t1 + (2v3al3 − 2al2v3)t2 + (2v3 + 2al2v3al3)t3)y0

+ ((−2al3 − 2al2)t0 + (−2 + 2al2al3)t1 + (−2al2v3al3 − 2v3)t2 + (2v3al3 − 2al2v3)t3)y1

+ ((2al2v3 − 2v3al3)t0 + (2v3 + 2al2v3al3)t1 + (−2 + 2al2al3)t2 + (−2al3 − 2al2)t3)y2

+ ((−2al2v3al3 − 2v3)t0 + (2al2v3 − 2v3al3)t1 + (2al3 + 2al2)t2 + (−2 + 2al2al3)t3)y3 = 0

(A.9)

130

Page 147: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H2(v3) :

((−2al1al2 − 2al1al3)t0 + (2al1al2al3 − 2al1)t1 + (2al1v3 + 2al1al2v3al3)t2+ (2al1al2v3 − 2al1v3al3)t3)y0 + ((−2al1al2al3 + 2al1)t0 + (−2al1al2 − 2al1al3)t1+ (−2al1al2v3 + 2al1v3al3)t2 + (2al1v3 + 2al1al2v3al3)t3)y1 + ((−2al1v3 − 2al1al2v3al3)t0+ (2al1al2v3 − 2al1v3al3)t1 + (−2al1al2 − 2al1al3)t2 + (−2al1al2al3 + 2al1)t3)y2

+ ((−2al1al2v3 + 2al1v3al3)t0 + (−2al1v3 − 2al1al2v3al3)t1 + (2al1al2al3 − 2al1)t2+ (−2al1al2 − 2al1al3)t3)y3 + ((−a1al2 − a1al3 + al1a2 + al1a3 + al1al2d2v3 − al1al3al2a2

− al1al3d2v3 − al1al2al3a3 − al1v3al3d3 − al1al2v3d3)t0 + (−al1al2a3 − a1 + a1al2al3 − al1al2a2

−al1d2v3−al1al3a3−al1al3al2d2v3+al1al2v3al3d3−al1v3d3−al1al3a2)t1+(a1v3−al1d2−al1d3

+ a1al2v3al3 − al1al3a2v3 + al1al3al2d2 + al1al2a2v3 − al1al2al3d3 − al1al2v3a3 + al1v3al3a3)t2+(a1al2v3−a1v3al3+al1al3d2+al1al2d2−al1a2v3+al1v3a3−al1al2d3+al1al3d3−al1al3al2a2v3

+ al1al2v3al3a3)t3 + (−2al1al2 − 2al1al3)t4 + (2al1al2al3 − 2al1)t5 + (2al1v3 + 2al1al2v3al3)t6+ (2al1al2v3 − 2al1v3al3)t7)x0 + ((−a1al2al3 + al1al2a2 + al1d2v3 + al1al3a2 + al1al3a3

+ al1al2a3 + al1v3d3 + a1 + al1al3al2d2v3 − al1al2v3al3d3)t0 + (−a1al2 − a1al3 + al1a2

+ al1a3 + al1al2d2v3 − al1al3al2a2 − al1al3d2v3 − al1al2al3a3 − al1v3al3d3 − al1al2v3d3)t1+ (−a1al2v3 + a1v3al3 − al1al3d2 + al1a2v3 − al1al2d2 + al1al2d3 − al1al3d3 − al1v3a3

+ al1al3al2a2v3 − al1al2v3al3a3)t2 + (a1v3 − al1d2 − al1d3 + a1al2v3al3 − al1al3a2v3

+ al1al3al2d2 + al1al2a2v3 − al1al2al3d3 − al1al2v3a3 + al1v3al3a3)t3 + (−2al1al2al3 + 2al1)t4+ (−2al1al2 − 2al1al3)t5 + (−2al1al2v3 + 2al1v3al3)t6 + (2al1v3 + 2al1al2v3al3)t7)x1

+ ((−a1v3 + al1d2 + al1d3 − a1al2v3al3 − al1al2a2v3 + al1al3a2v3 − al1al3al2d2 + al1al2al3d3

− al1v3al3a3 + al1al2v3a3)t0 + (a1al2v3 − a1v3al3 + al1al3d2 + al1al2d2 − al1a2v3 + al1v3a3

− al1al2d3 + al1al3d3 − al1al3al2a2v3 + al1al2v3al3a3)t1 + (−a1al2 − a1al3 + al1a2 + al1a3

+ al1al2d2v3 − al1al3al2a2 − al1al3d2v3 − al1al2al3a3 − al1v3al3d3 − al1al2v3d3)t2 + (−a1al2al3

+ al1al2a2 + al1d2v3 + al1al3a2 + al1al3a3 + al1al2a3 + al1v3d3 + a1 + al1al3al2d2v3

− al1al2v3al3d3)t3 + (−2al1v3 − 2al1al2v3al3)t4 + (2al1al2v3 − 2al1v3al3)t5 + (−2al1al2

− 2al1al3)t6 + (−2al1al2al3 + 2al1)t7)x2 + ((−a1al2v3 + a1v3al3− al1al3d2 + al1a2v3− al1al2d2

+ al1al2d3 − al1al3d3 − al1v3a3 + al1al3al2a2v3 − al1al2v3al3a3)t0 + (−a1v3 + al1d2 + al1d3

− a1al2v3al3 − al1al2a2v3 + al1al3a2v3 − al1al3al2d2 + al1al2al3d3 − al1v3al3a3 + al1al2v3a3)t1+(−al1al2a3−a1+a1al2al3−al1al2a2−al1d2v3−al1al3a3−al1al3al2d2v3+al1al2v3al3d3−al1v3d3

−al1al3a2)t2+(−a1al2−a1al3+al1a2+al1a3+al1al2d2v3−al1al3al2a2−al1al3d2v3−al1al2al3a3

− al1v3al3d3 − al1al2v3d3)t3 + (−2al1al2v3 + 2al1v3al3)t4+ (−2al1v3 − 2al1al2v3al3)t5 + (2al1al2al3 − 2al1)t6 + (−2al1al2 − 2al1al3)t7)x3 = 0

(A.10)

131

Page 148: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H3(v3) :

((a1al2v3−a1v3al3 +al1al3d2 +al1al2d2−al1a2v3 +al1v3a3−al1al2d3 +al1al3d3−al1al3al2a2v3

+ al1al2v3al3a3)t0 +(−a1v3 + al1d2 + al1d3− a1al2v3al3− al1al2a2v3 + al1al3a2v3− al1al3al2d2

+ al1al2al3d3 − al1v3al3a3 + al1al2v3a3)t1 + (−al1al2a3 − a1 + a1al2al3 − al1al2a2 − al1d2v3

− al1al3a3 − al1al3al2d2v3 + al1al2v3al3d3 − al1v3d3 − al1al3a2)t2 + (a1al3 + al1v3al3d3

− al1a3 + al1al3d2v3 + al1al2al3a3 − al1a2 + al1al2v3d3 + al1al3al2a2 − al1al2d2v3 + a1al2)t3

+ (2al1al2v3 − 2al1v3al3)t4 + (−2al1v3 − 2al1al2v3al3)t5 + (2al1al2al3 − 2al1)t6

+ (2al1al2 + 2al1al3)t7)x0 + ((a1v3 − al1d2 − al1d3 + a1al2v3al3 − al1al3a2v3 + al1al3al2d2

+ al1al2a2v3 − al1al2al3d3 − al1al2v3a3 + al1v3al3a3)t0 + (a1al2v3 − a1v3al3 + al1al3d2

+ al1al2d2 − al1a2v3 + al1v3a3 − al1al2d3 + al1al3d3 − al1al3al2a2v3 + al1al2v3al3a3)t1

+ (−a1al2 − a1al3 + al1a2 + al1a3 + al1al2d2v3 − al1al3al2a2 − al1al3d2v3 − al1al2al3a3

− al1v3al3d3 − al1al2v3d3)t2 + (−al1al2a3 − a1 + a1al2al3 − al1al2a2 − al1d2v3 − al1al3a3

− al1al3al2d2v3 + al1al2v3al3d3 − al1v3d3 − al1al3a2)t3 + (2al1v3 + 2al1al2v3al3)t4

+ (2al1al2v3 − 2al1v3al3)t5 + (−2al1al2 − 2al1al3)t6 + (2al1al2al3 − 2al1)t7)x1

+((−a1al2al3 +al1al2a2 +al1d2v3 +al1al3a2 +al1al3a3 +al1al2a3 +al1v3d3 +a1 +al1al3al2d2v3

− al1al2v3al3d3)t0 + (a1al3 + al1v3al3d3 − al1a3 + al1al3d2v3 + al1al2al3a3 − al1a2 + al1al2v3d3

+al1al3al2a2−al1al2d2v3+a1al2)t1+(a1al2v3−a1v3al3+al1al3d2+al1al2d2−al1a2v3+al1v3a3

− al1al2d3 + al1al3d3 − al1al3al2a2v3 + al1al2v3al3a3)t2 + (a1v3 − al1d2 − al1d3 + a1al2v3al3

−al1al3a2v3 +al1al3al2d2 +al1al2a2v3−al1al2al3d3−al1al2v3a3 +al1v3al3a3)t3 +(−2al1al2al3

+ 2al1)t4 + (2al1al2 + 2al1al3)t5 + (2al1al2v3 − 2al1v3al3)t6 + (2al1v3 + 2al1al2v3al3)t7)x2

+ ((−a1al2 − a1al3 + al1a2 + al1a3 + al1al2d2v3 − al1al3al2a2 − al1al3d2v3 − al1al2al3a3

− al1v3al3d3 − al1al2v3d3)t0 + (−a1al2al3 + al1al2a2 + al1d2v3 + al1al3a2 + al1al3a3 + al1al2a3

+al1v3d3+a1+al1al3al2d2v3−al1al2v3al3d3)t1+(−a1v3+al1d2+al1d3−a1al2v3al3−al1al2a2v3

+al1al3a2v3−al1al3al2d2+al1al2al3d3−al1v3al3a3+al1al2v3a3)t2+(a1al2v3−a1v3al3+al1al3d2

+al1al2d2−al1a2v3+al1v3a3−al1al2d3+al1al3d3−al1al3al2a2v3+al1al2v3al3a3)t3+(−2al1al2

−2al1al3)t4 +(−2al1al2al3 +2al1)t5 +(−2al1v3−2al1al2v3al3)t6 +(2al1al2v3−2al1v3al3)t7)x3

+ ((2al1al2v3 − 2al1v3al3)t0 + (−2al1v3 − 2al1al2v3al3)t1 + (2al1al2al3 − 2al1)t2 + (2al1al2

+ 2al1al3)t3)y0 + ((2al1v3 + 2al1al2v3al3)t0 + (2al1al2v3− 2al1v3al3)t1 + (−2al1al2− 2al1al3)t2

+(2al1al2al3−2al1)t3)y1+((−2al1al2al3+2al1)t0+(2al1al2+2al1al3)t1+(2al1al2v3−2al1v3al3)t2

+ (2al1v3 + 2al1al2v3al3)t3)y2 + ((−2al1al2 − 2al1al3)t0 + (−2al1al2al3 + 2al1)t1 + (−2al1v3

− 2al1al2v3al3)t2 + (2al1al2v3 − 2al1v3al3)t3)y3 = 0

(A.11)

132

Page 149: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

A. One parameter sets of 3-spaces

H4(v3) :

((−a1al1v3+al2a2v3−al3a2v3+al3al2d2−al2al3d3+v3al3a3−d2−d3−al2v3a3−a1al1al2v3al3)t0+(al3d2−a2v3+al2d2−al2d3+al3d3+v3a3−a1al1al2v3+a1al1v3al3−al3al2a2v3+al2v3al3a3)t1+ (v3al3d3 + al2al3a3 + al2v3d3− a2− a3− a1al1al3− a1al1al2 + al3al2a2 + al3d2v3− al2d2v3)t2+(−a1al1 +al3a2 +a1al1al2al3 +d2v3−al2v3al3d3 +al2a3 +al3al2d2v3 +al3a3 +v3d3 +al2a2)t3+ (2v3 + 2al2v3al3)t4 + (2al2v3 − 2v3al3)t5 + (2al3 + 2al2)t6 + (2− 2al2al3)t7)x0 + ((al2d3

− al3d2 − al2d2 + a2v3 − v3a3 − al3d3 + a1al1al2v3 − a1al1v3al3 + al3al2a2v3 − al2v3al3a3)t0+(al2a2v3−a1al1v3−al3a2v3+al3al2d2−al2al3d3+v3al3a3−d2−d3−al2v3a3−a1al1al2v3al3)t1+(−al2a2 +a1al1−d2v3−al3a2−al3a3−al2a3−v3d3−a1al1al2al3−al3al2d2v3 +al2v3al3d3)t2+ (v3al3d3 + al2al3a3 + al2v3d3− a2− a3− a1al1al3− a1al1al2 + al3al2a2 + al3d2v3− al2d2v3)t3+ (2v3al3 − 2al2v3)t4 + (2v3 + 2al2v3al3)t5 + (−2 + 2al2al3)t6 + (2al3 + 2al2)t7)x1

+((a1al1al3 +a1al1al2−al3al2a2−al3d2v3 +al2d2v3−al2al3a3−al2v3d3− v3al3d3 +a2 +a3)t0+(−a1al1+al3a2+a1al1al2al3+d2v3−al2v3al3d3+al2a3+al3al2d2v3+al3a3+v3d3+al2a2)t1+(−a1al1v3+al2a2v3−al3a2v3+al3al2d2−al2al3d3+v3al3a3−d2−d3−al2v3a3−a1al1al2v3al3)t2+(al2d3−al3d2−al2d2+a2v3−v3a3−al3d3+a1al1al2v3−a1al1v3al3+al3al2a2v3−al2v3al3a3)t3+ (−2al3 − 2al2)t4 + (2− 2al2al3)t5 + (2v3 + 2al2v3al3)t6 + (2v3al3 − 2al2v3)t7)x2

+((−al2a2 +a1al1−d2v3−al3a2−al3a3−al2a3−v3d3−a1al1al2al3−al3al2d2v3 +al2v3al3d3)t0+ (a1al1al3 + a1al1al2− al3al2a2− al3d2v3 + al2d2v3− al2al3a3− al2v3d3− v3al3d3 + a2 + a3)t1+(al3d2−a2v3+al2d2−al2d3+al3d3+v3a3−a1al1al2v3+a1al1v3al3−al3al2a2v3+al2v3al3a3)t2+ (−a1al1v3 + al2a2v3 − al3a2v3 + al3al2d2 − al2al3d3 + v3al3a3

− d2 − d3 − al2v3a3 − a1al1al2v3al3)t3 + (−2 + 2al2al3)t4+ (−2al3 − 2al2)t5 + (2al2v3 − 2v3al3)t6 + (2v3 + 2al2v3al3)t7)x3

+ ((2v3 + 2al2v3al3)t0 + (2al2v3 − 2v3al3)t1 + (2al3 + 2al2)t2 + (2− 2al2al3)t3)y0

+ ((2v3al3 − 2al2v3)t0 + (2v3 + 2al2v3al3)t1 + (−2 + 2al2al3)t2 + (2al3 + 2al2)t3)y1

+ ((−2al3 − 2al2)t0 + (2− 2al2al3)t1 + (2v3 + 2al2v3al3)t2 + (2v3al3 − 2al2v3)t3)y2

+ ((−2 + 2al2al3)t0 + (−2al3 − 2al2)t1 + (2al2v3 − 2v3al3)t2 + (2v3 + 2al2v3al3)t3)y3 = 0

(A.12)

133

Page 150: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

B. Files on CD-Rom

This chapter introduces the structure on the attached CD-Rom. Some of the results would gobeyond the scope of this thesis if they were printed on paper. These results can be seen infiles 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 files (.mpl) on the CD and can becomputed 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 Maplefiles are saved in the directory maple. The second directory, namely publications, contains allthe 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 files are denoted inthe same manner as the headings of the examples.This directory furthermore contains four subdirectories:

hyperplanes: This directory contains the hyperplane equations describing the one parametersets of 3-spaces and the fixed 3-spaces, which yield the constraint manifold of everypossible 3R-chain. All the files contain plain text.

hp-can-vi: the hyperplane equations describing Tc(vi), i = 1, 2, 3.

hp-vi: the hyperplane equations describing T (vi), i = 1, 2, 3.

hp-viq: the hyperplane equations describing T (vi), i = 4, 5, 6.

hp-inverse-2r: containes parts of the above described files.

hp-wrist: the hyperplane equations desctibing Tw.

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. Theseprocedures are

proc BBmatrix: Computes the matrix operator of a transformation that is given inStudy parameters, in E3.

proc MtoSP: Computes the study parameters of a transformation that is given by a4× 4 matrix.

134

Page 151: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

B. Files on CD-Rom

transformations: This directory contains two files with the matrix description of a transfor-mation in the base or moving frame of a manipulator, in the kinematic image space. Thefiles are:

CoordTrafo GS: The matrix TrafoGS is the description of a coordinate transformationof a manipulator in the moving frame, achieved in the kinematic image space. Thematrix TrafoGSI is the inverse.

CoordTrafo RS: The matrix TrafoRS is the description of a coordinate transformationof a manipulator in the base frame, achieved in the kinematic image space. Thematrix TrafoRSI is the inverse.

B.1.2. Directory publications

The first two of the author’s publications in conference proceedings were also presented lateron in an enhanced version in journals. Therefore only the journal publications of this papersare 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 fivegiven poses is an old and well known problem named after L. Burmester. In this paperwe show that with kinematic mapping a much neater, more comprehensive solution isobtained. It produces a univariate quartic that can be solved explicitly. Furthermore,solutions that yield ordinary four-bars, slider-cranks or elliptical trammels are identified,a-priori.

MMT-inverse-kinematics-6r.pdf :A new and efficient algorithm for the inverse kinematics

of a general serial 6R manipulatorAbstract: In this paper a new and very efficient algorithm to compute the inverse kine-matics of a general 6R serial kinematic chain is presented. The main idea is to make useof classical multidimensional geometry to structure the problem and to use the geometricinformation before starting the elimination process. For the geometric preprocessing weutilize the Study model of Euclidean displacements, sometimes called kinematic image,which identifies a displacement with a point on a six dimensional quadric S2

6 in sevendimensional projective space P 7. The 6R-chain is broken up in the middle to form twoopen 3R-chains. The kinematic image of a 3R-chain turns out to be a Segre-manifoldconsisting of a one parameter set of 3-spaces. The intersection of two Segre-manifoldsand S2

6 yields 16 points which are the kinematic images representing the 16 solutionsof the inverse kinematics. Algebraically this procedure means that we have to solve asystem of seven linear equations and one resultant to arrive at the univariate 16 degreepolynomial. From this step in the algorithm we get two out of the six joint angles andthe remaining four angles are obtained straight forward by solving the inverse kinematicsof two 2R-chains.

135

Page 152: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

B. Files on CD-Rom

iftomm2007-submitted-overconstrained-6R.pdf :A Method to Determine the Motion of Overconstrained

6R-MechanismsAbstract: In this paper the input-output equations of overconstrained 6R-mechanismsare computed analytically. These equations yield directly the coupler motion of the 6R-mechanism. The analysis of these overconstrained mechanisms is performed applying thesolution algorithm of the inverse kinematics problem presented in a former paper of theauthors. The presented algorithm can be applied to any overconstrained 6R-mechanism.A numerical example is provided.

136

Page 153: Analysis of Spatial Serial Manipulators Using Kinematic Mapping

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 Tirol1997-2002 Studies at the Technical University and

Karl-Franzens University Graz: descriptivegeometry and mathematics (high school teacher)

2000-2002 Employed as Tutor at the Institute for Geometryat the Technical University Graz

September 2002 Graduation Mag.rer.nat

Since October 2002 Scientific staff at the Leopold-FranzensUniversity Innsbruck.

Schoolyear 04/05 Probationary year at HTL Anichstraße(as high school teacher at a higher technical school)

137