The Cricket Indoor Location System

Post on 15-Jan-2016

64 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of The Cricket Indoor Location System

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

Where am I?(Active map)

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 tellsyou 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

Cricket Architecture

Beacon

Listener

No central beacon control or location databasePassive listeners + active beacons preserves privacyStraightforward deployment and programmability

No central beacon control or location databasePassive listeners + active beacons preserves privacyStraightforward deployment and programmability

info = “a1”

info = “a2”

Estimate distancesto infer location

Beacons onceiling

B

<SPACE> NE43-510 <ID>34</ID></SPACE><COORD>146 272 0</COORD><MOREINFO> http://cricket.lcs.mit.edu/</MOREINFO>

Obtain linear distance estimatesPick nearest to infer “space”Solve for mobile’s (x, y, z)Determine w.r.t. each beacon and deduce orientation vector

Obtain linear distance estimatesPick nearest to infer “space”Solve for mobile’s (x, y, z)Determine w.r.t. each beacon and deduce orientation vector

Machinery

Mobile deviceMobile device

Cricketlistener

MOREINFO Database

<SPACE> NE43-510 <ID>34</ID></SPACE><COORD>146 272 0</COORD><MOREINFO> http://cricinfo.lcs.mit.edu/</MOREINFO>

Space ID INSName Aura MOTD etc.Server(Oxygen)

AppDB Query

Centralized DB key to simple administration

• A beacon transmits an RF and an ultrasonic signal simultaneously– RF carries location data, ultrasound is a narrow

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– Velocity of ultra sound << velocity of RF

• 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

Determining Distance

RF data(space name)

Beacon

Listener

Ultrasound(pulse)

Multiple Beacons Cause Complications

• 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

• 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

Beacon A Beacon B

tRF B RF A US B US A

Incorrect distance

Listener

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

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

• Engineer RF range to be larger than ultrasonic range– Ensures that if listener can hear ultrasound,

corresponding RF will also be heard

tRF A US A

t

S/b

r/v (max)

S = size of space advertisementb = RF bit rater = ultrasound rangev = velocity of ultrasound

Bounding Stray Signal Interference

(RF transmission time) (Max. RF-US separation at the listener)

S r

b v

• No “naked” ultrasonic signal can be valid!• No “naked” ultrasonic signal can be valid!

Estimation AlgorithmWindowed MinMode

Distance(feet)

Frequency A B

5 10

5

109Majority

6.47.2Mean (feet)

86Mode (feet)

86Actual distance (feet)

BA

Orientation relative to Bon horizontal plane

Mobile device(parallel to horizontal plane)

Beacons onceiling

B

Cricket listener withcompass hardware

Orientation

Trigonometry 101

d1 d2 z

sin = (d2 - d1) / sqrt (1 - z2/d2)where d = (d1+d2)/2

Heading

Beacon

Idea: Use multiple ultrasonic sensorsand estimate differential distances

CricketCompass

Two terms need to be estimated: 1. d2 – d1 2. z/d (by estimating coordinates)

Differential Distance Estimation

• Problem: for reasonable values of parameters (d, z), (d2 - d1) must have 5mm accuracy– Well beyond all current technologies!

d2 d1

= 2(d2 – d1)/tL

Beacon

Estimate phase difference between ultrasonic waveforms!

Making This Idea Work

d1

t

3

d2 d3

4

Estimate 2 phase differences to uniquely estimate d2-d1Can do this when L12 and L23 are relatively-prime multiples of

L12 L23

Beacon

Beacons onceiling at known

coordinates

B

Coordinate Estimation

vt1 vt2 vt3 vt4

(x,y,z)

Four equations, four unknownsVelocity 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 goes as tan

Problem: Closest Beacon May Not Reflect Correct Space

I am atB

Room A Room B

Correct Beacon Placement

Room A Room B

x x

I am atA

• 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

Ultrasonicsensor

RF antenna

Ultrasonicsensor

RF module (rcv)

Atmelprocessor

Listener Beacon

RF module (xmit)

RS232i/f

Cricket v1 Prototype

Host software libraries in Java; Linux daemon (in C) for Oxygen BackPaq handhelds

Several apps…

Deployment

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/