Location Systems for Ubiquitous Computing Part of slides from...

51
Location Systems for Ubiquitous Computing of slides from http://www.dcs.bbk.ac.uk/~gr/muc/2007/2007_Session_5

Transcript of Location Systems for Ubiquitous Computing Part of slides from...

Page 1: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Location Systems for Ubiquitous Computing

Part of slides from http://www.dcs.bbk.ac.uk/~gr/muc/2007/2007_Session_5_large.pdf

Page 2: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Location Sensing Techniques

• Triangulation– Lateration (using distance)– Angulation (using angles)

• Proximity– Contact– Contactless

• Scene analysis

Page 3: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 4: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Lateration

Page 5: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Lateration MeasurementsTime-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)

Page 6: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Lateration MeasurementsTime-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

Page 7: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Lateration MeasurementsSignal 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

Page 8: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Lateration MeasurementsExample: 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

Page 9: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Lateration MeasurementsExample: 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

Page 10: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 11: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 12: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 13: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 14: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 15: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 16: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 17: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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.

Page 18: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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..)

Page 19: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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)

Page 20: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 21: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

21Place Lab

Past Location Results

Cost per User

Cost per ft2

MSRRADAR

2 m

E911*300 m

GPS3 m

Active Bat.03 m

MIT Cricket.2 m

Motionstar.001 m

OlivettiActive badge

4 m

Place Lab

Page 22: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Limitations

• Improper functionality in certain environments:– Signal strength indoors– Exceeding request limits– Frequency interference

Page 23: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.
Page 24: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.
Page 25: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Practical Metropolitan-Scale Positioning for GSM Phones

Page 26: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 27: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Measurement Platform

• 1 WiFi card• 2 GPSs• 3 Sony Erricson GM28

GSM modems• 3 Audiovox SMT5600

phones (HTC Typhoon)

Page 28: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Wardriving

Seattle metropolitan area

Page 29: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 30: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 31: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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)

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

Page 32: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Recursive Bayesian Updating

Markov assumption: zn is independent of z1,...,zn-1 if we know x.

),,|(

),,|(),,,|(),,|(

11

11111

nn

nnnn

zzzP

zzxPzzxzPzzxP

)()|(

),,|()|(

),,|(

),,|()|(),,|(

...1...1

11

11

111

xPxzP

zzxPxzP

zzzP

zzxPxzPzzxP

ni

in

nn

nn

nnn

The estimated location = x with the maximum probabilityP(x) denotes the probability that a user is in location X

-- without any prior information, we assume uniform dist..

Page 33: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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:),,,|()( 121 tttt zuzuxPxBel

},,,{ 121 ttt zuzud

Xt-1 Xt Xt+1

Zt-1 Zt Zt+1

ut-1 ut

action

observation

Current location

Page 34: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Bayesian Filtering z = observationu = actionx = state

),,,|(),,,,|( 121121 ttttt uzuxPuzuxzP Bayes

),,,|()( 121 tttt zuzuxPxBel

Markov ),,,|()|( 121 tttt uzuxPxzP

1111 )(),|()|( ttttttt dxxBelxuxPxzP

Markov 1121111 ),,,|(),|()|( tttttttt dxuzuxPxuxPxzP

11211

1121

),,,|(

),,,,|()|(

ttt

ttttt

dxuzuxP

xuzuxPxzP

Total prob.

Motion (Prediction phase)Sensor observation (Update phase)

Page 35: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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)

Page 36: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 37: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

MCL: Global Localization

Robot has a map: 3 doors and their locations Robot can detect a door, but can’t distinguish one another

Page 38: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

MCL: Sensor Update

)|()(

)()|()()|()(

xzpxBel

xBelxzpw

xBelxzpxBel

Posterior belief

Re-sampling

Sample

Impo

rtan

ce

Sample

Impo

rtan

ce

DOOR FOUND!!

Page 39: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

MCL: Robot Motion

'd)'()'|()( , xxBelxuxpxBel

Sample

Impo

rtan

ce

Sample

Prediction phase: Update sample locations based on motion model

Page 40: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

)|()(

)()|()()|()(

xzpxBel

xBelxzpw

xBelxzpxBel

MCL: Sensor Update

Sample

Impo

rtan

ce

DOOR FOUND!!

Sample

Impo

rtan

ce

Most likely to be here..

Page 41: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

MCL: Robot Motion

'd)'()'|()( , xxBelxuxpxBel

Sample

Impo

rtan

ce

Sample

Prediction phase: Update sample locations based on motion model

Page 42: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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..)

Page 43: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Results: effect of algorithms

• Low density (residential): Gaussian (MCL) performs best• High density (downtown): Fingerprinting performs best• Cell density is critical

Page 44: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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..

Page 45: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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%..

Page 46: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Accuracy Characterization for Metropolitan-scale Wi-Fi Localization

Page 47: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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)

Page 48: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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 km2)

– Build radio map from AP traces• Positioning phase

– Use radio map to position the user– Compare the estimated position w/

GPS

Page 49: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

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

Page 50: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Baseline Results• Algorithms matter less (except rank)• AP density (horizontal/vertical) matters

• Urban 13~20m, Suburban ~40m

0

10

20

30

40

50

60

70

Downtown UrbanResidential

Suburban

Me

dia

n E

rro

r (m

ete

rs) Centroid (Basic)

Fingerprint (Radar)

Fingerprint (Rank)

Particle Filter

Page 51: Location Systems for Ubiquitous Computing Part of slides from gr/muc/2007/2007_Session_5_large.pdfgr/muc/2007/2007_Session_5_large.pdf.

Effect of APs per scan

• More APs/scan lower median error• Rank does not work with 1 AP/scan