Title: The Cricket Indoor Location System
1The 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/
2Motivation
- 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
3Where am I?(Active map)
4Whats 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
5Whats in this direction?(Viewfinder)
Point-and-use UIs
6How do I get to Satyas office?How do I get to
Compaqs booth at Comdex?
7Desired Functionality
- What space am I in?
- Room 510, reception area, Compaqs booth,
- How do I learn more about whats in this space?
- An application-dependent notion
- What are my (x,y,z) coordinates?
- Cricket GPS
- Which way am I pointing?
- Cricket compass
8Design 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 dont track users
- Must be easy to deploy and administer
- Must facilitate innovation in applications
- Low energy consumption
9System 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
10Cricket Architecture
Beacon
Estimate distances to infer location
Listener
No central beacon control or location
database Passive listeners active beacons
preserves privacy Straightforward deployment and
programmability
11Machinery
B
Beacons on ceiling
ltSPACEgt NE43-510 ltIDgt34lt/IDgt lt/SPACEgt ltCOORDgt1
46 272 0lt/COORDgt ltMOREINFOgt
http//cricket.lcs.mit.edu/ lt/MOREINFOgt
Cricket listener
Mobile device
Mobile device
Obtain linear distance estimates Pick nearest to
infer space Solve for mobiles (x, y,
z) Determine ? w.r.t. each beacon and deduce
orientation vector
12MOREINFO Database
ltSPACEgt NE43-510 ltIDgt34lt/IDgt lt/SPACEgt ltCOORDgt1
46 272 0lt/COORDgt ltMOREINFOgt
http//cricinfo.lcs.mit.edu/ lt/MOREINFOgt
Centralized DB key to simple administration
13Determining Distance
Beacon
Ultrasound (pulse)
Listener
- 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 ltlt velocity of RF
14Multiple Beacons Cause Complications
Beacon A
Beacon B
Incorrect distance
t
Listener
RF B
RF A
US B
US A
- 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
15Solution
- 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
16Bounding 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
17Bounding Stray Signal Interference
S size of space advertisement b RF bit
rate r ultrasound range v velocity of
ultrasound
(RF transmission time) (Max. RF-US
separation
at the listener)
- No naked ultrasonic signal can be valid!
18Bounding stray signal interference
RF B
US B
RF A
US A
t
- Envelop ultrasound by RF
- Interfering ultrasound causes RF signals to
collide - Listener does a block parity error check
- The reading is discarded...
19Preventing repeated interactions
- Randomize beacon transmissions
- loop
- pick r UniformT1, T2
- delay(r)
- xmit_beacon(RF,US)
- Optimal choice of T1 and T2 can be calculated
analytically - Trade-off between latency and collision
probability - Erroneous estimates do not repeat
20Estimation AlgorithmWindowed MinMode
A
Frequency
B
5
Distance (feet)
5
10
21Orientation
B
Beacons on ceiling
Orientation relative to B on horizontal plane
?
Cricket listener with compass hardware
Mobile device (parallel to horizontal plane)
22Trigonometry 101
Beacon
Idea Use multiple ultrasonic sensors and
estimate differential distances
sin ? (d2 - d1) / sqrt (1 - z2/d2) where d
(d1d2)/2
Two terms need to be estimated 1. d2 d1 2.
z/d (by estimating coordinates)
Heading
23Differential Distance Estimation
- Problem for reasonable values of parameters (d,
z), (d2 - d1) must have 5mm accuracy - Well beyond all current technologies!
Estimate phase difference between ultrasonic
waveforms!
24Making This Idea Work
Beacon
d2
d3
d1
L23
L12
t
3l/2
4l/2
Estimate 2 phase differences to uniquely estimate
d2-d1 Can do this when L12 and L23 are
relatively-prime multiples of l/2
25Coordinate Estimation
B
Beacons on ceiling at known coordinates
?
(x,y,z)
Four equations, four unknowns Velocity of sound
varies with temperature, humidity Can be
eliminated (or calculated!)
26Deployment 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 ? lt 40 degrees
- sin ? (d2 - d1) / sqrt (1 - z2/d2), so Dq
goes as tan q
27Problem Closest Beacon May Not Reflect Correct
Space
Room A
Room B
I am at B
28Correct Beacon Placement
Room A
Room B
x
x
I am at A
- Position beacons to detect the boundary
- Multiple beacons per space are possible
29System 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 dont divulge device
location, but yet are powerful
30Cricket v1 Prototype
RF module (rcv)
RF module (xmit)
Ultrasonic sensor
Ultrasonic sensor
RF antenna
Listener
Beacon
Atmel processor
RS232 i/f
Host software libraries in Java Linux daemon
(in C) for Oxygen BackPaq handhelds Several apps
31Deployment
32Some 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 lt 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
33Alternative Architecture (Active Badge, Bat
Systems)
Location DB
ID u?
Networked sensor grid
ID u
Responder
Problems privacy administration scalability
deployment cost
34Comparisons
Active Badge Bat RADAR Cricket
Tracking? Yes Yes Depends No
Deployment Central controller wired IR sensors Central controller wired RF /USsensors RF signal map great radios Beacon placement wireless
Spatial resolution Room ? (linear few cm) Room 30cm (linear 5cm)
Orientation No No No Yes 3-5 degree prec.
Scalability All devices transmit periodically All devices transmit periodically All devices must use same RF net Devices passive distributed scheduling
35Summary
- 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/