Create Presentation
Download Presentation

Andreas Savvides andreas.savvides@yale Office: AKW 212 Tel 432-1275 Course Website eng.yale/enalab/courses/eeng460a

Andreas Savvides andreas.savvides@yale Office: AKW 212 Tel 432-1275 Course Website eng.yale/enalab/courses/eeng460a

485 Views

Download Presentation
Download Presentation
## Andreas Savvides andreas.savvides@yale Office: AKW 212 Tel 432-1275 Course Website eng.yale/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