Sunteți pe pagina 1din 49

LOCALIZATION

Distributed Embedded Systems


CS 213/Estrin/Winter 2002
Speaker: Lewis Girod
What is Localization
A mechanism for discovering
spatial relationships between
objects
Why is Localization Important?
Large scale embedded systems introduce many
fascinating and difficult problems
This makes them much more difficult to use
BUT it couples them to the physical world
Localization measures that coupling, giving raw
sensor readings a physical context
Temperature readings temperature map
Asset tagging asset tracking
Smart spaces context dependent behavior
Sensor time series coherent beamforming
Variety of Applications
Two applications:
Passive habitat monitoring:
Where is the bird?
What kind of bird is it?
Asset tracking:
Where is the projector?
Why is it leaving the room?
Variety of Application Requirements
Outdoor operation
Weather problems
Bird is not tagged
Birdcall is characteristic
but not exactly known
Accurate enough to
photograph bird
Infrastructure:
Several acoustic sensors,
with known relative
locations; coordination
with imaging systems
Indoor operation
Multipath problems
Projector is tagged
Signals from projector tag
can be engineered
Accurate enough to track
through building
Infrastructure:
Room-granularity tag
identification and
localization; coordination
with security infrastructure
Very different requirements!
Multidimensional Requirement Space
Granularity & Scale
Accuracy & Precision
Relative vs. Absolute Positioning
Dynamic vs. Static (Mobile vs. Fixed)
Cost & Form Factor
Infrastructure & Installation Cost
Communications Requirements
Environmental Sensitivity
Cooperative or Passive Target
Axes of Application Requirements
Granularity and scale of measurements:
What is the smallest and largest measurable distance?
e.g. cm/50m (acoustics) vs. m/25000km (GPS)
Accuracy and precision:
How close is the answer to ground truth (accuracy)?
How consistent are the answers (precision)?
Relation to established coordinate system:
GPS? Campus map? Building map?
Dynamics:
Refresh rate? Motion estimation?
Axes of Application Requirements
Cost:
Node cost: Power? $? Time?
Infrastructure cost? Installation cost?
Form factor:
Baseline of sensor array
Communications Requirements:
Network topology: cluster head vs. local determination
What kind of coordination among nodes?
Environment:
Indoor? Outdoor? On Mars?
Is the target known? Is it cooperating?
Variety of Mechanisms
Weve seen a broad spectrum of application
requirements
There are also a broad spectrum of
localization mechanisms appropriate for
different applications
Returning to our two Applications
Choice of mechanisms differs:
Passive habitat monitoring:
Minimize environ. interference
No two birds are alike
Asset tracking:
Controlled environment
We know exactly what tag is like
Variety of Localization Mechanisms
Bird is not tagged
Passive detection of bird
presence
Birdcall is characteristic
but not exactly known
Bird does not have radio;
TDOA measurement
Passive target localization
Requires
Sophisticated detection
Coherent beamforming
Large data transfers
Projector is tagged
Projector might
know it had moved
Signals from projector tag
can be engineered
Tag can use radio signal to
enable TOF measurement
Cooperative Localization
Requires
Basic correlator
Simple triangulation
Minimal data transfers
Very different mechanisms indicated!
Taxonomy of Localization Mechanisms
Active Localization
System sends signals to localize target
Cooperative Localization
The target cooperates with the system
Passive Localization
System deduces location from observation of
signals that are already present
Blind Localization
System deduces location of target without a priori
knowledge of its characteristics
Active Mechanisms
Non-cooperative
System emits signal, deduces target location
from distortions in signal returns
e.g. radar and reflective sonar systems
Cooperative Target
Target emits a signal with known characteristics;
system deduces location by detecting signal
e.g. ORL Active Bat, GALORE Panel, AHLoS
Cooperative Infrastructure
Elements of infrastructure emit signals; target
deduces location from detection of signals
e.g. GPS, MIT Cricket
Target
Synchronization channel
Ranging channel
Passive Mechanisms
Passive Target Localization
Signals normally emitted by the target are
detected (e.g. birdcall)
Several nodes detect candidate events and
cooperate to localize it by cross-correlation
Passive Self-Localization
A single node estimates distance to a set of
beacons (e.g. 802.11 bases in RADAR [Bahl
et al.], Ricochet in Bulusu et al.)
Blind Localization
Passive localization without a priori
knowledge of target characteristics
Acoustic blind beamforming (Yao et al.)
?
Target
Synchronization channel
Ranging channel
Active vs. Passive
Active techniques tend to work best
Signal is well characterized, can be engineered for noise
and interference rejection
Cooperative systems can synchronize with the target to
enable accurate time-of-flight estimation
Passive techniques
Detection quality depends on characterization of signal
Time difference of arrivals only; must surround target with
sensors or sensor clusters
TDOA requires precise knowledge of sensor positions
Blind techniques
Cross-correlation only; may increase communication cost
Tends to detect loudest event.. May not be noise immune
Building Localization Systems
Given a set of application requirements, how
do we build a system that meets them?
Outline:
Overview of a typical system design
A quick example
Ranging technologies
Coordinate system synthesis techniques
Spatial scalability
Recent results: the GALORE panel
Localization System Components
Generally speaking, what is involved with a
localization system?
Coordinate System
Synthesis
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameters might include:
Range between nodes
Angle between nodes
Psuedorange to target (TDOA)
Bearing to target (TDOA)
Absolute orientation of node
Absolute location of node (GPS)
Coordinate System
Synthesis
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Filtering
Stitching/Merging
This step applies to distributed
construction of large-scale
coordinate systems
This step estimates target
coordinates (and often other
parameters simultaneously)
Example of a Localization System
Unattended Ground Sensor and acoustic
localization system, developed at Sensoria Corp.
12 cm
Microphone
Speaker
Each node has 4 speaker/
microphone pairs, arranged
along the circumference of the
enclosure. The node also has a
radio system and an orientation
sensor.
System Architecture
Ranging between nodes based on detection of coded acoustic
signals, with radio synchronization to measure time of flight
Angle of arrival is determined through TDOA and is used to estimate
bearing, referenced from the absolute orientation sensor
An onboard temperature sensor is used to compensate for the effect
of environmental conditions on the speed of sound
System Architecture
Pairwise ranges and angles are transmitted to a cluster-head, where
a multilateration algorithm computes a consistent coordinate system
Cluster heads exchange their coordinate systems, which are then
stitched together into larger coordinate systems
Range, Angular Data
Range, Angular Data
Range, Angular Data
Multilat Engine
Range, Angular Data
Range, Angular Data
Range, Angular Data
Multilat Engine
Merge Engine
Merge Engine
Localization System Components
Sensing layer: Ranging, AOA, etc.
Coordinate System
Synthesis
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameters might include:
Range between nodes
Angle between nodes
Psuedorange to target (TDOA)
Bearing to target (TDOA)
Absolute orientation of node
Absolute location of node (GPS)
Coordinate System
Synthesis
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Filtering
Stitching/Merging
This step applies to distributed
construction of large-scale
coordinate systems
This step estimates target
coordinates (and often other
parameters simultaneously)
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameters might include:
Range between nodes
Angle between nodes
Psuedorange to target (TDOA)
Bearing to target (TDOA)
Absolute orientation of node
Absolute location of node (GPS)
Active and Cooperative Ranging
Measurement of distance between two points
Acoustic
Point-to-point time-of-flight, using RF synchronization
Narrowband (typ. ultrasound) vs. Wideband (typ. audible)
RF
RSSI from multiple beacons
Transponder tags (rebroadcast on second frequency),
measure round-trip time-of-flight.
UWB ranging (averages many round trips)
Psuedoranges from phase offsets (GPS)
TDOA to find bearing, triangulation from multiple stations
Visible light
Stereo vision algorithms
Need not be cooperative, but cooperation simplifies the problem
Passive and Non-cooperative Ranging
Generally less accurate than active/cooperative
Acoustic
Reflective time-of-flight (SONAR)
Coherent beamforming (Yao et al.)
RF
Reflective time-of-flight (RADAR systems)
Database techniques
RADAR (Bahl et al.) looks up RSSI values in database
RadioCamera is a technique used in cellular infrastructure;
measures multipath signature observed at a base station
Visible light
Laser ranging systems
Commonly used in robotics; very accurate
Main disadvantage is directionality, no positive ID of target

Using RF for Ranging
Disadvantages of RF techniques
Measuring TOF requires fast clocks to achieve high
precision (c ~ 1 ft/ns)
Building accurate, deterministic transponders is very
difficult
Temperature-dependence problems in timing of path from
receiver to transmitter
Systems based on relative phase offsets (e.g. GPS) require
very tight synchronization between transmitters
Ultrawide-band ranging for sensor nets?
Current research focus in RF community
Based on very short wideband pulses, measure RTT
May encounter licensing problems
Practical Difficulties with RSSI
RSSI is extremely problematic for
fine-grained, ad-hoc applications
Path loss characteristics depend on
environment (1/r
n
)
Shadowing depends on environment
Short-scale fading due to multipath
adds random high frequency
component with huge amplitude (30-
60dB) very bad indoors
Mobile nodes might average out
fading.. But static nodes can be stuck
in a deep fade forever
Possible applications
Approximate localization of mobile
nodes, proximity determination
Database techniques (RADAR)
More sophisticated radios?
Distance
R
S
S
I

Path loss
Shadowing
Fading
Ref. Rappaport, T, Wireless Communications
Principle and Practice, Prentice Hall, 1996.
Using Acoustics for Ranging
Key observation: Sound travels slowly!
Tight synchronization can easily be achieved using RF
signaling
Slow clocks are sufficient (v = 1 ft/ms)
With LOS, high accuracy can be achieved cheaply
Coherent beamforming can be achieved with low sample
rates
Disadvantages
Acoustic emitters are power-hungry (must move air)
Obstructions block sound completely detector picks up
reflections
Existing ultrasound transducers are narrowband
Typical Time-of-Flight AR System
Radio channel is used to synchronize the sender
and receiver (or use a service like RBS!)
Coded acoustic signal is emitted at the sender and
detected at the emitter. TOF determined by
comparing arrival of RF and acoustic signals
CPU
Speaker
Radio
CPU
Microphone
Radio
Narrowband vs. Wideband
Narrowband technique: pulse train at f
0

Works with tuned resonant ultrasound transducers
COTS parts implement detection (SONAR modules)
Crosstalk between nodes is a problem, introduces
significant coordination overhead to system design
Used in ORL Active Bat, MIT Cricket, UCLA AHLoS
Wideband technique: pseudonoise burst
Detection requires ~100M FLOPs, ~128K RAM
High accuracy, excellent interference rejection
30m range easily achieved over grass in outdoor environ.
Excellent crosstalk rejection; each xmitter uses diff. code
Used in GALORE Panel, Sensoria Ground Sensor
Wideband Acoustic Detection
Autocorrelation
First arrival and echoes
Offset in samples (20.8s, or 0.71 cm)
V
a
l
u
e

o
f

C
o
r
r
e
l
a
t
i
o
n

F
u
n
c
t
i
o
n

Ringing
Ringing Introduced by Speaker Probable Echo
Can be corrected at the source (deconvolve source waveform) or at the receiver (correlation)
An Acoustic Ranging Error Model
A useful model for error in acoustic ranges is
R
ij
= ||X
i
X
j
||
2
+ n
ij
+ N
ij
,
where
n
ij
is a gaussian error term (=0,o=1.3)
N
ij
is a fixed bias present only when LOS blocked
Error reduction:
n
ij
can be reduced by repeated observations
N
ij
cannot because it is caused by persistent features of
the environment, such as detection of a reflection.
The N
ij
errors must be filtered at higher layers
Cross-validation of multiple sensor modalities
Geometric consistency, error terms during multilateration
Typical Angle-of-Arrival AR System
TOF AR system with multiple receiver channels
Time difference of arrivals at receiver used to
estimate angle of arrival
CPU
Speaker
Radio
CPU
Radio
Microphone
Microphone
Microphone
Microphone
Array
Multi-channel Correlation
Arrival times at the four channels
Offset in samples (20.8s, or 0.71 cm)
V
a
l
u
e

o
f

C
o
r
r
e
l
a
t
i
o
n

F
u
n
c
t
i
o
n

Sources of error in bearing & position est.
Quantization error in detection
Sample rate of detector lower bounds phase accuracy
Synchronization error
Detection error
Noise, interference, ringing, blurring in channel
Excess path length due to clutter
Non-LOS detection of reflected paths
Usually easy to filter if sensor positions are known
Angular dependence in sensor
Error in measurement or estimation of baseline
Parallel Rays Approximation
Parallel rays approximation
True for distant point source
u = acos(A/B)
At shallow angles, small
variations in relative range
yield large angular errors
When is it valid?
Red is error in degrees
between parallel rays and
true value
Blue region shows cases
where error is less than 0.5
degrees
u
B
A
Intuition from parallel rays
Error in bearing estimate from quantization error
Quantization error is error caused by sample timing
Derivative of acos(x) represents sensitivity to small errors
in relative ranges
u
B
Ac
X= (Ac)/B
X1 as u0
This step estimates target
coordinates (and often other
parameters simultaneously)
Localization System Components
Coordinate system synthesis layer
Coordinate System
Synthesis
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameters might include:
Range between nodes
Angle between nodes
Psuedorange to target (TDOA)
Bearing to target (TDOA)
Absolute orientation of node
Absolute location of node (GPS)
Coordinate System
Synthesis
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Filtering
Stitching/Merging
This step applies to distributed
construction of large-scale
coordinate systems
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameters might include:
Range between nodes
Angle between nodes
Psuedorange to target (TDOA)
Bearing to target (TDOA)
Absolute orientation of node
Absolute location of node (GPS)
Coordinate System
Synthesis
Coordinate System
Synthesis
This step estimates target
coordinates (and often other
parameters simultaneously)
Position Est. and Coord. Systems
Position Estimation, Triangulation
Some of the nodes have known positions
Targets position inferred relative to known nodes
e.g. Active Bat, single GALORE Panel
Forming a coordinate system, Multilateration
Most nodes have unknown positions
Consistent coordinate system constructed based
on measured relationships between nodes
Multilateration is a commonly used term
e.g. AHLoS, multi-panel GALORE system
Optimization Problems
Often implemented as an overconstrained
optimization problem:
Input is set of measurements
Ranges, angles, other relationships
Output is estimated node position map
Environmental parameters often estimated concurrently
Gaussian error least-squares minimization
Careful filtering required to ensure this property
Simple Example: GALORE Panel
Pythagorean Theorem:









Object is to find position estimate that minimizes
squared sum of error terms
( )
i i i
z y x , ,
( ) z y x , ,
i
r
( ) ( ) ( ) ( )
2 2 2 2
i i i i i
r z z y y x x o + = + +
Where is measurement error in the range measurement
i
o
i
r
GALORE Panel Position Estimator
Rewrite to get error as function of position:


Problem: error function is not linear
Approximate the error function by a Taylors series (where X is
position vector):


Neglecting higher-order terms, and choosing an initial guess X
0
,
we have a linear approximation of the error function in that
neighborhood
Iteratively improve X until sufficient convergence
Good results if problem is overconstrained
... ) ( " ) ( ' ) ( | ) (
0
0
+ + + = X f X f X f X f
X
( ) ( ) ( )
i i i i i
r z z y y x x o = + +
2 2 2
Ref. Strang, and G, Borre, K, Linear Algebra, Geodesy,
and GPS, Wellesley-Cambridge Press, 1997
AHLoS Iterative Multilateration
Unlike case of single GALORE Panel
Relative positions of sensors not known a priori
An iterative approach is taken, where each step solves the
position of one or two more nodes
Atomic Multilateration
One or two unknown nodes and several known nodes;
similar in approach to the previous slides
Collaborative Multilateration
Several unknown and known nodes
Set of non-linear equations based on pythagorean theorem
Solved using gradient descent or simulated annealing
Ref. A. Savvides, C Han, M. Srivastava, Dynamic Fine-Grained
Localization in Ad-Hoc Netoworks of Sensors, Mobicom 2001.
This step estimates target
coordinates (and often other
parameters simultaneously)
Localization System Components
Stitching and Network Coordinate Transforms
Coordinate System
Synthesis
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameters might include:
Range between nodes
Angle between nodes
Psuedorange to target (TDOA)
Bearing to target (TDOA)
Absolute orientation of node
Absolute location of node (GPS)
Coordinate System
Synthesis
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Filtering
Stitching/Merging
This step applies to distributed
construction of large-scale
coordinate systems
Parameter
Estimation
Filtering
Parameter
Estimation
Filtering
Parameters might include:
Range between nodes
Angle between nodes
Psuedorange to target (TDOA)
Bearing to target (TDOA)
Absolute orientation of node
Absolute location of node (GPS)
Coordinate System
Synthesis
Coordinate System
Synthesis
This step estimates target
coordinates (and often other
parameters simultaneously)
Filtering
Stitching/Merging
This step applies to distributed
construction of large-scale
coordinate systems
Spatially Scalable Coordinate Systems
Consider an infinite field
of sensor nodes
Global optimization of entire
field is not scalable
Locally optimized
patches
Simple stitching operation:
find transformation that best
matches common nodes
2
nd
order optimization:
optimize overlap regions
Tie systems down to survey
points to combat cumulative
error


Network Coordinate Transforms
Idea from RBS: transform to local time at every hop
Improves scalability by avoiding need for global time
Similar technique may be useful for localization
Transform to local coordinate system at each hop
However,
Error propagation characteristics not well understood: will
cumulative error result in excessive drift?
Depends a great deal on achieving an upper bound on per-
hop error; feasibility of this is not yet understood
Recent Results: GALORE Panel
GALORE Panel Localization System
The GALORE panel is designed to provide localization
services for a field of small systems called motes
Computational cost of sender is low; Panel does detection
61 cm
Microphones
Speakers
Each panel has 4 speaker/
microphone pairs, placed in the
corners of the panel. The panel
also has a radio system that is
used to synchronize with other
panels and with the mote field.

Acoustic Mote adds spkr, amp
on daughterboard (N. Busek)
Current Status
Blue rectangle
incicates position of
panel
Red points are
actual positions of
motes
Green points are
positions estimated
by the panel
Five trials were
taken at each
position
Source: NEST PI Slides,
Feb 2002
Next Steps
Formation of inter-panel
coordinate system
Inter-panel ranging to
accurately estimate relative
position and orientation
Multilateration techniques to
optimize away error among
many panels
RBS + interpanel coordinate
transforms will enable
coherent processing of data
from multiple panels
Problem: Non-LOS paths,
filtering of range data
61cm
Inter-panel coordination
Mote-panel coordination
Mote-mote coordination
Next Steps: Applications
Tracking in a mote field
Acoustic threshold detection in mote field triggers
responses (N. Busek)
Using RBS and the GALORE Localization system, motes will
be able to correlate their observations in time and space
Coherent Signal Processing
One or more panels can collaborate to do passive
localization and beamforming (H. Wang)
RBS provides accurate synchronization
GALORE Localization system determines precise relative
positions of the receivers.

S-ar putea să vă placă și