3.1. Field establishment
Establishment of the target area is one of the important issues to execute MSNS. When mobile sensor network is established for various applications, the number of terrains is as many as the number of applications. Therefore, MSNS uses the method of establishing field where mobile sensor network is to be formed and based on such terrain, selecting target area that requires observation.
MSNS uses the GML [11–14] to establish field that includes obstacles. Since the GML is the standard for geospatial data, it has the high compatibility and is convenient for configuring field. And as the GML contains the coordinate information, it is possible to utilize the information to calculate the actual coordinate information of mobile sensors that estimate the locations of each other based on the relative coordinates. In the GML, factors that can be obstacles such as building are written mostly with polygon. Therefore, MSNS sets the polygon of the GML as an obstacle and processes it.
3.2. Coverage of MSNS
Another important issue to implement the MSNS is the moving technique for mobile sensors. The mobile sensors are required to maintain a given connectivity, avoid obstacles, and maximize coverage in the target area. Therefore, this article suggests the coverage method that adds the obstacle avoidance method to the constrained coverage method that maximizes coverage while maintaining the given connectivity [8, 15].
The method has preconditions as follows. First, the method is based on the binary model that mobile sensors sense the target within the sensing range at the rate of 100% but cannot sense the target out of the sensing range. Second, all of the mobile sensors have the equal sensing distance (Rs) and the equal communication distance (Rc). Third, mobile sensors have the method to determine their location in order to calculate virtual force. Lastly, the method does not take into consideration distortion of sensing range and communication range of mobile sensors due to waves reflected by obstacles.
Based on the potential filed method [6] frequently used for movement of robot in mobile robotics, the three virtual forces such as Fcover, Fdegree, and Fobstacle are used for movement of mobile sensors. In order to maximize coverage, mobile sensors are basically required to have a certain distance from one another to ensure that their sensing range is not overlapped with others. Fcover is the force with which mobile sensors push against one another to maximize the sensing range in the target area. Fcover(i, j) means the force that the sensor S
i
takes from the neighboring sensor S
j
during the unit time, which is expressed in Equation (1).
(1)
In Equation (1), x
i
and x
j
represent the locations of sensors s
i
and s
j
while Δ
ij
means the Euclidian distance of sensors s
i
and s
j
. And Ccover is the constant that means force of field.
In mobile sensor network, the mobile sensor that senses the information that requires observation in the target area uses the connection between mobile sensors in order to send the collected information to sink node. In this case, if a parent sensor on the path that is used to send information to one sink node loses connection for reasons such as failure or malfunction, a child sensor uses an alternative sensor that exists within its communication distance to form a new path. This local connectivity influences the entire connectivity [3]. In addition, sensors are required to maintain communication with a certain number or more of their neighboring sensors in order to deploy numerous mobile sensors in the target area with some sensors in the active state and others in the sleep state, which aims at increasing lifetime of the network [16].
Fdegree is the force that is exerted by mobile sensors to keep the number of given neighboring sensors at the degree K. Figure 1 shows deployment of sensor nodes in case of K = 3. If the number of neighboring sensors is larger than K that should be kept, Fdegree does not take place, and sensors become distant from each other due to Fcover. The sensors become more distant gradually to maximize coverage, and if the number of neighboring sensors is equal to a given degree K, Fdegree takes place. As a result, a sensor draws its neighboring sensors to keep the number of neighboring sensors at the given degree K. Fdegree(i, j) means the force that the sensor S
i
takes from its neighboring sensor S
j
during the unit time, which can be expressed in Equation (2).
(2)
where Rc means communication distance while Cdegree is the constant that means force of field. Mobile sensors in MSNS are required to maximize coverage, maintain the given connectivity and avoid obstacles. To this effect, this article defines Fobstacle.
It is assumed that mobile sensors are equipped with 16 supersonic wave sensors (sender = 8, receiver = 8) in order to obtain Fobstacle. Figure 2 shows that supersonic wave sensors locate obstacles. It is assumed that if supersonic wave distance (Rw) is determined and a sensor detects obstacle within the distance of Rw, the sensor with sensing range of Rw is located in the point that is two times of the distance between the obstacle and the sensor. Fobstacle is calculated in the same way as Fcover in order to maximize the range of Rw. Fobstacle(i, k) takes place between the sensor node S
i
and the obstacle o
k
during the unit time, which can be expressed in Equation (3).
(3)
where o
k
is the location of obstacle while Δ
ik
is the Euclidian distance between mobile sensor and obstacle, and Cobstacle is the constant that is caused by obstacle.
Fcover, Fdegree, and Fobstacle are used to calculate the total virtual force F that mobile sensor S
i
takes during the unit time, which is expressed in Equation (4).
(4)
Mobile sensors continue to move at a constant speed if only Fcover, Fdegree, and Fobstacle are considered. The virtual force Fdamper, which needs to stop sensors from continuous movement, is defined as in Equation (5).
(5)
where σ is damper constant while vcurrent is moving speed of the current sensor. Fdamper is calculated based on the damper constant and the moving speed of the current node as shown above. For application of Fcover, Fdegree, and Fobstacle, it is required to calculate Ccover, Cdegree, and Cobstacle that are used for calculating each force. Mobile sensors push against each other to maximize coverage. And when the distance between them is 2Rs, the coverage becomes the highest. In other words, when the distance between the two sensors is 2Rs, Fcover does not take place between them, which is expressed in Equation (6). And Ccover can be calculated.
(6)
In a similar way, when the distance between obstacle and sensor is Rs, Fobstacle does not take place to sensor, which is expressed in Equation (7). And Cobstacle can be calculated.
(7)
Sensors move due to Fcover, Fdegree, and Fobstacle. And there exists a moment when such forces reach the static equilibrium and the forces become zero (Equation 8).
(8)
(9)
(10)
(11)
In this case, μ is a safety factor, and the range of value is 0 < μ < 1. If the value becomes close to 1, sensors are readily disconnected. This equation is used to calculate Cdegree.
The calculated force F that one node takes per unit time can be used to calculate acceleration of mobile sensor and to calculate speed by using the acceleration value. And lastly, it is possible to calculate the next location that sensor moves to (Equations 9-11). The coverage technique algorithm in MSNS is shown as follows.
Algorithm 1. MSNS coverage algorithm
-
1:
While (MNS is playing)
-
2:
get neighbor nodes of current node;
-
3:
for each neighbor node do
-
4:
get Fcover & Fobstacle;
-
5:
end for
-
6:
if # of neighbor node < = K then
-
7:
for each neighbor node do
-
8:
get Fdegree;
-
9:
end for
-
10:
end if
-
11:
sum virtual force F;
-
12:
calculate acceleration;
-
13:
calculate velocity;
-
14:
calculate next location;
-
15:
if next location is contained in obstacle or outside of target area then
-
16:
next location sets current location;
-
17:
end if
-
18:
end while