390 likes | 944 Views
Introduction to Location Discovery Lecture 4 September 14, 2004 EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks Andreas Savvides andreas.savvides@yale.edu Office: AKW 212 Tel 432-1275 Course Website http://www.eng.yale.edu/enalab/courses/eeng460a
E N D
Introduction to Location Discovery Lecture 4 September 14, 2004EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems &Sensor Networks Andreas Savvides andreas.savvides@yale.edu Office: AKW 212 Tel 432-1275 Course Website http://www.eng.yale.edu/enalab/courses/eeng460a
Why is Location Discovery(LD) Important? • Very fundamental component for many other services • GPS does not work everywhere • Smart Systems – devices need to know where they are • Geographic routing & coverage problems • People and asset tracking • Need spatial reference when monitoring spatial phenomena • We will use the node localization problem as a platform for illustrating basic concepts from the course
Why spend so much time on LD? • LD captures multiple aspects of sensor networks: • Physical layer imposes measurement challenges • Multipath, shadowing, sensor imperfections, changes in propagation properties and more • Extensive computation aspects • Many formulations of localization problems, how do you solve the optimization problem? • How do you solve the problem in a distributed manner? • You may have to solve the problem on a memory constrained processor… • Networking and coordination issues • Nodes have to collaborate and communicate to solve the problem • If you are using it for routing, it means you don’t have routing support to solve the problem! How do you do it? • System Integration issues • How do you build a whole system for localization? • How do you integrate location services with other applications? • Different implementation for each setup, sensor, integration issue
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 Target Synchronization channel Ranging channel • 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, MIT Cricket • Cooperative Infrastructure • Elements of infrastructure emit signals; target deduces location from detection of signals • e.g. GPS, MIT Cricket
Measurement Technologies • Ultrasonic time-of-flight • Common frequencies 25 – 40KHz, range few meters (or tens of meters), avg. case accuracy ~ 2-5 cm, lobe-shaped beam angle in most of the cases • Wide-band ultrasonic transducers also available, mostly in prototype phases • Acoustic ToF • Range – tens of meters, accuracy =10cm • RF Time-of-flight • Ubinet UWB claims = ~ 6 inches • Acoustic angle of arrival • Average accuracy = ~ 5 degrees (e.g acoustic beamformer, MIT Cricket) • Received Signal Strength Indicator • Motes: Accuracy 2-3 m, Range = ~ 10m • 802.11: Accuracy = ~30m • Laser Time-of-Flight Range Measurement • Range =~ 200, accuracy =~ 2cm very directional • RFIDs and Infrared Sensors – many different technologies • Mostly used as a proximity metric • Localization using Imagers - accuracy =~few cm
Some Existing Localization Systems • Active Bats[Harter97] – Evolved into UWB company Ubisense • http://www.ubisense.net • MIT Crickets • http://nms.lcs.mit.edu/projects/cricket/ • Also see [Priyantha00, Priyantha01], more on the website • UCLA’s Locating Tiny Sensors in Time and Space: A Case Study [Girod02] • AHLoS System [Savvides01, Savvides02, Savvides03] • Microsoft Radar Project – Using RSS Maps [Bahl00] • Ekahau http://www.ekahau.com/ Wi-Fi Positioning Systems • Calamari Project Website at UC Berkeley • http://www.cs.berkeley.edu/~kamin/calamari • Ubisense UWB localization system • Motetrack at USC • Many probabilistic approaches • Many startups pursuing indoor localization, asset tracking…. • Ekahau
Some Ultrasonic Platforms UCLA iBadge UCLA MK-2 Cricket Platform
An Example Ultrasonic Ranger 13m Measurements from Young Cho, CS213 Project, Winter 2003
Base Case: Atomic Multilateration • Base stations advertise their coordinates & transmit a reference signal • PDA uses the reference signal to estimate distances to each of the base stations • Note: Distance measurements are noisy!
Problem Formulation • Need to minimize the sum of squares of the residuals • The objective function is • This a non-linear optimization problem • Many ways to solve (e.g a forces formulation, gradient descent methods etc
A Solution Suitable for an Embedded Processor • Linearize the measurement equations using Taylor expansion where Now this is in linear form
Solve using the Least Square Equation The linearized equations in matrix form become Now we can use the least squares equation to compute a correction to our initial estimate Update the current position estimate Repeat the same process until δ comes very close to 0
How do you solve this problem? • Check conditions • Beacon nodes must not lie on the same line • Assuming measurement error follows a white gaussian distribution • Create a system of equations • Solve to get the solution – how would you solve this in an embedded system? • How do you solve for the speed of sound?
Acoustic case: Also solve for the speed of sound 2 1 0 4 3 Minimize over all This can be linearized to the form where MMSE Solution:
Beware of Geometry Effects! j k i Known as Geometric Dilution of Precision(GDOP) Position accuracy depends on measurement accuracy and geometric conditioning From pseudoinverse equation
Geometry: It’s the angles not the distance! 10 CR-Bound Evaluation on a 10 x 10 grid (x,y) 10 (0,0) unknown beacon RMS Error(m)
The Node Localization Problem Beacon nodes • Localize nodes in an ad-hoc • multihopnetwork • Based on a set of inter-node • distance measurements
Solving over multiple hops • Iterative Multilateration Unknown node (known position) Beacon node (known position)
Iterative Multilateration Iterative Multilateration Problems Error accumulation May get stuck!!! Localized nodes total nodes % of initial beacons
Collaborative Mutlilateration Known position Uknown position • All available measurements are used as constraints • Solve for the positions of multiple unknowns simultaneously • Catch: This is a non-linear optimization problem! • How do we solve this?
Problem Formulation 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 an Extended Kalman Filter
How do we solve this problem? • In an embedded system? • Backboard material here… • One possible solution would use a Kalman Filter • This was found to work well in practice, can “easily” implemented on an embedded processor [more details see Savvides03]
Computation Options Computing Nodes • 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
PHASE 1 PHASE 2 Find nodes with unique position solutions Compute Initial Position Estimates For all nodes PHASE 3: Refinement PHASE 3: Refinement 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
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
Overview: Collaborative Multilateration 1 3 1 1 5 3 4 3 5 5 4 4 2 2 2 Collaborative Multilateration Challenges Computation constraints Communication cost
Overview: Collaborative Multilateration Distributed reduces computation cost Even sharing of communication cost Collaborative Multilateration Challenges Computation constraints Communication cost
Satisfy Global Constraints with Local Computation • From SensorSim simulation • 40 nodes, 4 beacons • IEEE 802.11 MAC • 10Kbps radio • Average 6 neighbors per node
Kalman Filter Equations 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
Global Kalman Filter # of edges # of unknown nodes x 2 • Matrices grow with density and number of nodes => so does computation cost • Computation is not feasible on small processors with limited computation and memory
Blackboard Discussion • Writing and setting up a Kalman Filter
Beware of Solution Uniqueness Requirements Nodes can be exchanged without violating the measurement constraints!!! • In a 2D scenario a network is uniquely localizable if: • It belongs to a subgraph that is redundantly rigid • The subgraph is 3-connected • It contains at least 3 beacons • More details in future lectures [conditions from Goldenberg04]
Does this solve the problem? • No! Several other challenges • Solution depends on • Problem setup • Infrastructure assisted (beacons), fully ad-hoc & beaconless, hybrid • Measurement technology • Distances vs. angles, acoustic vs. rf, connectivity based, proximity based • The underlying measurement error distribution changes with each technology • The algorithm will also change • Fully distributed computation or centralized • How big is the network and what networking support do you have to solve the problem? • Mobile vs. static scenarios • Many other possibilities and many different approaches • More next time…
Next Time • Next lecture is a discussion session • Make sure you read the paper C. Frank and K. Romer, Algorithms for Generic Role Assignment in Sensor Networks, to appear at ACM SenSys 2005 • Lecture 6 will continue with localization • SCAAT Kalman Filter • Unique Localizability & Robust Quatrilaterals • Multidimensional Scaling
Lecture 7 • Results from Cramer Rao Bound Analysis • Camera based localization • Overview of probabilistic methods