Chapter 5 Longterm area coverage and radio relay positioning using swarms of UAVs
\chapterauthorF. Benedetti Singular Perception s.r.l, benedetti.floriana@gmail.com
\chapterauthorA. Capitanelli Teseo s.r.l., alessio.capitanelli@teseotech.com
\chapterauthorF. Mastrogiovanni Universiy of Genoa, fulvio.mastrogiovanni@unige.it
\chapterauthorG. Vercelli University of Genoa, gianni.vercelli@unige.it
AUTHORS
Floriana Benedetti, Singular Perception s.r.l., benedetti.floriana@gmail.com
Alessio Capitanelli, Teseo s.r.l., alessio.capitanelli@teseotech.com
Fulvio Mastrogiovanni, Universiy of Genoa, fulvio.mastrogiovanni@unige.it
Giasnni Vercelli, University of Genoa, gianni.vercelli@unige.it
5.1 Introduction: Problem and Background
Unmanned Aerial Vehicles (UAVs) are becoming increasingly useful for tasks which require the acquisition of data over large areas. Despite that, many realworld scenarios still offer significant challenges due to communication issues and high costs. The coverage problem, i.e., the problem of periodically visiting all subregions of an area possibly at a given frequency, is especially interesting because of its practical applications, such as surveillance, agricultural operations and continuous, longterm monitoring of areas hit by a natural disaster. We focus here on this last scenario, considering that in the case of events such as earthquakes, floodings or hurricanes, aerial coverage could help search and rescue teams to locate victims and assess the evolving state of the surrounding buildings and infrastructures.
On the one hand, it is important to highlight the specific issues that set first response apart from other coverage and exploration applications, and why this is a challenging problem given the current state of the art. First of all, in this application the main interest lies in efficient longterm patrolling of a given area (Requirement R1), whose map is supposed to be at least roughly available. This contrasts with the more popular exploration problem, where the focus is exactly on obtaining such a map as quickly as possible. On the other hand, with respect to most commercial aerial coverage applications in the field of agriculture and surveillance, a hypothetical swarm of UAVs should be able to communicate back to the base station the gathered data in real time, without relying on preexisting infrastructure (R2). Furthermore, it should be robust to changes in the environment (R3) and to other technical difficulties, which naturally arise in longterm operations and cannot be reasonably foreseen before the mission starts, such as a UAV needing to recharge or experiencing a fault (R4).
In such a scenario, R1 is implicitly solved by employing a coverage algorithm with one or more UAVs, while it is possible to satisfy R2 by adopting several supporting drones acting together as a signal relay chain to the base station. It is noteworthy that relay positioning has already been successfully employed to increase the effective communication range of mobile robots, route the signal around obstacles and drive down operation cost as smaller, simpler UAVs can be used rather than more expensive models. Despite this approach being common in exploration scenarios [1] [2], to the best of our knowledge it has not been employed in coverage applications so far. Finally, R3 and R4 can be addressed using online coverage algorithms able to dynamically react to a changing environment, instead of relying on offline methods usually adopted in most coverage applications. Yet, a system of this sort can be defined only as a naïve simultaneous coverage and relay positioning system, as it suffers from an evident problem, i.e., the growing number of UAVs which are not directly participating to the task at hand but are uniquely useful to support communication, something that effectively limits the overall system’s efficiency.
In this Chapter, we propose an approach to greatly mitigate this issue by involving the supporting UAVs directly into the coverage process, in such a way that a drone acts in autonomy while the rest of the swarm provides a robust relay chain with the base camp and simultaneously help in the coverage operation, leading to real simultaneous coverage and relay positioning.
Obviously enough, the conceptual framework described in this Chapter can be applied to any sort of mobile robots, but we will focus on the UAVs example given their suitability to face natural disasters, as they allow for quickly acquiring highly informative data from a given height, and are able to fly over areas potentially unreachable to ground robots or first responders in the case of a catastrophic event.
Throughout the Chapter, we will assume that a swarm of drones is tasked to repeatedly fly over an area just struck by a catastrophic event, in order to collect data about the environment and possibly locate survivors in need for help as they leave the buildings hit by the disaster. An indicative map of the area may be available, either from prior knowledge of the environment or acquired by the very same swarm in a preliminary exploration mission. The available map is then discretized into nodes with a suitable resolution, each linked to the reachable neighboring nodes through edges to form a connected graph. The available UAVs will travel from node to node, trying to keep the average number of node visits as homogeneous as possible, but also taking into account communication concerns. The system should be able to be robust to any of the UAVs going missing or being unable to operate, as a drone can: (i) lose connection with the swarm due to unforeseeable reasons, (ii) need to leave the swarm due to technical difficulties, either temporarily or permanently, (e.g., low battery, hardware faults), and (iii), be still part of the swarm but unable to leave the current node, as it is busy with a secondary task (e.g., offering assistance to or communicate with survivors, gathering specific data). In these pages we present an algorithm to deal with such events, we develop an architecture employing it and simulate its behavior in a Gazebo simulation with real UAVs’ software in the loop. Finally, we compare our results to the case where a single drone is tasked to cover the area while the others only offer communication support (i.e., the naïve case). As we will see in the Conclusions, the proposed approach is able to provide a sensible improvement in coverage time compared to the reference method, with just a small hit on the average communication cost and barely affecting the worstcase communication cost. We conclude that such system can be deployed to swarms of UAVs already operating in the aforementioned mode in order to improve its performance.
5.2 State of the Art
As discussed above, the main idea underlying this Chapter is to jointly treat two distinct problems in the literature, namely area coverage and relay positioning. While both problems have been widely faced in the literature singularly, no technique has been formalized to achieve a functional tradeoff between the two, similarly to what has been previously done with simultaneous exploration and relay positioning [3]. In this Section we will discuss the current advancements in both fields and present tools that can be used to address the issue at hand.
5.2.1 Coverage
The problem of coverage is defined as the problem of sweeping a given area with the highest possible efficiency, i.e., being able to visit each point in that area with a possibly constant frequency that is as high and as homogeneous among all the nodes as possible. It is clear that this is very different from the more common shortestpath problem, where one is mainly interested in finding the minimum cost trajectory between any two points. Despite that, coverage also has a large number of important applications, ranging from harvesting [4] to mine hunting [5], and this is why a multitude of algorithms have been proposed in the past. Historically, these algorithms are categorized in two ways: heuristic vs. complete [6] algorithms, and online vs. offline [7] algorithms. According to such classification, we define as complete only the algorithms which can be mathematically proven to obtain complete space coverage [8], while we define as heuristic the others, as in [9]. The second classification instead is more complex than it appears at first sight, due to its practical implications in certain applications:

Online methods do not perform calculations offline based on a priori knowledge, instead they periodically determine at runtime the next best action to achieve coverage based on current environmental knowledge and sensor input. The most famous example is given by Real Time Search [12].
Historically, offline methods have been the preferred choice in most cases, as the majority of the coverage applications happens to deal with mostly static environments, for example large fields in either agricultural or security applications [13], as well as with very structured environments, like perfectly known surfaces in painting applications [14]. In the case presented here though, online methods are the preferred choice as they overcome some limitations of offline methods, which are clearly in contrast with the requirements of the proposed scenario:

it is not possible to assume perfect a priori knowledge of the environment in the event of a disaster;

it is computationally expensive to precompute or recompute a strategy for large areas under optimality constraints;

offline algorithms exhibit very low tolerance to unpredictable event, as they cannot be taken into account when the strategy is computed offline.
As a notable consequence to the last point, offline methods strongly depend on every single UAV part of the swarm, as they assign to each UAV a list of nodes to visit. If that UAV is busy, missing or otherwise unable to act, that would cause a major failure of the system.
Online coverage algorithms obviously pose a greater challenge to ensure efficient operations with multiple UAVs compared to offline ones. As an example, it is often necessary to make a number of assumptions about which knowledge can be shared among UAVs, something that is not necessary if the whole strategy is computed offline. Examples of algorithms employed in the online multiagent case are Node Count [15], LRTA* [15], Edge Counting [16] and PatrolGRAPH* [17]. While it is not surprising to know that increasing the number of UAVs generally leads to better coverage performance, it should be noted that more complex algorithms that may expand the single agent case, can be overtook by simpler algorithms in the multiagent case [18]. As an example, Node Count [19] is the simplest algorithm among the cited ones, but also the one that performs better in comparative benchmarks [18]. It fundamentally consists in maintaining a database of the number of times each node has been visited, share it among the agents, and let each agent move toward the neighboring reachable node with the lowest score. In the following Sections we show how this idea can be used to achieve simultaneous relay positioning and area coverage.
5.2.2 Relay Positioning
Optimal relay positioning is a widely explored problem in the telecommunication field, where it is used to place antennas in a given area to provide robust wireless connection [20][21]. With mobile robots though, a new problem arises, that is how we can create robust dynamical relay chains able to rearrange themselves online [22][23]. Keeping in mind that it is generally desirable to relay a signal from one point to another, this translates in our case into relaying data from one far UAV back to the base station, through a number of intermediate UAVs. This implies that only the leading UAV, the master, benefits of complete freedom of action, while the other UAVs, which must primarily provide communication support, are forced to assume the positions imposed to them by the relaying algorithm. Furthermore, it is noteworthy that this kind of algorithms not only provides a viable relay chain, but also strive to achieve one of the following secondary goals, or a balance of the two: (i) maximizing the quality of the resulting chain in terms of interagents and masterbase communication, and (ii) minimizing resource requirements, i.e., the number of agents employed in the chain [24][25]. In Section 5.2 we will detail how one can dynamically generate chains of optimal communication cost with the available resources, and how this can be relaxed to guarantee supporting UAVs with a certain degree of movement margin in the coverage process.
5.3 Methodology
In this Section we show how it is possible to combine relay positioning and coverage algorithms. Such an integration will be achieved by letting a single UAV, i.e., the master, act freely, either directly controlled by an operator or automatically by a coverage algorithm, while the rest of the swarm offers communication support in the form of a relay chain. The main difference with previous approaches in the literature is that we relax the communication optimality criteria of the chain to allow the supporting drones to increase the rate at which the area is covered. To do so, we first formalize the problem of dynamical singletarget relay positioning, then we proceed by illustrating a typical solution in the case in which one wants to achieve the best optimal chain given a limited number of UAVs. We conclude the Section introducing a new cost term penalizing support drones entering areas which have already been covered multiple times, effectively improving the efficiency of the coverage task.
5.3.1 Dynamical SingleTarget Relay Positioning
Let us provide a more formal description of the dynamical singletarget relay positioning problem as described in [24]. Let , where is the position of the base station, is the position of the UAV we want to relay to the base, and is the space (bidimensional or tridimensional) of positions achievable by the UAVs. Given any two points in , we define the communication reachability function as a function that yields if the communication between the two points is feasible, and otherwise. It is now possible to define a relay chain as an ordered set , such that and is the length of the chain. Such chain is said to be valid if and only if for each . Finally, let us introduce the communication cost function , which models the cost of transmitting information from an agent placed in to another one placed in . The total communication cost of a given chain can then be given by the relation:
(5.0) 
Additional costs may be taken into account to model specific desired properties of the chain (e.g., the distance of the last element of the chain from a specific target), otherwise one can assume the total communication cost as equivalent to the total cost of the chain . It is noteworthy that we will not give a specific definition for , as this cost depends on the actual implementation and the way one desires to model the quality of data transmission between any two points (e.g., strength of the signal, number of packets lost).
Once the definition of total cost of the chain has been given, one can generate different kinds of chains between any two points by solving different subproblems, such as finding the chain of minimum length with minimum cost, or conversely, finding the chain of minimum cost with minimum length. In most practical applications with UAVs though, the focus is on finding a minimal cost chain that employs at most the number of UAVs available for the specific application at hand.
5.3.2 Determination of the Limited Length Chain of Minimal Cost
In this Section we present how to compute the chain of minimal cost given a limited number of UAVs available for the relay chain based on the methods described in [24], following the definition of the hopconstrained shortest path problem [26]. This approach is based on a combination of the Dual Ascent method [27] and the Dijkstra’s algorithm [24]. Please note that in our scenario the Dijkstra’s algorithm is not used to generate a path, but a chain, i.e., the resulting series of nodes is not meant at being traversed by a single UAV but it is rather a list of positions which must be occupied by the available UAVs to form a valid relay chain. The basic idea is to use the Djikstra’s theorem to get a solution as a series of nodes from the environment map going from the base station to the last, independent, UAV of the chain, without regard for the resulting series’ length. If the solution initially obtained satisfies the limit on the number of UAVs, it is immediately accepted; otherwise the Dual Ascent algorithm is used to refine the costs used by the Djikstra’s algorithm in a way to favor shorter length solutions. The two algorithms are then iterated until a valid solution is found or no further refinement is possible. In particular, our use of the dual ascent algorithm is detailed in Algorithm 1.
More formally, let be the set of all nodes which the agents can occupy, each one corresponding to a given position in the map, and let be the node corresponding to the first fixed element of the chain (i.e., the base station). Furthermore, any of such nodes can be connected to several peers by directed edges , which form the set . Together, and define the navigation graph , i.e., a connected, nonoriented graph of arbitrary order, which may include cycles. Considering that each node is associated with a position , the cost definitions given in the previous Section hold equally for both positions and nodes, as long as the cost of a node is computed on its assigned position . In particular, we remark that , allowing us to compute the tree of minimum length minimum cost chains (MLMC) on the navigation graph , that is the tree of the optimal chains in terms of cost and length (i.e., the number of employed UAVs), from to all the other nodes in . This can be achieved by using the version of Djikstra’s algorithm, which is modified in such a way that: (i) given a chain , the cost of a chain is actually a compound of the form , and a chain ordering is induced as if and only if , i.e., cost has higher priority than length; (ii) the algorithm returns the whole tree it has built, instead of just the minimum cost chain between any two given nodes.
Before proceeding with the Dual Ascent algorithm, let us define a few more important quantities: (i) , being the maximum number of UAVs available to build a valid chain; (ii) , being the depth of a node , i.e., its distance from in terms of hops in the MLMC tree; and (iii) , being the current modified cost of the chain from to , that is the cost of the chain obtained by adding to the cost of each edge in the chain an additional component , usually initialized to and updated by the Dual Ascent algorithm at every iteration to increasingly favor shorter paths in terms of hops. Let us now have a look at Algorithm 1, which starts by computing the MLMC tree (line 3) with each edge cost increased by . It is noteworthy that this implies that also and for every in are known after this step (line 3). If the MLMC tree contains a chain between and the node currently occupied by the chain’s master , using at most drones (line 4), then a valid solution has been found (line 5); otherwise, the MLMC tree may be refined to favor shorter solutions. This is achieved by computing , which is the amount by which should be increased to ensure that next time the Djikstra’s algorithm will be called, the resulting tree will yield at least one shorter chain (lines 711). It is important though that the choice of ensures that no solution can be missed. To this purpose, given any node , let us consider all edges which are not part of the current MLMC tree. One of such edges constitutes a strict improvement if added to the MLMC tree, if and only if the relation holds; we call the set of such edges . Hence, by computing the value by which all edge costs should be increased for an edge in to be included in the MLMC tree, and taking the minimum among all those computed, we obtain an with the desired characteristics. Following from such statements and without delving into the mathematical details, the value can be obtained by applying the following equation:
(5.0) 
where is the communication cost between two nodes, and is the current modified cost, such that:
(5.0) 
Finally, if is empty, then no chain can possibly be shortened and Algorithm 2 fails (line 7). It is noteworthy that while the Algorithm may seem computationally complex, it is actually possible to optimize the process, for example by repairing the MLMC tree instead of computing a new one from scratch every time, as described in [24].
5.3.3 Reformulation of the Chain Cost Function
We now want to modify the cost function defined in Equation 5.3.1 to favour nodes that have been visited fewer times, by introducing a term for the coverage cost between two nodes , which will behave similarly to the node count algorithm. To that aim, let us highlight the differences between Node Count and Edge Count: on the one hand, the former counts the number of times a node has been occupied at each iteration, and an UAV would move from the current node to the neighbouring connected node that has been previously visited less; on the other hand, the latter counts the number of times any edge has been traversed and strives to make sure that all edges of a given node are traversed with the same relative frequency. While node count gives the best result in the multiagent case, edge count can be more naturally integrated with the Djikstra’s algorithm and the definition of given in Section 5.3.1, as it assigns costs to edges, not nodes. Hence, we can slightly modify the common structure of node count by working in terms of edges like in edge count, and assigning to all inbound edges to a node the same count value, i.e., the number of times the destination node has been visited. More formally, from the standard Node Count procedure in Algorithm 2, we define an operator that measures the amount of visits to a node. At each instant, the agent will select the less visited node from those in the neighborhood of its current location , i.e., the set of all nodes for which there exists an edge . We expand this basic definition stating that there exists a similar operator for edges , such that . Hence, the agent will select the edge leading to the less visited node in its neighborhood. From this definition, it follows that edges must be directed, meaning that the edge , and consequently the associated costs may be different as well. This may not be evident while dealing with communication costs only, as communicating from one point to another is just as difficult as the opposite, and hence the costs is the same, but it does matter to the purpose of computing the coverage cost.
We can now provide a definition for the term representing the coverage cost between any two nodes and . To this purpose, multiple candidates are equally legitimate as long as the term is directly proportional to the count associated with the edge . Following the discussion above, the simplest candidate is then given by:
(5.0) 
where is a scaling factor whose value is determined based on the order of magnitude of the communication cost, and how much the designer wants to favor coverage performance over communication stability and viceversa. It follows that the total cost of an edge becomes:
(5.0) 
while the total cost of a valid chain becomes:
(5.0) 
In this regard, the reader may notice that, in longterm operation contexts, the coverage component may grow unbounded, leading to chains which increasingly favor coverage over communication. It is possible to address this issue in several ways, for example by normalizing the count value for every edge across the graph, and/or computing over a sliding time window.
In conclusion, by employing the cost in Equation 5.3.3 to compute a modified MLMC tree and by substituting to in Equations 5.3.2 and 5.3.2, we obtain a solution to the relay positioning problem which also takes into account the necessity to fly over undervisited nodes. No changes to the Algorithms 1 and 2 should be made to ensure the correct operation of the system.
5.4 System’s Architecture
Following the methods presented in the previous Section, we will now proceed to illustrate a sample architecture that can implement the ideal system outlined in Section 5.1. Figure 5.1 depicts the architecture structure and its main components. The main idea of the architecture is to act in interleaved rounds, which means that initially the master UAV acts, or at least takes a decision on its next action, then the swarm reacts, by computing a valid hybrid relaycoverage chain and taking the corresponding configuration. Once all the UAVs have reached their designed destinations, the process starts over. It is noteworthy that the master UAV does not necessarily have to follow a coverage algorithm as long as the nodes it visits are recorded together with the ones visited by the rest of the swarm. Obviously enough, letting the master UAV act on pure Node Count and share the map with the swarm’s simultaneous relay chain and coverage algorithm is the most natural solution, and the one we explore here, but also manual control by an operator is a viable alternative.
5.4.1 Communication Cost and Map Discretization
We define as a positive monotonic function directly proportional to the shortest distance between the nodes and , and ranging from in the ideal case where the two nodes coincide, and when the distance between the two nodes is greater than a given threshold distance . Similarly, we define if the distance between the two nodes is greater than , and otherwise. Then, we arbitrarily discretize the map in a finite number of nodes, and define edges between all pairs of nodes for which holds true. In this way, we ensure that when we generate a chain, communication is always possible between any two nodes connected by an edge while also providing a high number of connections, hence obtaining a valid discretized map rich of alternative paths where to compute MLMC trees. Finally, edges traversing large obstacles are pruned from the tree, either systematically or as a direct consequence of , if the communication cost is already taking obstacles into account.
5.4.2 Robustness to Secondary Tasks and Missing UAVs
As described in Section 5.1, one or more UAVs may be busy with a secondary task, which requires them to fly over a given node for a prolonged amount of time. A robust solution to this issue as long as at most one UAV is involved in other tasks at each time instant, is to promote such UAV to master, and let the rest of the swarm rearrange accordingly to the simultaneous coverage and relay positioning algorithm. Since the master UAV is not required to have any specific capability, i.e., the distinction from the rest of the swarm is only logical, the master UAV can be changed on the fly without consequences. To reinforce this point, it is noteworthy that what we get from the algorithm is just a chain of nodes without any reference to a specific UAV. Clearly, while the new master UAV is busy in the same node over several rounds, the rest of the swarm will still be providing assistance with the coverage task and update the node counts accordingly. Once the secondary task is complete, the master UAV privileges can be returned to the original UAV or the execution can proceed with the new one. If more than one agent is expected to be busy with a secondary task at any time, then a more complex solution is necessary, e.g., implementing a queue and/or modifying the tree generation algorithm to enforce solutions including the nodes corresponding to the desired tasks’ positions.
Another issue raised in Section 5.1 is how to provide robustness to the absence of any single UAV, either when this is planned, e.g., in the case of UAVs requiring a recharge, or an unexpected event, e.g., when an UAV is gone missing. In this case, a distinction should be made between the master UAV and rest of the swarm. If the master UAV leaves the swarm, either suddenly or in a regulated manner, there would be only minor consequence, as the chain would not be damaged and the only action required would be selecting a new master UAV and reducing the number of available UAVs for the simultaneous coverage and relay positioning algorithm (unless a substitute is readily available). On the contrary, the same does not apply for members of the relay chain. If the UAV is scheduled to leave the chain, preliminary measures can be taken before removing it and reducing the number of UAVs available for the algorithm. Otherwise, the only way to ensure that a chain would remain valid even if one or more UAVs were missing, is to use an overly restrictive communication cost policy in order to ensure (or at leastpromote) two nonconsecutive UAVs to still be able to communicate.
Any missing UAVs returning to the swarm can be easily reintegrated by increasing again the number of agents available to the algorithm. UAVs which got detached from the swarm have not access to the updated number of visits for each node but, assuming they have a reasonable amount of computing power onboard, they can still fall back to pure node count. As they approach less visited areas of the map, they have a chance to join again the swarm and synchronize their respective knowledge about visited nodes. If this is not possible or the UAV cannot regroup with the swarm, it would still be able to fly back to the base station.
5.5 Experimental Results
In this Section, we present the experiments used to assess the performance of the simultaneous coverage and relaypositioning algorithm and the related architecture, as presented in Section 5.3 and Section 5.4, respectively. Experiments have been run in simulation as we are not interested in the dynamics of the UAVs in this context. However, we run UAV software in the loop to make sure the proposed algorithm is compatible with realworld UAVs. The UAVs we simulated are 3DR IRIS [28], while the simulation environment is Gazebo [29], running on a machine with Intel I7 4500U@3.00GHz processor and GB of RAM. The proposed architecture has been implemented in the Robot Operating System (ROS) [30] as a single module acting as a base station and sending commands to multiple instances of the UAV software, which run in parallel to simulate both the master UAV and the fellow UAVs available for the hybrid relaycoverage chain. Communication between the base station and the simulated UAVs is implemented using MAVLink [31] through the MAVROS bridge [32]. A total of 5 UAVs have been simulated in a squared environment measuring m, discretised in 196 nodes, each m apart from the others. Several tests were run with these settings with a number of randomly positioned obstacles and targets. When an UAV enters a node containing a target, a secondary task as the one described in Section 5.4.2 begins. In this particular case, the UAV flies around the target and gather point cloud data until a complete 3D model of the target is acquired. A sample simulation scenario is reported in Figure 5.2.
All the tests have been conducted using a formulation for which increases with the distance between and , plus a penalty for the surrounding volume occupied by obstacles to model communication difficulties in cluttered environments. For we employed the simple definition given in Equation 5.3.3 and repeated the test several times for different values of the parameter . Two kinds of tests were run, one where all nodes are to be visited at least once and one where they must be visited at least times. In all tests the following metrics have been measured: (i) the number of iterations needed to achieve the results, (ii) the number of times each node has been visited, (iii) minimum, maximum and average communication costs among all generated chains.
Let us focus on the impact of the parameter . Figures 5.3, 5.4 and 5.5 represent the same environment with the same obstacle locations but different values for . Nodes with a visit value of are either occupied by obstacles or unreachable because of obstacles themselves. We invite particular attention to the case in Figure 5.3 where , i.e., no coverage cost is taken into account and the problem reduces to the naïve case. In such a scenario, we observe large peaks of visits, especially in the nodes close to the base station and where the obstacles forms corridors. This is expected as it is always necessary to keep a valid relay chain, and these locations are fundamental to that purpose. For example, considering the case where the UAVs are tasked to visit all nodes at least once, the highest peaks happens exactly in those nodes and reach number of visits. It took exactly iterations to reach the desired goal, and the average number of visits per node is . As we increase the value of to (Figure 5.4) and (Figure 5.5), we notice that the peaky areas get smaller and so do the peak heights. In particular, the maximum visit value is lowered to and , respectively, while the number of iterations is reduced to and . Furthermore, the average values are lowered to and .
Figures 5.6, 5.7 and 5.8 report the results for the case in which each node must be visited at least times, again with the values of set to , , and , respectively. In this case, we observe even larger peaks in these areas, but the same downward trend as increases, since the maximum number of visits goes from to and .
Back to the single visit case, let us consider the impact of at every iteration on the communication costs reported in Figures 5.9, 5.10 and 5.11. The mean and maximum costs are equal to and for , and for , and and for . As expected, the average cost slowly rises when increasing , but the worst case maximum communication cost remains steady. Comparing the results for with in the single visit case, we observe shorter time to reach the goal in terms of iterations, but only worse average communication cost. The worstcase maximum communication cost remains constant withing a reasonable margin of error. Similar results have been achieved on longterm operation with a higher target visits value.
5.6 Conclusions
In this Chapter we propose a novel approach to improve the performance of an UAVs swarm tasked to cover a given area in difficult contexts such as natural disasters. This is achieved by providing a relay chain to the base station so that UAVs do not need to rely on preexisting communication infrastructures. A number of supporting UAVs are employed to build the relay chain, but the proposed algorithm also allows them to provide assistance in the coverage task, decreasing the time required to completely cover the area without affecting too much the communication reliability. This is because the proposed algorithm does not seem to affect significantly the worst case communication cost of the chain, as highlighted by the reported experimental results. Moreover, the system allows UAVs to be momentarily busy with secondary tasks, such as target data acquisition, without necessarily leaving the swarm. On the robustness side, the architecture is robust to a missing master UAV, despite the fact that it presents a masterslave paradigm, and can also be extended to be more resilient to interruptions in the relay chain. Finally, the architecture allows for an easy and dynamic modification in the number of UAVs in the chain. This is useful both in the case of a scheduled task, as an UAV needing to recharge batteries, as well as in the case one UAV got separated from the swarm and needs to regroup.
Future developments will deal with further increasing the robustness of the proposed architecture, by exploring in detail the best strategies to adopt when multiple UAVs are busy with secondary tasks or to avoid the chain to be interrupted. On the performance side, improved formulations of the coverage cost will be formalized. Testing in realworld is also in the works.
Bibliography
 [1] Martijn N. Rooker and Andreas Birk. Multirobot exploration under the constraints of wireless networking. Control Engineering Practice, 15(4):435–445, 2007.
 [2] Piyoosh Mukhija, K. Madhava Krishna, and Vamshi Krishna. A two phase recursive tree propagation based multirobotic exploration framework with fixed base station constraint. In Intelligent Robots and Systems (IROS), 2010 IEEE/RSJ International Conference on, pages 4806–4811. IEEE, 2010.
 [3] Kyle Cesare, Ryan Skeele, SooHyun Yoo, Yawei Zhang, and Geoffrey Hollinger. Multiuav exploration with limited communication and battery. In Robotics and Automation (ICRA), 2015 IEEE International Conference on, pages 2230–2235. IEEE, 2015.
 [4] Luis Diogo Couto, Peter WV TranJørgensen, and Gareth TC Edwards. Modelbased development of a multialgorithm harvest planning system. In International Conference on Simulation and Modeling Methodologies, Technologies and Applications, pages 19–33. Springer, 2016.
 [5] JeanDaniel Nicoud and Maki K Habib. The pemexb autonomous demining robot: perception and navigation strategies. In Intelligent Robots and Systems 95.’Human Robot Interaction and Cooperative Robots’, Proceedings. 1995 IEEE/RSJ International Conference on, volume 1, pages 419–424. IEEE, 1995.
 [6] Enric Galceran and Marc Carreras. A survey on coverage path planning for robotics. Robotics and Autonomous systems, 61(12):1258–1276, 2013.
 [7] Howie Choset. Coverage for robotics–a survey of recent results. Annals of mathematics and artificial intelligence, 31(14):113–126, 2001.
 [8] Amna Khan, Iram Noreen, and Zulfiqar Habib. On complete coverage path planning algorithms for nonholonomic mobile robots: Survey and challenges. J. Inf. Sci. Eng., 33(1):101–121, 2017.
 [9] Mehdi Alinaghian and Alireza Goli. Two new heuristic algorithms for covering tour problem. Journal of Industrial and Systems Engineering, 8(3):24–41, 2015.
 [10] Howie Choset. Coverage of known spaces: The boustrophedon cellular decomposition. Autonomous Robots, 9(3):247–253, 2000.
 [11] Phillip J. Jones. Cooperative area surveillance strategies using multiple unmanned systems. PhD thesis, Georgia Institute of Technology, 2009.
 [12] T. M. C. E. P. R. Ferreira. Terrain coverage with uavs: Realtime search and geometric approaches applied to an abstract model of random events. In 2016 XIII Latin American Robotics Symposium and IV Brazilian Robotics Symposium (LARS/SBR), pages 151–156, Oct 2016.
 [13] João Valente, Antonio Barrientos Cruz, Jaime del Cerro Giner, and David Sanz Muñoz. A waypointbased mission planner for a farmland coverage with an aerial robot  a precision farming tool. In Proceedings of Precision Agriculture 2011, pages 427–436, 2011.
 [14] Anurag Sai Vempati, Mina Kamel, Nikola Stilinovic, Qixuan Zhang, Dorothea Reusser, Inkyu Sa, Juan Nieto, Roland Siegwart, and Paul Beardsley. Paintcopter: An autonomous uav for spray painting on threedimensional surfaces. IEEE Robotics and Automation Letters, 3(4):2862–2869, 2018.
 [15] Richard E. Korf. Realtime heuristic search. Artificial intelligence, 42(23):189–211, 1990.
 [16] Sven Koenig and Reid G Simmons. Easy and hard testbeds for realtime search algorithms. In AAAI/IAAI, Vol. 1, pages 279–285. Citeseer, 1996.
 [17] M Baglietto, G Cannata, F Capezio, A Grosso, A Sgorbissa, and R Zaccaria. Patrolgraph: a distributed algorithm for multirobot patrolling. In IAS10The 10th International Conference on Intelligent Autonomous Systems, Baden Baden, Germany, pages 415–424, 2008.
 [18] C Nattero, CT Recchiuto, A Sgorbissa, and F Wanderlingh. Coverage algorithms for search and rescue with uav drones. In Workshop of the XIII AIIA Symposium on Artificial Intelligence, Pisa, 2014.
 [19] Tucker Balch and Ronald Arkin. Avoiding the past: A simple but effective strategy for reactive navigation. In ICRA (1), pages 678–685, 1993.
 [20] Chong Shen and Dirk Pesch. A heuristic relay positioning algorithm for heterogeneous wireless networks. In Vehicular Technology Conference, 2009. VTC Spring 2009. IEEE 69th, pages 1–5. IEEE, 2009.
 [21] Mohamed Younis and Kemal Akkaya. Strategies and techniques for node placement in wireless sensor networks: A survey. Ad Hoc Networks, 6(4):621–655, 2008.
 [22] Junting Chen and David Gesbert. Optimal positioning of flying relays for wireless networks: A los map approach. In Communications (ICC), 2017 IEEE International Conference on, pages 1–6. IEEE, 2017.
 [23] Feng Jiang and A Lee Swindlehurst. Dynamic uav relay positioning for the groundtoair uplink. In GLOBECOM Workshops (GC Wkshps), 2010 IEEE, pages 1766–1770. IEEE, 2010.
 [24] Oleg Burdakov, Patrick Doherty, Kaj Holmberg, Jonas Kvarnström, and PerMagnus Olsson. Relay positioning for unmanned aerial vehicle surveillance. The international journal of robotics research, 29(8):1069–1087, 2010.
 [25] PerMagnus Olsson. Positioning algorithms for surveillance using unmanned aerial vehicles. PhD thesis, Linköping University Electronic Press, 2011.
 [26] Geir Dahl and Luis Gouveia. On the directed hopconstrained shortest path problem. Operations Research Letters, 32(1):15–22, 2004.
 [27] Anantaram Balakrishnan and Kemal Altinkemer. Using a hopconstrained model to generate alternative communication network design. ORSA Journal on Computing, 4(2):192–205, 1992.
 [28] 3DR Iris+. https://3dr.com/support/iris/. Last accessed on September 13th 2018.
 [29] The Gazebo simulator. http://gazebosim.org/. Last accessed on September 13th 2018.
 [30] The Robot Operating System (ROS). http://www.ros.org/. Last accessed on September 13th 2018.
 [31] Micro Air Vehicle Communication Protocol (MAVLINK). http://qgroundcontrol.org/mavlink/start. Last accessed on September 13th 2018.
 [32] MAVLINK for ROS (MAVROS). http://erlerobotics.com/blog/rosmavros/. Last accessed on September 13th 2018.