630 likes | 803 Views
Dynamic Fine-Grained Localization in Ad-Hoc Networks of Sensors. Andreas Savvides, Athanassios Boulis and Mani B. Srivastava Networked and Embedded Systems Lab University of California, Los Angeles Presented by Yong Chen Department of Computer Science University of Virginia.
E N D
Dynamic Fine-Grained Localization in Ad-Hoc Networks of Sensors Andreas Savvides, Athanassios Boulis and Mani B. Srivastava Networked and Embedded Systems Lab University of California, Los Angeles Presented by Yong Chen Department of Computer Science University of Virginia
Contribution Overview • + A good idea to compute the location according to beacon location. • + Algorithm to decide the nodes to participate the collaborative multilateration • - No distributed implementation details for iterative & collaborative multilateration • - Algorithms and solutions are not robust
Outline • Introduction • AHLoS • Ad-Hoc Localization Systeme and overview • Atomic Multilateration • Iterative Multilateration • Collaborative Multilateration • Performance evaluation • Conclusion
Introduction What is Localization • A mechanism for discovering spatial relationships among objects
Known Location Unknown Location Introduction here, It is Location discovery for nodes • Given a network of sensor nodes where a few nodes know their location how do we calculate the location of the nodes?
Introduction Why need this kind of localization? Motivation • Support Location Aware Applications • Track Objects • Report event origins • Evaluate network coverage • Assist with routing, GF • Support for upper level protocols. • GPS is not practical • Not work Indoors or if blocked from the GPS satellites • Spends the battery life of the node • Issue of the production cost factor of GPS • Increase the size of sensor nodes
Introduction Two phases • Location discovery approaches consist of two phases : Ranging phase, Estimation phase • Ranging phase (distance estimation) • Each node estimate its distance from its neighbors • Estimation phase (distance combining) • Nodes use ranging information and beacon node locations to estimate their positions
Introduction phases 1: Ranging phase • Distance measuring methods • Signal Strength • Uses RSSI readings • Time based methods • ToA, TDoA • Used with radio, acoustic, ultrasound • Angle of Arrival (AoA) • Measured with directive antennas or arrays
Sines Rule B b A a c C Cosines Rule Introduction phases 2: Estimation phase • Hyperbolic Trilateration • Triangulation • Multi-lateration • Considers all available beacons
Introduction Related work • Outdoor • Automatic Vehicle Location (AVL) • Determine the position of police cars • Use ToA, Multi-lateration • Global Positioning System (GPS) & LORAN • GPS:24 NAVSTAR satellites • LORAN: ground based beacons instead of satellites • Time-of-flight, trilateration • Mobile phone position • Cellular base station transmits beacons • Use TDoA, Multi-lateration
Introduction Related work • Indoor • RADAR system • Track the location of users within a building • RF strength measurements from three fixed base stations • Build a set of signal strength maps • Mathing the online readings from the maps • Cricket location support system • Use Ultrasound from fixed beacons • Multi-lateration • The Bat system • Node carries an ultrasound transmitter • Multi-lateration
Introduction Ranging characterization • Received Signal Strength • RF signal attenuation is a function of distance • Inconsistent Model because of environment fading and shadowing effects and the altitude of the radio antenna • A Model is derived by obtaining a least square fit for each power level
Introduction Ranging • ToA using RF and Ultrasound • The time difference between RF and ultrasound • To estimate the speed to sound, perform a best line fit
Introduction Discussion • Does ToA suffer from the environment changes? • Obstacles, interference to ToA? • Extra work to identify the pairs of Radio Signal and Ultrasound pulse. • Constraints: Ultrasound range on the Medusa nodes used is about 3 meters (11-12 feet), the ultra-range of second generation of Medusa is about 10-15 meters, far less than the communication radius (30-100m) • Any other comments?
Outline • Introduction • AHLoS • Ad-Hoc Localization Systeme and overview • Atomic Multilateration • Iterative Multilateration • Collaborative Multilateration • Performance evaluation • Conclusion
AHLoSAd-Hoc Localization Systeme • Ranging phase (distance estimation) • ToA • Estimation phase (distance combining) • Multilateration
AHLoSOverview • Some percentage of nodes knows their positions • Beacon nodes • Nodes with known positions • Broadcast their locations to their neighbors • Unknown nodes • Nodes with unknown positions • Use ranging information and beacon node locations to estimate their positions • Once knows its location, becomes a beacon node • Atomic, Iterative, and Collaborative Multilateration
Outline • Introduction • AHLoS • Ad-Hoc Localization Systeme and overview • Atomic Multilateration • Iterative Multilateration • Collaborative Multilateration • Performance evaluation • Conclusion
1 1 1 1 d1x d1x d1x d1x d1x d1x d3x 3 d3x d3x d1x X X’ X’ X X’ X 3 d2x d2x d2x d2x d2x X 2 2 2 One beacon, location X is not unique Two beacons, location X is not unique Three beacons, location X is unique Three lined beacons, location X is not unique AHLoSAtomic Multilateration • Requirement • Atomic multilateration can take place if the unknown node is within one hop distance from at least three beacon nodes. The node may also estimate the ultrasound propagation speed if four or more beacons are available • Topology for atomic multilateration
AHLoSAtomic Multilateration What we know: 1. The location of Three or more beacons N1,N2,N3, …… 2. Ti0, the time from beacon Ni to unknown node 0 for ultrasound propagation What we want to get: The location of the unknown node 0 How to get the location: Make the difference between the measured distance and estimated Euclidean distance to be as small as possible. Method used: The minimum mean square estimate (MMSE), let F to be as small as possible (Equation 3) (Equation 4)
AHLoS Incorrectness 1 in Atomic Multilateration The goal is let F(X0,Y0,S) in equation 4to be as small as possible (Equation 4) We should have (Equation 40) Here, equation 5 is generated by setting = 0 So it has (Equation 5) If equations 5 have solutions, they are solutions to equation 4. BUT equations 5 may not have solutions, because Ti0 is a measured value, equations 5 can not be guaranteed to have solutions on the measured values Ti0.
AHLoS Incorrectness 2 in Atomic Multilateration Look at the solution of the system of equations (Equation A) (Equation B) How to get it? In the process, one important assumption is If , doesn’t exist. We can not use the method
AHLoS Incorrectness 3 in Atomic Multilateration 3 beacons are not enough to get a unique solution with unknown speed s. In the left figure, d1x, d2x, d3x are distance But in the equations, distance is unknown, Another variable is introduced, the ultrasound Propagation speed s. There are only 3 equations with x, y square factors and unknown s. 3 beacons are not enough to get a unique location solution with unknown speed s. 1 d1x d3x X 3 d2x 2
AHLoSAtomic Multilateration Example 1 EXAMPLE Conditions: Three beacons N1(0,1),N2(0,-1),N3(2,0) One unknown node N0 The time of the ultrasound propagation: From N1 to N0, it is sqrt(2) s From N2 to N0, it is sqrt(2) s From N3 to N0, it is 1 s Test: Using the algorithm on the paper to see if we can get the coordinates of N0 or some other interesting results. N1(0,1) 1 N3(2,0) N0(1,0) N2(0,-1)
AHLoSAtomic Multilateration Example 1 EXAMPLE From equation above, we have N1(0,1) Equation N1 Equation N2 1 N3(2,0) Equation N3 N0(1,0) N1 – N3 and N2 – N3 , we have N2(0,-1)
AHLoSAtomic Multilateration Example 1 EXAMPLE N1(0,1) 1 N3(2,0) N0(1,0) N2(0,-1) We can not directly use the solution provided by the paper.
AHLoSAtomic Multilateration Example 1 EXAMPLE From equations above, we have Equation e1 N1(0,1) Equation e2 Equation e3 1 N3(2,0) Eliminating Equation e4 N0(1,0) Equation e5 Equation e6 From Equation e4,e5, we have N2(0,-1) From Equation e5,e6, we have Equation e7 From Equation e3,e5,e6 we have Equation e8
AHLoSAtomic Multilateration Example 1 EXAMPLE Equation e6 N1(0,1) Equation e7 Equation e8 1 N3(2,0) From Equation e6,e7,e8, we have 2 sets of results N0(1,0) N2(0,-1) OR
AHLoSAtomic Multilateration Example 1 Taking the algorithm on the paper 3 beacons are not enough to get a unique solution with unknown speed s. N1(0,1) 1 N3(2,0) N0’(7,0) N0(1,0) N2(0,-1) OR
AHLoSAtomic Multilateration Example 2 EXAMPLE Conditions: Three beacons N1(0,1),N2(0,-1),N3(2,0) One unknown node N0 The time of the ultrasound propagation: From N1 to N0, it is sqrt(2) ms From N2 to N0, it is sqrt(2) ms From N3 to N0, it is 1 ms Test: Using the standard MMSE method to see if we can get the coordinates of N0 or some other interesting results. N1(0,1) 1 N3(2,0) N0(1,0) N2(0,-1)
AHLoSAtomic Multilateration Example 2 EXAMPLE N1(0,1) 1 N3(2,0) N0(1,0) N2(0,-1) Taking the algorithm on MMSE 3 beacons are not enough to get a unique solution with unknown speed s. select
AHLoSConclusion in Atomic Multilateration • With the unknown speed of ultrasound pulse or other efficient constraints, generally, it is impossible to get a unique location of one unknown node only depending 3 un-lined beacons • Other constraints, such as a roughly scope of ultrasound speed, angle, etc, must be added to make the solution determined. Or 4 un-lines beacons determine one unknown node’s location • The computation process on the paper is not robust. • In the algorithms later, we assume the speed of ultrasound is known
Outline • Introduction • AHLoS • Ad-Hoc Localization Systeme and overview • Atomic Multilateration • Iterative Multilateration • Collaborative Multilateration • Performance evaluation • Conclusion
AHLoSIterative Multilateration A central version: Each node send its neighboring / ranging information with The neighbors to one central node.
AHLoSIterative Multilateration A distributed version: For unknown node, when it receives one beacon packet,the event will be triggered. Once three unlined beacons are available, begin to compute location. sate = UNKNOWN; numberOfBeaconPacketReceived=0; event result_t onBeaconPacketReceive(TOS_MsgPtr msg) { if ( state == BEACON ) return TRUE; numberOfBeaconPacketReceived++; processPacket(msg); if (numberOfBeaconPacketReceived >= 3 & unlinedbeacons()) { computeLocation(); state = BEACON; call broadcastBeaconPacket(); } }
AHLoSIterative Multilateration It shows node positions are within 20 cm from the actual positions. What is the behind: 1.How many steps are there for accumulated error? 2.How beacons are deployed? 3.Small scale
Outline • Introduction • AHLoS • Ad-Hoc Localization Systeme and overview • Atomic Multilateration • Iterative Multilateration • Collaborative Multilateration • Performance evaluation • Conclusion
AHLoSCollaborative Multilateration • One node estimates its position by considering use of location information over multiple hops • How it works • For one node, to decide which nodes should be in its participating node set S • For node , i is connected to u, and node u is an unknown node, the goal function is the same as that of the atomic multi-lateration, to minimize the
AHLoSCollaborative Multilateration Comments • Definition 1 • A node is a participating node if it is either a beacon or if it is an unknown node with at least three participating neighbors • Definition 2 • A participating node pair is a beacon-unknown or unknown-unknown pair of connected nodes where all unknowns are participating
AHLoSCollaborative Multilateration 1).For the left graph, how does node 2 know node 4 is a participating node? And vice versa. 2).For the right graph, node 2 and node 4 can decide if they should attend the col-multilateration? If so, can they decide the locations uniquely? 1 4 2 3 Node 2,4 are symmetric along line 1-3
AHLoSCollaborative Multilateration Collaborative multilateration eligibility A central controller will execute the function on the upper right corner ( the algorithm in figure 10 of the paper): 5 1 1 2 4 2 4 3 3 6
AHLoSCollaborative Multilateration A central node: Call isCollaborative(2,-1,true) A central node: Call isCollaborative(2,-1,true) 5 1 1 2 4 2 4 3 3 6
AHLoSCollaborative Multilateration A central node: Call isCollaborative(2,-1,true) limit = 3 count = beaconCount(2) = 2 A central node: Call isCollaborative(2,-1,true) limit = 3 count = beaconCount(2) = 2 5 1 1 2 4 2 4 3 3 6
AHLoSCollaborative Multilateration A central node: Call isCollaborative(2,-1,true) limit = 3 count = beaconCount(2) = 2 For unknown node 4 call isColl(4,2,false) A central node: Call isCollaborative(2,-1,true) limit = 3 count = beaconCount(2) = 2 For unknown node 4 call isColl(4,2,false) 5 1 1 2 4 2 4 3 3 6
AHLoSCollaborative Multilateration A central node: Call isCollaborative(2,-1,true){ limit = 3 count = beaconCount(2) = 2 For unknown node 4 call isColl(4,2,false){ limit = 2 count = beaconCount(2) = 2 return true } A central node: Call isCollaborative(2,-1,true) limit = 3 count = beaconCount(2) = 2 For unknown node 4 call isColl(4,2,false) ){ limit = 2 count = beaconCount(2) = 2 return true } 5 1 1 2 4 2 4 3 3 6
AHLoSCollaborative Multilateration A central node: Call isCollaborative(2,-1,true){ limit = 3 count = beaconCount(2) = 2 For unknown node 4 call isColl(4,2,false){ limit = 2 count = beaconCount(2) = 2 return true } count++ // 3 count == limit, return true} A central node: Call isCollaborative(2,-1,true) limit = 3 count = beaconCount(2) = 2 For unknown node 4 call isColl(4,2,false) ){ limit = 2 count = beaconCount(2) = 2 return true } count++ // 3 count == limit, return true} 5 1 1 2 4 2 4 3 3 6
AHLoSCollaborative Multilateration A central node: isCollaborative(2,-1,true) == true We have five participating node pairs{1,2},{2,3},{2,4},{4,5},{4,6} A central node: isCollaborative(2,-1,true) == true We have five participating node pairs {1,2},{2,3},{2,4},{4,1},{4,3} • Collaborative multilateration eligibility for node 2 is finished. • NEXT: Begin to compute the locations of the unknown nodes 5 1 1 2 4 2 4 3 3 6
AHLoSCollaborative Multilateration • Assuming: ultrasound speed s == 1 For five participating node pairs {i,u}:{1,2},{3,2},{2,4},{5,4},{6,4} For five participating node pairs {i,u}:{1,2},{3,2},{2,4},{1,4},{3,4} 1(0,2) 5(4,2) 1(3,2) 2(2,0) 4(4,0) 2(2,0) 4(4,0) 3(1,-1) 6(5,-1) 3(3,-1)
AHLoSCollaborative Multilateration For five participating node pairs {i,u}:{1,2},{3,2},{2,4},{5,4},{6,4} For five participating node pairs {i,u}:{1,2},{3,2},{2,4},{1,4},{3,4} Locations of Node 2,4 can’t be determined 1(0,2) 5(4,2) 1(3,2) 2(2,0) 4(4,0) 2(2,0) 4(4,0) 3(1,-1) 6(5,-1) 3(3,-1)
AHLoSCollaborative Multilateration An efficient distributed version is hard to be achieved. Large packet exchange or RPC-like procedure call is unavoidable. Large computation cost: matrix computation. Request: Node 4, execute isCollaborative(4,2,false) Or node 4, send me your neighbor information and distances 1 5 2 4 6 3 Answer:Node 2, isCollaborative(4,2,false) return true. OR, node 2, here is my neighbor and distance LIST.