Upload
jonathan-morris
View
222
Download
0
Tags:
Embed Size (px)
Citation preview
The Cricket Indoor Location System
Hari Balakrishnan
Bodhi Priyantha, Allen Miu,
Jorge Nogueras, John Ankcorn, Kalpak Kothari,
Steve Garland, Seth Teller
MIT Laboratory for Computer Science
http://nms.lcs.mit.edu/
Motivation
• Location-awareness will be a key feature of many future mobile applications
• Many scenarios in pervasive computing– Active maps– Resource discovery and interaction– Way-finding & navigation– Stream redirectors
• Cricket focuses mainly on indoor deployment and applications
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 tellsyou how to get there Location by “intent”
What’s in this direction?(Viewfinder)
Point-and-use UIs
How do I get to Satya’s office?How do I get to Compaq’s booth at Comdex?
Desired Functionality
• What space am I in?– Room 510, reception area, Compaq’s booth,…– 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”
Design Goals for Cricket
• 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
System Components
• Location inference modules– Hardware, software, algorithms for space, position
coordinates, orientation
• Programming (using) Cricket– API; language-independent “RPC”– Customized beaconing
• Deploying and managing a Cricket deployment– Configuration, security, data management
Cricket Architecture
Beacon
Listener
No central beacon control or location databasePassive listeners + active beacons preserves privacyStraightforward deployment and programmability
No central beacon control or location databasePassive listeners + active beacons preserves privacyStraightforward deployment and programmability
info = “a1”
info = “a2”
Estimate distancesto infer location
Beacons onceiling
B
<SPACE> NE43-510 <ID>34</ID></SPACE><COORD>146 272 0</COORD><MOREINFO> http://cricket.lcs.mit.edu/</MOREINFO>
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
MOREINFO Database
<SPACE> NE43-510 <ID>34</ID></SPACE><COORD>146 272 0</COORD><MOREINFO> http://cricinfo.lcs.mit.edu/</MOREINFO>
Space ID INSName Aura MOTD etc.Server(Oxygen)
AppDB Query
Centralized DB key to simple administration
• 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 ultra sound << 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 ultra sound << 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!
Making This Idea Work
d1
t
3
d2 d3
4
Estimate 2 phase differences to uniquely estimate d2-d1Can do this when L12 and L23 are relatively-prime multiples of
L12 L23
Beacon
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!)
Deployment: Beacon Placement Considerations
• Placement should allow correct inference of space– Boundaries between spaces need to be detected
• Placement should provide enough information for coordinate estimation– No 4 beacons on same circle on a ceiling– At least one beacon must have < 40 degrees– sin = (d2 - d1) / sqrt (1 - z2/d2),
so goes as tan
Problem: Closest Beacon May Not Reflect Correct Space
I am atB
Room A Room B
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 Administration
• Password-based authentication for configuration
• Currently, coordinates manually entered– Working on algorithm to deduce this from other
beacons
• 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…
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, smart meeting notifier,…
• Probably no single killer app, but a whole suite of apps that might change the way we do things
Summary
• Cricket provides location information for mobile, pervasive computing applications– Space– Position– Orientation
• Flexible and programmable infrastructure• Deployment and management facilities• Starting to be used by other research groups
http://nms.lcs.mit.edu/