the dual of su(2) in the analysis of spatial linkages, su(2) in the

101
THE DUAL OF SU(2) IN THE ANALYSIS OF SPATIAL LINKAGES, SU(2) IN THE SYNTHESIS OF SPHERICAL LINKAGES, AND ISOTROPIC COORDINATES IN PLANAR LINKAGE SINGULARITY TRACE GENERATION Dissertation Submitted to The School of Engineering of the UNIVERSITY OF DAYTON In Partial Fulfillment of the Requirements for The Degree of Doctor of Philosophy in Engineering By Saleh Mohamed Almestiri Dayton, Ohio May, 2018

Transcript of the dual of su(2) in the analysis of spatial linkages, su(2) in the

THE DUAL OF SU(2) IN THE ANALYSIS OF SPATIAL LINKAGES, SU(2) IN THE

SYNTHESIS OF SPHERICAL LINKAGES, AND ISOTROPIC COORDINATES IN PLANAR

LINKAGE SINGULARITY TRACE GENERATION

Dissertation

Submitted to

The School of Engineering of the

UNIVERSITY OF DAYTON

In Partial Fulfillment of the Requirements for

The Degree of

Doctor of Philosophy in Engineering

By

Saleh Mohamed Almestiri

Dayton, Ohio

May, 2018

THE DUAL OF SU(2) IN THE ANALYSIS OF SPATIAL LINKAGES, SU(2) IN THE

SYNTHESIS OF SPHERICAL LINKAGES, AND ISOTROPIC COORDINATES IN PLANAR

LINKAGE SINGULARITY TRACE GENERATION

Name: Almestiri, Saleh Mohamed

APPROVED BY:

Andrew P. Murray, Ph.D.Advisor Committee ChairmanProfessor, Department of Mechanicaland Aerospace Engineering

David H. Myszka, Ph.D.Committee MemberAssociate Professor, Department ofMechanical and Aerospace Engineering

Vinod Jain, Ph.D.Committee MemberProfessor, Department of Mechanicaland Aerospace Engineering

Muhammad Islam, Ph.D.Committee MemberProfessor, Department of Mathematics

Robert J. Wilkens, Ph.D., P.E.Associate Dean for Research and InnovationProfessorSchool of Engineering

Eddy M. Rojas, Ph.D., M.A., P.E.Dean, School of Engineering

ii

© Copyright by

Saleh Mohamed Almestiri

All rights reserved

2018

ABSTRACT

THE DUAL OF SU(2) IN THE ANALYSIS OF SPATIAL LINKAGES, SU(2) IN THE

SYNTHESIS OF SPHERICAL LINKAGES, AND ISOTROPIC COORDINATES IN PLANAR

LINKAGE SINGULARITY TRACE GENERATION

Name: Almestiri, Saleh MohamedUniversity of Dayton

Advisor: Dr. Andrew P. Murray

This research seeks to efficiently and systematically model and solve the equations associated

with the class of design problems arising in the study of planar and spatial kinematics. Part of this

work is an extension to the method to generate singularity traces for planar linkages. This extension

allows the incorporation of prismatic joints. The generation of the singularity trace is based on

equations that use isotropic coordinates to describe a planar linkage. In addition, methods to analyze

and synthesize spherical and spatial linkages are presented. The formulation of the analysis and the

synthesis problem is accomplish through the use of the special unitary matrices, SU(2). Special

unitary matrices are written in algebraic form to express the governing equations as polynomials.

These polynomials are readily solved using the tools of homotopy continuation, namely Bertini. The

analysis process presented here include determining the displacement and singular configuration for

spherical and spatial linkages. Formulations and numerical examples of the analysis problem are

presented for spherical four-bar, spherical Watt I linkages, spherical eight-bar, the RCCC, and the

RRRCC spatial linkages. Synthesis problem are formulated and solved for spherical linkages, and

with lesser extent for spatial linkages. Synthesis formulations for the spherical linkages are done in

iii

two different methods. One approach used the loop closure and the other approach is derived from

the dot product that recognizes physical constraints within the linkage. The methods are explained

and supported with Numerical examples. Specifically, the five orientation synthesis of a spherical

four-bar mechanism, the eight orientation task of the Watt I linkage, eleven orientation task of an

eight-bar linkage are solved. In addition, the synthesis problem of a 4C mechanism is solved using

the physical constraint of the linkage between two links. Finally, using SU(2) readily allows for the

use of a homotopy-continuation-based solver, in this case Bertini. The use of Bertini is motivated

by its capacity to calculate every possible solution to a system of polynomials .

iv

TABLE OF CONTENTS

ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

CHAPTER I. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Review of Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1 Singularity Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 Unitary Matrices and Spatial Linkages . . . . . . . . . . . . . . . . . . 4

1.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

CHAPTER II. MATHEMATICAL BACKGROUND . . . . . . . . . . . . . . . . . . . . 11

2.1 Singularity Traces and Isotropic Cordinates . . . . . . . . . . . . . . . . . . . . 112.1.1 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.2 Singularity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.1.3 Critical Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2 Special Unitary Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2.1 Point and Line Transformations . . . . . . . . . . . . . . . . . . . . . . 172.2.2 Derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3 Homogeneous Transformation Review . . . . . . . . . . . . . . . . . . . . . . 19

CHAPTER III. SINGULARITY TRACES FOR LINKAGES WITHPRISMATIC AND REVOLUTE JOINTS . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1 General Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2 Offset Slider-Crank Linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Loop Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.2 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.3 Singularity Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2.4 Critical Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2.5 Motion Curve and Singularity Trace . . . . . . . . . . . . . . . . . . . 263.2.6 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3 Inverted Slider Crank Linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3.1 Loop Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.2 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.3 Singularity Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.4 Critical Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.5 Motion Curve and Singularity Trace . . . . . . . . . . . . . . . . . . . 303.3.6 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

v

3.4 Assur IV/3 with Two Prismatic Joints . . . . . . . . . . . . . . . . . . . . . . . 333.4.1 Loop Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.4.2 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.3 Singularity Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.4 Critical Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4.5 Singularity Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4.6 Motion Curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

CHAPTER IV. SPHERICAL LINKAGE ANALYSIS . . . . . . . . . . . . . . . . . . . 40

4.1 The 3-Roll Wrist on SU(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2 Spherical Four-Bar Linkage Analysis . . . . . . . . . . . . . . . . . . . . . . . 43

4.2.1 Loop Closure and Forward Kinematics . . . . . . . . . . . . . . . . . . 444.2.2 Spherical Four-Bar Singularity Points . . . . . . . . . . . . . . . . . . . 44

4.3 Spherical Watt I Linkage Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 464.3.1 Loop Closure and Forward Kinematics . . . . . . . . . . . . . . . . . . 474.3.2 Singularity Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.4 Spherical Eight-Bar Linkage Analysis . . . . . . . . . . . . . . . . . . . . . . . 504.4.1 Loop Closure and Forward Kinematics . . . . . . . . . . . . . . . . . . 514.4.2 Singularity Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

CHAPTER V. SPHERICAL LINKAGE SYNTHESIS . . . . . . . . . . . . . . . . . . . 59

5.1 Four-Bar Synthesis Using Dot Product Approach . . . . . . . . . . . . . . . . . 595.2 Watt I Synthesis Using Dot Product Approach . . . . . . . . . . . . . . . . . . 615.3 Eight-Bar Synthesis Using Dot Product Approach . . . . . . . . . . . . . . . . 675.4 Four-Bar Synthesis Using Loop Closure Approach . . . . . . . . . . . . . . . . 695.5 Watt I Synthesis Using Loop Closure . . . . . . . . . . . . . . . . . . . . . . . 715.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

CHAPTER VI. SPATIAL LINKAGE ANALYSIS AND 4C SYNTHESIS . . . . . . . . . 74

6.1 RCCC Spatial Linkage Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 746.1.1 RCCC Loop Closure and Forward Kinematics . . . . . . . . . . . . . . 756.1.2 RCCC Singularity Points and Motion Curve . . . . . . . . . . . . . . . 75

6.2 RRRCC Linkage Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776.2.1 RRRCC Loop Closure and Forward Kinematics . . . . . . . . . . . . . 776.2.2 RRRCC Singularity Points and Motion Curve . . . . . . . . . . . . . . 78

6.3 4C Spatial Linkage Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

CHAPTER VII. CONCLUSIONS AND FUTURE WORK . . . . . . . . . . . . . . . . . . 83

7.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

vi

LIST OF FIGURES

1.1 Spherical four-bar linkage is used to place an object in three consecutive positions [1]. 2

2.1 Prismatic joint on a moving line of slide. . . . . . . . . . . . . . . . . . . . . . . . 12

3.1 The position vector loop for an offset, slider-crank linkage. . . . . . . . . . . . . . 24

3.2 The slider-crank singularity trace. Red markers represent the critical points.Regions of equal GI and circuits are identified. Singularities at different valuesof a1 are indicated. Both circuits within the gray zone exhibit a fully rotatable crank. 26

3.3 Inverted slider-crank linkage position vector loop. . . . . . . . . . . . . . . . . . . 28

3.4 The inverted slider-crank singularity trace. Red markers denote the critical points.Region of equal GIs and circuits are identified. Singularities at different values ofa1 are indicated. Both circuits within the gray zones exhibit a fully rotatable crank. 31

3.5 Traces of the motion curve at various lengths of a1 = 0.2, 0.3, and 0.4, from thefirst zone on the singularity trace. . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.6 Traces of the motion curve at various lengths of a1 = 0.5, 1.0, and 1.5, from thesecond zone on the singularity trace. Singularity points are identified with red markers. 33

3.7 Traces of the motion curve at various lengths of a1 = 1.58, 1.65,and 2.00, from thethird zone on the singularity trace. . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.8 Assur IV/3 linkage position vector loop. . . . . . . . . . . . . . . . . . . . . . . . 35

3.9 The singularity trace for Assur IV/3 with respect to a1. Red markers denote thecritical points. Regions of equal GIs and circuits are identified. The zone shaded ingray contains at least one circuit with a fully rotatable crank. . . . . . . . . . . . . 38

3.10 The singularity trace for Assur IV/3 with respect to a12. Red markers denote thecritical points. The zone shaded in gray contains at least one circuit with a fullyrotatable crank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.11 Motion curve for Assur IV/3 with a1 = 0.25 projected onto θ1-θ3. . . . . . . . . . 39

vii

4.1 A 3-roll wrist in a robot assembly. Adopted from[2]. . . . . . . . . . . . . . . . . 41

4.2 A spherical four-bar linkage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.3 Motion curve for spherical Four-Bar linkage projected onto θ1 − θ4. Singularitypoints are identified with red circles. . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.4 Spherical Watt I six-bar linkage. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.5 Motion curve for Watt I spherical linkage projected onto θ1-θ7. Singularity pointsare identified with red circles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.6 Spherical eight-bar linkage schematic diagram. . . . . . . . . . . . . . . . . . . . 51

4.7 Spherical eight-bar linkage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.8 Motion curve for spherical eight-bar linkage projected onto θ1-θ5. Singularitypoints are identified with red circles. . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.9 Motion curve for spherical eight-bar linkage projected onto θ1-θ6. Singularitypoints are identified with red circles. . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.1 The parameters of the spherical four-bar identified for solving the synthesisproblem. All frames are located in the center of the sphere but some are shownon the sphere’s surface for clarity. . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.2 The parameters of the spherical Watt I identified for modeling the synthesisproblem. All frames are located in the center of the sphere but are shown on thesphere for clarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.3 The parameters of the spherical eight-bar linkage identified for solving the synthesisproblem. All frames are located in the center of the sphere but are shown on thesphere for clarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.1 RCCC linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6.2 Motion curve for RCCC linkage projected onto θ1-d2. . . . . . . . . . . . . . . . . 77

6.3 RRRCC linkage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.4 Motion curve for RRRCC linkage projected onto θ2-θ3. . . . . . . . . . . . . . . . 79

7.1 RSRC linkage. Adopted from [3]. . . . . . . . . . . . . . . . . . . . . . . . . . . 86

viii

LIST OF TABLES

4.1 Singularity analysis results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.1 The five desired orientations for a spherical four-bar mechanism from Brun-nthaler et al.[4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.2 The fixed and moving axes of the spherical four-bar that solves the synthesisproblem in Table 5.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.3 Eight task orientations for synthesizing a Watt I spherical mechanism. . . . . . . . 65

5.4 A singularity-free solution for the eight orientations with axis coordinates at the firstposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.5 Designs for a Watt I that achieve the first five orientations of Table 5.3 with axiscoordinates at the first position. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.6 Task orientations for eight-bar linkage . . . . . . . . . . . . . . . . . . . . . . . . 70

6.1 Task orientations CC dyad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6.2 Solution for five orientation CC dyad synthesis . . . . . . . . . . . . . . . . . . . 82

ix

CHAPTER I

INTRODUCTION

Emerging engineering problems, increasing productivity, and decreasing cost are the driving

forces toward development. Since the industrial revolution, mechanisms are considered to be the

backbone of any industrial facility. Machine designers are often required to engineer a device that

is able to move an object through a set of prescribed positions. The process is called rigid-body

guidance. Rigid-body guidance has become the essence of todays automated manufacturing and

design machinery.

Manufacturing mechanisms are categorized into open-loop and closed-loop chains. In a closed-

loop chain, each link is connected to two or more other links. Closed-loop mechanisms can be

either planar or spatial. In an open-loop chain, there is at least one link that is connected to only

one other link such as an articulated robotics arm. Both open-loop and closed-loop mechanisms can

be divided into planar mechanisms and spatial mechanisms. In planar mechanisms, all points on

the mechanism describe paths located in one plane or multiple planes that are parallel to each other.

Otherwise, a mechanism is said to be spatial.

Commercially available multi-axis robots are prepared for use and their specifications are

already defined by their manufacturer. Thus, they do not require prototype testing. However, they

are expensive and their operation and maintenance are costly [5]. In addition, for many tasks the

use of multi-axis robots is unreasonable as several of the axes remain unused. Spatial mechanisms

offer alternative solutions that can be considered competitive to the flexible open-chain robot, for

example Fig. 1.1 shows a spatial closed-loop spherical four-bar mechanism in a pick-and-place

1

operation. Finally, the open-chain structure of a robot requires large motors, especially for the

joints near the robots base, because they support the weight of the serial chain links [6]. These large

motors contribute significantly to the robots relatively high energy consumption.

Figure 1.1: Spherical four-bar linkage is used to place an object in three consecutive positions [1].

On the other hand, closed-loop chains exhibit extremely high speed ability at relatively low cost

[7]. Most of the mechanisms that are used in todays industries are closed-loop planar mechanisms.

Methods to design and analyze these mechanisms have been subjected to research over a long

period. However, planar linkages are restricted to move in a single x-y plane. Methods to design and

analyze spatial mechanisms are mathematically advanced and involve the use of powerful equation

solvers. Methods to design and analyze spatial linkage still an active area of research with potentials

to explore and exploit the benefits of these linkages. The use of spatial linkage is still limited,

even though they may be naturally better suited in certain situations. In multiple applications, the

necessity for using spatial linkages becomes evident. Also, of interest in this work is the analysis

of reconfigurable linkages, linkages with a varying design parameter, or traditional linkages. As

the design parameter is being altered, it is a necessity for the designer to know the number of the

possible configurations of the linkage, the position of every link at certain value of the input and the

location of singular configurations. During the operation of a mechanism, a configuration can arise

2

such that the input link is no longer able to move the mechanism. The mechanism becomes locked,

and the mechanical advantage goes to zero. This stationary position of a mechanism is termed as

singular configuration and must be avoided when attempting to operate the mechanism with a fully

rotating input crank. The input-output relationships between various link variables and the possible

configuration of the mechanism indicate the mechanism ability to achieve the targeted task.

The design problem is concerned with finding dimensions for a linkage to move an object

through a set of specified orientations. Once the device’s dimensions are determined, these

dimensions are used in the analysis problem where the motion characteristics of a mechanism are

specified. The motion characteristics of interest are the number of possible assembly configuration,

the relationship between the input and the output variables, and the limits on the range of motion

which are best known as singularities.

1.1 Review of Related Work

1.1.1 Singularity Trace

A singularity trace has been introduced to classify the general motion characteristics of a single-

degree of freedom (DOF) linkage containing revolute joints [8]. For a designated input angle and

design parameter, the general motion characteristics include the singularities, circuits and critical

points, which are described below. Li et al. [9] generated the singularity trace for complex linkages,

such as Stephenson and double-butterfly linkages. Forward (direct) kinematic position analysis of

a single DOF linkage involves determining all possible joint positions at a certain position of the

input link [10]. The set of position equations defines a motion curve, which exhibits the relationship

between the joint variables. For a given position of the input link, multiple positions of the other

joints are expected since the governing loop equations are non-linear. Erdman et al. [11] refers to

each solution of the forward kinematic analysis as a geometric inversion (GI). The conventional

3

method for solving the forward kinematic problem uses tangent-half-angle substitution for the

output variables [12]. Porta et al. [13] used relaxation techniques for position analysis of multiloop

mechanisms. Alternatively, Wampler [14] presents the use of isotropic coordinates to formulate a

set polynomial equations which determine the locations of the links.

The study of parallel mechanisms called attention to the importance of determining singular

configurations during the design phase, and avoiding them while operating the mechanism [15].

At singularities the input link is no longer able to move the linkage [16]. Singularities appear on

the motion curve as turning points with respect to the input link displacement. Chase and Mirth

[17] defined the circuit of a linkage as the set of all assembly configurations achievable without

disconnecting any of the joints. The region on a circuit between two singularities is defined as a

branch. When a physical parameter of a linkage becomes a variable, the singularities form a curve

whose projection is called the singularity trace. The turning points on the singularity curve with

respect to the design parameter are called critical points, where many correspond to the transition

linkages as described by Murray et al. [18]. Linkages, where one or more physical parameter is

considered a variable, have been addressed in the literature. Larochelle et al. [19, 20] refer to

them as reconfigurable planar motion generators. Toa [21] calls them adjustable mechanisms and

Kota et al. [22] describe them as adjustable robotic mechanisms or programmable mechanisms.

1.1.2 Unitary Matrices and Spatial Linkages

The kinematic constraints imposed by articulated multi-body systems generate a set of nonlinear

simultaneous algebraic equations. Solving problems associated with closed- or open-loop systems

is challenging due to the nonlinearities that are typically expressed using trigonometric terms [23].

Formulations of such problems are considered successful when they reduce the size of the system

resulting in equations of the lowest order and avoiding trigonometric expressions. One common

4

approach for avoiding such expressions is to to write sines and cosines in terms of tangent-half-angle

formulas and converting to an algebraic formulation [24]. This approach has been successfully

used for the displacement analysis of spherical mechanisms [25, 26] and in computing the direct

kinematics of a spherical three-degree-of-freedom parallel manipulator [27]. This approach has

also been associated with the possibility of extraneous solutions and can be ill-conditioned if an

unknown angle equals π [28]. A second common approach is to write the trigonometric expression

in algebraic form using the unit circle identity to relate sine and cosine of the same angle [23]. The

formulation to find all 16 solutions to a general 6R robot using continuation methods embraced

this approach [29]. A final approach worthy of mention is the formulation of planar analysis and

synthesis problems via isotropic coordinates to reduce the degree of the nonlinear simultaneous

albegraic expressions [30]. Plecnik et al. [31] used isotropic coordinates to generate the synthesis

equations for the planar Watt I linkage generating a system of 28 equations with 28 unknowns.

This work considers only spherical mechanisms which constrain all points to move on concen-

tric spheres about a fixed point. As such, the location of any rigid-body in a spherical mechanism

is described by a rotation about this fixed point [32]. All single degree of freedom one- two- and

three-loop spherical mechanisms were analyzed using a mix of rotation matrices and quaternions

finding all geometric inversions [25]. The full set of spherical four-bar mechanisms achieve four

specific orientations was found, highlighting those that are defect free [33]. Brunnthaler et al. [4]

used kinematic mapping to design a spherical four bar mechanism for five orientations that had six

(real) dyads as solutions. Soh et al. [34] solved the five-orientation synthesis problem for defect-free

six-bar mechanisms by constraining a three degree of freedom spherical chain with two additional

links. This work has been extended into modeling tools Sonawale et al. [35, 36]. Spherical function

generators have also received consideration [37, 38].

5

Special orthogonal matrices, SO(3), are commonly used in the literature to represent rota-

tions [39]. These matrices possess a redundancy in their structure that is the result of nine matrix

elements representing only three independent parameters and encompassing six constraints [40].

Various challenges have been raised is using SO(3) including numerical computation difficul-

ties [41], the potentially unnecessary computations in formulating loop equations for spatial

linkages [42], and Gimbal lock [39]. Among several alternatives for writing rotations about a

fixed point in three-dimensional space, one is using 2 by 2 special unitary matrices, SU(2) [43].

An element of the 2 × 2 unitary group, U(2), is a matrix of complex numbers with the property

that the complex conjugate of its transpose is its inverse. Like the relationship between O(3) (the

orthogonal matrices) and SO(3), unitary matrices with determinant equal to +1 are referred to as

special unitary. Unitary matrices have been utilized in quantum mechanics, both classically [44]

and more recently [45]. One advantage of using SU(2) is its compact form and that a general

element is constructed from only two complex numbers related by one constraint. This results in

a decreased number of algebraic operations when performing multiple consecutive rotations about

different axes. The rotation axis and angle are also explicit in an element of SU(2) [42]. Finally,

SU(2) matrices are isomorphic to unit quaternions and so share many identical properties. This

paper utilizes SU(2) in the algebraic formulation of several kinematics problems.

A numerical method proving successful in solving large kinematics problems is homotopy

continuation. Homotopy continuation may be used to find every isolated solution of a square system

without sensitivity to initial guesses. Oft-cited examples from the field of kinematics instrumental in

showing the developments of numerical algebraic geometry include the bootstrap approach of Roth

and Freudenstein to synthesize path generating geared five-bar linkages [46], the complete solution

to the inverse kinematics of a general 6R manipulator by Tsai and Morgan [29], and the complete

solution to the nine-point path generation of a four-bar linkage by Wampler et al. [47]. Homotopy

6

continuation may be readily performed with the Bertini software package [48], used throughout this

work.

The screw displacement has received significant interest as a tool in the kinematic analysis

and synthesis of spatial mechanical systems [49]. Detailed introductions include 2 × 2 dual

special unitary matrices presented by Denavit [50], Yang and Freudenstein’s use of the dual-number

quaternions [51], and the dual-number rotation matrices presented by Yang [52] and by Soni and

Harrisberger [53]. Each formalism has advantages and limitations. Dual quaternions, for example,

are compact in the fact that the screw information is represented by a single dual hypercomplex

number. The dual special unitary matrix is not as concise, but has the advantage of matrix elements

being typical complex numbers. Significant detail on these formalisms can be found in Rooney [54]

and Funda [55]. For spatial operations, the screw displacement is expressed as a dual special unitary

matrix, SU(2) for short, a 4×4 matrix of complex numbers. This matrix has a significant amount of

structure in that four of the sixteen elements are identically zero, and two of its 2×2 sub-matrices are

elements of SU(2), leaving only four general complex numbers in the entire matrix. By employing

SU(2) in the formulations in this work, equations result that are readily solved using Bertini.

1.2 Contribution

The goal of this research is to formulate kinematic problems as polynomial equations that is

suited for available solvers such as Bertini and fsolve function in MATLAB. The contribution of

this dissertation include solving kinematic challenges involving a wide variety of linkages: planar,

spherical, and spatial linkages. A formulation was developed to generate singularity traces for

planar linkages to incorporate prismatic joints. Previously, singularity traces were restricted to

mechanisms composed of only rigid bodies and revolute joints. The motion characteristics identified

on the singularity plot include changes in the number of solutions to the forward kinematic position

7

analysis (geometric inversions), singularities, and changes in the number of branches. To illustrate

the adaptation of the general method to include prismatic joints, basic slider-crank and inverted

slider-crank linkages are explored. Singularity traces are then constructed for more complex Assur

IV/3 linkages containing multiple prismatic joints. These Assur linkages are of interest as they form

an architecture that is commonly used for mechanisms capable of approximating a shape change

defined by a general set of closed curves. This work is published in [56, 57]

Another, contribution is exploring the potential of the special unitary matrices, SU(2), in the

field of kinematics. Specifically, 2 × 2 special unitary matrices are written in symbolic forms

to formulate a system of polynomials that describe the behavior of spherical linkages. SU(2)

are used in the displacement analysis where the location of any link is determined at a given

location of the input link. The displacement analysis is extended to determine the location of

singular configurations. Moreover, SU(2) is used to formulate the motion synthesis of spherical

linkages, where the linkage is designed to guide an object through a set of positions. Two methods

of formulating the synthesis problem are considered. Precisely, synthesis formalism exploits the

loop closure equations and an approach derived from the dot product that recognizes physical

constraints within the linkage. Examples include the five orientation synthesis of a spherical four-

bar mechanism and the eight orientation task of the Watt I linkage. In addition, the dot product

approach is used to formulate the synthesis equations for an eight-bar linkage which is able to

achieve up to eleven positions. Using SU(2) readily allows for the use of a homotopy-continuation-

based solver, in this case Bertini. The use of Bertini is motivated by its capacity to calculate every

solution to a design problem. Methods to synthesize spherical linkages with more than four bars are

numbered with most advanced methods being able to achieve up to five positions. Part of this work

was published in [58].

8

Lastly, The formulation of the special unitary matrices is expanded to introduce the dual of the

special unitary matrices, SU2. These are used to represent a displacement and a rotation along

the axes of spatial linkages. An algebraic form of the dual special unitary matrices are used to

form the loop closure of spatial linkages. Polynomials that are extracted from the loop closure are

solved to provide solutions for the displacement analysis and the singularity analysis. In addition,

a formulation of the dot product is introduced using the dual special unitary. This is utilized to

solve the synthesis of 4C linkage. The uniqueness of this part of the research resides in its use

of the special unitary to mathematically describe spatial linkage coupled with use of the use of

homotopy continuation tool, which guarantees finding every possible solution to the problem. What

is presented on here offers a systemic and efficient approach for solving spatial linkages which has

the potential to be the backbone of a software to analyze and synthesize spatial linkages.

1.3 Organization

Each chapter of this dissertation focuses on a particular task where the formulation of the

problem is the key point. Chapter II provides a review of the mathematical background of this

work. It includes two main parts: First, an introduction to the isotropic coordinates and their use

in writing systems of equations to determine forward kinematic solutions, singularity points, and

critical points. Solutions from this analysis are exploited to generate the singularity trace of planar

linkages with prismatic joints. Second, a review of the most relevant properties of the group SU(2).

This part encompasses an algebraic formulations of a general displacement element of SU(2) that

represents rotation and translation. Moreover, point and line transformation on SU(2) are presented

as well as derivative of the rotational part and the dual part of SU(2).

Chapter III is dedicated to show examples of the extension in the general method of generating

singularity traces to incorporate prismatic joints. Three examples are provided: offset slider crank,

9

inverted slider crank, and Assur IV/3 linkage with two prismatics. For each example, the process is

detailed to find the forward kinematic solutions, singularity points, and critical points. Results are

depicted on motion curves and the singularity traces for the linkages.

Chapter IV discusses the use of 2× 2 matrices of SU(2) in analyzing spherical linkages. These

matrices are written symbolically to represent a rotation about a fixed point. Such rotations are then

used to write the loop closure of a spherical linkage. The entries of the loop closure matrices are

polynomial equations. Angular velocity matrices and screw vectors are used to write the Jacobian

from which the singularity condition is specified. Spherical four-bar, spherical Watt I, and spherical

eight-bar linkages are utilized as examples to illustrate the process.

Chapter V focus on solving the synthesis problem of spherical linkage. Two approach are used

in the synthesis process: the dot product approach and the loop closure approach. Examples are

provided for a full insight into the methods. The examples include linkages with up to eight links.

Chapter VI addresses the use of dual special unitary, SU(2), to solve analysis and synthesis

problems for spatial linkages. This chapter provides a systematic method to solve the displacement

analysis of spatial linkages. In addition, locations of any singular configurations are specified. The

results of the analysis output are shown on motion curves. This work is supported by two examples

of RRRCC and RCCC linkages. Moreover, the synthesis problem of the 4C linkage is solved using

the dot product between two lines, which represent axes of the cylindrical joint, C, on the linkage.

The final chapter, Chapter VII, provides a conclusion to the dissertation and highlights the most

important achievements.

10

CHAPTER II

MATHEMATICAL BACKGROUND

This research was initiated by using the isotropic coordinates to generate singularity traces

for planar linkage with prismatic joints. Equations for planar linkages are well-formulated to

utilize powerful, numerical algebraic geometry solution methods. Loop closure equations can

be formulated using special unitary group transformations in a fashion that parallels the planar

formulations. Both the isotropic coordinates and SU(2) use complex numbers to model a linkage.

2.1 Singularity Traces and Isotropic Cordinates

To explain the basic approach of using the isotropic coordinate to formulate the loop closure of

a planar linkage, assume a rigid link of length aj rotated by angle θj can be represented by isotropic

coordinates (ajTj , ajTj). When constructing loop closure equations, the two variables Tj and Tj

can be considered as independent variables under the condition that TjTj = 1. A unit vector in the

complex plane defined by θj can be represented in polar form by the variable and its conjugate as

Tj = eiθj , and Tj = e−iθj , (2.1)

which are called isotropic coordinates [14]. By substituting the Euler equivalents into Eq. (2.1),

Tj = cos θj + i sin θj and Tj = cos θj − i sin θj . When constructing loop closure equations,

the two variables Tj and Tj can be considered as independent variables under the condition that

TjTj = 1. When rotated in the plane by angle θj , a rigid link of length aj has isotropic coordinates

(ajTj , ajTj).

11

If the mechanism includes a prismatic joint j, aj is a joint variable while Tj is a function of Tk,

where k denotes the link that defines the line of slide. As outlined by Wampler [14], new variables

Sj = ajTk and Sj = ajTk are defined to represent a prismatic joint.

a2

γ 1

2

a1

AB

Figure 2.1: Prismatic joint on a moving line of slide.

To illustrate with an example, Fig. 2.1 shows a portion of a mechanism where link 2 (the block)

translates along a moving line of slide defined by θ2. As the block moves, the joint variable a2

changes. The angle γ is a link parameter, which is fixed. The angle of the moving line of slide is

related to the revolute joint variable θ1,

θ2 = θ1 + γ. (2.2)

The vector AB can be written as

AB = a1T1 + a2T2. (2.3)

Substituting Eq. (2.2) into Eq. (2.1), T2 = T1Tγ . Further substitution into Eq. (2.3) yields

AB = a1T1 + a2T1Tγ . (2.4)

12

Defining S2 = a2T1 and S2 = a2T1, then

AB = a1T1 + S2Tγ , (2.5)

and the complex conjugate,

AB = a1T1 + S2Tγ . (2.6)

An identity equation can be written as 0 = T1a2T1 −T1a2T1 = T1S2 −T1S2.

In summary, a prismatic joint j is incorporated into the general method by introducing Sj and Sj

into the loop closure equations to represent the variable aj . An identity equation is also appropriately

formulated. The method to determine singularities and critical points remains unchanged from

Ref. [8], and is reviewed in the following sections for completeness.

2.1.1 Forward Kinematics

In the general analysis methodology, the linkage input variable is designated as x ∈ C and the

design variable is p ∈ C. All the remaining passive joint variables are y ∈ CN . Loop closure

equations are formulated as

f(p, x, y) = 0, f : C× C× CN → CN . (2.7)

Considering a linkage that includes bothm revolute and n−m prismatic joints, the ` loop equations

of Eq. (2.7) convert to 2`+ n− 1 equations in isotropic coordinates as:

m∑j=1

ajTj +n∑

k=m+1

SkTγk = 0,

m∑j=1

ajTj +n∑

k=m+1

SkTγk = 0, (2.8)

TjTj =(eiθj)(

e−iθj)

= 1, j = 2, . . . ,m,

Tk−1Sk −Tk−1Sk = 0, k = m+ 1, . . . , n.

13

In its most general form, the coefficients aj ∈ C in Eq. (2.8) correspond to the line segments that

connect the joints. The complex conjugates of the link edges aj also appear. For a binary link, the

vector Tj lies along the line that connects the joints, in which case aj is real, and aj = aj . This

is done throughout the examples in this paper. Also, note that TjTj = 1, where j corresponds to

any ground link, is not included as its angle θj is known. The system in Eq. (2.8) consists of N + 1

equations in N + 2 unknowns and for a given value of x produces a set of y values that correspond

to geometric inversions of the linkage. Methods for solving the system of equations are discussed in

[48]. The solutions in this paper were produced using numerical polynomial continuation methods

using the Bertini software package [59].

2.1.2 Singularity Analysis

Finding all branches of the motion with respect to x is desirable. The branches on the motion

curve meet at a singularity point. The singularity is a mechanism configuration where the driving

link is unable to move the mechanism. For a fixed design parameter p, the tangent [∆x,∆y] to the

motion curve is given by

fx∆x+ fy∆y = 0, (2.9)

where fx = ∂f∂x ∈ CN×1 and fy = ∂f

∂y ∈ CN×N . The singularities occur when ∆y 6= 0 with

∆x = 0, which implies that

D(p, x, y) := det fy = 0. (2.10)

Combining the loop closure and singularity conditions,

F (p, x, y) =

[f(p, x, y)D(p, x, y)

]. (2.11)

This system of N + 1 equations in N + 1 unknowns is solved to find the singularities.

14

2.1.3 Critical Points

To this point in the analysis, the design parameter p is considered fixed. As the design parameter

is altered, the gross motion behavior of the linkage changes at critical points. The singularity curve

consists of the singularities as p changes. The projection of the singularity curve into the plane of

the input joint x and the design parameter p is known as the singularity trace. At certain values of p

(termed critical points) the number of singularities change. The process of determining the critical

points is analogous to the singularity problem, but replacing x by p, y by (x, y), and f by F . The

tangency condition from Eq. (2.9) becomes

∂F

∂p∆p+

∂F

∂x∆x+

∂F

∂y∆y = 0. (2.12)

Defining

Fxy =[∂F∂x

∂F∂y

]=

[∂f∂x

∂f∂y

∂D∂x

∂D∂y

]. (2.13)

Critical points occur when ∆(x, y) 6= 0 with ∆p = 0, which implies

E := detFxy = 0. (2.14)

Combining loop closure, singularity and critical point conditions generates a system of N + 2

equations f(p, x, y)D(p, x, y)E(p, x, y)

= 0 (2.15)

in N + 2 unknowns that include p, x, y. As before, the system is solved using Bertini and produces

all critical points.

2.2 Special Unitary Matrices

In the case of spatial linkages, it is known that a screw displacement is defined by a line in

space where c is a point on the line, the unit vector s = (sx, sy, sz) is the direction of the line, θ

15

is the rotation angle about the line, and d is a displacement along the line. These components are

combined into an element of SU(2) as

Q(s, θ, c, d) =

[Q 0Q0 Q

](2.16)

where 0 is the 2× 2 zero matrix,

Q(s, θ) =

[cos θ2 + isz sin θ

2 sy sin θ2 − isx sin θ

2

−sy sin θ2 − isx sin θ

2 cos θ2 − isz sin θ2

], (2.17)

and

Q0(s, θ, c, d) =

[Q0

4 + iQ03 Q0

2 − iQ01

−Q02 − iQ0

1 Q04 − iQ0

3

]. (2.18)

The components of Q0(s, θ, c, d) are

Q01 =

d

2cos

θ

2sx + sin

θ

2s0x, Q0

2 =d

2cos

θ

2sy + sin

θ

2s0y,

Q03 =

d

2cos

θ

2sz + sin

θ

2s0z, Q0

4 = −d2

sinθ

2,

(2.19)

where s0 = c × s. All components of Q are observed to be complex numbers where i =√−1.

The matrices Q and Q0 are referred to as the rotation and the dual part, respectively. Note that the

matrix Q has determinant 1 due to s being a unit vector.

As SU(2) is a group, the composition of elements is also in SU(2) following the standard rules

of matrix and complex number multiplication. The inverse of Q is readily found from the complex

conjugate transposes of the 2× 2 sub-matrices of Q,

Q−1 =

[Q∗ 0Q0∗ Q∗

]. (2.20)

Three special cases will prove useful, which represent displacements along and about the

frame’s axes z, x, and y. Given a screw displacement along the z-axis, s = (0, 0, 1), c = (0, 0, 0),

Qz(θ) =

[T 0

0 T

]and Q0

z(θ, d) =

[id2T 0

0 −id2T

]. (2.21)

16

where T = cos(θ/2) + i sin(θ/2) and the complex conjugate T = cos(θ/2)− i sin(θ/2). Observe

that TT = 1, as the determinant of Q = 1. Given a screw displacement about the x-axis, s =

(1, 0, 0), c = (0, 0, 0),

Qx(θ) =

[a −ib−ib a

]and Q0

x(θ, d) =

[−d

2b −id2a−id2a −d

2b

]. (2.22)

where a = cos(θ/2) and b = sin(θ/2). The determinant of this matrix is 1, since a2 + b2 = 1.

Similarly, for a rotation of angle θ about the y-axis, s = (0, 1, 0), c = (0, 0, 0),

Qy(θ) =

[a b−b a

]and Q0

y(θ, d) =

[−d

2bd2a

−d2a −d

2b

]. (2.23)

2.2.1 Point and Line Transformations

Given a point (x, y, z) in R3, define

p =

[iz y − ix

−y − ix −iz

], (2.24)

and a point transformation is constructed from an element of SU(2) as

P = QpQ∗. (2.25)

Note that for two points, p1 and p2, expressed as in Eq. (2.24), the dot product is

(x1, y1, z1) · (x2, y2, z2) =1

2tr(p∗1p2) (2.26)

where tr is the trace. Given a unit vector s = (sx, sy, sz), and a point c on the unit vector such that

c · s = 0, and s0 = c× s = (s0x, s0y, s

0z). The vector s0 is the moment of the line about the origin of

the reference frame. Note that s ·s0 = s · (c×s) = 0. The Plucker coordinates of a line E = (s, s0)

define

E =

[s 0s0 s

], E−1 =

[s∗ 0s0∗ s∗

]. (2.27)

17

In the matrix E, the matrices s and s0 are 2× 2 sub-matrices, representing the unit vector s and the

vector s0 as

s =

[isz sy − isx

−sy − isx −isz

], s0 =

[is0z s0y − is0x

−s0y − is0x −is0z

]. (2.28)

and a line transformation is constructed from an element of SU(2) as

E = QeQ−1. (2.29)

The dot product between two lines E1 = (s1, s01) and E2 = (s2, s

02) is obtained from E−11 E2. The

dot product consists of two parts. The real part of the dot product defines the twist angle θ between

the two line around the common normal as

cos(θ) =1

2tr(s∗1s2), (2.30)

and the dual part defines the distance v along the common normal between the two lines by

−v sin(θ) =1

2tr(s0∗1 s2 + s∗1s

02). (2.31)

2.2.2 Derivatives

The derivative of QQ−1 = I yields the property Q˙Q−1 = − ˙

QQ−1. Now consider P =

QpQ−1. Taking the derivative, P =˙QpQ−1 + Qp

˙Q−1. Substituting p = Q−1PQ,

P =˙QQ−1P + PQ

˙Q−1 =

˙QQ−1P − P ˙

QQ−1, (2.32)

The term ˙QQ−1 in Eq. (2.32) is the angular velocity matrix of a rotation Q. For the determination

of singularities, it is convenient to define

Ω(θ, d) =˙QQ−1 =

[Ω(θ) 0

Ω0(θ, d) Ω(θ)

], (2.33)

where

Ω(θ) = QQ∗ =1

2

[iuz uy − iux

−uy − iux −iuz

]θ. (2.34)

18

and

Ω0(θ, d) =1

2

[iuz uy − iux

−uy − iux −iuz

]d+

1

2

[iu0z u0y − iu0x

−u0y − iu0x −iu0z

]θ. (2.35)

The angular velocity matrix from the rotational part Ω(θ) is defined by the components of the vector

U = (ux, uy, uz). The dual part introduces three additional components u0x, u0y, u

0z which are the

components of the moment of the axis about the origin of the reference frame, U0. Six independent

components, three from the rotational part and three from the dual part can be assembled into

a six dimentional vector called a screw. For the work herein, all mechanism joint variables are

displacements along and about the z-axis. For Qz(θ), the angular velocity is found to be

Ωz(θ) = QzQ∗z =

1

2

[i 00 −i

]θ. (2.36)

and for the spatial displacement, Qz(d),

Ωz(d) =˙QzQz

−1=

1

2

0 0 0 00 0 0 0i 0 0 00 −i 0 0

d. (2.37)

Ωz(θ) =˙QzQz

−1=

1

2

i 0 0 00 −i 0 00 0 0 00 0 0 0

θ. (2.38)

2.3 Homogeneous Transformation Review

This particular representation of the spatial displacement is the most common and widely

used in various disciplines. Elements of the real 4 × 4 matrices are referred to as homogeneous

transformation. Homogeneous transformation matrices consists of two main parts. The rotational

part is represented by a 3 × 3 orthogonal matrix, A, that satisfy the condition ATA = I with a

determinant of 1. These rotation matrices form a group that is referred to as the special orthogonal

group, SO(3). The translation is represented by a vector d = (dx, dy, dz)T . Homogeneous

19

transformation matrices take the general form as

H(θ, d) =

[A d0 1

](2.39)

The inverse of H can be determined from

H−1(θ, d) =

[AT −ATd0 1

](2.40)

For a rotation and a translation along and about the frame’s axes x-axis, y-axis, and z-axis, the

following forms are used. Given a screw displacement defined as a rotation about x-axis by θ, and

translation along the x-axis by d = (dx, 0, 0),

Hx(θ, dx) =

1 0 0 dx0 cos θ − sin θ 00 sin θ cos θ 00 0 0 1

, H−1x (θ, dx) =

1 0 0 −dx0 cos θ sin θ 00 − sin θ cos θ 00 0 0 1

(2.41)

Given a screw displacement defined as a rotation about y-axis by θ, and translation along the y-axis

by d = (0, dy, 0),

Hy(θ, dy) =

cos θ 0 sin θ 0

0 1 0 dy− sin θ 0 cos θ 0

0 0 0 1

, H−1y (θ, dy) =

cos θ 0 − sin θ 0

0 1 0 −dysin θ 0 cos θ 0

0 0 0 1

(2.42)

Given a screw displacement defined as a rotation about z-axis by θ, and translation along the z-axis

by d = (0, 0, dz),

Hz(θ, dz) =

cos θ − sin θ 0 0sin θ cos θ 0 0

0 0 1 dz0 0 0 1

, H−1z (θ, dz) =

cos θ sin θ 0 0− sin θ cos θ 0 0

0 0 1 −dz0 0 0 1

(2.43)

A point p = (x, y, z) in R3 is rotated by A and translated by d as[P1

]=

[A d0 1

] [p1

](2.44)

Now consider P = Hp. Taking the derivative, P = Hp. Substituting p = H−1P to obtain

P = HH−1P . The term HH−1 is of interest when determining singularities.

Ω = HH−1 =

[AAT AATd + d

0 1

], or

[Ω Ω0

0 0

], (2.45)

20

where Ω = AAT and Ω0 = AATd + d. Ω is skew-symmetrix matrix as

Ω(θ) = AAT =

0 −uz uyuz 0 −ux−uy ux 0

θ. (2.46)

from which a screw vector can be extracted U = (ux, uy, uz).

21

CHAPTER III

SINGULARITY TRACES FOR LINKAGES WITH

PRISMATIC AND REVOLUTE JOINTS

This chapter extends the general method to construct a singularity trace for single degree-of-

freedom, closed-loop linkages to include prismatic along with revolute joints. The singularity trace

has been introduced in the literature as a plot that reveals the gross motion characteristics of a linkage

relative to a designated input joint and a design parameter. The motion characteristics identified on

the plot include a number of possible geometric inversions, circuits, and singularities at any given

value for the input link and the design parameter. When a physical parameter of a linkage becomes a

variable, the singularities form a curve whose projection is called the singularity trace. The turning

points on the singularity curve, with respect to the design parameter, are called critical points.

3.1 General Method

A rigid link of length aj rotating in the plane by angle θj can be represented by isotropic

coordinates (ajTj , ajTj ). When constructing loop closure equations, the two variables Tj and Tj

can be considered as independent variables under the condition that TjTj = 1. The vector that

corresponds to a prismatic joint k has a varying magnitude ak and an angle θk. In a single DOF

linkage, there is an angular relationship between θk, and the angle of a previous link, θj through a

fixed angle γ. This relationship allows the elimination of θk from the loop closure, and the vector of

joint k to be written in the isotropic coordinates in the form of akTjTγ , which is a function in ak

and θj . Now, introducing Sk = akTj , and its conjugate Sk = akTj leads to a linear expression in

the loop closure variables. An identity equation TjSk − TjSk = 0, is formulated based on the22

definition of Sk and Sk, and the condition on Tj and Tj . Identities are used to eliminate half of

the unknown variables from the loop closure equations, resulting in a reduced form. Considering

a linkage that includes m revolute and n − m prismatic joints, the loop equations in isotropic

coordinates are

m∑j=1

ajTj +n∑

k=m+1

SkTγk = 0,

m∑j=1

ajTj +n∑

k=m+1

SkTγk = 0, (3.1)

TjTj = 1, j = 1, . . . ,m,

Tk−1Sk −Tk−1Sk = 0, k = m+ 1, . . . , n.

Identity equations are only needed if they correspond to an unknown varying parameter. For any

given input, Eq. (3.1) forms a square system. If the displacement along a prismatic joint is the input,

the linear structure of the equations is retained and the solution precedes as the case of only revolute

joints.

The concept for calculating singularities and critical points remains unchanged from previous

work. In this method, any fixed parameter (link length or a fixed angle) could be designated

as a design parameter. The solutions in this chapter were produced using homotopy methods

implemented in the Bertini software package [59].

3.2 Offset Slider-Crank Linkage

An offset slider-crank linkage is shown in Fig. 3.1 and provides a basic example of generating

the singularity trace and motion curves. The linkage consists of four links, three revolute joints, and

one prismatic joint on a fixed line of slide. The linkage input variable is designated as x = θ1. The

other joint variables are y = θ2, a3, and the design parameter is p = a1. The physical parameters

include a2, θ3, a4, and θ4. The line of slide and offset are orthogonal, making γ = θ3 − θ4 = π/2

23

2

3

4

1

a3

a1

a2

a4

Figure 3.1: The position vector loop for an offset, slider-crank linkage.

3.2.1 Loop Closure

As described in the previous section, a variable S3 = a3T4 is defined to facilitate analysis of a

linkage that include a prismatic joint. Note that in this example, T4 is a fixed value as the line of

slide is fixed. Examples with a moving line of slide are provided in later sections. The loop closure

equations areg := a1T1 + a2T2 + S3Tγ + a4T4 = 0,

g := a1T1 + a2T2 + S3Tγ + a4T4 = 0,

hj := TjTj − 1 = 0, j = 1, 2,

q3 := T4S3 −T4S3 = 0.

(3.2)

Since θ3 and θ4 are fixed with the frame, h3 and h4 are not required.

3.2.2 Forward Kinematics

The system in Eq. (3.2) is rewritten to eliminate T2 and T2,

R2 := −a2T2 = a1T1 + S3Tγ + a4T4,

R2 := −a2T2 = a1T1 + S3Tγ + a4T4.

(3.3)

24

Since a2 6= 0, a22h2 = 0, which leads to R2R2 − a22 = 0. Expanding,

H2 := (a1T1 + S3Tγ + a4T4)(a1T1 + S3Tγ + a4T4)

−a22 = 0.

(3.4)

In this example, θ4 = γ = π/2, producing T4 = Tγ = i and T4 = Tγ = −i.

When solving the forward kinematic problem, the design parameter is considered fixed. The

designated input angle, θ1 is selected making T1 known. Equation (3.4) and q3 establish a system

of two equations (one linear and one quadratic), which can be readily solved for S3,S3. The joint

variables are determined by using a3 =√

S3S3 and T2 = −R2/a2. Each solution to the direct

kinematic problem corresponds with a GI.

3.2.3 Singularity Points

To find singularity points, the input angle θ1 becomes a variable and the design parameter

remains fixed. Applying the singularity condition of Eq. (2.10) to the slider-crank gives

D : = ∂H2∂a3

= a1(T1TγT4 + T1TγT4) + a4(Tγ + Tγ) + 2S3T4 = 0.

(3.5)

Equations (3.4), (3.5), h1 and q3 establish a system of four equations for T1,T1,S3,S3. Because

the isotropic coordinates are treated as independent variables, actual solutions are those where

|T1| =∣∣T1

∣∣ = 1, and S3S3 ∈ R.

3.2.4 Critical Points

To determine the critical points, the design parameter a1 is considered variable. Applying the

singularity condition of Eq. (2.14) to the offset slider-crank,

E : = det

[∂H2∂θ1

∂H2∂a3

∂D∂θ1

∂D∂a3

]= 0

= T1(TγS3 + a4T4)−T1(TγS3 − a4T4) = 0.

(3.6)

25

When solving for the critical points, Eqs. (3.4), (3.5), (3.6), h1 and q3 establish a system of five

equations for a1,T1,T1,S3,S3. As before, actual solutions are those where |T1| =∣∣T1

∣∣ = 1,

and S3S3 ∈ R.

3.2.5 Motion Curve and Singularity Trace

Using the critical points and singularity conditions, the methods presented in Ref. [8] were

used to generate the singularity trace of the offset, slider-crank mechanism shown in Fig. 3.2. The

physical parameters selected are a2 = 6.00, a4 = 1.00, θ3 = π, and θ4 = π/2. The singularity trace

for the slider crank mechanism is observed to be an open ended singularity trace, meaning that GI’s

exist for any length of a1. The critical points occur at (θ1, a1) = (1.57, 5.00), (−1.57, 7.00).

Figure 3.2: The slider-crank singularity trace. Red markers represent the critical points. Regionsof equal GI and circuits are identified. Singularities at different values of a1 are indicated. Bothcircuits within the gray zone exhibit a fully rotatable crank.

26

As shown in Fig. 3.2, the plot contains regions bounded by the singularity curve and have the

same number of GIs. Critical points represent values of the design parameter that are associated with

a change in the number of singularities. Since each of these critical points occur on the singularity

trace where the slope is zero, a change in the number of circuits is observed at the critical points (see

[8]). Horizontal lines at values critical values of a1 divide the singularity trace of Fig. 3.2 into three

zones and have the same number of circuits. In the first zone is 0 < a1 < 5, two GI are possible for

any value of θ1. This represents two assembly circuits, where both segments of the motion curve

run smoothly from −π to π with no singularities.

The second zone of the singularity trace is 5 < a1 < 7. Selecting a1 = 6.0, the motion curve

has one circuit and two singularities at θ1 = 0.99 and 2.16. Over the period when −π < θ1 < 0.99

and 2.15 < θ1 < π, the linkages has 2 GIs. The linkage has 0 GIs for 0.99 < θ1 < 2.15, which

means the mechanism cannot be assembled.

The third zone of the singularity trace is a1 > 7. Selecting a1 = 8.50 the motion curve has

two circuits and four singularities at θ1 = −2.17,−0.97,0.63, and 2.51. The linkage can only be

assembled and has 2 GIs over −π < θ1 < −2.17, −0.97 < θ1 < 0.63, and 2.51 < θ1 < π.

3.2.6 Validation

Being a very common and basic mechanism, most machine theory texts manipulate the loop

closure equations for the offset, slider-crank linkage to form a single equation [10, 11]. One version

relates a3 and θ1,

a23 +Ba3 + C = 0, (3.7)

where B = −2a1 cos θ1 and C = a21 + a24 − a2 + 2a1a4 sin θ1. The motion curve resulting from

Eq. (3.4) and Eq. (3.7) are identical. Further, Murray et al., [18] outline the transition conditions

27

for the offset, slider-crank as being a1 = a2 − a1 and a1 = a2 + a4. Substituting a2 = 6.00 and

a4 = 1.00 result in a1 = 5.00 and 7.00, which correspond with the critical points identified in

Fig. 3.2.

3.3 Inverted Slider Crank Linkage

An inverted slider-crank linkage is shown in Fig. 3.3. This linkage includes a prismatic joint

that translates along a moving line of slide. The linkage input variable is designated as x = θ1, the

other joint variables are y = a2, θ3, and the design parameter is p = a1. The physical parameters

include a3, γ, a4, and θ4.

a1

1

a3

γ

2

a2

a4

4

3

Figure 3.3: Inverted slider-crank linkage position vector loop.

28

3.3.1 Loop Closure

The variable S2 = a2T3 is defined to include the prismatic joint. The loop closure equations

areg := a3T3 + TγS2 − a4T4 − a1T1 = 0,

g := a3T3 + TγS2 − a4T4 − a1T1 = 0,

hj := TjTj − 1 = 0 j = 1, 3,

q2 := T3S2 −T3S2 = 0.

(3.8)

Since the frame is designated j = 4 and θ2 depends on θ3, then h2 and h4 are not required.

3.3.2 Forward Kinematics

Eliminating S2 and S2 from Eq. (3.8),

R2 := TγS2 = a1T1 + a4T4 − a3T3,

R2 := TγS2 = a1T1 + a4T4 − a3T3.

(3.9)

Using q2 with the identity TγTγ = 1, T3TγR2 −T3TγR2 = 0. Expanding,

H2 :=T3Tγ(a1T1 + a4T4 − a3T3)

−T3Tγ(a1T1 + a4T4 − a3T3) = 0.

(3.10)

When solving the forward kinematic problem, the design parameter is considered to be fixed.

With designated input angle, θ1 (ie., T1 known), Eq. (3.10) and h3 establishes a system of two

equations for T3,T3. The prismatic joint variable is determined by using a2 =√

S2S2. Each

solution to the direct kinematic problem represents a GI.

3.3.3 Singularity Points

To determine the singularity points, the input angle θ1 becomes a variable and the design

parameter remains fixed. Applying the singularity condition of Eq. (2.10) to the inverted slider-

29

crank givesD := det

[∂H2∂θ3

]=T3Tγ(a1T1 + a4T4) + T3Tγ(a1T1 + a4T4) = 0.

(3.11)

When solving for the singularity points, Eqs. (3.10), (3.11), h1 and h3 establish a system of four

equations for T1,T1,T3,T3. Because the isotropic coordinates are treated as independent

variables, actual solutions are those where |T1| =∣∣T1

∣∣ = |T3| =∣∣T3

∣∣ = 1.

3.3.4 Critical Points

To determine the critical points, the design parameter a1 is considered a variable. Applying the

critical point condition of Eq. (2.14) to the inverted slider-crank,

E := det

[∂H2∂θ1

∂H2∂θ3

∂D∂θ1

∂D∂θ3

]= T1T4 −T1T4 = 0. (3.12)

When solving for the critical points, Eqs. (3.10), (3.11), (3.12), h1 and h3 establish a system of five

equations for a1,T1,T1,T3,T3. Actual solutions are those where a1 = a1 and |T1| =∣∣T1

∣∣ =

|T3| =∣∣T3

∣∣ = 1.

3.3.5 Motion Curve and Singularity Trace

Using physical parameter values of a3 = 0.6, a4 = 1, θ4 = π, γ = 1.2, the singularity trace of

the inverted slider-crank mechanism is given in Fig. 3.4. Again, each of these critical points occur

on the singularity trace where the slope is zero. Thus, a change in the number of circuits is observed

each critical point: (θ1, a1) = (0, 0.44), (0, 1.56). Also observed is that for values of a1 < 0.44

and a1 > 1.56, the linkage has a fully rotating crank.

Regions in the singularity trace bounded by the singularity curve have the same number of GIs.

The singularity trace is further divided into three zones based on the values of a1 at the critical

points. The first zone is 0 < a1 < 0.44, the second is 0.44 < a1 < 1.56, and the third zone

30

Figure 3.4: The inverted slider-crank singularity trace. Red markers denote the critical points.Region of equal GIs and circuits are identified. Singularities at different values of a1 are indicated.Both circuits within the gray zones exhibit a fully rotatable crank.

a1 > 1.56. By generating the motion curve for the mechanism at a certain values of a1, the number

of GIs and circuits are identified for each zone and region in the the singularity trace.

Figure 3.5 shows traces of the motion curve at a1 = 0.2, 0.3, and 0.4, projected onto θ1-θ3

plane. For each value of a1, two assembly circuits exist and 2 GIs are possible for any value of

θ1. For each circuit, the linkage has a fully rotating crank as all GI branches extend from −π to π.

This zone on the singularity trace has two GIs, two circuits, and no singularities. Thus, a first zone

linkage contains two circuits that have an oscillating output with a fully rotational input.

In the second zone of the singularity trace, two singularities exist for a selected value of a1.

Figure 3.6 shows traces of the motion curve at a1 = 0.5, 1.0, and 1.5, projected onto θ1-θ3. For

each value of a1, the motion curve has one assembly circuit and two singularity points denoted

31

−3 −2 −1 0 1 2 30

1

2

3

4

5

6

θ1

θ 3

a

1 = 0.2

a1 = 0.3

a1 = 0.4

Figure 3.5: Traces of the motion curve at various lengths of a1 = 0.2, 0.3, and 0.4, from the firstzone on the singularity trace.

with red markers. Outside the red markers, the linkage has two GIs. In the region between the red

markers, the linkage has 0 GIs, which means the mechanism cannot be assembled. With a linkage in

this second zone, two GIs are possible that only permit an oscillating input producing an oscillating

output.

Figure 3.7 shows traces of the motion curve from the third zone of the singularity trace curve

with a1 = 1.58, 1.65,and 2.00. For all values of θ1, the linkage has two GIs and two circuits with

no singularities. A third zone linkage contains two circuits that have a fully rotating output with a

fully rotational input.

3.3.6 Validation

The analysis of the inverted slider-crank linkage is included in most machine theory texts [10,

11]. A single equation relating θ3 and θ1 is stated as

D sin(θ2)− E cos(θ2)− a3 sin(γ) = 0, (3.13)

32

−3 −2 −1 0 1 2 30

1

2

3

4

5

6

θ1

θ 3

(−0.37,3.81)

(0.37,3.16)

(−0.57,4.77)

(0.57,2.21)

(−0.21,6.03)

(0.21,0.95)

a1 = 0.5

a1 = 1

a1 = 1.5

Figure 3.6: Traces of the motion curve at various lengths of a1 = 0.5, 1.0, and 1.5, from the secondzone on the singularity trace. Singularity points are identified with red markers.

where D = a1 cos(θ1)− a4 cos(θ4) and E = a1 sin(θ1) + a4 sin(θ4). The resulting motion curves

from Eq. (3.10) and Eq. (3.13) are identical. Additionally, Murray et al., [18] outline the transition

conditions for the inverted, slider-crank as being a1 = a4 + a3 sin γ and a1 = a4 + a3 sin γ.

Substituting the values of physical parameters a3 = 0.6, a4 = 1.0, γ = 1.2 result in a1 = 0.44 and

1.56, which correspond with the critical points identified in Fig. 3.4.

In the two examples previously discussed and those produced in Refs. [8, 9], a link length has

been selected as a design parameter. It is noted that the fixed angle γ could be designated as a design

parameter without changing the general method.

3.4 Assur IV/3 with Two Prismatic Joints

The general motion analysis method is applied to the linkage shown in Fig. 3.8, which is

classified an an Assur Class IV, Order 3, denoted Assur IV/3 [60]. This linkage is used to

approximate shape changes defined by closed curves [61]. Links 11, 12, 13, and 14 constitute a

33

−3 −2 −1 0 1 2 30

1

2

3

4

5

6

θ1

θ 3

a

1 = 1.58

a1 = 1.65

a1 = 2

Figure 3.7: Traces of the motion curve at various lengths of a1 = 1.58, 1.65,and 2.00, from thethird zone on the singularity trace.

closed loop connected by revolute and prismatic joints that has the capacity to vary between specific

shapes in a controlled manner. Applications for such shape change mechanisms include morphing

aircraft wings [62] and variable geometry dies for polymer extrusion [63].

The input variable is x = θ1, the design parameter is p = a1, and the passive joint variables are

y = θ2, θ3, a4, a7, θ9, θ14.

34

12

a1

a3

a13

a12

a14

6

a11

a5

a4

a8

a2

a9

a7

a10 a6

13

3

7 =14 1

4

3

2

5

6

2

1

8 11

9

10

4

5

Figure 3.8: Assur IV/3 linkage position vector loop.

3.4.1 Loop Closure

The variables S4 = a4T3 and S7 = a7T14 are defined to represent the prismatic joints that

slide along links 4 and 7, respectively. The loop closure conditions and appropriate identities are

g1 := a1T1 + a2T2 + a3T3 + Tδ3S4 + a5T5 = 0,

g2 := a1T1 + a6T6 + S7 + a8T8 + a9T9 + a10T10 = 0,

g3 := a11T11 + a12T12 + a13T13 + a14T14 + S7 = 0,

hj := TjTj − 1 = 0 j = 1, 3, 9, 12, 14,

q4 := T3S4 −T3S4 = 0,

q7 := T14S7 −T14S7 = 0.

(3.14)

35

3.4.2 Forward Kinematics

The fixed angular relationships on the ternary links are represented with T2 = Tδ1Tδ2T14,

T6 = Tδ1T14, T8 = Tδ4T14, T11 = Tδ5T14, and T13 = Tδ6T3. Variables S4,S4,T9,T9,T12,T12

can be eliminated by rewriting and manipulating Eqs. (3.14),

R4 :=−T3S4

=Tδ3T3(a1T1 + a2Tδ1Tδ2T14 + a3T3 + a5T5),

R9 :=− a9T9

=a1T1 + (a6Tδ1 + a8Tδ4)T14 + S7 + a10T10,

R12 :=− a12T12 = (a11Tδ5 + a14)T14 + a13Tδ6T3 + S7.

(3.15)

The conjugates R4, R9, and R12 are also formed. The identity equations h9, h12, and q4 are used to

achieve the reduced form of the loop closure, which can be expressed as follows

Q4 := R4 −R4 = 0,

H9 := R9R9 − a29 = 0,

H12 := R12R12 − a212 = 0.

(3.16)

For an input value of θ1, Eqs. (3.16) coupled with h3, h14, and q7 form a system of six equations in

the variables T3,T3,T14,T14,S7,S7. The solutions can be obtained from Bertini to determine

the passive joint positions. As before, actual solutions are those where |T3| =∣∣T3

∣∣ = |T14| =∣∣T14

∣∣ = 1 and S7S7 ∈ R. The prismatic joint variable is determined by using a7 =√

S7S7.

3.4.3 Singularity Points

The singularity points for the Assur IV/3 are obtained by solving the system of equations that

includes Eqs. (3.16), h1, h3, h14, and q7 along with the singularity condition equation,

D := det

∂H4∂θ3

∂H4∂θ14

∂H4∂a7

∂H9∂θ3

∂H9∂θ14

∂H9∂a7

∂H12∂θ3

∂H12∂θ14

∂H12∂a7

= 0. (3.17)

36

The solution to the system of seven equations with seven unknowns can be obtained from Bertini to

determine the the input and passive joint positions that place the linkage in a singularity.

3.4.4 Critical Points

To find the critical points of the linkage, the design parameter is set to be a variable and one

more equation is added to the system from the singularity analysis, so that the number of unknowns

equals the number of equations. The additional equation is given by

E := det

∂H4∂θ1

∂H4∂θ3

∂H4∂θ14

∂H4∂a7

∂H9∂θ1

∂H9∂θ3

∂H9∂θ14

∂H9∂a7

∂H12∂θ1

∂H12∂θ3

∂H12∂θ14

∂H12∂a7

∂D∂θ1

∂D∂θ3

∂D∂θ14

∂D∂a7

= 0. (3.18)

The solution to the system of eight equations with eight unknowns can be obtained from Bertini to

determine the the design parameter value, input and passive joint positions that place the linkage at

a critical point.

3.4.5 Singularity Trace

For this numerical example, the physical parameters are set to a2 = 0.72, a3 = 0.77, a5 = 0.87,

a6 = 0.57, a8 = 0.53, a9 = 0.9, a10 = 1.546, a11 = 0.65, a12 = 1.34, a13 = 0.6, a14 = 1.09,

θ5 = 0, θ10 = −2.926, δ1 = 2.015, δ2 = 1.727, δ3 = 0.634,δ4 = 0.981, δ5 = 1.487, and

δ6 = 0.356. The singularity trace of the Assur IV/3 linkage with the design variable a1 is shown in

Figure 3.9. The singularity trace is divided into zones with the same number of circuits, and regions

with with same number of GIs. As the design parameter varies, the number of circuits changes by

one when the critical point occurs at a smooth extrema. Critical points that appear on the plot as

a cusp correspond to a point where the linkage moves into a different region of GIs. By setting

a1 = 0.22, and allowing a12 to vary, a second singularity trace can be obtained with new critical

points as shown in Fig. 3.10

37

Figure 3.9: The singularity trace for Assur IV/3 with respect to a1. Red markers denote the criticalpoints. Regions of equal GIs and circuits are identified. The zone shaded in gray contains at leastone circuit with a fully rotatable crank.

3.4.6 Motion Curve

Figure 3.11 shows a motion curve with a1 = 0.25 projected onto θ1-θ2 plane. At this driving link

length, the linkage has six circuits, five of them have continuously rotating cranks. Additionally, the

sixth circuit exhibits two singularity points, between which is a linkage that is able to rotate greater

than one full revolution. That is, the linkage upon return to the same value of the input link angle is

placed into a different GI without encountering a singularity. As observed in Ref. [8], this motion

characteristic is associated with being near a cusp on the singularity trace.

38

Figure 3.10: The singularity trace for Assur IV/3 with respect to a12. Red markers denote the criticalpoints. The zone shaded in gray contains at least one circuit with a fully rotatable crank

−3 −2 −1 0 1 2 30

1

2

3

4

5

6

θ1

θ 3

Figure 3.11: Motion curve for Assur IV/3 with a1 = 0.25 projected onto θ1-θ3.

39

CHAPTER IV

SPHERICAL LINKAGE ANALYSIS

In this chapter a process is developed to solve displacement and singularity analysis of spherical

linkages using 2 × 2 special unitary rotation matrices, SU(2). The process is valid for multiloop

spherical linkages. Three examples are provided to show the process in details. To facilitate the

process of equations development for analyzing spherical linkages, a straightforward example of

3-roll wrist is utilized.

4.1 The 3-Roll Wrist on SU(2)

A 3-roll wrist is often used as the final set of axes on a robot and has three perpendicular

intersecting revolute joints for the creation of arbitrary orientations as shown in Fig. 4.1. The inverse

kinematics task is to determine the joint angles in order to position the end effector in a desired

orientation Q3RW . The desired orientation is defined by an angle θ about a line s as specified in

Eq. (2.17) to create

Q3RW =

[M1 M2

−M2 M1

], (4.1)

where M j is the conjugate of Mj . For this example, let the three successive rotations be about

Z then X then Z. Thus, the forward kinematics is

Q3RW = Qz(θ1)Qx(θ2)Qz(θ3). (4.2)

Rearranging Eq. (4.2),

H := Qx(θ2)Qz(θ3)Q∗3RW = Q∗z(θ1). (4.3)

40

Figure 4.1: A 3-roll wrist in a robot assembly. Adopted from[2].

Expanding Eq. (4.3) yields a 2× 2 matrix whose elements are multilinear polynomials with the two

off-diagonal elements equal zero,

H12 := −M2a2T3 −M1b2T 3i = 0,

H21 := −M1b2T3i+M2a2T 3 = 0.

(4.4)

Although the equations are not as familiar as those derived from SO(3), the solution is no more

difficult. Eliminating a2 and b2 between them,

T3

T 3

= ±

√M1M2

−M1M2

. (4.5)

As an example, Q3RW is defined by θ = 60 and s = (0.5287, 0.4190,−0.7382), so M1 =

0.8660 − 0.3691i and M2 = 0.2095 + 0.2644i. Eq. (4.5) yields T3/T 3 = ± (0.4775− 0.8787i).

Observe the property of complex numbers, A and B say, that if AB = 1 and A/B = k then

A = ±√k. This property applies here since T3T 3 = 1. Moreover, as Q and −Q correspond

to the same rotation, the ± may be ignored and the statement simply becomes A =√k. Thus,

41

the first possibility is T3 =√

0.4775− 0.8787i = 0.8595 − 0.5111i corresponding to an angle of

θ3 = −61.5. The second possibilty is T3 =√−0.4775 + 0.8787i = 0.5111 + 0.8595i for an

angle of θ3 = 118.5. Eq. (4.4) now determines θ2 (from a2 and b2) and then the diagonal terms of

Eq. (4.3) define θ1.

Although using numerical algebraic geometry on such a straightforward example is unnecessary,

the Bertini tool is now used to prepare for the significantly more complicated examples to come

and to introduce some numerical issues that need to be addressed. For example, in Bertini, it is

computationally advantageous to identify groups of homogeneous variables. This is readily done

by grouping the variables associated by a joint rotation angle. Groups are identified with angle

brackets as in [31]. The variable groups are 〈a2, b2〉 and 〈T3, T 3〉 corresponding to the wrist angles

θ2 and θ3, respectively. With Eq. (4.4) homogeneous, solutions are determined as a ratio of the

values in the variable group. For example, Bertini determines a value of Tv3 for the variable T3 and

T v3 for T 3. Due to the homogeneity, either Tv3 or T v3 will equal 1. Although these values solve

the equations, it is also the case that Tv3T v3 6= 1. The desired dehomogenized values are

T3 =

√Tv3

T v3and T 3 =

√T v3Tv3

. (4.6)

For an x-axis rotation, the process of determining the desired values is slightly different. In this

case, Bertini determines a value of av2 for a2 and bv2 for b2 where either av2 or bv2 will equal 1.

The desired values are

a2 =av2√

a2v2 + b2v2and b2 =

bv2√a2v2 + b2v2

. (4.7)

Although not used here, a y-axis rotation is handled similarly to the x-axis case. For this example,

Bertini solved Eq. (4.4) tracking two paths to two solutions. For the first path tracked, Bertini

produced av2 = 1, bv2 = 0.3583, Tv3 = 1, and T v3 = 0.4775 + 0.8787i. The corresponding

values are a2 = 0.9414, b2 = 0.3373, T3 = 0.8595 − 0.5111i, and T 3 = 0.8595 + 0.5111i

42

producing the solution θ1 = 13.7, θ2 = 39.4, θ3 = −61.5. The second solution produces

θ1 = −166.3, θ2 = −39.4, θ3 = 118.5, the two solutions matching the above method.

4.2 Spherical Four-Bar Linkage Analysis

A spherical four-bar mechanism is shown in Fig. 4.2. The mechanism consists of four links, one

being fixed, connected by four revolute joints with intersecting axes. The fixed origin is placed at

the intersection of the axes. The z-axis of the fixed frame is aligned with the axis of joint 1 and the

x-z plane is aligned with the fixed link. The actuated angle is θ1, and the remaining joint variables

are θ2, θ3, and θ4. The physical parameters defining the link lengths are α12, α23, α34, and α41.

1

G1

W1

W2

G2

2

3

4

α12

α23

α34

α41

X

Z

Y

Figure 4.2: A spherical four-bar linkage.

43

4.2.1 Loop Closure and Forward Kinematics

The loop closure equations for this spherical mechanism are constructed using successive

rotations.

Qz(θ1)Qy(α12)Qz(θ2)Qy(α23)Qz(θ3)Qy(α34)Qz(θ4)Qy(α41) = I, (4.8)

where I is the identity. Isolating θ3 in Eq. (4.8),

Qy(α34)Qz(θ4)Qy(α41)Qz(θ1)Qy(α12)Qz(θ2)Qy(α23) = Q∗z(θ3). (4.9)

The off-diagonal terms in Q∗z(θ3) are zero and the polynomials from the left hand side are observed

to be homogeneous in the variable groups 〈T2, T 2〉 and 〈T4, T 4〉 representing θ2 and θ4, respectively.

For a given θ1, Bertini tracks two paths and finds (up to) two sets of usable values for 〈T2, T 2〉 and

〈T4, T 4〉. Like the previous example, these values must be dehomogenized. Usable solutions meet

the condition that the diagonal elements on the right side of Eq. (4.9) are complex conjugates and

of unit magnitude. This check is performed throughout to discard solutions that do not result in

actual loop closure. The terminology here is worth highlighting. Classically, when solving for an

unknown θ value, a complex value corresponds to a configuration at which the mechanism cannot be

assembled. Since all values are imaginary when using SU(2), that terminology is insufficient. Thus,

the check is to see if the values of T3 and T 3 calculated from Eq. (4.9) are complex conjugates and

of unit magnitude. Given the condition is met, the values for θ3 are straightforwardly determined.

Using the physical parameters α12 = 90, α23 = 90, α34 = 45, α41 = 72, the motion curve in

Fig. 4.3 is produced by varying θ1.

4.2.2 Spherical Four-Bar Singularity Points

When determining singularities the input angle is considered to be a variable. The singularity

condition is determined from the velocity expression presented in Eq. (2.34). In this analysis,

44

rearranging Eq. (4.8) leads to

Qz(θ2)Qy(α23)Qz(θ3)Qy(α34) = Q∗y(α12)Q∗z(θ1)Q

∗y(α41)Q

∗z(θ4). (4.10)

Taking the derivative of Eq. (4.10) with respect to time and multiplying by the inverse of Eq. (4.10)

results in

Ω2 + Ω3 = Ω1 + Ω4, (4.11)

where

Ω2 =Ωz(θ2),

Ω3 =Qz(θ2)Qy(α23)Ωz(θ3)Q∗y(α23)Q

∗z(θ2),

Ω1 =Q∗y(α12)Ωz(θ1)Qy(α12),

Ω4 =Q∗y(α12)Q∗z(θ1)Q

∗y(α41)Ωz(θ4)Qy(α41)Qz(θ1)Qy(α12),

(4.12)

Ω1, Ω2, Ω3, Ω4 are referred to as screw matrices and have a structure as in Eq. (2.34). A screw

vector, Ui can be extracted from each of the matrices to achieve

U2θ2 + U3θ3 = U1θ1 + U4θ4. (4.13)

Rearranging Eq. (4.13), [−U2 −U3 U4

] θ2θ3θ4

+ U1θ1 = 0. (4.14)

The singularity with respect to θ1 occurs when

det[−U2 −U3 U4

]= 0. (4.15)

To determine the singularity points, Eq. (4.15) is coupled with the off-diagonal elements of Eq. (4.9).

The input angle θ1 is also an unknown. The system of equations are posed in the homogeneous

variable groups 〈T1, T 1〉, 〈T2, T 2〉 and 〈T4, T 4〉, representing θ1, θ2 and θ4, respectively. Bertini

solves the system tracking eight paths and finds up to four solutions that satisfy Eq. (4.9) and

Eq. (4.15). Using the link lengths of α12 = 90, α23 = 90, α34 = 45, α41 = 72, the

45

four singularities occur at (θ1, θ4) = (41.97, 108.96), (138.03, 251.04), (221.97, 108.96),

(318.03, 251.04). These singularities are shown as the red circles in Fig. 4.3. The results for the

forward kinematics and singularity analysis in this example match those from Sphinx [64].

Figure 4.3: Motion curve for spherical Four-Bar linkage projected onto θ1 − θ4. Singularity pointsare identified with red circles.

4.3 Spherical Watt I Linkage Analysis

A spherical Watt I linkage consists of six links and seven joints and is shown in Fig. 4.4.

Being a spherical linkage, the axes of all revolute joints intersect at a single point. The physical

parameters are the angular displacement between the axis of the revolute joints which include

α12, α23, α34, α41, α25, α56, α67, α74, as well as γ1 and γ2 that define the two ternary links. Note

that a four-bar linkage is contained within the Watt I. As with the four-bar, the fixed origin is placed

46

at the intersection of the axes, the z-axis of the fixed frame is aligned with the axis of joint 1, and

the x-z plane is aligned with the fixed link.

G1

W1

W3

W5

W4

G2

W2

α12

α23

α34

α41

α25

α56

α67

α74

1

2

3

4

5 6

7

γ1

γ2

X Y

Z

Figure 4.4: Spherical Watt I six-bar linkage.

4.3.1 Loop Closure and Forward Kinematics

Loop closure equations can be obtained by following two different paths. For the interior loop,

that consist of joint axes G1,W1,W2,G2 is Eq. (4.9). For the outer loop that consist of joint axes

G1,W1,W3,W5,W4,G2,

Qz(θ1)Qy(α12)Qz(θ2 − γ1)Qy(α25)Qz(θ5)Qy(α56)Qz

(θ6)Qy(α67)Qz(θ7)Qy(α74)Qz(θ4 − γ2)Qy(α41) = I.

(4.16)

47

To reduce the system, θ5 is isolated and Eq. (4.16) becomes

Qy(α56)Qz(θ6)Qy(α67)Qz(θ7)Qy(α74)Qz(θ4 − γ2)

Qy(α41)Qz(θ1)Qy(α12)Qz(θ2 − γ1)Qy(α25) = Q∗z(θ5).

(4.17)

Given θ1, the (unknown) joint variables are θj , j = 2, . . . , 7, associated with relative rotation about

z-axis. z-axes. The judicious approach is to solve Eq. (4.9) first as detailed in the previous section,

and then use each of those solutions to solve Eq. (4.16) repeatedly for each valid solution.

As a more generic modeling procedure is sought in this work, the off-diagonal elements in

Eqs. (4.9) and (4.17) are used simultaneously. Four homogeneous equations are posed in the variable

groups 〈T2, T 2〉, 〈T4, T 4〉, 〈T6, T 6〉 and 〈T7, T 7〉 representing θ2, θ4, θ6 and θ7, respectively. The

system is solved using Bertini, following four paths and finding up to four usable solutions for

each θ1. The solutions are checked by substituting them into the diagonal elements of Eqs. (4.9)

and (4.17). Passing the check, the corresponding values of θ3 and θ5 are readily determined. Using

physical parameters α12 = 25, γ1 = γ2 = α23 = 60, α34 = α25 = α56 = 40, α41 = 110,

α67 = 55, and α74 = 45, the motion curve in Fig. 4.5 is produced by varying θ1 and projecting

onto θ1-θ7.

4.3.2 Singularity Points

When determining singularities, the input angle θ1 is considered a variable. As in the four-

bar singularity analysis, the loop closure is arranged to reduced the size of the equations. The

singularity condition for the interior loop is identical to that of the four-bar spherical linkage as

given in Eq. (4.15). For the outer loop, Eq. (4.16) is written as

Qy(α74)Qz(θ4 − γ2)Qy(α41)Qz(θ1)Qy(α12)Qz(θ2 − γ1)Qy(α25) =

Q∗z(θ7)Q∗y(α67)Q

∗z(θ6)Q

∗y(α56)Q

∗z(θ5).

(4.18)

Taking the derivative of Eq. (4.18) with respect to time and multiplying by the inverse of Eq. (4.18),

Ω†4 + Ω†1 + Ω†2 = Ω7 + Ω6 + Ω5, (4.19)

48

where

Ω†4 =Qy(α74)Ωz(θ4)Q∗y(α74),

Ω†1 =Qy(α74)Qz(θ4 − γ2)Qy(α41)Ωz(θ1)Q∗y(α41)Q

∗z(θ4 − γ2)Q∗y(α74),

Ω†2 =Qy(α74)Qz(θ4 − γ2)Qy(α41)Qz(θ1)Qy(α12)Ωz(θ2)Q∗y(α12)Q

∗z(θ1)

Q∗y(α41)Q∗z(θ4 − γ2)Q∗y(α74),

Ω7 =Ωz(θ7),

Ω6 =Q∗z(θ7)Q∗y(α67)Ωz(θ6)Qy(α67)Qz(θ7),

Ω5 =Q∗z(θ7)Q∗y(α67)Q

∗z(θ6)Q

∗y(α56)Ωz(θ5)Qy(α56)Qz(θ6)Qy(α67)Qz(θ7).

(4.20)

Note the † denoting the difference between Ωi being from Eq. (4.10) with Ω†i being from Eq. (4.18).

Extracting Ui,

[−U2 −U3 U4 0 0 0

U†2 0 U†4 −U5 −U6 −U7

]

θ2θ3θ4θ5θ6θ7

+

[U1

U†1

]θ1 = 0, (4.21)

where the U†j are again from from Eq. (4.18). The singularity condition for the outer loop is obtained

when the 6× 6 Jacobian matrix becomes singular,

det[−U2 −U3 U4 0 0 0

U†2 0 U†4 −U5 −U6 −U7

]= 0. (4.22)

To locate the singularities, Eq. (4.22) and the off-diagonal elements of Eqs. (4.9) and (4.17) define a

system of five equations that are posed in the variable groups 〈Tj , T j〉, j = 1, 2, 4, 6, 7 representing

the corresponding θj variables. Using the physical parameters identified in Sec. 4.3.1, Bertini

tracks 88 paths to six solutions: (θ1, θ7) = (110.0792.07, (110.07 − 11.29, (133.780, (226.220,

(249.9292.07, and (249.92− 11.29. They are indicated by red disks in Fig. 4.5.

49

Figure 4.5: Motion curve for Watt I spherical linkage projected onto θ1-θ7. Singularity points areidentified with red circles.

4.4 Spherical Eight-Bar Linkage Analysis

This section aims to analyze three loop spherical linage. The example linkage presented here

consists of eight links and ten revolute joints connecting the links to each other as shown in Fig. 4.6.

As all spherical linkages axes of all revolute joints intersect at a single point. Four links are binary,

two of the links are ternary links, and one link is quaternary. A binary link is connected by two

joints, a ternary link is connected by three joints, and a quaternary link is connected to other links

by four joints. The degree-of-freedom, M, for spherical linkages is calculated in the same way

for planar linkages. The mobility of each moving link on a sphere is three degrees-of-freedom

3 × 7 = 21, keep in mind that one link is fixed. The constraints from each joint are 10 × 2 = 20.

The mobility of the linkage is 21− 20 = 1. Thus, this linkage is a single degree of freedom.

50

Ternary link

Quaternary

link

Binary link

Figure 4.6: Spherical eight-bar linkage schematic diagram.

4.4.1 Loop Closure and Forward Kinematics

The physical parameters are the angular displacements between the axes of the revolute joints

and the rotations between the planes containing these displacements on the ternary links and the

quaternary link as in Fig. 4.7. The physical parameters for the binary links are α56, α78, α910. The

fixed link is a binary link and the displacement between its axes is α41. Two ternary links are present

in the linkage structure. One ternary link is connected to the fixed link and other ternary link is a

floating link. The grounded ternary link is identified by the physical parameters α15, α12 and a

rotation by γ1 that separates the two sides of the ternary link. The angle between the two planes

containing α15, α12 is referred to as a dihedral angle between α15, α12. The floating ternary link

is specified by α67 and α69 and a dihedral angle γ4. Lastly, the quaternary link is defined by the

parameters α34, α84, α104 in addition to γ2 and γ3. Note that a four-bar linkage is contained within

51

the eight-bar linkage. As with the previous example, the fixed origin is placed at the intersection of

the axes, the z-axis of the fixed frame is aligned with the axis G1, and the x-z plane is aligned with

the fixed link. Loop closure equations can be obtained by following three different paths around the

W6

W7

W8

G1

G2

W3

W1

W2

W4

W5

θ1

θ2 θ

3

θ4

α12

α23

α

34

α41

Z

Y X

γ1

γ2

γ3

γ4

θ5

θ6

θ7

θ8

α56

α67

α78

α84

α69

α910

α104

θ9

θ10

α15

Figure 4.7: Spherical eight-bar linkage.

linkage to form an inner loop, a middle loop, and an outer loop. The inner loop consists of joint

axes G1,W1,W2,G2 is

Qz(θ1 + γ1)Qy(α12)Qz(θ2)Qy(α23)Qz(θ3)Qy(α34)Qz(γ2 + γ3 + θ4)Qy(α41) = I. (4.23)

Eq. (4.23) is written starting from the fixed frame at G1. This equation is rewritten starting with the

rotation Qz(θ3) and going back around the loop. This step is a preparation to isolate the rotation

52

containing θ3 as

Qz(θ3)Qy(α34)Qz(γ2 + γ3 + θ4)Qy(α41)Qz(θ1 + γ1)Qy(α12)Qz(θ2)Qy(α23) = I. (4.24)

Multiply both sides of Eq. (4.24) by Q∗z(θ3) to isolate θ3

Qy(α34)Qz(γ2 + γ3 + θ4)Qy(α41)Qz(θ1 + γ1)Qy(α12)Qz(θ2)Qy(α23) = Q∗z(θ3). (4.25)

The middle loop consists of joint axes G1,W3,W6,W7,W4,G2. Starting from the fixed frame

at G1, the middle loop equation is

Qz(θ1)Qy(α15)Qz(θ5)Qy(α56)Qz(θ6 + γ4)Qy(α67)Qz(θ7)

Qy(α78)Qz(θ8)Qy(α84)Qz(θ4 + γ3)Qy(α41) = I.

(4.26)

With the intention of isolating, θ7. Eq.(4.26) is rewritten starting from the rotation containing θ7.

Qz(θ7)Qy(α78)Qz(θ8)Qy(α84)Qz(θ4 + γ3)Qy(α41)

Qz(θ1)Qy(α15)Qz(θ5)Qy(α56)Qz(θ6 + γ4)Qy(α67) = I.

(4.27)

Multiply both sides by Q∗z(θ7). Eq. (4.27) takes the form as

Qy(α78)Qz(θ8)Qy(α84)Qz(θ4 + γ3)Qy(α41)

Qz(θ1)Qy(α15)Qz(θ5)Qy(α56)Qz(θ6 + γ4)Qy(α67) = Q∗z(θ7).

(4.28)

The outer loop is the third loop and it consists of the axes G1,W3,W6,W8,W5,G2. The process

of constructing the loop closure equation is similar to the previous loops. Starting from the fixed

frame at G1, the outer loop equation is

Qz(θ1)Qy(α15)Qz(θ5)Qy(α56)Qz(θ6)Qy(α69)Qz(θ9)

Qy(α910)Qz(θ10)Qy(α104)Qz(θ4)Qy(α41) = I.

(4.29)

To isolate, θ9 write Eq.(4.29) starting from the rotation containing θ9.

Qz(θ9)Qy(α910)Qz(θ10)Qy(α104)Qz(θ4)Qy(α41)

Qz(θ1)Qy(α15)Qz(θ5)Qy(α56)Qz(θ6)Qy(α69) = I.

(4.30)

Multiply both sides by Q∗z(θ9). Eq. (4.30) becomes

Qy(α910)Qz(θ10)Qy(α104)Qz(θ4)Qy(α41)

Qz(θ1)Qy(α15)Qz(θ5)Qy(α56)Qz(θ6)Qy(α69) = Q∗z(θ9).

(4.31)

53

The off-diagonal elements in Eqs. (4.25), (4.28), and (4.31) are solved simultaneously when solving

the displacement analysis. Given θ1, the (unknown) joint variables are θj , j = 2, 4, 5, 6, 8, 10,

associated with relative rotation about z-axis. Note, the two off-diagonal elements from each loop

does not contain the angles θ3, θ7, and θ9. Since these angles are only present in the diagonal

elements of the loop closure equations. Six homogeneous equations are posed in the variable groups

〈T2, T 2〉, 〈T4, T 4〉, 〈T5, T 5〉, 〈T6, T 6〉, 〈T8, T 8〉 and 〈T10, T 10〉 representing θ2, θ4, θ5, θ6, θ8, and

θ10. respectively. To give a numerical example, the physical parameters are set as α12, α15 = 25,

α34 = 40, α23, α84 = 60, α69, α104 = 80, α41 = 100, α56, α67, α78, α910 = 45, and

γ1...4 = 10. The system is solved using Bertini, following sixteen paths and finding up to eight

usable solutions for each θ1. The solutions are checked by substituting them into the diagonal

elements of Eqs. (4.25), (4.28), and (4.31). The motion curve in Fig. 4.8 is produced by varying θ1

and projecting onto θ1-θ5. The motion curve in Fig. 4.8 and Fig. 4.9 is produced by varying θ1 and

projecting onto θ1-θ5,θ6.

4.4.2 Singularity Points

When determining singularities, the input angle θ1 is considered a variable. The inner loop

closure Eq. (4.23) is arranged to reduced the size of the resulting screw vector as

Qz(θ2)Qy(α23)Qz(θ3)Qy(α34) = Q∗y(α12)Q∗z(θ1 + γ1)Q

∗y(α41)Q

∗z(γ2 + γ3 + θ4). (4.32)

Multiplying the derivative of each side of this equation by the inverse of the same side to obtain

Ω2 + Ω3 = Ω†1 + Ω†4, (4.33)

54

where

Ω2 =Ωz(θ2),

Ω3 =Qz(θ2)Qy(α23)Ωz(θ3)Q∗y(α23)Q

∗z(θ2),

Ω1 =Q∗y(α12)Ωz(θ1)Qy(α12)

Ω4 =Q∗y(α12)Q∗z(θ1 + γ1)Q

∗y(α41)Ωz(θ4)Qy(α41)Qz(θ1 + γ1)Qy(α12),

(4.34)

For the middle loop, Eq. (4.26) is written as

Qz(θ5)Qy(α56)Qz(θ6 + γ4)Qy(α67)Qz(θ7)Qy(α78) =

Q∗y(α15)Q∗z(θ1)Q

∗y(α41)Q

∗z(θ4 + γ3)Q

∗y(α84)Q

∗z(θ8).

(4.35)

Taking the derivative of Eq. (4.35) with respect to time and multiplying by the inverse of Eq. (4.35),

Ω†5 + Ω†6 + Ω7 = Ω†1 + Ω†4 + Ω8, (4.36)

where

Ω†5 =Ωz(θ5),

Ω†6 =Qz(θ5)Qy(α56)Ωz(θ6)Q∗y(α56)Q

∗z(θ5),

Ω7 =Qz(θ5)Qy(α56)Qz(θ6 + γ4)Qy(α67)Ωz(θ7)

Q∗y(α67)Q∗z(θ6 + γ4)Q

∗y(α56)Q

∗z(θ5),

Ω†1 =Q∗y(α15)Ωz(θ1)Qy(α15),

Ω†4 =Q∗y(α15)Q∗z(θ1)Q

∗y(α41)Ωz(θ4)Qy(α41)Qz(θ1)Qy(α15),

Ω8 =Q∗y(α15)Q∗z(θ1)Q

∗y(α41)Q

∗z(θ4 + γ3)Q

∗y(α84)Ωz(θ8)

Qy(α84)Qz(θ4 + γ3)Qy(α41)Qz(θ1)Qy(α15).

(4.37)

For the outer loop, Eq. (4.29) is written as

Qz(θ5)Qy(α56)Qz(θ6)Qy(α69)Qz(θ9)Qy(α910) =

Q∗y(α15)Q∗z(θ1)Q

∗y(α41)Q

∗z(θ4)Q

∗y(α104)Q

∗z(θ10).

(4.38)

Taking the derivative of Eq. (4.38) with respect to time and multiplying by the inverse of Eq. (4.38),

Ω‡5 + Ω‡6 + Ω9 = Ω‡1 + Ω‡4 + Ω10, (4.39)

55

where

Ω‡5 =Ωz(θ5),

Ω‡6 =Qz(θ5)Qy(α56)Ωz(θ6)Q∗y(α56)Q

∗z(θ5),

Ω9 =Qz(θ5)Qy(α56)Qz(θ6)Qy(α69)Ωz(θ9)Q∗y(α69)Q

∗z(θ6)Q

∗y(α56)Q

∗z(θ5),

Ω‡1 =Q∗y(α15)Ωz(θ1)Qy(α15),

Ω‡4 =Q∗y(α15)Q∗z(θ1)Q

∗y(α41)Ωz(θ4)Qy(α41)Qz(θ1)Qy(α15),

Ω10 =Q∗y(α15)Q∗z(θ1)Q

∗y(α41)Q

∗z(θ4)Q

∗y(α104)

Ωz( ˙θ10)Qy(α104)Qz(θ4)Qy(α41)Qz(θ1)Qy(α15).

(4.40)

Screw matrices that appear in more than one loop are distinguished with † and ‡. Ω†i being from the

middle loop, and Ω‡ is from the outer loop. Extracting Ui,

−U2 −U3 U4 0 0 0 0 0 0

0 0 U†4 −U†5 −U†6 −U7 U8 0 0

0 0 U‡4 −U‡5 −U†6 0 0 −U9 U10

θ2θ3θ4θ5θ6θ7θ8θ9˙θ10

+

U1

U†1U‡1

θ1 = 0, (4.41)

The singularity condition for the outer loop is obtained when the 9 × 9 Jacobian matrix becomes

singular,

det

−U2 −U3 U4 0 0 0 0 0 0

0 0 U†4 −U†5 −U†6 −U7 U8 0 0

0 0 U‡4 −U‡5 −U†6 0 0 −U9 U10

= 0. (4.42)

To locate the singularities, Eq. (4.42) and the off-diagonal elements of Eqs. (4.25), Eqs. (4.28)

and (4.31) define a system of seven equations that are posed in the variable groups 〈Tj , T j〉,

j = 1, 2, 4, 5, 6, 8, 10 representing the corresponding θj variables. Using the physical parameters

identified in Sec. 4.4.1, Bertini tracks 512 paths to find the singularities shown in Table 4.1.

Singularities are indicated by red disks in Fig. 4.8 and 4.9.

56

Table 4.1: Singularity analysis results

θ1 θ2 θ4 θ5 θ6 θ8 θ10

1 77.76 87.76 134.61 165.47 170.42 13.88 -16.13

2 77.76 87.76 134.61 -42.72 99.99 -55.87 -127.66

3 77.76 87.76 134.61 -146.78 238.06 81.80 147.63

4 77.76 87.76 134.61 -19.53 169.57 13.84 96.25

5 239.81 -40.77 -139.22 148.67 151.58 -68.55 -144.10

6 244.65 -47.83 -142.54 134.57 150.39 -61.76 -135.74

7 262.24 -87.76 -174.61 126.88 108.66 -49.88 -118.63

8 262.24 -87.76 -174.61 58.71 221.78 70.78 141.40

9 262.24 -87.76 -174.61 143.64 182.77 22.09 105.26

10 262.24 -87.76 -174.61 -3.48 158.57 16.85 -12.50

Figure 4.8: Motion curve for spherical eight-bar linkage projected onto θ1-θ5. Singularity pointsare identified with red circles.

57

Figure 4.9: Motion curve for spherical eight-bar linkage projected onto θ1-θ6. Singularity pointsare identified with red circles.

58

CHAPTER V

SPHERICAL LINKAGE SYNTHESIS

Elements of SU(2) are now used to formulate and solve spherical linkage synthesis problems.

In motion guidance, a form of kinematic synthesis, the goal is to determine the physical parameters

of a linkage that is able to guide a task frame through a set of specified positions. In this chapter,

two formulations of the motion guidance synthesis equations are considered. The first approach

utilizes the idea that the angle between revolute joint axes connected by a link remains constant

as the mechanism moves between positions. This constraint is readily expressed using the dot

product. The dot product using SU(2) is employed in this chapter to solve the synthesis problem

for the spherical four-bar, spherical Watt I linkage, and an eight-bar spherical linkage. The second

approach utilizes the full loop closure equations. Although unnecessary when synthesizing four-

bars, the approach is presented due to its required use when generalizing to spatial mechanisms.

5.1 Four-Bar Synthesis Using Dot Product Approach

The two revolute joints on the input and output links of a spherical four-bar include one that

is fixed and one that moves. As shown in Fig. 5.1, the unit vector along the fixed joint axis is

G = (Gx, Gy, Gz) when specified in the fixed frame. The unit vector along the moving joint axis

is w = (wx, wy, wz) when specified relative to the moving frame attached to the floating link.

The desired locations of the floating link are specified with j orientations Qj ∈ SU(2). As

such, the coordinates of the moving axis are known relative to the fixed frame from W = QjwQ∗j

as in Eq. (2.25) for some position j of the motion of the floating link. With both axis vectors known

59

θ1

θ2

θ4

θ3

θa

αa

G1

W1

, w1

G2

W2

, w2

α12

αc

θc

θd

αd

α34

θb α

b

X

Y

Z

Figure 5.1: The parameters of the spherical four-bar identified for solving the synthesis problem.All frames are located in the center of the sphere but some are shown on the sphere’s surface forclarity.

in the fixed frame, a constant angle α is identified between them. Typically, using the dot product,

G ·Wj = |G||Wj |cos(α). As G and W are unit vectors, the right side of this expression is equal

at all orientations of the floating link and G ·Wj = G ·Wk for any two positions j and k. Recalling

Eq. (2.26)

1

2tr(QjwQ∗jG

∗)− 1

2tr(Q1wQ

∗1G∗) = 0 j = 2 . . . , 5 (5.1)

where w and G are stated as in Eq. (2.24). Four equations result that are homogeneous in the

variable groups 〈Gx, Gy, Gz〉 and 〈wx, wy, wz〉. This method was applied to the synthesis problem

in Table 5.1 originally solved in Brunnthaler et al. [4]. Bertini tracks six paths to the solutions shown

in Table 5.2.

60

Table 5.1: The five desired orientations for a spherical four-bar mechanism from Brun-nthaler et al.[4]

Task orientations θ, s(sx, sy, sz)

1 0, (0,0,0)

2 135.6781, (0.8890,0.4208,0.1806)

3 179.0955, (0.0411,0.0852,−0.9955)

4 175.4774, (0.7752,−0.6054,−0.1806)

5 215.2770, (−0.3829,0.8992,0.2115)

Table 5.2: The fixed and moving axes of the spherical four-bar that solves the synthesis problem inTable 5.1.

No. w(wx, wy, wz) G(Gx, Gy, Gz)

1 (-0.1513,0.9124,0.3803) (-0.3455,-0.1274,0.9297)

2 (-0.2893,-0.6303,0.7204) (0.9117,-0.4100,0.0263)

3 (-0.2568,0.1685,0.9517) (0.7453,0.6653,-0.0434)

4 (0.8363,0.4587,0.3004) (0.2869,-0.6141,0.7353)

5 (0.7636,-0.6213,-0.1755) (0.1979,0.2061,0.9583)

6 (0.3798,-0.0583,0.9232) (-0.0493,0.9970,-0.0605)

5.2 Watt I Synthesis Using Dot Product Approach

A Watt I linkage may also be designed to guide a task frame Qj through a set of N desired

orientations. In addition to the desired orientation frame considered attached to the floating link,

two additional frames are added to the linkage for modeling purposes. The two additional frames

are attached at fixed pivot axes G1 and G2 and rotate with the moving links originating from them

as seen in Fig. 5.2. The coordinates of axis w1 move with the frame at G1. The coordinates of axes

61

X

Y

Z W

1

G1

G2

W2

W4

W3

W5

θ1

θa

θb

αa α

b

θ4

α43

α

47

α12

γ1

θ2

θ5

αc

αd

θc θ

d

x y

z

θ6

α76

α23

θ

3

θ7

α25

γ2

α53

Figure 5.2: The parameters of the spherical Watt I identified for modeling the synthesis problem.All frames are located in the center of the sphere but are shown on the sphere for clarity.

w2 and w4 move with the frame at G2. Thus, for j = 1 . . . , N ,

W1j = Qz(θa)Qy(αa)Qz(θ1j)w1Q∗z(θ1j)Q

∗y(αa)Q

∗z(θa),

W2j = Qz(θb)Qy(αb)Qz(θ4j)w2Q∗z(θ4j)Q

∗y(αb)Q

∗z(θb),

W4j = Qz(θb)Qy(αb)Qz(θ4j)w4Q∗z(θ4j)Q

∗y(αb)Q

∗z(θb),

(5.2)

where θ1j and θ4j are the relative rotations of the respective angles from the initial configuration to

the jth position. This also makes θ11 = θ41 = 0. Finally, since axes w3 and w5 move with the

orientation frame attached to the floating link, for j = 1 . . . , N ,

W3j = Qjw3Q∗j ,

W5j = Qjw5Q∗j .

(5.3)

With all moving axes w1...,5 stated relative to the fixed frame, the constant angles required by

the links of the mechanism are now used to construct the design equations. From the dot product,

62

for all j,

C1j :=1

2tr(W1jW

∗3j) = cos(α25),

C2j :=1

2tr(W2jW

∗3j) = cos(α53),

C3j :=1

2tr(W1jW

∗2j) = cos(α23),

C4j :=1

2tr(W4jW

∗5j) = cos(α76).

(5.4)

Subtracting each of Eqs. (5.4) when j = 1 from itself when j 6= 1,

C1j − C11 = 0,

C2j − C21 = 0,

C3j − C31 = 0,

C4j − C41 = 0.

(5.5)

The unknowns in Eq. (5.5) are the unit vector coordinates of the axes relative to their respective

frames, the variables associated with the angles θa, θb, αa, αb, and the variables associated with the

z-axis rotation θ1j and θ4j . The set of equations in (5.5) are homogeneous in all of the components

of the wi and the complex variables associated with θa, θb, αa, and αb. The terms C1j and C3j are

homogeneous in T1j and T 1j , the variables associated with θ1j . However, the terms C11 and C31

are not homogeneous in T1j and T 1j . Therefor, the term T1jT 1j , which equals 1, is multiplied by

C11 and C31 to achieve homogeneity. Similarly, The terms C2j , C3j and C4j are homogeneous in

T4j and T 4j , the complex variables associated with θ4j . However, the terms C21, C31 and C41 are

not homogeneous in T4j and T 4j . Therefor, the term T4jT 4j is multiplied by C21, C31 and C41 to

achieve homogeneity. Thus, the synthesis equations are

C1j − T1jT 1jC11 = 0,

C2j − T4jT 4jC21 = 0,

C3j − T1jT 1jT4jT 4jC31 = 0,

C4j − T4jT 4jC41 = 0.

(5.6)

63

At N = 8 positions, the number of equations from (5.6) equals 28. There are 51 total variables

that divide into 23 homogeneous variable groups. With 28 + 23 = 51, this identifies the maximum

number of positions achievable matching the planar Watt I discussion found in [31].

Assuming values for θa, θb, αa, and αb, a solution process using Bertini forN = 6 was initiated

through the Ohio Supercomputer Center [65] using 60 cores. After five hours, around 41 million

paths started tracking so the process was terminated. The fsolve function in MATLAB, which

utilizes the trust-region dogleg algorithm, readily generates solutions for N = 8. Approximately

one solution to the equations was found for every 100 starting guesses in this way. For the task

positions listed in Table 5.3, a variety of unique solutions were found including one which passed

through the positions with no singularities. The singularity-free solution is listed in Table 5.4,

identifying the coordinates of the seven revolute joint axes in the first position. A full set of

solutions is obtained for the first five positions from Table 5.3. For this example, the selected

parameters are G1 = (0.4924, 0.0868, 0.8660), G2 = (−0.5567, 0.3214, 0.7660), and w2 =

(−0.367217,−0.672291, 0.642788). The full solution is obtained using Bertini, which tracked

147,456 paths in approximately 50 minutes. This resulted in 94 design candidates of which six are

free of singularities, see Table 5.5.

64

Table 5.3: Eight task orientations for synthesizing a Watt I spherical mechanism.

Task orientations θ, s(sx, sy, sz)

1 80.6372, (−0.8884,0.4463,−0.1079)

2 84.5098, (−0.9375,0.3475,−0.0165)

3 82.7674, (−0.9496 ,0.3124,−0.0241)

4 80.8227, (−0.9531 ,0.2992,−0.0457)

5 76.4885, (−0.9494 ,0.2934,−0.1123)

6 65.4334, (−0.7797 ,0.4604,−0.4244)

7 68.1438, (−0.7291 ,0.5768,−0.3684)

8 70.9738, (−0.7664 ,0.5638,−0.3080)

Table 5.4: A singularity-free solution for the eight orientations with axis coordinates at the firstposition.

Axis Solution

G1 (0.4924,0.0868,0.8660)

G2 (-0.5567,0.3214,0.7660)

W1 (0.7185,0.1812,0.6715)

W2 (0.2219,0.6482,0.7284)

W3 (0.5887,0.5797,0.5634)

W4 (-0.4412,0.7478,0.4962)

W5 (0.0379,0.9964,0.0760)

65

Table 5.5: Designs for a Watt I that achieve the first five orientations of Table 5.3 with axiscoordinates at the first position.

Axis Solution 1 Solution 2 Solution 3

W1 ( 0.7922,-0.3799, 0.4776) ( 0.7922,-0.3799, 0.4776) ( 0.7922,-0.3799, 0.4776)

W2 ( 0.2219, 0.6482, 0.7284) ( 0.2219, 0.6482, 0.7284) ( 0.2219, 0.6482, 0.7284)

W3 ( 0.3307, 0.7811,-0.5296) ( 0.3307, 0.7811,-0.5296) ( 0.3307, 0.7811,-0.5296)

W4 (-0.7854, 0.0810,-0.6137) (-0.6167, 0.2383, 0.7502) (-0.5119,-0.5278, 0.6778)

W5 ( 0.8656, 0.3625,-0.3454) ( 0.2303, 0.4439,-0.8660) (-0.2847, 0.3747,-0.8823)Axis Solution 4 Solution 5 Solution 6

W1 ( 0.7186,0.1814,0.6714) ( 0.2972,-0.4736, 0.8291) ( 0.8124,-0.3378, 0.4753)

W2 ( 0.2219,0.6482,0.7284) ( 0.2219, 0.6482, 0.7284) ( 0.2219, 0.6482, 0.7284)

W3 ( 0.5885,0.5798,0.5635) ( 0.6665, 0.2132,-0.7143) ( 0.4005, 0.8054,-0.4369)

W4 (-0.4413,0.7477,0.4962) (-0.4435, 0.4845, 0.7541) (-0.6694,-0.2237,-0.7084)

W5 ( 0.0387,0.9964,0.0752) ( 0.3368, 0.5625,-0.7551) ( 0.7938, 0.5213,-0.3133)

66

5.3 Eight-Bar Synthesis Using Dot Product Approach

Previously, the dot product approach was applied to the Watt I spherical linkage. Here, it is

shown that the dot product can be extended to more complex linkages such as the eight-bar spherical

linkage. Just like the case of the Watt I synthesis, two moving frames are attached at fixed pivot axes

G1 and G2 and rotate with the moving links originating from them as seen in Fig. 5.3. The third

frame is the desired frame Qj . Axes w1 and w3 are viewed relative to the moving at G1. Axes w2,

w4, and w5 are viewed relative to the moving frame at G2. Finally, Axes w6,w7,and w8 are view

relative to the desired frame.

G1

G2

W3 W

1

W2

W6

W7

W8

W4

W5

X Y

Z

X

Y

Z

Qj

x

y z

x

z

y x

z y

αa

αb

θa

θb

α36

α12

α47

α58

Figure 5.3: The parameters of the spherical eight-bar linkage identified for solving the synthesisproblem. All frames are located in the center of the sphere but are shown on the sphere for clarity.

67

The coordinates of axis w1 and w3 move with the frame at G1. The coordinates of axes w2,

w4, and w5 move with the frame at G2. Thus, for j = 1 . . . , N ,

W1j = Qz(θa)Qy(αa)Qz(θ1j)w1Q∗z(θ1j)Q

∗y(αa)Q

∗z(θa),

W3j = Qz(θa)Qy(αa)Qz(θ1j)w3Q∗z(θ1j)Q

∗y(αa)Q

∗z(θa),

W2j = Qz(θb)Qy(αb)Qz(θ2j)w2Q∗z(θ2j)Q

∗y(αb)Q

∗z(θb),

W4j = Qz(θb)Qy(αb)Qz(θ2j)w4Q∗z(θ2j)Q

∗y(αb)Q

∗z(θb),

W5j = Qz(θb)Qy(αb)Qz(θ2j)w5Q∗z(θ2j)Q

∗y(αb)Q

∗z(θb),

(5.7)

where θ1j and θ2j are the relative rotations of the respective angles from the initial configuration to

the jth position. This also makes θ11 = θ21 = 0. Finally, since axes w6, w7, and w8 move with the

orientation frame attached to the floating link, for j = 1 . . . , N ,

W6j = Qjw6Q∗j ,

W7j = Qjw7Q∗j ,

W8j = Qjw8Q∗j .

(5.8)

With all moving axes w1...,8 stated relative to the fixed frame, the constant angles required by the

links of the mechanism are now used to construct the design equations. From the dot product, for

all j,

C1j :=1

2tr(W1jW

∗2j) = cos(α12),

C2j :=1

2tr(W3jW

∗6j) = cos(α36),

C3j :=1

2tr(W4jW

∗7j) = cos(α47),

C4j :=1

2tr(W5jW

∗8j) = cos(α58).

(5.9)

Subtracting each of Eqs. (5.9) when j = 1 from itself when j 6= 1,

C1j − C11 = 0,

C2j − C21 = 0,

C3j − C31 = 0,

C4j − C41 = 0.

(5.10)

68

The unknowns in Eq. (5.10) are the unit vector coordinates of the axes relative to their respective

frames, the variables associated with the angles θa, θb, αa, αb, and the variables associated with the

z-axis rotation θ1j and θ2j . The set of equations in (5.10) are homogeneous in all of the components

of the wi and the complex variables associated with θa, θb, αa, and αb. The terms C1j and C2j are

homogeneous in T1j and T 1j , the variables associated with θ1j . However, the terms C11 and C21

are not homogeneous in T1j and T 1j . Therefor, the term T1jT 1j , which equals 1, is multiplied by

C11 and C21 to achieve homogeneity. Similarly, The terms C1j , C3j and C4j are homogeneous in

T2j and T 2j , the complex variables associated with θ2j . However, the terms C11, C31 and C41 are

not homogeneous in T2j and T 2j . Therefor, the term T2jT 2j is multiplied by C11, C31 and C41 to

achieve homogeneity. Thus, the synthesis equations are

C1j − T1jT 1jT2jT 2jC11 = 0,

C2j − T1jT 1jC21 = 0,

C3j − T2jT 2jC31 = 0,

C4j − T2jT 2jC41 = 0.

(5.11)

At N = 11 positions, the number of equations from (5.11) equals 40. There are 72 total variables

that divide into 32 homogeneous variable groups. With 40 + 32 = 72, this identifies the maximum

number of positions achievable. The fsolve function in MATLAB, which utilizes the trust-region

dogleg algorithm, readily generates solutions for N = 11. Approximately one solution to the

equations was found for every 100 starting guesses in this way. For the task positions listed in

Table 5.6, 627 unique solutions were found.

5.4 Four-Bar Synthesis Using Loop Closure Approach

Alternately, the motion guidance of a linkage may be approached in a less concise manner, using

a method that results in more equations and more unknowns. The reason for this approach is that it

is straightforwardly extended to more complicated devices. As shown in Fig. 5.1, the location of the

69

Table 5.6: Task orientations for eight-bar linkage

Task orientations θ, s(sx, sy, sz)

1 176.2, (−0.8686,0.3162,0.3814)

2 177.2, (−0.8485,0.2594,0.4613)

3 178.9, (−0.8184,0.2040,0.5372)

4 181.3, (−0.7520,0.1462,0.6427)

5 184.6, (−0.6370,0.0895,0.7656)

6 172.1, (−0.5894,0.1579,0.7922)

7 166.5, (−0.5174,0.1582,0.8410)

8 145.9, (−0.3582,0.1786,0.9164)

9 159.5, (−0.6662,0.1661,0.7270)

10 173.1, (−0.1240,−0.0415,0.9914)

11 62.81, (−0.5655 ,0.1151,0.8167)

task position relative to the fixed frame may be constructed along either side of the chain. Including

joints 1 and 2 yields

Qz(θa)Qy(αa)Qz(θ1j)Qy(α12)Qz(θ2j)Qy(αc)Qz(θc) = Qj , j = 1 . . . , 5. (5.12)

Including joints 3 and 4,

Qz(θb)Qy(αb)Qz(θ4j)Qy(α34)Qz(θ3j)Qy(αd)Qz(θd) = Qj , j = 1 . . . , 5. (5.13)

Observe that any element of SU(2) can be isolated through the appropriate combination of left

and right multiplications. For example, Qz(θ2j)may be isolated in Eq. (5.12) by multiplying on

the left by Q∗y(α12)Q∗z(θ1j)Q

∗y(αa)Q

∗z(θa) and right multiplying by Q∗z(θc)Q

∗y(αc). The inverse of

both sides of the resulting equation produces

Qy(αc)Qz(θc)Q∗jQz(θa)Qy(αa)Qz(θ1j)Qy(α12) = Q∗z(θ2j), j = 1 . . . , 5 (5.14)

70

The two off-diagonal terms in Eq. (5.14) are equations independent of the variables associated with

θ2j as those terms in Qz(θ2j) are both 0. Recall that an unknown angle has two variables associated

with it, the T and T like in Eq. (2.21). The matrixQz(θ3j) may be isolated similarly from Eq. (5.13)

and two more equations found independent of the variables associated with θ3j . Thus, for each

specified orientation Qj of the floating link, 4 equations are determined. A total of 20 equations

result for 5 given task orientations. All equations are homogeneous in the remaining unknowns.

Although it is now possible to attempt to solve this system as one set of equations, the symmetry

in Eqs. (5.12) and (5.13) is noted. Like the previous approach using the dot product, the set

of equations for one side of the mechanism will generate all solutions. Via this approach, the

values in table 5.2 are determined for the problem in table 5.1. Bertini tracked 3840 paths solving

the problem, a noted increase in paths versus the previous approach. Again, the redundancy of

formulating both sides of the kinematic loop was presented in order to move to identify a stepping

stone toward the more complicated mechanism in the following section.

5.5 Watt I Synthesis Using Loop Closure

As shown in Fig. 5.2, the Watt I linkage is used to guide a task frame Qj through a set of

orientations. The 16 physical parameters sought to solve the design problem include the fixed joint

locations in the fixed frame, θa, θb, αa, αb, the location of the outermost revolute joints connected

to the moving frame, θc, θd, αc, αd, and the angular link lengths of the other members of the

mechanism, α12, α23, α25, α43, α47, α76, γ1, γ2. Similar to the four-bar, potential synthesis

equations are generated by determining the location of the task position relative to the fixed frame

along either side of the chain. For the side that include joint axes G1, W1, and W3,

Qz(θa)Qy(αa)Qz(θ1j)Qy(α12)Qz(θ2j − γ1)Qy(α25)Qz(θ5j)

Qy(αc)Qz(θc) = Qj , j = 1 . . . , N.

(5.15)

71

For the side that includes joint axes G2, W4, and W6,

Qz(θb)Qy(αb)Qz(θ4j + γ2)Qy(α47)Qz(θ7j)Qy(α76)Qz(θ6j)

Qy(αd)Qz(θd) = Qj , j = 1 . . . , N.

(5.16)

From the inner loop,

Qz(θb)Qy(αb)Qz(θ4j)Qy(α43)Qz(θ3j) = Qz(θa)Qy(αa)

Qz(θ1j)Qy(α12)Qz(θ2j)Qy(α23), j = 1 . . . , N.

(5.17)

From each loop one angle may be isolated and eliminated as in the process in Eqs. (5.12) and (5.14).

The joint angles that appear in only one loop are eliminated: θ3, θ5, and θ6. This reduces the joint

variables present in the synthesis equations to θ1, θ2, θ4, and θ7. As noted previously, the elimination

process results in two homogeneous equations, per loop, per position. Since there are three loop

equations, the total number of equations is six per single orientation. The system becomes square at

8 positions, matching other Watt I synthesis discussions in the literature namely what is presented

in [31]. Again using the Ohio Supercomputer Center, a solution process for N = 8 was initiated

using 240 cores. No count of the paths was generated in 95 hours and the process was terminated.

Like the previous method, the fsolve function in MATLAB readily generates solutions for N = 8

at approximately the same likelihood, 1 in 100, for starting guesses.

5.6 Discussion

As an initial exploration of using SU(2) in a variety of kinematic challenges, several

observations can be made. For modeling, SU(2) provides a formalism for rotations that is efficient

and compact. Rotation are expressed using only two complex numbers in a matrix with only four

entries. With so few entries to consider, the equation selection tends to be obvious. Although

it is not necessarily difficult on SO(3) where there are more relationships to select from, there

are essentially no decisions to be made when using SU(2) as there are so few relationships.

Moreover, the resulting equations, whether being used for analysis or design, are homogeneous.

72

With all parameters and variables being complex numbers, these equations readily import into the

tools of numerical algebraic geometry, though formatting other approaches for this does not prove

cumbersome. Although no strict comparisons to SO(3) are made in this work, some problems were

solved to compare to this work in SU(2). Many problems were formulated such that the number of

solutions (the m-homogeneous Bezout number) was the same for two approaches. In a few specific

problems, the equations on SO(3) would solve faster when using fsolve, but in many problems

when Bertini is used the systems would solve in approximately the same amount of time.

73

CHAPTER VI

SPATIAL LINKAGE ANALYSIS AND 4C SYNTHESIS

6.1 RCCC Spatial Linkage Analysis

This section, demonstrates how dual special unitary matrices are utilized for the analysis of the

RCCC spatial linkage. A schematic diagram for the linkage is shown in Fig. 6.1. The actuated angle

is θ1. The other joint variables are the rotation angles about the axes of the cylindrical joints and the

displacements along their axes, which are identified as θ2, θ3, θ4, d2, d3, d4. The physical parameters

are α1, α2, α3, α4, l1, l2, l3, l4, d1, where α is the twist angle and l is normal perpendicular. Joint 1

and the axis of joint 4 are fixed in space.

1

G1

d1 l1

l2

l3

l4

α1

α2

α3

α4

W1

W2

G2

d2

d3

d4

2

3

4

Figure 6.1: RCCC linkage

74

6.1.1 RCCC Loop Closure and Forward Kinematics

In a process similar to that of analyzing the spherical linkage, The loop closure equations for this

mechanism are constructed using rotations, describing the loop closure. To facilitate the variables

elimination, the loop is written starting at W2,

Qz(θ3, d3)Qx(α3, l3)Qz(θ4, d4)Qx(α4, l4)Qz(θ1, d1)Qx(α1, l1)Qz(θ2, d2)Qx(α2, l2) = I, (6.1)

To reduce the system, θ3, and d3 are eliminated by pre-multiplying Eq. (6.1) by Q−1z (θ3, d3),

Qx(α3, l3)Qz(θ4, d4)Qx(α4, l4)Qz(θ1, d1)Qx(α1, l1)Qz(θ2, d2)Qx(α2, l2) = Q−1z (θ3, d3), (6.2)

and observing that the off-diagonal terms from the rotation and the dual part in Q−1z (θ3, d3) are zero.

The off-diagonal zero elements of Eq. (6.2) are homogeneous polynomials in the variable groups

〈T2, T 2〉 and 〈T4, T 4〉, representing θ2 and θ4, respectively. In addition to 〈d2〉, 〈d4〉 variable groups.

With θ1 actuated, its value is known. Using the Bertini, two solutions are obtained for each value of

the input link. Solutions are substituted in Eq. (6.2) and those that correspond to a mechanism meet

the condition that the diagonal elements on the right side of Eq. (6.2) are complex conjugate.

6.1.2 RCCC Singularity Points and Motion Curve

The RCCC linkage has a spherical image where the twist angle of the RCCC equal the link

lengths of the spherical linkage. In this example, The links of the spherical linkage presented in

Chapter. IV are the twist angle of the RCCC. The Numerical values are α1 = 90o, α2 = 90o, α3 =

45o, α4 = 72o, l1 = 5, l2 = 2.3, l3 = 4, l4 = 4.37, d1 = −3. When determining singularities the

input angle is considered to be a variable. The singularity condition is determined from the velocity

expression presented in Eq. (2.34). In this analysis, rearranging Eq. (6.1) leads to

Qz(θ2, d2)Qx(α2, l2)Qz(θ3, d3)Qx(α3, l3) = Q−1x (α1, l1)Q−1z (θ1, d1)Q

−1x (α4, l4)Q

−1z (θ4, d4),

(6.3)

75

The jacobian from which the singularity condition is determined is found via the use of the screw

method. As it was done in the previous sections, the following screw matrices are obtained.

Ωθ2 =Ωz(θ2),

Ωd2 =Ωz(d2),

Ωθ3 =Qz(θ2, d2)Qx(α2, l2)Ωz(θ3)Q

−1x (α2, l2)Q

−1z (θ2, d2),

Ωd3 =Qz(θ2, d2)Qx(α2, l2)Ωz(d3)Q

−1x (α2, l2)Q

−1z (θ2, d2),

Ω1 =Q−1x (α1, l1)Ωz(θ1)Qx(α1, l1),

Ωθ4 =Q−1x (α1, l1)Q

−1z (θ1, d1)Q

−1x (α4, l4)Ωz(θ4)Qx(α4, l4)Qz(θ1, d1)Qx(α1, l1),

Ωd4 =Q−1x (α1, l1)Q

−1z (θ1, d1)Q

−1x (α4, l4)Ωz(d4)Qx(α4, l4)Qz(θ1, d1)Qx(α1, l1).

(6.4)

A set of screw vectors Ω1, Ωθ2, Ωd

2, Ωθ3, Ωd

3, Ωθ4, Ωd

4 is extracted from the screw matrices.

Each of the screw vectors is 6 × 1, three elements of this vector are extracted from the rotational

part and another three are extracted from the dual part. The resulting jacobian is a 6× 6 in the form

J =

[D1 0D3 D4

], (6.5)

Where D1 and D4 are 3 × 3 identical matrices that are equal to the jocobian of the spherical

image. Considering the structure of the jacobian, it is noticed that the determinant of such matrix

equals zero if the determinant of D1 or D4 equals zero. Based on the previous fact, it can

be said that the singularity condition is independent of the displacements along the cylindrical

joints axes. The singularity of the RCCC occurs at the same value of the spherical image at

(θ1, θ4) = (41.97, 108.96), (138.03, 251.04), (221.97, 108.96), (318.03, 251.04). The motion

curve that relates the input angle to the output angle is identical to that of the spherical image.

The cylindrical joint displacement can go to infinity at singular configuration as shown in Fig. 6.2.

76

Figure 6.2: Motion curve for RCCC linkage projected onto θ1-d2.

6.2 RRRCC Linkage Analysis

An RRRCC mechanism is shown in Fig. 6.3. The linkage consists of 5 joints and five links.

Three of the joints are revolute joints at axes G1, W1, W3 and two are cylindrical joints at axes

G2 and W2. The varying variables in this linkage are θ1, θ2, θ3, θ4, θ5, d1, d5. The physical

parameters are α1, α2, α3, α4, α5, l1, l2, l3, l4, l5, d2, d3, d4, where α is the twist angle and l is

normal perpendicular. Joint 2 and the axis of joint 1 are fixed in space

6.2.1 RRRCC Loop Closure and Forward Kinematics

To assist in variable elimination, the loop closure of the RRRCC linkage shown in Fig. 6.3 can

be written starting at W2

Qz(θ5, d5)Qx(α5, l5)Qz(θ1, d1)Qx(α1, l1)Qz(θ2, d2)

Qx(α2, l2)Qz(θ3, d3)Qx(α3, l3)Qz(θ4, d4)Qx(α4, l4) = I,

(6.6)

77

1

2

3

l1 d1

d2

R

R

R

C

C

G2

G1

W1

W3

W2

Figure 6.3: RRRCC linkage

θ5, and d5 can be eliminated by pre-multiplying Eq. (6.6) by Q−1z (θ5, d5) as

Qx(α5, a5)Qz(θ1, d1)Qx(α1, a1)Qz(θ2, d2)Qx(α2, a2)

Qz(θ3, d3)Qx(α3, a3)Qz(θ4, d4)Qx(α4, a4) = Q−1z (θ5, d5),

(6.7)

When solving the forward kinematic problem, θ2 is selected as the designated input angle. To find

the possible values of the unknowns that satisfy the loop closure, a square system is established.

The system consists of four loop closure equations that result from equating the off-diagonal

elements in Eq. (6.7), two off-diagonal equations from the rotational part and two from the dual

part. These equations are homogeneous in the homogeneous variable groups 〈T1, T 1〉, and 〈T3, T 3〉

and 〈T4, T 4〉, representing θ1 and θ3 and θ4 respectively in addition to 〈d1〉.

6.2.2 RRRCC Singularity Points and Motion Curve

The screw approach is applied to obtain the jacobian as a function of the kinematic parameters

and the joint variables. Rearranging Eq. (6.6) results in

Qz(θ3, d3)Qx(α3, a3)Qz(θ4, d4)Qx(α4, a4)Qz(θ5, d5) =

Q−1x (α2, a2)Q−1z (θ2, d2)Q

−1x (α1, a1)Q

−1z (θ1, d1)Q

−1x (α5, a5),

(6.8)

78

Figure 6.4: Motion curve for RRRCC linkage projected onto θ2-θ3.

The following screw matrices are obtained

Ω3 =Ωz(θ3),

Ω4 =Qz(θ3, d3)Qx(α3, a3)Ωz(θ4)Q−1x (α3, a3)Q

−1z (θ3, d3),

Ωθ5 =Qz(θ3, d3)Qx(α3, a3)Qz(θ4, d4)Qx(α4, a4)Ωz(θ5)Q

−1x (α4, a4)Q

−1z (θ4, d4)Q

−1x (α3, a3)Q

−1z (θ3, d3),

Ωd5 =Qz(θ3, d3)Qx(α3, a3)Qz(θ4, d4)Qx(α4, a4)Ωz(d5)Q

−1x (α4, a4)Q

−1z (θ4, d4)Q

−1x (α3, a3)Q

−1z (θ3, d3),

Ωθ1 =Q−1x (α2, a2)Q

−1z (θ2, d2)Q

−1x (α1, a1)Ωz(θ1)Qx(α1, a1)Qz(θ2, d2)Qx(α2, a2),

Ωd1 =Q−1x (α2, a2)Q

−1z (θ2, d2)Q

−1x (α1, a1)Ωz(d1)Qx(α1, a1)Qz(θ2, d2)Qx(α2, a2).

(6.9)

A set of screw vectors, Ωθ1, Ωd

1, Ω3, Ω4, Ωθ5, Ωd

5, is extracted from the corresponding screw

matrices. Both sides are equated. The jacobian that defines the singularity condition of an RRRCC

linkage with respect to θ2 is

J =[Ωθ

1 Ωd1 −Ω3 −Ω4 −Ωθ

5 −Ωd5

](6.10)

Each of the screw vectors is 6 × 1, three element of this vector is extracted from the rotational

part and another three are extracted from the dual part, and the jacobian matrix is a 6 × 6. The

79

determinant is added to the system from the forward kinematic along with a variable group 〈T2, T 2〉

that represents the input angle. The dimension for this example are α1 = 80o, l1 = 4, d2 = 0,

α2 = 30o, l2 = 2, d3 = 0, α3 = 15o, l3 = 5, d4 = 3, α4 = 40o, l4 = 3, α5 = 70o, and l5 = 5.

As shown on the motion curve Fig. 6.4, at these numerical values, singularities are encountered

at (θ2, θ3) = (−88.65, 79.06), (−50.62, 6.79),(−40.5, 104.8), (42.6, 24.82), (43.15,−100.57),

(68.48,−74.74). The motion curve of the RRRCC matches what is presented in [3].

6.3 4C Spatial Linkage Synthesis

In this section, SU(2) is used to solve the synthesis problem for the 4C linkage. The 4C linkage

is a closed loop with two degrees of freedom that is created by joining two CC chains. The spatial

CC chain consists of two C-joints linked together such that one of them moves on a fixed axis and

other moves on a moving axis. The end effector is attached to the joint on the moving axis. The

distance along the common normal and the twist angle between the two axes are constrained by the

geometry of the connecting link. Mathematically, this means that the dot product, between the two

axes remains constant as the linkage moves between positions as shown in Eq. (2.30) and Eq. (2.31).

The fixed axis of the CC chain is G = (G,G0) when specified in the fixed frame. The axis along

the moving joint is w = (w,w0) when specified relative to the moving frame. G0 = B ×G and

w0 = p × w. The point B is a a reference point on the fixed axis and p is the reference point

on the moving axis. The solution of the CC chain synthesis are the coordinates of the line along

G and w, represented by (Gx, Gy, Gz, G0x, G

0y, G

0z) and (wx, wy, wz, w

0x, w

0y, w

0z) respectively. As

the mechanism moves, the displacement of the end effector may be specified with given rotations

Q ∈ SU(2). As such, the coordinates of the moving axis are known in the fixed frame from

Wj = QjwQ−1j as in Eq. (2.29) for some position j of the end effector. With both axes known in

80

the fixed frame, using SU(2), the synthesis equations are

1

2tr(W ∗j G)− 1

2tr(W ∗1G) = 0 j = 2 . . . , 5 (6.11)

1

2tr(W 0∗

j G+W ∗j G0)− 1

2tr(W 0∗

1 G+W ∗1G0) = 0 j = 2 . . . , 5 (6.12)

where W and G are specified as in Eq. (2.27). Eight equations result from the constrain of the dot

product. Also, four equations are added to satisfy the conditions on G and w to be unit vectors, and

the dot product between the real part and the dual part of each axis equals zero as

‖G‖ = 1, ‖w‖ = 1, G ·G0 = 0, w ·w0 = 0. (6.13)

These equations form a system of twelve equations in twelve unknowns. Bertini tracks 64 paths,

only four of which are solutions. The solution are identified as all the variables are real numbers.

This method is applied to the synthesis problem in Table 6.1 originally solved in [66], and solutions

are shown in Table 6.2.

Table 6.1: Task orientations CC dyad

No θ d s(sx, sy, sz) c(cx, cy, cz)

1 0 0 (0,0,0) (0,0,0)

2 133 1.380 (0.3521,0.0968,0.9309) (0.9444,0.5222,−0.4115)

3 70.6 1.899 (0.1457,−0.0390,0.9886) (−0.6103,0.8370,0.1229)

4 87.9 −1.117 (0.4267,−0.2464,0.8702) (0.7327,0.6889,−0.1642)

5 25.2 2.559 (0.4027,−0.0250,−0.9150) (5.903,0.1040,2.595)

81

Table 6.2: Solution for five orientation CC dyad synthesis

G G(Gx, Gy, Gz) B(Bx, By, Bz)

1 (0.4048,−0.2513,0.8792) (0.5909,2.58,0.4652)

2 (0.1440,−0.0427,0.9887) (2.21,−0.4957,−0.3434)

3 (0.0913,0.3385,0.9365) (3.077,−1.243,0.1493)

4 (−0.4637,0.0921,0.8812) (1.239,−5.924,1.271)w w(wx, wy, wz) p(px, py, pz)

1 (−0.1491,0.0506,−0.9875) (1.996,1.6110,−0.2188)

2 (0.3641,0.0885,0.9271) (−0.3711,−1.6330,0.3016)

3 (0.4733,0.7051,0.5281) (−0.7930,−2.3250,3.8150)

4 (−0.5021,0.4515,−0.7376) (−6.6260,−2.5770,2.9330)

82

CHAPTER VII

CONCLUSIONS AND FUTURE WORK

7.1 Conclusion

This research presented a general method to construct a singularity trace for single DOF closed-

loop linkages. This method provides the ability to include prismatic along with revolute joints. The

singularity trace provides a convenient figure for observing the number of possible GIs, circuits,

and singularities for a given linkage as a design parameter is varied. As part of the process, the

forward kinematics, singularity points, critical points and motion curves were developed. Numerical

examples are provided to show the formulation applied to an inverted slider-crank and an Assur IV/3

mechanism.

The rotational part of a general displacement element of SU(2) is used to formulate equations

to solve analysis and synthesis problems for spherical linkages. Using the special unitary matrices

for the description of spatial displacement about a fixed point is efficient and compact. The rotation

matrix consists of only four entries, when expressed algebraically, the variable from a single rotation

are related by one constraint. The loop closure equations are linear homogeneous polynomials,

which are readily solved using Bertini. Since all the variable are homogeneous, there is no need to

include the constraint equations, these variables are declared as homogeneous variables in Bertini.

The use of this feature offers computational advantage. This formulation requires solving the two

off-diagonal equation from the loop matrix. Results viewed here can be extended to other spherical

linkages.

83

The synthesis of the spherical linkages presented in chapter V, of the dissertation, presented two

approach to formulate the synthesis questions. The first approach utilizes the loop closure equations

and the second approach employ the dot product as geometric constraints between two moving

links. For the spherical Watt I, as an example, the loop closure approach requires the use of four

joint angles from each position with six equations, while the dot product approach requires only two

joint angles from each position with four equations. Equations from the loop closure approach are

linear and homogeneous. Equations from the dot product approach are quadratic, and can be made

homogeneous. Both formulations of the synthesis equations are verified by finding solutions for the

system using fsolve function in MATLAB. On Bertini, the dot product has less joint variables and

equations, thus, it requires less number of paths to be tracked. Both formulations are flexible and it

allows the user to vary design parameters to achieve up to eight positions for the Watt linkage and

five for the four-bar. A full set of solutions using Bertini is obtained for the synthesis of the five

positions of Watt I linkage, where 147,456 paths are tracked in a bout 50 minutes using 60 cores

computer. Finally, the dot product approach is applied to an eight-bar linkage, which is able to pass

through eleven positions. Formulating the synthesis problem of the eight-bar spherical linkage is

very similar to that of the Watt I. Each position introduce four equations and two joint variables.

The eight-bar example is also verified by finding large set of solutions for the full system of eleven

position using fsolve function in MATLAB.

A general displacement element of SU(2) is used to analyze and synthesize spatial linages that

contains revolute joints and cylindrical joints such as RCCC and RRRCC linkages. Like the case of

spherical linkages, the analysis process including solving the off-diagonal terms of the loop closure

equations. The two off-diagonal polynomial from the rotational part and dual part are needed.

These equations are homogeneous and linear in the joint angles parameters, but not in terms of

displacement along the axis of rotation. Bertini, allows the combination of homogeneous variable,

84

non-homogeneous variable groups in the same input file. Also, Loop closure equations along with

another equation that is derived from the determinant of the Jocobian are used to calculate singular

configurations. In addition, it was shown that the dot product of SU(2) can be utilized to solve

synthesis of 4C linkage.

7.2 Future Work

Work developed here can find some applications in manufacturing to possibly tackle a real world

problem. One application could be incorporating methods presented in this work to build a software

to analyze and synthesis spatial linkages. Building such software will help design engineers to

visualize the motion of the linkage without the need to build a prototype. The lack of tools to design

spatial linkage pushes the design engineers to find solutions to design problems through the use

of planar linkages or open-chain robots. The design software could have the governing equation

for a specified linkage presented to a solver, and then results from the solver are drawn on a solid

modeler. This allows designers to synthesize or analyze spatial linkages in a timely manner and

obtain a full insight of the devices behavior while still in a computer modeled form. These tools

open up the possibilities for spatial linkages to be incorporated into many products. The ultimate

goal is to provide alternative solutions that are more efficient, more reliable and cost less.

Developing methods to further reduce the size and the order of the synthesis problem of

spherical linkages to generate a full solution set to the eight positions synthesis. As the polynomial

solvers continue to improve, the possibility of solving such problems still exist. Generating a full

solution set provides many possible design candidate linkages, which increase the chance of finiding

a single solution that pass through all position in the desired orders with no singularities. Large

number of theses linkages will suffer from branch defect, order defect, singularities.

85

The process of generating a full solution set requires tremendous computing power and

resources, which are not always available or affordable. There might be an alternative way to

approach the problem where the need to find large set of solutions is not required, as only one

solution is needed, instead developing a method to obtain the necessary solution or solutions with

high possibility to solve the problem.

The use of the dual special unitary is not fully explored here. Methods to synthesize spherical

linkages that is presented here can be extended using the dual special unitary to synthesize spatial

linkages with different type of joints as the one shown in Fig. 7.1.

Figure 7.1: RSRC linkage. Adopted from [3].

86

REFERENCES

[1] A. P. Murray and F. Pierrot, “Design of a high-speed spherical four-bar mechanism for use ina motion common in assembly processes,” in ASME 2007 International Design EngineeringTechnical Conferences and Computers and Information in Engineering Conference. Ameri-can Society of Mechanical Engineers, 2007, pp. 511–518.

[2] M. W. Spong and M. Vidyasagar, Robot dynamics and control. John Wiley & Sons, 2008.

[3] D. E. Foster and R. J. Cipra, “Assembly configurations of spatial single-loop single-dofmechanisms,” Journal of Mechanical Design, vol. 131, no. 10, p. 101002, 2009.

[4] K. Brunnthaler, H.-P. Schrocker, and M. Husty, “Synthesis of spherical four-bar mechanismsusing spherical kinematic mapping,” in Advances in Robot Kinematics. Springer,Netherlands, 2006, pp. 377–384.

[5] V. Venkataramanujam and P. Larochelle, “Analysis of planar reconfigurable motion genera-tors,” in ASME 2014 International Design Engineering Technical Conferences and Computersand Information in Engineering Conference. American Society of Mechanical Engineers,2014.

[6] M. T. Das and L. C. Dulger, “Mathematical modelling, simulation and experimentalverification of a scara robot,” Simulation Modelling Practice and Theory, vol. 13, no. 3, pp.257–271, 2005.

[7] P. Larochelle and V. Venkataramanujam, “A new concept for reconfigurable planar motiongenerators,” in ASME 2013 International mechanical engineering congress and exposition.American Society of Mechanical Engineers, 2013.

[8] D. H. Myszka, A. P. Murray, and C. W. Wampler, “Computing the branches, singularity trace,and critical points of single degree-of-freedom, closed-loop linkages,” Journal of Mechanismsand Robotics, vol. 6, no. 7, p. 011006, 2014.

[9] L. Li, D. H. Myszka, A. P. Murray, and C. W. Wampler, “Using the singularity trace tounderstand linkage motion characteristics,” in Proceedings of IDETC/CIE 2013, Portland,Oregon, USA, August 2013, p. 13244.

[10] R. L. Norton, Design of Machinery: An Introduction to the Synthesis and Analysis ofMechanisms and Machines, 2nd ed. New York: McGraw-Hill, 1999.

87

[11] A. G. Erdman, G. N. Sandor, and S. Kota, Mechanism Design: Analysis and Synthesis, 4th ed.New Jersey: Prentice Hall, 2001, vol. 1.

[12] P. Kovacs and G. Hommel, “On the tangent-half-angle substitution,” in ComputationalKinematics, J. Angeles, Ed. Norwell, MA: Kluwer Academic Publishers, 1993, pp. 27–39.

[13] J. M. Porta, L. Ros, T. Creemers, and F. Thomas, “Box approximations of planar linkageconfiguration spaces,” Journal of Mechanical Design, vol. 129, no. 4, pp. 397–405, 2007.

[14] C. W. Wampler, “Solving the kinematics of planar mechanisms,” Journal of MechanicalDesign, vol. 121, no. 3, pp. 387–391, 1999.

[15] R. D. Gregorio, “A novel geometric and analytic technique for the singularity analysis of one-dof planar mechanisms,” Mechanism and Machine Theory, vol. 42, pp. 1462–1483, February2007.

[16] C. Gosselin and J. Angeles, “Singularity analysis of closed-loop kinematic chains,” IEEETransactions on Robotics and Automation, vol. 6, no. 3, pp. 281–290, 1990.

[17] T. R. Chase and J. A. Mirth, “Circuits and branches of single-degree-of-freedom planarlinkages,” Journal of Mechanical Design, vol. 115, no. 2, pp. 223–230, 1993.

[18] A. P. Murray, M. L. Turner, and D. T. Martin, “Synthesizing single dof linkages via transitionlinkage identification,” Journal of Mechanical Design, vol. 130, p. 022301, February 2008.

[19] P. Larochelle and V. Venkataramanujam, “A new concept for reconfigurable planar motiongenerators,” in Proceedings of IMECE2013, San Diego,California, USA, November 2013, p.62571.

[20] P. Larochelle and V. Venkatesh, “Analysis of planar reconfigurable motion generators,” inProceedings of IDETC/CIE 2014, Buffalo,New York, USA, August 2014.

[21] D. C. Tao, Applied Linkage Synthesis. MA.: Addison-Wesley,Reading, 1964.

[22] T. Chuenchom and S. Kota, “Synthesis of programmable mechanisms using adjustable dyads,”Journal of Mechanical Design, vol. 119, no. 2, pp. 232–237, 2007.

[23] J. J. Uicker, B. Ravani, and P. N. Sheth, Matrix methods in the design analysis of mechanismsand multibody systems. Cambridge University Press, 2013.

[24] J. Angeles, G. Hommel, and P. Kovacs, Computational kinematics, ser. Solid mechanics andits applications. Dordrecht: Kluwer Academic Publishers, 1993, vol. 28.

[25] W. C. Wampler, “Displacement analysis of spherical mechanisms having three or fewer loops,”Journal of Mechanical Design, vol. 126, pp. 93–100, 2004.

[26] A. Dhingra, A. Almadi, and D. Kohli, “Closed-form displacement analysis of 8, 9 and 10-link mechanisms: Part i: 8-link 1-dof mechanisms,” Mechanism and Machine Theory, vol. 35,no. 6, pp. 821–850, 2000.

88

[27] C. Gosselin, J. Sefrioui, and M. J. Richard, “On the direct kinematics of spherical three-degree-of-freedom parallel manipulators of general architecture,” Journal of Mechanical Design, vol.116, no. 2, pp. 594–598, 1994.

[28] S. Bai, M. R. Hansen, and J. Angeles, “A robust forward-displacement analysis of sphericalparallel robots,” Mechanism and Machine Theory, vol. 44, no. 12, pp. 2204–2216, 2009.

[29] L.-W. Tsai and A. P. Morgan, “Solving the kinematics of the most general six- and five-degree-of-freedom manipulators by continuation methods,” J. Mech., Trans., and Automation, vol.107, no. 2, pp. 189–200, 1985.

[30] C. W. Wampler, “Isotropic coordinates, circularity, and bezout numbers: Planar kinematicsfrom a new prespective,” in ASME Design Technical Conference, no. 96-DETC/MECH-1210,Portland, Oregon, USA, August 1996, pp. 1–11.

[31] M. Plecnik, J. M. McCarthy, and C. W. Wampler, “Kinematic synthesis of a watt i six-barlinkage for body guidance,” in Advances in Robot Kinematics. Springer, 2014, pp. 317–325.

[32] J. M. McCarthy and G. S. Soh, Geometric design of linkages. Springer Science & BusinessMedia, 2010, vol. 11.

[33] D. A. Ruth and J. M. McCarthy, “The design of spherical 4r linkages for four specifiedorientations,” Mechanism and Machine Theory, vol. 34, no. 5, pp. 677–692, 1999.

[34] G. S. Soh and J. M. McCarthy, “Five position synthesis of spherical (6, 7) linkages,” inASME 2008 International Design Engineering Technical Conferences and Computers andInformation in Engineering Conference. American Society of Mechanical Engineers, 2008,pp. 689–696.

[35] K. H. Sonawale, A. Arredondo, and J. M. McCarthy, “Computer aided design of usefulspherical watt i six-bar linkages,” in ASME 2013 International Design Engineering TechnicalConferences and Computers and Information in Engineering Conference. American Societyof Mechanical Engineers, 2013, pp. V06AT07A064–V06AT07A064.

[36] K. H. Sonawale and J. M. McCarthy, “A design system for six-bar linkages integrated with asolid modeler,” Journal of Computing and Information Science in Engineering, vol. 15, no. 4,p. 041002, 2015.

[37] C. Gosselin and J. Angeles, “Optimization of planar and spherical function generators asminimum-defect linkages,” Mechanism and Machine Theory, vol. 24, no. 4, pp. 293–307,1989.

[38] Z. Liu and J. Angeles, “Optimization of planar, spherical and spatial function generators usinginput-output curve planning,” Journal of Mechanical Design, vol. 116, no. 3, pp. 915–919,1994.

[39] M. D. Shuster, “A survey of attitude representations,” Navigation, vol. 8, no. 9, pp. 439–517,1993.

89

[40] K. W. Spring, “Euler parameters and the use of quaternion algebra in the manipulation of finiterotations: a review,” Mechanism and machine theory, vol. 21, no. 5, pp. 365–373, 1986.

[41] H. Goldstein, C. Poole, and J. Safko, Classical Mechanics, 3rd ed. San Francisco: AddisonWesley, 2002.

[42] J. Rooney, “A survey of representations of spatial rotation about a fixed point,” Environmentand Planning B: Planning and Design, vol. 4, no. 2, pp. 185–210, 1977.

[43] S. L. Altmann, Rotations, quaternions, and double groups. Dover Publications, 2005.

[44] E. P. Wigner, Group theory: and its application to the quantum mechanics of atomic spectra,expanded and improved ed., ser. Pure and Applied Physics. New York: Academic Press,1959, vol. 5, translated from the German by J. J. Griffin.

[45] V. Heine, Group theory in quantum mechanics: an introduction to its present usage. Mineola,N.Y.: Dover Publications, 2007.

[46] B. Roth and F. Freudenstein, “Synthesis of path-generating mechanisms by numericalmethods,” Journal of Engineering for Industry, vol. 85, no. 3, pp. 298–304, 1963.

[47] C. W. Wampler, A. P. Morgan, and A. J. Sommese, “Complete solution of the nine-point pathsynthesis problem for four-bar linkages,” Journal of Mechanical Design, vol. 114, no. 1, pp.153–159, 1992.

[48] D. J. Bates, J. D. Hauenstein, A. J. Sommese, and C. W. Wampler, Numerically SolvingPolynomial Systems with Bertini. Philadelphia: Society for Industrial and AppliedMathematics, 2013.

[49] J. S. Dai, “An historical review of the theoretical development of rigid body displacementsfrom rodrigues parameters to the finite twist,” Mechanism and Machine Theory, vol. 41, no. 1,pp. 41–52, 2006.

[50] J. Denavit, “Displacement analysis of mechanisms based on (2 x 2) matrices of dual numbers,”VDI-Berichte, vol. 29, pp. 81–89, 1958.

[51] A. T. Yang and F. Freudenstein, “Application of dual-number quaternion algebra to the analysisof spatial mechanisms,” Journal of Applied Mechanics, vol. 31, no. 2, pp. 300–308, 1964.

[52] A. Yang, “Displacement analysis of spatial five-link mechanisms using (3× 3) matrices withdual-number elements,” Journal of Engineering for Industry, vol. 91, no. 1, pp. 152–156, 1969.

[53] A. Soni and L. Harrisberger, “Application of 3x3 screw matrix to kinematic and dynamicanalysis of mechanisms,” VDI-Berichte, 1968.

[54] J. Rooney, “A comparison of representations of general spatial screw displacement,”Environment and Planning B: Planning and Design, vol. 5, no. 1, pp. 45–88, 1978.

90

[55] J. Funda, “A computational analysis of line-oriented screw transformations in robotics,”Technical Reports (CIS), p. 665, 1988.

[56] S. M. Almestiri, A. P. Murray, D. H. Myszka, and C. W. Wampler, “Singularity traces ofsingle degree-of-freedom planar linkages that include prismatic and revolute joints,” Journalof Mechanisms and Robotics, vol. 8, no. 5, p. 051003, 2016.

[57] S. M. Almestiri, D. H. Myszka, A. P. Murray, and C. W. Wampler, “Singularity tracesof planar linkages that include prismatic and revolute joints,” in ASME 2015 InternationalDesign Engineering Technical Conferences and Computers and Information in EngineeringConference. American Society of Mechanical Engineers, 2015.

[58] S. M. Almestiri, A. P. Murray, and D. H. Myszka, “Spherical linkages analysis and synthesisby special unitary matrices for solution via numerical algebraic geometry,” in ASME 2017International Design Engineering Technical Conferences and Computers and Information inEngineering Conference. American Society of Mechanical Engineers, 2017.

[59] D. J. Bates, J. D. Hauenstein, A. J. Sommese, and C. W. Wampler, “Bertini: Soft-ware for numerical algebraic geometry,” Available at bertini.nd.edu with permanent doi:dx.doi.org/10.7274/R0H41PB5.

[60] C. U. Galletti, “A note on modular approaches to planar linkage kinematic analysis,”Mechanism and Machine Theory, vol. 21, no. 52, pp. 385–391, 1986.

[61] J. A. Persinger, J. P. Schmiedeler, and A. P. Murray, “Synthesis of planar rigid-bodymechanisms approximating shape changes defined by closed curves,” Journal of MechanicalDesign, vol. 131, no. 7, p. 071006, 2009.

[62] K. Zhao, J. P. Schmiedeler, and A. P. Murray, “Design of planar, shape-changing rigid-bodymechanisms for morphing aircraft wings,” Journal of Mechanisms and Robotics, vol. 4, no. 4,p. 041007, 2012.

[63] K. Giaier, D. H. Myszka, W. P. Kramer, and A. P. Murray, “Variable geometry dies for polymerextrusion,” in Proceedings of IMECE2014, Montreal, Quebec, Canada, November 2014, p.38409.

[64] P. Larochelle, J. Dooley, A. Murray, and J. McCarthy, “Sphinx: Software for synthesizingspherical 4r mechanisms,” in NSF Design and Manufacturing Systems Conference, vol. 1,1993, pp. 607–611.

[65] O. S. Center, “Ohio supercomputer center,” http://osc.edu/ark:/19495/f5s1ph73, 1987.

[66] A. P. Murray and J. M. McCarthy, “Burmester lines of spatial five position synthesis from theanalysis of a 3-cpc platform,” Journal of Mechanical Design, vol. 121, no. 1, pp. 45–49, 1999.

91