Localization Vinod Kulathumani West Virginia University Localization • Localization of a node refers to the problem of identifying its spatial co-ordinates in some co-ordinate system How do nodes discover their geographic positions in 2D or 3D space? • Model: static and mobile wireless sensor networks 2 Location Matters • Sensor Net Applications Environment monitoring Event tracking Smart environment • Geographic routing protocols GeoCast, GPSR, LAR, GAF, GEAR 3 Outline • Range-based localization Time of arrival (GPS) Time difference of arrival (Acoustic) Angle of arrival RADAR Radio interferometric Doppler shift • Converting estimated range into actual network position • Range-free localization Centroid DV-HOP MDS-MAP APIT • Localization in Mobile sensor networks 4 Range-based localization Distances between nodes to nodes/anchors measured wirelessly • TOA (Time of Arrival ) GPS • TDOA (Time Difference of Arrival) Cricket • AOA (Angle of Arrival ) APS • RSSI (Receive Signal Strength Indicator) RADAR • Radio interferometric • Doppler shift 5 Time of arrival (TOA) • Example: GPS • Uses a satellite constellation of at least 24 satellites with atomic clocks • Satellites broadcast precise time • Estimate distance to satellite using signal TOA • Trilateration B. H. Wellenhoff, H. Lichtenegger and J. Collins, Global Positioning System: Theory and Practice. Fourth Edition, Springer Verlag, 1997 6 Sound based TdoA Because the speed of sound is much slower (approximately 331.4m/s) than radio, it is easier to be applied in sensor network. Some hurdles are: • Line of sight path must exist between sender and receiver. • Mono-direction. • Short range. 7 Cricket • Intended for indoors use where GPS don't work • It can provide distance ranging and positioning precision of between 1 and 3 cm • Active beacons and passive listeners • http://cricket.csail.mit.edu/#technology 8 Angle of arrival (AOA) • Idea: Use antenna array to measure direction of neighbors • Special landmarks have compass + GPS, broadcast location and bearing • Flood beacons, update bearing along the way • Once bearing of three landmarks is known, calculate position "Medusa" mote Dragos Niculescu and Badri Nath. Ad Hoc Positioning System (APS) Using AoA, IEEE InfoCom 2003 9 Determining angles • Directional antennas On the node Mechanically rotating or electrically “steerable” On several access points Rotating at different offsets Time between beacons allows to compute angles 10 RADAR • Bahl: MS research • Offline calibration: Tabulate <location, RSSI> to construct radio map • Real-time location & tracking: Extract RSSI from base station beacons Find table entry best matching the measurement 11 Estimating distances – RSSI • Received Signal Strength Indicator Send out signal of known strength, use received signal strength and path loss coefficient to estimate distance Problem: Highly error-prone process – Shown: PDF for a fixed RSSI PDF PDF Distance Distance Signal strength 12 Problems with RSSI • Sensors have wireless transceivers anyway, so why not just use the RSSI to estimate distances? Graph from Bahl, Padmadabhan: RADAR: An In-Building RF-Based User Location and Tracking System • Problem: Irregular signal propagation characteristics (fading, interference, multi-path etc.) 13 Radio Interferometric Ranging (RIPS) RIPS: a novel ranging technique that measures distance differences utilizing interfering radio signals φCD= (dAD-dBD+dBC-dAC) mod λ Interference: superposition of two or more waves resulting in a new wave pattern 1 0.5 0 0 0.5 1 1.5 2 -0.5 -1 2.5 2 1.5 1 0.5 0 0 0.5 1 1.5 2 -0.5 q-range -1 -1.5 -2 -2.5 14 Tracking with RIPS We use RIPS because of its high accuracy (cm), long range (200m), and low computation and low power requirements Theory for Tracking: • radio-interferometric range, or q-range involves 4 nodes A, B, C and D: C D qABCD = dAD-dBD+dBC-dAC • in tracking, we can assume that 3 nodes are anchors, thus we define t-range tACD tACD = dAD-dAC =qABCD+dBD-dBC (qABCD is measured, dBD and dBC are given) • the new equation defines a hyperbola in 2D • note that C,D are receivers A B t-range q-range hyperbola 15 Tracking with RIPS Theory for Tracking: • RIPS measurement constrains the location of the target to a hyperbola • if the target is a transmitter, a pair of receivers defines unique hyperbola e.g. using 12 anchors yields 55 hyperbolae from one measurement Mobility Related and Other Ranging Errors: Thus solution qABCD minimizes error terms φnCD = qABCD mod λn ε1 + φ1CD = qABCD mod λ1 ... Multipath, Measurement Errors: φiCD are not measured accurately, errors are non-Gaussian Mobility: qABCD changes as the target moves φ1CD = qABCD mod λ1 ... • an artefact of RIPS method is that phase offsets at multiple wavelengths need to be measured • qABCD is the solution of a system of equations ε1...εn εn + φnCD = qABCD mod λn 16 Tracking with RIPS Localization with Non-Gaussian Ranging Errors • ranging does not return a single q-range qABCD, but a set of q-ranges SABCD, one of them being the true range with high probability • resulting ambiguity needs to be resolved by the localization algorithm Disambiguation: • the true hyperbolae intersect at a single point • improbable that a significant number of the false hyperbolae intersect at a single point • localization algorithm simply finds a region which gets intersected by a large number of hyperbolas refined search 17 Overview of our Tracking Application TIME COMPUTATION Msg broadcast COMMUNICATION Target node initiates measurement MOTE − weather protected Mica2 MEASURE PHASE AND FREQUENCY OF INTERFERENCE SIGNAL routing Each receiver sends the measured phase to the base station For a quad of nodes: − 7.3 MHz CPU, 4kB RAM, 38kbps radio − TinyOS PC PC application: • regular laptop COMPUTE Q-RANGES FROM PHASE OFFSETS − 1.5 GHz CPU, 512MB RAM PC COMPUTE LOCATION OF THE TRACKED NODE TCP/IP 1 sec 1.5 sec 0.2 sec 1-2 sec Additional delay Refresh rate Each receiver: Sensor nodes: • XSM motes PC DISPLAY THE LOCATION ON THE MAP Location is available remotely through internet − java application calculates target location • target’s location and track are displayed in Google Earth 18 Evaluation – Vanderbilt stadium • we had Vanderbilt football stadium access • placed 6 anchors on the field (tripods), and 6 anchors in the stands • covered an area of approximately 80m x 90m 19 Evaluation – Google Earth • we modelled Vanderbilt stadium in Google Earth • we were showing target location and track in real-time • large red balloon is the target, small red balloons are anchor nodes 20 Evaluation – Results Results from our test runs: • 148 datapoints • 37cm average and 1.5m maximum 2D error (61cm real error) • target speed up to 2m/s • 2.5 – 3 sec refresh rate 21 Tracking Mobile Nodes Using RF Doppler Shifts Branislav Kusy Computer Science Department Stanford University • A novel tracking algorithm that utilizes RF Doppler shifts • A technique that allows us to measure RF Doppler shifts using low cost hardware Mica2: 8MHz CPU and 9kHz sampling rate 22 Utilizing doppler effect • Single receiver allows us to measure relative speed. • Multiple receivers allow us to calculate location and velocity 23 Doppler Effect • Assume a mobile source transmits a signal with frequency f, and f’ is the frequency of received signal f’ = f + Δf Δf = - v / λ f v is relative speed of source and receiver source Jose Wudka, physics.ucr.edu λf is wavelength of the transmitted signal 24 Can we Measure Doppler Shifts? Typ. freq Dopp. Shift (@ 1 m/s) Acoustic signals 1-5 kHz 3-15 Hz Radio signals (mica2) 433 MHz 1.3 Hz Radio signals (telos) 2.4 GHz 8 Hz Intriguing option: if we can utilize radio signals, no extra HW is required Solution: radio interfereometry 25 Measuring Doppler shift We use radio interferometry to measure Doppler frequency shifts with 0.21 Hz accuracy. 430MHz+30 T0Hz 430MHz A Si 300Hz + Δfi,T • 2 nodes T, A transmit sine waves @430 MHz fT, fA • Node Si receives interference signal (in stationary case) fi = fT – fA • T is moving, fi is Doppler shifted fi = fT – fA + Δfi,T (one problem: we don’t know the value fT-fA accurately) Beat frequency is estimated using the RSSI signal. 26 Formalization We want to calculate both location and velocity of node T from the measured Doppler shifts. Unknowns: • Location, velocity of T, and fT-fA x=(x,y,vx,vy,f^) Knowns (constraints): • Locations (xi,yi) of nodes Si • Doppler shifted frequencies fi c=(f1,…,fn) Function H(x)=c: f4 = fT – fA + Δf4 = fT – fA + v4/λT Non-linear system of equations! 27 Tracking as Optimization Problem Non-linear Least Squares (NLS) • Minimize objective function ||H(x) – c|| • What’s the effect of measurement errors? Experiment: •1 mobile transmitter •8 nodes measure fi Figure shows objective function for fixed (x,y) coordinates 28 Improving Accuracy State Estimation: Kalman Filter • Measurement error is Gaussian • Model dynamics of the tracked node (constant speed) • Accuracy improves, but maneuvers are a problem Experiment: • tracked node moves on a line and then turns • KF requires 6 rounds to converge back. 29 Resolving EKF Problems Combine Least Squares and Kalman Filter • Run standard KF algorithm • Detect maneuvers of the tracked node • Update KF state with NLS solution Dilemma: how much to trust our measurements 30 Tracking Algorithm Infrastructure nodes record Doppler shifted beat frequency. Doppler shifted frequencies Calculate location and velocity using Kalman filter. Extended Kalman filter Location & Velocity Maneuver detection Yes Non-linear least squares No Location & Velocity NLS Location & Velocity Update EKF Updated Location & Velocity Run a simple maneuver detection algorithm. If maneuver is detected, calculate NLS solution and update EKF state. Show location on the screen. 31 Experimental Evaluation Vanderbilt football stadium • 50 x 30 m area • 9 infrastructure XSM nodes • 1 XSM mote tracked • position fix in 1.5 seconds Non-maneuvering case 32 32 Experimental Evaluation Vanderbilt football stadium • 50 x 30 m area • 9 infrastructure XSM nodes • 1 XSM mote tracked • position fix in 1.5 seconds Maneuvering case Only some of the tracks are shown for clarity. 33 From ranging to self-localization • Ranging can be wrt anchors Actual location coordinates received directly • Ranging can be amongst non-anchors A relative location can be obtained Can be done centralized or distributed • Consider a centralized scheme [Sensys 2004, Moore et. Al.] If ranging is precise – rigid localization can be done If ranging is imprecise Flip ambiguities can arise Avoid this using robust quadrilaterals 34 Trilateration without noise • If three anchors are not on the same line, trilateration with accurate distance measurements gives a unique location 35 Trilateration with noise • There can be flip ambiguity 36 Use robust quads • Four nodes with fixed pair wise distances • Smallest rigid graph that can be formed 37 Robustness • If error is bounded, there can be no flips 38 Robustness • If error is bounded, there can be no flips 39 Connecting quads • Robust quads that share 3 nodes can be merged 40 Summary of steps: step 1 • Each node x gets the distance measurements between each pair of 1-hop neighbors. • Identify the set of robust quadrilaterals. • Merge the quads if they share 3 nodes. • Estimate the positions of as many nodes as possible by iterative trilateration. • Note: Local coordinate system rooted at x. 41 Step 2: global alignment • Align neighboring local coordinates systems. • Find the set of nodes in common between two clusters. • Compute the translation, rotation that best align them. 42 Range-free localization Range-based localization: Required Expensive hardware Limited working range ( Dense anchor requirement) Range-free localization: Simple hardware Less accuracy 43 Range-free: Centroid • Idea: Do not use any ranging at all, simply deploy enough beacons • Anchors periodically broadcast their location Anchors • Localization: Listen for beacons Average locations of all anchors in range Result is location estimate • Good anchor placement is crucial! Nirupama Bulusu, John Heidemann and Deborah Estrin. Density Adaptive Beacon Placement, Proceedings of the 21st IEEE ICDCS, 2001 44 Hop-Count Techniques r 4 1 2 3 1 3 4 4 5 2 3 7 4 3 8 6 DV-HOP [Niculescu & Nath, 2003] Amorphous [Nagpal et. al, 2003] 4 5 Works well with a few, well-located seeds and regular, static node distribution. Works poorly if nodes move or are unevenly distributed. 45 MDS 46 Obtaining a Coordinate System from Distance Measurements: Introduction to MDS MDS maps objects from a high-dimensional space to a low-dimensional space, while preserving distances between objects. similarity between objects coordinates of points Classical metric MDS: • • • The simplest MDS: the proximities are treated as distances in an Euclidean space Optimality: LSE sense. Exact reconstruction if the proximity data are from an Euclidean space Efficiency: singular value decomposition, O(n3) 47 LOCALIZATION USING MDS-MAP (Shang, et al., Mobihoc’03) The basic MDS-MAP algorithm: 1. Given connectivity or local distance measurement, compute shortest paths between all pairs of nodes. 2. Apply multidimentional scaling (MDS) to construct a relative map containing the positions of nodes in a local coordinate system. 3. Given sufficient anchors (nodes with known positions), e.g, 3 for 2-D or 4 for 3-D networks, transform the relative map and determine the absolute the positions of the nodes. It works for any n-dimensional networks, e.g., 2-D or 3-D. 48 Applying Classical MDS 1. Create a proximity matrix of distances D 2. Convert into a double-centered matrix B 1 1 2 1 B - I U D I U 2 N N NxN matrix of 1s NxN identity matrix NxN matrix of 1s 3. Take the Singular Value Decomposition of B B VAV T 4. Compute the coordinate matrix X columns) X VA (2D coordinates will be in the first 2 1 2 49 Example: Localization Using Multidimensional Scaling (MDS) (Yi Shang et. al) The basic MDS-MAP algorithm: 1. Compute shortest paths between all pairs of nodes. 2. Apply classical MDS and use its result to construct a relative map. 3. Given sufficient anchor nodes, transform the relative map to an absolute map. 50 MDS-MAP ALGORITHM 1. Compute all-pair shortest paths. O(n3) Assigning values to the edges in the connectivity graph: Known connectivity only: all edges have value 1 (or R/2) Known neighbor distances: the edges have the distance values 2. Apply classical MDS and use its result to construct a 2-D (or 3-D) relative map. O(n3) 3. Given sufficient anchor nodes, convert the relative map to an absolute map via a linear transformation. O(n+m3) • Compute the LSE transformation based on the positions of anchors. O(m3), m is the number of anchors • Apply the transformation to the other unknown nodes. O(n) 51 MDS-MAP (P) – The Distributed Version 1. Set-up the range for local maps Rlm (# of hops to consider in a map) 2. Compute maps of individual nodes 1. Compute shortest paths between all pairs of nodes 2. Apply MDS 3. Least-squares refinement 3. Patch the maps together • Randomly pick a node and build a local map, then merge the neighbors and continue until the whole network is completed 4. If sufficient anchor nodes are present, transform the relative map to an absolute map MDS-MAP(P,R) – Same as MDS-MAP(P) followed by a refinement phase 52 MDS-MAP(P) (Shang and Ruml, Infocom’04) The basic MDS-MAP works well on regularly shaped networks, but not on irregularly shaped networks. MDS-MAP(P) (or MDS-MAP based on patches of local maps) 1. For each node, compute a local relative map using MDS 2. Merge/align local maps to form a big relative map 3. Refine the relative map based on the relative positions (optional). (When used, referred to as MDS-MAP(P,R) ) 4. Given sufficient anchors, compute absolute positions 5. Refine the positions of individual nodes based on the absolution positions (optional) 53 SOME IMPLEMENTATION DETAILS OF MDS-MAP(P) 1. For each node, compute a local relative map using MDS • Size of local maps: fixed or adaptive 2. Merge/align local maps to form a big relative map • Sequential or distributed; scaling or not 3. Refine the relative map based on the relative positions • Least squares minimization: what information to use 4. Given sufficient anchors, compute absolute positions • Anchor selection; centralized or distributed 5. Refine the positions of individual nodes based on the absolution positions • Minimizing squared errors or absolute errors 54 AN EXAMPLE OF C-SHAPE GRID NETWORKS Connectivity information only 10 10 8 8 6 6 4 Known 1-hop distances with 5% range error 4 2 2 2 4 6 8 10 2 4 6 8 10 MDS-MAP(P) without both optional refinement steps. 55 RANDOM UNIFORM PLACEMENT Connectivity information only Mean error (%R) 200 Known 1-hop distances with 5% range error MDS-MAP(P) MDS-MAP(P,R) DV-hop 150 100 50 0 5 10 15 20 25 30 35 Connectivity 200 nodes; 4 random anchors 56 RANDOM C-SHAPE PLACEMENT Connectivity information only Known 1-hop distances with 5% range error Mean error (%R) 200 MDS-MAP(P) MDS-MAP(P,R) DV-hop 150 100 50 0 5 10 15 20 Connectivity 25 30 160 nodes; 4 random anchors 57 APIT 58 Overview of APIT • APIT employs a novel areabased approach. Anchors divide terrain into triangular regions • A node’s presence inside or outside of these triangular regions allows a node to narrow the area in which it can potentially reside. • The method to do so is called Approximate Point In Triangle Test (APIT). 59 Perfect PIT Test • Proposition 1: If M is inside triangle ABC, when M is shifted in any direction, the new position must be nearer to (further from) at least one anchor A, b or C A M B C 60 Continued… • Proposition 2: If M is outside triangle ABC, when M is shifted, there must exist a direction in which the position of M is further from or closer to all three anchors A, B and C. A M B C 61 Perfect PIT Test • If there exists a direction such that a point adjacent to M is further/ closer to points A, B, and C simultaneously, then M is outside of ABC. Otherwise, M is inside ABC. • Perfect PIT test is infeasible in practice. 62 Departure Test. • Experiments show that, the receive signal strength is decreasing in an environment without obstacles. • Therefore further away a node is from the anchor, weaker the received signal strength. M N A 63 Appropriate PIT Test. • Use neighbor information to emulate the movements of the nodes in the perfect PIT test. • If no neighbor of M is further from/ closer to all three anchors A, B and C simultaneously, M assumes that it is inside triangle ABC. Otherwise, M assumes it resides outside this triangle. 64 Inside Case Outside Case 65 Error Scenarios for APIT test. In to out error Out to in error 66 • However, from experimental results it is seen that the error percentage is small as the density increases. 67 APIT aggregation • Represent the maximum area in which a node will likely reside using a grid SCAN algorithm. For inside decision the grid regions are incremented. For outside decision the grid regions are decremented. 68 Algorithm • Anchor Beaconing • Individual APIT Test • Triangle Aggregation • Center of Gravity Estimation Pseudo Code: Receive beacons (Xi,Yi) from N anchors N anchors form N 3 triangles. For ( each triangle Ti Є N 3 ){ InsideSet Point-In-TriangleTest (Ti) } Position = COG ( ∩Ti InsideSet); 69 APIT Aggregation 0 0 0 0 0 10 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 2 2 1 1 0 -1 0 0 1 1 2 2 1 1 0 -1 -1 0 0 0 2 2 2 1 0 -1 -1 -1 0 0 1 1 1 0 0 -1 -1 -1 High Possibility area Grid-Based Aggregation With a density 10 nodes/circle, Average 92% A.P.I.T Test is correct Average 8% A.P.I.T Test is wrong Low possibility area Localization Simulation example 70 Evaluation • Radio Model: Continuous Radio Variation Model. – Degree of Irregularity (DOI ) is defined as maximum radio range variation per unit degree change in the direction of radio propagation α DOI =0 DOI = 0.05 DOI = 0.2 71 Simulation Setup • Setup 1000 by 1000m area 2000 ~ 4000 nodes ( random or uniform placement ) 10 to 30 anchors ( random or uniform placement ) Node density: 6 ~ 20 node/ radio range Anchor percentage 0.5~2% 90% confidence intervals are within in 5~10% of the mean • Metrics Localization Estimation Error ( normalized to units of radio range) Communication Overhead in terms of #message 72 Error Reduction by Increasing #Anchors AH=10~28,ND = 8, ANR = 10, DOI = 0 Placement = Uniform Placement = Random 73 Error Reduction by Increasing Node Density AH=16, Uniform, AP = 0.6%~2%, ANR = 10 DOI=0.1 DOI=0.2 74 Error Under Varying DOI ND = 8, AH=16, AP = 2%, ANR = 10 Placement = Uniform Placement = Random 75 Localization in mobile sensor networks Does mobility help or hurt? Following is a solution from MOBICOM 06 U. Virginia • (Reasonably) Accurate Localization in Mobile Networks • Low Density, Arbitrarily Placed Seeds • Range-free: no special hardware • Low communication (limited addition to normal neighbor discovery) 76 Our Approach: Monte Carlo Localization • Adapts an approach from robotics localization Frank Dellaert, Dieter Fox, Wolfram Burgard and Sebastian Thrun. Monte Carlo Localization for Mobile Robots. ICRA 1999. • Take advantage of mobility: Moving makes things harder…but provides more information Properties of time and space limit possible locations; cooperation from neighbors 77 MCL: Initialization Node’s actual position Initialization: Node has no knowledge of its location. L0 = { set of N random locations in the deployment area } 78 MCL Step: Predict Node’s actual position Predict: Node guesses new possible locations based on previous possible locations and maximum velocity, vmax 79 Prediction p(lt | lt-1) = c 0 if d(lt, lt-1) < vmax if d(lt, lt-1) ≥ vmax Assumes node is equally likely to move in any direction with any speed between 0 and vmax. Can adjust probability distribution if more is known. 80 MCL Step: Predict Filter Node’s actual position r Seed node: knows and transmits location Predict:Remove Node guesses locationswith based on Filter: samplesnew thatpossible are inconsistent previous possible locations and maximum velocity, vmax observations 81 Filtering S Direct Seed If node hears a seed, the node must (likely) be with distance r of the seed’s location S Indirect Seed If node doesn’t hear a seed, but one of your neighbors hears it, node must be within distance (r, 2r] of that seed’s location. 82 Resampling Use prediction distribution to create enough sample points that are consistent with the observations. 83 Recap: Algorithm Initialization: Node has no knowledge of its location. L0 = { set of N random locations in the deployment area } Iteration Step: Compute new possible location set Lt based on Lt-1, the possible location set from the previous time step, and the new observations. Lt = { } while (size (Lt) < N) do R = { l | l is selected from the prediction distribution } Rfiltered = { l | l where l R and filtering condition is met } Lt = choose (Lt Rfiltered, N) 84 Homework 9 [Due Monday Nov 10] • Present a summary of the following paper (< 2 pages) A Wireless Sensor Network for Real-time Indoor Localisation and Motion Monitoring [IPSN 2008] Lasse Klingbeil, Tim Wark (CSIRO ICT Centre) • Optional reading Belief propagation techniques for localization Ihler et al IPSN 2004 85 WSN for Indoor Localization CSIRO Australia Goals • Low cost indoor tracking • Range free localization No special hardware for precise range estimation • No system calibration • Low network overhead 87 Contributions • Localization using combination of Local mobility model (accelerometer, gyroscope) Range free localization Map information • Actual real time implementation • Root mean square error (over time) around 2m 88 Network model • Static wireless infrastructure & base station Act as seed nodes for localization Coarse grained position measurement If mobile node can ‘hear’ seed node Distance modeled as a sigmoid probability density fn Provide communication infrastructure • Mobile network ‘Data’ transferred to seed nodes Single hop (data buffered until seed node met) Implicit acknowledgement and retransmissions 89 On board processing • Step detection Using accelerometer (25Hz sampling) Threshold on FIR averaging filter Constant stride length at every step constant • Angle estimation Using magnetometer and gyroscope Low weight given to magnetometer • Data transmitted = step + angle 90 Angle estimation error 91 Data transmission • Mobile node beacons top most event periodically A static node that hears, forwards to base Currently base assumed one hop Mobile node overhears – implicit ack • Multiple static nodes can forward; which one is seed? Mobile node maintains nearest seed variable Updated whenever implicit ack received Reset to null after 1 second of no ack Sent along with event data Message considered by base if sending node = nearest node 92 Monte Carlo Localization • Position Xk at time tk (Px,Py)k Modeled as p(Xk), a probability distribution for Xk Represented by N particles (Xki, wki), i=1..N • Initially (k=0) All N particles drawn uniformly from entire area • At every locally detected step Mobile node buffers estimated angle of movement 93 Monte Carlo Localization • Update step For every step event received by base (when mobile node within range of anchor) Calculate Xk+1i for i=1..N Use Gaussian error model around the estimated angle and constant stride length Update wk+1i as follows Set to 0 if estimated position is a wall Else set to 1 94 Monte Carlo Localization • Correction step If any step even occurred within range of seed node (indicated by nearest seed variable not NULL) Correct wsi (i=1 .. N) for that time as follows wsi = wsi * f(d) d=dist(seed node, Xsi ) f(d) models probability of mobile node being at Xsi given position of seed node Renormalize wsi so that they add to 1 Resample Get number of non zero weight particles back to N Number of points around around Xi proportional to wi 95 Monte Carlo estimation • At any time Location = mean of all N particle locations Confidence estimate = standard deviation across particles 96 Simulation model • Topology 50m X 60m area with walls • Motion model Walk in a straight line Steps drawn from random distribution Upon hitting wall change direction randomly • Motion detection Step detection probability = 100% Angle errors – Gaussian with standard deviation 10 degree • Network Nominal range 5m (used in distance estimation) Transmission range uniformly distributed 5*(1 + r) to 5*(1 – r) Lossy 97 Sample path and map 98 Simulation parameters • Seed density • Number of particles • Map availability • Packet loss rate • Degree of irregularity r • Metric Root mean square of the error along path 99 RMS estimation error Vs seed distance N = 500 No loss in transmissions r=0.3 100 Max estimation error Vs seed distance N = 500 No loss in transmissions r=0.3 101 Estimation error Vs N With map No loss in transmissions r=0.3 102 Estimation error over time With map No loss in transmissions Seed distance 10m r = 0.3 103 Estimation error Vs r, loss With map, seed distance 10m, N=500 104 Experimental evaluation • Platform Fleck mote Atmega-128 micro-controller 915MHz radio 3 single axis gyroscopes 2 dual axis accelerometer Magnetometer • Topology Office building (area not known) 9 seed nodes (5-10m apart) 105 Map (hard to read) 106 Measured latency and error 107 Experiment - summary • Latency Standard deviation (from 0) = 1.3 Maximum = 8 seconds • Estimation error with map Standard deviation (from 0) = 1.2m Maximum = 2.5m • Estimation error without map Standard deviation (from 0) = 2.5m Maximum = 5.2m 108 Comments What value did gyroscope add? Not clear from analysis / simulation Radio error bounded by 3m RMS estimation error approx. 1-1.5m Max estimation error approx. 2.5-3m Map is confusing Allowed space Vs error? Experiments don’t tell much 109