Motion Coordination using Virtual Nodes - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

Motion Coordination using Virtual Nodes

Description:

An emulator simulates performing suggested actions it receives on its local ... Emulators have continuous location updates from RW rather than just periodic ones ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 52
Provided by: say67
Category:

less

Transcript and Presenter's Notes

Title: Motion Coordination using Virtual Nodes


1
Motion Coordination using Virtual Nodes
  • Nancy Lynch
  • Sayan Mitra
  • Tina Nolte

Recently submitted to CDC 2005
2
Motion Coordination Problem
Curve G
Set of mobile nodes
B
3
Ideal Solution
Given some curve G, 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.
Curve G
B
4
Approximate Solution
Use only local information about G Some nodes are
not on G Distribution approximately
proportional to length in each zone Even spacing
in each zone
5
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

CNi
CN2
VN2,3
VN2,2
CN1
VN1,3
VN2,1
VN1,2
VN1,1
B
6
Definitions
  • differentiable parameterized curve G P ?B
  • P is an interval in the real line
  • regular for all p, G(p) ? 0
  • arc length s(G,a,b)
  • simple does not cross
  • G-1(x) p, unique
  • parameterized by arc length for all p, G(p)
    1
  • s(G,a,b) b a
  • x1, x2, xn are evenly spaced on G if for each i
  • 1 i n, pi G-1(xi), and
  • pi pi-1 pi1 - pi

7
Definitions (cont.)
G3,4
G2,1
G2,2
Ph domain of Gh Ph size of the interval Ph
also length of Gh qh quantized length qmin
(nonzero) qmax
B3,4
B2,2
B2,1
B1,2
8
Goal
  • Design algorithm that runs on mobile nodes such
    that, if failures and recoveries stop after a
    certain point in time, then
  • within finite time the set Yh of nodes in each
    zone Bh, h ? H, becomes fixed and Yh is
    approximately proportional to qh,
  • within finite time the nodes in zone Bh are on
    Gh, and
  • in the limit, the nodes in zone Bh are evenly
    spaced on Gh.

VN architecture next.
9
Physical Layer
  • Bounded square B in R2
  • Three kinds of HIOA
  • PNi, i in I, physical nodes
  • LBcast, local broadcast service
  • RW, real world

x
realtime
LBcast
RW
send(m)i
v2
x2
receive(m)i
realtime
PNi
PN2
PN1
B
10
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.

11
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, tdp at every PNj
    active and within Rp distance of PNi during the
    interval

12
Physical Layer RW
  • Input variables
  • vi, velocity of PNi
  • Output variables
  • xi, location of PNi based on velocity
  • realtime
  • Connected to PNs and LBcast

13
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 layers PNi
  • VNh, h in H, virtual nodes
  • VLBcast, local bcast for virtual layer
  • RW similar to physical layers

x
realtime
VLBcast
RW
send(m)i
receive(m)i
v2
x2
realtime
send(m)1,3
receive(m)1,3
CNi
CN2
b
VN2,3
VN2,2
CN1
VN1,3
m
VN2,1
VN1,2

VN1,1
2
B
1
14
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.

15
Virtual Layer VLBcast
  • Similar to LBcast
  • Allows communication between VNs and between VNs
    and CNs.
  • Rv b
  • Guarantees neighboring active VNs can communicate
  • dv 2dpe
  • Require Rp sqrt(5)b

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

17
Differences from VMN work
  • Modeled a little differently (these are MMTs,
    versus plain vanilla IOAs)
  • Implementation can guarantee dMMT dp e
  • Virtual node locations are stationary
  • Failed VNs restart within dr time if a CN enters
    and stays in the VNs zone for that long
  • Implementation can guarantee dr 3dp 4e
  • Emulators have continuous location updates from
    RW rather than just periodic ones

18
Round-based Algorithm Using the Virtual Layer
  • Each round
  • Each CN sends a message to its local VN, letting
    it know it is in the VNs zone.
  • Each VN exchanges messages with neighboring zone
    VNs, letting them know how many CNs it has.
  • 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.
  • Each VN broadcasts the new target points.
  • Each CN reads VN target point broadcasts to
    determine what its new target point is and moves
    to it.

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

20
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/d
    )
  • x ? current location (x)
  • If target position x ? location x
  • CN moves at speed vc straight to the target
  • Otherwise it stops.

21
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
    lt0,0gt
  • Derived variable y(g) num(V(g))

22
VN
h
CN sends cn-update to local VN.
CN
i
time
Message passing diagram
23
VN receives cn-update message and stores the
information from it in the table M.
VN
h
CN
i
time
Message passing diagram
24
VN
h
CN sends an exchange-trigger message, letting the
VN know it has received all cn-updates by now.
CN
i
time
Message passing diagram
25
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.
VN
h
CN
i
time
Message passing diagram
26
The send of vn-update is enabled but it takes up
to the MMT upper bound to occur.
VN
h
task delay
CN
i
time
Message passing diagram
27
The vn-update transmissions between neighbors
occurs.
VN
h
CN
i
time
Message passing diagram
28
The VN stores the information in vn-update
messages from its neighbors in the table V.
VN
h
CN
i
time
Message passing diagram
29
VN
h
CN sends a target-trigger message to let the VN
know that it has received all vn-update messages
from neighbors.
CN
i
time
Message passing diagram
30
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.
VN
h
CN
i
time
Message passing diagram
31
  • If VNh has more than e CNs
  • If VNh is on G (qh ? 0)
  • Let lower g in Nbrs VNg is on the curve and
    qg/qh y(h) gt y(g)
  • For each g in lower
  • VNh assigns ra CNs to VNb unless it cant afford
    them
  • If VNh is not on G and its neighbors are not on G
  • Let lower g in Nbrs y(h) gt y(g)
  • For each g in lower
  • VNh assigns ra CNs to VNg unless it cant afford
    them
  • If VNh is not on G but has neighbors on G
  • Divide y(h) e of VNhs CNs equally between all
    neighbors on the curve

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.
VN
h
CN
i
time
Message passing diagram
32
  • 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 G
  • target(i) ? closest point on curve
  • If CNi is assigned to this zone and is on G
  • Consider CNs assigned to the zone and on G
    ordered by location parameters
  • If CNi is first in the ordering
  • target(i) ? left endpoint of Gh
  • If CNi is last in the ordering
  • target(i) ? right endpoint of Gh
  • 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)

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.
VN
h
CN
i
time
Message passing diagram
33
Calculating new target points
  • Given zone assignments and current locations for
    each CNi in the zone
  • If CNi is assigned to another zone then
    target(i) ? center of assigned zone
  • If CNi is assigned to this zone, but is not
    located on the curve then target(i) ? closest
    point on curve
  • If CNi is assigned to this zone and is on the
    curve then consider the ordering by parameterized
    location of all CNs assigned to the zone and on
    the curve
  • If CNi is first in the ordering then
    target(i) ? left endpoint of Gh
  • If CNi is last in the ordering then target(i)
    ? right endpoint of Gh
  • 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)

34
The send of target points is enabled but it takes
up to the MMT upper bound to occur.
VN
h
task delay
CN
i
time
Message passing diagram
35
The transmission of target points to CNs occurs.
VN
h
CN
i
time
Message passing diagram
36
VN
h
CN receives and adopts new target point from VN.
CN
i
time
Message passing diagram
37
VN
h
CN moves to new target point and restarts the VN
in its zone if it is failed.
CN
i
time
Message passing diagram
38
VN
h
CN
i
time
Message passing diagram
39
Some definitions
H set of all m x m VNs in B ING set of VNs
with some part of G (qh ? 0) OUTG H \ ING
40
Some definitions
CN 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
41
Some definitions
In(t) Active(t) n IN Cin(t) set of active CNs
located in VN zones in In(t)
42
Some definitions
Out(t) Active(t) n OUT Cout(t) set of active
CNs located in VN zones in Out(t)
43
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 Gh and
  • (c) evenly spaced on Gh in the limit.

44
  • Lemma 1 In any round t t0
  • If the number of CNs assigned to VNh, h in H is
    at least e, then in round t1 the number of CNs
    assigned to VNh is at least e.
  • If VNh is active in round t then it stays active
    in round t1.
  • In(t) is subset of In(t1) and Out(t) is a
    subset of Out(t1)
  • (3) If CNi is assigned to some VNh h in IN in
    round t, then CNi must be assigned to some VNg
    in round t1 such that g is in IN.
  • Cin(t) is a subset of Cin(t1) and Cout(t1) is
    a subset of Cout(t)

45
  • 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 t1
    than maxg(t),i.e., yg(t1) maxg(t) -1
  • Fix g,h and t. Say h is a VN in gs
    neighborhood such that maxg(t) yh(t). We know
    yh(t) gt 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(t1) yg(t) ?2(yh(t) - yg(t)) ?2 yh(t)
    (1-?2) yg(t)
  • yg(t1) lt yh(t) as ?2 lt1

46
  • 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 t1,
    i.e.,
  • Suppose dmaxg(t) yh(t)/qh for some h in Ing. We
    know
  • CNs assigned to g by any neighbor

47
  • 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(t1) yh(t).
  • maxk(t) max yh(t) h ? Out(t) , if k
    1
  • max yh(t) h ? Out(t) and yh(t) lt
    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), ...
    , maxOUT(t), maxvnsOUT(t))
  • Emin (wS, w, S,0,0...,0,0)
  • E decreases by some constant amount in each round
  • 1. Cout(t1) lt Cout(t)
  • Cout(t1) Cout(t) and no reassignments in
    t, E(t1) E(t)
  • 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) lt maxk(t), h ?
    Nbrsg, yh(t) maxk(t). From Lemma 2 yg(t1)
    maxk(t) -1

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

49
  • Lemma 4 Cout(t) O(m3).
  • Number of CNs assigned by VNh to any of its
    neighbors is 0 .
  • boundary nodes (yg(t) - e)/Ing lt 1 ? yg(t) lt 4
    e because Ing 4.
  • non-boundary VNg, g ? Out(t) 1-hop away from a
    boundary VNh,
  • 2 ( yg(t) - yh(t))/2(lowerg(t) 1) lt 1 ?
  • yg(t) 10/?2 4 e because lowerg(t) 4 ,
  • Inducting on the number of hops,
  • the maximum at k hops from the boundary
    10k/?2 e 4 .
  • For any k , 1 k 2m -1 , there can be at
    most m VNs
  • summing Cout (e 4)(2m -1)m 10 m2(2m
    -1)/?2 O(m3) .

50
  • B the beginning of round Tstab2 , all CNs in
    Cin are located on G 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 Gh .

51
  • 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 Gh.
  • yh n 2
  • seq(t2) lt p0, i(0)gt, ..., lt pn1,i(n1)gt
  • p0 inf(Ph) , and pn1 sup(Ph) .
  • pi(tk1) pi(tk) ?1 ( pi-1(tk) pi1(tk))/2
    - pi(tk).
  • pi(tk1) pi(tk) for end points, i 0, i n1
  • pi p0 i(pn1 - p0)/(n1) .
  • pi 1/2(pi-1 pi1) (1-?1)pi ?1/2 (pi-1
    pi1)
  • ei(k) pi(tk) pi
  • ei(k1) pi(tk1) - pi (1-?1)ei(k)
    ?1/2(ei-1(k) ei1(k)) , 2 i n-1 ,
  • e1(k1) (1-?1)e1(k) ?1/2 e2(k) , and
  • en(k1) (1-?1)en(k) ?1/2 en-1(k) .
  • e(k1) Me(k) , where M is

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
52
Conclusions
  • Weve 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

53
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.
Write a Comment
User Comments (0)
About PowerShow.com