Positioning: A Computing Perspective Outline • Motivation, Use-Cases – – • • • • • Navigation Mapping Geo-localization: Determining one’s position Geo-Referencing: Specifying a position Positional Accuracy Geo-Privacy Conclusions 2 Location Based Services • Open Location Services – Location: Where am I? (street address, <latitude, longitude>) – Directory: Where is the nearest clinic (or doctor)? – Routes: What is the shortest path to reach there? 3 Motivation, Use-Cases • Consumers – – – Hikers : Where am I in a mountain range? Tourists: Where am I in a new city? Asset Tracking: Where is my smartphone? Car? Key ring? • Businesses – – – Transportation: Taxi-sharing (e.g., Uber), Connected & Self-driving Cars Agriculture: Precision Agriculture Asset tracking: Where are the trucks in my fleet? • Government – – – 2 Health: Where is an Alzheimer patient ? Public Safety: Find epi-center of an Earthquake, Geo-targeted alerts and warnings Military: Precision Targeting, Avoid friendly fire, Navigation 5 Outline • Motivation, Use-Cases • Geo-localization: Determining one’s position – – – • • • • Problem Definition & Taxonomy Localization Approaches: (Tri)angulation, (Tri)lateration, Fingerprint map, Proximity, Simultaneous localization and mapping Geo-Referencing: Specifying a position Positional Accuracy Geo-Privacy Conclusions 2 Geo-localization : Problem Definition • Output: Object O’s location • Cases: (a) A point (b) A zone, (c) Sub-area of Earth • Inputs • A map = A set S of well-known objects & their properties • Objects: (a) Natural: stars, landmarks, … (b) Man-made: satellites, cell-towers, … • Properties: (a) Locations, (b) Signal frequency & coding • Line of sight relationship(O, S), e.g., distance(O, S), angle(O, S), … • Objectives, Constraints • • 2 Positional Accuracy, Fast response Large Coverage, Low cost and power cost Geo-localization Approaches • • • • • Vectors – Use a distance and an angle Angulation – Use only angles Lateration – Use only distances Database Search – Fingerprints, Map matching Simultaneous Localization & Mapping 2 A Vector to find unknown position • Vector = (distance, angle) to a landmark L from the unknown point P – – Range finder: find |a| = distance (P, L) Compass: find v = angle(P, L) • Geometric Method – – Draw a circle of radius d with L as center Draw a ray from L at angle “a” • Algebraic Method – – Suppose L = (xL, yL), P = (xP,yP), v is angle from east Then xP = xL – |a|*cos(v); yP = yL – |a|*sin(v) Physical Measurement of Angles • On Paper Map - Protractor • Outdoors – – – 2 Compass Sextant Theodolite, … Physical Measurement of Distance • • Tape or chain measure Clocks – – – • Rangefinder (round-trip time / (signal_speed * 2) Delay in receiving a clock source • Signal_travel_time/speed (clocks synchronized) Dead reckoning – f(direction, speed, acceleration, elapsed time) Other – – – 2 Power decay Doppler shift in frequency of a source … Geo-localization Approaches • • • • • Vectors – Use a distance and an angle Angulation – Use only angles Lateration – Use only distances Database Search – Fingerprints, Map matching Simultaneous Localization & Mapping 2 Find distance using angles from 2 known positions • Triangulation: Measurement using triangles – Locate 3rd vertex, measure angles two known vertices • Find distance – – 2D: use 2 angles + 1 distance 3D: 2 angles + 1 distance + 1 azimuth • Ex. Estimate Distance(ship, shore) – – – measure angles from 2 well-known points l = d *( cotangent(alpha) + cotangent(beta) ) Does it also position the Ship? Find unknown position from angles to 2 landmarks • Angulation: Measurement using angles (lines) – Intersection of 2 straight lines locates a point • Resection: Locate a unknown point – – – Measure angles to 2 landmark to locate Measure angles to 3 landmarks to locate & verify Geometry: Use a compass & a topo map • Algebra: – – – Given: (a) angle “a1” (from East vector) to point p1 = (x1, y1) (b) (counter-clock) angle “a2” (from East) to pint p2 = (x2, y2) Find equations of two lines L1 and L2 • L1 is y = tan(a1) *x + y1 – x1*tan(a1) • L2 is y = tan(a2)*x + y2 – x2*tan(a2) – Find intersection point (x,y) between L1 and L2 Triangulation: Other Meanings • Q?: Which of following meanings are relevant to positioning? – – – – – 2 Surveying: Measurement using triangles Geometry: Divide (polygon or plane) into triangles Linear Algebra: find an upper triangular matrix similar to a matrix Computer Vision: Compute a 3D point given its projection on to two or more images Social Science: Use multiple cross-checked sources and methodology Geo-localization Approaches • • • • • Vectors – Use a distance and an angle Angulation – Use only angles (e.g., compass) Lateration – Use only distances Database Search – Fingerprints, Map matching Simultaneous Localization & Mapping 2 Lateration using 1 distance • Lateration: Locate position using distance from reference points • Mono-lateration: Use one distance – – – Linear referencing system, e.g., highway mile-marker Dead Reckoning Proximity sensors, e.g., tile (blue-tooth), RFID, IR, … Lateration in 2-dimensions • Lateration: Infer P from its Distance from K locations – – – Is K = 2 sufficient in 2-dimensions, where P = (x, y)? 2 equations and 2 unknowns (x, y) 3 circles determine a point in 2-dimensions • Trilateration: – – 2 Use distance from 3 locations Listen to sources (e.g., satellites, wi-fi, cell towers) If O’s clock is synchronized with source clocks • Distance = Signal_travel_time / speed Mathematics of Lateration • Given: Distances r1, r2 and r3 to 3 known positions (x1, y1), (x2, y2), (x3, y3) • Find: unknown location = (xu, yu) • Equations: – sqr(x1 – xu) + sqr(y1 – yu) = sqr (r1) – Sqr(x2 – xu) + sqr(y2 – yu) = sqr(r2) – Sqr(x3 – xu) + sqr(y3 – yu) = sqr (r3) • Subtract 3rd equation from first two and reorder – 2(x3 – x1) xu + 2(y3 – y1) yu = (sqr(r1)-sqr(r3)) – (sqr(x1)-sqr(x3)) – (sqr(y1)-sqr(y3)) – 2(x3 – x2) xu + 2(y3 – y2) yu = (sqr(r2)-sqr(r3)) – (sqr(x2)-sqr(x3)) – (sqr(y2)-sqr(y3)) • Two linear equations in two unknowns (xu, yu) – Provides unique solutions if equations are independent Lateration (With Error) • Given: Distances r1, r2, …, rk to K known positions (x1, y1), (x2, y2), …, (xk, yk) • Find: unknown location = X = (xu, yu) • (K – 1) Equations : A X = b – – – – 2(xk – x1) xu + 2(yk – y1) yu = (sqr(r1)-sqr(rk)) – (sqr(x1)-sqr(xk)) – (sqr(y1)-sqr(yk)) 2(xk – x2) xu + 2(yk – y2) yu = (sqr(r2)-sqr(rk)) – (sqr(x2)-sqr(xk)) – (sqr(y2)-sqr(yk)) ... 2(xk – x(k-1)) xu + 2(yk – y(k-1)) yu = (sqr(r(k-1))-sqr(rk)) – (sqr(x(k-1))-sqr(xk)) – (sqr(y(k-1)-sqr(yk)) • Estimate X = (xu, yu) given matrix A and vector b – to minimize mean square error of fit Multi-Lateration • If O’s clock not synchronized with source clocks – – Multi-lateration : use distance from K (> 3) locations Estimate clock bias (b) and location (x, y, z) (x - xi )2 + (y - yi )2 + (z - zi )2 = c 2 (ti + b)2 2 Global Positioning System • A GPS receiver computes its position(x, y, z) on earth – by measuring its distances from four of the satellites. (x - xi )2 + (y - yi )2 + (z - zi )2 = c 2 (ti + b)2 (xi , yi , zi ) position in space of the ith satellite (x, y, z) position of the receiver ti time delay for signal from satellite i c b Speed of light The error of receiver’s clock Satellite-based Positioning • Pioneers: NASA GRARR, Army SECOR, Navy Transit, NOAA ARGOS, … • Global Navigation Satellite System (GNSS) • • US NAVSTAR GPS • NAVigation Satelite Time And Ranging Global Positioning System • A few dozen satellites + 6 control station + many differential GPS transmitters • NIST F-2 Caesium clock (accuracy of 1 second in 1211 Million Years) • Receivers use 3 satellites to estimate location & time • Receiver accuracy: (cm to m, 14ns to 100 ns) GLONASS (Russia), Galileo (EU), Beidou (China), IRNNS (India), DORIS (France), QZSS (Japan), … http://www.alphaquark.eu/ 2 GPS Pros and Cons … • Strengths of GPS • • Unified coordinate system worldwide Low device cost, High accuracy & Broad coverage outdoor • Weaknesses & New Approaches • Power hungry, Long time-to-first-fix • Assisted GPS : A server computes position and shares with clients • However, it reduces positional accuracy for clients • Drifts • Map matching for vehicles • Coverage Gaps, jamming & spooofing • Indoors: augment with wi-fi, cell towers • Outdoors: GPS III – stronger signal and encryption • Outdoors: Fingerprinting: Earth’s gravitational and magnetic fields 2 Geo-localization Approaches • • • • • Vectors – Use a distance and an angle Angulation – Use only angles Lateration – Use only distances Database Search – Fingerprints, Map matching Simultaneous Localization & Mapping 2 Fingerprinting: A big data approach US Public Radio Stations • General Idea : No two places on Earth are exactly alike! • • • • Signals of FM stations, cell towers, wi-fi, … Gravitation anomaly maps (US GRACE satellite) Magnetic anomaly field (EU CHAMP satellite) Plant and animal species, Ecological variables, … • Method • • Create a database of fingerprints of many locations • Fingerprint (location) = value of N signals To localize an unknown location L • Search database for closest matches • Output map of locations matching fingerprint(L) Applications • • • 2 Localization in GPS-denied environment Find location of an image or video from content Atlantic, 11/22/2013 (Road) Map matching • Idea : Urban vehicles are seldom off-road • Estimate best-matched position on a road network • Method • • Closest position on road center-lines Constrained by velocity and history Applications • • 2 Address GPS inaccuracy, drift, low sampling, temporary loss Simultaneous Localization and Mapping (SLAM) • Use-case: If GPS signal is weak, use wi-fi to improve positioning • Challenge: private owner may not share location & movement • Method: Iterative refinement with a set of (moving) cars/phones • • • • Localize self via GPS, known wi-fi, cell towers, FM, map-matching, dead-reckoning, … Map: Location of unknown wi-fi transmitter = f (observation from 3 or more locations) Correlate wi-fi locations with wi-fi hotspot MAC addresses Repeat synchronously or asynchronously • Example • 2 www.skyhookwireless.com/Coverage-Map Outline • Motivation, Use-Cases • Geo-localization: Determining one’s position • Geo-Referencing: Specifying a position – – – Symbolic place names Reference Systems – Linear, Spheroid, Ellipsoidal, … Translating across specifications • Positional Accuracy • Geo-Privacy • Conclusions 2 Geo-Referencing • Why should we care? – To compare maps – To register GPS coordinates to a Map – To compute distance, direction, … Alternative Georeferencing • Symbolic Geo-Referencing – Place names (e.g., Dinkytown, Eyjafjallajökull, ) – Street address (200 Union St. SE, MN 55455) – Internet URLs, MAC address • Numeric Geo-Referencing – (Latitude, longitude), GPS reading, map projections, … • Geo-code: – Translate symbolic to numerical geo-reference – Ex.: street address to latitude-longitude on map • Reverse Geo-code: – translate numeric geo-reference to symbolic – Ex. GPS coordinate to a street address Numeric Geo-Referencing • Coordinate system – A method for assigning unique codes to locations – Goal: locations can be found using its code • Relative location – Using units of map’s paper sheet – East-ing, e.g., x-direction value – North-ing, e.g., y-direction – • Absolute locations – Projected: e.g., Universal Transverse Mercator System – Relative to Earth’s center: e.g., latitude, longitude, elevation – On surface of the Earth: • Q? What is shape of Earth? WGS-84 • Earth is modeled as an spheroid (bi-axial ellipsoid) • • a = 6378.137 km, b = 6356.752 km (WGS-84) Measure by GPS ground stations, periodically aligned with ITRF Gravity field http://principles.ou.edu/earth_figure_gravity/geoid/lumpy_earth_2.jpg 2 Outline • • • • Motivation, Use-Cases Geo-localization: Determining one’s position Geo-Referencing: Specifying a position Positional Accuracy – – – Motivation Factors affecting accuracy Typical Accuracy • Geo-Privacy • Conclusions 2 Accuracy • GPS Accuracy depends on – – – – – Number of visible satellites Occlusion by tall trees, building, hills, … Accuracy of clocks at receiver and satellites Multi-path reflections, Atmospheric conditions Availability of additional signals, e.g., wi-fi, cell tower, differential GPS, … • Other methods – accuracy issues – 2 F(accuracy for distance, directions) Accuracy of other methods • Triangulation accuracy depends on – – – 2 Reference point positional accuracy Angle measurement resolution Distance to reference points Outline • • • • • Motivation, Use-Cases Geo-localization: Determining one’s position Geo-Referencing: Specifying a position Positional Accuracy Geo-Privacy – – – Stakeholders & their interests Common Grounds Privacy Enhancement Techniques • Conclusions 2 Challenge: Privacy vs. Utility Trade-off • • Check-in Risks: Stalking, GeoSlavery, … Ex: Girls Around me App (3/2012), Lacy Peterson [2008] • Others know that you are not home! The Girls of Girls Around Me. It's doubtful any of these girls even know they are being tracked. Their names and locations have been obscured for privacy reasons. (Source: Cult of Mac, March 30, 2012) 3 Geo-privacy • Emerging personal geo-data – Trajectories of smart phones, gps-devices, life-trajectories and migrations, … – Reveals home, work, frequented places, … • Privacy: – Who gets my data? – Who do they give it to? – What promises does a citizen get? • Socio-technical problem – Need policy support – Challenges in fitting location privacy into existing privacy constructs (i.e HIPPA, Gramm-Leach-Bliley, Children's Online Privacy Protection Act) http://illumemagazine.com/zine/articleDetail.php?FBI-GPS-Tracking-and-Invasion-of-Privacy-13346 Geo-privacy conversation starters • Groups interested in Geo-Privacy – – – – Civil Society Economic Entities Public Safety Policy Makers http://illumemagazine.com/zine/articleDetail.php?FBI-GPS-Tracking-and-Invasion-of-Privacy-13346 Outline • • • • • • Motivation, Use-Cases Geo-localization: Determining one’s position Geo-Referencing: Specifying a position Positional Accuracy Geo-Privacy Conclusions 2