3.1 Force-Based Deployment Algorithms
In this section, we classify the existing Force-based deployment algorithms into two sub-categories: Nearest Neighbour rule-based and Repulsive Force and individually discuss each of them. First, we discuss the deployment algorithms proposed under the Nearest Neighbour rule-based sub-category like those presented in other works [
1,
21,
100]. This is then followed by discussing the deployment algorithms proposed under the Repulsive Force sub-category, presented in other works as well [
30,
42,
53,
77].
3.1.1 Nearest Neighbour Rule-Based.
The distributed decision-making process that leads to coordinated movement has been seen in many animal aggregations, such as bacterial colonies, insects, fish schools, bird flocks and leadership groups of mammals and crowds [
5,
6,
12,
29,
79,
93,
96]. In a flock of birds, for instance, individual birds maintain a minimum distance from their neighbours while collectively forming a flocking-level behaviour [
2]. In some works [
39,
87,
103], the behaviour of such individual units is explored. Moreover, the observed coordinated behaviour, called
collective motion in the work of Vicsek et al. [
112] and Vicsek and Zafeiris [
113] is defined under the “nearest neighbour rule”. Based on the nearest neighbour rule, each individual in a group goes by its own decision, but the decision of where to go is affected by its neighbours’ locations [
19]. Furthermore, the behaviour of each unit is represented by a mathematical model [
103]. This mathematical model can inspire its usage in other subjects where distributed decision making is the goal of moving the particles in a group. For instance, the algorithm presented in the work of Liu et al. [
69] uses Lyapunov methods to maintain cohesion during mobile swarm movement that follows a leader even in the presence of sensing delays and asynchronism. Moreover, the stabilisation and control of the formation of mobile robots are discussed in elsewhere [
31,
37] which employ graph-theoretic algorithms for the same purpose.
A simple discrete-time model of
n moving nodes with the same speed but different angles is presented based on the animal aggregation in the work of Vicsek et al. [
112]. This model updates each node’s heading based on the local rule, which is the average of the neighbouring nodes’ headings, including itself. Despite the absence of centralised coordination, by using various simulations, it has been demonstrated that all nodes move in the same direction after some timesteps [
112]. Furthermore, to converge the sensor nodes’ movement to a desired direction in this model, a leader node with a fixed heading is considered in the group of sensor nodes [
57].
Many studies have focused on developing a mathematical model to analyse animal aggregation behaviours. For instance, the potential function theory is used to understand flocking behaviour [
63,
88]. Besides, a theory to model the motions in a fish school is presented in the work of Lopez et al. [
70]. A comprehensive review of the mathematical aspects of animal aggregation behaviour is also presented in the work of Jadbabaie et al. [
58].
The mathematical models of animal aggregation have inspired many distributed deployment algorithms in MSNs [
1,
21,
77,
100], which are discussed in this section under the Force-based category in the Nearest Neighbour rule-based sub-category. In this article we refer to these algorithms as
Triangular Blanket Coverage (TBC) [
21],
Decentralized Coverage Algorithm (DCA) [
100] and
Boundary Tracking Decentralized Control System (BTDCS) [
1], for the sake of simplicity.
The area coverage algorithm, TBC, is proposed for WSNs, which is inspired by the nearest neighbour rule in animal aggregation [
21]. The TBC moves the sensors into the requested area to make a triangular lattice pattern that fully covers the given 2D region between boundaries. The triangular lattice pattern is known as the best structure for sensor nodes’ placement, as theoretical analysis has proven that a triangular pattern placement can provide maximum coverage for the fewest number of sensor nodes and the least amount of energy consumption [
21]. In this algorithm, the sensor movements to achieve this structure are led by a decentralised control law that is introduced in the work of Cheng and Savkin [
20]. The mathematical model of animal aggregation inspires the control law that moves sensors in lines. Although the control laws result in a high coverage, the boundaries information guide the sensors’ movement and increases the coverage to full coverage. In this way, the algorithm moves every sensor in consecutive steps toward its desired place (a location on the triangular lattice) by making an average of its neighbours’ angles and coordination, and the movement calculation is also influenced by boundaries coordination. The movement of sensors at every timestep and the calculation of the next location are based on the received information from neighbouring nodes and the boundaries limitations. The complex model and the decision making, which happen in every sensor node at every timestep, make TBC a high energy consumption algorithm with high communication and computational complexity. In Figure
2, an example of the initial deployment and final deployment of sensor nodes is shown, where the area is completely covered in the final phase of the algorithm.
A more general version of the TBC algorithm, DCA, is presented in the work of Savkin et al. [
100]. Unlike TBC, the RoI in DCA is not priorly known to the sensors and has an arbitrary shape. Considering the same control law as in the work of Cheng and Savkin [
21], the asymptotic optimality of DCA is provided. In this algorithm, the sensor nodes know the requested boundary. However, there is no control to limit the number of sensor nodes at the area’s edges and sensors’ locations may also be outside of the boundary. Figure
3 depicts an example of DCA.
In the work of Ahmad [
1], the BTDCS algorithm provides full coverage for any arbitrary shape. However, in contrast to DCA, the control laws in BTDCS omit to pass the boundaries. The restriction on surpassing the boundaries decreases the necessity of extra sensors on and above the boundaries. Therefore, the number of sensors that are needed for full coverage decreases while providing full coverage. The decreased number of sensors is resulted from discarding two sensors at every horizontal grid of the area that are not necessary. Although this process requires more energy and increases the complexity of the algorithm, the reduced number of sensors can save the deployment cost. An example of the final deployment of the BTDCS algorithm applied to the same initial arrangement of Figure
3(a) is shown in Figure
4.
The modelling of animal aggregation for mobile sensor nodes is not a simple process and has its own challenges. The main challenge is that there is no global knowledge of network topology and the decision-making process should be distributedly. In a distributed network, each node needs local data processing, data fusion and data compression because it has to be able to decide individually for its location and movements [
56]. The distributed decision is also influenced by the physical constraints of mobile sensors, such as limited lifetime and communication range. Although the Nearest Neighbour rule-based algorithms provide full coverage even in intense initial deployments, the high energy consumption of every single sensor node in the network is a considerable weakness. Moreover, the single leader that converges the sensor nodes stream leads to the introduction of a single point of failure in the algorithm.
3.1.2 Repulsive Force.
In this section, the Repulsive Force algorithms as another sub-category of the Force-based category are studied. The Repulsive Force algorithms are random localisation algorithms that do not use the nearest neighbour rule. Although some of the Repulsive Force algorithms are inspired by the same natural phenomena as the Nearest Neighbour rule-based algorithms, the modelling of these algorithms is different. In this section, the Swarm-Based algorithm [
77] is discussed, followed by the
Distributed Self-Spreading Algorithm (DSSA) [
53],
Smart Self-organization Node Deployment (SSND) [
42] and the
Virtual Force Algorithm Inspired by Spring Force (VFA-SF) [
30].
The schooling behaviour of fish influenced the Swarm-Based algorithm [
77]. The local rules in the school of fish are interpreted as different forces to provide coverage in this algorithm. Every sensor node considers three forces: (1) a separation force that moves the sensor node away from its neighbouring nodes to increase the size of the swarm, (2) a cohesion force that controls the swarm’s connectivity, and (3) an alignment force that holds the sensor node aligned to its neighbouring nodes and speeds up the relocation to existing holes. Although the Swarm-Based algorithm and Nearest Neighbour rule-based algorithms [
1,
21,
100] are inspired by animal aggregation, the mathematical model in the Swarm-Based algorithm is not the same as the Nearest Neighbour rule-based category and, hence, it falls under the Repulsive Force category. Unlike the Nearest Neighbour rule-based algorithms [
1,
21,
100]. the Swarm-Based algorithm is a random algorithm and not a deterministic algorithm (i.e., sensors have fixed locations to move and full coverage is guaranteed). In random localisation algorithms, full coverage is not always achievable; however, the total distance that sensor nodes take and the energy that is used are much less than those of the deterministic algorithms.
DSSA is another Repulsive Force algorithm that is inspired by the equilibrium of molecules [
53]. The uniform distribution of molecules when they are in their lowest energy with almost the same distance from each other in the stable status, known as the equilibrium of molecules, has motivated DSSA to replicate the same behaviour to cover a required area. In DSSA, the force between any two neighbouring nodes that follows Coulomb’s law is called
partial force. Every sensor node moves to its desired location by partial forces at every timestep, independent
N sensor nodes’ movement whether they are involved in its neighbouring nodes or not. The partial force is calculated based on the current location of the sensor, the distance between the sensor and its neighbouring nodes, and the local density (i.e., the number of neighbouring nodes). Therefore, for every sensor node at each timestep, the total force is a cumulative entered force of all neighbouring nodes in its one-hop neighbourhood. As long as the condition for terminating the algorithm execution is not met, the partial force calculation procedure is carried out. In Figure
5, an example of the partial forces between
\(s_1\) and its neighbouring sensor nodes is demonstrated.
The obtained coverage of DSSA and the nature of the distributed partial force used in the algorithm make DSSA a leading approach to provide blanket coverage. However, many of the assumptions in DSSA are not feasible in realistic applications. The two major challenges of DSSA are recognised as high energy cost and latency. These are due to the fact that almost all sensor nodes move at every timestep, even if it is not necessary. Moreover, every sensor node receives obsolete location information from its neighbouring node as they report their current location while they are still moving at the same time as the report.
SSND is another proposed algorithm under the Repulsive Force sub-category, which is inspired by the equilibrium of molecules [
42]. The SSND algorithm elects a prior sensor node in each neighbourhood to avoid the unnecessary movement of all sensor nodes at each timestep. Therefore, at each timestep, only a selected number of sensor nodes move to improve the coverage.
The SSND procedure calls an eligibility function that returns an eligibility value. The eligibility value along with location and some other information are exchanged among one-hop neighbouring nodes. Afterwards, the received information composes the final entered force between the neighbouring node, as shown in Figure
5, and identifies the sensor node with the highest eligibility value in the neighbourhood. The most eligible sensor node moves to the desired location at each timestep while other sensor nodes remain in their locations. The movement of only one sensor node in each neighbourhood at every timestep ultimately distributes the sensor nodes uniformly while normalising the local density in every neighbourhood.
The SSND algorithm has developed the final percentage of coverage while reducing energy consumption. This clarifies the fact that moving only necessary sensor nodes in each neighbourhood provides not only the accurate location of the neighbouring sensor but also sufficient sensor movement to improve the coverage. However, SSND consumes more energy than those under Geometrical algorithms due to a lack of environmental information.
In the work of Mathews et al. [
77], a virtual spring force algorithm and an improved virtual spring force algorithm together with a performance evaluation method for sensor deployment algorithms in a large-scale MSN are presented. The virtual spring force moves sensor nodes based on their relative position to neighbouring nodes and the presence of an event [
124]. The goal of the proposed algorithms is to create a hexagonal structure (i.e., a triangular pattern) of the sensor node’s locations in the network, which is a known solution, as mentioned earlier. In some sub-regions, the process of calculating spring virtual forces resulted in the prior creation of a stable hexagonal structure [
77]. These sub-regions are still connected with sensor nodes as a hexagon with no exact number. However, in a large-scale network, a hollow or distorted balance is created, which is unavoidable.
VFA-SP became applicable in large-scale networks by enhancing the algorithm through adding an external force that starts from the centre of the target area. As central areas are more important to be covered than the edges of the area, the external force is added to the sensor nodes that are at the corners. The applied external force to these sensors encourages the formation of a hexagonal structure while avoiding the formation of unusual structures or holes at the early stages of the algorithm. The presented simulation results confirm the legitimacy of the algorithm’s assertation and creation of a complete hexagonal structure. However, the provided coverage is highly dependent on the precise reported locations of sensor nodes, and failure in detecting the precise location hugely affects the performance of the algorithm. Moreover, sensor nodes need to wait for an update of their neighbours’ locations before approaching the estimated location, which causes some delay in the process. Finally, different environment requirements need different initial parameters for the algorithm that are neither specified values nor relevant to previous conditions.
In summary, the Force-based deployment algorithms are costly in terms of consumed energy. However, the deployment algorithms in the Nearest Neighbour rule-based sub-category guarantee full coverage if there is no failure in the system due to the existence of a single leadership cluster in the network. In the Repulsive Force sub-category, unlike the Nearest Neighbour group, sensor nodes can freely move in the area with less energy consumption while being more robust to system failure due to losing one or more sensor nodes.
3.2 Geometrical Deployment Algorithms
Several algorithms have been proposed under the Geometrical deployment category over the past decade, which all are Voronoi-based algorithms. In this section, an overview of them (i.e., those presented in other works [
73,
75,
115,
116] are discussed.
Voronoi-Based algorithms. In this section, an introduction on the Voronoi diagram is presented, followed by related node deployment algorithms. These algorithms are Minimax [
116], the VEDGE algorithm [
75] and VEVF [
73].
An MSN contains a set of sensor nodes,
S, where
\(S=\lbrace s_1,s_2,\ldots ,s_n | n \in \mathbb {N} \rbrace\) . In Voronoi-based algorithms, every sensor node,
\(s_i \in S\) , forms its own territory of the area called the
polygon cell, where every point of that area is closer to
\(s_i\) than any other sensor nodes in the network [
8]. All of these polygon cells together form a structure called the
Voronoi diagram. In Figure
6, an example of a Voronoi diagram is shown. The plus signs present the locations of the sensor nodes, which are surrounded by lines that show the edges of the polygon. For example, the sensor node
\(s_i\) at location
\(p_i(x_i,y_i)\) is inside Voronoi cell
\(G_i=\lt \mathcal {V}_i,\mathcal {E}_i\gt\) , where selected points
\(\mathcal {V}_1 = \lbrace v_1,v_2,v_3,v_4\rbrace\) present the vertices of the
\(s_1\) polygon while
\(\mathcal {E}_1 = \lbrace e_{12},e_{23},e_{34},e_{45}, e_{51}\rbrace\) define the edges of this polygon.
A Voronoi-based iterative algorithm, Minimax, is proposed to provide full area coverage [
116]. In this algorithm, sensor nodes broadcast their locations and create their Voronoi cells based on the obtained locations from their neighbouring nodes in every timestep. If there is any coverage hole after examining the Voronoi cell, the new location for the sensor is calculated by itself to cover that hole. In the Minimax algorithm, sensor nodes choose their desired location inside their Voronoi cell, which is not too far from each of the Voronoi cells’ vertices. Therefore, when sensor nodes are distributed uniformly, every sensor node has a minimum distance to its farthest vertex; hence, as calculated in the algorithms presented elsewhere [
81,
109,
118], the desired location of every sensor node is the centre of the smallest enclosing circle of its Voronoi cell’s vertices.
Sensor nodes can only move if their movement increases their local coverage (i.e., Voronoi cell coverage) according to the Minimax algorithm. Therefore, based on the movement adjustment heuristic, sensor nodes terminate the algorithm if they cannot provide higher local coverage. Based on the Voronoi diagram attributes, the increase of coverage in one polygon increases the total area coverage. Therefore, the sensors will stop when the coverage of any polygon can no longer be increased [
116]. Moreover, the reduction in the variance of distances to the Voronoi vertices results in a more uniform formed Voronoi polygon, which the sensor node efficiently covers [
116]. Although the Minimax algorithm increases the final coverage, the performance of the Minimax algorithm is not efficient for certain network configurations. For example, if a sensor is located near a narrow edge in its Voronoi cell, the sensor does not move that much. Therefore, the existing coverage hole is not repaired.
A new combination of the Voronoi-based algorithm, VEDGE, is suggested in the work of Mahboubi et al. [
75], to overcome the limitations of vertex-based algorithms, like Minimax, that are not suitable in some configurations to provide full coverage. VEDGE is a combination of Minimax (as a vertex-based algorithm) and Maxmin-edge (as an edge-based algorithm) [
75]. For every sensor in every iteration of the algorithm, there are two points to move to: one point is based on the Minimax algorithm, and the other one is based on the Maxmin-edge algorithm. The new location of the sensor at every timestep is the one that provides better coverage. The VEDGE process continues until there are no more sensors to move to any new locations. Although the VEDGE algorithm provides better coverage, the complexity of finding a new location is still high, in addition to the high energy consumption and the number of movements. Moreover, its performance is not efficient for certain network configurations [
73].
In another Vornoi-based algorithm (VVF) [
73], virtual forces are used to find the target location of sensor nodes in the Voronoi cell. Unlike the virtual forces that are proposed under the Force-based category, which are applied from sensors, the virtual forces here are applied from the Voronoi cells’ vertices. There are two types of entered force: pull and push. The type of force is defined by using the distance between the sensor node and every vertex. If the distance is higher than the sensing range, the vertex force pulls the sensor towards itself, and otherwise it pushes the sensor away. Finally, at every timestep, every sensor node moves towards a point in its cell, which is the ending point of the resultant virtual force vector (i.e., the cumulative vector of all entered virtual forces).
Although the VVF algorithm is quite effective in many scenarios, it is not an adequate solution for some specific sensor configurations. For example, in Figure
7, the Voronoi cell of sensor
S is shown while the sensing range of
S is the circle around it. The point
A is inside the Voronoi cell which is the ending point of the resultant virtual forces from the Voronoi cell’s vertexes. The coverage in the current cell can be further extended by moving the sensor node towards the up-left direction. The VVF algorithm though mandates the sensor node to move to point A that is in opposite direction of the desired location. However, this movement would not even happen due to the existence of the explained movement adjustment scheme.
The VVF algorithm limitations are discussed in the same paper while proposing an edge-based method, the EVF algorithm, to overcome these shortcomings [
73]. The total virtual forces applied from the edges of each Voronoi cell resulted in the movement of each sensor in the EVF process. The EVF virtual forces operate the same as those of VVF except that they are entered from the edges of its Voronoi cell. Therefore, like the VVF, the EVF algorithm has limitations in some configurations. For instance, in Figure
8, EVF virtual forces choose the point
A for the sensor to move based on the entered virtual forces from the edges of the Voronoi cell, which is against the direction of the desired location of the sensor.
Inspired by VVF and VEF algorithms, a new algorithm, called
VEVF, was proposed in the work of Mahboubi and Aghdam [
73]. Every sensor node in every iteration of VEVF runs both VEF and VVF algorithms at the same time after creating its Voronoi cell and finds two points to move. Afterwards, the VEVF algorithm chooses the point which provides more coverage in the Voronoi cell as the selected point at every timestep. Therefore, by taking advantage of calculating one point by each algorithm, the VEF limitations are recovered by the VVF algorithm and vice versa. Although VEVF obtains full coverage in most of the configurations without VEF and VVF limitations and is a pioneer in Voronoi-based algorithms, the complexity of the algorithm is much higher compared to those of other algorithms. Moreover, all Voronoi-based algorithms, including VEVF, can only operate with a relatively high communication range, as the constructed Voronoi diagram with a short communication range is not accurate.
In summary, the energy consumption of Voronoi-based algorithms is less than those of other proposed deployment algorithms in other categories. However, the Voronoi-based algorithms are highly dependent on the initial location of sensor nodes in general, and a compact initial deployment does not normally provide an evenly distributed final coverage. Besides, the Voronoi cell creation process in each sensor node is computationally substantial with the necessity of a broader communication range compared to that of the other category. The features of Nearest Neighbour rule-based, Repulsive Force and Voronoi algorithms are summarised in Table
2.