Location Sensing - Interactive Computing Lab

Download Report

Transcript Location Sensing - Interactive Computing Lab

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