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 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 21 o C – 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º3917 N by 122 º1823 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
Place Lab21 Past Location Results Cost per User Cost per ft 2 MSR RADAR 2 m E911* 300 m GPS 3 m Active Bat.03 m MIT Cricket.2 m Motionstar.001 m Olivetti Active badge 4 m Place Lab
Limitations Improper functionality in certain environments: – Signal strength indoors – Exceeding request limits – Frequency interference
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 – 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 x y RSSI (x, y, z) = (-20, -10, -15) (-15, -12, 18) ………… L1=avg(x, y, z) = (xx, yy, zz) x y RSSI (x, y, z) = (-21, -40, -18) (-16, -42, 12) ………… L2=avg(x, y, z) = (xx, yy, zz) RSSI: Received Signal Strength Indicator
Positioning Algorithm Probabilistic approach using Bayes 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)?? Bayes rule: P(loc|sam) = P(sam|loc)*P(loc) / P(sam) Maximum likelihood approach: arg max P(loc|sam) x y RSSI (x, y, z) = (-20, -10, -15) (-15, -12, 18) ………… z RSSI from x PDF RSSI from y PDF RSSI from z PDF
Recursive Bayesian Updating Markov assumption: z n is independent of z 1,...,z n-1 if we know x. 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: – 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: X t-1 XtXt X t+1 Z t-1 ZtZt Z t+1 u t-1 utut action observation Current location
Bayesian Filtering z = observation u = action x = state Bayes Markov Total prob. Motion (Prediction phase) Sensor observation (Update 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)
Represent density by random samples Estimation of non-Gaussian, nonlinear processes Monte Carlo filter, Survival of the fittest, Condensation, Bootstrap filter, Particle filter Filtering: [Rubin, 88], [Gordon et al., 93], [Kitagawa 96] Computer vision: [Isard and Blake 96, 98] Dynamic Bayesian Networks: [Kanazawa et al., 95] Particle Filters
MCL: Global Localization Robot has a map: 3 doors and their locations Robot can detect a door, but cant distinguish one another
MCL: Robot Motion Sample Importance Sample Prediction phase: Update sample locations based on motion model
MCL: Sensor Update Sample Importance DOOR FOUND!! Sample Importance Most likely to be here..
MCL: Robot Motion Sample Importance Sample Prediction phase: Update sample locations based on motion model
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
slide47 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)
slide48 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 km 2 ) – Build radio map from AP traces Positioning phase – Use radio map to position the user – Compare the estimated position w/ GPS
slide49 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
Baseline Results Algorithms matter less (except rank) AP density (horizontal/vertical) matters Urban 13~20m, Suburban ~40m
Effect of APs per scan More APs/scan lower median error Rank does not work with 1 AP/scan