introduction to location discovery lecture 4 september 14, 2004 eeng 460a / cpsc 436 / enas 960...

29
Introduction to Location Discovery Lecture 4 September 14, 2004 EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks Andreas Savvides [email protected] Office: AKW 212 Tel 432-1275 Course Website http://www.eng.yale.edu/enalab/courses/eeng460a

Post on 21-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

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

Introduction to Location Discovery Lecture 4

September 14, 2004

EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems &

Sensor Networks

Andreas [email protected]

Office: AKW 212Tel 432-1275

Course Websitehttp://www.eng.yale.edu/enalab/courses/eeng460a

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

Today

Announcement of student presentations Make sure you get the additions from last set of lecture slides Make sure your name is on signup sheet for the lab Stop by Ed Jackson’s office so that he can swipe your ID for the lab Internal website access

• Some work-in-progress and copyrighted material will only appear on this site. Note the password.

Reference material for this lecture:[Savvides 04a]A. Savvides and M. B. Srivastava, Location Discovery, pp 231 – 238

[Savvides 03] A. Savvides, H. Park and M. B. Srivastava, The n-Hop Multilateration Primitive for Node Localization Problems

[Goldenberg04] D. Goldenberg, A. Krishnamurthy, W. Maness, Y. R. Yang, A. Young and A.

Savvides, Network Localization in Partially Localizable Networks (slide 22 only)

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

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

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

Why spend so much time on LD?

LD captures multiple aspects of sensor networks:• Physical layer imposes measurement challenges

o Multipath, shadowing, sensor imperfections, changes in propagation properties and more• Extensive computation aspects

o Many formulations of localization problems, how do you solve the optimization problem?

o 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 issueso Nodes have to collaborate and communicate to solve the problemo 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

o How do you build a whole system for localization?o How do you integrate location services with other applications?o Different implementation for each setup, sensor, integration issue

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

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!

Base Station 1

Base Station 3

Base Station 2

u

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

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

22,, )ˆ()ˆ( uiuiiuiu yyxxrf

2,min),( iuuu fyxF

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

A Solution Suitable for an Embedded Processor

Linearize the measurement equations using Taylor expansion

where

Now this is in linear form

)( 22,, Oyxfr yixiiuiu

i

uii

i

uii r

yyy

r

xxx

ˆ,

ˆ

22 )ˆ()ˆ( uiuii yyxxr

zA

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

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

)(3

)(2

)(1

33

22

11

, ,u

u

u

y

x

f

f

f

z

yx

yx

yx

A

zAAA TT 1)(

yuuxuu yyxx ˆˆ and ˆˆ

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

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?

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

Acoustic case: Also solve for the speed of sound

Minimize over all

This can be linearized to the form

where2

02

000 )()(),,( yyxxstsxxf iiii

Xby

222

12

1

2222

22

2221

21

kkkk

kk

kk

yxyx

yxyx

yxyx

y

2

0)1(2011

220

2022

210

2011

)(2)(2

)(2)(2

)(2)(2

kkkkkk

kkk

kkk

ttyyxx

ttyyxx

ttyyxx

X

20

0

s

y

x

b

1

2

34

0

12,1 ki

yXXXb TT 1)( MMSE Solution:

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

The Node Localization Problem

Beacon

Unkown Location

Randomly Deployed Sensor Network

Beacon nodes

• Localize nodes in an ad-hoc multihop network• Based on a set of inter-node distance measurements

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

Solving over multiple hops

Iterative Multilateration

Beacon node(known position)

Unknown node(known position)

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

Iterative Multilateration

Iterative Multilateration

ProblemsError accumulationMay get stuck!!!

% of initial beacons

Localized nodes

total nodes

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

Collaborative Mutlilateration

• 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?

Known position

Uknown position

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

Problem Formulation

214

2141,41,4

254

2545,45,4

234

2343,43,4

253

2535,35,3

232

2323,23,2

)ˆ()ˆ(

)ˆ()ˆ(

)ˆˆ()ˆˆ(

)ˆ()ˆ(

)ˆ()ˆ(

yyxxRf

yyxxRf

yyxxRf

yyxxRf

yyxxRf

2,4433 min)ˆ,ˆ,ˆ,ˆ( jifyxyxF

The objective function is

Can be solved using iterative least squares utilizing the initial Estimates from phase 2 - we use a Kalman Filter

1

2

3 4

5

6

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

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]

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

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

a

a ax

U

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

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

a

b

c

b+c b+c

X

Y

U

U is between [Y-(b+c)] and [X+a]

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

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

a

a a

b

c

b+c b+c

X

Y

U

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

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

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

Overview: Collaborative Multilateration

Collaborative Multilateration

ChallengesComputation constraintsCommunication cost

1

2

3

45

2

1

3

45

1

2

3

45

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

Overview: Collaborative Multilateration

Collaborative Multilateration

ChallengesComputation constraintsCommunication cost

0

1,000

2,000

3,000

4,000

5,000

6,000

7,000

8,000

9,000

10,000

10 20 30 40 50 60 70 80 90 100

No. of Unknown Nodes

MF

lop

s

Distributed Centralized

Distributed reduces computation cost Even sharing of communication cost

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

Satisfy Global Constraints with Local Computation

From SensorSim simulation 40 nodes, 4 beacons IEEE 802.11 MAC 10Kbps radio Average 6 neighbors per node

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

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

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

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

00)5(ˆ)5(ˆ

00)4(ˆ)4(ˆ

)3(ˆ)3(ˆ)3(ˆ)3(ˆ

00)2(ˆ)2(ˆ

)1(ˆ)1(ˆ00

5454

44

34344343

5353

3232

kk

kk

kkkk

kk

kk

z

yey

z

xexz

yey

z

xexz

eyey

z

exex

z

eyey

z

exexz

yey

z

xexz

eyy

z

exx

H # of edges

# of unknown nodes x 2

254

254

214

214

243

243

253

253

232

232

)()(

)()(

)()(

)()(

)()(

ˆ

yeyxex

yeyxex

eyeyexex

yeyxex

eyyexx

z Tk

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

Beware of Geometry Effects!

Known as Geometric Dilution of Precision(GDOP)

Position accuracy depends on measurement accuracy and geometric conditioning

i ijj ij

NNGDOPGDOP

,

2|sin|),(

ijjk i

kj

bQAAQAx bT

bT 111 )(ˆ From pseudoinverse equation

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

Geometry: It’s the angles not the distance!

0

510

15

0

5

10

150

0.2

0.4

0.6

0.8

x coordinatey coordinate

RMS Error(m)

CR-Bound Evaluation on a 10 x 10 grid

(0,0)

10

10

beacon unknown

(x,y)

0 50 100 150 200 250 300 350 4000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

sin

2

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

Beware of Solution Uniqueness Requirements

In a 2D scenario a network is uniquely localizable if:1. It belongs to a subgraph that is redundantly rigid

2. The subgraph is 3-connected

3. It contains at least 3 beacons

More details in future lectures

Nodes can be exchanged without violating the measurement constraints!!!

[conditions from Goldenberg04]

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

Does this solve the problem?

No! Several other challenges Solution depends on

• Problem setupo Infrastructure assisted (beacons), fully ad-hoc & beaconless, hybrid

• Measurement technologyo Distances vs. angles, acoustic vs. rf, connectivity based, proximity basedo 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…