Top Banner
1 Combinatorial Algorithm for Determination of Topological Mobility of Floating Planar and Spherical Linkages ABSTRACT Structural mobility criteria, such as the well-known Chebychev-Kutzbach-Grübler (CKG) formula, give the correct topological mobility of a linkage (possibly of a certain class, e.g. planar, spherical, spatial) provided that it is not topologically overconstrained. As a matter of fact all known structural mobility criteria are prone to topological redundancies. In this paper a combinatorial algorithm is introduced that determines the correct topological mobility of any planar and spherical mechanism. The algorithm also yields a set of independent links that can be used as input, as well as the redundantly constrained sub-linkages. A mathematical proof of the algorithm and the underlying mathematical concept is presented. The proposed method relies on an established algorithm developed within combinatorial rigidity theory, called pebble game, originally developed for checking the rigidity/immobility of constraint graphs. A novel theorem is introduced and later proved in the paper which in turn enables applying the algorithm to any holonomic planar or spherical mechanism with higher and lower kinematic pairs and multiple joints. A further important result of applying this algorithm is that it gives rise to decomposition into Assur graphs, which is briefly discussed in this paper. Keyword: Mobility, topological redundancy, mixed graph, pebble game, Assur graphs 1. INTRODUCTION The mobility being the essential property of a mechanism has been a major matter of interest in mechanism theory. The approaches can be broadly classified as those that deal with the mobility of a given mechanism, with a particular geometry, and those that aim on the topological mobility of a class of mechanisms with certain topology [1]. Methods of the first class attempt explicit solution of the constraint equations or the approximation of the solution variety [12, 13, 14], possibly using tools from numerical algebraic geometry [15, 16]. Instead of considering a particular geometry, the second class approaches the problem from a structural point of view. These attempts have a long tradition and only need topological information about the existence of links and joints. The CKG formula is the best-known structural mobility criterion. It is known that they generally yield the structural mobility [6], i.e. the mobility of almost all realizations with specified joints and links. Although they are independent of any geometric data (geometric overconstraints) all such methods are prone to topological redundancy since these criteria only take into account the existence of joints and links but not their particular arrangement. The identification of topological redundancies requires graph-theoretical considerations and algorithms. Such an algorithm is presented in this paper. The basis for this algorithm is a graph representation of the constraints inherited from rigidity theory. This differs from the often used topological graph [3] in that it does not merely represent the arrangement of links and joints, but rather Offer Shai Mechanical Engineering School, Tel-Aviv University Tel-Aviv, Israel Andreas Müller Institute of Robotics JKU Johannes Kepler University, Linz, Austria
21

Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

Aug 20, 2018

Download

Documents

dangkiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

1

Combinatorial Algorithm for Determination of Topological Mobility of Floating

Planar and Spherical Linkages

ABSTRACT

Structural mobility criteria, such as the well-known Chebychev-Kutzbach-Grübler (CKG) formula, give the correct topological mobility of a linkage (possibly of a certain class, e.g. planar, spherical, spatial) provided that it is not topologically overconstrained. As a matter of fact all known structural mobility criteria are prone to topological redundancies. In this paper a combinatorial algorithm is introduced that determines the correct topological mobility of any planar and spherical mechanism. The algorithm also yields a set of independent links that can be used as input, as well as the redundantly constrained sub-linkages. A mathematical proof of the algorithm and the underlying mathematical concept is presented. The proposed method relies on an established algorithm developed within combinatorial rigidity theory, called pebble game, originally developed for checking the rigidity/immobility of constraint graphs. A novel theorem is introduced and later proved in the paper which in turn enables applying the algorithm to any holonomic planar or spherical mechanism with higher and lower kinematic pairs and multiple joints. A further important result of applying this algorithm is that it gives rise to decomposition into Assur graphs, which is briefly discussed in this paper. Keyword: Mobility, topological redundancy, mixed graph, pebble game, Assur graphs

1. INTRODUCTION

The mobility being the essential property of a mechanism has been a major matter of interest in mechanism theory. The approaches can be broadly classified as those that deal with the mobility of a given mechanism, with a particular geometry, and those that aim on the topological mobility of a class of mechanisms with certain topology [1]. Methods of the first class attempt explicit solution of the constraint equations or the approximation of the solution variety [12, 13, 14], possibly using tools from numerical algebraic geometry [15, 16]. Instead of considering a particular geometry, the second class approaches the problem from a structural point of view. These attempts have a long tradition and only need topological information about the existence of links and joints. The CKG formula is the best-known structural mobility criterion. It is known that they generally yield the structural mobility [6], i.e. the mobility of almost all realizations with specified joints and links. Although they are independent of any geometric data (geometric overconstraints) all such methods are prone to topological redundancy since these criteria only take into account the existence of joints and links but not their particular arrangement.

The identification of topological redundancies requires graph-theoretical considerations and algorithms. Such an algorithm is presented in this paper. The basis for this algorithm is a graph representation of the constraints inherited from rigidity theory. This differs from the often used topological graph [3] in that it does not merely represent the arrangement of links and joints, but rather

Offer Shai Mechanical Engineering School,

Tel-Aviv University Tel-Aviv, Israel

Andreas Müller Institute of Robotics

JKU Johannes Kepler University, Linz, Austria

Page 2: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

2

the links and the constraints they are subjected to. This is presented in section 2, where the two established types (body-bar, bar-joint), and a new type of constraint graph, that was introduced in [17], are recalled. The actual combinatorial algorithm is introduced in section 3 together with the mathematical foundation. The algorithm is proved to converge to the unique topological mobility. In order to motivate the application of this algorithm an engineering interpretation of the steps and output of the algorithm is given. The application of the method is shown in section 4 for a simple example, and further interpretations of the output are discussed. The paper concludes with a brief outline of future work in section 5.

The algorithm used in this paper, called pebble game, was proposed in 1997 [2] for checking whether a set of points subject to geometric constraints form a rigid structure. One of its main first use was in developing a software program, called FIRST (Floppy Inclusion and Rigid Substructure Topography) [18] which takes a snapshot of the protein and represent it by a body bar graph (atoms are the bodies) which provides the number of degrees of freedom associated with the protein. The software FIRST was found to be exceptionally fast, where large proteins can be analyzed in a fraction of a second on a standard processor. Pebble game was found to be useful in a variety of applications, such as in the molecule problem for determining the relative locations of a set of objects in Euclidean space [18];

The use of this algorithm was also extended to check whether a system consisting of rigid bodies is rigid or mobile as reported in [9]. The first use of pebble game in mechanical engineering was in [8], where the mechanisms were represented by bar-joint (BJ) graphs, thus this work was limited to mechanisms with binary links and joints were lower kinematic pairs only. This work was extended to decompose any mechanism in 2D and 3D to Assur Graphs [7,10], but was still limited to BJ graphs. The first paper that introduces a general methodology in which any planar mechanisms with holonomic higher and lower kinematic pairs and multiple joints can be represented upon which pebble game is applied was reported in [17,19]. At first read the reader may skip section 3 and go directly to the example in section 4.

2. THE GENERAL TOPOLOGICAL MOBILITY EQUATION OF MECHANISMS

In paper 1 we introduced the general mobility equation for arbitrary mechanisms taking into account the

topology as well as special geometric conditions. In this paper we focus on the topological mobility and

introduce a combinatorial algorithm that determines the topological mobility of the corresponding

constraint graph of the mechanism.

Let 𝑀 be a mechanism with B bodies/links, J joints, 𝑓 indicate the DOF of the individual joints, and Γ the

topology of the mechanism. The topological mobility of a of linkage with given topology Γ,

denoted δtop(Γ), is determined by the following equation

δtop(Γ) = δstr(B, J, f) + ρtop(Γ) (1)

where δstr(B, J, f)is the structural mobility, usually determined by the CKG formula, and ρtop(Γ) is the

topological correction number that accounts for the topological redundancy [17].

Page 3: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

3

The structural mobility is easily determined by known formulae, such as CKG, while the main problem is

to determine the topological correction number. In this paper we introduce a combinatorial algorithm for

determining the latter and thus the topological mobility. Since the topological graph is not unique for

multiple-joints, the algorithm does not work directly on the topological graph but on a kinematic

constraint graph representing the linkage. In [17] such a general constraint graph was introduced as

follows:

Definition (repeated from [17]): A constraint graph for a mechanism with characteristic 𝑔 is a vertex-

weighted undirected multi-graph denoted 𝐺𝑔(𝑉, 𝐸, 𝑑). A vertex 𝑣 ∈ 𝑉 represents a general kinematic

modeling element (frame, point, link and other geometric object), and an edge 𝑒 ∈ 𝐸 represents a

constraint between two vertices. 𝑑 is a weighting function that assigns to a vertex 𝑣 ∈ 𝑉 the weight

𝑑(𝑣) ≤ 𝑔.

From this can be derived the established Bar-Joint (BJ) and Body-Bar (BB), as well as the novel Mixed-

Graph (MG) [17, 19]. BB and BJ are denoted as 𝐺𝑔(𝑉𝐵, 𝐸, 𝑑) and 𝐺𝑔(𝑉𝐽, 𝐸, 𝑑) since vertices represent

bodies and joints/kinematic pairs, respectively. There a vertex 𝑣 ∈ 𝑉𝐵 represents a body, and a vertex

𝑣 ∈ 𝑉𝐽 represents a joint respectively. The novel Mixed Graph (MG) introduced in [17] is denoted with

𝐺𝑔(𝑉𝐵 ∪ 𝑉𝐽, 𝐸, 𝑑), where all vertices 𝑣 ∈ 𝑉𝐽 represent multiple-joints. In this way the graph uniquely

represents the kinematics.

In this paper planar and spherical linkages are considered, i.e. 𝑔 = 3. Therefore the subscript 𝑔 is

omitted. The weighting function 𝑑: 𝑉 → ℕ assigns the degree of independence (DOI), which is the DOF of

the object represented by vertex 𝑣 when it is unconstrained (e.g. unconstrained frame or point). The DOI

is indicated by underlined numbers. Figure 1 shows an example of a planar graph comprising lower-pair

and higher-pair joints. For this example 𝑑(𝑣) = 3, for all vertices. In the algorithm DOI is visualized with

pebbles.

The essence of the constraint graph is that it comprises all necessary information about the mechanism

for determining the topological mobility. Thus the kinematics of the mechanism 𝑀 is transformed to a

graph 𝐺 with vertices 𝑉(𝐺), corresponding to the elements of the kinematical systems, and edges 𝐸(𝐺),

corresponding to the constraints between the elements. Now the determination of the topological

mobility of the mechanism 𝑀 is reduced to the determination of the topological mobility of the

corresponding graph G:

𝛿top(𝐺) = 𝛿str(𝑉, 𝐸, 𝑑) + 𝜌top(𝐺) (2)

For later use denote with 𝑛𝑒(𝐺) = |𝐸| the number of edges and with 𝑛𝑣(𝐺) = |𝑉| the number of vertices of 𝐺.

Page 4: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

4

Figure 1 - Representing a mechanism (a) by a topological graph (b), and the BB constraint graph (c).

3 A COMBINATORIAL ALGORITHM FOR DETERMINATION OF TOPOLOGICAL MOBILITY OF PLANAR LINKAGES

In this section the pebble game is introduced as a combinatorial algorithm for the determination of the topological mobility. Throughout this paper only floating planar or spherical linkages are considered, i.e. 𝑔 = 3. Aiming on the topological mobility the method operates exclusively upon the MG constraint graph, i.e. a faithful representation of the topology, rather than assuming a specific geometry. Redundancies due to the presence of special geometries are thus excluded. The basic idea behind the pebble game is to assign a set of pebbles to each vertex, where the number is equal to the DOF of the physical object represented by that vertex when considered unconstraint, and then to 'activate' the constraints, represented by edges, by coordinated relocation of pebbles.

3.1 Combinatorial Background

One of the main problems in checking the topological mobility of a mechanical system is to identify whether there is an overdetermined sub-system, i.e ρtop(G′) > 0 for a subgraph G′. A mathematical criterion

for checking such non-existence of over-determinacy was established and proved in 1970 [4], which can be stated as follows:

1

2

3

4

A B

O1

O3 O4

C

(𝐵, 𝐽,𝑓) B={1,2,3,4}

J={O1,A,B,O3,C,O4}

f(O1)=1,f(A)=1,f(B)=1,f(O3)=1,f(C)=2,

f(O4)=1

(a)

(b) (c)

𝐺(𝑉𝐵,𝐸,𝑑) VB = {1,2,3,4,g}

E={(g,1), (1,2),(2,3)(g,e),(3,4),(g,4)}

1 2 2

3 3

4 1 4

O1

A

O1

B A B C C

O3

O3 O4 O4

3 3 3 3

3

Page 5: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

5

Laman theorem for floating planar Bar-Joint (BJ) graphs [4]: A floating planar BJ constraint graph 𝐺(𝑉𝐽, 𝐸, 𝑑) with 𝑒(𝐺) = 2𝑣(𝐺) − 3 is determined if and only if 𝑒(𝐺′) ≤ 2𝑣(𝐺′) − 3 for every subgraph 𝐺′

having 𝑣′ vertices and 𝑒′ edges.

In terms of the general mobility equation (2), Laman theorem asserts that δtop(G) = 3 and for every

subgraph G′(VJ′, E′, d), it satisfies δtop(G′) ≤ 3.

The condition 𝑒(𝐺) = 2𝑣(𝐺) − 3, together with the conditions on the subgraphs 𝐺′, ensures that the BJ graph 𝐺 is rigid. Clearly if 𝑒′ < 2𝑣′ − 3, there are not sufficient constraints to make the graph rigid. On the other hand if 𝑒(𝐺) < 2𝑣(𝐺) − 3 but the conditions on the subgraphs are satisfied, then there are no redundant constraints, i.e., ρtop(G) = 0. Moreover the subgraph conditions imply that 𝑒(𝐺) ≤ 2𝑣(𝐺) − 3,

and the constraint graph corresponds to a mobile linkage whose mobility is given by the following corollary.

Corollary: Let 𝐺 = (𝑉𝐽, 𝐸, 𝑑) be a floating planar BJ constraint graph with 𝑒 edges and 𝑣 vertices. The

constraint graph is non-redundant if and only if 𝑒(𝐺′) ≤ 2𝑣(𝐺′) − 3 for any subgraph 𝐺′. If this condition is satisfied, the linkage has topological mobility 𝛿top(𝐺) = 2𝑣(𝐺) − 𝑒(𝐺) ≥ 3.

For example, the graph in Figure 2.b is not a determined floating graph since the number of edges in the sub-graph spanned by the vertices 𝑉’ = {𝐴, 𝐵, 𝐷, 𝐸} is 6 and is greater than 2 ∗ 4 − 3 = 5. The graph in Figure 2.a satisfies the Laman theorem, thus it is a floating determined graph. Note, the CKG formula determines the same DOF for both graphs in Figure 2 since it cannot distinguish overdetermined from uniquely determined graphs.

Figure 2 Floating graph that satisfies (a) and does not satisfy (b) Laman theorem.

In 1991 a theorem for identifying determined floating body-bar graphs was reported [11] to which we refer in the paper as the Laman theorem for BB. In that paper Tay proved the theorem for any dimension.

Planar Body-Bar (BB) Laman theorem [11]: A floating planar body-bar constraint graph 𝐺(𝑉𝐵, 𝐸, 𝑑) with 𝑒(𝐺) = 2𝑣(𝐺) − 3 is determined if and only if 𝑒(𝐺′) ≤ 3𝑣(𝐺′) − 3 for every subgraph 𝐺′.

As for the BJ graph this gives rise to the following:

F

A B C

D

E (b)

F

A B C

D

E

(a)

δstr=3

ρtop =0

δtop=3

δstr=3

ρtop =1

δtop=4

Page 6: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

6

Corollary: A floating planar BB constraint graph 𝐺 = (𝑉𝐵, 𝐸, 𝑑) is non-redundant if and only if 𝑒(𝐺′) ≤ 3𝑣(𝐺′) − 3 for any subgraph 𝐺′. If this condition is satisfied, the linkage has topological mobility 𝛿top(𝐺) = 3𝑣(𝐺) − 𝑒(𝐺) ≥ 3.

For example, the graph in Figure 3.b is not a determined BB graph since the number of edges in the sub-graph spanned by the vertices 𝑉’ = {1,2,3,4} is 10 and is greater than 3 ∗ 4 − 3 = 9. The graph in Figure 3.a satisfies the BB Laman theorem, thus it is a determined BB graph.

Figure 3. BB graphs that satisfy (a) and do not satisfy (b) the BB Laman theorem.

To overcome the non-uniqueness problems of BJ and BB graphs, in [17] a Mixed Graph (MG) was introduced. For this MG we have the following statement.

Planar Mixed Graph (MG) Laman theorem - A floating planar MG 𝐺(𝑉𝐵 ∪ 𝑉𝐽, 𝐸, 𝑑) with 𝑒(𝐺) =

3𝑣𝐵(𝐺) + 2𝑣𝐽(𝐺) − 3 is determinate if and only if 𝑒(𝐺′) ≤ 3𝑣𝐵(𝐺′) + 2𝑣𝐽(𝐺′) − 3 for every subgraph 𝐺′ of

𝐺, where 𝑣𝐵(𝐺) = |𝑉𝐵| and 𝑣𝐽(𝐺) = |𝑉𝐽| are the number of vertices corresponding to bodies and joints,

respectively.

Corollary: A floating planar MG 𝐺(𝑉𝐵 ∪ 𝑉𝐽, 𝐸, 𝑑) is non-redundant, if and only if 𝑒(𝐺′) ≤ 3𝑣𝐵(𝐺′) +

2𝑣𝐽(𝐺′) − 3, for every subgraph 𝐺′. If this condition is satisfied, the linkage has topological mobility

𝛿top(𝐺) = 3𝑣𝐵(𝐺) + 2𝑣𝐽(𝐺) − 𝑒(𝐺) ≥ 3.

For example, the floating system in Figure 4.a is not determined since the corresponding MG graph in

Figure 4.b does not satisfy the MG Laman theorem. To prove this, let us choose the sub-graph spanned by

the vertices: V’ = {B1, B2, B3, J1} having 9 edges which is greater than 3 ⋅ 3 + 2 ⋅ 1 – 3 = 8, thus joint-body Laman theorem is not satisfied.

1

2

3 4

5

1

2

3 4

5

(a) (b)

Page 7: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

7

Figure 4. A linkage (a) whose MG constraint graph (b) does not satisfy the MG Laman theorem.

3.2 A combinatorial Algorithm: The Pebble Game for general Constraint Graphs

The pebble game [2] is a very efficient algorithm to check whether a graph satisfies the Laman theorem and thus to check whether there exists a sub-graph that is overdetermined. In the terminology of graph theory it checks whether there exists an overconstrained subgraph 𝐺′ = (𝑉′, 𝐸′), i.e. 𝑒(𝐺′) >3𝑣𝐵(𝐺′) + 2𝑣𝐽(𝐺

′) − 3, for a general MG graph, 𝑒(𝐺′) > 3𝑣(𝐺′) − 3, for a BB graph, and 𝑒(𝐺′) > 2𝑣(𝐺′) −

3, for a BJ graph. A naive algorithm requires checking all the possible subgraphs and therefore its complexity grows exponentially in the number of vertices. The Pebble Game algorithm can perform this check with polynomial, and even linear complexity for some examples. It has been introduced for BJ [2] and BB graphs [5]. In the following a version for the MG graph is presented, and proved in section 3.5. The basic concept of pebble game is as follows:

To a vertex 𝑣𝑖 of the constraint graph of a linkage are assigned 𝑑(𝑣𝑖) ‘pebbles’. This number of pebbles,

initially assigned to 𝑣𝑖 , is the unconstrained DOFs of the modeling element it represents. In course of the algorithm the number of pebbles is reduced, and the remaining number after the pebble game terminates is equal to the topological mobility of the floating linkage. In the following, the general MG constraint graph is used in order to ensure correctness of the results. Then for a planar (and projectively equivalent spherical) linkage 𝑑(𝑣𝑖) = 3 if 𝑣𝑖 ∈ 𝑉𝐵, and 𝑑(𝑣𝑖) = 2 if 𝑣𝑖 ∈ 𝑉𝐽 [17]. Such an assignment of pebbles is a

concept in graph theory referred to as a ‘pebbling’ of a graph. Each edge of 𝐺 represents exactly one constraint. Initially all constraints are inactive, i.e. all vertices

(i.e. modeling elements) are unconstrained. An inactive constraint is represented by an undirected edge (constraint graph 𝐺 is initially undirected). During the pebble game the constraints are successively activated by directing the edges. This indicates that the DOFs of one vertex are dependent on the DOFs of other vertices. In the algorithm this is achieved by moving a pebble from one of its end-vertices. The pebble game algorithm is summarized as follows:

Input to the Pebble Game algorithm: The algorithm starts from the MG, i.e. an undirected graph as described in section 2. Each vertex

represents a kinematic object (body, joint location) that (when unconstrained) has 𝑑 DOFs.

The Pebble Game algorithm: The pebble game converts a given (undirected) constraint graph into a directed graph where the

direction assignments are determined by the directions in which pebbles are moved in course of the algorithm. An undirected edge is termed an admissible edge if the total of free pebbles assigned to its end vertices is at least 𝑔 + 1, where 𝑔 is the characteristic of the mechanism and is equal to the DOF of the unconstrained bodies. Thus for planar/spherical linkages there should be at least four pebbles at an

B1

B2 J1

B1

B2

B3

J1

J2

J3

(a) (b)

B3

J3

J2

Page 8: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

8

admissible edge. Only admissible edges can be directed and can thus become active constraints. The pebble game can be summarized by three main tasks as follows:

1. INITIALIZATION: Assign 𝑑(𝑣) pebbles to each vertex of the undirected graph, thus all edges are admissible. This is equivalent to regarding all kinematic objects, corresponding to the vertices, as unconstrained, i.e. having 𝑑(𝑣) DOFs.

2. WHILE there exist admissible edges DO the following Orientation Move (Vertex - Edge move): Let (𝑢, 𝑣) be an admissible edge, i.e., the total sum of pebbles of the two end vertices is at least four. Move one pebble from one of its end vertices, let it be vertex 𝑢, to the edge causing it to be a directed edge ⟨𝑢, 𝑣⟩, i.e., u becomes the tail and 𝑣 the head vertex of ⟨𝑢, 𝑣⟩.

END WHILE

After this loop there are no admissible edges left. The Orientation Move corresponds to activating a constraint represented by removing a pebble from the tail vertex. The direction of the edge introduces a causality in the sense that one DOF of the tail vertex 𝑢 is assumed to be dependent on one DOF of the head vertex 𝑣. Note that this is an abstract assignment, i.e. it is not said that a particular DOF of 𝑢 is made dependent on a particular DOF of 𝑣.

3. FOR all undirected edges DO the following Reorientation Move (Vertex - Vertex Move): Choose an undirected edge (𝑢, 𝑣) and make it admissible by bringing free pebbles to its end vertices by applying the following steps (peb(𝑣) denotes the number of pebbles at vertex 𝑣):

Suppose peb(𝑣) < 2, if v ∈ 𝑉𝐽, or peb(𝑣) < 3, if 𝑣 ∈ 𝑉𝐵. Then search for a vertex, say 𝑧, with free

pebbles, i.e., peb(𝑣) > 0, for which there is a directed path from 𝑣 to 𝑧. Therefore this move consists of redirecting all edges of the path from 𝑣 to 𝑧. Then, move one pebble from vertex 𝑧 to 𝑣 by reversing/swapping the direction of all the edges in the directed path, and assign peb(𝑧) ≔ peb(𝑧) −1 and peb(𝑣) ≔ peb(𝑣) + 1.

If an undirected edge cannot be made admissible, mark it as a redundant edge it remains undirected till the algorithm terminates.

This move can be interpreted as redefining the previously introduced causality of constraints along the path v to z.

END FOR

Output of the Pebble Game algorithm:

The algorithm ends when all the edges that can be made admissible are directed. The edges that are left undirected are those for which it is impossible to move 4 pebbles to their end vertices indicating the existence of redundant constraints. The number of free pebbles at the vertices is the topological DOF of the floating system, i.e. the internal mobility of the system plus 𝑔.

Example: In Figure 5a detailed explanation of the iterations performed by the pebble game for checking whether the BJ graph in Figure 5.a is well-determined. Initially, two pebbles are placed next to each vertex as shown in Figure 5.a thus all the edges are admissible. Without loss of generality, let us start with edge (𝐴, 𝐵). Since the sum of the pebbles on its two end vertices is equal to four, i.e., it is an admissible edge so that the orientation move can be applied. Let us choose to move a pebble from 𝐴, thus edge (𝐴, 𝐵) is now directed from 𝐴 to 𝐵, i.e., ⟨𝐴, 𝐵⟩ as shown in Figure 5.b. Now we search for another admissible edge, found

Page 9: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

9

to be (𝐵, 𝐶), consequently orientation move can be applied causing edge (𝐵, 𝐶) to be directed as shown in Figure 5.c. At this state, there are no admissible edges left and there is an undirected edge. Thus the reorientation move should be applied. At this stage, the only edge that is undirected is edge (𝐴, 𝐶) and peb(𝐴) = 1 < 2. Tthus we search for a directed path from A to a vertex with free pebbles. In this case vertex 𝐵 is found, and the path is {𝐴, 𝐵}, as shown in Figure 5c. Consequently, a pebble is moved from vertex 𝐵 to 𝐴, so that peb(𝐵) = 1 − 1 = 0 and peb(𝐴) = 1 + 1 = 2, and the direction of ⟨𝐴, 𝐵⟩ is reversed to ⟨𝐵, 𝐴⟩. Now two pebbles are placed at vertex 𝐴, as shown in Figure 5.d. Edge (𝐴, 𝐶) is now admissible thus the orientation move can be applied to edge (𝐴, 𝐶) causing it to be directed as shown in Figure 5.e. When the algorithm terminates, shown in Figure 5.e, the following could be concluded: Since all the edges are directed it indicates that there is no redundancy. From the fact that three free pebbles are left at some vertices it can be concluded that the graph is well-determined floating planar structure with 3 DOFs.

Figure 5. Example of tracing the operation of pebble game.

3.3 Engineering Interpretation of the Algorithm and its Output

Orientation Move: moving a pebble from a vertex to an edge

Initially all edges of 𝐺 are undirected and all vertices have an initial number of pebbles corresponding to the DOF of the associated kinematic modeling element thus all the edges are admissible. Undirected edges represent inactive constraints. With the orientation move we activate a constraint by defining the direction of its representing edge. By assigning this direction we introduce an algorithmic causality between two elements corresponding to the two end vertices ‘t’ and ‘h’ of the directed edge 𝑒 =< 𝑡, ℎ >. A static explanation is that the direction indicates that the tail element imposes a constraint force on the head element. The kinematically dual explanation is that the head element imposes a constrained motion on the tail element. For that reason we can relate to the number of pebbles as the degree of independence (DOI) which is the DOF of the object represented by the vertex. In mechanisms the directed edge indicates that one DOF (embodied by one pebble) of the tail vertex is now considered dependent on one DOF of the head vertex. That is, the motion of one DOF of the tail vertex is determined by one DOF of the head vertex.

A

B C

A

B C

A

B C

A

B C

A

B C

(a) (b) (c)

(d) (e)

Page 10: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

10

Once an edge was directed it remains so throughout the algorithm, meaning that one DOF of the tail vertex determines one DOF of the head vertex. However, the direction of an edge can be changed, meaning that the dependence of the two elements is reversed.

Figure 6 clarifies this idea. Suppose we have two bodies connected by a higher kinematic pair as

shown in Figure 6a, and denote with 𝐕𝑖 the planar velocity vector of body 𝑖. The higher kinematic pair imposes

the constraint that the normal velocities of both bodies are equal, i.e. 𝐧 ⋅ 𝐕1 = 𝐧 ⋅ 𝐕2. The two bodies are presented by two vertices each having three pebbles standing for the 3 DOFs (three independent motion parameters) of a body and one edge between them corresponding to the higher kinematic pair as shown in Figure 6.b. Initially edge (1,2) is not directed meaning that the constraint has not been activated yet and each of the two bodies has 3 DOF thus it is an admissible edge. Moving a pebble from vertex 1 (body 1) to the edge makes it directed from 1 to 2, as shown in Figure 6.c, which means that the constraint is activated. The interpretation of the orientation in Figure 6.c is that the motion of body 1 orthogonal to the curve is prescribed by that of body 2. Hence, from an algorithmic point of view, the constraint is resolved by expressing the normal velocity of body 1 in terms of that of body 2. This is an important aspect to be noticed, and it should be clear that once the pebble game is completed it eventually yields a solution flow of the kinematics since the remaining DOFs (indicated by the free pebbles) determine the motion of the mechanism.

If for an edge there is a sufficient number of pebbles on its end vertices, i.e., it is an admissible edge, the definition of a direction (dependence) is arbitrary. Once the edge is directed, its direction can be reversed by changing the vertex from which the pebble is consumed. In Figure 6.d the pebble on the edge is now consumed from vertex 2 meaning that one of the parameters of body 2 is imposed by the motion of body 1.

Figure 6. The meaning of the edge directions within the pebble game.

Reorientation move: Moving a pebble from one vertex to another vertex to make edges admissible

Directing an edge introduces a causal dependence of the DOFs of the respective two end vertices of the edge. Since the direction is not unique the orientation move applied to the individual edges may not give rise to a causal dependence of the DOFs of distal vertices within the graph. That is the orientation moves may not lead to solution flow in the sense that the DOFs of some vertices are made dependent on the DOFs of some other vertices. To this end the introduced orientations must be changed, which is achieved by the reorientation move.

n

1 2 1 2 1 2

Constraint not active Body 2 imposes one DOF

on Body1.

(a) (b) (c) (d)

Body 1 imposes one DOF on

Body 2.

Page 11: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

11

The condition to orient an edge is that the edge is admissible, i.e., in 2D the total number of pebbles at the two end-vertices of the edge must be at least four. In case that there are less than four pebbles, it may still be possible to collect additional pebbles. This requires rearranging the pebbles that are already assigned to some vertices, achieved by the following move:

Let 𝑒 = (𝑥, 𝑦) be a constraint edge and 𝑥 and 𝑦 its two end vertices, and suppose that peb(𝑥) +peb(𝑦) < 4, i.e. the edge is inadmissible. Assume that peb(𝑥) < 2, if 𝑥 ∈ 𝑉𝐽 graph, or peb(𝑥) < 3, if 𝑥 ∈ 𝑉𝐵.

Since the number of free pebbles at vertex ‘𝑥’ is less than its DOF, we search for a directed path from vertex ‘𝑥’ to the first vertex, let us term it ‘𝑧’, whose peb(𝑧) > 0. To move a pebble from 𝑧 to 𝑥 the directed path from 𝑥 to 𝑧 is reversed, so that peb(𝑧):= peb(𝑧) − 1, and the pebble is moved along the path until it reaches 𝑥, where peb(𝑥):= peb(𝑥) + 1.

In Figure 7 we give an example of applying this type of move on the graph. The sum of the pebbles at 𝑥 and 𝑦 is three, i.e. less than four, consequently an inadmissible edge, thus one pebble should be moved to vertex 𝑥. As can be seen in Figure 7a a directed path from vertex 𝑥 to vertex 𝑧 with one pebble was found and is designated by a dashed line. This path is now reversed and the pebble is moved from vertex 𝑧 to 𝑥 enabling now to direct edge (𝑥, 𝑦).

The output of the Pebble Game algorithm:

1. The total number of free pebbles indicates the topological mobility of the floating mechanism as a whole. 2. If all the edges are directed it indicates that the given mechanism does not possess redundant

constraints, i.e 𝜌top(𝐺) = 0. If there are undirected edges the mechanism is topologically

overconstrained. 3. The remaining pebbles indicate (topologically) independent DOFs. The number of free pebbles that can

be moved to a vertex (physical object) indicates that this object (link, point) can be moved independently, with a mobility equal to the number of pebbles assigned to it. The overall motion of the mechanism is thus uniquely determined by the motion of those vertices that have free pebbles left. How the motion of these vertices affects the overal motion of the mechanism is indicated by the following results.

4. The vertices where free pebbles are left are not unique in general. If a particular set of inputs (with number equal to the overall DOF) is specified for a given mechanism it should be possible to locate the free pebbles at these input links. If this is not possible the mechanism can generically not be actuated

x y

z

x y

z (a) (b)

Figure 7. Example of applying the reorientation move to move a free pebble from one vertex to another vertex.

a) The directed path from 𝐱 to 𝐳. b) The graph after reversing the directed path from 𝐱 to 𝐳 and moving the

pebble from 𝐳 to 𝐱.

Page 12: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

12

by the selected inputs (drivers). The pebble game thus provides a check whether or not a selected set of input links are feasible.

5. After locating the remaining free pebbles next to the dedicated input links/drivers, the directed cutsets indicate the decomposition into Assur Graphs [8]. That is, the motion of all objects, i.e. vertices, is found by successively traversing through the oriented graph starting from the vertices with free pebbles.

3.4 Identification of over-constrained regions

Let 𝐺𝑔 = (𝑉, 𝐸, 𝑑) be the constraint graph of a mechanism and 𝐺𝑔⃗⃗⃗⃗ = (𝑉, �⃗� ′, 𝑑) the directed graph obtained

by applying the pebble game. If |E|=|E⃗⃗ ′|, then the graph is well-constrained, but if |E|>|E⃗⃗ ′|, then there is at least one undirected edge, i.e a redundant edge. Let us designate this edge by 𝑒 = (𝑥, 𝑦) where x and y are its end vertices. In this section it is shown how to find the over-constrained region defined by this edge. According to lemma 3 it is possible to bring to this edge 𝑒 three pebbles, and w.l.o.g let y be a vertex with only one pebble (if at both vertices there were two pebbles the edge would become admissible and could be directed, in contradiction to the assumption). At vertex y there is one free pebble thus there is one outgoing edge. Let reach(𝑦) be the set of all the vertices for which there is a directed path from y. If reach(𝑦) ≠ 𝑉(𝐺) then there should be a directed cut-set such that all the edges are directed to the sub-graph that includes the vertices reach(y) as shown in Figure 8. The over-constrained region defined by edge (𝑥, 𝑦) is 𝐺’ = (𝑉’, 𝐸’) where 𝑉’ = reach(𝑦) and 𝐸’ are all the edges whose two end vertices are in 𝑉’. That is, the over-constrained region is separated by the cut set. There might be several overconstrained regions, i.e. each undirected edge defines a different directed cut-set. Figure 8. Schematic description of the over-constrained region defined by the redundant edge e=(x,y). 3.5 Proof of the Algorithm The pebble game is a combinatorial algorithm that iteratively produces a solution flow (a directed dependency graph) for a system of constraints. In general, there is no unique solution, and any solution graph is admissible as long as it is causal, i.e. does not comprise over-determined subgraphs. The latter is ensured by the algorithm as it will be shown in this section. It will be proved that once an admissible

x y e

Page 13: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

13

edge is being directed it cannot produce an over-determined sub-graph with other directed edges. This is expressed by the following theorem:

Theorem 1: At any time all the sub-sets of edges that are oriented by the algorithm do not belong to an over-determined sub-graph.

Proof: The theorem is proved for the general MG graph, and for the BJ and BB as special cases, by showing that all the oriented sub-graphs 𝐺’ = (𝑉’, 𝐸’) satisfy the generalized Laman theorem, i.e.

𝑒(𝐺’) ≤ 3 ∗ 𝑣’𝐵 (𝐺’) + 2 ∗ 𝑣’𝐽 (𝐺’) − 3 (3)

where 𝑒(𝐺’) is the number of edges in 𝐺’ and 𝑣𝐵(𝐺’) and 𝑣𝐽 (𝐺’) are the number of vertices in 𝐺’ that stand

for bodies and points, respectively. To prove (3) let us choose an arbitrary set of vertices, 𝑉’, and examine the distribution of the pebbles that were assigned to the vertices in 𝑉’. It is readily verified that the pebbles can only be in one of the following three classes: remain at the vertices, i.e. not yet used to orient edges; used to orient edges whose both two end vertices, tails and heads, belong to the set 𝑉’; used to orient edges whose only tail vertices belong to the set 𝑉’. Note, those edges of which only the head vertices are in 𝑉’ are not counted since the pebbles used to orient these edges were consumed from vertices outside V’. The latter claim can be formulated as follows:

peb(𝑉’) + 𝑒(𝐺’) + out(𝑉’) = 3𝑣’𝐵(𝐺’) + 2𝑣’𝐽(𝐺′) (4)

where peb(𝑉’) is the number of free pebbles on the vertices 𝑉’; 𝑒(𝐺’) number of oriented edges whose both end vertices are in 𝑉’; out(𝑉’) number of directed edges going out of 𝑉’, i.e. whose head vertices do not belong to 𝑉’; 3𝑣𝐵(𝐺’) + 2𝑣𝐽(𝐺’) is the sum of pebbles that were initially assigned to the graph 𝐺′

before the pebble game is applied. We now prove that for any set of vertices 𝑉’ with more than two vertices the sum of the first and third terms in (4) is greater than 3, i.e.,

peb(𝑉’) + out(𝑉’) ≥ 3 for |𝑉’| ≥ 2 (5)

It will be shown that this inequality remains satisfied from the initial state and that applying any move on edges incident with 𝑉’ does not violate this inequality. At the initial state (by definition of the input to the pebble game) peb(𝑉’) = 3𝑣𝐵(𝐺’) + 2𝑣𝐽(𝐺’) ≥ 3 since

for any sub-graph with at least two vertices there are at least 4 or 6 free pebbles in planar BJ, BJ and MG, respectively. For the sake of clarity we distinguish in the proof between two types of edges: inner edge- whose two end vertices are in 𝑉’; outward edge – whose one end vertex is in 𝑉’ and the other in the complement 𝑉\𝑉’. Now we examine all possible cases of applying the two moves to the inner and outward edges.

Case 1: Orientation move on an inner edge – for orienting an edge the edge should be admissible, i.e. there should be at least four pebbles at its two end vertices in all BJ, BB and MG. Consequently, after the orientation there are at least three pebbles in 𝑉′ in all the three types of graphs, thus the inequality (5) is valid, as shown in Figure 9.a.

Case 2: Orientation move on an outward edge directing it away from and towards V’ – in case the outward edge is being oriented out of V’ one pebble is consumed, so that peb(𝑉’) decreases by 1 but out(𝑉’) is increased by 1, as shown in Figure 9.b. In case the edge is orientated towards 𝑉’ then there is no change of peb(𝑉’) since no pebble is consumed or added, and no change in the number of outgoing edges, as shown in Figure 9.c.

Page 14: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

14

Case 3: Reorientation move on an inner edge – the sum of the free pebbles at the outward edges on the two end vertices of the inner edge remain the same, as shown in Figure 9.d.

Case 4: Reorientation move on an outward edge – in case an outgoing edge is reoriented toward 𝑉′, one pebble is brought from the outside to the inside of 𝑉′ and the number of outgoing edges is decreased by 1, as shown in Figure 9.e. In the case that an edge going toward 𝑉′ is reoriented outward, 1 free pebble is moved from the inside to the outside, so peb(𝑉’) is decreased by 1, while the number of outgoing edges in 𝑉′ is increased by 1.

Figure 9. Schematic description of all the cases applying the two moves on an edge and how it relates to equation 3. Now (4) can be written as

𝑒(𝐺’) = 3𝑣𝐵 (𝐺’) + 2𝑣𝐽 (𝐺’) – (peb(𝑉’) + out(𝑉’)) (6)

Since we proved above that the sum of the last two terms is always greater or equal to 3 we proved that equation (5) remains valid when the pebble game is applied. ENDPROOF

The above theorem asserts that the pebble game does not introduce redundant sub-graphs. It is left to prove that the algorithm converges to the correct topological mobility. Theorem 2: Let 𝐺 be the constraint graph of the mechanism. The topological mobility of 𝐺 is determined as

𝛿𝑡𝑜𝑝 = 𝐾 − 𝑒(𝐺 )

where 𝐺 is the directed subgraph, after the maximal number of edges are directed by the pebble game, and 𝐾 = 3𝑣𝐵(𝐺) + 2𝑣𝐽(𝐺) is the number of pebbles initially assigned to the constraint graph 𝐺. That is,

after the pebble game terminates, the mobility is determined by the number of oriented edges in 𝐺 (representing non-redundant constraints).

V’ V’ V’

x

y

peb(x)+peb(y) ≥4 No change

(a) (c)

V’

x

y

No change (d)

peb(V’) peb(V’)-1

out(V’) out(V’)+1

(b)

V’

(e)

V’

(f)

peb(V’) peb(V’)-1

out(V’) out(V’)+1

peb(V’) peb(V’)-1

out(V’) out(V’)+1

Page 15: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

15

The idea underlying theorem 2 is that the algorithm starts with 𝐾 DOFs, i.e., the DOF of the system of unconstrained objects. Each edge corresponds to a constraint possibly reducing the overall DOF by one. Theorem 1 asserts that if an edge is oriented (i.e. the constraint is activated) it does not introduce redundancy. It is thus ensured that orienting an edge in fact reduces the DOF by one. We will prove that when pebble game ends, it finds the maximum set of active constraints independently of which edge is oriented first and if there is a non-oriented edge, it is proved that it is a redundant constraint.

Lemma 3: At any step of the algorithm, there are at least 3 free pebbles that can be moved to any edge.

Proof: Let G⃗⃗ be the directed graph at a certain step of the pebble game, and let e = (x, y) be an arbitrary edge with end vertices x and y. Let reach(w) be the set of all vertices that are reachable from vertex w in

G⃗⃗ , i.e. there exists a directed path from w to them. Let V’ be the set of vertices reachable from the end vertices of edge ‘e’, i.e. V′ = reach(x) ∪ reach(y) and out(V′) = 0. According to equation (5) it follows that: peb(V′) + 0 ≥ 3, meaning, there are at least three pebbles in V′ that, if not located at x and y, can be moved to this edge by applying reorientation moves. ENDPROOF

In the proof of lemma 3 it was not mentioned whether edge (𝑥, 𝑦) is directed or not. In case it is undirected and we cannot bring a fourth pebble to it, the edge is inadmissible, and it can be concluded that the sub-graph induced by the set 𝑉′ is well-determined and the edge (𝑥, 𝑦) is redundant, i.e.

ρtop (�⃗⃗� ) > 0. Thus, if the algorithm does not succeed to direct an edge, the subgraph is proved to be redundant.

This proves theorem 2.

Since each orientation move, i.e. activation of a non-redundant constraint, reduces the number of free pebbles by one, theorem 2 implies that the number of remaining free pebbles, after the maximal number of edges has been oriented by the pebble game, is equal to the topological mobility of the graph. This gives rise to the following statement.

Corollary 5: The pebble game returns a set of free pebbles whose number is equal to the unique topological mobility of the linkage. All objects corresponding to the vertices with free pebbles can be independently moved with a DOF equal to the number of free pebbles assigned to them, and all objects corresponding to the other vertices move according to the causality implied by the directed edges. The

algorithm yields a (possibly non-connected) directed subgraph 𝐺 , which represents a feasible set of non-redundant constraints, and a (possibly non-connected) non-directed subgraph, which represents the corresponding redundant constraints. The final result for the topological mobility does not depend on the edge where the algorithm starts.

Remark: It is known [2] that the complexity of the pebble game is of second-order in the number of vertices, 𝑂(|𝑉|)2 and the required memory also grows quadratically, i.e. with 𝑂(|𝑉|)2.

3. EXAMPLES FOR APPLICATION OF THE PEBBLE GAME

In this section we give two examples of using pebble game. The first shows the importance of having a correct graph representing the mechanism, otherwise pebble game ends with a wrong answer. Since it was proved in section 3.4 that the pebble game finds the correct topological mobility the correctness of

Page 16: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

16

the result depends on the correctness of the constraint graph. In this section we focus on what can be concluded from the outcome of the pebble game, i.e., the directed graph. Consider the mechanism with multiple joints in Figure 10.a, which has 1 internal DOF and overall 4 DOF as a floating system. Figure 10.b shows the BB constraint graph for one possible assignment of relative joint angles. For this constraint graph the pebble game succeeds to orient all the edges (Figure 10.c), which implies that the BB constraint graph is non-redundant. There are three pebbles left at vertex 0 (Figure 10.c), meaning that the BB constraint graph represents a floating rigid structure (3 DOF, no internal mobility) which is a wrong conclusion.

Figure 10 – A floating mechanism with a given assignment of relative joint angles (a), the corresponding body bar graph and the outcome of pebble game that succeeds to orient all the edges (c).

The body-bar graph in Figure 11.b corresponds to a different assignment of relative joint angles of the mechanism, as shown in Figure 11.a. For this BB constraint graph the pebble game reveals that it is impossible to move the free pebble (the blue pebble at vertex 0) to vertex 6 since there is no directed path from vertex 6 to vertex 0, designated by P<6,0>,due to the existence of the directed cut-set, indicated by a red dashed line. It is concluded there is a redundancy since the red edge (2,6) cannot be made admissible, and thus cannot be directed. It is also possible to conclude the overconstrained region defined by an inadmissible edge as follows: Let 𝑥 be an edge that cannot be made admissible, i.e. it is impossible to bring 𝑔 + 1 pebbles next to its end vertices and let 𝑂𝑉(𝑥) the overconstrained region comprising 𝑥. A directed edge belongs to 𝑂𝑉(𝑥) if the pebble used to direct that edge is returned to the tail vertex and once moved to one of the end vertices of edge 𝑥 causing it to be admissible. In case 𝑥 = (2,6) (the red edge) it is easy to conclude that 𝑂𝑉(2,6) = {1,5,3,6,2,4}. For example, suppose edge <4,5> becomes undirected, thus a pebble is returned back from the edge < 4,5 > to the tail vertex 4. Since there is a directed path from 6 to 4: < 6,1,5,4 > this free pebble can be moved to vertex 6 by reversing the direction of the directed-path: 𝑃 < 6,4 >. Once the free pebble is at vertex 6, edge (6,2) becomes admissible and can be directed hence edge (4,5) is included in the 𝑂𝑉(2,6).

1

2 4

6 5

3

7 8

1 2

1 2

0

(a) (b) (c)

Page 17: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

17

Figure 11. – A floating mechanism given in Figure 10.a this time with a different assignment of relative

joint angles (a), hence resulting in a different body bar graph (b) and pebble game reveals the existence of a redundancy since not all the edges can be directed (c).

In the second example we follow the steps of the pebble game when applied to a MG constraint graph and examine the conclusions that can be made about the mobility of the corresponding mechanism according to the outcome of pebble game.

Figure 12. The joint-body mechanism (a) and its joint-body constrained graph (b)

upon which pebble game is applied in this section.

The mechanism in Figure 12.a has three bodies: {B1,B2,B3} and 11 joints of which J1 is a multiple joint. Let the joints {J1,J2, J3} be represented in MG graph. Three pebbles are assigned to the vertices representing bodies and two pebbles representing joints, as shown in Figure 12.b.

1

2 4

6 5

3

7 8

1

2 6

4

3 7

8

0

5

Directed cut-set

1

2 6

4

3 7

8

0

5

0

(a) (b) (c)

B1

B2

J1

(a) (b)

B3

J3

J2

B1

B2

B3

J1

J2

J3

Page 18: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

18

Figure 13. Example of applying MG Pebble game to a MG constraint graph.

The orientation move (section 3.3) is first applied and all the admissible edges are directed. For example, the two edges (𝐵1, 𝐵3) and (𝐵1, 𝐽1) are admissible, thus can be oriented, since there are 6 and 5 pebbles respectively next to the two end vertices. Figure 13.b shows all edges that could be directed by applying the orientation move. Since there are no more admissible edges, the reorientation move is being applied next. For example, in Figure 13.c edge (J2,B1) becomes admissible by moving one pebble from vertex B3 and one from B2 thus it can be oriented as shown in Figure 13.d.

Applying reorientation move on edge ⟨𝐵2, 𝐽3⟩ brings a free pebble to vertex 𝐵2 thus edge ⟨𝐵2, 𝐵1⟩ is now directed as shown in Figure 13.e.

Now we are left with four free pebbles and one edge, (𝐽1, 𝐵3) undirected. According to Lemma 3, it is possible to move 3 pebbles next to the two end vertices of any edge. Here we move them to vertex 𝐵3 which is the end vertex of edge (𝐽1, 𝐵3)as shown in Figure 13.f.

In Figure 13.f there are no edges that can be made admissible by applying the reorientation move and the algorithm terminates. The output of the algorithm allows for the following interpretations:

Result 1: The most obvious result is the topological mobility of the associated linkage (corollary 5). Since the algorithm terminates with 4 free pebbles the topological mobility of the floating linkage is 4.

Result 2: Besides the topological mobility the particular location of the pebbles indicates which links can be moved independently, hence can be used as control inputs. As we deal with floating planar linkages there are always three DOFs that correspond to the relocation of the linkage as a whole. In this example there are 4 free pebbles. Each of the pebbles represents one DOF that can be independently controlled.

B1

B2

B3

J1

J2

J3

B1

B2

B3

J1

J2

J3

B1

B2

B3

J1

J2

J3

B1

B2

B3

J1

J2

J3

B1

B2

B3

J1

J2

J3

B1

B2

B3

J1

J2

J3

(a) (b) (c)

(d)

(e) (f)

Page 19: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

19

The specific allocation of pebbles in figure 13.f allows for an apparent interpretation: the 3 DOF of 𝐵3 describe the location and orientation of the linkage in the plane, and the one pebble at 𝐽2 is a translation DOF of the location point of 𝐽2 that controls the internal shape. Notice that

1. The pebble at 𝐽2 is not the joint angle but one component of the location vector.

2. There is no specific assignment of coordinates to the DOFs so that ANY generalized coordinate can be used to represent the DOF of 𝐽2. The pebble game algorithm operates on an abstract level and does not need specific selection of coordinates.

3. The particular allocation of pebbles is not unique and can be controlled in course of the algorithm. Also the algorithm's result can be changed by application of the reorientation move (which does not change the number of free pebbles). For instance, in figure 13.f a free pebble is assigned to vertex 𝐽2. With a reorientation of ⟨𝐽2, 𝐽3⟩, as shown in figure 14, this pebble can be moved to 𝐽3. Now the one independent DOF is assigned to 𝐽3.

Figure 14. The free pebbles indicating that (a) joint 𝐽2 and (b) 𝐽3 have independent DOF.

Result 3: The algorithm further yields information about redundant constraints. An edge is redundant if it is inadmissible, i.e. it is possible to bring three pebbles at its end vertices (lemma 3) and no vertex that belongs to the reachability of its two end vertices has a free pebble. For this example it is in particular reach(𝐽1) ∪ reach(𝐵3) = {𝐵1, 𝐵2)}, and there are no free pebbles on the latter two vertices, as shown in figure 15.a. Hence the edge/constraint (𝐽1, 𝐵3) is redundant. Moreover the result allows for identification of over-determined regions. These are defined by the reachable vertices of the redundant edge including the end vertices of the redundant edge. In this case this is {𝐵1, 𝐽1, 𝐵3, 𝐵2} and the edges between them. These edges are colored with red in Figure 15.b. Indeed it is obvious already from figure 12 that the red sublinkage is rigid.

B1

B2

B3

J1

J2

J3

(a)

B1

B2

B3

J1

J2

J3

(b)

B1

B2

B3

J1

J2

J3

B1

B2

B3

J1

J2

J3

(a) (b)

Page 20: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

20

Figure 15. An example of an over-determined region. a) The reachability of the end vertices of the redundant edge (𝐽1, 𝐵3). b) The over-determined region, colored in red, defined by the redundant edge (𝐽1, 𝐵3).

Remark: An important result, which cannot be discussed here, is that the oriented edges in the over-determined region have a unique decomposition into Assur graphs. Details of this decomposition will appear in the authors’ forthcoming paper.

5. CONCLUSIONS AND OUTLOOK

The paper introduces, for the first time in literature, an efficient combinatorial algorithm for determining the correct topological mobility of any planar or spherical linkage with higher and lower kinematic pairs, including multiple joints. As a prerequisite, the paper first recalls two established types of constraint graphs for modeling the topology of linkages: body-bar (BB) and bar-joint (BJ) graphs. It is explained that BB and BJ fails in modeling certain linkages. To overcome this limitation the concept of a mixed graph (MG) constraint graph is adopted from [17]. One of the salient conclusions of that paper is that, by using this graph representation, it is possible to uniquely represent any linkage, and consequently to invoke the corresponding MG pebble game algorithm. Such a MG pebble game for planar and spherical linkages is the main contribution of the paper: it determines the correct topological mobility of the linkage modeled by a MG constraint graph. The planar MG Laman theorem, which is an extension of the well-known Laman theorem for BJ graphs, is given as a mathematical foundation of the algorithm. Thereupon it is proved that the novel pebble game converges to the correct topological mobility. Moreover it is discussed that this combinatorial algorithm allows for identification of redundant substructures, and it is mentioned that it also allows for decomposing any mechanism into its building blocks, namely Assur graphs.

The reported algorithm applies to floating linkages, i.e. linkages that are not fixed to the ground. In a forthcoming publication, the MG pebble game will be amended to include so-called grounded MG constraint graphs, a novel class of constraint graphs representing space-fixed linkages. To this end the algorithm needs to be qualified so to be able to treat immobile ground vertices.

REFERENCES

[1] G. Gogu, Mobility of mechanism: a critical review, Mech. Mach. Theory 40 (2005) 1068–1097.

[2] D. J. Jacobs and B. Hendrickson. An algorithm for two-dimensional rigidity percolation: the pebble game. Journal of Computational Physics, 137 (1997) 346 – 365

[3] A. Jain, Graph theoretic foundations of multibody dynamics, Part I: structural properties, Multibody. Syst. Dyn. 26 (2011) 307–333.

[4] G. Laman. On graphs and rigidity of plane skeletal structures. J. Engineering Mathematics, 4 (1970) 331–340.

[5] A. Lee and I. Streinu, Pebble game algorithms and sparse graphs, Discrete Mathematics, 308: 8 (2008) 1425-1437.

[6] A. Müller: Generic Mobility of Rigid Body Mechanisms, Mech. Machine Theory, Vol. 44, no. 6, June 2009 1240-1255.

Page 21: Combinatorial Algorithm for Determination of Topological …shai/Publications/combinatorial... · 2015-08-25 · Combinatorial Algorithm for Determination of Topological Mobility

21

[7] O. Shai, "Rigidity of 2d and 3d Pinned Frameworks and the Pebble Game", London. Mathematical Society Workshop: Rigidity of Frameworks and Applications, July 12-15, Lancaster University , England, 2010.

[8] Shai O., Sljoka A. and Whiteley W., "Directed Graphs, Decompositions, and Spatial Rigidity", Discrete

Applied Mathematics, Vol. 161, pp 3028–3047, 2013.

[9] A.Sljoka , 2006, Counting for Rigidity, Flexibility and extensions via the Pebble Game Algorithm, Master’s Thesis, York University.

[10] A. Sljoka, O Shai and W. Whiteley, "Checking mobility and decomposition of linkages via Pebble Game Algorithm" ASME Design Engineering Technical Conferences, August 28-31, 2011, Washington, USA.

[11] T. Tiong-Seng, Henneberg’s method for bar and body frameworks, Structural Topology 17 (1991), 53–58.

[12] K.J. Waldron, The constraint analysis of mechanisms, J. Mech. 1 (1966) 101–114.

[13] K.J. Waldron, A study of overconstrained linkage geometry by solution of closure equations – Part I. Method of study, Mech. Mach. Theory 8 (1973) 95–104.

[14] K.J. Waldron, A study of overconstrained linkage geometry by solution of closure equations – part II. Four-bar linkages with lower pairs other than screw joints, Mech. Mach. Theory 8 (1973) 233–24.

[15] C. Wampler, B.T. Larson, A.G. Erdman, A new mobility formula for spatial mechanisms, in: Proc. ASME International Design Engineering Technical Conferences (IDETC), September 4–7, 2007, Las Vegas.

[16] C.W. Wampler, J.D. Hauenstein, A.J. Sommese: Mechanism mobility and a local dimension test, Mech. Mach. Theory 46 (2011) 1193–1206.

[17] and O. Shai, A unified Concept for the graph representation of constraints in mechanisms, ASME International Design Engineering Technical Conferences, Buffalo, NY, August 17-20, (2014).

[18] Jacobs DJ, Kuhn LA and Thorpe MF, Flexible and rigid regions in proteins, in Rigidity theory and applications, M.F. Thorpe and P.M. Duxbury, Editors. 1999, Academic/Kluwer. p. 357-384.

[19] O. Shai O. and A. Müller, A Novel Combinatorial Algorithm for Determining the Generic/Topological Mobility of

Planar and Spherical Mechanisms, ASME Design Engineering Technical Conferences, Portland, August 12-15,(2013).