cricket-compass

advertisement
The Cricket Compass for Context-Aware
Mobile Applications
Nissanka B. Priyantha
Background
• What is context-aware computing?
– Location-aware computing is a mobile computing
paradigm in which applications can discover and
take advantage of contextual information.
• What is context?
– Context is the set of environment states and
settings that either determines an application’s
behavior or in which an application event occurs
and is interesting to the user.
Background (cont.)
• Typical context-aware applications?
–
–
–
–
–
–
Call Forwarding
Teleporting (“follow-me” computing)
Active Map
Shopping Assistant
Conference Assistant
People and Object Pager
• What is the most “popular” Context?
– User’s location.
Background (cont.)
• How to get the context information?
– Sensors
• How to sense the location context?
– Outdoor scenario
• GPS system
– Indoor scenario
• No standard way, every research group use their own
location tracking system
– Olivetti Active Badge System
– MIT Cricket System
• Current status of context-aware computing?
– No killer application!
Background (cont.)
• All current indoor location-aware applications
are based on a cellular approach.
• Typical systems:
– Olivetti Active Badge System
• System determines the cell
– MIT Cricket System
• Mobile device determines the cell
Cricket Location System
• Design Goals:
– Preserve user privacy
– Operate inside buildings
– Recognize spaces, not just physical position
• Good boundary detection is important
– Easy to administer and deploy
• Decentralized architecture and control
– Low cost and power consumption
Where am I?
(Active map)
Traditional Approach
Controller/
Location database
ID = u ?
Base stations
ID = u ?
ID = u ?
ID = u ?
ID = u
Transceivers
• Centralized architecture
• User-privacy issues
• High deployment cost
Cricket Architecture
Beacon
Space
A
Space
B
Space
C
I am at
C
Listener
• Decentralized
• no tracking
• low cost
Determining Distance
Beacon
RF data
(location name)
Ultrasound
(pulse)
Listener
•• AThe
beacon
listener
transmits
measures
an RF
theand
timean
gap
ultrasonic
between
signal
the receipt
simultaneously
of RF and ultrasonic signals
– RF carries location data, ultrasound is a narrow
pulse
– Velocity of ultra sound << velocity of RF
Cricket Location System
• For Cricket system, the distances are used to
determine which cricket is the closest.
• The focus is location sensing, instead of how
to use the location information.
• Think of Cricket as a “indoor GPS system”,
they all use time-of-flight signals to measure
the distance between the sender and the
receiver.
Cricket Location System
• There is no full-fledged carrier-sense-style
channel-access protocol to avoid collisions.
• Many interference problems are handled by
“carefully mounting the Radio Frequency and
UltraSonic transmitters”. It makes beacon
positioning and configuration a big task.
• Why is it called Cricket?
Cricket Compass
• New extensions – The Cricket Compass
– Position information
• (x, y, z) coordinates within a space
– Orientation information
• direction at which device faces

Mobile device
(x, y, z)
Cricket Compass v1 Prototype
Ultrasound Sensor Bank
1.25 cm x 4.5 cm
Sensor Module
RF module (xmit)
RF antenna
Ultrasonic
transmitter
Beacon
Deployment
You Are Here… Great, now what?!
You
are here
Point-and-Use Application
Orientation
•
Orientation is a building block that supports a wide
variety of mobile applications
•
The ability to determine the orientation of a device is
of fundamental importance in context-aware and
location-dependent mobile computing.
•
Cricket System has laid a solid foundation to derive
orientation information.
Current Orientation Systems Are
Not Adequate for Indoor Use
• Magnetic based sensors (magnetic compass,
magnetic motion trackers)
– suffers from ferromagnetic interference commonly found
indoors
• Inertial sensors (accelerometers, gyroscopes)
– used in sensor fusion to achieve high accuracy
– require motion to determine heading
– suffer from cumulative errors
• Other systems require:
– Extensive wiring: expensive & hard to deploy
– Multiple active transmitters worn by the user: obtrusive,
inconvenient, not scalable
Cricket Compass Design Goals
• Compact, integrated, self-contained
• Should not rely on motion to determine
heading (as in GPS navigation systems)
• Robust under a variety of indoor conditions
• Low infrastructure cost; easy to deploy
• Enough accuracy for mobile applications
(5o accuracy)
The Cricket Compass Architecture
(x1,y1,z1)
Y
(x3,y3,z3)
Beacons on
ceiling
(x2,y2,z2)
(x0,y0,z0)
X
Z
vt0
vt1
Cricket listener
with RF and ultrasonic
sensors
vt3
RF + Ultrasonic
Pulse
vt2
Mobile device
( x, y, z)
vt3 to solve for unknown speed of sound
Definition of Orientation
(x1,y1,z1)
Y
(x3,y3,z3)
(x0,y0,z0)
B
Beacons on (x2,y2,z2)
ceiling
X
Z
Orientation relative to B
(on horizontal plane)
Mobile device
(on horizontal plane)

Approach: Use Differential
Distance to Determine Orientation
Beacon
Assume: Device rests on horizontal plane
Method: Use multiple ultrasonic sensors;
calculate rotation using
measured distances d1, d2, z
sin  = (d2 - d1) / sqrt (1 - z2/d2)
where
d = (d1+d2)/2
d
d1
Need to measure:
a) (d2 - d1)
b) z/d
d2

S1
L
S2
z
Problem: Measuring (d2 – d1) directly
requires very high precision!
Beacon
• Consider a typical situation
– Let L = 5cm, d = 2m, z = 1m,  = 10º
– (d2 – d1) = 0.6cm
d
• Impossible to measure d1, d2
with such precision
d1
d2
– Comparable with the wavelength
of ultrasound (  = 0.87cm)

S1
L
S2
z
Differential Distance From Phase
Difference
• Observation: The differential distance (d2-d1) is
reflected as a phase difference between the signals
received at two sensors
Ultrasound signal first hits sensor S1
Beacon
d1
d2
S1
S2
t
Differential Distance From Phase
Difference
• Observation: The differential distance (d2-d1) is
reflected as a phase difference between the signals
received at two sensors
The same signal then hits sensor S2
Beacon
d1
d2
S1
S2
t
Solution: Differential Distance
(d2-d1) from Phase Difference ()
• Observation: The differential distance (d2-d1) is
reflected as a phase difference between the signals
received at two sensors
Estimate phase difference between
ultrasonic waveforms to find (d2-d1)!
Beacon
 = 2p (d2 – d1)/
d1
d2
S1
t
S2
t
Ambiguous Solutions: Example
•
•
•
•
We know: t, t’ <= L/v
Let L = 
Observed time difference is t
Possible time differences are t and t’
Beacon
L/v
t
t
t
t’
Ambiguous Solutions: Example
• We know: t <= L/v
• Let L = /2
In this case, we can find a unique solution
Beacon
L/v
t
t
Two Sensors Are Inadequate
• Phase difference is periodic  ambiguous solutions
• We don’t know the sign of the phase difference to
differentiate between positive and negative angles
• Cannot place two sensors less than 0.5 apart
– Sensors are not tiny enough!!!
– Placing sensors close together produces inaccurate
measurements
Solution: Use Three Sensors!
•
Beacon
•
d1
d2
d3
•
S3
S2
S1
L12 = 3/2
Estimate 2 phase differences
to find unique solution for
(d2-d1)
Can do this when L12 and L23
are relatively-prime multiples
of /2
Accuracy increases!
L23 = 4/2
t
Cricket Compass Hardware
Amplifiers, Wave shaping,
and Selection Circuits
RF RX
Microcontroller
RS 232
Driver
5 receivers on a compass form 2 perpendicular receiver
triplets, which is used to unambiguously infer the heading.
Angle Estimation Measurements
•
•
Accurate to 3 for  30, 5 for  40
Error increases at larger angles
Conclusion
The Cricket Compass provides accurate
position and orientation information for
indoor mobile applications
– Orientation information is useful
– Novel techniques for precise position and phase
difference estimation to obtain orientation
information
– Prototype implementation with multiple ultrasonic
sensors
Problems
•
•
•
•
Beacon placement
Ultrasonic reflections
Configuring beacon coordinates
The user has to carry a mobile device equipped
with many sensors.
• Is privacy really that important? (think in the
context of Olsson Hall during week days)
• “Point-and-use” may turn out to be cumbersome.
The End
Download