TriopusNet: Automating Wireless Sensor Network Deployment
Download
Report
Transcript TriopusNet: Automating Wireless Sensor Network Deployment
IPSN 2012
Yu Wang, Rui Tan, Guoliang Xing, Jianxun Wang, and Xiaobo Tan
NSLab study group 2012/07/02
Reporter: Yuting
1
2
Introduction
System Model
Movement Scheduling
Evaluation
Conclusion
Goal
◦ Detect and monitor aquatic environments
◦ Diffusion profile:
Concentration contour maps
Elapsed time of diffusion
Total amount of discharged substance
Location of original source
Movement Scheduling
◦ Improve the profiling accuracy
◦ Constraints on sensor mobility and energy budget
3
System Model
◦
◦
◦
◦
Diffusion Process
MLE-based Diffusion Profiling
Profiling Accuracy Metric
Two scheduling algorithm
Experiments
◦ Validation of the diffusion model
◦ Evaluation by real data traces (on telosB) simulation
using MATLAB
◦ Impact of several factors on profiling accuracy
4
5
Introduction
System Model
Movement Scheduling
Evaluation
Conclusion
Fickian diffusion-advection model:
◦ t: time elapsed since the discharge of substance
◦ c: substance concentration
◦ D: diffusion coefficient
Characterize speed of diffusion, depend on (1) species
of solvent (2) discharge substance (3) environment
factors (ex: temperature)
◦ u: advection speed
6
Usually Dx=Dy, and Dz can be omitted
Assume some initial condition
◦ A total of A cm3 of substance is discharged at
location (xs,ys) and t=0
t>0: (x0,y0) = (xs+uxt , ys+uyt)
◦ Distance from any location (x, y) to the source:
d = d(x, y) =
◦ Concentration at (x , y): c(d,t)
Diffusion profile Θ = {x0, y0 ,α, β} (β->t, α->A)
7
Can't use Bayesian (need prior probability)
Assume constant-speed advection, then
reading of sensor i : zi = c(di , t)+bi +ni
◦ bi : bias
◦ ni : noise ~ N(0, ς2), assume {ni} are independent
◦ Takes K samples in a short time and average them,
then zi ~ N( c(di , t)+bi , σ2), where σ2 = ς2 /K
Log-likelihood:
8
=>
9
A theoretical lower bound on the variance of
parameter estimators (Θ here)
Inverse of the Fisher information matrix (FIM)
J, J =
,
is taken
over all z
= CRB(Θk)
(xi,yi): coordinates of sensor i
LX1 , LY1 are 1×N vectors
LX2 , LY2 are N×1 vectors
10
Previous works take det(J) as the metric, but it's
too problem-dependent
This paper use a novel metric based on CRB
Larger ω indicates more accurate estimation of
x0 and y0 ( Can also use CRB(α), CRB(β) )
ω is function of (x0,y0), (xi,yi), for all i
=> use estimated (x0,y0) instead
If sensors are randomly distributed around the
diffusion source => ε=0
=>
11
Introduction
System Model
Movement Scheduling
Evaluation
Conclusion
Assumption
Profiling iteration has short time duration
Problem statement: max 𝜔 s.t.
◦ Sensors move straight in each profiling iteration
◦ Moving distance is always multiple of l meters, where l is
referred to as "step"
◦ Sensor’s straight movement does not cause significant
errors
𝑚𝑖 ,𝜑𝑖
◦ M: total steps that can be allocated (in one iteration)
◦ Li: the largest distance sensor i can move (in one
iteration)
◦ l: unit of step
◦ mi: # of steps (in one iteration)
◦ φi: movement orientation (in one iteration)
◦ Complexity:
12
13
φi = ∠(∇iω)
||∇iω||: steepness of the metric ω
Proportionally allocate the movement steps
according to sensor’s gradient magnitude:
Complexity: O(N)
Fx the sensor closest to the estimated source location
Only schedule other sensors
di* = arg max ω𝑖 =
𝑑𝑖
,where
Dynamic programming algorithm:
Ω(i, m): maximum ω when the first i sensors are
allocated with m steps
14
Complexity: O((N-1)M2) ~ O(N3)
SNR-based
◦ Move toward the estimated source location to
increase SNR
◦ Complexity: should be O(N)
Simulated Annealing
◦ Given movement orientations {φi |∀i}, uses brutalforce search to find the optimal step allocation
◦ Then search for optimal movement orientations by
simulated annealing algorithm
◦ Complexity: exponential with respect to N
15
16
Introduction
System Model
Movement Scheduling
Evaluation
Conclusion
The performance of profiling are affected by
these errors (GPS, motor)
Iterative approach avoid error accumulation
◦ Sensors update their positions and report to cluster
head (in each iteration)
Average GPS error: 2.29(m)
Robotic fish speed: expect 2.5m/min when
tail beats at 23° amplitude and 0.9Hz
frequency
◦ Error not mentioned in the paper
17
18
Fig4: Simple clustering method
Nodes randomly assigns itself a cluster ID
Average of results from all clusters
12cm from the water surface
19
20
Greedy algorithm does not account for the
interdependence of sensors in providing the
overall profiling accuracy
21
10 sensors, 15 profiling iterations
Greedy and radial: curves with and without
simulated movement control and localization errors
almost overlap => no error accumulation
Radial:
better than annealing
in terms of both
time complexity
and optimality
22
The variances decrease with increasing A
Both the greedy and radial algorithms can
achieve a high accuracy
(Fig12) δ: source location bias
◦ Diffusion source appears at (δ, 0)
◦ Sensors are not randomly deployed around source
23
24
(Fig 14) Fix each di and randomly deploy sensors in
different quadrant of plane
Deployment with max ω is still an open issue
Shortest distance path from sensors to cluster head
Trace-driven simulations
◦ Nodes transmit packet to the next hop with success p = PRR
retrieved from the communication traces
◦ Nodes re-transmit the packet for 10 times before it is dropped
until success
◦ Packet to the cluster head includes:
sensor ID, current position, measurement
◦ Packet to the sensor includes:
moving orientation, distance
25
# of packet (re-)transmissions in an iteration:
mean 158, standard deviation 28
(30 sensors are randomly deployed)
Delay will be within seconds at most
26
Introduction
System Model
Movement Scheduling
Evaluation
Conclusion
Strength
◦ Reduce computation and hardware cost
◦ Real hardware implementation of lots of
mathematical model
Weakness (also their future work)
◦
◦
◦
◦
27
Cluster head needed
May not work on wavy environments
GPS and Zigbee may not work in deep water
It seems that the system can't be done in real time