PPT

rucksackbulgeAI and Robotics

Dec 1, 2013 (3 years and 6 months ago)

63 views

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: