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