460 likes | 822 Views
Fine-Grained Ad-Hoc Localization in Wireless Sensor Networks. Andreas Savvides Networked and Embedded Systems Lab http://nesl.ee.ucla.edu/projects/ahlos EE Department Qualifying Exam. Problem Setups. Ad-Hoc Node Localization Techniques. Locate nodes deployed in a sensor field.
E N D
Fine-Grained Ad-Hoc Localization in Wireless Sensor Networks Andreas Savvides Networked and Embedded Systems Lab http://nesl.ee.ucla.edu/projects/ahlos EE Department Qualifying Exam
Problem Setups Ad-Hoc Node Localization Techniques Locate nodes deployed in a sensor field Rapid installation and self-calibration of indoor localization systems Indoor localization in the presence of Obstacles (e.g SmartKG) How can we provide location awareness?
Contributions • Examine ad-hoc localization as a system • The Ad-Hoc Localization System (AHLoS) • Derive computation models that are feasible to implement on resource constrained nodes • Collaborative multilateration (centralized and distributed) • Study the interaction of localization protocols and expose a set of tradeoffs • Energy, computation, communication, latency, accuracy • Cross-pollination of different topics to produce a realizable system
Related Work • RF Based • RADAR System from Microsoft • GPS-less localization (Bulusu & Estrin) • Nibble System (Castro, Kremenek and Muntz) • Wideband Acoustic Ranging (Girod & Estrin) • Node Array Localization (Chen & Yao) • In the mobile robotics domain • The Millibots Project at CMU • Maximum Likelhood Robot Localization (Howard & Sukatme) • Distributed Robot Localization (Roumeliotis & Bekey at USC) • Convex Position Estimation (Doherty, Gahoui and Pister) • Constellation System (InterSense), Cricket Project at MIT
Challenges • Algorithmic level • Solve a large non-linear optimization problem using resource constrained microprocessors • Computation and communication challenges and energy tradeoffs (distributed, efficient and robust) • Physical Effects on Ranging Measurements • Interference - transmission coordination • Multipath effects • Other systematic error sources • Practical Challenges • Demonstrate principles on a prototype testbed • Robustness, mobility support • Protocol architectures and integration
Tools and Platforms SensorViz Medusa I Medusa MK-2 iBadge (I. Locher and S. Park) SensorSim
Work Summary • Localization over multiple hops – estimate node locations when known landmarks are multiple hops away (iterative multilateration, collaborative multilateration) • Computation models (centralized and distributed) • Network setup options (central base station, clusters, fully distributed) • Testbed Implementation • Design choices • Understanding sources of error • Embedding our testbed experience in the algorithms • Future work – robustness, evaluation, optimization
Localization over Multiple Hops • Nodes with unknown locations are multiple hops away. • Propagate beacon locations inside the network • Measure inter-node distances with a ranging technology • Measurements and beacon locations to estimate the locations of the remaining nodes. • Ranging Technologies • RSSI, Laser Ranging, Wide Band Acoustic, Ultrasonic, UWB, RF-Time-of-Flight may be there soon • We chose ultrasound because it is widely available and easier to handle in an indoor environment.
Assumptions • Sufficient density – connected network, each node has at least 3 neighbors • Some nodes are initially aware of their locations • In our implementation we use time-of-flight to measure distances – coordinated ultrasound and RF transmissions • The radio range is greater or equal to the sensing range • Only white gaussian error is present • Measurements from • on Medusa 1 • Range 3m, 2cm accuracy
Iterative Multilateration • Nodes that estimate their locations can become beacons and help other nodes discover their locations. • Resembles distance vector routing • Some facts: • Can work for small networks, if ranging is accurate • Energy efficient • Still requires quite a lot of initial beacons • Suffers from error accumulation • Bad geometry yields bad results => unpredictable performance • Still a useful primitive for Distributed Collaborative Multilateration
Iterative Multilateration • Nodes that estimate their locations can become beacons and help other nodes discover their locations. • Resembles distance vector routing • Some facts: • Can work for small networks, if ranging is accurate • Energy efficient • Still requires quite a lot of initial beacons • Suffers from error accumulation • Bad geometry yields bad results => unpredictable performance • Still a useful primitive for Distributed Collaborative Multilateration
Iterative Multilateration Accuracy 50 Nodes, 20x20m room, range=3m, 10% beacons 20mm white gaussian ranging error
Node vs. Initial Beacon Densities % Resolved Nodes Total Nodes % Initial Beacons Uniformly distributed deployment in a field 100x100. Node range = 10 Results include only iterative multilateration
Collaborative Multilateration • Estimate node locations using location information from beacons that are multiple hops away • Design Goals • Prevent error accumulation • Lightweight computation • Robust and energy conserving • Work well at lower beacon densities, in the presence of obstacles 50 nodes, 20 beacons
Collaborative Multilateration • Considers constraints over the whole network • Ensure that a unique solution exists before trying to solve the problem. • Need a set of initial estimates to start the estimation process • Start the position refinement – iterative least squares • How can we solve this efficiently? • Begin with a central point formulation and move to a distributed one • Assumptions: • There is sufficient connectivity • Some nodes already know their locations • The beacons surround the unknowns • Will be removed later on • Ranging error is white gaussian (AB sin a, AB cos a) (AC,0) (0,0)
PHASE 1 PHASE 2 Find nodes with unique position solutions Compute Initial Position Estimates For all nodes PHASE 3 Centralized Computation Communicate results to central point Compute location estimates Refine estimates of under-constrained nodes Transmit estimates back to each unknown node Done
PHASE 1 PHASE 2 Find nodes with unique position solutions Compute Initial Position Estimates For all nodes PHASE 3 PHASE 3 Centralized Computation Distributed Computation Communicate results to central point Communicate Compute estimate at each node Compute location estimates Criteria met? Refine estimates of under-constrained nodes NO YES Transmit estimates back to each unknown node Done Done
Collaborative Subtrees (Phase 1) • Consider the single hop case: • 3 non-collinear beacons are required • Multihop case: • Need at least 3 neighbors to act as anchors • Additional conditions need to be imposed • Consider the case where 3 beacons are at most 2 hops away • Derive a new set of constraints • Extend to multiple hops
Collaborative Subtree Conditions • Condition 1:An unknown node should have at least three neighboring anchors • Condition 2:Anchors should be non-collinear. Can be checked using angles • If AD = AC + CD + noise, anchors are collinear A B Anchors C Unknown node D
Collaborative Subtree Conditions • Condition 3: Each pair of unknowns that uses a link to each other as an unknown has to have at least one external reference • How can these conditions be checked in the network? • Execute a recursive call at each unknown node to determine if it can be an anchor node. 1 2 1 3 5 4 3 ? OR 3 4 4 2 2 1 Symmetric topology Condition 3 satisfied
Collaborative Subtree Discovery • Start at an unknown node and check if it has at least 3 anchors. • A node is an anchor if it is a beacon or if it has at least 3 neighbors that are anchors • Expand collaborative subtree by absorbing all unknowns for which the locations can be determined with the nodes inside the tree. • Future work: study the formation and interaction of multiple collaborative subtrees inside the network Complete subtree Expanded subtree
Initial Estimates (Phase 2) • Use the accurate distance measurements to impose constraints in the x and y coordinates – bounding box • Use the distance to a beacon as bounds on the x and y coordinates U a a a x
Initial Estimates (Phase 2) • Use the accurate distance measurements to impose constraints in the x and y coordinates – bounding box • Use the distance to a beacon as bounds on the x and y coordinates • Do the same for beacons that are multiple hops away • Select the most constraining bounds Y b+c b+c c b U a X U is between [Y-(b+c)] and [X+a]
Initial Estimates (Phase 2) • Use the accurate distance measurements to impose constraints in the x and y coordinates – bounding box • Use the distance to a beacon as bounds on the x and y coordinates • Do the same for beacons that are multiple hops away • Select the most constraining bounds • Set the center of the bounding box as the initial estimate Y b+c b+c c b U a a a X
Initial Estimates (Phase 2) • Example: • 4 beacons • 16 unknowns • To get good initial estimates, beacons should be placed on the perimeter of the network • Observation: If the unknown nodes are outside the beacon perimeter then initial estimates are on or very close to the convex hull of the beacons
Computing Nodes Computation (Phase 3) • Centralized • Only one node computes 2. Locally Centralized Some of unknown nodes compute 3. (Fully) Distributed Every unknown node computes • Each approach may be appropriate for a different application • Centralized approaches require routing and leader election • Fully distributed approach does not have this requirement
Computing at a Central Point 1 5 4 3 6 2 The objective function is Can be solved using iterative least squares utilizing the initial Estimates from phase 2 - we use a Kalman Filter
Kalman Filter From Greg Welch • We only use measurement update since the nodes are static • We know R (ranging noise distribution) • Not really using the KF for now, no notion of time
# of edges # of unknown nodes x 2 Global Kalman Filter • Matrices grow with density and number of nodes => so does computation cost • Computation is not feasible on small processors with limited computation and memory
Distributed Computation • One option is to use a Distributed Kalman Filter [Roumeliotis,Whyte] • Instead, we use a simpler approximation • Perform Iterative Multilateration inside a Collaborative Subtree • If multilaterations follow a consistent pattern then a gradient with respect to the whole collaborative subtree is established (driven using Distributed Depth First Search) • Less computation, similar result
Distributed Computation 2 1. Obtain initial estimates 2. for each unknown 2.1: Perform Atomic Multilateration if the neighbor is beacon use beacon location else use current position estimate 2.2: Broadcast new location estimate 3. Repeat step 2 every time a new position estimate is received until the convergence criteria are met 5 3 Uncertainty of estimate after first iteration 4 Iteration 1 Uncertainty of estimate after second iteration 1 Iteration 2 The unknown nodes need to perform their atomic multilateration in the same order, driven by a Distributed Depth First Search algorithm => local computations, follow a global gradient
Convergence Process • From SensorSim simulation • 40 nodes, 4 beacons • IEEE 802.11 MAC • 10Kbps radio • Average 6 neighbors per node
Gains in Computation • Computation cost based on MATLAB FLOPS outputs • Result difference between centralized and distributed is very small • Mean = 0.015 mm, Standard Deviation = 0.0054mm • A group of nodes can collectively solve a non-linear optimization problem than none of the nodes can solve individually. • Distributed computation cost between 3-4 MFLOPS per node
Communication Cost and Latency • Convergence time increases with network size • Simulation uses IEEE 802.11 and a 10kbps radio • Communication cost evenly distributed across all nodes
Localization Accuracy • Results obtained on a suite of 200 networks 10-200 nodes in each network • Average error over all networks was 27.7 millimeters, with a std 16mm
Conclusions on Collaborative Multilateration • Advantages • Reduces error propagation • It can go around obstacles – does not consider multipath effects though • Distributed version • Allows a group of nodes to solve a problem that they could not solve individually • Robust • Even power consumption • Disadvantages • Still sensitive to geometry – best results when nodes are surrounded by beacons • Interaction between collaborative subtrees needs to be studied further
Ultrasonic Ranging Error Sources • Signal Detection Problem • Can be dealt in hardware, increases the complexity of the receiver. • Background interference and cross talk • Pseudorandom coding, cross correlation coding • Also increases range • Multipath Effects – short paths • Destructive interference at the receiver makes measurements appear longer
More Error Sources • Non-Line-of-Sight Components • When there is no direct line-of-sight this would create more outliers • Temperature and humidity variations • If the range is too long propagation speed might vary along the path • Humidity increases signal attenuation • Node time measurement error • measurement accuracy depends on the accuracy of time measurement – could vary at each node • For now we assume this is not a significant problem but needs to be verified experimentally
Medusa MK-2 • Medusa MK-2 Node • For localization experiments • 40MHz ARM THUMB • 1MB FLASH, 136KB RAM • 0.9MIPS/MHz • 480MIPS/mW (ATMega 242MIPS/mW) • can run eCos, uCLinux • RS-485 bus • Out of band data collection • Formation of arrays • 3 current monitors (Radio, Thumb, rest of the system) • 540mAh Rechargeable Li-Ion battery
Energy Characterization • Ultrasound penalty is the same for both cases so we did not characterize it • Measured AVR MCU and RFM radio • Medusa I Measurements
Future Work • Geometry Disambiguation • How can we ensure good collaborative subtrees? Bad Good • What if there are no beacons at all? • How to develop a local coordinate system • Hierarchical Systems • Develop crude Angle-of-Arrival on the MK-2 node
Future Work II • Robustness • Multipath and NLOS effects result in outliers • Some of the outliers can be resolved if there is enough redundancy in the network • If there is not enough redundancy and the network is disconnected, then outliers cannot be resolved • Use mobile nodes and targets to improve accuracy of localization • Include readings from inertial sensors • Formulate the problem as a position calibration problem and perform position calibration on the fly • Possibly on-demand localization
Future Work III • Performance Evaluation • More detailed characterization of collaborative multilateration • Determine beacon/unknown ratios and expected localization accuracies • Latencies and computation cost based on testbed parameters • Expose some of the tradeoffs in communication/computation • Protocol Enhancements • Fully distributed collaborative subtree discovery • Leader election and routing algorithms for localization • Algorithms to drive the distributed collaborative multilateration process
Conclusions • Initial collaborative multilateration algorithm works, further improvements needed • Works with binary obstacles • Needs to consider outliers and external sources of error • Distributed localization is feasible in some scenarios • Not yet fully ad-hoc • An initial testbed is there, working on completion. • Geometry is a problem • Measurements between nodes on the same plane should be avoided • This is not useful unless it works in practice • Completing an operational testbed is the first priority