Pervasive Location-Aware Computing Hari Balakrishnan Networks and Mobile Systems Group MIT Laboratory for Computer Science http://nms.lcs.mit.edu/ Why you should care • Location-awareness will be a key feature of many future mobile applications • Many scenarios in pervasive computing – – – – Navigation Resource discovery Embedded applications, sensor systems Monitoring and control applications • The design of good location-aware computing systems cuts across many areas of CS/EE – E.g., sensors, signal processing, networking, mobility, data management, graphics/visualization, planning, HCI, … – Most of the exciting stuff will happen in the next few years! Computing Input Processing Output Networked Computing Processing + communication Processing + communication Network Processing + communication Processing + communication Networked, Context-Aware Computing Environmental Context Sensors Location information Processing + communication Processing + communication Resource information Network Actuators Processing + communication Processing + communication Location-Aware Applications • Human-centric – “Finding” applications • Embedded – Sensors & actuators – Devices – Monitoring and control • System should support both forms This Talk • • • • Cricket location infrastructure Some applications System architecture Challenges for the future Cricket • Architecture for ubiquitous location-sensing – No single location-sensing technology works everywhere today, particularly indoors • Integrates variety of sensory information – GPS: wide-open outdoors – Wireless access info: coarse-grained info – RF + ultrasonic trilateration: indoors and in urban areas • Sensor-independent location API Desired Functionality • What space am I in? – Room 510, reception area, seminar room,… – How do I learn more about what’s in this space? – An application-dependent notion • What are my (x,y,z) coordinates? – “Cricket GPS” • Which way am I pointing? – “Cricket compass” • Goal: Linear precision of a few centimeters, angular precision of a few degrees Design Goals • Must determine: – Spaces: Good boundary detection is important – Position: With respect to arbitrary inertial frame – Orientation: Relative to fixed-point in frame • • • • • Must operate well indoors Preserve user privacy: don’t track users Must be easy to deploy and administer Must facilitate innovation in applications Low energy consumption Cricket Architecture info = “a2” Beacon info = “a1” Listener Estimate distances to infer location Autonomous: No central beacon control or tracking Passive listeners + active beacons facilitates privacy Straightforward deployment and programmability Machinery Beacons on ceiling SPACE=NE43-510 ID=34 COORD=146 272 0 MOREINFO= http://cricket.lcs.mit.edu/ Cricket listener Mobile device Obtain linear distance estimates Pick nearest to infer “space” Solve for mobile’s (x, y, z) Determine w.r.t. each beacon and deduce orientation vector B Determining Distance Beacon RF data (space name) Ultrasound (pulse) Listener • A The beacon listener transmits measures an RF the and timean gap ultrasonic between signal the receipt simultaneously of RF and ultrasonic signals –A gap location of x ms roughly corresponds a RFtime carries data, ultrasound is a to narrow distance of x feet from beacon pulse – Velocity of ultrasound << velocity of RF Multiple Beacons Cause Complications Beacon A Beacon B Incorrect distance Listener RF B RF A US B US A t • Beacon transmissions are uncoordinated • Ultrasonic signals reflect heavily • Ultrasonic signals are pulses (no data) These make the correlation problem hard and can lead to incorrect distance estimates Solution • Carrier-sense + randomized transmission – Reduce chances of concurrent beaconing • Bounding stray signal interference – Envelop all ultrasonic signals with RF • Listener inference algorithm – Processing distance samples to estimate location Bounding Stray Signal Interference RF A US A t • Engineer RF range to be larger than ultrasonic range – Ensures that if listener can hear ultrasound, corresponding RF will also be heard Bounding Stray Signal Interference S b r v = size of space advertisement = RF bit rate = ultrasound range = velocity of ultrasound S b (RF transmission time) S/b t r/v (max) r v (Max. RF-US separation at the listener) • No “naked” ultrasonic signal can be valid! Estimation Algorithm Windowed MinMode A B Frequency 5 5 Distance (feet) 10 A B Actual distance (feet) 6 8 Mode (feet) 6 8 Mean (feet) 7.2 6.4 9 10 Majority Orientation Beacons on ceiling Orientation relative to B on horizontal plane Cricket listener with compass hardware Mobile device (parallel to horizontal plane) B Trigonometry 101 Beacon Idea: Use multiple ultrasonic sensors and estimate differential distances sin = (d2 - d1) / sqrt (1 - z2/d2) where d = (d1+d2)/2 d1 d2 Two terms need to be estimated: 1. d2 – d1 2. z/d (by estimating coordinates) z Differential Distance Estimation • Problem: for reasonable values of parameters (d, z), (d2 - d1) must have 5mm accuracy – Well beyond all current technologies! Beacon d2 d1 L t f = 2p (d2 – d1)/l Estimate phase difference between ultrasonic waveforms! Coordinate Estimation Beacons on ceiling at known coordinates vt1 vt2 vt3 (x,y,z) vt4 Four equations, four unknowns Velocity of sound varies with temperature, humidity Can be “eliminated” (or calculated!) B Beacon Placement Totally arbitrary beacon placement won’t demarcate spaces correctly Room A Room B I am at B Correct Beacon Placement Room A Room B x I am at A • Position beacons to detect the boundary • Multiple beacons per space are possible x System Configuration & Administration • Password-based authentication for configuration • Currently, coordinates manually entered • Auto-configuration algorithm being developed • MOREINFO database centrally managed with Web front-end – Relational DBMS – Challenge: queries that don’t divulge device location, but yet are powerful Cricket v1 Prototype RF module (rcv) Ultrasonic sensor Listener RF module (xmit) RF antenna Beacon Atmel processor RS232 i/f Host software libraries in Java; Linux daemon (in C) for Oxygen BackPaq handhelds Several apps… Deployment Some Results • Linear distances to within 6cm precision • Spatial resolution of about 30cm • Coordinate estimation to within 6cm in each dimension • Orientation to within 3-5 degrees when angle to some beacon < 45 degrees • Several applications (built, or being built) – Stream redirection, active maps, Viewfinder, Wayfinder, people-locater – Scalable location-aware monitoring (SLAM) apps: MIT library book tracking, asset management, MIT physical plant maintenance Where am I? (Active map) What’s near me? Find this for me (Resource discovery) “Print map on a color printer,” and system sends data to nearest available free color printer and tells you how to get there Location by “intent” How do I get to Jorg’s office? Scale (# sensors) Large-Scale Monitoring Power, thermal Monitoring & control 107 106 Library usage 105 Physical plant Repair orders 104 Irrigation Days/Hours Asset tracking Fire detection Motion detection Assisted evacuation Leaks, floods Lab equipment monitoring Personal safety Traffic, parking Minutes Response time Cricket network auto-configuration HazMat response Local navigation Seconds Requirements • • • • • • • • • Ubiquitous location-sensing Heterogeneous sensor networking/comm. protocols Resource discovery Event handling Query processing Spatial databases Mapping and representation Navigation User interfaces Strawman Architecture Cricket beacons (Pervasive) Fixed sensor proxy (sensor integration, pruning) Events Tag reader Tagged books, equipment Actions Event-handling & resource discovery network Mobile sensor proxy Sensor Proxy Application event handlers (Distributed) Sensors & actuators Data stores Summary • Location-aware computing poses numerous interesting challenges for CS – An important component of pervasive computing – Integrating real-world information – App spectrum from HCI Embedded apps • Cricket provides location information for mobile, pervasive computing applications – Space, position, orientation – Flexible and programmable infrastructure – Deployment and management facilities Collaborators • • • • • • • • • • Bodhi Priyantha Allen Miu Ken Steele Rafael Nogueras Seth Teller Steve Garland Dorothy Curtis Omar Aftab Erik Demaine Mike Stonebraker http://nms.lcs.mit.edu/