Time Synchronization - Lane Department of Computer Science and

advertisement
Localization
Vinod Kulathumani
West Virginia University
Localization
• Localization of a node refers to the problem of identifying its
spatial co-ordinates in some co-ordinate system

How do nodes discover their geographic positions in 2D or 3D
space?
• Model: static and mobile wireless sensor networks
2
Location Matters
• Sensor Net Applications

Environment monitoring

Event tracking

Smart environment
• Geographic routing protocols

GeoCast, GPSR, LAR, GAF, GEAR
3
Outline
• Range-based localization

Time of arrival (GPS)

Time difference of arrival (Acoustic)

Angle of arrival

RADAR

Radio interferometric

Doppler shift
• Converting estimated range into actual network position
• Range-free localization

Centroid

DV-HOP

MDS-MAP

APIT
• Localization in Mobile sensor networks
4
Range-based localization
Distances between nodes to nodes/anchors measured wirelessly
• TOA (Time of Arrival )

GPS
• TDOA (Time Difference of Arrival)

Cricket
• AOA (Angle of Arrival )

APS
• RSSI (Receive Signal Strength Indicator)

RADAR
• Radio interferometric
• Doppler shift
5
Time of arrival (TOA)
• Example: GPS
• Uses a satellite
constellation of at least
24 satellites with
atomic clocks
• Satellites broadcast
precise time
• Estimate distance to
satellite using signal
TOA
• Trilateration
B. H. Wellenhoff, H. Lichtenegger and J. Collins, Global Positioning System: Theory and Practice. Fourth
Edition, Springer Verlag, 1997
6
Sound based TdoA
Because the speed of sound is much slower (approximately 331.4m/s)
than radio, it is easier to be applied in sensor network.
Some hurdles are:
• Line of sight path must exist between sender and receiver.
• Mono-direction.
• Short range.
7
Cricket
• Intended for indoors use
where GPS don't work
• It can provide distance ranging
and positioning precision of
between 1 and 3 cm
• Active beacons and passive
listeners
•
http://cricket.csail.mit.edu/#technology
8
Angle of arrival (AOA)
• Idea: Use antenna array to
measure direction of
neighbors
• Special landmarks have
compass + GPS, broadcast
location and bearing
• Flood beacons, update
bearing along the way
• Once bearing of three
landmarks is known,
calculate position
"Medusa" mote
Dragos Niculescu and Badri Nath. Ad Hoc Positioning System (APS) Using AoA, IEEE InfoCom 2003
9
Determining angles
• Directional antennas

On the node

Mechanically rotating or electrically “steerable”

On several access points
 Rotating at different offsets
 Time between beacons allows to compute angles






10
RADAR
• Bahl: MS research
• Offline calibration:

Tabulate <location, RSSI> to construct radio map
• Real-time location & tracking:

Extract RSSI from base station beacons

Find table entry best matching the measurement
11
Estimating distances – RSSI
• Received Signal Strength Indicator
Send out signal of known strength, use received signal strength and
path loss coefficient to estimate distance

Problem: Highly error-prone process – Shown: PDF for a fixed RSSI
PDF
PDF

Distance
Distance
Signal strength
12
Problems with RSSI
• Sensors have wireless transceivers anyway, so why not just
use the RSSI to estimate distances?
Graph from Bahl, Padmadabhan: RADAR: An In-Building
RF-Based User Location and Tracking System
• Problem: Irregular signal propagation characteristics (fading,
interference, multi-path etc.)
13
Radio Interferometric Ranging
(RIPS)
RIPS: a novel ranging technique that measures distance
differences utilizing interfering radio signals
φCD=
(dAD-dBD+dBC-dAC) mod
λ
Interference:
superposition of two or
more waves resulting in
a new wave pattern
1
0.5
0
0
0.5
1
1.5
2
-0.5
-1
2.5
2
1.5
1
0.5
0
0
0.5
1
1.5
2
-0.5
q-range
-1
-1.5
-2
-2.5
14
Tracking with RIPS
We use RIPS because of its high accuracy (cm), long
range (200m), and low computation and low power
requirements
Theory for Tracking:
• radio-interferometric range, or q-range
involves 4 nodes A, B, C and D:
C
D
qABCD = dAD-dBD+dBC-dAC
• in tracking, we can assume that 3 nodes are
anchors, thus we define t-range tACD
tACD = dAD-dAC =qABCD+dBD-dBC
(qABCD is measured, dBD and dBC are given)
• the new equation defines a hyperbola in 2D
• note that C,D are receivers
A
B
t-range
q-range
hyperbola
15
Tracking with RIPS
Theory for Tracking:
• RIPS measurement constrains the location of the target to a hyperbola
• if the target is a transmitter, a pair of receivers defines unique hyperbola
e.g. using 12 anchors yields 55 hyperbolae from one measurement
Mobility Related and Other Ranging Errors:
Thus solution qABCD minimizes error terms
φnCD = qABCD mod λn
ε1 + φ1CD = qABCD mod λ1
...
Multipath, Measurement Errors: φiCD are not
measured accurately, errors are non-Gaussian
Mobility: qABCD changes as the target moves
φ1CD = qABCD mod λ1
...
• an artefact of RIPS method is that phase offsets
at multiple wavelengths need to be measured
• qABCD is the solution of a system of equations
ε1...εn εn + φnCD = qABCD mod λn
16
Tracking with RIPS
Localization with Non-Gaussian Ranging Errors
• ranging does not return a single q-range qABCD, but a set of q-ranges
SABCD, one of them being the true range with high probability
• resulting ambiguity needs to be resolved by the localization algorithm
Disambiguation:
• the true hyperbolae intersect at a single point
• improbable that a significant number of the
false hyperbolae intersect at a single point
• localization algorithm simply finds a region
which gets intersected by a large number of
hyperbolas
refined search
17
Overview of our Tracking
Application
TIME
COMPUTATION
Msg broadcast
COMMUNICATION
Target node initiates
measurement
MOTE
− weather protected Mica2
MEASURE PHASE AND
FREQUENCY OF
INTERFERENCE SIGNAL
routing
Each receiver sends the
measured phase to the
base station
For a quad of nodes:
− 7.3 MHz CPU, 4kB RAM,
38kbps radio
− TinyOS
PC
PC application:
• regular laptop
COMPUTE Q-RANGES
FROM PHASE OFFSETS
− 1.5 GHz CPU, 512MB RAM
PC
COMPUTE LOCATION OF
THE TRACKED NODE
TCP/IP
1 sec
1.5 sec
0.2 sec
1-2 sec
Additional delay
Refresh rate
Each receiver:
Sensor nodes:
• XSM motes
PC
DISPLAY THE LOCATION
ON THE MAP
Location is available
remotely through
internet
− java application calculates
target location
• target’s location and track
are displayed in Google
Earth
18
Evaluation – Vanderbilt stadium
• we had Vanderbilt football stadium access
• placed 6 anchors on the field (tripods), and 6 anchors in the stands
• covered an area of approximately 80m x 90m
19
Evaluation – Google Earth
• we modelled Vanderbilt stadium in Google Earth
• we were showing target location and track in real-time
• large red balloon is the target, small red balloons are anchor nodes
20
Evaluation – Results
Results from our test runs:
• 148 datapoints
• 37cm average and 1.5m maximum
2D error (61cm real error)
• target speed up to 2m/s
• 2.5 – 3 sec refresh rate
21
Tracking Mobile Nodes Using RF Doppler Shifts
Branislav Kusy
Computer Science
Department
Stanford University
• A novel tracking algorithm that utilizes RF Doppler shifts
• A technique that allows us to measure RF Doppler shifts
using low cost hardware

Mica2: 8MHz CPU and 9kHz sampling rate
22
Utilizing doppler effect
• Single receiver allows us to measure relative speed.
• Multiple receivers allow us to calculate location and
velocity
23
Doppler Effect
• Assume a mobile source transmits a signal with
frequency f, and f’ is the frequency of received
signal
f’ = f + Δf
Δf = - v / λ f
v is relative speed of
source and receiver
source
Jose Wudka,
physics.ucr.edu
λf is wavelength of the
transmitted signal
24
Can we Measure Doppler Shifts?
Typ. freq
Dopp. Shift
(@ 1 m/s)
Acoustic signals
1-5 kHz
3-15 Hz
Radio signals (mica2)
433 MHz
1.3 Hz
Radio signals (telos)
2.4 GHz
8 Hz
Intriguing option: if we can utilize radio
signals, no extra HW is required
Solution: radio interfereometry
25
Measuring Doppler shift
We use radio interferometry to measure Doppler
frequency shifts with 0.21 Hz accuracy.
430MHz+30
T0Hz
430MHz
A
Si
300Hz
+
Δfi,T
• 2 nodes T, A transmit sine waves
@430 MHz
fT, fA
• Node Si receives interference signal
(in stationary case)
fi = fT – fA
• T is moving, fi is Doppler shifted
fi = fT – fA + Δfi,T
(one problem: we don’t know
the value fT-fA accurately)
Beat frequency is estimated using the RSSI signal.
26
Formalization
We want to calculate both location and velocity of node
T from the measured Doppler shifts.
Unknowns:
• Location, velocity of T, and
fT-fA
x=(x,y,vx,vy,f^)
Knowns (constraints):
• Locations (xi,yi) of nodes Si
• Doppler shifted frequencies fi
c=(f1,…,fn)
Function H(x)=c:
f4 = fT – fA + Δf4
= fT – fA + v4/λT
Non-linear system of equations!
27
Tracking as Optimization Problem
Non-linear Least Squares (NLS)
• Minimize objective function ||H(x) – c||
• What’s the effect of measurement errors?
Experiment:
•1 mobile transmitter
•8 nodes measure fi
Figure shows
objective function for
fixed (x,y) coordinates
28
Improving Accuracy
State Estimation: Kalman Filter
• Measurement error is Gaussian
• Model dynamics of the tracked node (constant speed)
• Accuracy improves, but maneuvers are a problem
Experiment:
• tracked node moves
on a line and then
turns
• KF requires 6 rounds
to converge back.
29
Resolving EKF Problems
Combine Least Squares and Kalman Filter
• Run standard KF algorithm
• Detect maneuvers of the tracked node
• Update KF state with NLS solution
Dilemma: how much to trust our measurements
30
Tracking Algorithm
Infrastructure nodes record Doppler
shifted beat frequency.
Doppler shifted frequencies
Calculate location and velocity using
Kalman filter.
Extended
Kalman filter
Location & Velocity
Maneuver
detection
Yes
Non-linear
least squares
No
Location
& Velocity
NLS Location
& Velocity
Update EKF
Updated Location
& Velocity
Run a simple maneuver detection
algorithm.
If maneuver is detected, calculate
NLS solution and update EKF state.
Show location on the screen.
31
Experimental Evaluation
Vanderbilt football stadium
• 50 x 30 m area
• 9 infrastructure XSM nodes
• 1 XSM mote tracked
• position fix in 1.5 seconds
Non-maneuvering case
32
32
Experimental Evaluation
Vanderbilt football stadium
• 50 x 30 m area
• 9 infrastructure XSM nodes
• 1 XSM mote tracked
• position fix in 1.5 seconds
Maneuvering case
Only some of the tracks are shown for
clarity.
33
From ranging to self-localization
• Ranging can be wrt anchors

Actual location coordinates received directly
• Ranging can be amongst non-anchors

A relative location can be obtained

Can be done centralized or distributed
• Consider a centralized scheme [Sensys 2004, Moore et. Al.]

If ranging is precise – rigid localization can be done

If ranging is imprecise
 Flip ambiguities can arise
 Avoid this using robust quadrilaterals
34
Trilateration without noise
• If three anchors are not on the same line, trilateration with
accurate distance measurements gives a unique location
35
Trilateration with noise
• There can be flip ambiguity
36
Use robust quads
• Four nodes with fixed pair wise distances
• Smallest rigid graph that can be formed
37
Robustness
• If error is bounded, there can be no flips
38
Robustness
• If error is bounded, there can be no flips
39
Connecting quads
• Robust quads that share 3 nodes can be merged
40
Summary of steps: step 1
• Each node x gets the distance measurements between each
pair of 1-hop neighbors.
• Identify the set of robust quadrilaterals.
• Merge the quads if they share 3 nodes.
• Estimate the positions of as many nodes as possible by
iterative trilateration.
• Note: Local coordinate system rooted at x.
41
Step 2: global alignment
• Align neighboring local coordinates systems.
• Find the set of nodes in common between two clusters.
• Compute the translation, rotation that best align them.
42
Range-free localization
Range-based localization:

Required Expensive hardware

Limited working range ( Dense anchor requirement)
Range-free localization:

Simple hardware

Less accuracy
43
Range-free: Centroid
• Idea: Do not use any ranging
at all, simply deploy enough
beacons
• Anchors periodically
broadcast their location
Anchors
• Localization:

Listen for beacons

Average locations of all anchors in range

Result is location estimate
• Good anchor placement is
crucial!
Nirupama Bulusu, John Heidemann and Deborah Estrin. Density Adaptive Beacon Placement,
Proceedings of the 21st IEEE ICDCS, 2001
44
Hop-Count Techniques
r
4
1
2
3
1
3
4
4
5
2
3
7
4
3
8
6
DV-HOP
[Niculescu & Nath,
2003]
Amorphous
[Nagpal et. al,
2003]
4
5
Works well with a few, well-located seeds and
regular, static node distribution. Works poorly if
nodes move or are unevenly distributed.
45
MDS
46
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)
47
LOCALIZATION USING MDS-MAP
(Shang, et al., Mobihoc’03)
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.
48
Applying Classical MDS
1.
Create a proximity matrix of distances D
2.
Convert into a double-centered matrix B
1
1  2
1 
B  -  I  U D  I  U 
2
N  
N 
NxN matrix of 1s
NxN identity matrix
NxN matrix of 1s
3.
Take the Singular Value Decomposition of B
B  VAV T
4.
Compute the coordinate matrix X
columns)
X  VA
(2D coordinates will be in the first 2
1
2
49
Example: Localization Using Multidimensional Scaling
(MDS) (Yi Shang et. al)
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.
50
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)
51
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 nodes
1. Compute shortest paths between all pairs of nodes
2. Apply MDS
3. 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 completed
4. 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
52
MDS-MAP(P) (Shang and Ruml, Infocom’04)
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)
53
SOME IMPLEMENTATION DETAILS OF MDS-MAP(P)
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
54
AN EXAMPLE OF C-SHAPE GRID NETWORKS
Connectivity information
only
10
10
8
8
6
6
4
Known 1-hop
distances with 5%
range error
4
2
2
2
4
6
8
10
2
4
6
8
10
MDS-MAP(P) without both optional refinement
steps.
55
RANDOM UNIFORM PLACEMENT
Connectivity information
only
Mean error (%R)
200
Known 1-hop
distances with 5%
range error
MDS-MAP(P)
MDS-MAP(P,R)
DV-hop
150
100
50
0
5
10
15
20
25
30
35
Connectivity
200 nodes; 4 random anchors
56
RANDOM C-SHAPE PLACEMENT
Connectivity information
only
Known 1-hop
distances with 5%
range error
Mean error (%R)
200
MDS-MAP(P)
MDS-MAP(P,R)
DV-hop
150
100
50
0
5
10
15
20
Connectivity
25
30
160 nodes; 4 random anchors
57
APIT
58
Overview of APIT
• APIT employs a novel areabased approach. Anchors divide
terrain into triangular regions
• A node’s presence inside or
outside of these triangular
regions allows a node to
narrow the area in which it can
potentially reside.
• The method to do so is called
Approximate Point In Triangle
Test (APIT).
59
Perfect PIT Test
• Proposition 1: If M is inside triangle ABC, when M is
shifted in any direction, the new position must be
nearer to (further from) at least one anchor A, b or
C
A
M
B
C
60
Continued…
• Proposition 2: If M is outside triangle ABC, when M is
shifted, there must exist a direction in which the
position of M is further from or closer to all three
anchors A, B and C.
A
M
B
C
61
Perfect PIT Test
• If there exists a direction such that a point adjacent
to M is further/ closer to points A, B, and C
simultaneously, then M is outside of ABC.
Otherwise, M is inside ABC.
• Perfect PIT test is infeasible in practice.
62
Departure Test.
• Experiments show that, the receive signal strength
is decreasing in an environment without obstacles.
• Therefore further away a node is from the anchor,
weaker the received signal strength.
M
N
A
63
Appropriate PIT Test.
• Use neighbor information to emulate the
movements of the nodes in the perfect PIT
test.
• If no neighbor of M is further from/ closer to all three
anchors A, B and C simultaneously, M assumes that it is
inside triangle ABC. Otherwise, M assumes it resides
outside this triangle.
64
Inside Case
Outside Case
65
Error Scenarios for APIT test.
In to out error
Out to in error
66
• However, from experimental results it is seen
that the error percentage is small as the
density increases.
67
APIT aggregation
• Represent the maximum area in which a
node will likely reside using a grid SCAN
algorithm.

For inside decision the grid regions are
incremented.

For outside decision the grid regions are
decremented.
68
Algorithm
• Anchor Beaconing
• Individual APIT Test
• Triangle Aggregation
• Center of Gravity Estimation
Pseudo Code:
Receive beacons (Xi,Yi)
from N anchors
N anchors form
N
 
3
triangles.
For ( each triangle Ti Є
N
 
3
){
InsideSet  Point-In-TriangleTest (Ti)
}
Position = COG ( ∩Ti InsideSet);
69
APIT Aggregation
0
0
0
0
0
10
1
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
2
2
1
1
0
-1 0
0
1
1
2
2
1
1
0
-1 -1 0
0
0
2
2
2
1
0
-1 -1 -1
0
0
1
1
1
0
0
-1 -1 -1
High Possibility area
Grid-Based Aggregation
With a density 10 nodes/circle,
Average 92% A.P.I.T Test is correct
Average 8% A.P.I.T Test is wrong
Low possibility area
Localization Simulation example
70
Evaluation
• Radio Model: Continuous Radio Variation Model.
– Degree of Irregularity (DOI ) is defined as maximum radio
range variation per unit degree change in the direction of radio
propagation
α
DOI =0
DOI = 0.05
DOI = 0.2
71
Simulation Setup
• Setup

1000 by 1000m area

2000 ~ 4000 nodes ( random or uniform placement )

10 to 30 anchors ( random or uniform placement )

Node density: 6 ~ 20 node/ radio range

Anchor percentage 0.5~2%

90% confidence intervals are within in 5~10% of the mean
• Metrics

Localization Estimation Error ( normalized to units of radio
range)

Communication Overhead in terms of #message
72
Error Reduction by Increasing
#Anchors
AH=10~28,ND = 8, ANR = 10, DOI = 0
Placement = Uniform
Placement = Random
73
Error Reduction by Increasing Node
Density
AH=16, Uniform, AP = 0.6%~2%, ANR = 10
DOI=0.1
DOI=0.2
74
Error Under Varying DOI
ND = 8, AH=16, AP = 2%, ANR = 10
Placement = Uniform
Placement = Random
75
Localization in mobile sensor networks
Does mobility help or hurt?
Following is a solution from MOBICOM 06
U. Virginia
• (Reasonably) Accurate Localization in Mobile Networks
• Low Density, Arbitrarily Placed Seeds
• Range-free: no special hardware
• Low communication (limited addition to normal neighbor
discovery)
76
Our Approach:
Monte Carlo Localization
• Adapts an approach from robotics localization
Frank Dellaert, Dieter Fox, Wolfram
Burgard and Sebastian Thrun. Monte Carlo
Localization for Mobile Robots. ICRA 1999.
• Take advantage of mobility:

Moving makes things harder…but provides more information

Properties of time and space limit possible locations;
cooperation from neighbors
77
MCL: Initialization
Node’s actual position
Initialization: Node has no knowledge of its location.
L0 = { set of N random locations in the deployment area }
78
MCL Step: Predict
Node’s actual position
Predict: Node guesses new possible locations based on
previous possible locations and maximum velocity, vmax
79
Prediction
p(lt | lt-1) = c
0
if d(lt, lt-1) < vmax
if d(lt, lt-1) ≥ vmax
Assumes node is equally likely to move in any
direction with any speed between 0 and vmax.
Can adjust probability distribution if more is known.
80
MCL Step: Predict
Filter
Node’s actual position
r
Seed node:
knows
and transmits
location
Predict:Remove
Node guesses
locationswith
based on
Filter:
samplesnew
thatpossible
are inconsistent
previous
possible locations and maximum velocity, vmax
observations
81
Filtering
S
Direct Seed
If node hears a seed,
the node must (likely) be
with distance r of
the seed’s location
S
Indirect Seed
If node doesn’t hear a seed,
but one of your neighbors
hears it, node must be within
distance (r, 2r] of that seed’s
location.
82
Resampling
Use prediction distribution to create enough sample
points that are consistent with the observations.
83
Recap: Algorithm
Initialization: Node has no knowledge of its location.
L0 = { set of N random locations in the deployment area }
Iteration Step:
Compute new possible location set Lt based on Lt-1, the
possible location set from the previous time step, and
the new observations.
Lt = { }
while (size (Lt) < N) do
R = { l | l is selected from the prediction distribution }
Rfiltered = { l | l where l  R and filtering condition is met }
Lt = choose (Lt  Rfiltered, N)
84
Homework 9 [Due Monday Nov 10]
• Present a summary of the following paper (< 2 pages)

A Wireless Sensor Network for Real-time Indoor Localisation
and Motion Monitoring [IPSN 2008]
Lasse Klingbeil, Tim Wark (CSIRO ICT Centre)
• Optional reading

Belief propagation techniques for localization
 Ihler et al IPSN 2004
85
WSN for Indoor
Localization
CSIRO Australia
Goals
• Low cost indoor tracking
• Range free localization

No special hardware for precise range estimation
• No system calibration
• Low network overhead
87
Contributions
• Localization using combination of

Local mobility model (accelerometer, gyroscope)

Range free localization

Map information
• Actual real time implementation
• Root mean square error (over time) around 2m
88
Network model
• Static wireless infrastructure & base station

Act as seed nodes for localization
 Coarse grained position measurement
 If mobile node can ‘hear’ seed node


Distance modeled as a sigmoid probability density fn
Provide communication infrastructure
• Mobile network

‘Data’ transferred to seed nodes
 Single hop (data buffered until seed node met)
 Implicit acknowledgement and retransmissions
89
On board processing
• Step detection

Using accelerometer (25Hz sampling)

Threshold on FIR averaging filter

Constant stride length at every step constant
• Angle estimation

Using magnetometer and gyroscope

Low weight given to magnetometer
• Data transmitted = step + angle
90
Angle estimation error
91
Data transmission
• Mobile node beacons top most event periodically

A static node that hears, forwards to base

Currently base assumed one hop

Mobile node overhears – implicit ack
• Multiple static nodes can forward; which one is seed?

Mobile node maintains nearest seed variable

Updated whenever implicit ack received

Reset to null after 1 second of no ack

Sent along with event data

Message considered by base if sending node = nearest node
92
Monte Carlo Localization
• Position Xk at time tk

(Px,Py)k

Modeled as p(Xk), a probability distribution for Xk
 Represented by N particles (Xki, wki), i=1..N
• Initially (k=0)

All N particles drawn uniformly from entire area
• At every locally detected step

Mobile node buffers estimated angle of movement
93
Monte Carlo Localization
• Update step

For every step event received by base (when mobile node within
range of anchor)
 Calculate Xk+1i for i=1..N
 Use Gaussian error model around the estimated angle and constant stride
length
 Update wk+1i as follows

Set to 0 if estimated position is a wall

Else set to 1
94
Monte Carlo Localization
• Correction step

If any step even occurred within range of seed node (indicated by
nearest seed variable not NULL)
 Correct wsi (i=1 .. N) for that time as follows

wsi = wsi * f(d)

d=dist(seed node, Xsi )

f(d) models probability of mobile node being at Xsi given position of
seed node
 Renormalize wsi so that they add to 1
 Resample

Get number of non zero weight particles back to N

Number of points around around Xi proportional to wi
95
Monte Carlo estimation
• At any time

Location = mean of all N particle locations

Confidence estimate = standard deviation across particles
96
Simulation model
• Topology

50m X 60m area with walls
• Motion model

Walk in a straight line

Steps drawn from random distribution

Upon hitting wall change direction randomly
• Motion detection

Step detection probability = 100%

Angle errors – Gaussian with standard deviation 10 degree
• Network

Nominal range 5m (used in distance estimation)

Transmission range uniformly distributed
 5*(1 + r) to 5*(1 – r)

Lossy
97
Sample path and map
98
Simulation parameters
• Seed density
• Number of particles
• Map availability
• Packet loss rate
• Degree of irregularity r
• Metric

Root mean square of the error along path
99
RMS estimation error Vs seed
distance

N = 500

No loss in transmissions

r=0.3
100
Max estimation error Vs seed
distance

N = 500

No loss in transmissions

r=0.3
101
Estimation error Vs N

With map

No loss in transmissions

r=0.3
102
Estimation error over time

With map

No loss in transmissions

Seed distance 10m

r = 0.3
103
Estimation error Vs r, loss

With map, seed distance 10m, N=500
104
Experimental evaluation
• Platform

Fleck mote

Atmega-128 micro-controller

915MHz radio

3 single axis gyroscopes

2 dual axis accelerometer

Magnetometer
• Topology

Office building (area not known)

9 seed nodes (5-10m apart)
105
Map (hard to read)
106
Measured latency and error
107
Experiment - summary
• Latency

Standard deviation (from 0) = 1.3

Maximum = 8 seconds
• Estimation error with map

Standard deviation (from 0) = 1.2m

Maximum = 2.5m
• Estimation error without map

Standard deviation (from 0) = 2.5m

Maximum = 5.2m
108
Comments



What value did gyroscope add?
 Not clear from analysis / simulation
 Radio error bounded by 3m
 RMS estimation error approx. 1-1.5m
 Max estimation error approx. 2.5-3m
Map is confusing
 Allowed space Vs error?
Experiments don’t tell much
109
Download