Team-Triggered Coordination of Robotic Networks for Optimal

Team-Triggered Coordination of Robotic Networks
for Optimal Deployment
Cameron Nowzari1 , Jorge Cortés2, and George J. Pappas1
Electrical and Systems Engineering1
University of Pennsylvania
Mechanical and Aerospace Engineering2
University of California, San Diego
American Control Conference
Chicago, Illinois
July 3, 2015
-Coordination of robotic networksEach individual
senses immediate environment
communicates with others
processes information gathered
takes action in response
Multiple agents provide
inherent robustness
adaptive behavior
enable tasks beyond
individuals’ capabilities
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
2 / 22
-Optimal deployment- of robotic sensor networks
Objective: optimal task allocation and space partitioning
optimal placement and tuning of sensors
Why?
servicing
resource allocation
environmental monitoring
data collection
force protection
surveillance
search and rescue
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
3 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
Eve, where are you?!
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
Eve, where are you?!
C. Nowzari (Penn)
Team-triggered deployment
I’m here!
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
Now where are you?
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
Now where are you?
C. Nowzari (Penn)
Team-triggered deployment
Still here!
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
How about now?
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
How about now?
C. Nowzari (Penn)
Team-triggered deployment
Still here...
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
And now??
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
And now??
C. Nowzari (Penn)
Leave me alone.
Team-triggered deployment
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentTime-triggered (periodic) coordination
Agents take actions at some fixed period T
And now??
Leave me alone.
Simple, but Wasteful
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
4 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
Eve, where are you?!
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
Eve, where are you?!
C. Nowzari (Penn)
Team-triggered deployment
I’m here!
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
(She probably hasn’t moved too far...)
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
(She probably hasn’t moved too far...)
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
(I’ll ask her again in a few seconds)
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
(I’ll ask her again in a few seconds)
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
Now where are you?
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
Now where are you?
C. Nowzari (Penn)
Team-triggered deployment
Still here!
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deploymentSelf-triggered coordination
Agents decide when to take actions based on available information
Now where are you?
Still here!
Actions taken only when necessary, but potentially still conservative!
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
5 / 22
Real-time implementations of -optimal deployment-Team-triggered coordination-
Cooperative agents share more information with each other
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
6 / 22
Real-time implementations of -optimal deployment-Team-triggered coordination-
Cooperative agents share more information with each other
Eve, where are you?!
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
6 / 22
Real-time implementations of -optimal deployment-Team-triggered coordination-
Cooperative agents share more information with each other
Eve, where are you?!
C. Nowzari (Penn)
Team-triggered deployment
I’m here!
Fri. July 3rd
6 / 22
Real-time implementations of -optimal deployment-Team-triggered coordination-
Cooperative agents share more information with each other
But I’m going this way!
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
6 / 22
Real-time implementations of -optimal deployment-Team-triggered coordination-
Cooperative agents share more information with each other
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
6 / 22
Real-time implementations of -optimal deployment-Team-triggered coordination-
Cooperative agents share more information with each other
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
6 / 22
Real-time implementations of -optimal deployment-Team-triggered coordination-
Cooperative agents share more information with each other
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
6 / 22
Real-time implementations of -optimal deployment-Team-triggered coordination-
Cooperative agents share more information with each other
Higher quality information allows for less communication!
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
6 / 22
-Team-triggered- control
Objective: Combine best properties of event- and self-triggered strategies
into a unified, implementable approach
How?
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
7 / 22
-Team-triggered- control
Objective: Combine best properties of event- and self-triggered strategies
into a unified, implementable approach
How?
Agents make promises to
neighbors about their future
states
Agents warn each other when
promises need to be broken
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
7 / 22
Outline
1
Motivation
2
Problem Formulation
aggregate objective optimization
Voronoi partition
3
Triggered Deployment Algorithms
self-triggered deployment algorithm
team-triggered deployment algorithm
simulations
4
Conclusions
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
8 / 22
Expected-value multicenter function
Objective: Given sensors/nodes/robots/sites (p1 , . . . , pn ) moving in
environment S achieve optimal coverage
φ : Rd → R≥0 density
agent performance decreases with distance
minimize
C. Nowzari (Penn)
H(p1 , . . . , pn ) = Eφ
min
i∈{1,...,n}
Team-triggered deployment
kq − pi k
2
Fri. July 3rd
9 / 22
Voronoi partitions
Let (p1 , . . . , pn ) ∈ S n denote the positions of n points
The Voronoi partition V(P ) = {V1 , . . . , Vn } generated by (p1 , . . . , pn )
Vi = {q ∈ S| kq − pi k ≤ kq − pj k , ∀j 6= i}
= S ∩j HP(pi , pj )
3 generators
C. Nowzari (Penn)
where HP(pi , pj ) is half plane (pi , pj )
5 generators
Team-triggered deployment
50 generators
Fri. July 3rd
10 / 22
Optimal configurations of H
Alternative expression in terms of Voronoi partition,
H(p1 , . . . , pn ) =
n Z
X
i=1
kq − pi k22 φ(q)dq
Vi
H as a function of agent positions and partition,
H(p1 , . . . , pn , W1 , . . . , Wn ) =
≤
n Z
X
f (kq − pi k2 )φ(q)dq
i=1 Wi
n Z
X
f (kq − pi k2 )φ(q)dq
i=1
Vi
For fixed positions, Voronoi partition is optimal
For fixed partition, centroid configurations are optimal
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
11 / 22
Centroid algorithm
[Cortes, Martinez, Karatas, Bullo ’04]
At each round, agents synchronously execute:
transmit position and receive neighbors’ positions;
compute centroid of own cell determined according to some notion of
partition of the environment
Between communication rounds, each robot moves toward centroid
initial configuration
gradient descent
final configuration
Properties: provably correct, adaptive, distributed over Voronoi graph
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
12 / 22
Outline
1
Motivation
2
Problem Formulation
aggregate objective optimization
Voronoi partition
3
Triggered Deployment Algorithms
self-triggered deployment algorithm
team-triggered deployment algorithm
simulations
4
Conclusions
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
13 / 22
Trading computation for communication/sensing
Balance cost of up-to-date information with limited resources
what can agents do with outdated information about each other?
Agents have uncertainty regions on other agents
how up-to-date information must be to positively
contribute to task
when information must be updated
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
14 / 22
Trading computation for communication/sensing
Balance cost of up-to-date information with limited resources
what can agents do with outdated information about each other?
Agents have uncertainty regions on other agents
how up-to-date information must be to positively
contribute to task
when information must be updated
Each agent i stores Di = ((pi1 , r1i ), . . . , (pin , rni )),
pij : last known location of agent j
rji : maximum distance traveled by agent j since last info
pii = pi and rii = 0
Agents move at max speed vmax
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
14 / 22
Guaranteed Voronoi diagram
Guaranteed Voronoi diagram gV(D1 , . . . , Dn ) = {gV1 , . . . , gVn } of S
generated by D1 , . . . , Dn ⊂ S,
gVi = {q ∈ S | max kq − xk2 ≤ min kq − yk2 for all j 6= i}
x∈Di
y∈Dj
gVi contains points guaranteed to be closer to any point in Di than to any
other point in Dj , j 6= i
In general, for pi ∈ Di , gVi ⊂ Vi
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
15 / 22
Dual guaranteed Voronoi diagram
Dual guaranteed Voronoi diagram dgV(D1 , . . . , Dn ) = {dgV1 , . . . , dgVn }
of S generated by D1 , . . . , Dn ⊂ S,
dgVi = {q ∈ S | min kq − xk2 ≤ max kq − yk2 for all j 6= i}
x∈Di
y∈Dj
Points outside dgVi are guaranteed to be closer to any point of Dj than to any
point of Di
In general, for pi ∈ Di , Vi ⊂ dgVi
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
16 / 22
When is motion good?
[Nowzari, Cortés ’12]
With outdated info, agent i cannot calculate CVi
Proposition
Let L ⊂ V ⊂ U . Then, for any density function φ,
mass(L) kCV − CL k2 ≤ bound(L, U ) = 2 cr(U ) 1 −
mass(U )
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
17 / 22
When is motion good?
[Nowzari, Cortés ’12]
With outdated info, agent i cannot calculate CVi
Proposition
Let L ⊂ V ⊂ U . Then, for any density function φ,
mass(L) kCV − CL k2 ≤ bound(L, U ) = 2 cr(U ) 1 −
mass(U )
CVi
Agent i moves from pi to p′i making sure that
kp′i − CgVi k2 ≥ boundi = bound(gVi , dgVi )
≥ kCVi − CgVi k2
move towards CgVi as much as possible in one
time step until it is within distance boundi of it.
As time elapses without new info, bound grows
C. Nowzari (Penn)
Team-triggered deployment
CgVi
p′i
pi
Fri. July 3rd
17 / 22
Triggered coordination algorithms
Reachable sets
self-triggered centroid algorithm combines
motion law
self-triggered update policy (requesting information)
Proposition
Set of Centroidal Voronoi Configurations is globally asymptotically stable
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
18 / 22
Triggered coordination algorithms
Reachable sets
self-triggered centroid algorithm combines
Promise sets
motion law
self-triggered update policy (requesting information)
Proposition
Set of Centroidal Voronoi Configurations is globally asymptotically stable
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
18 / 22
Triggered coordination algorithms
Reachable sets
team-triggered centroid algorithm combines
Promise sets
motion law
self-triggered update policy (requesting information)
event-triggered update policy (broken promises)
Proposition
Set of Centroidal Voronoi Configurations is globally asymptotically stable
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
18 / 22
Simulations
Periodic
C. Nowzari (Penn)
Self-triggered
Team-triggered deployment
Team-triggered
Fri. July 3rd
19 / 22
Simulations
Communication cost and performance
dBmW power units:

n
X
Pi = 10 log10 

i,j comm
18
100.1+kpi −pj k2 
300
Periodic
16
Periodic
14
Team-trigger (λ = .25)
Team-trigger (λ = .25)
250
Team-trigger (λ = .5)
Team-trigger (λ = .5)
12
Self-trigger
200
Self-trigger
10
150
8
H
6
Ncomm
100
4
50
2
0
0
10
20
30
40
50
60
70
80
0
0
10
Timestep
C. Nowzari (Penn)
20
30
40
50
60
70
80
Timestep
Team-triggered deployment
Fri. July 3rd
20 / 22
Simulation
Effect of varying promise sizes
λ captures the tightness of promises
λ = 0 corresponds to exact trajectories for promises
λ = 1 corresponds to no promises (recovers self-triggered case)
80
140
70
120
Team-triggered
60
Periodic
100
50
80
Pavg
Tcon40
60
30
Team-triggered
40
Periodic
20
20
0
10
0
0.2
0.4
0.6
0.8
1
0
0
C. Nowzari (Penn)
0.2
0.4
0.6
0.8
1
λ
λ
Team-triggered deployment
Fri. July 3rd
21 / 22
Conclusions
Team-triggered deployment of robotic networks for optimal deployment
team-triggered centroid algorithm
correct, adaptive, distributed, asynchronous
same convergence guarantees as synchronous algorithm with perfect
information at all times
reduced communication efforts throughout the network
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
22 / 22
Conclusions
Team-triggered deployment of robotic networks for optimal deployment
team-triggered centroid algorithm
correct, adaptive, distributed, asynchronous
same convergence guarantees as synchronous algorithm with perfect
information at all times
reduced communication efforts throughout the network
Things I skipped:
how agents update information
guaranteeing no Zeno behavior
maximum times without communication
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
22 / 22
Thank you!
C. Nowzari (Penn)
Team-triggered deployment
Fri. July 3rd
22 / 22