Dejavu:An accurate Energy-Efficient Outdoor Localization System SIGSPATIAL '13
Dead Reckoning
Definition Dead Reckoning is the process of calculating one's current position by using a previously determined position (fix), and advancing that position based upon known or estimated speeds over elapsed time and course. Steps: Given initial point Ci Estimate Displacement to be travelled (using accelerometer) Estimate azimuth (using compass/gyroscope) Predict next point Ci+1, Vincenty’s Formula is used to calculate the geodesic coordinate based on the azimuth and distance C2 Θ1 C0 How to estimate distance and angle when using smartphones? C1
Estimating Displacement and Angle Use gyroscope/compass data to calculate azimuth. Displacement Estimation Collect acceleration data for time t. Double integrate acceleration data to estimate displacement. The following steps are used to convert the acceleration data to achieve the displacement values: The acceleration signals are filtered [High pass filter] Integrate the acceleration to obtain the velocity The velocity signals are filtered [High pass filter] Finally, the filtered signals of velocity is integrated to get the displacement signals.
Displacement Estimation Example (initial velocity of the object is taken as 0) n Acceleration (an) Velocity (vn) Displacement (xn) 0.818797 1 0.699645 0.409399 2 0.70698 1.518442 1.578019 3 0.602048 2.225422 3.449951 4 0.70219 2.82747 5.976397 5 0.65893 3.52966 9.154962 6 -0.60953 4.18859 13.01409 7 -0.66043 3.579057 16.89791 8 -0.72674 2.918631 20.14675 9 0.762963 2.191892 22.70202 Each sample is of size 10 and data is collected every second. Estimated displacement for first sample
Example At time 09:00 displacement is estimated as 10 and angle 90°
Dejavu Outdoor localization system Provides accurate and energy-efficient outdoor localization Uses only energy-efficient sensors or sensors which are already running leverages road landmarks like moving over potholes, bumps, tunnels etc
Introduction GPS considered as de facto standard for outdoor localization but it is energy hungry and accuracy limited in areas like tunnels Dejavu's approach is based on low-energy sensors (accelerometer,gyroscope,compass) Using array of sensors it identifies landmarks (anchors) crowdsourcing to build database
System overview Dead Reckoning
Raw sensor information System collects raw sensor information cellular network information (RSS and associated cell tower ID) opprtunistically leverags the Wifi chip to collect surrounding Wifi APs
Error Resetting uses linear accelaration combined with direction of motion to compute displacement uses Vincenty's formula to limit accumulated error system uses physical and virtual anchors
Physical and virtual anchors Dejavu uses two types of anchors physical anchors mapped to road features like bridges, tunnels, speed-bumps extracted from map or through prior knowledge virtual anchors detected automatically includes points with unique GSM or Wifi RSS learned through crowd-sourcing
Acc
Anchor detection large number of road features can be identified on their unique signature
Physical anchors used to seed the anchor database identified from maps or by prior knowledge of the location different classes of physical anchors
Virtual anchors uses un-supervised learning techniques to identify virtual anchors anomaly detection techniques are used to identify anomalies in sensor readings. they are clustered into sensor space to identify candidate clusters points of each cluster are spatially clustered to identify the location of each anchor
Feature selection Cellular and Wifi anchors correspond to points in RSS signal space with unique signature
Anomaly detection h - bandwidth n - sample size K - kernel function
Two stage clustering Cluster feature space using hierarchical clustering in vector feature space Clustering will group similar anomalies spatial clustering of points in clusters obtained previously cluster is accepted if the number of points is above a threshold
Anomaly detection Geographical Space Time Hi-dimensional Sensor Space Landmarks Sensors K-Means Clustering
Computing anchor location
Discussion Anchors aliasing Efficient matching Processing location Other sensors Handling heterogeneity
Evaluation
Virtual anchor detection accuracy
Anchor localization accuracy
Effect of anchor density on accuracy
Dejavu against other systems