310 likes | 879 Views
The Cricket Indoor Location System Hari Balakrishnan Bodhi Priyantha, Allen Miu, Jorge Nogueras, John Ankcorn, Kalpak Kothari, Steve Garland, Seth Teller MIT Laboratory for Computer Science http://nms.lcs.mit.edu/ Motivation
E N D
The Cricket Indoor Location System Hari Balakrishnan Bodhi Priyantha, Allen Miu, Jorge Nogueras, John Ankcorn, Kalpak Kothari, Steve Garland, Seth Teller MIT Laboratory for Computer Science http://nms.lcs.mit.edu/
Motivation • Location-awareness will be a key feature of many future mobile applications • Many scenarios in pervasive computing • Active maps • Resource discovery and interaction • Way-finding & navigation • Stream redirectors • Cricket focuses mainly on indoor deployment and applications
What’s near me? Find this for me(Resource discovery) “Print map on a color printer,” and system sends data to nearest available free color printer and tells you how to get there Location by “intent”
What’s in this direction?(Viewfinder) Point-and-use UIs
How do I get to Satya’s office?How do I get to Compaq’s booth at Comdex?
Desired Functionality • What space am I in? • Room 510, reception area, Compaq’s booth,… • How do I learn more about what’s in this space? • An application-dependent notion • What are my (x,y,z) coordinates? • “Cricket GPS” • Which way am I pointing? • “Cricket compass”
Design Goals for Cricket • Must determine: • Spaces: Good boundary detection is important • Position: With respect to arbitrary inertial frame • Orientation: Relative to fixed-point in frame • Must operate well indoors • Preserve user privacy: don’t track users • Must be easy to deploy and administer • Must facilitate innovation in applications • Low energy consumption
System Components • Location inference modules • Hardware, software, algorithms for space, position coordinates, orientation • Programming (using) Cricket • API; language-independent “RPC” • Customized beaconing • Deploying and managing a Cricket deployment • Configuration, security, data management
info = “a2” info = “a1” Cricket Architecture Beacon Estimate distances to infer location Listener No central beacon control or location database Passive listeners + active beacons preserves privacy Straightforward deployment and programmability
Machinery B Beacons on ceiling <SPACE> NE43-510 <ID>34</ID> </SPACE> <COORD>146 272 0</COORD> <MOREINFO> http://cricket.lcs.mit.edu/ </MOREINFO> Cricket listener Mobile device Mobile device Obtain linear distance estimates Pick nearest to infer “space” Solve for mobile’s (x, y, z) Determine w.r.t. each beacon and deduce orientation vector
Space ID INSName Aura MOTD etc. (Oxygen) Server DB Query App MOREINFO Database <SPACE> NE43-510 <ID>34</ID> </SPACE> <COORD>146 272 0</COORD> <MOREINFO> http://cricinfo.lcs.mit.edu/ </MOREINFO> Centralized DB key to simple administration
RF data (spacename) Determining Distance Beacon • A beacon transmits an RF and an ultrasonic signal simultaneously • RF carries location data, ultrasound is a narrow pulse Ultrasound (pulse) Listener • 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 • Velocity of ultra sound << velocity of RF
Multiple Beacons Cause Complications Beacon A Beacon B • Beacon transmissions are uncoordinated • Ultrasonic signals reflect heavily • Ultrasonic signals are pulses (no data) These make the correlation problem hard and can lead to incorrect distance estimates Incorrect distance Listener t RF B RF A US B US A
Solution • Carrier-sense + randomized transmission • Reduce chances of concurrent beaconing • Bounding stray signal interference • Envelop all ultrasonic signals with RF • Listener inference algorithm • Processing distance samples to estimate location
RF A US A t Bounding Stray Signal Interference • Engineer RF range to be larger than ultrasonic range • Ensures that if listener can hear ultrasound, corresponding RF will also be heard
S/b t r/v (max) S r b v Bounding Stray Signal Interference • No “naked” ultrasonic signal can be valid! S = size of space advertisement b = RF bit rate r = ultrasound range v = velocity of ultrasound (RF transmission time) (Max. RF-US separation at the listener)
A B Actual distance (feet) 6 8 Mode (feet) 6 8 Mean (feet) 7.2 6.4 Majority 9 10 Estimation AlgorithmWindowed MinMode A Frequency B 5 Distance (feet) 5 10
Orientation B Beacons on ceiling Orientation relative to B on horizontal plane Cricket listener with compass hardware Mobile device (parallel to horizontal plane)
d1 d2 z Cricket Compass Trigonometry 101 Beacon Idea: Use multiple ultrasonic sensors and estimate differential distances sin = (d2 - d1) / sqrt (1 - z2/d2) where d = (d1+d2)/2 Two terms need to be estimated: 1. d2 – d1 2. z/d (by estimating coordinates) Heading
Beacon d1 d2 L t f = 2p (d2 – d1)/l Differential Distance Estimation • Problem: for reasonable values of parameters (d, z), (d2 - d1) must have 5mm accuracy • Well beyond all current technologies! Estimate phase difference between ultrasonic waveforms!
Making This Idea Work Beacon d2 d3 d1 L23 L12 t 3l/2 4l/2 Estimate 2 phase differences to uniquely estimate d2-d1 Can do this when L12 and L23 are relatively-prime multiples of l/2
vt1 vt2 vt3 vt4 Coordinate Estimation B Beacons on ceiling at known coordinates (x,y,z) Four equations, four unknowns Velocity of sound varies with temperature, humidity Can be “eliminated” (or calculated!)
Deployment: Beacon Placement Considerations • Placement should allow correct inference of space • Boundaries between spaces need to be detected • Placement should provide enough information for coordinate estimation • No 4 beacons on same circle on a ceiling • At least one beacon must have < 40 degrees • sin = (d2 - d1) / sqrt (1 - z2/d2), so Dq goes as tan q
Problem: Closest Beacon May Not Reflect Correct Space Room A Room B I am at B
Correct Beacon Placement Room A Room B x x I am at A • Position beacons to detect the boundary • Multiple beacons per space are possible
System Administration • Password-based authentication for configuration • Currently, coordinates manually entered • Working on algorithm to deduce this from other beacons • MOREINFO database centrally managed with Web front-end • Relational DBMS • Challenge: queries that don’t divulge device location, but yet are powerful
Cricket v1 Prototype RF module (rcv) RF module (xmit) Ultrasonic sensor Ultrasonic sensor RF antenna Listener Beacon Atmel processor RS232 i/f Host software libraries in Java; Linux daemon (in C) for Oxygen BackPaq handhelds Several apps…
Some Results • Linear distances to within 6cm precision • Spatial resolution of about 30cm • Coordinate estimation to within 6cm in each dimension • Orientation to within 3-5 degrees when angle to some beacon < 45 degrees • Several applications (built, or being built) • Stream redirection, active maps, Viewfinder, Wayfinder, people-locater, smart meeting notifier,… • Probably no single killer app, but a whole suite of apps that might change the way we do things
Summary • Cricket provides location information for mobile, pervasive computing applications • Space • Position • Orientation • Flexible and programmable infrastructure • Deployment and management facilities • Starting to be used by other research groups http://nms.lcs.mit.edu/