Nissanka B. PriyanthaAnit Chakraborty Hari Balakrishnan MIT Lab for Computer Science The Cricket Location-Support System
Motivation Emergence of pervasive computing environments Context-aware applications –Location-dependent behavior User and service mobility –Navigation via active maps –Resource discovery Cricket provides applications information about geographic spaces they are in
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
Traditional Approach Controller/ Location database Base stations ID = u Transceivers Centralized architecture User-privacy issues High deployment cost ID = u ?
Cricket Architecture Beacon Listener Space A Space B Space C I am at C Decentralized, no tracking, low cost Think of it as an “inverted BAT”!
Determining Distance A beacon transmits an RF and an ultrasonic signal simultaneously –RF carries location data, ultrasound is a narrow pulse –Velocity of ultra sound << velocity of RF RF data (location name) Beacon Listener Ultrasound (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
Uncoordinated Beacons Multiple beacon transmissions are uncoordinated Different beacon transmissions can interfere –Causing inaccurate distance measurements at the listener Beacon A Beacon B timeRF BRF AUS B US A Incorrect distance
Handling Spurious Interactions Combination of three different techniques: –Bounding stray signal interference –Preventing repeated interactions via randomization –Listener inference algorithms
Bounding Stray Signal Interference RF range > ultrasonic range –Ensures an accompanied RF signal with ultrasound t RF AUS A
t S/b r/v (max) S - size of space string b - RF bit rate r - ultrasound range v - velocity of ultrasound Bounding Stray Signal Interference (RF transmission time) (Max. RF US separation at the listener) S r b v
Bounding Stray Signal Interference Envelop ultrasound by RF Interfering ultrasound causes RF signals to collide Listener does a block parity error check –The reading is discarded t RF AUS A RF BUS B
Preventing Repeated Interactions Randomize beacon transmissions: loop: pick r ~ Uniform[T 1, T 2 ]; delay(r); xmit_beacon(RF,US); Erroneous estimates do not repeat Optimal choice of T 1 and T 2 can be calculated analytically –Trade-off between latency and collision probability
Inference Algorithms MinMode –Determine mode for each beacon –Select the one with the minimum mode MinMean –Calculate the mean distance for each beacon –Select the one with the minimum value Majority (actually, “plurality”) –Select the beacon with most number of readings –Roughly corresponds to strongest radio signal
Inference Algorithms Distance (feet) Frequency A B AB Actual distance (feet)68 Mode (feet)68 Mean (feet) Number of samples710
Closest Beacon May Not Reflect Correct Space I am at B Room ARoom B
Correct Beacon Positioning Room ARoom B xx I am at A Position beacons to detect the boundary Multiple beacons per space are possible
Implementation Cricket beacon and listener LocationManager provides an API to applications Integrated with intentional naming system for resource discovery
Implementation Cricket beacon and listener LocationManager provides an API to applications Integrated with intentional naming system for resource discovery Micro- controller RF US Micro- controller RF US RS232
Static listener performance Interference L2 L1 Immunity to interference –Four beacons within each others range –Two RF interference sources Boundary detection ability –L1 only two feet away from boundary I1I2 L10.0% L20.3%0.4% I1 I2 % readings due to interference of RF from I1 and I2 with ultrasound from beacons Room B Room C Room A
Inference Algorithm Error Rates
Mobile listener performance Room ARoom B Room C
Comparisons Bat Active badge RADARCricket Track user location? Yes No, if client has signal map No Deployment considerations Centralized controller + matrix of sensors Centralized database + wired IR sensors RF signal mapping and good radios Space naming convention Position accuracy Few cmRoom-wide ~2 feet for spatial resolution Attribute System
Summary Cricket provides information about geographic spaces to applications –Location-support, not tracking –Decentralized operation and administration Passive listeners and no explicit beacon coordination –Requires distributed algorithms for beacon transmission and listener inference Implemented and works!
–Decentralized
–Preserves user privacy –Good granularity –Component cost U.S. $10
Beacon positioning Imaginary boundaries Multiple beacons per location Location X X1X2 X3 Imaginary Boundary
Future work Dynamic transmission rate with carrier-sense for collision avoidance. Dynamic ultrasonic sensitivity. Improved location accuracy. Integration with other technologies such as Blue Tooth.
Related work Bat Pinpoint Active badge Radar
Inference algorithms Compared three algorithms –Minimum mode –Minimum arithmetic mean –Majority
Minimizing errors. Proper ultrasonic range ensures overlapping RF and ultrasonic signals –RF data 7 bytes at 1 kb/s bit rate –RF signal duration 49 ms –Selected ultrasonic range = 30ft < 49 ft –Signal separation < 49 ms
Minimizing errors. Interfering ultrasound causes RF signals to collide Listener does a block parity error check –The reading is discarded