
Graph Theory for Articulated Bodies Alba Perez-Gracia Department of Mechanical Engineering, Idaho State University 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. 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. 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. Note: all graph figures from Tsai, Enumeraon of Kinemac Structures According to Func7on • 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. 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 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. 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. 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. Graph Theory • Example: a graph, its spanning tree and fundamental circuits. • The number of fundamental circuits is independent of the spanning tree used. 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. 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. Graph Representation of Articulated Systems Graph Representation of Articulated Systems Matrices Associated to a Graph • Used for systematic identification and enumeration of graphs. 1 if vertex i is adjacent to vertex j • Adjacency matrix [A]: Defined as aij = 0 otherwise, including i=j • [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. Matrices Associated to a Graph • Incidence matrix [B]: for a graph with vertices from 1 to v and edges from 1 to e, 1 if vertex i is an end vertex of edge j • Defined as bij = 0 otherwise • [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. Matrices Associated to a Graph • Circuit matrix [C]: for a graph with edges from 1 to e, label the circuits from 1 to l, 1 if circuit i contains edge j • Defined as cij = 0 otherwise • [C] is an lxe matrix with rows corresponding to circuits and columns to edges. • [C] does not determine a graph up to isomorphism. 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. 1 if edge i lies on the path star7ng at 1 and ending at j+1 • Defined as tij = 0 otherwise • [T] is an (v-1)xe matrix (root vertex not included). • [T] does not determine a graph up to isomorphism. 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. 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. 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). Ini$al tree Compacted Reduced • For compacted, reduced trees: • v = e + 1 • Root and end-effector vertices have degree 1. 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) 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} 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} 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 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) { P (k, i) = 1; ee p = {0,1,1,3,3,3} k = pe(k); e } e = 6 } v = 7 be = {2,4,5,6} b = 4 .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages25 Page
-
File Size-