Title,%20Introduction - PowerPoint PPT Presentation

About This Presentation
Title:

Title,%20Introduction

Description:

Title, Introduction – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 86
Provided by: jamesmc54
Category:

less

Transcript and Presenter's Notes

Title: Title,%20Introduction


1
Title, 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)
3
Why Multi-Robot Systems?
4
Contributions
  • 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
5
example application
6
1. Applications, Assumptions, and the
Computational Model
7
An Example Application Building Search
1. Disperse throughout a building2. Find an item
of interest3. Lead the user to the item
  • GuideBot
  • ChargingBot
  • InteriorBot
  • BoundaryBot

8
BlueFrontiers RedInterior GreenCharging
WhiteGuides
9
The 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
10
canonicalmulti-robot application
11
Our 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
12
Multi-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

13
formal model and apparatus
14
Experimental Apparatus SwarmBot
  • IR Inter-Robot Communicationsand Localization
  • Bump skirt for obstacle avoidance

And theyre all the same with unique ID
15
Model Robot State
  • We can describe the state, s, of a single robot
    as a tuple of its ID, pose, and private and
    public variables

16
Model 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
17
Model Configuration
  • We define a configuration, C, as the states of n
    robots
  • All the robots use the same software and hardware

18
Model 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
19
Model Configuration Graph
  • A configuration C and communication radius r
    produces a
  • configuration graph G
  • C is valid iff G is connected

r
20
Model 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
21
Model 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

22
Experimental Apparatus Data Collection
  • Radio
  • Behavior LEDs
  • Beacon for position measurement

23
Experimental Apparatus
24
message speed and the RSR
25
2. Message Speed and the Robot Speed Ratio
26
Broadcast 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
27
Global 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

28
Broadcast 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)
29
Network Path Length
30
Distance 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
31
Message Speed and Robot Speed
  • We can compute the propagation speed of the
    messages

0 hops (root)
robot speed
The Robot Speed Ratio
32
The 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

33
Computing 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
34
RSR 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

35
Does the RSR Really Matter?
  • This is silly. Arent communications always
    faster than robots?

vs.
36
Message Speed
smessage (computed) 6.9 m/s smessage (measured)
4.4 m/s
n 44, t 0.250s, speed 0, RSR 0
37
broadcast tree navigation
38
3. Multi-Robot Distributed Algorithms
39
Algorithm 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
40
Broadcast 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
41
But 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
42
Broadcast 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
43
Communications 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
44
local boundary classification the c-shape
algorithm
45
Boundary Detection
  • Three Algorithms
  • Local boundary classification
  • Boundary subgraph construction
  • Global boundary classification
  • Useful for
  • Perimeter estimation
  • Void remediation
  • Obstacle characterization
  • Target tracking
  • Group cohesion

46
Boundary 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
47
Alpha 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
48
What a to use?
49
Cant 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
50
Local 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

51
Local 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

52
Boundary Detection
fix covered text draw pictures in blackness
mode label local articulation points
53
Problems with C-Shapes
  • Extra robots in concave crossings
  • Incomplete internal boundaries

54
Local Boundary Classification
55
boundary subgraph construction
56
Boundary 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

57
Boundary 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

58
Boundary Subgraph Construction
59
Boundary Helpers
  • Boundary subgraph is fragile, with min-cut of 1
  • Boundary Helpers patch holes in connectivity

60
Boundary 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
61
Conjecture 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
62
global boundary classification
63
Global 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

64
Global Boundary Classification Algorithm
  • Computes the exterior angle of the boundary
    polygon
  • exterior angle Sturning angles of boundary
    robots
  • uses convergecast summation

65
Global Boundary Classification
remove data use picture
66
Global Boundary Classification
67
Boundary Detection Summary
  • one-hop communications

broadcast tree communications
broadcast convergcast rebroadcast
communications
68
discussion
69
4. Conclusions
70
All 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
71
Does This Apply to all Robots?
  • Are there conserved quantities in this model?
  • Is there a parameterization to facilitate
    comparisons across disparate hardware platforms?

72
Future 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
73
Contributions
  • 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
  • Singapore-MIT Alliance

75
Acknowledgements 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)
77
Extra Slides
78
The 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

79
Why is the problem that I solved hard
  • What has been done
  • related work is general
  • Local coordinates makes it hard

80
Talk 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

81
Model Valid Configuration
  • C is valid iff G is connected

r
82
Software Design for Multi-Robot Systems
83
Multi-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
84
The 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
85
Distributed Boundary Detection C-Shape
  • Robots that have missing sectors are on the
    boundary
  • Physical accuracy depends on measurement accuracy
    of local network geometry

86
Concave Crossing
  • Robots that have missing sectors are on the
    boundary
  • Physical accuracy depends on measurement accuracy
    of local network geometry

87
Algorithm 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
88
Global Boundary Classification
89
(No Transcript)
90
Why Multi-Robot Systems?
91
Boundary 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
92
Global 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

93
Related 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

94
Convergecast Summation
add algorithm spec sheet
add algorithm description?
95
Limitations
  • The definition of the accuracy metric is
    application-specific
  • e.g. distance accuracy vs. throughput on routing
    trees

96
multi-robot complexity metrics
97
Related 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
98
dynamic Task assignment
99
Talk Outline
100
Dynamic 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
101
DTA 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
102
DTA 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
103
DTA 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
104
DTA 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
105
Four 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
106
DTA in Moving Networks
Dynamic Task Assignment Accuracy vs. Network
Speed (data goes here)
Write a Comment
User Comments (0)
About PowerShow.com