Node Localization in Sensor Networks

Download Report

Transcript Node Localization in Sensor Networks

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
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)
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
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 issues
o Nodes have to collaborate and communicate to solve the problem
o 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
Base Case: Atomic Multilateration
Base Station 1
u
Base Station 3
Base Station 2
 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
f u ,i  ru ,i  ( xi  xˆu )  ( yi  yˆ u )
2
2
 The objective function is
F ( xu , yu )  min  f
2
u ,i
 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
ru,i  f  xi x  yi y  O( )
2
u ,i
where
2
xi  xˆu
yi  yˆ u
xi 
, yi 
ri
ri
2
2
ˆ
ˆ
ri  ( xi  xu )  ( yi  yu )
Now this is in linear form
A  z
Solve using the Least Square Equation
The linearized equations in matrix form become
 x 
   ,
 y 
 x1
A  x2
 x3
 f1(u ) 
y1 
 (u ) 

y2 , z   f 2 
 f 3(u ) 
y3 


Now we can use the least squares equation to compute a correction to our
initial estimate
  ( AT A)1 AT z
Update the current position estimate
xˆu  xˆu   x and yˆu  yˆu   y
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
Minimize over all
1
f ( xi , x0 , s)  sti 0  ( xi  x0 ) 2  ( yi  y0 ) 2
This can be linearized to the form
where
  x12  y12  xk2  yk2 

2
2
2
2 

x

y

x

y
2
2
k
k 
y



 2
2
2
2
 xk 1  yk 1  xk  yk 
MMSE Solution:
y  Xb
0
i  1,2k  1
4
3
 2( xk  x1 )
2( yk  y1 )
t k20  t102 


2
2
2
(
x

x
)
2
(
y

y
)
t

t
k
2
k
2
k0
20 
b
X 






2
2
2
(
x

x
)
2
(
y

y
)
t

t
 k
k 1
k
k 1
k0
( k 1) 0 

b  ( X T X ) 1 X T y
 x0 
y 
 0
 s 2 
The Node Localization Problem
Unkown Location
Beacon
Beacon nodes
Randomly Deployed Sensor Network
• Localize nodes in an ad-hoc
multihop network
• 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
• All available measurements are used as
constraints
Known position
Uknown position
• Solve for the positions of multiple unknowns
simultaneously
• Catch: This is a non-linear optimization
problem!
• How do we solve this?
Problem Formulation
f 2,3  R2,3  ( x2  xˆ3 ) 2  ( y2  yˆ 3 ) 2
1
f 3,5  R3,5  ( xˆ3  x5 ) 2  ( yˆ 3  y5 ) 2
5
f 4,3  R4,3  ( xˆ 4  xˆ3 ) 2  ( yˆ 4  yˆ 3 ) 2
f 4,5  R4,5  ( xˆ 4  x5 ) 2  ( yˆ 4  y5 ) 2
3
4
6
2
f 4,1  R4,1  ( xˆ 4  x1 ) 2  ( yˆ 4  y1 ) 2
The objective function is
F ( xˆ3 , yˆ3 , xˆ4 , yˆ4 )  min fi,2j
Can be solved using iterative least squares utilizing the initial
Estimates from phase 2 - we use a 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]
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
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
b+c
Y
b+c
c
U
b
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
b+c
Y
c
U
b
a
a
a
X
b+c
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
Collaborative Multilateration
Challenges
Computation constraints
Communication cost
1
1
1
3
3
5
4
2
3
5
5
4
4
2
2
Overview: Collaborative Multilateration
Collaborative Multilateration
Challenges
Computation constraints
Communication cost
10,000
9,000
Distributed
Centralized
8,000
MFlops
7,000
6,000
5,000
4,000
3,000
2,000
1,000
0
10
20
30
40
50
60
70
80
90
100
No. of Unknown Nodes
Distributed reduces computation cost
Even sharing of 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
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
zˆ k
T
 ( x  ex ) 2
2
3

2
 (ex3  x5 )
  (ex3  ex4 ) 2

 (ex  x ) 2
4
1

2
 (ex4  x5 )
 ( y 2  ey3 ) 2 

2
 (ey3  y 5 ) 

 (ey3  ey4 ) 2 
 (ey4  y1 ) 2 

 (ey4  y 5 ) 2 

0


 ex3  x5
 zˆ k (2)
 ex  ex
4
H  3
 zˆ k (3)
 ex4  x

 zˆ k (4)
 ex4  x5
 zˆ (5)
 k
0
ey3  y5
zˆ k (2)
ey3  ey4
zˆ k (3)
ey4  y
zˆ k (4)
ey4  y5
zˆ k (5)
x 2  ex3
zˆ k (1)
0
ex4  ex3
zˆ k (3)
0
0
y 2  ey3 
zˆ k (1) 


0

ey4  ey3 

zˆ k (3) 

0



0


# 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
# of edges
Beware of Geometry Effects!
Known as Geometric Dilution of Precision(GDOP)
Position accuracy depends on measurement accuracy and
geometric conditioning
j
k
 jk
From pseudoinverse equation
ij
i
1
b
1
1
b
xˆ  ( A Q A) A Q b
T
GDOP  GDOP( N , ) 
T
N
2
|
sin

|
i  j , j i
ij
Geometry: It’s the angles not the distance!
10
CR-Bound Evaluation on a 10 x 10 grid
(x,y)
10
(0,0)
0.8
beacon
unknown
0.6
RMS Error(m) 0.4
0.2
1
0.9
0
15
0.8
0.7
2
sin 
0.6
0.4
10
5
0.3
0.2
y coordinate
0.1
0
0
15
10
0.5
50
100
150
200

250
300
350
400
5
0
0
x coordinate
Beware of Solution Uniqueness Requirements
Nodes can be exchanged
without violating the
measurement constraints!!!

In a 2D scenario a network is uniquely localizable if:
1.
2.
3.

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
o Infrastructure assisted (beacons), fully ad-hoc & beaconless, hybrid
• Measurement technology
o Distances vs. angles, acoustic vs. rf, connectivity based, proximity based
o 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…