Title: Title,%20Introduction
1Title, Introduction
Analysis and Implementation of Distributed
Algorithms for Multi-Robot Systems
James McLurkin jamesm_at_csail.mit.edu MIT Computer
Science and Artificial Intelligence Lab
2(No Transcript)
3Why Multi-Robot Systems?
4Contributions
- Distributed algorithms with provable correctness
in ideal conditions and robust real-world
performance - Complexity metrics for computation on multi-robot
systems - Empirical verification of trade-offs between
algorithm accuracy, communications usage and
robot speed
With one outstanding conjecture
5example application
61. Applications, Assumptions, and the
Computational Model
7An Example Application Building Search
1. Disperse throughout a building2. Find an item
of interest3. Lead the user to the item
- GuideBot
- ChargingBot
- InteriorBot
- BoundaryBot
8BlueFrontiers RedInterior GreenCharging
WhiteGuides
9The Algorithms from the Video
- Weve seen two different algorithms
- Weve also seen that
- The robots move around a lot,
- They respond to their neighbors to maintain a
uniform density - They sometimes leave the group to go charge.
Navigation
Boundary Detection
Navigation
10canonicalmulti-robot application
11Our Canonical Multi-Robot Application has
- high robot mobility
- short-range local communication multi-hop
global communication - a noisy sensor on each robot to measure the
positions of other robots - algorithms that are robust to population changes
and robot failures
we are focused on explain long range-gthigh
bandwidth
12Multi-Robot Applications are Hard Because of
- high robot mobility
- short-range local communication multi-hop
global communication - a noisy sensor on each robot to measure the
positions of other robots - algorithms that are robust to population changes
and robot failures
13formal model and apparatus
14Experimental Apparatus SwarmBot
- IR Inter-Robot Communicationsand Localization
- Bump skirt for obstacle avoidance
And theyre all the same with unique ID
15Model Robot State
- We can describe the state, s, of a single robot
as a tuple of its ID, pose, and private and
public variables
16Model Robot State
- We can describe the state, s, of a single robot
as a tuple of its pose and private and public
variables - s ?ID, pose, private vars, public vars?
?
posex,y,?
y
x
external global coordinate system
17Model Configuration
- We define a configuration, C, as the states of n
robots - All the robots use the same software and hardware
18Model Local Network Geometry
- Each robot can communicate with and localize
neighboring robots within radius r
r
robot b pose estimateabxab,yab,?ab
robot a local coordinate system
robot c poseacxac,yac,?ac
19Model Configuration Graph
- A configuration C and communication radius r
produces a - configuration graph G
- C is valid iff G is connected
r
20Model Periodic Communications
- Each robot broadcasts its public vars every t
seconds - We assume local communications are reliable
- This creates a synchronizer, giving us global
rounds
verify that synchronizer is what I think say
that robots are not synchronized
21Model Algorithm
- An algorithm A runs on every robot and transforms
any configuration C1 through valid intermediate
configurations to a new configuration C2, s.t.
C2 satisfies a given set of properties
22Experimental Apparatus Data Collection
- Radio
- Behavior LEDs
- Beacon for position measurement
23Experimental Apparatus
24message speed and the RSR
252. Message Speed and the Robot Speed Ratio
26Broadcast Tree Construction
- The main form of communication is multi-hop
broadcast - The messages form a broadcast tree on the graph
as they propagate
source
Intanagonwiwat, Govindan, Estrin. Directed
Diffusion A Scalable and Robust Communication
Paradigm for Sensor Networks, 2000
27Global Communications Structure
- We use five types, color-coded on the plots
- No Communication
- One-Hop Communication
- Broadcast Tree Construction
- Convergecast
- Convergecast Rebroadcast
- Broadcast Tree Construction Physical Routing
- Each type requires a more stable network than the
previous type
28Broadcast Tree
- Hops are distributed in a spatial way
- Any robot can estimate distance and direction to
root
1 hop
2 hops
3 hops
source
0 hops (root)
29Network Path Length
30Distance per Communication Hop
- The max crookedness of any path is the
t-spanner, k - We compute the average k to estimate the distance
per hop,
In our networks,
Kleinrock and Silvester, Optimum Transmission
Radii for Packet Radio Networks, 1978
31Message Speed and Robot Speed
- We can compute the propagation speed of the
messages
0 hops (root)
robot speed
The Robot Speed Ratio
32The Robot Speed Ratio (RSR)
- A dimensionless measure of robot speed in
multi-robot systems - A robot moving at a RSR gt 1 away from a message
source cannot execute an algorithm using
broadcast communication - We would expect that robots executing an
algorithm at a low RSR would be more accurate
than at a high RSR - We can compute the RSR from system parameters
33Computing the RSR
- If someone hands you a box of robots, an
algorithm, and a building
you can express message speed in terms of system
parameters
34RSR Trade-Offs
- For a given constant RSR, you can
- Trade robot speed for communications bandwidth
- Trace CA, algorithm communications complexity,
for robot speed - Trade neighbor count for robot speed
35Does the RSR Really Matter?
- This is silly. Arent communications always
faster than robots?
vs.
36Message Speed
smessage (computed) 6.9 m/s smessage (measured)
4.4 m/s
n 44, t 0.250s, speed 0, RSR 0
37broadcast tree navigation
383. Multi-Robot Distributed Algorithms
39Algorithm Broadcast Tree Navigation
- Purpose
- To guide an active robot from anywhere in the
configuration to the root robot - Requires
- A broadcast routing tree
- An active robot
- Communications Type
- Broadcast Tree
- Running Time
- O(diam(C)) time
- Output Configuration
- Active robot veryclose to root robot
- Accuracy Metric
- Path Efficiency
n 32, t 0.250s, speed 0, RSR 0
Spears, Spears, Hamann, and Heil, Distributed,
Physics-Based Control of Swarms of Vehicles, 2004
40Broadcast Tree Navigation
- A robot uses the broadcast tree to navigate
towards the source
1 hop
2 hops
3 hops
0 hops (root)
0 hops (root)
Li and Rus, Navigation Protocols in Sensor
Networks, 2005
41But What if the Tree is Moving?
- Motion smears network and reduces the
correspondence between network topology and
physical positions
n 33, t 0.250s, speed 0.08, RSR 0.02
42Broadcast Tree Navigation Algorithm
n 25,t 0.250s,speed 0.08m/s,RSR 0.02
n 26,t 4s,speed 0.08m/s,RSR 0.02
43Communications and Navigation Summary
one-hop communications
broadcast tree communications
broadcast convergcast rebroadcast
communications
broadcast tree physical routing
cant say that these lines decay at different
(better) rates
44local boundary classification the c-shape
algorithm
45Boundary Detection
- Three Algorithms
- Local boundary classification
- Boundary subgraph construction
- Global boundary classification
- Useful for
- Perimeter estimation
- Void remediation
- Obstacle characterization
- Target tracking
- Group cohesion
46Boundary Detection Related Work
- Pfisterer, Fischer, Buschmann, Fekete, Kröller,
Neighborhood-Based Topology Recognition in Sensor
Networks, 2004 - Edelsbrunner, Kirkpatrick, and Seidel, On the
Shape of a Set of Points in the Plane, 1983
(Alpha-Shapes)
give definition of what a boundary is
next defn of a-shape alg for computing
a-shapes alg needs d-triangulation we cant
compute d-triangulation
47Alpha Shapes1
- Any point on a disc of radius 1/a that contains
no other points is a boundary
1. Edelsbrunner, Kirkpatrick, and Seidel, On the
Shape of a Set of Points in the Plane, 1983
fix oclusion Start with definition then algorithm
48What a to use?
49Cant Compute Distributed a-Shapes
- The robots cannot agree on boundary nodes in the
concave crossing case
bullet local decisions affect global
algorithmic this is difference between local
c-shape and alpha shape new slide We want to
define a boundary that is similar to the a-shape,
but computable in a dist fashion
50Local Boundary Classification Algorithm C-Shape
- Purpose
- To determine which robots are on the boundary of
the configuration in a distributed fashion - Requires
- n/a
- Communications Type
- One-Hop
- Running Time
- O(1) round
- Output Configuration
- boundary robots flagged
- Accuracy Metric
51Local Boundary Classification Algorithm C-Shape
- 1. Sort neighbors in cyclic order by local
bearing - 2. Use inferred edges to look for cycle through
all neighbors in order - 3. If cycle exists ? not boundary robot
- Handles concave crossing case by admitting all
robots
52Boundary Detection
fix covered text draw pictures in blackness
mode label local articulation points
53Problems with C-Shapes
- Extra robots in concave crossings
- Incomplete internal boundaries
54Local Boundary Classification
55boundary subgraph construction
56Boundary Subgraph Construction
- Purpose
- To determine which robots are on the same
boundary - Requires
- Local Boundary Class
- Communications Type
- Broadcast Tree
- Running Time
- O(diam(G)) rounds
- Output Configuration
- Boundary ID (BID) lowest robot ID on boundary
- Accuracy Metric
57Boundary Subgraph Construction
- Each boundary runs leader election algorithm to
form subgraph and agree on name - Accuracy relies on boundary subgraph being stable
long enough for the message to get all the way
around
58Boundary Subgraph Construction
59Boundary Helpers
- Boundary subgraph is fragile, with min-cut of 1
- Boundary Helpers patch holes in connectivity
60Boundary Subgraph Construction
- Harsh accuracy metric produces bimodal
distribution
define metric again explain odd behavior
explain metric did I get word right compared to
did I get whole sentence right
61Conjecture of Contiguous Exterior Boundary
Subgraph
G
- If
- Each exterior boundary robot is adjacent to the
outer face - and
- Both of each boundary robots boundary subgraph
neighbors are also boundaries - then
- the boundary is contiguous
- The problem? Concave crossings.
- Solution Define G with crossing boundary edges
removed, and patch boundary between affected
robots - Show that all other properties hold
G
62global boundary classification
63Global Boundary Classification
- Purpose
- To determine if boundaries are external or
internal - Requires
- Boundary Subgraph
- Communications Type
- Broadcast Tree Convergecast Rebroadcast
- Running Time
- O(diam(G)) rounds
- Output Configuration
- All boundary robots know their boundary type
- Accuracy Metric
64Global Boundary Classification Algorithm
- Computes the exterior angle of the boundary
polygon - exterior angle Sturning angles of boundary
robots - uses convergecast summation
65Global Boundary Classification
remove data use picture
66Global Boundary Classification
67Boundary Detection Summary
broadcast tree communications
broadcast convergcast rebroadcast
communications
68discussion
694. Conclusions
70All the Algorithms
- Physical accuracy depends on RSR and
communications type
one-hop communications
broadcast tree communications
broadcast convergcast rebroadcast
communications
broadcast tree physical routing
Rus, Donald, Jennings, Moving Furniture with
Teams of Autonomous Robots, 1995 OKane and
LaValle, On Comparing the Power of Robots
This is about trade-offs rus and spears
71Does This Apply to all Robots?
- Are there conserved quantities in this model?
- Is there a parameterization to facilitate
comparisons across disparate hardware platforms?
72Future Work
- Geometric Consensus and Algorithm Classes
- Do we have to solve a distributed consensus
problem to use a global algorithm on a system
with local network geometry? - Can we design overlapping consensus regions or
low-quality, but nimble, geometry? - Error Rates of Self-Stabilizing Distributed
Algorithms - We ultimately want to measure something like
- Network people measure network half-life to
characterize topology changes
of correct bits computed by Alg/sec of
erroneous bits injected by environment/sec
high-level, abstract
73Contributions
- Algorithms with provable correctness in ideal
conditions and robust real-world performance - Complexity metrics for computation on multi-robot
systems - Physical Accuracy
- Communication Complexity
- Verification of trade-offs between configuration
accuracy, communication complexity and the robot
speed ratio
74 75Acknowledgements The Fiancé Dara Bourne for
Everything The Advisor Leslie Kaelbling For all
of her patience and advice The Committee Erik
Demaine, Daniela Rus, Seth Teller The man whos
been showing mehow to build stuff right since
1991 Ron Wiken iRobot Jim Frankel and Jennifer
Smith The Graduate Students Aisha Walcott Ed
Olsen Mac Schwager The Brainy Ladies from
G585 Sarah Finney Meg Aycinena Emme
Brunskill Natalia Hernandez Gardiol Kaijen
Hsiao and Luke Zettlemoyer The Many Great
UROPS David Blau Brian Schmidt Alexander
Sanchez Rian Hunter Angelique Moscicki Jeremy
Smith Tony Valderrama
76(No Transcript)
77Extra Slides
78The Standard Answers
- C
- Atmel AT91FR4081 ARM7TDMI core _at_ 40.5mhz
- 1 MB and 3 MB
- 8 Ni-Cd AA
- 4 hours and 1 hour
- ThreadX Real-Time Kernel and Custom OS
- 12 engineer-years
- about 45 minutes
79Why is the problem that I solved hard
- What has been done
- related work is general
- Local coordinates makes it hard
80Talk Outline
- Preliminaries
- Example Application
- Canonical application
- Formal model
- Complexity metrics for multi-robot systems
- Message Speed and the Robot Speed Ratio
- Multi-Robot Distributed Algorithms
- Broadcast tree navigation
- Local boundary detection
- Boundary subgraph construction
- Global boundary detection
- Conclusions
81Model Valid Configuration
- C is valid iff G is connected
r
82Software Design for Multi-Robot Systems
83Multi-Robot Complexity Metrics
Physical Accuracy
Physical Running Time, PTA
pretty pictures go here
pretty pictures go here
Accuracy 0,1
Communications Complexity
Configuration Complexity, GCA
pretty pictures go here
pretty pictures go here
84The Broadcast Tree Root Vector Algorithm
- Computes the approximate location and direction
to root
Nagpal, Shrobe, Bachrach, Organizing a Global
Coordinate System from Local Information on an Ad
Hoc Sensor Network
85Distributed Boundary Detection C-Shape
- Robots that have missing sectors are on the
boundary - Physical accuracy depends on measurement accuracy
of local network geometry
86Concave Crossing
- Robots that have missing sectors are on the
boundary - Physical accuracy depends on measurement accuracy
of local network geometry
87Algorithm Summary
Running time Communications complexity (bits/robot/cycle) Communication Type
DTA Random-Assignment O(1) - No communication
Local Boundary Classification O(m2) - Network Geometry
DTA Simultaneous-Assignment O(diam(G)) O(n) Broadcast Effectiveness
DTA Sequential-Assignment O(ndiam(G)) O(1) Broadcast Tree Construction Routing
Boundary Subgraph Construction O(diam(G)) O(1) Broadcast Tree Construction Routing
Boundary Classification O(diam(G)) O(1) Broadcast Tree Construction Routing Rebroadcast
DTA Tree-Based-Assignment O(diam(G)) O(m) Broadcast Tree Construction Routing Rebroadcast
88Global Boundary Classification
89(No Transcript)
90Why Multi-Robot Systems?
91Boundary Detection
- We want to be able to tell which robots are on
the boundary of the network - We want to be able to tell which robots are on
the same boundary - We want to be able to distinguish the external
boundary from internal internal voids
why is boundary detection useful
92Global Subgraph Classification
- Each boundary subgraph
- 1. Classifies itself based on constituent robots
convex, concave, convex-concave - 2. Classifies itself based on sum of angles
external versus internal - Runs in O(diam(G)) time, but requires two-way
network communication, and will only be accurate
at low speeds
93Related Work
- Multi-Robot Systems
- Maja J Mataric, 1994
- Spears, W., D. Spears, J. Hamann, and R. Heil,
2004 - Sensor Networks
- C Intanagonwiwat, R Govindan, D Estrin. 2000
- David Culler Alec Woo, Terence Tong. 2003
- Amorphous Computing
- Coore, Daniel, 1994
- Computational Geometry
- Xiang-Yang Li, Gruia Calinescu, and Peng-Jun
Wang. 2002 - D. Pfisterer, S. Fischer, C. Buschmann, S.P.
Fekete, A Kröller, 2004
94Convergecast Summation
add algorithm spec sheet
add algorithm description?
95Limitations
- The definition of the accuracy metric is
application-specific - e.g. distance accuracy vs. throughput on routing
trees
96multi-robot complexity metrics
97Related Work Metrics
- Complexity trade-offs between sensors and
computation - Rus, Donald, Jennings, Moving Furniture with
Teams of Autonomous Robots, 1995 - OKane and LaValle, On Comparing the Power of
Robots - Donald, On Information Invariants in Robotics,
1994 - Accuracy Metrics
- Spears, Spears, Hamann, and Heil, Distributed,
Physics-Based Control of Swarms of Vehicles,
2004 - Kannan and Parker, Metrics for quantifying
system performance in intelligent, fault-tolerant
multi-robot teams, 2007
Rus, Donald, Jennings, Moving Furniture with
Teams of Autonomous Robots, 1995 OKane and
LaValle, On Comparing the Power of Robots
spent too much time on related work add all refs
here, talk about few
98dynamic Task assignment
99Talk Outline
100Dynamic Task Assignment (DTA)
- Group tasks often need to be decomposed into
subtasks - Given an input of percentages, assign robots to
tasks - For example, the vector (1/6 , 1/3 , 1/2) applied
to 12 robots would produce the assignment shown
below
Desired Task Ratio
101DTA Random-Assignment
goal assignment T(1/6 , 1/3 , 1/2)
random-assignment algorithm 1. if task
is unassigned 2. pick task i with probability
ti 3. end
Time O(1) Comms
0 Error Variance O(1/n)
Communications required none
102DTA Sequential-Assignment
goal assignment T(1/6 , 1/3 , 1/2)
sequential-assignment algorithm
1. loop 2. while there are unassigned robots 3.
find lowest ID amongst unassigned robots 4.
wait diam(G) periods to allow message
propagation 5. if lowest select
task else wait until next round 6. endif 7.
endwhile 8. clear task assignments 9. endloop
Time O(ndiam(G))
Comms O(1) Error Variance 0
Communications required Need spatial
relationship to estimate diameter
103DTA Simultaneous-Assignment
goal assignment T(1/6 , 1/3 , 1/2)
simultaneous-assignment algorithm
1. loop 2. receive msg 3. if msg does not
contain my ID 4. add my ID to
msg 5. endif 6. pick task based on ID position in
msg 7. xmit msg 8. endloop
Time O(diam(G)) Comms
O(n) Error Variance 0
Communications required Need effective
communications across network
104DTA Tree-Based-Assignment
goal assignment T(1/6 , 1/3 , 1/2)
tree-based-assignment algorithm
1. loop 2. elect leader 3. if leader 4. gather
global task distribution 5. compute assignment
changes 6. broadcast reassignment msgs 7. elseif
receive reassignment msg 8. change
task 9. endif 10.endloop
Time O(diam(G)) Comms
O(1) Error Variance 0
Communications required Need stable tree for
routing
105Four Dynamic Task Assignment Algorithms
Running time Communications complexity (bits/robot/cycle) Ideal Error Variance Measured Accuracy
Random-Assignment O(1) 0 O(1/n) -
Sequential-Assignment O(ndiam(G)) O(1) 0 1.0
Simultaneous-Assignment O(diam(G)) O(n) 0 1.0
Tree-Based-Assignment O(diam(G)) O(m) 0 0.9
106DTA in Moving Networks
Dynamic Task Assignment Accuracy vs. Network
Speed (data goes here)