III. Distributed Algorithms for Guiding Navigation across a Sensor

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
repulse force
attractive force
Areas of detected dangerous
events in a (100,100) grid
Artificial potential field
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 1
1.
2.
Broadcast of initial potential value (max) from source
sensors detecting danger
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 = 1 2
hop

3.
Potential values from all sources are added up at each sensor i
Flooding of received potential values with updated hop
distance at each hop
Algorithm 1: Potential Field
(1)
Source ID= B
(2)
Potential =
Hop count=0
1
hop 2
EX:
hopB=hop+1 = 0+1=1
potB=1/(hopB)2=1
Node ID Potential
potC= potC+ potB=0+1=1
(A , 0)
(B , 0)
(C , 0)
(D , 0)
(E , 0)
(F , 0)
(D , 0)
(E , 0)
(F , 0)
(D , 0)
(E , 1)
(F , 0)
(G , 0)
(H , 0)
(I , 0)
(G , 0)
(H , 0)
(I , 0)
(G , 0)
(H , 0)
(I , 0)
(B , 0)
(C , 0)
fire
goal
goal
(a) Initial phase
(A , 1)
(A , 0)
(A , 1)
goal
(b) one-fire event detected
(B , max) (C , 1)
From node C:
(B , max) (C , 1)
(c)
(A , 1)
(B , max)
(C , 1)
(E , 1)
(F , 1/4)
(H , 1/4)
(I , 1/9)
hopB(C)=hop(C)+1 = 1+1=2
(D , 1/4)
(G , 0)
(E , 1)
(F , 1/4)
(H , 1/4)
(I , 0)
potB(C)=1/(hopB(C))2=1/4
From node E:
hopB(E)=hop(E)+1 = 1+1=2
potB(E)=1/(hopB(E))2=1/4
(D , 1/4)
(G , 0)
goal
goal
(d)
potC= potC+ min(potB(C), potB(C))= 0+1/4=1/4
(d) Final
Example : Two Fire Event
(A , 1)
(B , max)
(A , 1)
(C , 1)
(B , max)
EX:
(C , 1)
hopI=hop+1 = 0+1=1
(D , 1/4)
(G , 0)
(E , 1)
(H , 1/4)
(F , 1/4)
(E , 1)
(D , 1/4)
(I , 1/9)
(G , 0)
potI=1/(hopI)2=1
(F , 5/4)
potF= potF+ potI=1/4+1=5/4
(H , 5/4)
(I , max)
goal
goal
(a)
(A , 1)
(D , 1/4)
(G , 0)
(b)
(B , max)
(C , 5/4)
(A , 1)
(E , 5/4)
(F , 5/4)
(D , 13/36)
(H , 5/4)
(G , 0)
(B , max)
(C , 5/4)
(E , 5/4)
(F , 5/4)
(H , 5/4)
(I , max)
(I , max)
goal
goal
(c)
(A , 17/16) (B , max)
(D , 13/36)
(E , 5/4)
(G , 0)
(H , 5/4)
(F , 5/4)
(I , max)
goal
(d)
(C , 5/4)
(d)
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.
2.
Broadcast an initialization potential value from the goal sensor
G
Update each neighbor’s potential value to G

A sensor i’s potential value to G is the minimum sum of the
potential value potk (established through Algorithm 1) of all nodes
on a path from g to I
Pg i  
3.


pot k
kp
all path p from g to i
all
node

min




Flooding the potential value to G to the whole network with
updated hop distance at each hop
Algorithm 2: Potential Integration Field
(A , 1)
(B , max)
(C , 1)
1/4
(D , 1/4)
(G , 0)
(E , 1)
(F , 1/4)
(H , 1/4)
(I , 1/9)
1/4
goal
(G,G,0,0)
PG = received potential + potH =
0+1/4 = 1/4
(b)
goal
(a) Potential field
EX:
Goal ID
Sender ID
Hop count
Potential
Algorithm 2: Potential Integration Field
5/4
1/4
1/4
5/4
EX:
1/4
1/4
goal
PG = received potential + potI =
1/4+1/9 = 13/36
goal
(b)
13/36
(c)
58/36
5/4
5/4
EX:
1/4
5/4
22/36
1/4
From node I : 13/36 + 1/4 = 22/36
5/4
22/36
From node E: 5/4 + 1/4 = 6/4
1/4
13/36
1/4
PG = min( 22/36, 6/4) = 22/36
goal
goal
(d)
(e)
13/36

Algorithm 2:

Established potential field to target location:
goal
Artificial potential field
established by Algorithm 1
Potential field to goal (80,20)
established by Algorithm 2

Algorithm 3: guide the moving object to the
goal G



The moving object queries the nearby sensors
with the goal G
Sensors respond with their potential to G (PG), the
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 from a neighbor and only keep the links with
high frequency
Reducing the flooding message

Solution: each sensor wait for sometime before rebroadcasting 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 object
Since the potential Pg at sensor i is actually




Pg i  
min
pot

k 
all path p from g to i
 all node kp



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.

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



S1

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
1-e(-N) ~ N as N0
S1

R=2
l-E[l’]
R=1
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) with
transmission range at 9 inch
TinyOS operating system
Sensing units:

A photo sensor, a power sensor, and a sound sensor
obstacle
goal
1.
2.
1
Time for a source to send the obstacle info to the whole network
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
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.