1 / 51

Motion Coordination using Virtual Nodes

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.

calice
Download Presentation

Motion Coordination using Virtual Nodes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Motion Coordination using Virtual Nodes Nancy Lynch Sayan Mitra Tina Nolte Recently submitted to CDC 2005

  2. Motion Coordination Problem Curve Γ Set of mobile nodes B

  3. Ideal Solution 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. Curve Γ B

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

  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Γ: 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

  7. Definitions (cont.) Γ2,1 Γ3,4 Γ2,2 Ph : domain of Γh |Ph| : size of the interval Ph also length of Γh 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 Γh, and • in the limit, the nodes in zone Bh are evenly spaced on Γh. VN architecture next.

  9. Bounded square B in R2 Three kinds of HIOA: PNi, i in I, physical nodes LBcast, local broadcast service RW, real world Physical Layer x realtime LBcast RW send(m)i v2 x2 receive(m)i realtime PNi PN2 PN1 B

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

  12. x realtime LBcast RW send(m)i v2 x2 receive(m)i realtime PNi PN2 PN1 B 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 layer’s PNi • VNh, h in H, virtual nodes • VLBcast, local bcast for virtual layer • RW: similar to physical layer’s 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. x realtime VLBcast RW send(m)i receive(m)i v2 x2 realtime send(m)1,3 CNi CN2 b VN2,3 VN2,2 CN1 VN1,3 m VN2,1 VN1,2 … VN1,1 2 B 1 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. x realtime VLBcast RW send(m)i receive(m)i v2 x2 realtime send(m)1,3 CNi CN2 b VN2,3 VN2,2 CN1 VN1,3 m VN2,1 VN1,2 … VN1,1 2 B 1 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

  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 + ε • 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

  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 VN’s 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 δ 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/δ┐) • 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 <0,0> • 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 taskdelay 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 Γ (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 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. p3 pn p0 p1 p2 • 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) 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. The send of target points is enabled but it takes up to the MMT upper bound to occur. VN h taskdelay CN i time Message passing diagram

  34. The transmission of target points to CNs occurs. VN h CN i time Message passing diagram

  35. VN h CN receives and adopts new target point from VN. CN i time Message passing diagram

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

  37. VN h CN i time Message passing diagram

  38. 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Γ

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

  40. Some definitions In(t) = Active(t) ∩ IN Cin(t) set of active CNs located in VN zones in In(t)

  41. Some definitions Out(t) = Active(t) ∩ OUT Cout(t) set of active CNs located in VN zones in Out(t)

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

  43. 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 1: In any round t ≥ t0 : • 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. • 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)

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

  45. Lemma 2.2g 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

  46. 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)| • |Cout(t+1)| = |Cout(t)| and no reassignments in t, E(t+1) = 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) < 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.

  47. 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) 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.

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

  49. x2 x1 x3 x0 xn+1 p3 pn+1 p0 p1 p2 p0 p2 pn+1 p1 p3 e2 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 .

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

More Related