Representation of the kinematic topology of mechanisms for kinematic analysis

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 topological 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 representation of the topological information is often sufficient. 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 configuration. 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 with 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.


Introduction
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 important aspect for modeling of complex MBS.Wittenburg (1977Wittenburg ( , 2008) ) introduced a linear graph to represent general interconnections of rigid bodies within a MBS.This linear graph includes not only 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 compact matrix formulations of the MBS motion equations.
For kinematical investigations of mechanisms a graph representation of the kinematic topology has been proposed by Davis (1981Davis ( , 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.This 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 first-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 mechanism.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 becomes critical in particular if higher-order analyses are pursued.Furthermore, despite the vast literature Published by Copernicus Publications.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 representation and of formulations of loop constraints for multi-loop mechanisms in a way appropriate for the higher-order kinematic analysis.
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 coordinates (joint coordinates) are used to parameterize the configuration allowing for a recursive evaluation of the mechanism kinematics.The essential topological relations are: 1. an order relation to define predecessors of bodies and joints, 2. an indicator of the direction in which a relative joint motion is defined, and 3. an order relation defining predecessors of bodies and joints within topologically independent loops.
The first and second allow for recursive determination of configurations of bodies, and the third for a recursive formulation of topologically independent loop constraints.To this end, (1) an oriented spanning tree → G, (2) an oriented topological graph → , and (3) an oriented system of fundamental cycles (FC) are introduced.
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.

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 B is the set of vertices (representing bodies) and J is the set of edges (representing joints).The graph is simple, 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 "fixed member" or to the "ground".Joints are indexed with Latin characters i = 1, . . ., N.
An edge is an unordered pair of vertices denoted J i = (B α , B β ) ∈ J .This indicates that body B α and B β are connected by joint J i .For the sake of simplicity, the shorthand notations J i = (α, β) ∈ J and (α, β) ∈ J are used.
Figure 1b shows the topological graph for the parallel mechanism in Fig. 1a that was reported by Carricato and Parenti-Castelli (2002), Kim and Tsai (2002) and Kong and Gosselin (2002).The mechanism contains M = 11 bodies and N = 12 joints.Notice that for sake of simplicity, in all figures throughout the paper, edges are denoted simply with the index α instead of B α .

Joint orientations and oriented topological graphs
The joint J i = (B α , B β ) constrains the relative motion of the two bodies B β and B α .That is, it can be considered to determine the relative configuration of B α w.r.t.B β or that of B β w.r.t.B α .The definition of this "joint direction" is an indispensable step within the kinematics modeling that further includes introduction of certain joint variables (angles, displacements) to describe the joint motion.This is not revealed by the undirected edge J i ∈ .For example in Fig. 2a, the joint angle of the revolute joint J 2 measures the rotation of B 2 relative to B 1 , whereas the angle of joint J 4 measures the rotation of B 1 w.r.t.B 4 , 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.This is obtained by considering the edges of as ordered pairs of vertices.That is, if (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 J i = (B β , B α ) ∈ → means that joint J i is assumed to define the motion of B α w.r.t.B β .Edges of → are called arcs. Figure 2b shows the oriented topological graph for the mechanism in Fig. 2a.
Remark 1 Frequently the joint orientations are introduced upon algorithmic considerations.In particular, 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-defined and prescribed orientations.These orientations are in general different from those introduced for an oriented spanning tree, which is merely an algorithm construct (see next section and Sect.3.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, J G ), is an acyclic subgraph of , i.e. there is exactly one path between any two vertices.The spanning tree of a graph is not unique.Figure 3b shows a spanning tree for the manipulator in Fig. 1.
The recursive evaluation of the kinematics further requires an order relation that assigns to each body and joint its di- rect predecessor.Such a relation is induced by directing the spanning tree.
A root-directed tree, denoted → G 0 , is introduced such that there is a directed path in → G 0 from B 0 (the ground) to every vertex of .B 0 is the root of the tree.Edges of → G 0 are called arcs. Figure 3b shows the root-directed spanning tree for the PKM example in Fig. 1.

Moreover, this has been used to actually define directions of joints. Consequently, the original allocation of joint directions would be changed according to the particular (but not unique) directed spanning tree (see remark 1).
The predecessor of a body can now be defined relative to the root-directed spanning tree.Body B β is the direct predecessor of B α , if they are connected by an arc,

A. Müller: Topology representation of mechanisms
This is denoted as J j = J i − 1 (for short j = i − 1).Joint J j is a predecessor of J i , if there is a finite k, such that J j = J i − 1 − 1 . . .− 1 (k times).This is expressed as J j = J i − k.Being a predecessor is indicated by J j < J i .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, and with J root (B α ) the joint that connects to the root B 0 in the path from B α within G.
The tree in Fig. 3b, induces the following predecessor relations and the following assignment of tree-joints connecting the bodies

Cotrees and fundamental cycles
The edges of that are not in G constitute the cotree, denoted H = (B, J H ), with J H : = J /J G .The cotree edges (or cut-edges) are the textitchords 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 called 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 H possesses γ edges.The FCs are denoted with l , where l is the index of the cotree-edge in the FC.The FCs are not unique.The manipulator in Fig. 1a has 12 − 11 + 1 = 2 FCs, thus H comprises 2 edges.Figure 4 shows the cotree H to the spanning tree in Fig. 3a and the corresponding two FCs.

Rigid body configurations
A rigid body is kinematically represented by a body-fixed reference frame.The configuration of B α w.r.t. to a global reference frame can be represented by a homogenous transformation matrix (Murray et al., 1994;Selig, 2005) where R α ∈ SO(3) is the rotation matrix transforming coordinates from the body-fixed reference frame to the global frame, and r α ∈ R 3 is the position vector to the origin of the body-fixed reference frame expressed in the world frame.

Relative joint motions -lower pair joints
The joint motion is interpreted according to the direction of the joint.Let the tree-joint J i be connecting body B α and B β .
According to its direction J i = (β, α) ∈ → it determines the relative configuration of B α w.r.t.B β , which is given as The majority of technical joints can be modeled as combination of lower kinematic pairs (Uicker et 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 configuration of joint J i is then (with appropriate choice of reference frames) determined with the exponential mapping on SE(3) as where Y i ∈ R 6 is the screw coordinate vector and q i the 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.

Mechanism configuration
Successive combination of the relative configurations of treejoints in the spanning tree allows to determine the configuration 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 .
The short hand notation σ (i) is used for simplicity.More precisely, For the manipulator example with in Fig. 1b, a joint orientation is chosen according to → in Fig. 5, which also shows the indicator function.
The relative configuration of body B α w.r.t.its predecessor B β = B α − 1 due to the tree-joint i , and with Eq. (3) this is expressed as D That is, the transformation is reversed, if J i is directed (i.e.measured) opposite to the root-directed tree.
The joint variable q i is interpreted according to the joint direction.For a revolute joint, Eq. ( 3) is the transformation matrix (Eq. 1) in terms of the rotation angle q i .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 (−q i Y i ) .For instance, the rotation angle of the revolute joint J 4 as defined in Fig. 2a is reversed in order to determine the motion of B 4 w.r.t.B 1 .
With the relative configuration Eq. ( 2) of the tree-joints, the configuration of an arbitrary body B α is given as and using the expression Eq. (3) for lower pair joints yields For example, the configuration of B 10 of the mechanism in Fig. 1, according to the oriented tree in Fig. 3b and the oriented topological graph in Fig. 5, is • exp (−q 10 Y 10 ) .For the mechanism in Fig. 2a the configuration of B 5 is (with The interpretation of the recursive relations Eqs. ( 4) and ( 5) is straightforward.The configuration of B α is the combina-  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 for the dynamics of MBS (Ploen and Park, 1997;Park, 1994) employing the Lie group SE(3).An 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. (1999Rico et al. ( , 2008) ) and Müller and 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 present paper.
In summary, starting from the basic topological information encoded in , the determination of the configurations 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, and -the root-directed tree → G 0 in order to define an ordering that determines a unique predecessor for each body.

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-body 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) 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.

Cut-joint approach
This method is used for kinematics modeling in computational MBS dynamics.Consider the FC l with cotree-edge J l = (B β , B α ).The joint J l is 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 configurations are determined by the tree-joint configurations via Eq.(4).A system of cut-joint constraints is then formulated for J l of the form The constraints Eq. ( 6) restrict the relative displacement and orientation, i.e. the configuration, of B β and B α according to the mobility of joint J i .These are well-known for various joint types (Uicker 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.

Remark 4
The constraints Eq. ( 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 defined 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 Fig. 1 according to the tree in Fig. 3 is shown in Fig. 6.The cut-joints J 11 and J 12 are removed.
Remark 5 The overall system of loop constraints is possibly redundant due to the particular mechanism geometry.The computational treatment of such situations is a topic of ongoing research (Arabyan and Wu, 1998;Meijaard, 1993;Wojtyra and Fraczek, 2013).It should be remarked that the POE formulation and its underlying Lie group concept allows to deduce redundant loop constraints and eventually to determine a reduced non-redundant set of constraints (Müller, 2011(Müller, , 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 configuration, velocity, and acceleration, etc. of the two open chains with terminal B β and B α can be expressed by the POE Eq. ( 5) since all other treejoints are lower pairs.For instance, the mechanism in Fig. 7a comprises a higher kinematic pair: the pin-in-slot joint J 2 .An oriented topological graph is shown in Fig. 7b.The spanning tree in Fig. 8a is introduced so that J 2 is in the cotree.Figure 8b shows the corresponding FCs.
The higher pair J 2 = (B 2 , B 1 ) is the cut-joint in 2 .It imposes two rotational constraints and two translational constraints on the relative motion of body B 2 and B 1 (Uicker et al., 2013) The loop constraints h 5 (C 4 , C 5 ) = 0 for 5 due to the revolute (lower pair) joint J 5 are derived with In summary, the cut-joint formulation requires introduction of -the oriented topological graph → representing the joint orientations, -the root-directed tree → G 0 in order to determine the configuration of the bodies connected by the cut-joint, and -the FCs l defining the kinematic loops for which closure constraints are introduced.

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 J l = (B β , B α ) , it is regarded as part of the closed kinematic chain defined 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 l is introduced such that it is aligned with the cotree-edge J l .The orientations of edges relative to l are indicated by the cycle incidence function Notice that σ l (l) = 1.These numbers are commonly arranged in the cycle incidence matrix of the oriented graph.4).The cycle incidence function σ l (J i ) indicates whether joint J i is oriented along or oposite to the FC l .
The orientation of l induces an order relation in the FC.J j is considered as predecessor of J i in l , if it is met after J i when traversing the FC l starting from J l .This is denoted with J j < l J i .Clearly J i < l J l for all i = l.Joint J l and the last joint in the FC connect to the same body B α , i.e.J i = (•, B α ) and J l = (B α , •).
Successive combination of the relative configurations of all joints in the FC leads to the closure condition for l f l = I (7) with • D l , for i< l j < l . ..k< l l, and J i , J j , . .., J l ∈ l (8 where I is the 4 × 4 identity matrix.If all joints are 1-DOF lower pairs, this can be written as The expression Eqs. ( 8) and ( 9) can be interpreted as the configuration of the terminal body of a kinematic chain comprising the joints i< l . . .< l l.The closure condition then requires this terminal body to remain fixed.For this reason this approach is also known as the cut-body method (Samin and Fisette, 2003).The body connecting joints J i and J l (the cutbody) is virtually cut, and one half serves as terminal body of the chain.Merging the two halves then leads to the above constraints.
Consider the manipulator example in Fig. 1a with oriented topological graph and FCs in Fig. 9.The system of loop constraints for the FC 11 and 12 is respectively f 11 = I and f 12 = I with In summary, the cut-body formulation requires introduction of -the oriented topological graph representing the joint orientations, -the spanning tree G defining the FCs l , i.e. the kinematic loops for which closure constraints are introduced, and -an orientation of the FCs.

Remark 6
The cut-body formulation involves the configurations, thus the joint variables, of all joints in the FC.The expression Eq. ( 9) has a major importance for the kinematic analysis of linkages with lower pair joints.Firstly because it is determined solely in terms of the joint screw coordinate vectors Y j , but secondly and most importantly, because its derivatives of any order can be determined by simple algebraic operation, namely the screw products (Lie brackets) of the instantaneous 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 Eq. ( 9) define the variety of admissible configurations of the kinematic loop l as V l : = {q ∈ V n |f l (q) = I}, and thus the configuration space of the linkage as This configuration space variety is the chief subject in the mobility analysis of mechanisms.Clearly, a systematic method for multi-loop mechanisms shall rest on the identification of topologically independent FCs.This has been introduced by Davis (1981Davis ( , 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.

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 mobility criterion is the Chebyshev-Kutzbach-Grübler formula δ gen = g(M − 1) where δ i is the DOF of joint J i , and g characterizes 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 specified without investigating the particular geometry if the motion of the loops form a motion subgroup of SE(3).Then the generic mobility, i.e. for generic geometries, is determined with g = 1, 2, 3, 4, 6.Now with In other words for each FC a system of g constraints is imposed.Hence, the generic DOF is determined once the number FCs is known.It was shown in Müller (2009) that this is in fact the correct mobility for generic realizations.

Conclusions
The kinematic analysis of a mechanism requires evaluation of the motion of its members, and formulation 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 configuration of a body is given in terms of the configurations of its predecessors that form a kinematic chain to the ground (reference body).For a multi-loop mechanism this chain is no unique.The spanning tree of the topological 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 configuration is then recursively expressible by the product of exponentials (POE) in terms of joint screw coordinates.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 topologically independent kinematic loops.To this end, fundamental cycles are introduced on the topological 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 a 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 representations is that it does not involve matrix representations.Moreover, the presented notation provides the basis for a systematic higherorder analysis of the mechanism kinematics.This will be reported in forthcoming paper.

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

Figure 3 .
Figure 3. (a) A spanning tree G for the topological graph in Fig. 1.(b) The corresponding unique root-directed tree

Figure 4 .
Figure 4. Cotree H to the spanning tree G in fig.2a).11 and 12 are two FCs according to H.Here the notation (α, β) is used instead of (B α , B β ).

)
This relation follows immediately, since C α and C β is the configuration of body α and β w.r.t. the global frame.That is, C α transforms from body-fixed reference frame on B α to the global frame, and C −1 β transforms from global frame to the body-fixed frame on B β .Hence, D i transforms from bodyfixed frame on B α to body-fixed frame on B β .

Figure 6 .
Figure 6.The tree-topology mechanism obtained after removing the cut-joints J 11 and J 12 .

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

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