Location Systems for Ubiquitous Computing Part of slides from http://www.dcs.bbk.ac.uk/~gr/muc/2007/2007_Session_5_large.pdf Location Sensing Techniques • Triangulation – Lateration (using distance) – Angulation (using angles) • Proximity – Contact – Contactless • Scene analysis Triangulation • Compute object locations using the properties of triangles (e.g. law of sines, Pythagorean theorem etc) • Several combinations of distance and angle measurements would work • Necessary conditions: – 2D: 3 non-collinear points are needed – 3D: 4 non-collinear points are needed Lateration Lateration Measurements Time-of-Flight • Time-of-flight of the radio signal between transmitter and receiver – Measure time and then calculate the distance using the speed of the signal • Example: sound waves – – – – speed 344m/s at 21oC distance = time x speed speed depends on environmental conditions depends on accurate timings (clock synchronization) Lateration Measurements Time-of-Flight: Problems • Often requires high time resolution (for accurate light or radio propagation measurements) – A light pulse which travels at 299,792,458m/s will cover 5m in 16.7ns – 0.001 sec error leads to 200 miles error! • Clock synchronization critical – Accurate synchronization between reference beacons and receivers – Beacons could use atomic clocks ($100k cost) – Could improve using extra measurements Lateration Measurements Signal attenuation • Signal attenuation, i.e.. drop in the strength of a signal as it propagates in space – Measure the signal at the receiving end and then calculate the distance as the drop to what the signal was at the source • Example: free space path loss model – FSPL(dB) = 20*Log F + 20*Log R • F: frequency (hertz) and R: distance (m) • Problem: – Attenuation varies based on environment due to obstacles, mobility of users, etc.. – Requires more sophisticated signal propagation models Lateration Measurements Example: Global Positioning System • • • • 27 satellite constellation More than 50 launched since 1978 Powered by solar energy Each carries a 4 rubidium atomic clocks – locally averaged to maintain accuracy – updated daily by US Air Force • Ground control – Satellites are precisely synchronized with each other • 400 M USD per year Lateration Measurements Example: Global Positioning System • Algorithm – Satellites transmit their local time in the signal – Receivers compute their difference in time-of-arrival – Receivers estimate their position (longitude, latitude, elevation) using (at least) 4 satellites • GPS receiver requires clock synchronization (w/ satellites) • Accuracy is about 5 meters (20 meters until recently when random error was introduced) • Differential GPS provides extra accuracy approx. 2 meters • European solution: Galileo Angulation • Location sensing in 2D requires – 2 angle measurements from known location – 1 distance measurement (between the 2 locations above) • Example system: phased antenna array – Multiple antennas with known separation (i.e. distance) – Each measures time-of-flight of signal using the difference in times and the (known) geometry of the receiving array, we can calculate the required angle – If there are enough elements in the array and large separation, angulation can be performed accurately Proximity • Physical contact – Pressure, touch sensors or capacitive detectors – Computer login – Credit card sale • Within range of an access point – GSM, wi-fi, Bluetooth – RFID – Visual Scene Analysis • Compares scenes to reference scenes – Image, electromagnetic spectrum • Construct a signature of a position and apply pattern matching techniques with this signature • Differential scene analysis – Tracks differences in scenes • Issues – Observer needs access to the features of the environment against which it will compare its observed scenes – Changes of the environment that affects these features may require their reconstruction Location System Properties • • • • • • • • Physical position and symbolic location information Absolute versus relative locations Localized location computation capability Accuracy and Precision Scale Recognition capability Cost Limitations Physical position and symbolic location • Location information can be – Physical (47º39’17’’ N by 122 º18’23” W) – Symbolic (in the kitchen, next to a mailbox) • Symbolic location information can be derived by physical position with additional information. • Using only symbolic location information can yield very coarse-grained physical positions Absolute versus relative • Absolute location system – Shared reference grid for all objects – Can be transformed into a relative location • Relative location system – Each object may have own frame of reference – Can transform into absolute location from relative location readings • Must know absolute position of reference points Localized location computation • Location computation can happen in: – The object being located (e.g., GPS receiver) • Ensures privacy – The external infrastructure • Lower computational and power demands on objects • Many more applications possible Accuracy and precision • Accuracy – Grain size (e.g. “within 10 meters”) • Precision – Probability of achieving a particular accuracy • Sensor Fusion – Tries to improve accuracy and precision using multiple location systems • Adaptive Fidelity – Ability to adjust precision in response to dynamic events like partial failures. Scale • Scale assessed by: – Coverage area per unit of infrastructure • e.g “1 base station per 10 square meters” – Number of objects the system can locate per unit of infrastructure per time interval • e.g. “25 computations per room per second” • Larger scale achieved by increasing infrastructure (but cost matters..) Recognition • Necessary for applications that take specific actions based on location of object – e.g. airport baggage handling system • GUID (Globally Unique ID) – Used to provide recognition capability – Combined with other contextual information allows for different object interpretations in different settings. (e.g retrieving museum information in a particular language) Cost • Time – Installation process length – System administration needs • Space – Amount of installed infrastructure – Hardware size • Capital – Price per mobile unit or infrastructure element – Support personnel salaries Past Location Results Motionstar .001 m MSR RADAR Active Bat 2m Cost per ft2 .03 m Olivetti Active badge MIT Cricket .2 m 4m Place Lab E911* 300 m GPS 3m Cost per User Place Lab 21 Limitations • Improper functionality in certain environments: – Signal strength indoors – Exceeding request limits – Frequency interference Practical Metropolitan-Scale Positioning for GSM Phones GSM vs. WiFi • GSM’s periodic beaconing (pilot signal) • Benefits – GSM cell can span up to 35km (vs. WiFi < 500m) – GSM networks are stable – GSM bands are licensed, less prone to interference Measurement Platform • 1 WiFi card • 2 GPSs • 3 Sony Erricson GM28 GSM modems • 3 Audiovox SMT5600 phones (HTC Typhoon) Wardriving Seattle metropolitan area Positioning Algorithms • Centroid family – Geometric center of all the cell towers seen in the measurement (e.g., arithmetic mean) – Cell tower location info was calculated using measured data set Positioning Algorithms • Fingerprinting (used in RADAR) – Training phase (building a fingerprint table): for each location, collect signal strength samples from towers, and keep the average for each location y x RSSI (x, y, z) = (-20, -10, -15) (-15, -12, 18) ………… L1=avg(x, y, z) = (xx, yy, zz) y x RSSI: Received Signal Strength Indicator RSSI (x, y, z) = (-21, -40, -18) (-16, -42, 12) ………… L2=avg(x, y, z) = (xx’, yy’, zz’) – Positioning phase: • Calculate the distance in signal strength space between the measured signal strength and the fingerprint DB • Select k fingers with the smallest distance, and use arithmetic average as the estimated location Positioning Algorithm • Probabilistic approach using Baye’s Rule – For a given location, signal strength follows a certain distribution • Using only average value is less accurate.. – Want to find P(cur_loc|samples)?? • Baye’s rule: P(loc|sam) = P(sam|loc)*P(loc) / P(sam) • Maximum likelihood approach: arg max P(loc|sam) PDF RSSI from x y PDF x RSSI (x, y, z) = (-20, -10, -15) (-15, -12, 18) ………… RSSI from y z PDF RSSI from z Recursive Bayesian Updating P ( x | z 1, , z n ) P ( z n | x , z 1, , z n 1) P ( x | z 1, , z n 1) P ( z n | z 1, , z n 1) Markov assumption: zn is independent of z1,...,zn-1 if we know x. P ( x | z 1, , z n ) P ( z n | x ) P ( x | z 1, , z n 1 ) P ( z n | z 1, , z n 1 ) P ( z n | x ) P ( x | z 1, , z n 1 ) 1 ... n P ( zi | x ) P ( x ) i 1 ... n The estimated location = x with the maximum probability P(x) denotes the probability that a user is in location X -- without any prior information, we assume uniform dist.. Bayesian Filtering: Framework • • Given: – Stream of observations z and action data u: d t {u 1 , z 2 , u t 1 , z t } – Sensor model P(z|x) RSSI distribution for a given location – Action model P(x|u,x’) Mobility framework – Prior probability of the system state P(x) Wanted: – Estimate of the state X of a dynamical system. – The posterior of the state is also called Belief: Bel ( x t ) P ( x t | u1 , z 2 , u t 1 , z t ) observation Zt-1 Xt-1 Zt+1 Zt ut-1 action Current location Xt ut Xt+1 Bayesian Filtering z = observation u = action x = state Bel ( x t ) P ( x t | u1 , z 2 , u t 1 , z t ) Bayes P ( z t | x t , u 1 , z 2 , , u t 1 ) P ( x t | u 1 , z 2 , , u t 1 ) Markov P ( z t | x t ) P ( x t | u 1 , z 2 , , u t 1 ) Total prob. P ( zt | xt ) P(x t | u 1 , z 2 , , u t 1 , x t 1 ) P ( x t 1 | u 1 , z 2 , , u t 1 ) dx t 1 Markov P ( z t | xt ) P(x P ( z t | xt ) P(x Sensor observation (Update phase) t | u t 1 , x t 1 ) P ( x t 1 | u 1 , z 2 , , u t 1 ) dx t 1 t | u t 1 , x t 1 ) Bel ( x t 1 ) dx t 1 Motion (Prediction phase) Bayesian Filtering • Challenges – Integration may be difficult to solve (non-linear cases) – Maintaining full probability states is exhaustive (aka. curse of dimension) (in terms of memory and complexity) • Various “Bayesian Filtering” representation methods – Kalman filters (Gaussian cases mostly) – Multi-hypothesis tracking – Grid-based representations (discretization) – Topological approaches – Particle filters (Monte Carlo sampling) Particle Filters Represent density by random samples Monte Carlo filter, Survival of the fittest, Condensation, Bootstrap filter, Particle filter Filtering: [Rubin, 88], [Gordon et al., 93], [Kitagawa 96] Estimation of non-Gaussian, nonlinear processes Computer vision: [Isard and Blake 96, 98] Dynamic Bayesian Networks: [Kanazawa et al., 95] MCL: Global Localization Robot has a map: 3 doors and their locations Robot can detect a door, but can’t distinguish one another MCL: Sensor Update Bel ( x ) p ( z | x ) Bel ( x ) w p ( z | x ) Bel ( x ) Importance Bel ( x ) DOOR FOUND!! Sample Importance Posterior belief Re-sampling Sample p( z | x) MCL: Robot Motion p(x | u , x ' ) Bel ( x ' ) d x ' Importance Bel ( x ) Sample Prediction phase: Update sample locations based on motion model Sample MCL: Sensor Update Bel ( x ) p ( z | x ) Bel ( x ) w p ( z | x ) Bel ( x ) p( z | x) Importance Bel ( x ) DOOR FOUND!! Importance Sample Most likely to be here.. Sample MCL: Robot Motion p(x | u , x ' ) Bel ( x ' ) d x ' Importance Bel ( x ) Sample Prediction phase: Update sample locations based on motion model Sample MCL based localization • Sensor model P(z1, z2, .., zn|x) – Gaussian model (ubicomp..) – Measured model (mobisys) • Motion model – Not specified in the paper (ubicomp..) – Random mobility??? (mobisys..) Results: effect of algorithms • Low density (residential): Gaussian (MCL) performs best • High density (downtown): Fingerprinting performs best • Cell density is critical Results: effect of training data set size • Trade-off between training data size and error – High density means better performance • 70% dropping is still good.. Other results • Cross-provider GSM beacons (ATT, T-mobile, Cingular) significantly improve the performance (thanks to more samples) • Cross-device performance varies a lot – Centroid: <10% – Gaussian: ~60%.. Accuracy Characterization for Metropolitan-scale Wi-Fi Localization Riding the Wi-Fi wave • Wi-Fi is everywhere now – – – – No new infrastructure Low cost APs broadcast beacons “War drivers” already build AP maps • Calibrated using GPS • Constantly updated • Position using Wi-Fi – Indoor Wi-Fi positioning gives 2-3m accuracy – But requires high calibration overhead: 10+ hours per building • What if we use war-driving maps for positioning? Manhattan (Courtesy of Wigle.net) slide47 Methodology • Training phase – Collect AP beacons by “war driving” with Wi-Fi card + GPS – Each scan records • A GPS coordinate • List of Access Points – Covers one neighborhood in 1 hr (~1 km2) – Build radio map from AP traces • Positioning phase – Use radio map to position the user – Compare the estimated position w/ GPS slide48 Compare Accuracy of Different Algorithms • Centroid – Estimate position as arithmetic mean of positions of all heard APs • Fingerprinting – – – – User hears APs with some signal strength signature Match closest 3 signatures in the radio map RADAR: compare using absolute signal strengths [Bahl00] RANK: compare using relative ranking of signal strengths [Krumm03] • Using cosine similarity measure • Particle Filters – Probabilistic approximation algorithm for Bayes filter slide49 Baseline Results • Algorithms matter less (except rank) • AP density (horizontal/vertical) matters • Urban 13~20m, Suburban ~40m 70 Median Error (meters) 60 Centroid (Basic) 50 Fingerprint (Radar) 40 Fingerprint (Rank) 30 Particle Filter 20 10 0 Downtown Urban Residential Suburban Effect of APs per scan • More APs/scan lower median error • Rank does not work with 1 AP/scan