Graph Theory for Articulated Bodies

Similar documents
IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

Social Media Mining. Graph Essentials

DATA ANALYSIS II. Matrix Algorithms

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Class One: Degree Sequences

Discrete Mathematics Problems

V. Adamchik 1. Graph Theory. Victor Adamchik. Fall of 2005

Zachary Monaco Georgia College Olympic Coloring: Go For The Gold

2.1 Introduction. 2.2 Terms and definitions

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

n 2 + 4n + 3. The answer in decimal form (for the Blitz): 0, 75. Solution. (n + 1)(n + 3) = n lim m 2 1

Why? A central concept in Computer Science. Algorithms are ubiquitous.


A permutation can also be represented by describing its cycles. What do you suppose is meant by this?

Network (Tree) Topology Inference Based on Prüfer Sequence

Mathematics for Algorithm and System Analysis

Network/Graph Theory. What is a Network? What is network theory? Graph-based representations. Friendship Network. What makes a problem graph-like?

Circuits 1 M H Miller

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Data Structures. Chapter 8

Part 2: Community Detection

Course on Social Network Analysis Graphs and Networks

USE OF EIGENVALUES AND EIGENVECTORS TO ANALYZE BIPARTIVITY OF NETWORK GRAPHS

Solutions to Homework 6

Technology, Kolkata, INDIA,

Dynamic Programming. Lecture Overview Introduction

Graph Theory Problems and Solutions

Synthesis of Constrained nr Planar Robots to Reach Five Task Positions

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) Total 92.

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Data Structure [Question Bank]

Labeling outerplanar graphs with maximum degree three

Arithmetic and Algebra of Matrices

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, Chapter 7: Digraphs

SECTIONS NOTES ON GRAPH THEORY NOTATION AND ITS USE IN THE STUDY OF SPARSE SYMMETRIC MATRICES

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

Catalan Numbers. Thomas A. Dowling, Department of Mathematics, Ohio State Uni- versity.

System Interconnect Architectures. Goals and Analysis. Network Properties and Routing. Terminology - 2. Terminology - 1

Discrete Mathematics. Hans Cuypers. October 11, 2007

(67902) Topics in Theory and Complexity Nov 2, Lecture 7

Scheduling Shop Scheduling. Tim Nieberg

Chapter 19. General Matrices. An n m matrix is an array. a 11 a 12 a 1m a 21 a 22 a 2m A = a n1 a n2 a nm. The matrix A has n row vectors

Solving Simultaneous Equations and Matrices

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM

Approximation Algorithms

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

Just the Factors, Ma am

Warshall s Algorithm: Transitive Closure

A New Marketing Channel Management Strategy Based on Frequent Subtree Mining

Examination paper for MA0301 Elementær diskret matematikk

GRAPH THEORY LECTURE 4: TREES

Graph/Network Visualization

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

Lecture 16 : Relations and Functions DRAFT

13 MATH FACTS a = The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions.

TU e. Advanced Algorithms: experimentation project. The problem: load balancing with bounded look-ahead. Input: integer m 2: number of machines

Matrix Multiplication

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Single machine parallel batch scheduling with unbounded capacity

AN ALGORITHM FOR DETERMINING WHETHER A GIVEN BINARY MATROID IS GRAPHIC

1. A student followed the given steps below to complete a construction. Which type of construction is best represented by the steps given above?

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

Dynamics of Multibody Systems: Conventional and Graph-Theoretic Approaches

Degrees of freedom in (forced) symmetric frameworks. Louis Theran (Aalto University / AScI, CS)

Chapter 7. Permutation Groups

Outline 2.1 Graph Isomorphism 2.2 Automorphisms and Symmetry 2.3 Subgraphs, part 1

Solving Systems of Linear Equations

Graphs without proper subgraphs of minimum degree 3 and short cycles

Circuit Analysis using the Node and Mesh Methods

Mining Social-Network Graphs

SPANNING CACTI FOR STRUCTURALLY CONTROLLABLE NETWORKS NGO THI TU ANH NATIONAL UNIVERSITY OF SINGAPORE

A Review And Evaluations Of Shortest Path Algorithms

Euler Paths and Euler Circuits

Metrics on SO(3) and Inverse Kinematics

On the k-path cover problem for cacti

Solving Systems of Linear Equations Using Matrices

Triangulation by Ear Clipping

CIS 700: algorithms for Big Data

Recall the basic property of the transpose (for any A): v A t Aw = v w, v, w R n.

Lecture 2 Linear functions and examples

Subgraph Patterns: Network Motifs and Graphlets. Pedro Ribeiro

On planar regular graphs degree three without Hamiltonian cycles 1

Fast Sequential Summation Algorithms Using Augmented Data Structures

Finding and counting given length cycles

On Integer Additive Set-Indexers of Graphs

1.2 Solving a System of Linear Equations

Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency

Data Structures and Algorithms Written Examination

WOLLONGONG COLLEGE AUSTRALIA. Diploma in Information Technology

Group Theory and Chemistry

Efficient Data Structures for Decision Diagrams

Linear Programming. March 14, 2014

How To Understand The Theory Of Media Theory

DIGITAL-TO-ANALOGUE AND ANALOGUE-TO-DIGITAL CONVERSION

A Fast Algorithm For Finding Hamilton Cycles

DETERMINANTS IN THE KRONECKER PRODUCT OF MATRICES: THE INCIDENCE MATRIX OF A COMPLETE GRAPH

Arrangements And Duality

1 Symmetries of regular polyhedra

Transcription:

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, Enumera7on of Kinema7c Structures According to Func7on Edge connecting i and j is called e ij. Edge e 23 incident on vertices 2 and 3. Vertices 2 and 3 are adjacent (they are connected through and edge) Edges e 23, e 34 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 G 1, G 2 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. Adjacency matrix [A]: Defined as a ij = 1 if vertex i is adjacent to vertex j 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, Defined as b ij = 1 if vertex i is an end vertex of edge j 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, Defined as c ij = 1 if circuit i contains edge j 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. Defined as t ij = 1 if edge i lies on the path star7ng at 1 and ending at j+1 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 For compacted, reduced trees: v = e + 1 Root and end-effector vertices have degree 1. Reduced

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 p e = {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)) p e = {0,1,1,1,1} p e = {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, t e. 3R- (2R,R- (R,R,R)) p e = {0,1,1,3,3,3} t e = {3R,2R,R,R,R,R}

Parent-pointer Representation Extracting information from the parent-pointer representation: Number of edges: e = Length(p e ) Number of vertices: v = e+1 Terminal edges (incident to end-effector vertices): edges not appearing in p e : b e = Complement({0,1,2,,e},p e ) Number of branches: b = Length(b e ) p e = {0,1,1,3,3,3} e = Length({0,1,1,3,3,3}) = 6 v = e+1 = 7 b e = 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(p e (i) + 1, i) = 1; B(i + 1, i) = 1; } End-effector path matrix [P ee ]= matrix(e, b) initialized to 0 for (i = 1, i <= length(b e ), i++) { k = b e (i); while (k > 0) { P ee (k, i) = 1; k = p e (k); } } p e = {0,1,1,3,3,3} e = 6 v = 7 b e = {2,4,5,6} b = 4