40
Introduction to Location Discovery Lecture 6 September 20, 2005 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/2005f/ eeng460a

Introduction to Location Discovery Lecture 6 September 20, 2005 EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks Andreas Savvides

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

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

Introduction to Location Discovery Lecture 6

September 20, 2005

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/2005f/eeng460a

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

Lecture Outline

Recap from last lecture, Kalman Filters & time update phase

The SCAAT Kalman Filter Programming project overview Computing locations using

multidimensional scaling (MDS)

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

Kalman Filter Equations

From Greg Welch

http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf

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

KF, EKF & SCAAT

“A Kalman Filter(KF) is a recursive mathematical procedure for least-squares estimation of a linear system”

Follows a predictor-corrector model An Extended Kalman Filter is a KF variant

of non-linear systems A SCAAT Kalman Filter operates on a

single measurement at a time.

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

SCAAT Kalman Filter

Proposed by Greg Welsh and Gary Bishop at UNC in 1997

Used in Hi-Ball Optoelectronic Tracker System

[Slide created from Welsh & Bishop, “SCAAT: Incremental Tracking with Incomplete Information”, Sigraph 97]

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

SCAAT Kalman Filter

Single-constraint-at-a-time(SCAAT)

• Process one measurement at a time

C- # of independent constraints for a unique solution

N – # of constraints used to derive an estimate

Nind - # of independent constraints

[Slide from Welsh & Bishop, “SCAAT: Incremental Tracking with Incomplete Information”, Sigraph 97]

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

SCAAT Aims at Temporal Improvements

Computation is faster KF matrices H, x and z are smaller The state prediction model described by

matrix A needs to change

Example system that uses all measurements at once

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

Programming Project

Implement a SCAAT filter in SOS Need to worry about

1. Correctness of implementation

2. Layering & modules

(See project handout)

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

Back to Distance Based Localization…

What if the distances between nodes are know?

Can we compute a coordinate system without beacons (or anchors)?

Yes, one possible way is to use MDS…

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

Obtaining a Coordinate System from Distance Measurements: Introduction to MDS

MDS maps objects from a high-dimensional space to a low-dimensional space,

while preserving distances between objects.

similarity between objects coordinates of points

Classical metric MDS:• The simplest MDS: the proximities are treated as distances in an

Euclidean space• Optimality: LSE sense. Exact reconstruction if the proximity data

are from an Euclidean space• Efficiency: singular value decomposition, O(n3)

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

The basic MDS-MAP algorithm:

1. Given connectivity or local distance measurement, compute shortest paths between all pairs of nodes.

2. Apply multidimentional scaling (MDS) to construct a relative map containing the positions of nodes in a local coordinate system.

3. Given sufficient anchors (nodes with known positions), e.g, 3 for 2-D or 4 for 3-D networks, transform the relative map and determine the absolute the positions of the nodes.

It works for any n-dimensional networks, e.g., 2-D or 3-D.

LOCALIZATION USING MDS-MAP (Shang, et al., Mobihoc’03)

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

Applying Classical MDS

1. Create a proximity matrix of distances D2. Convert into a double-centered matrix B

3. Take the Singular Value Decomposition of B

4. Compute the coordinate matrix X (2D coordinates will be in the first 2 columns)

U

NIDU

NI

11

2

1-B 2

NxN matrix of 1s

NxN matrix of 1s

NxN identity matrix

TVAVB

2

1

VAX

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

The basic MDS-MAP algorithm:1. Compute shortest paths between all pairs of nodes.2. Apply classical MDS and use its result to construct a relative map.

3. Given sufficient anchor nodes, transform the relative map to an absolute map.

Example: Localization Using Multidimensional Scaling (MDS) (Yi Shang et. al)

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

MDS-MAP ALGORITHM

1. Compute all-pair shortest paths. O(n3)Assigning values to the edges in the connectivity graph:Known connectivity only: all edges have value 1 (or R/2)Known neighbor distances: the edges have the distance values

2. Apply classical MDS and use its result to construct a 2-D (or 3-D) relative map. O(n3)

3. Given sufficient anchor nodes, convert the relative map to an absolute map via a linear transformation. O(n+m3)

• Compute the LSE transformation based on the positions of anchors.

O(m3), m is the number of anchors• Apply the transformation to the other unknown nodes. O(n)

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

MDS-MAP (P) – The Distributed Version

1. Set-up the range for local maps Rlm (# of hops to consider in a map)

2. Compute maps of individual nodes1. Compute shortest paths between all pairs of nodes2. Apply MDS3. Least-squares refinement

3. Patch the maps together• Randomly pick a node and build a local map, then merge the

neighbors and continue until the whole network is completed4. If sufficient anchor nodes are present, transform the relative map

to an absolute map

MDS-MAP(P,R) – Same as MDS-MAP(P) followed by a refinement phase

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

The basic MDS-MAP works well on regularly shaped networks, but not on irregularly shaped networks.

MDS-MAP(P) (or MDS-MAP based on patches of local maps)

1. For each node, compute a local relative map using MDS

2. Merge/align local maps to form a big relative map

3. Refine the relative map based on the relative positions (optional). (When used, referred to as MDS-MAP(P,R) )

4. Given sufficient anchors, compute absolute positions

5. Refine the positions of individual nodes based on the absolution positions (optional)

MDS-MAP(P) (Shang and Ruml, Infocom’04)

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

1. For each node, compute a local relative map using MDS• Size of local maps: fixed or adaptive

2. Merge/align local maps to form a big relative map• Sequential or distributed; scaling or not

3. Refine the relative map based on the relative positions• Least squares minimization: what information to use

4. Given sufficient anchors, compute absolute positions • Anchor selection; centralized or distributed

5. Refine the positions of individual nodes based on the absolution positions• Minimizing squared errors or absolute errors

SOME IMPLEMENTATION DETAILS OF MDS-MAP(P)

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

AN EXAMPLE OF C-SHAPE GRID NETWORKS

MDS-MAP(P) without both optional refinement steps.

Known 1-hop distances with 5% range error

Connectivity information only

2 4 6 8 10

2

4

6

8

10

2 4 6 8 10

2

4

6

8

10

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

RANDOM UNIFORM PLACEMENT

200 nodes; 4 random anchors

Connectivity information only Known 1-hop distances with 5% range error

5 10 15 20 25 30 350

50

100

150

200

Connectivity

Me

an

err

or

(%R

)

MDS-MAP(P)MDS-MAP(P,R)DV-hop

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

RANDOM C-SHAPE PLACEMENT

160 nodes; 4 random anchors

Connectivity information only Known 1-hop distances with 5% range error

5 10 15 20 25 300

50

100

150

200

Connectivity

Me

an

err

or

(%R

)

MDS-MAP(P)MDS-MAP(P,R)DV-hop

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

Where is the challenge?

The results are numerically correct based on the used measurement model

Two main assumptions• Hops are proportional to distance• Error represented as a function of distance

Is that the case in practice?

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

Back to the Physical Layer: RSSI In Node Localization

Ultrasound ToA RSSI in football field

Max range 3m, accuracy 2cm Max range 20m, accuracy 7mPower levels: 7,10

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

01

23

45

6

0

1

2

3

4

50

0.5

1

1.5

2

2.5

7

8

9

6

27

10

5

28

12

X coordinate

42

33

4

30

35

29

11

13

14

3

34

32

37

36

17

31

Connectivity at Power Level 7

41

25

15

1

2

38

39

18

26

24

16

Y coordinate

40

19

22

23

20

21

Z c

oo

rdin

ate

RSSI Characterization Study(D.Lymberopoulos et. al. based on Chipcon 2420 radio)

01

23

45

6

0

1

2

3

4

50

0.5

1

1.5

2

2.5

7

8

9

6

27

10

5

28

12

X coordinate

42

33

4

30

35

29

11

13

14

3

34

32

37

36

17

31

Connectivity at Power Level 6

41

25

15

1

2

3839

18

26

24

16

Y coordinate

40

19

22

23

20

21

Z c

oo

rdin

ate

01

23

45

6

0

1

2

3

4

50

0.5

1

1.5

2

2.5

7

8

9

6

27

10

5

28

12

X coordinate

42

33

4

30

35

29

11

13

14

3

34

32

37

36

17

31

Connectivity at Power Level 4

41

25

15

1

2

3839

18

26

24

16

Y coordinate

40

19

22

23

20

21

Z c

oo

rdin

ate

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

RSSI: The Log Normal Shadowing Model

Problem with indoor environments:

Path loss exponent varies in different areas

Significantly affected by reflections at higher power levels

Antenna factor dominates

),0(X

exponent losspath -

d distance reference aat losspath )PL(d

power, transmit P

Xd

d log 10)PL(dPRSS(d)

2

00

T

0100T

N

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

Transmit Power Levels in Chipcon CC2420

= 1mW = 43.5mW

Radio supply voltage= 2.5VAnd Power = I*V

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

Going from Watts to dBm

1mW

mW)P(in 10logdBm)P(in

+20dBm=100mW

+10dBm=10mW

+7dBm=5mW

+6dBm = 4mW

+4dBm=2.5mW

+3dBm=2mW

0dBm=1mW

-3dBm=.5mW

-10dBm=.1mW

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

Sources of RSSI Variability

Intrinsic• Radio receiver and transmitter calibration

Extrinsic • Relative antenna orientation for

Receiver/Transmitter • Multipath and shadowing effects

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

Indoor Path Loss Measurements

Floor measurements in a 24 x 20 lounge – no obstacles

-100

-90

-80

-70

-60

-50

-40

0 5 10 15 20

Distance (feet)

RS

SI(

dB

m) Same power level using suboptimal antenna

η=3

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

RSSI Measurement Configuration: RSSI vs Distance

0 1 2 3 4 5 6 7 8-50

-45

-40

-35

-30

-25Distance Vs Average RSSI at a low power level

DISTANCE (m)

Avera

ge R

SS

I (d

bm

)

Data cannot be fitted to the widely used log-normal shadowing signal propagation model Reflections Antenna Orientation

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

Antenna Radiation Pattern

Side View Top View

Communication rangeSymmetric Region Antenna orientation

independent regions

Communication range

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

Interesting Properties of RSSI

Moving away from the antenna active region

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

Link Asymmetry in 3D-scenarios

1 2 3 4 5 6 7 820

22

24

26

28

30

32

34

36

Power Level ( 1 - Maximum power level )

One way Links

% o

f on

e-w

ay lin

ks

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

RSSI Study Results & Conclusions

The RX/TX radio calibration issues have minimal effect on localization • If you were using the log normal shadowing model, that would

result in approximately 0.5m of error Antenna orientation is a major source of variability There is a small region around the antenna, that is less

susceptible to orientation effects• This allows to say when 2 radios are in close proximity to each

other Interesting radio property

• There are some signal strength measurements that can only be obtained if two antennas(& radios) are very close to each other!

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

Understanding Fundamental Behaviors

What is the fundamental error behavior?Measurement technology perspective

• Acoustic vs. RF ToF (2cm – 1.5m measurement accuracy)

• Distances vs. Angules

Deployment - what density?Scalability How does error propagate?Beacon density & beacon position uncertaintyIntrinsic vs. Extrinsic Error Component

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

Estimated Location Error Decomposition

PositionError

ChannelEffects

ComputationError

SetupError

Induced by intrinsic measurement error

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

Cramer Rao Bound Analysis

Cramer-Rao Bound Analysis on carefully controlled scenarios• Classical result from statistics that gives a lower bound

on the error covariance matrix of an unbiased estimate

Assuming White Gaussian Measurement Error Related work

• N. Patwari et. al, “Relative Location Estimation in Wireless Sensor Networks”

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

Density Effects

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.410

-1

100

101

102

angle measurementsdistance measurements

Density (node/m2)

RM

S L

ocat

ion

Err

or

20mm distance measurement certainty == 0.27 angular certainty

100

101

102

103

10-1

100

101

102

103

104

distancesangles

Range Error Scaling Factor

RM

S L

ocat

i on

Err

or/s

igm

a

Range Tangential Error

Results from Cramer-Rao Bound Simulations based on White Gaussian Error

m/rad

m/m

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

Density Effects with Different Ranging Technologies

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Ranging Error Variance(m)

D=0.030D=0.035D=0.040D=0.045D=0.050D=0.055

RMS Error(m)

6 neighbors

12 neighbors

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

Network Scalability

x-coordinate(m) y-coordinate(m)

RM

S L

o cat

ion

Err

or x

10

Error propagation on a hexagon scenario (angle measurement)Rate of error propagation faster with distance measurements but Much smaller magnitude than angles

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

More Observations on Network Scalability…

Performance degrades gracefully as the number of unknown nodes increases.

Increasing the number of beacon nodes does not make a significant improvement

Error in beacons results in an overall translation of the network

Error due to geometry is the major component in propagated error