Title: Localization
1Localization
- Xian Zhong
- March 12, 2003
2Overview
- Introduction
- Location Sensor Technologies
- Selected Systems
- GPS (Global Positioning System)
- ORL Ultrasonic Location System
- - The Cricket Location-Support System
3Introduction
- Background
- - wide use of sensor networks
- - Each sensor is self-sufficient to sense its
environment, perform simple computation and
communicate with its peers and observers - -Determining physical location of a sensor
node is a critical service in these wireless
sensor networks -
- Context-aware Applications
4Context Awareness
- What is context?
- - Who
- - What
- - When
- - Where
- - How
- Context-aware applications need to know the
location of users and equipment, and the
capabilities of the equipment and networking
infrastructure
5What is Location?
- Absolute position on geoid
- Location relative to fixed beacons
- Location relative to a starting point
- Most applications
- location relative to other people or objects,
whether moving or stationary, or the location
within a building or an area
6Location Sensor Technologies
- Electromagnetic Trackers
- High accuracy and resolution, expensive
- Optical Trackers
- Robust, high accuracy and resolution, expensive
and mechanical complex - Radio Position Systems (Such as GPS)
- Successful in the wide area, but ineffective in
buildings, only offer modest location accuracy - Video Image (Such as the MIT Smart Rooms
project) - Location information can be derived from analysis
of video images, cheap hardware but large
computer processing - Some new technologies are developing
7GPS
- History
- When 1973 start, 1978-1994 test
- Who Why
- U.S. Department of Defense wanted the military
to have a super precise form of worldwide
positioning - Missiles can hit enemy missile silos but you
need to know where you are launching from - US subs needed to know quickly where they were
- After 12B, the result was the GPS system!
8GPS
- Approach
- man-made stars" as reference points to calculate
positions accurate to a matter of meters - with advanced forms of GPS you can make
measurements to better than a centimeter - it's like giving every square meter on the planet
a unique address!
9GPS System Architecture
10GPS System Architecture
- Constellation of 24 NAVSTAR satellites made by
Rockwell - Altitude 10,900 nautical miles
- Weight 1900 lbs (in orbit)
- Size17 ft with solar panels extended
- Orbital Period 12 hours
- Orbital Plane 55 degrees to equitorial plane
11(No Transcript)
12GPS System Architecture
- Ground Stations, aka Control Segment
- The USAF monitor the GPS satellites, checking
both their operational health and their exact
position in space - the master ground station transmits corrections
for the satellite's ephemeris constants and clock
offsets back to the satellites themselves - the satellites can then incorporate these updates
in the signals they send to GPS receivers. - Five monitor stations
- Hawaii, Ascension Island, Diego Garcia,
Kwajalein, and Colorado Springs.
13(No Transcript)
14GPS Signals in Detail
- Carriers
- Pseudo-random Codes
- two types of pseudo-random code
- the C/A (Coarse Acquisition) code
- it modulates the L1 carrier
- each satellite has a unique pseudo-random code
- the C/A code is the basis for civilian GPS use
15GPS Signals in Detail (contd.)
- the P (Precise) code
- It repeats on a seven day cycle and modulates
both the L1 and L2 carriers at a 10MHz rate - this code is intended for military users and can
be encrypted and called "Y" - Navigation message
- a low frequency signal added to the L1 codes that
gives information about the satellite's orbits,
their clock corrections and other system status
16(No Transcript)
17How GPS Works
- The basis of GPS is trilateration" from
satellites. (popularly but wrongly called
triangulation) - To trilaterate," a GPS receiver measures
distance using the travel time of radio signals. - To measure travel time, GPS needs very accurate
timing which it achieves with some tricks. - Along with distance, you need to know exactly
where the satellites are in space. High orbits
and careful monitoring are the secret. - Finally you must correct for any delays the
signal experiences as it travels through the
atmosphere.
18Earth-Centered Earth-Fixed X, Y, Z Coordinates
19Geodetic Coordinates (Latitude, Longitude, Height)
20Geodetic Coordinates
- The Cartesian coordinates, though convenient for
calculations, are not practical for
representations on maps - Maps historically have used Geodetic coordinates
(latitude, longitude, and height above a
reference surface) - Positions obtained from GPS can be converted into
a local datum with an appropriate transformation
21Trilateration
- GPS receiver measures distances from satellites
- Distance from satellite 1 11000 miles
- we must be on the surface of a sphere of radius
11000 miles, centered at satellite 1 - Distance from satellite 2 12000 miles
- we are also on the surface of a sphere of radius
12000 miles, centered at satellite 2 - i.e. on the circle where the two spheres intersect
22Trilateration (contd.)
- Distance from satellite 3 13000 miles
- we are also on the surface of a sphere of radius
13000 miles, centered at satellite 3 - i.e. on the two points where this sphere and the
circle intersect - the fourth measurement useful for another reason!
23Measuring Distances from Satellites
- By timing how long it takes for a signal sent
from the satellite to arrive at the receiver - we already know the speed of light
- -300,000kilometers/second
- Timing problem is tricky
- the times are going to be awfully short
- need some really precise clocks
- on satellite side, atomic clocks provide almost
perfectly stable and accurate timing - what about on the receiver side?
- atomic clocks too expensive!
- Assuming precise clocks, how do we measure travel
times?
24Measuring Travel Times from Satellites
- Each satellite transmits a unique pseudo-random
code, a copy of which is created in real time in
the user-set receiver by the internal electronics - The receiver then gradually time-shifts its
internal code until it corresponds to the
received code--an event called lock-on. - Once locked on to a satellite, the receiver can
determine the exact timing of the received signal
in reference to its own internal clock
25Measuring Travel Times from Satellites (contd.)
- If that clock were perfectly synchronized with
the satellite's atomic clocks, the distance to
each satellite could be determined by subtracting
a known transmission time from the calculated
receive time - in real GPS receivers, the internal clock is not
quite accurate enough - an inaccuracy of a mere microsecond corresponds
to a 300-meter error - The clock bias error can be determined by
locking on to four satellites, and solving for X,
Y, and Z coordinates, and the clock bias error
26Extra Satellite Measurement to Eliminate Clock
Errors
- Three perfect measurements can locate a point in
3D - Four imperfect measurements can do the same thing
- If there is error in receiver clock, the fourth
measurement will not intersect with the first
three - Receiver looks for a single correction factor
that will result in all the four imperfect
measurements to intersect at a single point - With the correction factor determined, the
receiver can then apply the correction to all
measurements from then on. - and from then on its clock is synced to universal
time. - this correction process would have to be repeated
constantly to make sure the receiver's clocks
stay synced - Any decent GPS receiver will need to have at
least four channels so that it can make the four
measurements simultaneously
27Where are the Satellites?
- For the trilateration to work we not only need to
know distance, we also need to know exactly where
the satellites are - Each GPS satellite has a very precise orbit,
11000 miles up in space, according to the GPS
master Plan - GPS Master Plan
- spacing of the satellites are arranged so that a
minimum of five satellites are in view from every
point on the globe
28Where are the Satellites (contd.)?
- GPS satellite orbits are constantly monitored by
the DoD - check for "ephemeris errors" caused by
gravitational pulls from the moon and sun and by
the pressure of solar radiation on the satellites
- satellites exact position is relayed back to it,
and is then included in the timing signal
broadcast by it - On the ground all GPS receivers have an almanac
programmed into their computers that tells them
where in the sky each satellite is, moment by
moment
29Differential GPS
- Error in a measurement can be estimated if the
receiver location is known - These error estimates computed at a reference
receiver, if made available to other GPS users in
the area, would allow them to mitigate errors in
their measurements. - To be usable for navigation, such differential
corrections have to be transmitted in real time
over a radio link---DGPS
30Differential GPS (contd.)
- DPGS can provide meter-level position estimates
depending upon the closeness of the user to a
reference station and the latency of the
corrections transmitted over the radio link - Such performance can meet the requirements of
much of land transportation and maritime traffic
DGPS services, both commercial and federally
provided, are now widely available
31GPS Technology Status
- Standard Positioning Service (SPS) C/A code with
SA - Horizontal accuracy of 100 m (95) 30m without
SA - Vertical accuracy of 156 m (95)
- UTC time transfer accuracy 340 ns (95 )
- Precise Positioning Service (PPS) P code
- Horizontal accuracy of 22 m (95)
- Vertical accuracy of 27.7 m (95)
32GPS Technology Status (contd.)
- Differential GPS
- Horizontal accuracy of 2 m
- Vertical accuracy of 3 m
- Requires a differential base station within 100
km
33GPS Technology Status (contd.)
- The size and price of GPS receivers is shrinking
- Worlds smallest commercial GPS receiver
(www.u-blox.ch) - Differential GPS receivers are inexpensive
(100-250) - Differential GPS available in all coastal areas
- GPS needs line-of-sight to satellites
- does not work indoors, in urban canyons, forests
etc.
34we need indoor location system
35ORL Ultrasonic Location System
- Measurements are made of time-of-flight of sound
pulses from an ultrasonic transmitter to
receivers placed at known positions around it. - Transmitter-receiver distances can be calculated
from the pulse transit times.
36ORL Ultrasonic Location System Structure
- A small wireless transmitter is attached to every
object that is to be located - Consist of a microprocessor, a 418MHz radio
transceiver, a Xilinx FPGA and a hemispherical
array of five ultrasonic transducers - Each prototype mobile device has a unique 16-bit
address, is powered by two lithium cells, and
measures 100mm60mm20mm
37ORL Ultrasonic Location System Structure (contd.)
- A matrix of receiver elements is mounted on the
ceiling of the room to be instrumented - Each receiver has an ultrasonic detector, whose
output is being digitized at 20KHz by an ADC
which is controlled by a Xilinx FPGA, which can
monitor the digitized signal levels. - Receiver also are individually addressable and
are connected in a daisy-chain to a controlling
PC
38ORL Ultrasonic Location System Structure (contd.)
- A controller connected to the PC transmit a radio
message consisting of a preamble and 16-bit
address in every 200ms - The PC dictates which address is sent in each
message - The transceiver pick up the radio signals and
decode it by the on-board FPGA - The single addressed device broadcast an
ultrasonic pulse - The controlling PC sends a reset signal to
receivers at the same time as each radio message
is broadcast
39ORL Ultrasonic Location System Structure
(contd.)
- The FPGAs on each receiver then monitor the
digitized signals from the ultrasonic detector
for 20ms, calculating the moment at which the
received signals peak for the first time - The short width of the ultrasonic pulse ensures
that receivers detect a sharp signal peak - The controlling PC then polls the receivers on
the network, retrieving from them the time
interval between the reset signal and detection
of the first signal peak (if any signal was
detected)
40Distance Calculation
- For each receiver, the interval Tp between the
start of the sampling window and the peak signal
time represents the sum of several individual
periods
41Position calculation
42Position Calculation (Contd)
43Position Calculation (Contd)
44Position Calculation (Contd)
- In the ORL system all the receivers lie in the
plane of the ceiling, and the transmitters must
be below the ceiling. This allows calculation of
transmitter positions using only three distances
rather than the four required in the general
case. - Occasionally, however, the direct path may be
blocked, and the first received signal peak will
be due to a reflected pulse. In this case, the
measured transmitter-receiver distance will be
greater than true distance. - The difference between two transmitter-receiver
distances cannot be greater than the distance
between the receivers.
45Applications
- The teleporting system Redirect an X-window
system environment to different computer
displays. We can use location data to present a
users familiar desktop on a screen that face
them whenever they enter a room. - Nearest printer service offered to users of
portable computers. Tags placed on the computer
and printers report their positions, and the
computer is automatically configured to use the
nearest available printer as it is moved around a
building.
46The Cricket Location-Support System
- Cricket Indoor Location System
- Support for mobile, indoor applications
- Location-aware scenarios
- Active maps
- Resource discovery and interaction
- Way-finding and navigation
- Stream redirection
47Design Goals for Cricket
- Operates well indoors
- Different regions distinguishable
- Preserves user privacy (listeners are passive)
- Decentralized administration owner of space
installs and configures beacons as needed - Operates with low energy,
- Easy to deploy and administer
- Low cost, both H/W and installation
- Granularity This will really depend on beacon
placement
48Where am I?(Active Map)
49Whats near me? Find me a (Resource Discovery)
Location by intent Print map on a color
printer. System response Locates nearby free
color printer Sends data there Tells you
where it is
50Whats over there?(Interaction)
Viewfinder Point-and-use interface
51How do I get to Haris office? (Navigation)
52Traditional Approach
- Centralized architecture
- User-privacy issues
- High deployment cost
53Cricket Architecture
- Decentralized, no tracking, low cost
- It does not attempt to calculate any kind of
absolute position, but only the nearest beacon
beacon
54Metrics Terminology
- Precision how well can a listener detect a
boundary (rate of correct detection) - Granularity The smallest possible size for a
detectable geographic region - Objective is near 100 precision with a
granularity of a few square feet
55Determining Distance
Beacon
Ultrasound (pulse)
Listener
- A beacon transmits an RF and an ultrasonic signal
simultaneously - RF carries location data, ultrasound is a narrow
pulse - Velocity of ultra sound ltlt velocity of RF
- Beacon transmits simultaneous RF, ultrasound
- - RF carries location data, ultrasound is
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
56ProblemDetermining Space from Distance
Room A
Room B
I am at B
57Solution Beacon Placement
Room A
Room B
x
x
I am at A
- Position beacons to detect the boundary
- Multiple beacons per space are possible
58Problem Multiple Beacons
Beacon A
Beacon B
Incorrect distance
t
Listener
RF B
RF A
US B
US A
- Hard to correlate RF and ultrasound signals
- Beacon transmissions are uncoordinated
- Ultrasonic signals reflect heavily
- Ultrasonic signals are pulses (no data)
- Can lead to incorrect distance estimates
59Solutions Avoiding Interference
- Limit stray signal interference
- Envelop all ultrasonic signals with RF
- Carrier-sense, randomized transmission
- Reduce chances of concurrent beaconing
- Listener inference algorithm
- Use distance samples to estimate location
60Bounding Stray Signal Interference
- RF range gt ultrasonic range
- Ensures an accompanied RF signal with ultrasound
61Bounding Stray Signal Interference
S - size of space string b - RF bit rate r -
ultrasound range v - velocity of ultrasound
(RF transmission time) (Max. RF US
separation
at the listener)
62Bounding Stray Signal Interference
RF B
US B
RF A
US A
t
- Envelop ultrasound by RF
- Interfering ultrasound causes RF signals to
collide - Listener does a block parity error check
- The reading is discarded
63Reducing Concurrent Beaconing
- Randomize beacon transmissions
- do while (true)
- pick r UniformT1, T2
- delay(r)
- xmit_beacon(RF,US)
-
- Optimal T1, T2 can be calculated analytically
- Trade-off latency against collision probability
- Erroneous estimates do not repeat
64Inference 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
65Estimation AlgorithmWindowed MinMode
A
Frequency
B
5
Distance (feet)
5
10
66Closest Beacon May Not Reflect Correct Space
Room A
Room B
I am at B
67Correct Beacon Positioning
Room A
Room B
x
x
I am at A
- Position beacons to detect the boundary
- Multiple beacons per space are possible
68Implementation
- Cricket beacon and listener
RF
RF
Micro- controller
Micro- controller
RS232
US
US
- LocationManager provides an API to applications
- Integrated with intentional naming system for
resource discovery
69Static listener performance
- Immunity to interference
- Four beacons within each others range
- Two RF interference sources
- Boundary detection ability
- L1 only two feet away from boundary
Room B
Room A
readings due to interference of RF from I1
and I2 with ultrasound from beacons
I1
I2
Room C
70Inference Algorithm Error Rates
71Mobile listener performance
Room A
Room B
Room C
72Comparisons
System
Attribute
73Summary
- 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!
74Future work
- Dynamic transmission rate with carrier-sense for
collision avoidance. - Dynamic ultrasonic sensitivity.
- Improved location accuracy.
- Integration with other technologies such as Blue
Tooth.
75Caveats
- Incompatible with ad-hoc beacon placement
- Does not attempt to interpolate coordinate system
between beacons, simply presents name of closet
beacon - Does not solve problem of fine-granularity
location..at best within 2-4 foot radius - Tradeoff between granularity of location and
interference from neighboring beacons (they had a
max of 6 beacons in range) - May mean it works best indoors in confined
spacesgtLocation-support, not tracking
76Bibliography
- "A New Location Technique for the Active Office",
Andy Ward, Alan Jones, Andy Hopper, IEEE Personal
Communications, Vol. 4, No.5, October 1997, pp.
42-47. - Special Issue on Global Positioning
System,Proceedings of the IEEE, Vol.87, NO.1,
January 1999 - The Cricket Location-support System,Nissanka B.
Priyantha, Anit Chakraborty, and
HariBalakrishnan, MIT Laboratory for Computer
Science, Cambridge, MA 02139 - The Global Positioning System, I.A.Getting,
IEEE Spectrum, Vol.30, December 1993 - Adaptive Beacon Placement, N.Bulusu, H.John,
E.Deborah
77Bibliography (contd.)
- The Active Badge Location System, Want, R.,
Hopper, A.,Falcao, V., And Gibbons, J.,ACM
Transactions on Information Systems 10, 1
(January 1992), 91-102. - The Cricket Compass for Context-Aware Mobile
Applications,Nissanka B. Priyantha, Allen k.L.
Miu, Hari Balakrishnan, and Seth Teller, MIT
Laboratory for Computer Science - PowerPoint--Location Sensing for Context-Aware
Applications,Mani Srivastava,UCLA EE
Department, mbs_at_ee.ucla.edu - PowerPoint Localization, Huei-Jiun JU(Laura)
Yichen Liu, UCLA-EE Department
78Bibliography (contd.)
- PowerPoint The Cricket Location-support
System, Nissanka B. Priyantha, Anit Chakraborty,
hari Baiakrishnan, MIT lab for Computer Science - PowerPoint 6.964 pervasive Computing
Context-Aware Networking, Stephen J. Garland,
MIT laboratory for Computer Science