on the information to keep their group moving. In
this study, we modify this algorithm and combine it
with CSG structure. There are two phases
in the modified algorithm, the “initial phase” and the
“verification phase”.
In the initial phase, C node broadcasts its
location with packets Loc1 and Loc2 at time t1 and
t2 sequentially. As shown in Fig. 2, C node adds its
Figure 3: Verification phase.
location (x0, y0) into Loc1 and broadcasts it to all M
nodes at time t1. An M node can measure the
distance to C node d1 by TOA (Time Of Arrival)
when it receives Loc1. After t1, C node and M nodes
start moving along the directions they decided. At
time t2, C node then broadcast its location (x1, y1)
with Loc2 again and an M node measures the
distance to C node d2 when it receive Loc2. After
the above process is finished, an M node can
calculate two circles C1 and C2 by using the
coordinates (x0, y0), (x1, y1) and the distance d1,
d2. These two circles define the sets of possible
locations of an M node at t1 and t2. Because M node
can calculates it displacement vector from t1 to t2, it
can calculates a new circle C1’ by displacing C1
with the vector (v2cosβ, v2sinβ). Because both C1’
and C2 define the set of possible locations of M
node at t2, M node can get its t2 candidate locations
by calculating the intersection of C1’ and C2.
In the verification phase, each M node exchanges
its t2 candidate locations with each other by
broadcasting a VeriInfo packet. When an M node
receives VeriInfo from other one, it firstly measures
the distance to the sender, then verifies an answer
from its candidate locations by using this distance.
Finally, M node calculates a weight for the verified
answer. For example, as shown in Fig. 3 (a), M
receives a VeriInfo packet from M’. M firstly
measures the actual distance d3, and then uses d3 to
verify the most possible candidate. As shown in Fig.
3 (b), M can compose at most four sets of candidate
location by using the t2 candidate locations of M and
M’. Then M compares the distances of four
candidate sets a, b, c and d with d3 and chooses the
set which has smallest difference with d3 as the
verified answer. Then M gives this answer a weight
value by calculating the inverse of the difference of
the chosen candidate set distance and the actual
distance d3. As shown in Fig. 3 (b), the candidate set
with the distance value “a” has the smallest
difference with d3, so M chooses (x3', y3') as the
verified answer of the VeriInfo packet from M’ and
gives (x3', y3') a weight by calculating 1/|d3– a|. An
Figure 4: CSG operation procedure.
M node can choose one of its candidates and gives
the one a weight value whenever it receives a
VeriInfo. The weight value for each candidate
location is accumulated. Finally, M can get the t2
localization result by calculating the weighted mean
of its candidate locations and can also get t1
localization result by using its displacement vector
from t1 to t2 in the initial phase.
3.1.3 CSG Operation Process
The CSG operation procedure and communi-cation
protocol between CSG members are shown in Fig. 4.
In the initial of operation, CSG is firstly set to the
initial location (step 1). Then C node starts moving
with speed Vc and leads CSG to detect targets (step
2). CSG iterates step 4-14 with a period of T seconds,
this periodical process is called a “RPGM round”. In
this process, C firstly gets its GPS location Lc and
broadcast Lc with a RPGMbroadcast packet to all M
nodes (step 4-5). When an M node receives a
RPGMbroadcast (step 7), it firstly executes the
process to end the n-1th RPGM round. This process
includes the localization result determination of n-
1th RPGM round (step 8) and the conversion of the
temporary sensing records in n-1th RPGM round
(step 9). In step 9, due to that M nodes in CSG can’t
get their current locations timely, all sensing record
in n-1th RPGM round are temporarily stored as the
displacement vectors from time t
1
to the time they
detect the border of target. After the t1localization
b
a
Centralized SensorGroup procedure
1. Set initial location of CSG
2. C moves with speed V
c
3. iterate every T seconds period
4. L
c
Å GPS location of C
5. C RPGMbroadcast ( L
c
)
6. for each M do
7. Receives L
c
form C
8. Location determination
9. Records conversion
10. L
m_init
Å initial location
11. L
m_dest
ÅRandom destination
12. M moves with speed V
m
13. CSG Localization process
WINSYS 2010 - International Conference on Wireless Information Networks and Systems
38