Thesis Presentation
:
Cellular Automata for
Control and Interactions of
Large Formations of Robots
Ross Mead
Committee
:
Dr. Jerry B. Weinberg
Dr. Stephen Blythe
Dr. Xudong Yu
2
Outline
Introduction and Significance
Comparison of Cellular Automata Approaches
1

Dimensional Robot

Space Cellular Automata
Algorithm
Implementation
2

Dimensional Robot

Space Cellular Automata
Algorithm Extension
Implementation
Conclusions
Future Work
Q&A
3
Motivation
Space Solar Power
(
SSP
)
How can a massive collection of robots
moving with no group organization
coordinate to form a global structure?
4
Problem
swarm
formation
5
Approach
Utilize
reactive
robot control strategies
closely couple sensor input to actions
Treat the formation as a
cellular automaton
lattice of computational units (
cells
)
each cell is in one of a given set of states
governed by a set of rules
complex emergent behavior from simplicity
6
“World

Space” Cellular Automata
Environment is represented topologically
as a 2

or 3

dimensional grid of cells…
a)
robot between grid cells
b)
boundary surrounds the
automaton
c)
automaton wraps along
boundaries
d)
two robots collide trying
to occupy same grid cell
7
“Robot

Space” Cellular Automata
Each robot is represented as a cell
c
i
in a
1

dimensional automaton…
c
i
= {
H
,
s
,
F
,
S
}
8
“Robot

Space” Cellular Automata
Each robot is represented as a cell
c
i
in a
1

dimensional automaton…
c
i
= {
H
,
s
,
F
,
S
}
neighborhood
H
i
= {
c
i

1
,
c
i
,
c
i+1
}
c
i

1
← left neighbor
c
i+1
← right neighbor
c
j
← some neighbor
j
C
←
automaton:
C
=
H
1
U
H
2
U
…
U
H
n
= {
c
1
,
c
2
,
…
,
c
n
}
9
“Robot

Space” Cellular Automata
Each robot is represented as a cell
c
i
in a
1

dimensional automaton…
c
i
= {
H
,
s
,
F
,
S
}
state
s
i
= {
p
,
r
des
,
r
act
,
Γ
,
Θ
,
t
}
( ... described later ... )
C
←
automaton:
C
=
H
1
U
H
2
U
…
U
H
n
= {
c
1
,
c
2
,
…
,
c
n
}
10
“Robot

Space” Cellular Automata
Each robot is represented as a cell
c
i
in a
1

dimensional automaton…
c
i
= {
H
,
s
,
F
,
S
}
state transition
s
i
= {
p
,
r
des
,
r
act
,
Γ
,
Θ
,
t
}
( ... described later ... )
s
i
t
=
S
(
s
i

1
t

1
,
s
i
t

1
,
s
i+1
t

1
)
t
← time step (counter)
C
←
automaton:
C
=
H
1
U
H
2
U
…
U
H
n
= {
c
1
,
c
2
,
…
,
c
n
}
11
“Robot

Space” Cellular Automata
Each robot is represented as a cell
c
i
in a
1

dimensional automaton…
c
i
= {
H
,
s
,
F
,
S
}
formation
F
= {
f
(
x
)
,
R
,
Φ
,
p
seed
}
f
(
x
)
← description
R
← robot separation
Φ
← relative heading
p
seed
← start position
C
←
automaton:
C
=
H
1
U
H
2
U
…
U
H
n
= {
c
1
,
c
2
,
…
,
c
n
}
12
F
is sent to some robot, designating it as the
seed
cell
c
seed
...
c
seed
is not a leader, but rather an initiator of the coordination process
For purposes of calculating desired relationships, each cell
c
i
considers itself to be at some
formation

relative position
p
i
:
p
i
=
[
x
i
f
(
x
i
) ]
T
In the case of
c
seed
, this position
p
seed
is given…
Algorithm
–
Formation Definition
f
(
x
) =
a x
2
p
seed
c
seed
13
The
desired relationship
r
i
→
j,des
from
c
i
to some neighbor
c
j
is determined by calculating a vector
v
from
p
i
to the
intersection
f
(
v
x
)
and a circle centered at
p
i
with radius
R
:
R
2
= (
v
x
–
p
i
,
x
)
2
+ (
f
(
v
x
)
–
p
i
,
y
)
2
r
i
→
j,des
=
[
v
x
f
(
v
x
) ]
T
The relationship is rotated by
–
Φ
to account for robot heading.
..
Algorithm
–
Desired Relationships
f
(
x
) =
a x
2
R
r
i→i

1,des
r
i→i+1,des
desired relationship
with left neighbor
c
i

1
desired relationship
with right neighbor
c
i+1
–
v
+
v
p
seed
14
p
i

1
p
i+1
F
and
r
i
→
j,des
are communicated locally within the neighborhood.
Each neighbor
c
j
repeats the process, but considers itself to be at
different formation

relative position
p
j
…
determined by the desired relationship from the sending neighbor
c
i
p
j
=
p
i
+
r
i
→
j,des
Algorithm
–
Desired Relationships
f
(
x
) =
a x
2
Note:
r
j→i,des
=
–
r
i→j,des
p
seed
15
Propagate changes in neighborhoods in succession.
Calculated relationships generate a connected graph
that yields the shape of the formation.
Algorithm
–
Desired Relationships
f
(
x
) =
a x
2
16
Using sensor readings, robots calculate an
actual relationship
r
i
→
j,act
with each neighbor
c
j
.
State of
H
i
governs robot movement:
rotational error
Θ
i
and
translational error
Γ
i
relationships based on individual coordinate systems
Algorithm
–
Actual Relationships
17
Algorithm
–
Formation Manipulation
18
Algorithm
–
Formation Manipulation
19
Algorithm
–
Formation Manipulation
20
Algorithm
–
Formation Manipulation
21
Algorithm
–
Formation Manipulation
22
Algorithm
–
Formation Manipulation
23
Scooterbot II
base

strong, but very light

differential steering system
XBCv2
microcontroller

Interactive C

back

EMF PID motor control

color camera
ZigBee
module

packet communication

share state information
within neighborhood
Color

coding system

visual identification

neighbor localization
(actual relationships)
Implementation
–
Robot
Platform
24
Implementation
–
Color

Coding System
Visual identification
the color of each robot is assigned based on ID:
orange
for odd,
green
for even
Neighbor localization (actual relationships)
r
i
→
j,act
= [
d
i
→
j
α
i
→
j
]
T
25
Implementation
–
State Diagram
Implementation
–
Results
26
... and because embedding Windows’ own
media format is a too much for PowerPoint...
[
Click Here
]
Extending the Formation Definition
Consider a set
f'
of
M
mathematical functions:
f'
= {
f
1
(
x
)
,
f
2
(
x
)
, ...,
f
M
(
x
)}
F
= {
f'
,
R
,
Φ
,
p
seed
}
For desired relationships, each
f
m
(
x
)
is considered individually...
yielding its own 1

dimensional neighborhood
m
h
i
resulting in
M
neighborhoods and a 2

dimensional cellular automaton (
M
> 1
)
H
i
=
1
h
i
U
2
h
i
U
...
U
M
h
i
= {
M
c
1

1
,
…
,
2
c
1

1
,
1
c
1

1
,
c
1
,
1
c
1
+1
,
2
c
1
+1
,
…
,
M
c
1
+1
}
27
f
2
(
x
) =
x
√3
f
3
(
x
) =
–
x
√3
f
1
(
x
) = 0
1
h
i
=
1
{
c
i

1
,
c
i
,
c
i+1
}
2
h
i
=
2
{
c
i

1
,
c
i
,
c
i+1
}
3
h
i
=
3
{
c
i

1
,
c
i
,
c
i+1
}
R
28
How can this be applied to SSP?
Reflector viewed as 2

dimensional lattice of robots
and, thus, a 2

dimensional cellular automaton...
29
Multi

Function Formations
Desired relationship:
r
i
→
j,des
=
[
v
x
f
(
v
x
) ]
T
What
happened?
Original:
R
2
= (
v
x
–
p
i
,
x
)
2
+ (
f
(
v
x
)
–
p
i
,
y
)
2
30
Multi

Function Formations
Desired relationship:
r
i
→
j,des
=
[
v
x
f
(
v
x
) ]
T
What
happened?
Original:
R
2
= (
v
x
–
p
i
,
x
)
2
+ (
f
(
v
x
)
–
p
i
,
y
)
2
Alternative:
R
2
=
v
x
2
+
f
(
v
x
)
2
31
Multi

Function Formations
Desired relationship:
r
i
→
j,des
=
[
v
x
f
(
v
x
) ]
T
Similarly...
Original:
R
2
= (
v
x
–
p
i
,
x
)
2
+ (
f
(
v
x
)
–
p
i
,
y
)
2
32
Multi

Function Formations
Similarly...
Alternative:
R
2
=
v
x
2
+
f
(
v
x
)
2
33
Multi

Function Formations
34
Implementation
–
Robot
Platform
35
Implementation
–
Robot “Faces”
Visual identification
each robot has a unique three

color column...
vertical locations of color bands correspond to ID
green
on top for even,
magenta
on top for odd
5 locations
×
4 locations = 20 unique faces
36
Implementation
–
Robot “Faces”
“All around me are familiar faces... ”
Implementation
–
Results
37
[
Click Here
]
Conclusions
–
Algorithm
Designed and implemented a general
distributed robot formations algorithm...
able to conform to a wide variety of formations
Robots represented as cells in multi

dimensional cellular automata...
simple rule sets produce complex group behavior
Distinguishes itself as leaderless algorithm...
only communication is to instigate coordination
38
Conclusions
–
Robot Platform
Hardware
19 robots developed.
Accurate motion control.
Reasonable execution time.
Reliable communication.
Robot faces were excellent!
Software
Extensive and reusable
collection of libraries.
Greatest implementation
hurdle
—
Interactive C...
most time spent debugging
workarounds
—
not fixes
serial library deadlock
bug list is... amusing...
imposes harsh program size
... stay away!
39
Conclusions
–
Formation Classification
I.
Non

formation (swarm)
II.
Explicit formation
III.
Straight line formation
IV.
Function

based formation
V.
Branching formation
VI.
Lattice formation
40
Future Work
Dynamic neighborhoods
Seed election
Formation repair
Obstacle avoidance
Global positioning
3

dimensional formations
Disconnected formations
Formation classification
Analysis [
Click here
]
Formation management
42
43
Questions?
Mead, R. & Weinberg, J.B. (2008). A
Distributed Control Algorithm for Robots in
Grid Formations. To appear in the
Proceedings of the Robot Competition and
Exhibition of The 23
rd
National Conference
on Artificial Intelligence (AAAI

08), Chicago,
Illinois.
Mead, R. & Weinberg, J.B. (2008). 2

Dimensional Cellular Automata Approach for
Robot Grid Formations. To appear in
Student Abstracts and Poster Program of
The 23
rd
National Conference on Artificial
Intelligence (AAAI

08). Chicago, Illinois.
Mead, R., Weinberg, J.B., & Croxell, J.R.
(2007). A Demonstration of a Robot
Formation Control Algorithm and Platform.
To appear in the Proceedings of the Robot
Competition and Exhibition of The 22
nd
National Conference on Artificial Intelligence
(AAAI

07), Vancouver, British Columbia.
Mead, R., Weinberg, J.B., & Croxell, J.R.
(2007). An Implementation of Robot
Formations using Local Interactions. In the
Proceedings of The 22
nd
National
Conference on Artificial Intelligence (AAAI

07), 1889

1890. Vancouver, British
Columbia.
For more information, please visit
http://roboti.cs.siue.edu/projects/formations/
or see the following papers:
Enter the password to open this PDF file:
File name:

File size:

Title:

Author:

Subject:

Keywords:

Creation Date:

Modification Date:

Creator:

PDF Producer:

PDF Version:

Page Count:

Preparing document for printing…
0%
Comments 0
Log in to post a comment