Title: LOCALIZATION
1LOCALIZATION
- Distributed Embedded Systems
- CS 213/Estrin/Winter 2003
- Speaker Lewis Girod
2What is Localization
- A mechanism for discovering spatial relationships
between objects
3Why 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
4Variety of 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?
5Variety of Application Requirements
- Very different 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
6Multidimensional 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
7Axes 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?
8Axes 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?
9Variety of Mechanisms
- Weve seen a broad spectrum of application
requirements - There are also a broad spectrum of localization
mechanisms appropriate for different applications
10Returning 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
11Variety of Localization Mechanisms
- Very different mechanisms indicated!
- 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
12Taxonomy 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
13Active 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
14Passive 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.)
15Active 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
16Building 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
17Localization System Components
- Generally speaking, what is involved with a
localization system?
Stitching and Refinement
This step applies to distributed construction of
large-scale coordinate systems
This step estimates target coordinates (and often
other parameters simultaneously)
Coordinate System Synthesis
Coordinate System Synthesis
- 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)
18Example of a Localization System
- SHM system, developed at Sensoria Corp.
Each node has 4 speaker/ microphone pairs,
arranged along the circumference of the
enclosure. The node also has a radio system and
an absolute orientation sensor that senses
magnetic north.
Microphone
Speaker
12 cm
19System 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
20System Architecture
- Nodes periodically emit acoustic pulses. Other
nodes detect these pulses and compute a range and
angle of arrival. - Range data, angle data, and absolute orientation
are broadcast N hops away. - Based on this table of ranges, angles, and
orientations, each node applies a multilateration
algorithm with iterative outlier rejection to
compute a consistent coordinate system.
Range, Angular Data
Multilat Engine
Range, Angular Data
Multilat Engine
Range, Angular Data
Multilat Engine
21Localization System Components
- Sensing layer Ranging, AOA, etc.
This step applies to distributed construction of
large-scale coordinate systems
Stitching and Refinement
This step estimates target coordinates (and often
other parameters simultaneously)
Coordinate System Synthesis
Coordinate System Synthesis
- 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)
22Active 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
23Passive 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
- Disadvantages directionality, expense, no
positive ID of target
24Using RF for Ranging
- RF TOF techniques
- Accurate, deterministic transponders hard to
build - Temperature-dependence problems in timing of path
from receiver to transmitter - But, you can use RBS techniques (compare
receptions) - Measuring TOF requires fast, synchronized clocks
to achieve high precision (c ? 1 ft/ns) - Fast synchronized clocks generally at odds with
low power - Trade-off synchronized infrastructure vs. nodes
(e.g. GPS) - Ultra wide-band ranging for sensor nets?
- Current research focus in RF community
- Based on very short wideband pulses, measure RTT
to fixed, surveyed base stations - FCC licensing?
25Practical Difficulties with RSSI
- RSSI is extremely problematic for fine-grained,
ad-hoc applications - Path loss characteristics depend on environment
(1/rn) - 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 - Potential applications
- Approximate localization of mobile nodes,
proximity determination - Database techniques (RADAR)
Path loss Shadowing Fading
Distance
Ref. Rappaport, T, Wireless Communications
Principle and Practice, Prentice Hall, 1996.
26Using Acoustics for Ranging
- Key observation Sound travels slowly!
- Tight synchronization easily 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) - Solid obstructions block sound completely ?
detector picks up reflections - Audible sound has good channel properties but
isnt always appropriate
27Typical 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
28Narrowband vs. Wideband
- Narrowband technique pulse train at f0
- 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
- 100m range achieved over grass in outdoor
environment - Excellent crosstalk rejection each xmitter uses
diff. code - Used in GALORE Panel, IPAQs, SHM
29Wideband Acoustic Detection
Autocorrelation
Value of Correlation Function
First arrival and echoes
Offset in samples (20.8?s, or 0.71 cm)
30Ringing
Ringing Introduced by Speaker
Probable Echo
Can be corrected at the source (deconvolve source
waveform) or at the receiver (correlation)
31An Acoustic Ranging Error Model
- A useful model for error in acoustic ranges is
- Rij Xi Xj2 nij
Nij, - where
- nij is a gaussian error term (?0,?1.3)
- Nij is a fixed bias present only when LOS blocked
- Error reduction
- nij can be reduced by repeated observations
- Nij cannot because it is caused by persistent
features of the environment, such as detection of
a reflection. - The Nij errors must be filtered at higher layers
- Cross-validation of multiple sensor modalities
- Geometric consistency, error terms during
multilateration
32Typical Angle-of-Arrival AR System
- TOF AR system with multiple receiver channels
- Time difference of arrivals at receiver used to
estimate angle of arrival
Radio
Radio
CPU
CPU
Speaker
33Sources 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
- Other... various relatively unlikely
occurrences - Collisions between codes, system failures, etc
- Its hard (impossible?) to root out the last 0.1
of the problems!
34Localization System Components
- Coordinate system synthesis refinement layer
Stitching and Refinement
Stitching and Refinement
This step applies to distributed construction of
large-scale coordinate systems
This step estimates target coordinates (and often
other parameters simultaneously)
This step estimates target coordinates (and often
other parameters simultaneously)
Coordinate System Synthesis
Coordinate System Synthesis
Coordinate System Synthesis
Coordinate System Synthesis
- 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)
35Position 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. N-hop ML, SHM, GALORE IPAQ system
36Optimization 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 - Centralized vs. distributed
37Simple Example GALORE Panel
- Pythagorean Theorem yields constraints
- Object is to find position estimate that
minimizes squared sum of error terms
GALORE panel system 4 mics at measured locations
Mote emitter at unknown location
Where is measurement error in the range
measurement
38GALORE Panel Position Estimator
- Rewrite to get error as function of position and
meas. range - Problem error function is not linear must use
NLLS - Approximate the constraint function by a Taylor
series - Neglecting higher-order terms, and choosing an
initial guess X0, - Linear approximation of the error function in
that neighborhood - Solve for ?X that minimizes error
- Iteratively improve X0 until it converges
- Good initial guess ? likely convergence if well
constrained
Ref. Strang, and G, Borre, K, Linear Algebra,
Geodesy, and GPS, Wellesley-Cambridge Press, 1997
39Importance of Outlier Rejection
- Outliers in source data cause problems
- Acoustic localization data
- 480 ranges, 30 nodes
- Outliers caused by code collisions and multipath
- 4 outliers rejected
40 - Even if most of the data is good, a few outliers
can cause significant position error for this
algorithm - Finding the outliers is easier with more data
- Studentized residual analysis weights error
terms by their impact on solution
41Scaling NLLS Position Estimation
- NLLS algorithm with outlier rejection scaling
issues - Centralized all ranges are brought together
- O(N4), thus does not scale well for large nets
- Solution partial distribution
- Collect ranges from a few hops away
- Accrete small set of well-constrained nodes, and
process them into coordinate system - Pass along that system for neighbors to extend
- Current data shows 1 degradation using set size
of 14 nodes in a 30 node network with high
connectivity
42N-Hop Multilateration1
- Fully distributed algorithm
- Very low overhead avoids mutliplies
- Designed to be robust to long ranges
- Initial implementation
- Running on MK-2 platform (ARM-thumb Atmel 103
radio controller, RFM transceiver) - Initial application Smart Kindergarten project
- Measured and deployed beacons on ceiling
- Small receiver tags on toys and children
1A. Savvides, H. Park, M. Srivastava, The bits
and flops of the n-hop multilateration primitive
for node localization problems, First ACM
Workshop on Wireless Sensor Networks and
Application (WSNA), pp112-121, Atlanta GA,
September 2002.
43N-hop System Layers
- Ultrasound ranging
- Uses COTS ultrasound detection chipset, RF sync
- N-hop lateration
- Nodes compute range to beacons
- Pass their range to beacons to RF neighbors
- If you have no direct range to a beacon
- Compute your range to neighbors who see that
beacon - Add your range to that neighbor to their range to
beacon - Keep minimum computed range to each beacon
44Key Points
? Although the summed ranges will be larger than
the true range, with sufficient and uniform node
density the excess path range is bounded and
fairly small
? And, long ranges will automatically be dropped!
? Caveat Important to filter out short ranges
45Low-cost Multilateration Step
- Once each node has ranges to N beacons
- Min-Max algorithm
- Approximates beacon ranges to squares
- Computes centroid of bounding box
? Approximation is often quite close (blue vs red)
? Redundant long estimates are implicitly
dropped
? Caveat Approximation as well as error
tolerance is best if the node is inside a convex
hull of beacons
46N-hop multilateration refinement
- Iterative refinement step can improve upon the
min-max algorithm - Locally collects inter-node ranges and
iteratively improves the estimates - Must include scheme to reject outlier data
- Overall assessment of N-Hop Multilateration
- Simple and fully distributed
- Implicitly eliminates many forms of outlier data
- Position accuracy at least order of node density
47Scaling Positioning Across the Network
- 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 are more
difficult to estimate and model than timing
errors highly dependent on geometry and
environment. - Likely not zero-mean Gaussian but drift can be
mitigated by including beacons or survey points
with absolute positions.
48System Design Case Study IPAQ-based Localization
- Followon to GALORE Panel System
- Intended to be an ad-hoc deployable system of
small units (IPAQs) that can self-organize and
then localize motes. - Computational cost of sender is low IPAQs do
detection
IPAQs are unmodified, running Familiar Linux
uses internal speaker and microphones. Acoustic
Mote adds spkr, amp on daughterboard (N. Busek)
49Acoustic Mote
50Experimental Setup
51System Architecture
- Multi-hop Timesync (J. Elson)
- Audio Server Daemon (L. Girod)
- Acoustic Range Estimation (L. Girod)
- Multilateration (V. Bychkovskiy)
- Self-configuration phase (IPAQ-IPAQ positioning)
- Operation phase (Mote-IPAQ positioning)
52Multihop Timesync
- Multihop Timesync System (J. Elson)
- Provides conversion parameters among the many
components of the system - IPAQ system clocks
- IPAQ codec clocks
- MoteNIC system clocks
- Acoustic Mote system clocks
- Timesync service transparent to applications
- Conversions can span many RF hops and independent
networks
53Timesync Connectivity Graph
54Multihop Timesync in Action
Acoustic Mote
CODEC 1
CODEC 2
Convert to Mote1 (RMS 15uS)
Compare Acoustic Arrival Times, Mote Send Time
Convert to CPU2 (RMS 0uS)
Convert to CPU1 (RMS 0uS)
Mote 1
Mote Broadcaster
CPU 1
CPU 2
Convert to CPU1 (RMS 1uS)
Convert to CPU1 (RMS 2uS)
IPAQ 1
802.11
802.11
IPAQ 2
IPAQ 802.11Broadcaster
55Audio Server
- The audio server performs two functions
- Buffers last N seconds of audio data
- Logs DSP transfer interrupts and supplies data to
Timesync system to enable time conversions. - Vastly simplifies the system
- Enables multiple user applications to process
data - Decouples detection from message timing concerns
pull data out of the past - Timesync eliminates triggered recording
56Multilateration
- Based on mass-spring model
- Larger region of convergence, reduces
requirements on initial guess - Customized force function makes shorter ranges
stronger so they reel in long ranges - Outliers identified by excess tension after
convergence - Weird IPAQ geometry
- Mic and Speaker in different locations
- Orientation is also a variable
- Initial pass averages considers ranges from
center - Second pass allows them to re-orient to relax
network
57 58Next 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.
59Multi-channel Correlation
Value of Correlation Function
Arrival times at the four channels
Offset in samples (20.8?s, or 0.71 cm)
60Parallel Rays Approximation
- Parallel rays approximation
- True for distant point source
- ? acos(?/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
61Intuition 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
X (???)/B X?1 as ??0