Distributed Reconfiguration of Metamorphic Robot Chains Beth Tsai
Distributed Reconfiguration of Metamorphic Robot Chains Beth Tsai Jennifer E. Walter Nancy M. Amato Department of Computer Science Texas A&M University, College Station
Metamorphic Robotic Systems • Proposed by Chirikjian (ICRA 94) and Murata et al. (ICRA 94) • System composed of masses or clusters of small robots (modules) Metamorphic modules are. . . 1) Uniform in structure and capability • usually homogenous with regular symmetry (e. g. , hexagons, cubes) • desirable for modules to fit together with minimal gaps 2) Individually mobile to allow system to change shape • modules can connect, disconnect, and move over adjacent modules
Problem Statement Motion planning problem Determine sequence of moves reconfigure modules from an initial configuration I to a final configuration G • | I | = |G| = n (number of modules in system) • any module can fill any cell in G Step 1: move 3 CCW 1 I 2 3 1 3 2 Step 4: Step 3: Step 2: move 2 CCW move 3 CCW 3 3 1 1 2 time 2 3 1 2 G 2 3 1 Step 5: move 2 CCW
Module Movement 2 D hexagonal modules move by. . . • A combination of rotation and changing joint angles, disconnecting and connecting sides at appropriate times • “Crawling” over unmoving neighbors (S for substrate) S S S A chain of unmoving modules that other modules move across during reconfiguration is called the substrate path Complexity Modules move in synchronous rounds: Complexity measures of interest = # rounds and # moves
Potential Applications General shape changing: construction, e. g. , bridges, buttresses Object envelopment: surrounding objects for recovery or removal, e. g. , satellite recovery, tumor excision
Our Summer Work We can achieve a higher degree of parallelism when filling the goal if I is aligned with the substrate path Fastest reconfiguration occurs when the substrate path… 1) Is a straight chain or a chain with a single bend 2) Equally bisects G 3) Is aligned parallel to longest axis of G 4) Intersects I at an obtuse angle A straight substrate path that equally bisects G and is parallel to the longest axis Determining the best substrate path We represent G as an acyclic, directed graph, H. We weight the vertices of H to favor straight paths and use a graph traversal algorithm to find the lowest cost (straightest) substrate path.
Converting G to H We convert G into an acyclic graph, H, by mapping each cell in G to a vertex in H. To direct the edges of H… • If two cells in G are adjacent in the SE or NE direction, their vertices are connected in H with a west-east edge • If two cells in G are adjacent in the N or S direction, their vertices are connected in H only if there is a “clearance” of three columns between it and any edge in the opposite direction or it and any goal cells
Weighting Vertices A vertex, v, is assigned a weight of… • 10, if any of v’s incoming edges are vertical • 1, if v’s incoming edge is oriented a different direction than its parent’s incoming edge • 0, if v’s incoming edge is oriented the same direction as its parent’s incoming edge v=1 v=0 v = 10 v with an incoming vertical edge v with incoming edge in different direction than parent’s incoming edge v with incoming edge in same direction as parent’s incoming edge Once all vertices in H have been weighted, a graph traversal algorithm is employed to find the shortest paths
A Graph Traversal Algorithm Traverses all paths from root to leaves in a rooted, directed, acyclic graph Algorithm procedure 1) Initially, all vertices in H are black (unvisited) 2) Let v : = root of H and color v red (visited) 3) While v has a black (unvisited) child Pick a child, c, and let parent : = v Let v : = c 4) If v is a leaf. . . …If v’s parent has a black (unvisited) child, back up to v’s parent and continue traversing …Else if v’s parent has no black (unvisited) children, color v and v’s sibling black (i. e. unvisit them) and back up to v’s parent. Continue backtracking until reaching the root.
Example of Graph Traversal Algorithm F F D A G D A E B G C C Path from root to leaf G found Root colored F F D A G D A E B G E B C C Backtracking to vertex B. E and G are colored black. C remains red since D hasn’t been visited Traversing continues from B to leaf G F G D A F E B C Backtracking to vertex D. G is colored black. E remains red since F hasn’t been visited D A G E B C Traversing continues from D to leaf F
Selecting The Best Path The graph traversal algorithm makes one pass over H for each vertex in the first column (i. e. traverses H with each first column vertex as the root) Paths in H are considered in the following order: 1) Paths with cost 1 (single bend) or cost 0 (straight) that equally (or almost equally) bisect H 2) Higher cost paths that equally (or almost equally) bisect H A cost 0 path that equally bisects H suitable for substrate path A cost 1 path that doesn’t equally bisect H A high cost path that partially bisects H suitable for substrate path A high cost path that doesn’t bisect H
Summary Our method for finding the best substrate path for reconfiguration is summarized as follows: 1) Convert G to an acyclic graph, H, and direct the edges 2) Weight the vertices of H using our simple weighting scheme 3) Use the graph traversal algorithm to traverse all paths in H 4) Select the lowest cost path that equally (or partially) bisects H to be the substrate path Examples of good substrate paths found:
Obstacles, or “forbidden cells, ” that modules cannot enter or touch may be introduced into the problem Conditions for obstacle admissibility • Obstacles allowed in the plane around the goal or adjacent to the goal • Obstacles prohibited in cells “inside” the goal Obstacles adjacent to goal must be… • Perpendicular to substrate path, or • At an obtuse angle to the substrate path All other obstacles must have a “clearance” distance of at least two cells from the substrate path or at least one cell from the goal perimeter Admissible - obstacles perpendicular to substrate path Admissible - obstacles have correct clearance Inadmissible obstacles inside goal Inadmissible obstacles without clearance of 2 cells
Dealing With Obstacles may block I from intersecting G at the best substrate path Options: Bend I around obstacle Enter G from opposite end of substrate path Enter G on another axis Use alternate substrate path
Next Step: General Reconfiguration Algorithms Goal: Any arbitrary shape to any other arbitrary shape Our approach: 2 phase process 1 2
- Slides: 15