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!
Network
Networked Computing
Processing+
communication
Processing+
communication
Processing+
communication
Processing+
communication
Networked, Context-Aware Computing
Network
Processing+
communication
Processing+
communication
Processing+
communicationProcessing
+communication
Locationinformation
Sensors
Actuators
Resourceinformation
EnvironmentalContext
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
Beacon
Listener
Autonomous: No central beacon control or trackingPassive listeners + active beacons facilitates privacyStraightforward deployment and programmability
Autonomous: No central beacon control or trackingPassive listeners + active beacons facilitates privacyStraightforward deployment and programmability
info = “a1”
info = “a2”
Estimate distancesto infer location
Beacons onceiling
B
SPACE=NE43-510 ID=34COORD=146 272 0MOREINFO= http://cricket.lcs.mit.edu/
Obtain linear distance estimatesPick nearest to infer “space”Solve for mobile’s (x, y, z)Determine w.r.t. each beacon and deduce orientation vector
Obtain linear distance estimatesPick nearest to infer “space”Solve for mobile’s (x, y, z)Determine w.r.t. each beacon and deduce orientation vector
Machinery
Mobile deviceMobile device
Cricketlistener
• A beacon transmits an RF and an ultrasonic signal simultaneously– RF carries location data, ultrasound is a narrow
pulse
• The listener measures the time gap between the receipt of RF and ultrasonic signals– A time gap of x ms roughly corresponds to a
distance of x feet from beacon– Velocity of ultrasound << velocity of RF
• The listener measures the time gap between the receipt of RF and ultrasonic signals– A time gap of x ms roughly corresponds to a
distance of x feet from beacon– Velocity of ultrasound << velocity of RF
Determining Distance
RF data(space name)
Beacon
Listener
Ultrasound(pulse)
Multiple Beacons Cause Complications
• 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
• 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
Beacon A Beacon B
tRF B RF A US B US A
Incorrect distance
Listener
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
• Engineer RF range to be larger than ultrasonic range– Ensures that if listener can hear ultrasound,
corresponding RF will also be heard
• Engineer RF range to be larger than ultrasonic range– Ensures that if listener can hear ultrasound,
corresponding RF will also be heard
tRF A US A
t
S/b
r/v (max)
S = size of space advertisementb = RF bit rater = ultrasound rangev = velocity of ultrasound
Bounding Stray Signal Interference
(RF transmission time) (Max. RF-US separation at the listener)
S r
b v
• No “naked” ultrasonic signal can be valid!• No “naked” ultrasonic signal can be valid!
Estimation AlgorithmWindowed MinMode
Distance(feet)
Frequency A B
5 10
5
109Majority
6.47.2Mean (feet)
86Mode (feet)
86Actual distance (feet)
BA
Orientation relative to Bon horizontal plane
Mobile device(parallel to horizontal plane)
Beacons onceiling
B
Cricket listener withcompass hardware
Orientation
Trigonometry 101
d1 d2 z
sin = (d2 - d1) / sqrt (1 - z2/d2)where d = (d1+d2)/2
Heading
Beacon
Idea: Use multiple ultrasonic sensorsand estimate differential distances
CricketCompass
Two terms need to be estimated: 1. d2 – d1 2. z/d (by estimating coordinates)
Differential Distance Estimation
• Problem: for reasonable values of parameters (d, z), (d2 - d1) must have 5mm accuracy– Well beyond all current technologies!
d2 d1
= 2(d2 – d1)/tL
Beacon
Estimate phase difference between ultrasonic waveforms!
Beacons onceiling at known
coordinates
B
Coordinate Estimation
vt1 vt2 vt3 vt4
(x,y,z)
Four equations, four unknownsVelocity of sound varies with temperature, humidity
Can be “eliminated” (or calculated!)
Beacon Placement
I am atB
Room A Room B
Totally arbitrary beacon placement won’t demarcate spaces correctly
Correct Beacon Placement
Room A Room B
x x
I am atA
• Position beacons to detect the boundary
• Multiple beacons per space are possible
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
Ultrasonicsensor
RF antenna
Ultrasonicsensor
RF module (rcv)
Atmelprocessor
Listener Beacon
RF module (xmit)
RS232i/f
Cricket v1 Prototype
Host software libraries in Java; Linux daemon (in C) for Oxygen BackPaq handhelds
Several apps…
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
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 tellsyou how to get there Location by “intent”
How do I get to Jorg’s office?
Large-Scale Monitoring
Response time
Scale(# sensors)
Days/Hours Minutes Seconds
Irrigation
Physical plantRepair orders
Library usage
Power, thermalMonitoring & control
Asset tracking
Fire detectionAssisted evacuation
Cricket networkauto-configuration
HazMat responseLocal navigation
Motion detectionLeaks, floods
Lab equipmentmonitoring
Personal safetyTraffic, parking
104
105
106
107
Requirements
• Ubiquitous location-sensing• Heterogeneous sensor networking/comm. protocols• Resource discovery• Event handling• Query processing• Spatial databases• Mapping and representation• Navigation• User interfaces
Cricket beacons(Pervasive)
Fixed sensor proxy (sensor integration, pruning)
Mobile sensor proxyEvent-handling
& resource discoverynetwork
Application event handlers(Distributed)
Data stores
Tag reader
Sensors & actuators
Actions
Events
SensorProxy
Tagged books, equipment
Strawman Architecture
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