# PPT

AI and Robotics

Dec 1, 2013 (4 years and 5 months ago)

94 views

Thesis Presentation
:

Cellular Automata for

Control and Interactions of

Large Formations of Robots

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

Φ

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

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

Φ

..

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...

[

]

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

[

]

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

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

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 [

]

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.