usrg 2002 elizabeth m. tsai jennifer e. walter nancy m. amato swarthmore college vassar college...

54
USRG 2002 Elizabeth M. Tsai Jennifer E. Walter Nancy M. Amato Swarthmore College Vassar College Texas A&M University Concurrent Reconfiguration of Hexagonal Metamorphic Robots: Algorithms for Fast Execution and Obstacle Envelopment

Upload: lilly-carlson

Post on 14-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

USRG 2002

Elizabeth M. Tsai Jennifer E. Walter Nancy M. Amato Swarthmore College Vassar College Texas A&M University

Concurrent Reconfiguration of Hexagonal Metamorphic Robots:

Algorithms for Fast Execution and Obstacle Envelopment

USRG 2002

Metamorphic Robotic SystemsWhat are metamorphic robots?

• robots with the capability to change shape• i.e. Transformers

What are Transformers?• fighting robots that transform into everyday objects (e.g. cars, planes, appliances)

Sunstreaker

Soundwave

USRG 2002

Transformer Background

Two types of transformers…

1) Autobots

• “good guys”

• lead by Optimus Prime

2) Decepticons

• “bad guys”

• lead by Megatron

USRG 2002

Metamorphic Robotic Systems

• We model robots like those developed by Chirikjian (ICRA94)

Metamorphic modules are...

1) Uniform in structure and capability• homogenous with regular symmetry• modules fit together with minimal gaps

2) Individually mobile to allow system to change shape• modules can connect, disconnect, and move over adjacent modules

• System composed of masses or clusters of robots (modules)

USRG 2002

1

2

3

Determine sequence of moves to reconfigure modules from an initial configuration I to a final configuration G

Motion Planning Problem Statement

time

12

3I

G

• | I | = |G| = n (number of modules in system)

• any module can fill any cell in G

Step 1: move 3 CCW

12

3

Step 2: move 3 CCW

12

3

Step 3: move 2 CCW

12

3

Step 4: move 2 CCW

1

23

Step 5: move 2 CCW

Additionally, we want as many modules as possible to move concurrently.

USRG 2002

2D hexagonal modules move by...

Our Approach

SS S S S

A chain of unmoving modules that other modules move across during reconfiguration is called the substrate path.

• A combination of rotation and changing joint angles, disconnecting and connecting sides at appropriate times

• Modules “crawl” over unmoving neighbors (S for substrate)

Centralized motion plan for efficient concurrent reconfiguration that avoids deadlock and collision without message passing

USRG 2002

2) Select an admissible substrate path that approximately bisects the goal configuration.

General Reconfiguration Strategy

3) Fill in the goal portion of the substrate path first, then fill in rest of goal cells above and below substrate path.

I and G initially intersect in some goal cellin the westernmost column of G

1) Determine if G is admissible. If not, report failure.

Admissible Structures

• Pockets like this occur frequently in systems of hexagonal modules due to module shape.

• Our admissible structures are defined to eliminate configurations that contain such pockets

Admissible Structures

• Pockets like this occur frequently in systems of hexagonal modules due to module shape.

• Our admissible structures are defined to eliminate configurations that contain such pockets

Admissible Structures

• Pockets like this occur frequently in systems of hexagonal modules due to module shape.

• Our admissible structures are defined to eliminate configurations that contain such pockets

Admissible Structures

• Pockets like this occur frequently in systems of hexagonal modules due to module shape.

• Our admissible structures are defined to eliminate configurations that contain such pockets

Admissible Structures

• Pockets like this occur frequently in systems of hexagonal modules due to module shape.

• Our admissible structures are defined to eliminate configurations that contain such pockets

Admissible Structures

• Pockets like this occur frequently in systems of hexagonal modules due to module shape.

• Our admissible structures are defined to eliminate configurations that contain such pockets

c1c2

c3

i

Hierarchy of Admissible Structures

• viable cell – cell with clearance of three on each side

cell i has SE-clearance

Admissible Structures

• Pockets like this occur frequently in systems of hexagonal modules due to module shape.

• Our admissible structures are defined to eliminate configurations that contain such pockets

c1c2

c3

i

Hierarchy of Admissible Structures

• viable cell – cell with clearance of three on each side

cell i has SE-clearance

• admissible surface – surface composed of viable cells

Goal cellObstacle cell

Admissible Structures

• admissible substrate path – an east-monotone admissible surface

• allows traversal on both sides without collision or deadlock and

• spans G Substrate path cellGoal cell

Admissible Structures

• admissible substrate path – an east-monotone admissible surface

• allows traversal on both sides without collision or deadlock and

• spans G

Admissible G

Inadmissible G

Substrate path cellGoal cell

• admissible goal – contains an admissible substrate path

Admissible Structures

• admissible substrate path – an east-monotone admissible surface

• allows traversal on both sides without collision or deadlock and

• spans G

Admissible G

Inadmissible G

Substrate path cellGoal cell

• admissible goal – contains an admissible substrate path

Our admissibility definitions are directly related to the degree of parallelism possible – i.e. how closely moving modules can be spaced without becoming deadlocked

USRG 2002

Selecting Substrate Paths

Our method for finding the best admissible substrate path for reconfiguration is summarized as follows:

1) Convert G to an acyclic graph, H, and direct the edges

2) Use a graph traversal algorithm combined with a weighting heuristic to

rank all candidate paths by straightness

3) Use a second heuristic to select a path that most evenly bisects the goal

Example Substrate Path Selection:

(1) Goal G converted to H

(2a) Cost 1 path

(2b) Cost 0 path

(3) Selected path best bisects goal

USRG 2002

Simulation Results

The effectiveness of our strategy to choose the “best” path was verifiedusing a simulator to count the number of rounds needed to reconfiguredifferent goal shapes.

Path chosen

Other paths

77

89 9196

92

0

20

40

60

80

100

120

Nu

mb

er

of

Rou

nd

s

(1) (1) (1) (1) (1)66

6768

6970

7172

73

76

60

62

64

66

68

70

72

74

76

78

Num

ber

of R

ound

s(2) (2) (2) (2)(3) (3) (3)(1

)(1)

USRG 2002

Simulation Results

The running time of the TraverseGraph algorithm was also verified by oursimulator by counting the total number of vertex visits for a given graph.

USRG 2002

Reconfiguration with a Single Obstacle

We consider the presence of a single obstacle in the environment that must…

• be enclosed completely inside the goal

• be admissible

• not involve purple swingy-weapons or water

What is an admissible obstacle?

• an obstacle that contains an admissible surface

How to check for obstacle admissibilityFor each obstacle cell on the perimeter of the obstacle…

…for each side of the cell that is a goal cell…

…check two and three cells over foranother goal cell (i.e. pocket of size 1 or 2)

Obstacle with pocket of size 1

Megatron is an inadmissible obstacle

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

USRG 2002

Determining Substrate Path with a Single Obstacle

Original Idea

1) Direct the edges west of the goal to determine the “entrance” point for the path

2) Direct the edges inside the obstacle to determine the “exit” point for the path

3) Direct the edges east of the goal, going out of the exit point

4) Form the final substrate path by concatenating the above path segments

But wait! We have a problem!

• Small pockets that modules can’t crawl through can form where the substrate path meets the obstacle

• These pockets are a result of the East-To-West filling-in strategy

Goal cell

Substrate goal cell

Pocket formed by obstacle and filled goal cells

USRG 2002

Repairing the Obstacle

To remedy the “pocket problem,” we “repair” the obstacle surface to make it traversable.

Why?

• want to avoid modules getting trapped when filling in from east to west

• want modules to crawl over obstacle surface as a substrate path during reconfiguration

How do we “repair” an obstacle?

• form a cone shape with the eastern-most column of the obstacle as its base

• fill in this cone from south to north, and from west to east

Unrepaired obstacle Repaired obstacle

Goal cell

Obstacle cell

Repaired cell

USRG 2002

Future Work1. Develop algorithms for dealing with multiple obstacles in the

environment.

2. Algorithmic work:

• asynchronous reconfiguration algorithms.

• procedures for deadlock and collision resolution.

• “complete” reconfiguration, from arbitrary initial to arbitrary goal.

3. Build fighting robots.