Upload
ely
View
28
Download
0
Embed Size (px)
DESCRIPTION
Motion Coordination using Virtual Nodes. Nancy Lynch Sayan Mitra Tina Nolte. Recently submitted to CDC 2005. Motion Coordination Problem. Curve Γ. Set of mobile nodes. B. Ideal Solution. - PowerPoint PPT Presentation
Citation preview
Motion Coordination using Virtual Nodes
Nancy Lynch
Sayan Mitra
Tina Nolte
Recently submitted to CDC 2005
Motion Coordination Problem
B
Curve Γ
Set of mobile nodes
Ideal Solution
B
Curve Γ
Given some curve Γ, and a finite but a priori unknown set of mobile nodes, initially in arbitrary positions, move the nodes so that they are evenly spaced on the curve.
Approximate Solution
Use only local information about Γ
Some nodes are not on Γ
Distribution “approximately” proportional to length in each zone
Even spacing in each zone
Framework using VNs• Programming a large number of nodes can be hard
• Consistent decision making
• Stationary Virtual Nodes (VN) located in disjoint zones
• Acts like a “centralized coordinator” for the zone
• Directs motion of Client Nodes (CN) in the zone
• Useful for solving other coordination problems
VN1,1
VN1,2
VN1,3
VN2,1
VN2,2
VN2,3
B
CNi
CN1
CN2
Definitions
differentiable parameterized curve Γ: P B P is an interval in the real line
regular : for all p, |Γ’(p)| ≠ 0
arc length s(Γ,a,b) =
simple : does not cross Γ-1(x) = p, unique
parameterized by arc length: for all p,| Γ’(p)| =1 s(Γ,a,b) = b –a
x1, x2,… xn are evenly spaced on Γ if for each i
1≤ i ≤ n, pi = Γ-1(xi), and
pi – pi-1 = pi+1 - pi
b
a
dp|(p)' |
Ph : domain of Γh
|Ph| : size of the interval Ph also length of Γh
qh : quantized length
qmin (nonzero)
qmax
Definitions (cont.)
B2,1
B1,2
B3,4
B2,2
Γ3,4Γ2,2Γ2,1
,|P| h
Goal
Design algorithm that runs on mobile nodes such that, if failures and recoveries stop after a certain point in time, then
(a) within finite time the set Yh of nodes in each zone Bh, h є
H, becomes fixed and |Yh| is “approximately” proportional
to qh,
(b) within finite time the nodes in zone Bh are on Γh, and
(c) in the limit, the nodes in zone Bh are evenly spaced on Γh.
VN architecture next.
Physical Layer
Bounded square B in R2
Three kinds of HIOA: PNi, i in I, physical nodes LBcast, local broadcast
service RW, real world
B
RW LBcast
send(m)i
receive(m)ix2
v2
realtime
PNi
PN1
PN2
realtime x
Physical Layer : PNi
Input variables: x in B: location realtime in R: time
Output variables: v in R2: velocity s.t. |v| ≤ vc
One of two modes: Active Inactive:
• PNi makes no local transitions.
• Non-recover input actions do not change the state.
• Locally controlled variables are constant and |v| = 0.
Can fail and recover: Fail: Sets mode to inactive,
initializes state. Recover: Sets mode to active.
Can send and receive messages through LBcast.
May have other state components and actions.
B
RW LBcast
send(m)i
receive(m)ix2
v2
realtime
PNi
PN1
PN2
realtime x
Physical Layer : LBcast Local broadcast for PNs
parameterized by: Rp: broadcast radius dp: max. message delay
If PNi performs a send(m) at time t, a receive(m) occurs within interval [t, t+dp] at every PNj active and within Rp distance of PNi during the interval
B
RW LBcast
send(m)i
receive(m)ix2
v2
realtime
PNi
PN1
PN2
realtime x
Physical Layer : RW
Input variables:vi, velocity of PNi
Output variables:xi, location of PNi
based on velocity realtime
Connected to PNs and LBcast
B
RW LBcast
send(m)i
receive(m)ix2
v2
realtime
PNi
PN1
PN2
realtime x
Virtual Layer B partitioned into a m X m grid of square
zones Bh, h in H: Each zone is a square with sides of
length b H is set of center coordinates of squares Nbrs are NSEW grid squares
Four kinds of HIOA: CNi, i in I: similar to physical layer’s PNi
VNh, h in H, virtual nodes
VLBcast, local bcast for virtual layer RW: similar to physical layer’s
VN1,1
VN1,2
VN1,3
VN2,1
VN2,2
VN2,3
B
RW VLBcast
send(m)i receive(m)i
x2
v2
realtime
CNi
CN1
CN2
realtime x
1
2
…
m
b
send(m)1,3
receive(m)1,3
Virtual Layer: VNh
Located at center of zone h Discrete, no clock MMT automaton
Task structure • Equivalence relation on locally
controlled actions• From time when a task is enabled,
within dMMT time some action in the task occurs
Can send and receive messages through VLBcast
Can fail and recover: Fail: Disables internal, output
actions, prevents non-recover inputs from changing the state, and initializes state variables.
Recover: VN actions become enabled again and all tasks restart.
• If VNh is failed and a CN enters zone h and remains active and in the zone for dr time, a recover occurs within that dr time.
VN1,1
VN1,2
VN1,3
VN2,1
VN2,2
VN2,3
B
RW VLBcast
send(m)i receive(m)i
x2
v2
realtime
CNi
CN1
CN2
realtime x
1
2
…
m
b
send(m)1,3
Virtual Layer: VLBcast
Similar to LBcast Allows communication
between VNs and between VNs and CNs.
Rv ≥ b Guarantees neighboring
active VNs can communicate
dv= 2dp+ε Require Rp ≥ sqrt(5)b
VN1,1
VN1,2
VN1,3
VN2,1
VN2,2
VN2,3
B
RW VLBcast
send(m)i receive(m)i
x2
v2
realtime
CNi
CN1
CN2
realtime x
1
2
…
m
b
send(m)1,3
Implementing the Virtual Layer Almost exactly the algorithm in the VMN work. PNs in a zone cooperate to emulate a VN:
Replicated state machine approach To ensure the state remains consistent across emulators, we
ensure that emulators perform the same actions in the same order on the replicated state:
• When an action of the VN is enabled or a receive occurs, an emulator broadcasts a suggestion to perform the action to other emulators.
• In order to ensure the same suggested actions in the same order are received at each emulator, the emulators use an easy-to-implement totally-ordered broadcast to send the action suggestions.
• An emulator simulates performing suggested actions it receives on its local version of the VN state.
Differences from VMN work
Modeled a little differently (these are MMTs, versus plain vanilla IOAs) Implementation can guarantee dMMT ≥ dp + ε
Virtual node locations are stationary Failed VNs restart within dr time if a CN enters
and stays in the VN’s zone for that long Implementation can guarantee dr ≥ 3dp + 4ε
Emulators have continuous location updates from RW rather than just periodic ones
Round-based Algorithm Using the Virtual Layer
Each round:1. Each CN sends a message to its local VN, letting it know
it is in the VN’s zone.2. Each VN exchanges messages with neighboring zone
VNs, letting them know how many CNs it has.3. Each VN calculates:
(a) which of its local CNs should be assigned to other zones (b) what its local CNs’ new target points should be.
4. Each VN broadcasts the new target points.5. Each CN reads VN target point broadcasts to determine
what its new target point is and moves to it.
Implementing the rounds
Recall: VNs do not have access to clocks! So how do we implement rounds?
Recall:• CNs have synchronized realtime clocks.
• There are upper bounds for the amount of time it takes a VN to execute an enabled action (dMMT) and the amount of time for a
message to be delivered (dv).
Make a new round begin every δ time. Make CNs send “trigger” messages to VNs.
• Once enough time has passed that VNs are guaranteed to have seen all relevant messages for a step in the round, CNs send trigger messages letting the VNs know it is time to perform the step.
CN variables, initialization, and trajectories
State variables: x*, target point, initially ┴ round, initially ┴
When a CN becomes active: round ← # of the next full round (┌ realtime/δ ┐) x* ← current location (x)
If target position x* ≠ location x CN moves at speed vc straight to the target
Otherwise it stops.
VN state
Important state: M: partial map from CN ids to loc (a location) and
round (a round #)• Initially empty
V: partial map from VN ids to num (# of CNs) and round (a round #)
• Initially maps VNh and each of its neighbors to <0,0>
• Derived variable y(g) = num(V(g))
time
VN
CN i
h
Message passing diagram
CN sends cn-update to local VN.
time
VN
CN i
h
Message passing diagram
VN receives cn-update message and stores the information from it in the table M.
time
VN
CN i
h
Message passing diagram
CN sends an exchange-trigger message, letting the VN know it has received all cn-updates by now.
time
VN
CN i
h
Message passing diagram
VN receives first exchange-trigger message in the round from CN, prompting it to send its population information to neighboring VNs in a vn-update message.
time
VN
CN i
h
Message passing diagram
The send of vn-update is enabled but it takes up to the MMT upper bound to occur.
task delay
time
VN
CN i
h
Message passing diagram
The vn-update transmissions between neighbors occurs.
time
VN
CN i
h
Message passing diagram
The VN stores the information in vn-update messages from its neighbors in the table V.
time
VN
CN i
h
Message passing diagram
CN sends a target-trigger message to let the VN know that it has received all vn-update messages from neighbors.
time
VN
CN i
h
Message passing diagram
VN receives first target-trigger message of the round, prompting it to:
1) decide how many and which CNs to reassign to neighboring VNs and
2) calculate and transmit new target points for the CNs in its zone.
time
VN
CN i
h
Message passing diagram
VN receives first target-trigger message of the round, prompting it to:
1) decide how many and which CNs to reassign to neighboring VNs and
2) calculate and transmit new target points for the CNs in its zone.
If VNh has more than e CNs :
If VNh is on Γ (qh ≠ 0):
Let lower = {g in Nbrs: VNg is on the curve
and qg/qh y(h) > y(g)}
• For each g in lower
• VNh assigns ra CNs to VNb unless it can’t afford
them
If VNh is not on Γ and its neighbors are not on Γ :
Let lower = {g in Nbrs: y(h) > y(g)}• For each g in lower
• VNh assigns ra CNs to VNg unless it can’t afford
them
If VNh is not on Γ but has neighbors on Γ :
Divide y(h) – e of VNh’s CNs equally between
all neighbors on the curve
)1|(|22 lowergyhy
q
qra
h
g
)1|(|22 lowergyhyra
time
VN
CN i
h
Message passing diagram
VN receives first target-trigger message in the round, prompting it to:
1) decide how many and which CNs to reassign to neighboring VNs and
2) calculate and transmit new target points for the CNs in its zone.
If CNi is assigned to another zone
target(i) ← center of assigned zone
If CNi is assigned to this zone, but is not located on Γ
target(i) ← closest point on curve
If CNi is assigned to this zone and is on Γ :
Consider CNs assigned to the zone and on Γ ordered by
location parameters
If CNi is first in the ordering
target(i) ← left endpoint of Γh
If CNi is last in the ordering
target(i) ← right endpoint of Γh
If CNi is not first or last in the ordering then
target(i) ← midpoint of the locations of the CNs
immediately before and after it in the ordering
(adjusted by a damping factor p1)
pnp0 p1 p2p3
time
VN
CN i
h
Message passing diagram
The send of target points is enabled but it takes up to the MMT upper bound to occur.
task delay
time
VN
CN i
h
Message passing diagram
The transmission of target points to CNs occurs.
time
VN
CN i
h
Message passing diagram
CN receives and adopts new target point from VN.
time
VN
CN i
h
Message passing diagram
CN moves to new target point and restarts the VN in its zone if it is failed.
time
VN
CN i
h
Message passing diagram
Some definitions
H : set of all m x m VNs in B
INΓ
: set of VNs with some part of Γ (qh ≠ 0)
OUTΓ
: H \ INΓ
Some definitionsCN is active if its mode is active for the duration of round t
C(t): set of active CNs
VN is active if there is some active CN in its zone for the duration of rounds t-1,t
Active(t): set of active VNs
Some definitions
In(t) = Active(t) ∩ IN
Cin(t) set of active CNs located in VN zones in In(t)
Some definitions
Out(t) = Active(t) ∩ OUT
Cout(t) set of active CNs located in VN zones in Out(t)
Correctness
Theorem: If there are no failures or recoveries of client nodes at or
after some round t0, then within a finite number of rounds after t0 :
(a) the set of CNs assigned to each VNh , h є H , becomes fixed,
and the size of the set is proportional to the quantized length qh
within ±10 (2m-1)/(qmin ρ2) , and
(b) all client nodes in Bh for which qh ≠ 0 are located on Γh and
(c) evenly spaced on Γh in the limit.
Lemma 1: In any round t ≥ t0 :
(1) If the number of CNs assigned to VNh, h in H is at least e, then in round t+1 the number of
CNs assigned to VNh is at least e.
(2) If VNh is active in round t then it stays active in round t+1.
In(t) is subset of In(t+1) and Out(t) is a subset of Out(t+1)
(3) If CNi is assigned to some VNh h in IN in round t, then CNi must be assigned to some VNg in
round t+1 such that g is in IN.
Cin(t) is a subset of Cin(t+1) and Cout(t+1) is a subset of Cout(t)
If VNh has more than e CNs :
If VNh is on Γ i.e. (qh ≠ 0):
Let lower = g in Nbrs: VNg is on Γ and qg/qh y(h) > y(g)
…
If VNh is not on Γ and its neighbors are not Γ :• Let lower = g in Nbrs: y(h) > y(g)
….
If VNh is not on Γ, but it has neighbors on Γ :
• Divide y(h) – e of VNh’s CNs equally between all neighbors on the curve
If VNh has more than e CNs :
If VNh is on Γ i.e. (qh ≠ 0):
Let lower = g in Nbrs: VNg is on Γ and qg/qh y(h) > y(g)
…
If VNh is not on Γ and its neighbors are not Γ :• Let lower = g in Nbrs: y(h) > y(g)
….
If VNh is not on Γ, but it has neighbors on Γ :
• Divide y(h) – e of VNh’s CNs equally between all neighbors on the curve
Lemma 2.1 If g in Out(t) and had fewer assigned CNs than maxg(t) in round t,
then it has fewer assigned CNs in round t+1 than maxg(t),i.e., yg(t+1) ≤ maxg(t) -1
Fix g,h and t. Say h is a VN in g’s neighborhood such that maxg(t) = yh(t). We know yh(t) > yg(t).
Number of CNs that VNg is assigned from VNh in round t is
≤ ρ2 (yh(t) - yg(t))/2 (|lowerh(t)| +1) ≤ ρ2(yh(t) - yg(t))/ 4
Total new CNs assigned to VNg by all four of its neighbors ≤ ρ2 (yh(t) - yg(t))
yg(t+1) ≤ yg(t) + ρ2(yh(t) - yg(t)) = ρ2 yh(t) + (1-ρ2) yg(t)
yg(t+1) < yh(t) as ρ2 <1
(t)y(t) fNbrsf
g Maxg
max
If VNh is not on Γ and its neighbors are not on Γ:
–Let lower = g in Nbrsh: y(h) > y(g)
• For each g in lower• ra ← p2 [y(h)-y(g)]/2(|lower|+1)
• …
Lemma 2.2 g in In(t), If g had lower density of assigned CNs than dmaxg(t) in round t, then it has lower density than dmaxg(t) in round t+1, i.e.,
Suppose dmaxg(t) = yh(t)/qh for some h in Ing. We know
CNs assigned to g by any neighbor
)()1(
)()(
)1()1(
)(
)()1()1(
)( )(
)()1(
h
h
g
g
h
h
g
g
g
g
h
hggg
gh
hggg
q
ty
q
ty
q
ty
q
ty
q
ty
q
tyqtyty
tyq
tyqtyty
h
h
g
g
q
ty
q
ty )(
)(
)( )(
4
)( )(
)1|)((|2
tyq
tyq
tyq
tyq
tlower
gh
hg
gh
hg
h
f
f
Infg q
tyt Max
g
)()(dmax
2max
)(
)1(
ty
q
ty
h
h
g
g
Lemma 3: There exists a round Tout after which the set of CNs assigned to any VN in Out(t) is unchanged.
Proof sketch: First show yh(t+1) = yh(t).
maxk(t) = max yh(t) : h є Out(t) , if k = 1
max yh(t) : h є Out(t) and yh(t) < maxk-1(t) , 2 ≤ k ≤ |OUT| ,
maxvnsk(t) = set of VN ids that have maxk(t) CNs assigned
E(t) = (|Cout(t)| , max1(t), |maxvns1(t)|, ... , max|OUT|(t), |maxvns|OUT|(t)|)
Emin = (w|S|, w, |S|,0,0...,0,0) E decreases by some constant amount in each round
1. |Cout(t+1)| < |Cout(t)|
2. |Cout(t+1)| = |Cout(t)| and no reassignments in t, E(t+1) = E(t) 3. Else, A be set of VNs that do reassign in t and have max CNs
Say, A is a subset of maxvnsk(t) , for some k, 1 ≤ k ≤ |OUT|
For any g є Out(t) with yg(t) < maxk(t), h є Nbrsg, yh(t) ≤ maxk(t). From Lemma 2 yg(t+1) ≤ maxk(t) -1
For any VNh , h є A , yh(t+1) = yh(t) - Ʃ rag(t)
Either maxvnsk(t) = A , maxk(t+1) ≤ maxk(t) -1,
or, A is a proper subset of maxvnsk(t) , then |maxvnsk(t+1)| = |maxvnsk(t)| - |A|
Set of CNs assigned to VNh cannot change without changing yh and Cin , because there is no cycle.
Fix Tout from Lemma 3. Assignments stabilize in the OUT VNs.
Lemma 4: There exists a round Tstab ≥ Tout after which the set of CNs assigned to any VN in In, is unchanged.
Fix Tstabt given by Lemma 4. All assignments stabilize: part (a) of theorem.
Lemma 5:
Assume w.l.o.g. yh(t) ≥ yg(t).
Induction on the number of hops from 1 to 2m -1.
min
1010
qqq
ty
q
ty
gg
g
h
h
min
)12(10
q
m
q
ty
q
ty
g
g
h
h
)1|)((|2
tlowerty
q
tyqhg
h
hg
If VNh is on the curve (qh ≠ 0):
• Let lower = g in Nbrs: VNg is on the curve
and qg/qh y(h) > y(g)
– For each g in lowerh(t)
)1|)((|22 tlowertyty
q
qra hgh
h
gg
B the beginning of round Tstab+2 , all CNs in Cin are located on Γ: : part (b) of theorem.
Lemma 6: In a sequence of rounds t1 = Tstab, ..., tn. As n , the locations of CNs in
Bh , h є In(t) , are evenly spaced on Γh .
Proof sketch: Assume w.l.o.g. that VNh is assigned at least two CNs.
At the beginning of round t2, one CN is positioned at each endpoint of Γh.
yh = n + 2
seq(t2) = < p0, i(0)>, ..., < pn+1,i(n+1)>
p0 = inf(Ph) , and pn+1 = sup(Ph) .
pi(tk+1) = pi(tk) + ρ1 [( pi-1(tk) + pi+1(tk))/2 - pi(tk)].
pi(tk+1) = pi(tk) for end points, i= 0, i = n+1
pi = p0 + i(pn+1 - p0)/(n+1) .
pi = 1/2(pi-1 + pi+1) = (1-ρ1)pi + ρ1/2 (pi-1 + pi+1)
ei(k) = pi(tk) – pi
ei(k+1) = pi(tk+1) - pi = (1-ρ1)ei(k) + ρ1/2(ei-1(k) + ei+1(k)) , 2 ≤ i ≤ n-1 ,
e1(k+1) = (1-ρ1)e1(k) + ρ1/2 e2(k) , and
en(k+1) = (1-ρ1)en(k) + ρ1/2 en-1(k) .
e(k+1) = Me(k) , where M is
From symmetry of M , ρ1 ≤ 1 , it can be shown that the largest eigenvalue of M < 1.
lim k Mk = 0 , lim k e(k) = 0 i.e., lim k pi(tk) Pi .
1-ρ1 ρ1/2 0 0 … 0
ρ1/2 1-ρ1 ρ1/2 0 … 0
. . . . . .
0 … 0 ρ1/2 1-ρ1 ρ1/2
0 … 0 0 1-ρ1 ρ1/2
x2
x1 x3
x0
xn+1
p0 p1p2 p3
pn+1
p0 p1 p2p3
pn+1
e2
Conclusions
We’ve presented a framework for coordinating the motion of mobile nodes using virtual nodes.
What other kinds of analysis should we perform? Effects of bounded rate of failure Effects of noise in dynamics
Ideas for other uses of the framework: Formation of a changing curve Tracking
References
1. H. Ando, Y. Oasa, I. Suzuki, and M. Yamashita. Distributed memoryless point convergence algorithm for mobile robots with limited visibility. IEEE Transactions on Robotics and Automation, 1999.
2. J. Cortes, S. Martinez, T. Karatas, and F. Bullo. Coverage control for mobile sensing networks. IEEE Transactions on Robotics and Automation, 2004.
3. S. Dolev, S. Gilbert, N. A. Lynch, E. Schiller, A. A. Shvartsman, and J. L. Welch. Virtual mobile nodes for mobile ad hoc networks. In 18th International Symposium on Distributed Computing, 2004.
4. S. Dolev, S. Gilbert, N. A. Lynch, A. Shvartsman, and J. Welch. Geoquorums: Implementing atomic memory in mobile ad hoc networks. In 17th International Symposium on Distributed Computing, 2003.
5. V. Gazi and K. M. Passino. Stability analysis of swarms. IEEE Transactions on Automatic Control, 2003.
6. A. Jadbabaie, J. Lin, and A. S. Morse. Coordination of groups of mobile autonomous agents using nearest neighbor rules. IEEE Transactions on Automatic Control , 2003.
7. J. Lin, A. S. Morse, and B. Anderson. Multi-agent rendezvous problem. In 42nd IEEE Conference on Decision and Control , 2003.
8. M. Merritt, F. Modugno, and M. Tuttle. Time constrained automata. In 2nd International Conference on Concurrency Theory (CONCUR) , 1991.
9. I. Suzuki and M. Yamashita. Distributed autonomous mobile robots: Formation of geometric patterns. SIAM Journal of computing , 1999.