+ All Categories
Home > Documents > Graph Theory for Articulated Bodies - Idaho State...

Graph Theory for Articulated Bodies - Idaho State...

Date post: 06-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
25
Graph Theory for Articulated Bodies Alba Perez-Gracia Department of Mechanical Engineering, Idaho State University
Transcript
Page 1: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Theory for Articulated Bodies

Alba Perez-Gracia

Department of Mechanical Engineering, Idaho State University

Page 2: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Articulated Bodies

•  A set of rigid bodies (links) joined by joints that allow relative motion between consecutive links.

•  Standard joints are defined as a pair of surfaces rubbing against each other (Releaux’s pairs)

•  Higher pairs have a surface of contact, lower pairs contact at a line or a point. Other contacts, such as a finger contact, can be modeled as joints.

Page 3: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Kinematic Chains

•  Serial chain or open-loop chain: only one path from one link to another link of the chain.

•  Parallel or closed-loop chain: every link is connected to every other link by at least two paths.

•  Hybrid chain: contains parallel and serial subchains.

•  Tree chain: several end links.

Page 4: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Theory

•  Graph G(v,e): a set of v vertices (points) and a set of e edges (lines) such that the vertices are connected by the edges.

•  Edge connecting i and j is called eij. •  Edge e23 incident on vertices 2 and 3. •  Vertices 2 and 3 are adjacent (they are connected through and

edge) •  Edges e23, e34 adjacent (incident on vertex 3) •  Degree of a vertex: number of edges incident on that vertex.

•  Degree 2: vertices 1, 3, 4 •  Degree 3: vertices 2, 5.

Note:  all  graph  figures  from  Tsai,  Enumera7on  of  Kinema7c  Structures  According  to  Func7on  

Page 5: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Theory

•  Walk: a sequence of vertices and edges, beginning and ending on a vertex.

•  Path: a sequence of alternating vertices and edges in which each vertex appears only once.

•  Trail: a walk with distinct edges but vertices may be repeated. •  Circuit or loop: a path for which the beginning vertex = end vertex (a

closed path).

Walk   Path  (and  walk)   Circuit  

Page 6: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Theory •  Two vertices are connected if there is a path from one to the other. •  A graph is connected if every vertex is connected to every other

vertex by at least one path.

•  Subgraph: a subset of a graph that is a graph itself. •  Component: each connected subgraph of a graph. •  Directed graph: a graph in which a direction is assigned to every

edge. •  Rooted graph: a graph with a distinguished vertex, called the root. •  Complete graph: When every pair of vertices is connected by one

edge. It has n(n-1)/2 edges for n vertices.

Page 7: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Theory •  Tree graph: a connected graph that contains no circuits.

•  Planar graph: a graph that can be embedded in a plane.

•  Graph isomorphism: Two graphs G1, G2 are isomorphic if there is a one-to-one correspondence between their vertices and edges that preserves the incidence.

Page 8: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Theory •  Spanning tree: One of the possible trees containing all the vertices

of a connected graph.

•  Given a spanning tree, we can create two subsets of the set of edges E:

•  Edges that form the spanning tree: arcs. •  Rest of edges, not used in the spanning tree: chords.

•  Adding a chord to a spanning tree generates a circuit. •  A collection of all the circuits wrt a spanning tree forms a set of

independent loops or fundamental circuits. •  Any circuit of the graph is a l.c. of fundamental circuits.

Page 9: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Theory •  Example: a graph, its spanning tree and fundamental circuits.

•  The number of fundamental circuits is independent of the spanning tree used.

Page 10: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Use of Graphs

•  Graphs are widely used in any application in which we there is a relationship among discrete objects.

•  Bond graphs in system dynamics, communications and data organization, biology, linguistics, chemistry, artificial intelligence,…

•  We use graphs in order to represent the connection between rigid bodies in an articulated system.

Page 11: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Representation of an Articulated System

•  An articulated system is represented using a rooted graph, where:

•  Vertices = links •  Edges = joints

•  Edges are labeled according to the type of joint.

Page 12: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Representation of Articulated Systems

Page 13: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Graph Representation of Articulated Systems

Page 14: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Matrices Associated to a Graph

•  Used for systematic identification and enumeration of graphs.

•  Adjacency matrix [A]: Defined as aij =

•  [A] is a vxv symmetric matrix with zeros at the diagonal. •  The sum of each row gives the degree of that vertex. •  [A] identifies a graph up to isomorphism.

1  if  vertex  i  is  adjacent  to  vertex  j  

0  otherwise,  including  i=j  

Page 15: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Matrices Associated to a Graph

•  Incidence matrix [B]: for a graph with vertices from 1 to v and edges from 1 to e,

•  Defined as bij =

•  [B] is a vxe matrix with rows corresponding to vertices and columns to edges.

•  The sum of each column is always equal to 2. •  [B] determines a graph up to isomorphism.

1  if  vertex  i  is  an  end  vertex  of  edge  j  

0  otherwise  

Page 16: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Matrices Associated to a Graph

•  Circuit matrix [C]: for a graph with edges from 1 to e, label the circuits from 1 to l,

•  Defined as cij =

•  [C] is an lxe matrix with rows corresponding to circuits and columns to edges.

•  [C] does not determine a graph up to isomorphism.

1  if  circuit  i  contains  edge  j  

0  otherwise  

Page 17: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Matrices Associated to a Graph

•  Path matrix [T]: stores the information of all paths starting at the root and terminating at the other vertices of a rooted tree.

•  Defined as tij =

•  [T] is an (v-1)xe matrix (root vertex not included). •  [T] does not determine a graph up to isomorphism.

1  if  edge  i  lies  on  the  path  star7ng  at  1  and  ending  at  j+1  

0  otherwise  

Page 18: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Contracted Graphs

•  Binary string of length k within a graph: a string of vertices of degree 2 connected in series by k+1 edges.

•  First and last edges incident on non-binary vertices.

•  Contraction: replace every binary string with a single edge. •  It yields a contracted graph with no binary vertices. •  Contracted graph of a graph is unique. •  Total number of loops of the graph does not change.

Page 19: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Conclusions

•  Articulated systems can be represented using rooted graphs.

•  Associated matrices contain information about degree of links and joints and loops in the system.

•  Graph representation allows to focus on the topology without considering the particular geometry.

•  Especially useful for enumeration and database search. •  Very active area of research, especially for parallel

robots. •  We use them in our synthesis algorithms.

Page 20: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Tree Graphs for Hand Topologies

•  Hand topology: a set of common joints connected to a set of branches, which end in end-effector links.

•  Compacted tree: all serial chains replaced, no binary vertices. •  Reduced tree: all loops replaced, no two edges have same incident

vertices (for synthesis purposes).

•  For compacted, reduced trees: •  v = e + 1 •  Root and end-effector vertices have degree 1.

Ini$al  tree   Reduced  Compacted  

Page 21: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Tree Graphs for Hand Topologies

•  Consider a “Hand” = wrist+hand. •  Denote a branching with a hyphen and the branches as

a list in parentheses,

1-­‐(1,1,1,1)   3R-­‐(2R,R-­‐(R,R,R))   2R-­‐(2R,R,R)  

Page 22: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Parent-pointer Representation

•  For a set of indices {i}e for edges and {j}v for vertices, the array pe = {p(i)}e is the parent-pointer representation, where p(i) indicates the edge previous to edge i.

•  The “edge” previous to the root vertex is denoted as 0.

1-­‐(1,1,1,1)   3R-­‐(2R,R-­‐(R,R,R))  

pe  =  {0,1,1,1,1}   pe  =  {0,1,1,3,3,3}  

Page 23: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Parent-pointer Representation

•  The parent-pointer representation captures: •  Number of edges and vertices •  Connectivity •  Branches or end effectors.

•  In order to define the number and type of joints for each edge, a second array needs to be defined, te.

3R-­‐(2R,R-­‐(R,R,R))  

pe  =  {0,1,1,3,3,3}  

te  =  {3R,2R,R,R,R,R}  

Page 24: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Parent-pointer Representation

•  Extracting information from the parent-pointer representation: •  Number of edges: e = Length(pe) •  Number of vertices: v = e+1 •  Terminal edges (incident to end-effector vertices): edges not

appearing in pe : be = Complement({0,1,2,…,e},pe) •  Number of branches: b = Length(be)

pe  =  {0,1,1,3,3,3}  e  =  Length({0,1,1,3,3,3})  =  6  v  =  e+1  =  7  be  =  Comp({0,1,2,3,4,5,6},{0,1,1,3,3,3})  =  {2,4,5,6}  b  =  Length({2,4,5,6})  =  4  

Page 25: Graph Theory for Articulated Bodies - Idaho State Universityrobotics.engr.isu.edu/documents/GraphTheory.pdf · • Directed graph: a graph in which a direction is assigned to every

Matrices Associated to the Parent-pointer Representation

•  Two matrices useful for design:

•  Adjacency matrix [B] = matrix (v, e) initialized to 0 for (i = 1, i <= e, i++) { B(pe(i) + 1, i) = 1; B(i + 1, i) = 1; }

•  End-effector path matrix [Pee]= matrix(e, b) initialized to 0 for (i = 1, i <= length(be), i++) { k = be(i); while (k > 0) { Pee(k, i) = 1; k = pe(k); } }

pe  =  {0,1,1,3,3,3}  e  =  6  v  =  7  be  =  {2,4,5,6}  b  =  4  


Recommended