Loading in 2 Seconds...

Andreas Savvides [email protected] Office: AKW 212 Tel 432-1275 Course Website eng.yale/enalab/courses/eeng460a

Loading in 2 Seconds...

- 456 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Andreas Savvides [email protected] Office: AKW 212 Tel 432-1275 Course Website eng.yale/enalab/courses/eeng460a' - LeeJohn

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Introduction to Location Discovery Lecture 4 September 14, 2004EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems &Sensor Networks

Andreas Savvides

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

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

Download Presentation

Connecting to Server..