The Cricket Compass for Context-Aware Mobile Applications

The ability to determine the orientation of a device is of fundamental
importance in context-aware and location-dependent mobile computing.
By analogy to a traditional compass, knowledge of orientation through
the Cricket compass attached to a mobile device enhances
various applications, including efficient way-finding and navigation,
directional service discovery, and ``augmented-reality'' displays.
Our compass infrastructure enhances the spatial inference capability
of the Cricket indoor location
system, and enables new pervasive computing applications.

Using fixed active beacons and carefully placed passive ultrasonic
sensors, we show how to estimate the orientation of a mobile device to
within a few degrees, using precise, sub-centimeter differences in
distance estimates from a beacon to each sensor on the compass. Then,
given a set of fixed, active position beacons whose locations are
known, we describe an algorithm that combines several carrier arrival
times to produce a robust estimate of the rigid orientation of the
mobile compass.

The hardware of the Cricket compass is small enough to be integrated
with a handheld mobile device. It includes five passive ultrasonic
receivers, each 0.8cm in diameter, arrayed in a ``V'' shape a few
centimeters across. Cricket beacons deployed throughout a building
broadcast coupled 418MHz RF packet data and a 40KHz ultrasound
carrier, which are processed by the compass software to obtain
differential distance and position estimates. Our experimental
results show that our prototype implementation can determine compass
orientation to within 3 degrees when the true angle lies between
plus/minus 30 degrees, and to within 5 degrees when the true angle
lies between plus/minus 40 degrees, with respect to a fixed beacon.