Networking for Pervasive Computing

Download Report

Transcript Networking for Pervasive Computing

The Cricket Compass for Context-Aware
Mobile Applications
Nissanka Priyantha, Allen Miu,
Hari Balakrishnan, Seth Teller
MIT Laboratory for Computer Science
http://nms.lcs.mit.edu/
Cricket Location System
• Original Version [mobicom00]
– Location information: room, floor, building, etc.
• 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)
You Are Here… Great, now what?!
You
are here
Point-and-Use Application
Orientation is important!
Orientation is a building block that
supports a wide variety of mobile
applications
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
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
Problem: 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 v1 Prototype
Ultrasound Sensor Bank
1.25 cm x 4.5 cm
Sensor Module
RF module (xmit)
RF antenna
Ultrasonic
transmitter
Beacon
Angle Estimation Measurements
•
•
Accurate to 3 for  30, 5 for  40
Error increases at larger angles
Cricket Compass Hardware
• Improves
accuracy
• Disambiguates
 in [ -p, p ]
Amplifiers, Wave shaping,
and Selection Circuits
RF RX
Microcontroller
RS 232
Driver
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
Orientation accurate to within 3-5 degrees
http://nms.lcs.mit.edu/cricket/
Considerations
• Beacon placement
– At least one beacon within range
– Avoid degenerate configuration (not in a circle)
• Ultrasonic reflections
– Use filtering algorithms to discard bad samples
• Configuring beacon coordinates
– Auto-configuration, auto-calibration
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
Point in the direction of the
Service… Not at the Service
• Orientation information provides a geometric
primitive that is general and useful among a
variety of “direction-aware” applications, e.g.
– In-building navigation
– Point and Shoot User Interfaces
• Line-of-sight systems are limited
– awkward to use, not robust
– do not support navigation
Orientation information is useful for
context-aware mobile applications!
Is orientation necessary?
• Direction-aware applications could be
implemented using “TV remotes!”
• But orientation information is useful
– Application-specific semantics are possible
– Convenient for navigation applications
– Eliminates the need for a line of sight to target
System Model
Cricket
(x, y, z, )…
(x, y, z, )…
Service
Discovery
Database
Services,
Other users
System Model
Cricket
(x, y, z, )…
printer@(x,y,z, )
Service
Discovery
Database
pda@(x, y, z, )…
printer@(x,y,z, )
Services
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
Where am I?
(Active map)
Deployment
Differential Distance From Phase
Difference
• Observation: The differential distance is reflected as
a phase difference between the signals received at
two receivers
Estimate phase difference between
ultrasonic waveforms to find (d2-d1)!
Beacon
 = 2p vt/  = 2p (d2 – d1)/
d1
d2
R1
t
R2
t <= L/v, where v is velocity of sound
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’
Requirements
• Navigational information
– Space
• address, room number
– Position
• coordinate, with respect to a given origin in a space
– Orientation
• angle, with respect to a given fixed point in a space
• Low cost, low power
• Completely wireless
– Deployable in existing buildings
• Scalable
• Autonomous
– Mobile device determines its own location
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