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 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 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: Accuracy and precision: How close is the answer to “ground truth” (accuracy)? How consistent are the answers (precision)? Relation to established coordinate system: What is the smallest and largest measurable distance? e.g. cm/50m (acoustics) vs. m/25000km (GPS) GPS? Campus map? Building map? Dynamics: Refresh rate? Motion estimation? Axes of Application Requirements Cost: Form factor: Network topology: cluster head vs. local determination What kind of coordination among nodes? Environment: Baseline of sensor array Communications Requirements: Node cost: Power? $? Time? Infrastructure cost? Installation cost? Indoor? Outdoor? On Mars? Is the target known? Is it cooperating? 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 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 Taxonomy of Localization Mechanisms Active Localization Cooperative Localization The target cooperates with the system Passive Localization System sends signals to localize target 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 Synchronization channel Ranging channel 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 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 Target Synchronization channel Ranging channel 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.) ? 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”? Stitching/Merging This step applies to distributed construction of large-scale coordinate systems Filtering Coordinate System Synthesis Coordinate System Synthesis Filtering Filtering Filtering Filtering Filtering Filtering Parameter Parameter Parameter Estimation Estimation Estimation Parameter Parameter Parameter Estimation Estimation Estimation This step estimates target coordinates (and often other parameters simultaneously) 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) Example of a Localization System Unattended Ground Sensor and acoustic localization 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 orientation sensor. Microphone Speaker 12 cm 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, Range,Angular AngularData Data Multilat Engine Merge Engine Range, Angular Data Range, Range,Angular AngularData Data Multilat Engine Merge Engine Localization System Components Sensing layer: Ranging, AOA, etc. Stitching/Merging This step applies to distributed construction of large-scale coordinate systems Filtering Coordinate System Synthesis Coordinate System Synthesis Filtering Filtering Filtering Filtering Filtering Filtering Parameter Parameter Parameter Estimation Estimation Estimation Parameter Parameter Parameter Estimation Estimation Estimation This step estimates target coordinates (and often other parameters simultaneously) 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 RF Point-to-point time-of-flight, using RF synchronization Narrowband (typ. ultrasound) vs. Wideband (typ. audible) 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 RSSI…? Don’t Bother RSSI is extremely problematic 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 (3060dB) – very bad indoors Mobile nodes might average out fading.. But static nodes can be stuck in a deep fade forever Possible applications Path loss Shadowing Fading RSSI Distance Crude localization of mobile nodes “Database” techniques (RADAR) 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 Radio Radio CPU CPU Speaker Microphone Narrowband 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 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 Correlation Value Ringing introduced by speaker Arrival times at the four channels Offset in Samples (~0.71 cm) An Acoustic Ranging Error Model A useful model for error in acoustic ranges is Rij = ||Xi – Xj||2 + 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 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 Radio Radio CPU CPU Speaker Microphone Microphone Microphone Microphone Array Bearing Calculation and Error Precision of bearing estimate function of angle of incidence, baseline, array geometry, and phase resolution of detector Phase resolution of a wideband detector is function of sample rate and channel capacity In our experiments primary limitation is sample rate given B A R1 R2 XAB YAB YAB XAB , , B AB 2 2 Want to find f ( , , B ) X Y cos( ) cos( ) sin 2 sin( ) B 1 B Limitations of bearing estimates Assumption of wavefront coherence Not valid over large baselines Position estimates based on bearing Position error proportional to range and bearing error Intuition: For the 2D case, what is the “critical range” at which positional uncertainty exceeds the baseline R1 B Rcrit B2 2 Source: Vlad’s Homework R2 Use clusters, compute intersection of bearing estimates (as discussed in the Pottie lecture) Localization System Components Coordinate system synthesis layer Stitching/Merging This step applies to distributed construction of large-scale coordinate systems Filtering Coordinate System Synthesis Coordinate System Synthesis Filtering Filtering Filtering Filtering Filtering Filtering Parameter Parameter Parameter Estimation Estimation Estimation Parameter Parameter Parameter Estimation Estimation Estimation This step estimates target coordinates (and often other parameters simultaneously) 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) Position Est. and Coord. Systems Position Estimation, Triangulation Some of the nodes have known positions Target’s 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 Output is estimated node position map Ranges, angles, other relationships Environmental parameters often estimated concurrently Gaussian error least-squares minimization Careful filtering required to ensure this property Simple Example: GALORE Panel Pythagorean Theorem: x, y, z ri xi , yi , zi x xi 2 y yi 2 z zi 2 ri i 2 Where i is measurement error in the range measurement ri Object is to find position estimate that minimizes squared sum of error terms GALORE Panel Position Estimator Rewrite to get error as function of position: x xi 2 y yi 2 z zi 2 ri i Problem: error function is not linear Approximate the error function by a Taylor’s series (where X is position vector): f ( X ) | X 0 f ( X 0 ) f ' ( X ) f " ( X ) ... Neglecting higher-order terms, and choosing an initial “guess” X0, we have a linear approximation of the error function in that neighborhood Iteratively improve X until sufficient convergence Good results if problem is overconstrained Ref. Strang, and G, Borre, K, Linear Algebra, Geodesy, and GPS, Wellesley-Cambridge Press, 1997 AHLoS Iterative Multilateration Unlike case of single GALORE Panel Atomic Multilateration 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 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. Localization System Components Stitching and Network Coordinate Transforms Stitching/Merging This step applies to distributed construction of large-scale coordinate systems Filtering Coordinate System Synthesis Coordinate System Synthesis Filtering Filtering Filtering Filtering Filtering Filtering Parameter Parameter Parameter Estimation Estimation Estimation Parameter Parameter Parameter Estimation Estimation Estimation This step estimates target coordinates (and often other parameters simultaneously) 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) 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 2nd 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 perhop 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 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. 61 cm “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 • Inter-panel coordination • Mote-panel coordination • Mote-mote coordination 61cm 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.