Content uploaded by Andreas Mueller

Author content

All content in this area was uploaded by Andreas Mueller on Mar 13, 2017

Content may be subject to copyright.

Manuscript prepared for Mechanical Sciences

with version 2014/09/16 7.15 Copernicus papers of the L

A

T

E

X class copernicusAM.cls.

Date: 13 March 2017

Representation of the Kinematic Topology of

Mechanisms for Kinematic Analysis

Andreas Müller

Johannes Kepler University, Altenbergerstr. 69, 4040 Linz, Austria

Correspondence to: A. Müller (a.mueller@jku.at)

Abstract. The kinematic modeling of multi-loop mechanisms requires a systematic representation

of the kinematic topology, i.e. the arrangement of links and joints. A linear graph, called the topo-

logical graph, is used to this end. Various forms of this graph have been introduced for application

in mechanism kinematics and multibody dynamics aiming at matrix formulations of the governing

equations. For the (higher-order) kinematic analysis of mechanisms a simple yet stringent represen-5

tation of the topological information is often sufﬁcient. This paper proposes a simple concept and

notation for use in kinematic analysis. Upon a topological graph, an order relation of links and joints

is introduced allowing for recursive computation of the mechanism conﬁguration. An ordering is

also introduced on the topologically independent fundamental cycles. The latter is indispensable for

formulating generically independent loop closure constraints. These are presented for linkages with10

only lower pairs, as well as for mechanisms with one higher kinematic pair per fundamental cycle.

The corresponding formulation is known as cut-body and cut-joint approach, respectively.

Keywords: Kinematic topology, linear graphs, loop constraints, higher pairs, cut-joint, cut-body,

kinematic analysis, Lie groups

1 Introduction15

The kinematic topology of a mechanism refers to the existence and the arrangement of links and

joints, i.e. kinematic constraints. It is hence an adjacency relation that can be represented by an

undirected linear graph, referred to as the topological graph denoted with Γ. This graph provides the

basis for a systematic treatment of the kinematics of mechanisms and multibody systems (MBS).

Various types of topological graphs have been proposed in the literature. They have been an im-20

portant aspect for modeling of complex MBS. Wittenburg (1977, 2008) introduced a linear graph to

represent general interconnections of rigid bodies within a MBS. This linear graph includes not only

1

Corrected preprint of the paper published in Mechanical Sciences

doi:10.5194/ms-6-137-2015

Last revision: March 13, 2017

kinematic interconnections but also physical interactions like springs and dampers. This concept

was taken up by Arczewski (1992a, b, c). An exhaustive overview of graph representations in MBS

dynamics was presented by Jain (2011a, b). All these formulations can be used to derive compact25

matrix formulations of the MBS motion equations.

For kinematical investigations of mechanisms a graph representation of the kinematic topology

has been proposed by Davis (1981, 2015). In particular the velocity constraints were considered as

a variant of Kirchoff’s law for electric circuits, and it was concluded that the principle concepts and

results available for electric networks can be adopted to the velocity analysis of mechanisms. This30

approach addresses the velocity analysis leading to systems of linear equations, and thus adjacency

matrices, incidence matrices, etc. could be used to manipulate the governing equations. Wohlhart

(2004), for example, used the topological graph to derive the ﬁrst-order constraints for topologically

independent loops, and to deduced the connectivity of links.

Topological graphs have further interesting features related to generic properties of the mecha-35

nism. The essential kinematic properties (of generic realizations) were investigated by Simoni et

al. (2013) using topological graphs. It was shown that properties like mobility and connectivity are

preserved by any automorphism of the graph. This may be important for topological synthesis.

Still, topological information are rarely exploited for kinematic analysis. One consequence often

observed is that redundant loop constraints are imposed for multi-loop mechanisms. This becomes40

critical in particular if higher-order analyses are pursued. Furthermore, despite the vast literature on

graph modeling of mechanisms and MBS topology, there is no established approach and notation

used in mechanism theory. The aim of this paper is to summarize the basic concept of graph repre-

sentation and of formulations of loop constraints for multi-loop mechanisms in a way appropriate

for the higher-order kinematic analysis.45

In this paper, the graph representation of the kinematic topology is recalled, and the essential

relations necessary for introducing loop constraints are derived. Throughout the paper relative co-

ordinates (joint coordinates) are used to parameterize the conﬁguration allowing for a recursive

evaluation of the mechanism kinematics. The essential topological relations are:

1. an order relation to deﬁne predecessors of bodies and joints,50

2. an indicator of the direction in which a relative joint motion is deﬁned, and

3. an order relation deﬁning predecessors of bodies and joints within topologically independent

loops.

The ﬁrst and second allow for recursive determination of conﬁgurations of bodies, and the third for

a recursive formulation of topologically independent loop constraints. To this end, 1.) an oriented55

spanning tree ~

G, 2.) an oriented topological graph ~

Γ, and 3.) an oriented system of fundamental

cycles (FC) are introduced.

2

These topological relations provide the basis for kinematic investigations, in particular the higher-

order kinematic analysis. Matrix representations of topological relations (incidence, adjacency, etc.)

are omitted as they are of little help for higher-order constraints.60

2 Graph Representation of Mechanism Topology

2.1 Topological Graphs

The constituent structural elements of a mechanism are the bodies (links, members) and the joints

between them. The topological graph is an undirected graph Γ=(B, J), where Bis the set of

vertices (representing bodies) and Jis the set of edges (representing joints). The graph Γis simple,65

i.e. two vertices are connected by no more than one edge. The number of joints and bodies is denoted

with N:= |J|and M:= |B|, respectively. Bodies are indexed with greek letters α= 0,...,M −1.

The index 0 is often used to refer to a ’ﬁxed member’ or to the ’ground’. Joints are indexed with

Latin characters i= 1,...,N.

An edge is an unordered pair of vertices denoted Ji= (Bα,Bβ)∈J. This indicates that body Bα

70

and Bβare connected by joint Ji. For the sake of simplicity, the shorthand notations Ji= (α, β)∈J

and (α,β)∈Jare used.

Fig. 1b) shows the topological graph for the parallel mechanism in ﬁg. 1a) that was reported by

Carricato & Parenti-Castelli (2002); Kim & Tsai (2002); Kong & Gosselin (2002). The mechanism

contains M= 11 bodies and N= 12 joints. Notice that for sake of simplicity, in all ﬁgures through-75

out the paper, edges are denoted simply with the index αinstead of Bα.

3

2

1

3

2

1

0

6

5

6

5

4

10

4

11 10 12

9

8

7

7

9

8

G

0

1

2

3

10 9

8

7

6

5

4

2

1

4

5

6

3

10

11

9

8

7

12

Ground

b)a)

Figure 1. a) 3 DOF parallel manipulator consisting of 10 moving bodies (labeled with circles) connected by 12

joints (labeled with rectangles). b) Topological graph Γfor the manipulator.

3

2.2 Joint Orientations and Oriented Topological Graphs

The joint Ji= (Bα,Bβ)constrains the relative motion of the two bodies Bβand Bα. That is, it can

be considered to determine the relative conﬁguration of Bαw.r.t. Bβor that of Bβw.r.t. Bα. The

deﬁnition of this ’joint direction’ is an indispensable step within the kinematics modeling that further80

includes introduction of certain joint variables (angles, displacements) to describe the joint motion.

This is not revealed by the undirected edge Ji∈Γ. For example in ﬁg. 2a), the joint angle of the

revolute joint J2measures the rotation of B2relative to B1, whereas the angle of joint J4measures

the rotation of B1w.r.t. B4, so that the joint angle has the opposite meaning. In order to represent the

directions in which the joint motions are to be interpreted, an oriented graph ~

Γis introduced. This85

is obtained by considering the edges of Γas ordered pairs of vertices. That is, if (Bα,Bβ)∈~

Γ, then

(Bβ,Bα)/∈~

Γ. The vertex Bβis the source (or tail) and Bαis the target (or head) of the edge. This is

graphically indicated by an arrow. Then Ji= (Bβ, Bα)∈~

Γmeans that joint Jiis assumed to deﬁne

the motion of Bαw.r.t. Bβ. Edges of ~

Γare called arcs. Fig 2b) shows the oriented topological graph

for the mechanism in ﬁg. 2a).90

Remark 1 Frequently the joint orientations are introduced upon algorithmic considerations. In par-

ticular, directions are often assigned so to form a root-directed spanning [Jain (2011a); Wittenburg

(2008)]. This limits the generality, however. Moreover, in an MBS modeling environment, joints are

introduced with well-deﬁned and prescribed orientations. These orientations are in general different

from those introduced for an oriented spanning tree, which is merely an algorithm construct (see95

next section and section 3.3).

B1

B

B

2

3

B0

B4

B5

3

5

1

0

1

4

5

2

3

1

2

3 5

4

2

4

1

5

3

b)a)

Figure 2. a) A linkage with 5 revolute joints. The direction of positive joint angles is shown. b) Edges in the

oriented topological graph ~

Γare directed according to the positive joint angles.

4

2.3 Spanning Trees and Predecessor Relations

A kinematic chain can be evaluated recursively by starting from an initial body. For mechanisms

with kinematic loops there is a priori no unique chain between two bodies. Such can be introduced

with help of a spanning tree of Γ. A spanning tree, denoted G=B, JG, is an acyclic subgraph of100

Γ, i.e. there is exactly one path between any two vertices. The spanning tree of a graph is not unique.

Fig. 3b) shows a spanning tree for the manipulator in ﬁg. 1.

3

2

1

3

2

1

0

6

5

6

5

4

10

4

10

9

8

7

7

9

8

3

2

1

3

22

1

0

6

5

6

5

4

10

4

10

9

8

7

7

9

8

b)a)

Figure 3. a) A spanning tree Gfor the topological graph in ﬁg. 1. b) The corresponding unique root-directed

tree ~

G0.

The recursive evaluation of the kinematics further requires an order relation that assigns to each

body and joint its direct predecessor. Such a relation is induced by directing the spanning tree.

Aroot-directed tree, denoted ~

G0, is introduced such that there is a directed path in ~

G0from B0

105

(the ground) to every vertex of Γ.B0is the root of the tree. Edges of ~

G0are called arcs. Fig. 3b)

shows the root-directed spanning tree for the PKM example in ﬁg. 1.

Remark 2 Jain (2011a) called ~

G0the ’standard digraph’ associated to a mechanism. Moreover, this

has been used to actually deﬁne directions of joints. Consequently, the original allocation of joint

directions would be changed according to the particular (but not unique) directed spanning tree (see110

remark 1).

5

The predecessor of a body can now be deﬁned relative to the root-directed spanning tree. Body Bβ

is the direct predecessor of Bα, if they are connected by an arc, i.e. (Bβ,Bα)∈~

G0. This is denoted

as Bβ=Bα−1(for short β=α−1).

Joint Jjis the direct predecessor of Ji, if the target of Jjis the source of Ji, i.e. Jj= (·,α)∈~

G0

115

and Jj= (α,·)∈~

G0. This is denoted as Jj=Ji−1(for short j=i−1). Joint Jjis a predecessor of

Ji, if there is a ﬁnite k, such that Jj=Ji−1−1...−1(ktimes). This is expressed as Jj=Ji−k.

Being a predecessor is indicated by Jj< Ji. Because of the tree topology it is possible that two

bodies have the same predecessor, i.e. α−1 = β−1, and analogously for joints.

Denote with J(Bα)the tree-joint that connects Bαwith its predecessor, i.e. J(Bα)=(β,α)∈ G,120

and with Jroot (Bα)the joint that connects to the root B0in the path from Bαwithin G.

The tree in ﬁg. 3b), induces the following predecessor relations

J1=J2−1J2=J3−1J3=J10 −1J4=J5−1

J5=J6−1J7=J8−1J8=J9−1

B0=B1−1B0=B4−1B0=B7−1B1=B2−1B2=B3−1

B3=B10 −1B4=B5−1B5=B6−1B7=B8−1B8=B9−1

and the following assignment of tree-joints connecting the bodies

Jroot (Bα) = J1,α = 1,2,3,10 Jroot (Bα) = J4,α = 4,5,6Jroot (Bα) = J7,α = 7,8,9

J(Bα) = Ji,α =i.

125

2.4 Cotrees and Fundamental Cycles

The edges of Γthat are not in Gconstitute the cotree, denoted H=B,JH, with JH:= J/JG.

The cotree edges (or cut-edges) are the chords of the spanning tree. The topological graph of a

mechanism, where all restrains are due to kinematic couplings, consists of exactly one connected

component. Such a graph possesses γ=N−M+1 independent fundamental cycles (FC), also called130

fundamental loops. The integer γis called the cyclomatic number (or Euler number) of Γ. A FC of

Γis a closed path (i.e. a sequence of edges) without repeated edges or vertices that contains exactly

one cotree-edge. Thus Hpossesses γedges. The FCs are denoted with Λl, where lis the index of

the cotree-edge in the FC. The FCs are not unique. The manipulator in ﬁg. 1a) has 12 −11 + 1 = 2

FCs, thus Hcomprises 2 edges. Fig. 4 shows the cotree Hto the spanning tree in ﬁg. 3a) and the135

corresponding two FCs.

3 Recursive Determination of Mechanism Conﬁgurations

3.1 Rigid Body Conﬁgurations

A rigid body is kinematically represented by a body-ﬁxed reference frame. The conﬁguration of

Bαw.r.t. to a global reference frame can be represented by a homogenous transformation matrix140

6

3

2

1

3

2

1

0

6

5

6

5

4

10

4

11 10 12

9

8

7

7

9

8

L11 L12

Figure 4. Cotree Hto the spanning tree Gin ﬁg. 2a). Λ11 and Λ12 are two FCs according to H. Here the

notation (α, β)is used instead of (Bα, Bβ).

[Murray et al. (1994); Selig (2005)]

Cα=

Rαrα

01

∈SE (3) (1)

where Rα∈SO (3) is the rotation matrix transforming coordinates from the body-ﬁxed reference

frame to the global frame, and rα∈R3is the position vector to the origin of the body-ﬁxed reference

frame expressed in the world frame.145

3.2 Relative Joint Motions – Lower Pair Joints

The joint motion is interpreted according to the direction of the joint. Let the tree-joint Jibe con-

necting body Bαand Bβ. According to its direction Ji= (β, α)∈~

Γit determines the relative con-

ﬁguration of Bαw.r.t. Bβ, which is given as

Di:= C−1

βCα∈SE (3) .(2)150

This relation follows immediately, since Cαand Cβis the conﬁguration of body αand βw.r.t. the

global frame. That is, Cαtransforms from body-ﬁxed reference frame on Bαto the global frame,

and C−1

βtransforms from global frame to the body-ﬁxed frame on Bβ. Hence, Ditransforms from

body-ﬁxed frame on Bαto body-ﬁxed frame on Bβ.

7

The majority of technical joints can be modeled as combination of lower kinematic pairs [Uicker et155

al. (2013)]. Moreover, their motion can be expressed as combination of 1-DOF screw motions, with

pure rotations and translation as special cases, which is a traditional approach in mechanisms and

MBS modeling. The relative conﬁguration of joint Jiis then (with appropriate choice of reference

frames) determined with the exponential mapping on SE (3) as

Di= exp(qiYi)(3)160

where Yi∈R6is the screw coordinate vector and qithe joint variable [Selig (2005)]. This is a basic

result in space kinematics [Angeles (2003); McCarthy (1990)]. Details are omitted here as this is

beyond the scope of this paper.

3.3 Mechanism Conﬁguration

Successive combination of the relative conﬁgurations of tree-joints in the spanning tree allows to165

determine the conﬁguration of all bodies in the mechanism. This requires taking into account the

assigned directions of the tree-joints. To this end, an indicator function is introduced as

σ(Ji) =

1, Bβis direct predecessor of Bα

−1, Bαis direct predecessor of Bβ

0, Jiis not a tree-joint, for Ji= (β, α).

The short hand notation σ(i)is used for simplicity. More precisely, σ(i)=1, if (Bβ, Bα)∈~

G0∧

(Bβ,Bα)∈~

Γ; it is σ(i) = −1, if (Bβ,Bα)∈~

G0∧(Bα,Bβ)∈~

Γ; and σ(i)=0, if (Bβ,Bα)/∈ G.170

For the manipulator example with Γin ﬁg. 1b), a joint orientation is chosen according to ~

Γin ﬁg.

5, which also shows the indicator function.

The relative conﬁguration of body Bαw.r.t. its predecessor Bβ=Bα−1due to the tree-joint

Ji= (β, α)is then Dσ(i)

i, and with (3) this is expressed as Dσ(i)

i= exp(σ(i)qiYi). That is, the

transformation is reversed, if Jiis directed (i.e. measured) opposite to the root-directed tree.175

The joint variable qiis interpreted according to the joint direction. For a revolute joint, (3) is

the transformation matrix (1) in terms of the rotation angle qi. The meaning of the joint direction

is apparent. If the joint angle is measured from body Bαto Bβ, i.e., if it is directed opposite to

the root-directed tree, then σ(i) = −1, so that its meaning is reversed, and Dσ(i)

i= exp(−qiYi).

For instance, the rotation angle of the revolute joint J4as deﬁned in ﬁg. 2a) is reversed in order to180

determine the motion of B4w.r.t. B1.

With the relative conﬁguration (2) of the tree-joints, the conﬁguration of an arbitrary body Bαis

given as

Cα=Dσ(r)

r·...·Dσ(i−2)

i−2·Dσ(i−1)

i−1·Dσ(i)

i, r =Jroot (α),i =J(α)(4)

8

3

2

1

3

2

1

0

6

5

6

5

4

10

4

11 10 12

9

8

7

7

9

8

Figure 5. a) Oriented topological graph ~

Γfor Γin ﬁg. 1b). b) The function σ(i)indicates the direction of joint

Jirelative to the root-directed tree ~

Gin ﬁg. 3b.

and using the expression (3) for lower pair joints yields185

Cα= exp(σ(r)qrYr)·...·exp(σ(i−1) qi−1Yi−1)·exp(σ(i)qiYi),(5)

with r=Jroot (α),i =J(α).

For example, the conﬁguration of B10 of the mechanism in ﬁg. 1, according to the oriented tree in

ﬁg. 3b) and the oriented topological graph in ﬁg. 5, is

C10 =D1·D−1

2·D3·D−1

10

190

= exp(q1Y1)·exp(−q2Y2)·exp(q3Y3)·exp(−q10Y10 ).

For the mechanism in ﬁg. 2a) the conﬁguration of B5is (with σ(1) = σ(5) = 1, σ (4) = −1)

C5=D1·D−1

4·D5

= exp(q1Y1)·exp(−q4Y4)·exp(q5Y5).

The interpretation of the recursive relations (4) and (5) is straightforward. The conﬁguration of Bαis195

the combination of the joint conﬁgurations when traversing the kinematic chain in ~

G0starting from

B0to Bαwhile noting the joint directions encoded in ~

Γ.

Remark 3 The formulation (5) is referred to as the product of exponentials (POE) formula [Brockett

(1984)] that gave rise to very compact formulations for the mechanism kinematics and algorithms

9

for the dynamics of MBS [Ploen & Park (1997); Park (1994)] employing the Lie group SE (3). An200

important aspect is that it leads to simple explicit algebraic relations for velocities, accelerations,

and higher-order derivatives of any order [Müller (2014b, a)]. Furthermore, this provides the basis

for higher-order kinematic analysis of mechanisms. This has been pursued in [Rico et al. (1999,

2008); Müller & Rico (2008)] for single-loop mechanisms. The extension to multi-loop mechanisms

requires a systematic yet simple description of the mechanism topology. This is the aim of the present205

paper.

In summary, starting from the basic topological information encoded in Γ, the determination of

the conﬁgurations of the bodies in a mechanism requires introduction of

–the oriented topological graph ~

Γin order to represent the joint orientations as assigned in the

kinematics modeling, and210

–the root-directed tree ~

G0in order to deﬁne an ordering that determines a unique predecessor

for each body.

4 Kinematic Loop Constraints

For each of the γFCs (and only for these) a system of kinematic constraints is introduced. Such

loop constraints can be formulated in two basically different ways: the cut-joint and the cut-body215

formulation.

For the cut-body formulation, a body within the loop, called the ’cut-body’, is virtually cut open

so to obtain an open kinematic chain comprising all joints in the loop. The loop closure constraints

require the cut-body to be (re)connected.

For the cut-joint approach, a joint within the loop, called the ’cut-joint’, is eliminated (cut open)220

from the kinematic model leading to an open kinematic chain comprising all joints in the loop except

the cut-joint. The loop closure constraints restrict the relative motion of the two bodies connected by

the cut-joint according to its mobility.

4.1 Cut-Joint Approach

This method is used for kinematics modeling in computational MBS dynamics. Consider the FC Λl

225

with cotree-edge Jl= (Bβ,Bα). The joint Jlis used as cut-joint, and removed from the FC. This

leaves two open kinematic chains with the respective terminal bodies Bβand Bαof the spanning

tree. Their conﬁgurations are determined by the tree-joint conﬁgurations via (4). A system of cut-

joint constraints is then formulated for Jlof the form

hl(Cα,Cβ) = 0.(6)230

The constraints (6) restrict the relative displacement and orientation, i.e. the conﬁguration, of Bβ

and Bαaccording to the mobility of joint Ji. These are well-known for various joint types [Uicker

10

et al. (2013); Wittenburg (2008)]. Cotree edges are the chords of the spanning tree, which bears an

obvious kinematic meaning: a cut-joint reconnects the two terminal vertices of the spanning tree that

are linked by a chord so to close the FC.235

Remark 4 The constraints (6) only involve the joint variables of the tree-joints since the cut-joint

is removed from the kinematic model. The cut-joint approach is used in recursive MBS dynamics

algorithms. The main reason is that the dynamic motion equations of the tree topology system (the

mechanism deﬁned by G) can be derived and evaluated, possibly with low-order algorithms, and the

constraints be imposed. As example, the tree-topology system for the manipulator in ﬁg. 1 according240

to the tree in ﬁg. 3 is shown in ﬁg. 6. The cut-joints J11 and J12 are removed.

0

1

2

3

10

9

8

7

6

5

4

2

1

4

5

6

3

10

9

8

7

Ground

Figure 6. The tree-topology mechanism obtained after removing the cut-joints J11 and J12.

Remark 5 The overall system of loop constraints is possibly redundant due to the particular mech-

anism geometry. The computational treatment of such situations is a topic of ongoing research

[Arabyan & Wu (1998); Meijaard (1993); Wojtyra & Fraczek (2013)]. It should be remarked that the

POE formulation and its underlying Lie group concept allows to deduce redundant loop constraints245

and eventually to determine a reduced non-redundant set of constraints [Müller (2011, 2014c)].

The cut-joint formulation is also advantageous for the kinematic analysis when only one higher

kinematic pair is present in a FC. Then the conﬁguration, velocity, and acceleration, etc. of the two

open chains with terminal Bβand Bαcan be expressed by the POE (5) since all other tree-joints

are lower pairs. For instance, the mechanism in ﬁg. 7a) comprises a higher kinematic pair: the pin-250

in-slot joint J2. An oriented topological graph is shown in ﬁg. 7b). The spanning tree in ﬁg. 8a) is

introduced so that J2is in the cotree. Fig. 8b) shows the corresponding FCs.

11

a)

Ground

2

1

0

4

5

3

1

2

6

7

5

4

3

b)

0

61

4

33

5

7

54

1

22

Figure 7. a) Linkage with a higher kinematic pair J2(pin-in-slot joint). b) An oriented topological graph ~

Γfor

this linkage.

6L

3

7

5

2

0

1

4

33

54

1

2

0

1

4

2

3

L5

54

1

2

6

7

b)a)

Figure 8. a) A root-directed spanning tree ~

G0for the linkage in ﬁg. 5. b) Oriented FCs Λ2and Λ5.

The higher pair J2= (B2,B1)is the cut-joint in Λ2. It imposes two rotational constraints and two

translational constraints on the relative motion of body B2and B1[Uicker et al. (2013)] that are

summarized as h2(C1,C2) = 0. The conﬁgurations of B2and B1are determined by the lower pairs255

of the tree topology system. With the orientation of tree-joints deﬁned by ~

Γand ~

G0, these are

C1=D−1

1= exp(−q1Y1)

C2=D3D6= exp(q3Y3)exp(q6Y6).

12

The loop constraints h5(C4,C5) = 0for Λ5due to the revolute (lower pair) joint J5are derived

with260

C4=D4= exp(q4Y4)

C5=D3D7= exp(q3Y3)exp(q7Y7).

In summary, the cut-joint formulation requires introduction of

–the oriented topological graph ~

Γrepresenting the joint orientations,

–the root-directed tree ~

G0in order to determine the conﬁguration of the bodies connected by265

the cut-joint, and

–the FCs Λldeﬁning the kinematic loops for which closure constraints are introduced.

4.2 Cut-Body Approach

This method is used for kinematic analysis of linkages, i.e. closed kinematic chains comprising only

lower pairs. Instead of eliminating the cotree-joint Jl= (Bβ,Bα), it is regarded as part of the closed270

kinematic chain deﬁned by the FC Λl. This requires taking into account the orientation of the joints

within the FC. To this end, an orientation of the FC Λlis introduced such that it is aligned with the

cotree-edge Jl. The orientations of edges relative to Λlare indicated by the cycle incidence function

σl(Ji) =

1,(Bβ,Bα)∈~

Γis aligned with Λl

−1,(Bβ,Bα)∈~

Γis directed opposite to Λl

0,(Bβ,Bα)/∈Λl,for Ji= (β, α).

Notice that σl(l)=1. These numbers are commonly arranged in the cycle incidence matrix of the275

oriented graph.

The orientation of Λlinduces an order relation in the FC. Jjis considered as predecessor of Jiin

Λl, if it is met after Jiwhen traversing the FC Λlstarting from Jl. This is denoted with Jj<lJi.

Clearly Ji<lJlfor all i6=l. Joint Jland the last joint in the FC connect to the same body Bα, i.e.

Ji= (·,Bα)and Jl= (Bα,·).280

In the manipulator example, the two FCs in ﬁg. 4 can be oriented as in ﬁg. 9 that also shows the

cycle incidence function. The ordering in Λ11, for instance, is such that 10 <11 3<11 2<11 1<11

4<11 5<11 6<11 11.

Successive combination of the relative conﬁgurations of all joints in the FC leads to the closure

condition for Λl

285

fl=I(7)

with

fl:= Dσl(i)

i·Dσl(j)

j·...·Dσl(k)

k·Dl,(8)

for i <lj <l...k <ll, and Ji,Jj,...,Jl∈Λl

13

10

10

11 12

L11 L12

3

2

1

3

2

1

0

6

5

6

5

4

4

9

8

7

7

9

8

Figure 9. Two oriented FC for the oriented topological graph ~

Γin ﬁg. 4). The cycle incidence function σl(Ji)

indicates whether joint Jiis oriented along or oposite to the FC Λl.

where Iis the 4×4identity matrix. If all joints are 1-DOF lower pairs, this can be written as290

fl:= exp(σl(i)qiYi)·exp(σl(j)qjYj)·...·exp(σl(k)qkYk)·exp(qlYl).(9)

The expression (8) and (9) can be interpreted as the conﬁguration of the terminal body of a kinematic

chain comprising the joints i <l... <ll. The closure condition then requires this terminal body to

remain ﬁxed. For this reason this approach is also known as the cut-body method [Samin & Fisette

(2003)]. The body connecting joints Jiand Jl(the cut-body) is virtually cut, and one half serves as295

terminal body of the chain. Merging the two halves then leads to the above constraints.

Consider the manipulator example in ﬁg. 1a) with oriented topological graph and FCs in ﬁg. 9.

The system of loop constraints for the FC Λ11 and Λ12 is respectively f11 =Iand f12 =Iwith

f11 := D10 ·D3·D−1

2·D1·D4·D5·D−1

6·D11

f12 := D10 ·D3·D−1

2·D1·D7·D8·D−1

9·D12

300

In summary, the cut-body formulation requires introduction of

–the oriented topological graph ~

Γrepresenting the joint orientations,

–the spanning tree Gdeﬁning the FCs Λl, i.e. the kinematic loops for which closure constraints

are introduced, and

–an orientation of the FCs.305

Remark 6 The cut-body formulation involves the conﬁgurations, thus the joint variables, of all

joints in the FC. The expression (9) has a major importance for the kinematic analysis of linkages

14

with lower pair joints. Firstly because it is determined solely in terms of the joint screw coordinate

vectors Yj, but secondly and most importantly, because its derivatives of any order can be deter-

mined by simple algebraic operation, namely the screw products (Lie brackets) of the instantaneous310

joint screws [Rico et al. (1999); Selig (2005); Müller (2014a)]. This is the basis for any higher-order

kinematic analysis of mechanisms.

Remark 7 The constraints (9) deﬁne the variety of admissible conﬁgurations of the kinematic loop

Λlas Vl:= {q∈Vn|fl(q) = I}, and thus the conﬁguration space of the linkage as

V:= \

l∈H

Vl.(10)315

This conﬁguration space variety is the chief subject in the mobility analysis of mechanisms. Clearly,

a systematic method for multi-loop mechanisms shall rest on the identiﬁcation of topologically inde-

pendent FCs. This has been introduced by Davis (1981, 2015) adopting the principles of Kirchoff’s

circuit law for electric networks. It is not yet been used widely, however. This frequently leads to the

introduction of redundant constraints when topologically redundant loops are considered.320

Remark 8 The kinematic topology is inextricably connected to the (generic) structural mobility, i.e.

the mobility that a generic realization of a mechanism with a given number of bodies and joints

possesses. Structural mobility criteria hence estimate a lower bound on the mobility of a particular

mechanism. They only require structural information but no information about the topology. It is

instructive though, to note how topological information enters these criteria. The best-known mobil-325

ity criterion is the Chebyshev-Kutzbach-Grübler formula δgen =g(M−1) −PJi∈Γ(g−δi)where

δiis the DOF of joint Ji, and gcharacterizes the ’motion type’ of the mechanism. For instance,

g= 3 for planar and spherical, and g= 6 for spatial mechanisms [Angeles (2003)]. The number g

can be speciﬁed without investigating the particular geometry if the motion of the loops form a mo-

tion subgroup of SE (3). Then the generic mobility, i.e. for generic geometries, is determined with330

g= 1,2,3,4,6. Now with PJi∈Γg=Ng this reads

δgen =X

i∈J

δi−gγ. (11)

In other words for each FC a system of gconstraints is imposed. Hence, the generic DOF is deter-

mined once the number FCs is known. It was shown in Müller (2009) that this is in fact the correct

mobility for generic realizations.335

5 Conclusions

The kinematic analysis of a mechanism requires evaluation of the motion of its members, and for-

mulation of a system of generically independent loop closure constraints. Any recursive evaluation

of the motion of a mechanism rests on an ordering of bodies and joints. The conﬁguration of a body

15

is given in terms of the conﬁgurations of its predecessors that form a kinematic chain to the ground340

(reference body). For a multi-loop mechanism this chain is no unique. The spanning tree of the topo-

logical graph gives rise to a unique predecessor relation. This is introduced in this paper making

use of a root-directed spanning tree (a tree such that there is an oriented path from any body to the

ground). If the mechanism comprises lower pair joints only, the conﬁguration is then recursively

expressible by the product of exponentials (POE) in terms of joint screw coordinates.345

The recursive formulation of loop closure constraints also requires an ordering, now within the

loop. Here it is important that constraints are formulated for fundamental cycles (FC), i.e. for topo-

logically independent kinematic loops. To this end, fundamental cycles are introduced on the topo-

logical graph together with an orientation. Two different constraint formulations are considered:

cut-joint and cut-body formulation. The cut-joint formulation allows for a higher kinematic pair in a350

FC, whereas the cut-body formulation is tailored to linkages with lower pairs.

The basic difference of the proposed topology description compared to the various graph represen-

tations is that it does not involve matrix representations. Moreover, the presented notation provides

the basis for a systematic higher-order analysis of the mechanism kinematics. This will be reported

in forthcoming paper.355

Acknowledgements. The author acknowledges that this work has been partially supported by the Austrian

COMET-K2 program of the Linz Center of Mechatronics (LCM).

16

Appendix A: Nomenclature

N- number of joints in a mechanism

M- number of bodies in a mechanism

Γ,G,H- topological graph, spanning tree, and cotree in Γ

Bα- vertex representing body α= 0,...,M −1

Ji= (Bβ,Bα)- edge representing joint i= 1,...,N between bodies Bβand Bα

~

Γ- oriented topological graph indicating assigned direction of joint transformations

~

G0- root-oriented spanning tree, so that there is a unique directed path from the root B0to any Bα

σ(i)- function indicating the direction of joint irelative to the root-oriented tree

γ- number fundamental cycles of Γ

Λl- fundamental cycle of Γassigned to co-tree edge l∈ H

qi- joint variable of 1-DOF lower pair joint i

q∈VN- vector comprising all joint variables

Yi- screw coordinate vector of joint iin the zero reference conﬁguration q=0

SE (3) - matrix representation of the Lie group of rigid body motions

δi- DOF of joint i

δgen - generic DOF of a mechanism

17

References360

J. Angeles: Fundamentals of robotic mechanical systems - second edition, Springer, 2003

A. Arabyan, F. Wu: An improved formulation for constrained mechanical systems, Multibody System Dynam-

ics, Vol. 2, No.1, 1998, pp. 49-69

K. Arczewski: Graph theoretical approach–I. determination of kinetic energy for a class of particle systems, J.

Franklin Institute, Vol. 329, No. 3, 1992, pp. 469-481365

K. Arczewski: Graph theoretical approach–II. determination of generalized forces for a class of systems con-

sisting of particles and springs, J. Franklin Institute, Vol. 329, No. 3, 1992, pp. 483-491

K. Arczewski: Graph theoretical approach–III. equations of motion of a class of constrained particle systems,

J. Franklin Institute, Vol. 329, No. 3, 1992, pp. 493–510

R. W. Brockett: Robotic manipulators and the product of exponentials formula, Mathematical Theory of Net-370

works and Systems, Lecture Notes in Control and Information Sciences Vol. 58, 1984, pp 120-129

M. Carricato, V. Parenti-Castelli: Singularity-free fully-isotropic translational parallel mechanism, Int. Journ.

Robot. Res., Vol. 21, No. 2, 2002, pp. 161-174

T.H. Davies: Kirchhoff’s circulation law applied to multi-loop kinematic chains, Mech. Mach. Theory, Vol. 16,

No. 3, 1981, pp. 171-183375

T.H. Davis: A network approach to mechanisms and machines: Some lessons learned, Mech. Mach. Theory,

Vol. 89, 2015, pp. 14-27

A. Jain: Graph theoretic foundations of multibody dynamics, Part I: structural properties, Multibody Syst Dyn.,

Vol. 26, 2011, pp. 307-333

A. Jain: Graph theoretic foundations of multibody dynamics, Part II: Analysis and algorithms, Multibody Syst380

Dyn., Vol. 26, 2011, pp. 335-365

S. Kim, L. Tsai: Evaluation of a cartesian parallel manipulator, in J. Lenarˇ

ciˇ

c, F. Thomas (Eds.): Advances in

robot kinematics, 2002

X. Kong, C. Gosselin: Type synthesis of linear translational parallel manipulators, in J. Lenarˇ

ciˇ

c, F. Thomas

(Eds.): Advances in robot kinematics, 2002385

J.M. McCarthy: An Introduction to Theoretical Kinematics, MIT Press, 1990

J.P. Meijaard: Applications of the Singular Value Decomposition in dynamics, Computer Methods in applied

mechanics and Engineering, Vol. 103, 1993, pp. 161-173

A. Müller, J.M. Rico: Mobility and Higher Order Local Analysis of the Conﬁguration Space of Single-Loop

Mechanisms, in: J. J. Lenarcic, P. Wenger (eds.), Advances in Robot Kinematics, 2008, Springer, pp. 215-224390

A. Müller: Generic Mobility of Rigid Body Mechanisms, Mech. Mach. Theory, Vol. 44, no. 6, 2009, pp. 1240-

1255

A. Müller: Semialgebraic Regularization of Kinematic Loop Constraints in Multibody System Models, ASME

Trans., Journal of Computational and Nonlinear Dynamics, Vol. 6, No 4, 2011

A. Müller: Higher Derivatives of the Kinematic Mapping and some Applications, Mechanism and Machine395

Theory, Vol. 76, 2014, Pages 70–85

A. Müller: Derivatives of Screw Systems in Body-ﬁxed Representation, in J. Lenarcic, O. Khatib (ed.): Ad-

vances in Robot Kinematics (ARK) 2014, Springer, pp. 123-130

18

A. Müller: Implementation of a Geometric Constraint Regularization for Multibody System Models, Archive

of Mechanical Engineering, Vol LXI, No.2, 2014400

R.M. Murray, Z. Li, and S.S. Sastry, A Mathematical Introduction to Robotic Manipulation, CRC Press Boca

Raton, 1994

F.C. Park: Computational Aspects of the Product-of-Exponentials Formula for Robot Kinematics, IEEE Trans.

Aut. Contr, Vol. 39, No. 3, 1994, 643-647

S.R. Ploen, F.C. Park: A Lie group formulation of the dynamics of cooperating robot systems, Rob. and Auton.405

Sys., Vol. 21, 1997, pp. 279-287

J.M. Rico, J. Gallardo, J. Duffy: Screw theory and higher order kinematic analysis of open serial and closed

chains, Mech. Mach. Theory, Vol. 34, No. 4, 1999, pp. 559-586

J.M. Rico, J.J. Cervantes-Sánchez, J. Gallardo: Velocity and Acceleration Analyses of Lower Mobility Plat-

forms via Screw Theory, 32nd ASME Mechanisms and Robotics Conf., August 3-6, 2008, Brooklyn, NY410

J-C. Samin, P. Fisette: Symbolic Modeling of Multibody Systems, Springer Netherlands, 2003

J. Selig: Geometric Fundamentals of Robotics (Monographs in Computer Science Series), Springer-Verlag New

York, 2005

R. Simoni, C. Melchiades Doria, D. Martins: Symmetry and invariants of kinematic chains and parallel manip-

ulators, Robotica, Vol. 31, 2013, pp 61-70415

J.J. Uicker, B. Ravani, P.N. Sheth: Matrix Methods in the Design Analysis of Mechanisms and Multibody

Systems, Cambridge University Press, 2013

J. Wittenburg: Dynamics of Systems of Rigid Bodies, B.G. Teubner, Stuttgart, 1977

J. Wittenburg: Dynamics of Multibody Systems, Springer Verlag, 2nd ed. 2008

K. Wohlhart: Screw Spaces and Connectivities in Multiloop Linkages, On Advances in Robot Kinematics, 2004,420

pp 97-104

M. Wojtyra, J. Fraczek: Solvability of reactions in rigid multibody systems with redundant nonholonomic con-

straints, Multibody Systems Dynamics, Springer, Vol. 30, No. 2, Aug. 2013, pp. 153-171

19