Post on 21-Dec-2015
Distributed Algorithms for Guiding Navigation across a Sensor Network
Qun Li, Michael DeRosa, and Daniela Rus Dartmouth College
MOBICOM 2003
Issue Find an optimal path to guide a user
through a region or to a goal, and avoid dangerous area through cooperation among sensors
Sensors in dangerous area
Overview of the proposed solution
Basic idea Model detected dangerous events as
obstacles in dynamic robot motion planning problem
Static robot motion planning problem Guiding a robot from a source to a destination
location while avoiding all encountered obstacles Dynamic robot motion planning :
Dynamic path planning is required when only partial a priori information is available about the obstacles, and the environment is unpredictable and time-varying
Overview of the proposed solution
Apply potential field theory to the navigation problem The goal has the lowest potential to attract moving object
(attractive force) Obstacles (area with detected danger) raise potential values to
repulse moving object (repulse force) Moving object follows the gradient of the artificial potential
field (from high potential level to low potential level) Design issue: local minima
Some specific types of potential function, e.g., harmonic function, are used to avoid local minima
Artificial potential fieldAreas of detected dangerous events in a (100,100) grid
attractive force
repulse force
Algorithm Algorithms to solve the navigation problem
Algorithm 1: establish potential field according to the detected dangerous events in the network
Algorithm 2; establish potential integration field toward the goal
Guarantee no local minimal Algorithm 3: guide moving object’s next step
movement based on gradient of the potential field established through Algorithm 2
Assumption Distance between sensors are measured
through hop-count The moving object is equipped with a device
that can talk to the field sensors The moving object queries the nearby sensors for
next moving direction periodically Sensors know their location All sensor has the same transmission range R Sensors detect information of dangerous event
in the area they cover E.g. a sensor detect high temperature caused by fire
in the nearby area
Algorithm 1: Potential Field
Algorithm 1: establish an artificial potential field based on detected dangerous events
Three steps of Algorithm 11. Broadcast of initial potential value (max) from
source sensors detecting danger2. Update of received potential values at the
neighbors based on hop distance to the source The potential value received at sensor i from a source j is inverse of
the square of the shortest hop distance from i to j Potential =
Potential values from all sources are added up at each sensor i
3. Flooding of received potential values with updated hop distance at each hop
2
1
hop
Algorithm 1: Potential Field
(a) Initial phase
Potential
(A , 0)
(b) one-fire event detected (c)
(d)
Source ID= B Hop count=0
Node ID
(B , 0) (C , 0)
(D , 0) (E , 0) (F , 0)
(G , 0) (H , 0) (I , 0)
(A , 0) (B , 0) (C , 0)
(D , 0) (E , 0) (F , 0)
(G , 0) (H , 0) (I , 0)
goalgoal
fire
(A , 1) (B , max) (C , 1)
(D , 0) (E , 1) (F , 0)
(G , 0) (H , 0) (I , 0)
goal
(1)
(2)
EX:
hopB=hop+1 = 0+1=1
potB=1/(hopB)2=1
potC= potC+ potB=0+1=1
Potential =2
1
hop
(A , 1) (B , max) (C , 1)
(D , 1/4) (E , 1) (F , 1/4)
(G , 0) (H , 1/4) (I , 0)
goal
From node C:
hopB(C)=hop(C)+1 = 1+1=2
potB(C)=1/(hopB(C))2=1/4From node E:hopB(E)=hop(E)+1 = 1+1=2potB(E)=1/(hopB(E))2=1/4
potC= potC+ min(potB(C), potB(C))= 0+1/4=1/4 (d) Final
(A , 1) (B , max) (C , 1)
(D , 1/4) (E , 1) (F , 1/4)
(G , 0) (H , 1/4) (I , 1/9)
goal
Example : Two Fire Event
(a)
(A , 1) (B , max) (C , 1)
(D , 1/4) (E , 1) (F , 1/4)
(G , 0) (H , 1/4) (I , 1/9)
goal
(b)
(A , 1) (B , max) (C , 1)
(D , 1/4) (E , 1) (F , 5/4)
(G , 0) (H , 5/4)(I , max)
goal
EX:
hopI=hop+1 = 0+1=1
potI=1/(hopI)2=1
potF= potF+ potI=1/4+1=5/4
(c)
(A , 1) (B , max) (C , 5/4)
(D , 1/4) (E , 5/4)
(F , 5/4)
(G , 0) (H , 5/4)(I , max)
goal
(d)
(A , 1) (B , max) (C , 5/4)
(D , 13/36) (E , 5/4)
(F , 5/4)
(G , 0) (H , 5/4)(I , max)
goal
(d)
(A , 17/16) (B , max) (C , 5/4)
(D , 13/36) (E , 5/4)
(F , 5/4)
(G , 0) (H , 5/4)(I , max)
goal
Algorithm 2: Potential Integration Field
Algorithm 2: establish potential integration field according to the attraction potential values from the goal G Basic steps of Algorithm 2
1. Broadcast an initialization potential value from the goal sensor G
2. Update each neighbor’s potential value to G A sensor i’s potential value to G is the minimum sum of the p
otential value potk (established through Algorithm 1) of all nodes on a path from g to I
3. Flooding the potential value to G to the whole network with updated hop distance at each hop
pkkg potiP
node alli tog from ppath all
min
Algorithm 2: Potential Integration Field
(a) Potential field
(A , 1) (B , max) (C , 1)
(D , 1/4) (E , 1) (F , 1/4)
(G , 0) (H , 1/4) (I , 1/9)
goal (b)
goal
Goal ID Sender ID Hop count Potential
(G,G,0,0)
EX:
PG = received potential + potH =
0+1/4 = 1/4
1/4
1/4
Algorithm 2: Potential Integration Field
(b)
goal
1/4
1/4
(c)
goal
1/4
1/4EX:
PG = received potential + potI =
1/4+1/9 = 13/36
13/36
5/4
5/4
(d)
goal
1/4
1/4
13/36
5/4
5/4
EX:
From node I : 13/36 + 1/4 = 22/36
From node E: 5/4 + 1/4 = 6/4
PG = min( 22/36, 6/4) = 22/36
22/36
(e)
goal
1/4
1/4
13/36
5/4
5/4
22/36
58/36
Algorithm 2: Established potential field to target
location:
Artificial potential field established by Algorithm 1
Potential field to goal (80,20) established by Algorithm 2
goal
Algorithm 3: guide the moving object to the goal G The moving object queries the nearby sensors w
ith the goal G Sensors respond with their potential to G (PG), t
he predecessor priorG, and the hop distance to G (hopG)
The moving object chooses the location of priorG with minimum PG and hopG as the next step
First choose based on minimum Pg, then use minimum hopg to break ties
Improvements to the basic algorithms The basic algorithms assume bi-directional links (e.g.
the reverse link to priorg) Solution: each sensor purges unidirectional communication
links Sensors keep history of how frequently they receive messages f
rom a neighbor and only keep the links with high frequency Reducing the flooding message
Solution: each sensor wait for sometime before re-broadcasting a message out in algorithm 1 and 2
Since only the message with minimum hop distance in Algorithm 1 and the message with minimum potential value to g in Algorithm 2 are necessary to be re-broadcast, allow sensors to wait for the “minimum” message will reduce the message flooding
Validation of correctness There is no local minima that will stuck the obje
ct Since the potential Pg at sensor i is actually
Proof: for any node k other than g, suppose prior(k) is the sensor that is the predecessor on the minimum path from g to k, Pg = Pprior(k) + potk, where potk> 0. Therefore, for any node k, there at least exist a neighbor prior(k) that has a lower potential to g.
pkkg potiP
node alli tog from ppath all
min
Error in distance measurement Assumption used in the algorithm: hop distance =
physical distance
Analysis model Assume that the neighboring sensor that can
make the most progress toward the destination is chosen to be the next hop for routing.
Suppose the sensors are deployed as two-dimensional Poisson distribution with density
Goal : Find the average progress in each hop See the figure below, assume S is the sender and D
is the destination node. The area
Probability for a sensor at location A to be chosen as the next hop
(1) there is no node to the right of A P1 = probability that no sensors exist in S1 (2) There must be at least one node in that
square area P2 = probability that at least one sensor exist
at location A
S1
S1
1-e(-N) ~ N as N0
R=2
R=1
l-E[l’]
Experiment results Experiment configuration
Mote MOT300 series Atmel ATMEGA103 (4Mhz, 128KB memory, and 4K
RAM) processor 4Mbit flash memory (storage) RF Monolithic 916.50Mhz transceiver (TR1000) wit
h transmission range at 9 inch TinyOS operating system Sensing units:
A photo sensor, a power sensor, and a sound sensor
obstacle
goal
1. Time for a source to send the obstacle info to the whole network
2. Time for all the sensors to obtain the shortest distances to dangerous sources
3. Time to send the goal info to the whole network
4. Time for all sensors to find their safest paths to the goal
1 2 3 4 1 2 3 4
The response time : the period from the time when the topology change occurs to the time when the user finds the path to the goal.