1 Introduction
Unmanned aerial vehicles (UAVs) are effective and efficient tools for coverage and sensing applications. Among various types of vehicles, fixedwing UAVs are mostly used for mapping and surveillance by sweeping through an area for data collection and then returning to a base for the processing of the data. On the other hand, the rotortype (e.g., quadcopters or hexacopters) can be used for persistent coverage and sensing scenarios. However, the biggest limitation of rotor systems is their endurance, as they have constraints on their payload and hence the power source they can carry. Compared to rotor vehicles, fixedwing UAVs consume less energy to achieve and sustain mobility and are able to maintain airborne for longer duration [oettershagen2016long, guo2011development, oettershagen2016perpetual]. Their oftentimes large wing surface areas allow installation of solar panels that may further extend their flight time. Fixedwing UAVs are suitable candidates for sensing and coverage. However, fixedwing UAVs’ mobility is typically limited by their minimum cruise speeds and loitering circles, making the coordination of UAV fleet challenging [Song:17a, Song:18d].
MultiUAV coverage is a wellresearched area and boasts various methods for using fixedwing UAVs for various applications that involve coverage control or optimization. Fixedwing UAVs are traditionally used for flyby coverage and the problem addressed can mostly be categorised as efficient path planning. These approaches take into account the characteristics, dynamics, and properties of the vehicles and the environment to improve efficiency. Chen et al. [chen2014coverage]
reviewed the existing coverage algorithms in UAV network, and classified those algorithms into different groups according to factors considered, like coverage ability, mobility, lifetime, connectivity, and obstacles. Schleich et al.
[schleich2013uav] proposed a decentralized and localized algorithm to control the mobility of multiple UAVs, i.e. a fleet, offers various advantages compared to the single UAV scenario, such as longer mission duration, bigger mission area or the load balancing of the mission payload. The network connectivity was maintained via a treebased overlay network, of which root was the base station of the mission, and was created by predicting the future positions of onehop neighbours. Mozaffari et al. [mozaffari2016efficient]used an efficient deployment of multiple UAVs acting as wireless base stations that provide coverage was analyzed by the ground users. Following this, the downlink coverage probability for UAVs was derived as a function of the altitude and the antenna gain. Next, using circle packing theory, the 3D locations of the UAVs were determined in a way that the total coverage area was maximized while maximizing the coverage lifetime of the UAVs. Avellar et al.
[avellar2015multi]presented an algorithm for minimumtime coverage of ground areas using a group of UAVs equipped with image sensors by modeling the area as a graph and solving a mixedinteger linear programming problem. Wei et al.
[wei2017scaling] addressed the capacity and delay of the UAV network with UAVs that are intended to monitor threedimensional environment such as air pollution, toxic gas leakage, etc. They derived the capacity and delay scaling laws of UAV network with mobility and pattern information. Xu et al. [xu2011optimal] presented an adaptation of an optimal terrain coverage algorithm for an aerial application. The general strategy involves computing a trajectory through a known environment with obstacles and ensures complete coverage of the terrain while minimizing path repetition. The paper introduced a system that applies and extends this generic algorithm to achieve automated terrain coverage using an aerial vehicle. Paull et. al [paull2013sensor] presented an algorithm where area coverage with an onboard sensor was an important task for a UAV while maintaining an insitu coverage map based on its actual pose trajectory and making control decisions based on that map. Chen et al. [chen2018self] presented a selforganized, distributed and autonomous approach for sensing coverage for multiple UAVs with an approach that takes into account the reciprocity between neighboring UAVs to reduce the oscillation of their trajectories. Nedjati et al. [nedjati2016complete] presented a postearthquake response system for rapid damage assessment. In this system, multiple UAVs were deployed to collect images from an earthquake site and create a response map for extracting useful information. Coombes et al. [coombes2017boustrophedon] addressed the need for an enhanced understanding of the wind effects on fixedwing aerial surveying, and used Boustrophedon paths based on sweep angle relative to the wind that minimises the flight time. In [coombes2018fixed], the algorithm took into account environmental factors and aircraft dynamics. By decomposing the complex survey regions into many smaller arrangements, Boustrophedon paths can be used to cover them. Darbari et al. [darbari2017dynamic] presented a dynamic path planning algorithm for a UAV surveying a cluttered urban landscape. Voronoi Tessellation of the search space and identification of key waypoints in the form of milestones lead to an efficient mapping of the region to be surveyed. The changes in the environment were handled effectively by the decision process in the form of a local or global planner. The application of 3D Dubin’s curve leads to smooth and dynamically feasible trajectories at runtime. In [varga2015distributed], teams of fixedwing microaerial vehicles (MAVs) could provide a wide area coverage and relay data in the wireless adhoc networks. The authors proposed a distributed control strategy that is based on the attraction and repulsion between MAVs and relies only on local information. Ahmadzadeh et al. [ahmadzadeh2006multi] presented an algorithm for timecritical cooperative surveillance with a set of unmanned aerial platforms using an Integer Programming (IP)based strategy for feasible trajectories while incorporating the complexity and coupling of the camera fields of view and flight paths. In [ahmadzadeh2006cooperative], the authors addressed the generation of team flight plans and controllers that enable a heterogeneous team of UxVs (x: AAerial, GGround) to maximize the spatiotemporal coverage while satisfying hard constraints such as collision avoidance and positional accuracy. Danoy et al. [danoy2015connectivity] presented an online and distributed approach for bilevel flying adhoc networks, in which the higherlevel fixedwing fleet serves mainly as a communication bridge for the lowerlevel fleets that conduct precise information sensing. In [sachin2020coordinated], full coverage of a desired rectangular area was maintained using homogeneous fixedwing aerial vehicles loitering on a given altitude, using both square and hexagon packing. In the case of multiple UAV failures, the algorithm restored full coverage by modifying the loitering locations and a new homogeneous radius of the remaining UAVs at the same altitude. Savla et. al [savla2007coverage] studied a facility location problem for groups of Dubin’s vehicles, nonholonomic vehicles constrained to move along planar paths of bounded curvature, without reversing direction. Given a compact region and a group of Dubin’s vehicles, the coverage problem is to minimize the worstcase traveling distance.This paper presents an approach to use complete, and potentially persistent coverage of an arbitrary area using the minimum number of fixedwing UAVs, while discussing the resilience aspect of the deployed UAV network over agent failures. The proposed algorithm defines a multilevel square packing over the given area of arbitrary shape, and uses a patrolling fleet of fixedwing UAVs in prespecified loiter circles over the squares for obtaining full coverage. The UAVs at a given altitude level have homogeneous coverage and are synchronized in their motion while on the same level; it is thus called levelhomogeneous deployment. The algorithm also incorporates resilience, that is, when one or more subsquare neighbors of a UAV fail, it is eligible to transit to the super square and loiter at the respective circle at the higher altitude. The choice of the UAV to transit to the supersquare is based on its effective coverage and the transition is made using Dubin’s path algorithm [savla2007coverage, lugo2014dubins, mclain2014implementing]. The proposed algorithm relies on the reference literature for obtaining the nearoptimal length of the Dubin’s path, and uses the wellresearched method to obtain synchronized transit and thus synchronized motion at the higher level. It is a distributed and scalable approach as the detection of failure and the handling for coverage recovery are locally occurred and managed processes. As all the communication and decision making are limited within the immediate supersquare, the proposed approach reduces the communication load of the network. Various arbitrary areas and failure scenarios were tested to verify the applicability and efficacy of the proposed approach in terms of efficient coverage and fault tolerance. This method is also scalable in terms of area size, and adaptive for various boundaries as well as the physical and mechanical limitations of the vehicles.
We introduce coverage resilience in the coordination algorithm, which defines that in case of failure of their supersquare neighbors, a UAV breaks off from loitering at the subsquare level and traces a short path using Dubin’s path algorithm [savla2007coverage, lugo2014dubins, mclain2014implementing] to move to and loiter at the parentsquare level. The proposed algorithm relies on the reference literature for obtaining the nearoptimal length of the Dubin’s path, as this is not the focus of this paper. It is a distributed and scalable approach as the detection of failure and the handling for coverage recovery are locally occurred and managed processes. As all the communication and decision making are limited within the immediate supersquare, the proposed approach reduces the communication load of the network. The proposed method also focuses on covering an arbitrary geometric using levelhomogeneous squares of different sizes at different altitude levels. This, in itself, is an interesting outcome as the arbitrary area is fully covered while minimizing the overlap between the coverage footprints of the neighboring UAVs. Various arbitrary areas and failure scenarios were tested to verify the applicability and efficacy of the proposed approach in terms of efficient coverage and fault tolerance. This method is also scalable in terms of area size, and adaptive for various boundaries as well as the physical and mechanical limitations of the vehicles.
The major contributions of this work are as follows:

The proposed algorithm ensures full coverage of the desired area using a fleet of fixedwing UAVs, flying at different altitudes;

The proposed method also focuses on covering an area of arbitrary geometric shape using levelhomogeneous squares of different sizes at different altitude levels. It can also handle nodeployment zones within the area. This, in itself, is an interesting outcome as the arbitrary area is fully covered while minimizing the overlap between the coverage footprints of the neighboring UAVs;

The presented algorithm provides coverage resilience by addressing coverage recovery problem in case of simultaneous multiple UAV failures, to still maintain full coverage with reduced resources;

It is a distributed and scalable approach. As the recovery decision is local, the maintenance effort is reduced.
The remainder of the paper is organized as follows: Section 2 presents the preliminaries and assumptions, Section 3 discusses the details of the proposed approach, Section 4 presents the simulation results and discussions. Finally, Section 5 lists some of the possible future work in this domain and concludes the paper.
2 Preliminaries
The area to be covered by the UAV fleet can be represented as a graph with the vertices representing the longitude and latitude. The deployed UAVs would represent a subset of the graph nodes as a subgraph , and the edges between the neighboring UAVs () represent the active communication link.
2.1 Assumptions
The following assumptions are made to simplify the analysis without the loss of generality:

The UAVs are homogeneous, that is, they have the same size, weight, minimum turn radius, and communication and sensing capabilities;

The cruising velocity is constant and uniform for all the UAVs;

Each UAV knows its location at any point in time;

The UAVs are automatically able to communicate with any other UAV within its communication range (), and the communication is isotropic, that is, they can communicate across the altitude levels.
2.2 Definitions
Following are the key introductory concepts for the presentation of the proposed method [sachin2020coordinated]. These quantities have been graphically summarized in Fig. 1.
Altitude level (): The altitude level represents the height from all the permitted height values in the square packing, where the subscript represents the instantaneous altitude level, and , for the prespecified altitude levels. In this paper, we have limited the levels to to maintain acceptable quality of coverage. In Fig. 1, and represent two sequential altitude levels. As all the UAVs show similar behavior (e.g., loiter radius, velocity, etc.) on a given level, this approach is levelhomogeneous.
Field of view (FOV): The FOV is a physical property of the sensor being used by the UAV and defines the coverage footprint based on the altitude of the platform. In Fig. 1, The FOV has been marked by . Based on the sense used, the sensing quality () can be defined as , which means that the coverage quality decreases linearly as the altitude increases, and viceversa.
Phase synchronization: For a UAV loitering at a given altitude level, the phase has been defined in this paper as the angle at which they are. It has been shown in Fig. 1 as . We assume that the motion is synchronized, that is, all the loitering UAVs have the same phase at every instant of time for maximum separation, and hence the largest effective coverage.
Loiter radius (): Any form of a fixedwing vehicle has constraints on maneuverability and it cannot stay stationary while it is airborne. Instead, it can fly in a circle over the region of interest, called the loiter circle. The radius of that circle at a given instant is called the loiter radius. In Fig. 1, the loiter radius for two different altitude levels have been shown by the radii and .
The physical properties and cruising velocity of a fixedwing UAV system define the lowest value of the loiter radius, called the minimum turning radius [mclain2014implementing], given by
where is the horizontal vehicle velocity, denotes the maximum bank angle and denotes the gravitational acceleration. It is desired to have to be able to provide coverage while causing less physical strain on the UAV.
Minimum loiter (): In the proposed approach, this is the loiter radius value chosen for each altitude. Ideally, is better to reduce the physical wearing of the UAV in the long term, but the case of results in the densest packing (minimum overlap) and the side length of the packing square is . The radii at the higher flight levels are the multiples of this value.
Coverage radius (): The coverage radius is the radius of the coverage footprint given the FOV and the instantaneous height() of the vehicle. As seen from Fig. 1, it is defined as
Communication radius (): Based on the onboard hardware, a UAV can connect to every other UAV within a certain distance, called the communication range. Assuming an isotropic antenna for uniform range, the radius of the coverage is called the communication radius. Its value cannot be less than , where is the loitering radius of the circle at the highest assigned level. It is a different entity from the loitering radius () and the sensor coverage radius (). For any UAV at position , its neighborhood is defined as
where represents the euclidean distance between the nodes and .
Sub and supersquare: This represents the footprint squares for a particular altitude level. In Fig. 1, and are the side lengths of two different squares, for altitude levels and respectively. Here, represents the subsquare for , and represents the supersquare for , where . When the UAV moves to a higher altitude level, it moves to the immediate supersquare, and viceversa. The process of moving the UAV from one altitude level to another is called level transition.
Effective coverage (): It is defined as the total area covered by a loitering circle within the boundaries of the area of interest, minus the overlap with the immediate neighbors. These overlaps are purposefully introduced to allow the algorithm to cover every point (avoid coverage gaps) in the desired coverage area. The effective coverage for UAV k is defined as,
where is the fraction of the circle outside the area of interest and is its overlap with the neighbor UAV .
Full coverage: It is defined as the state when each point in the area is guaranteed to be covered by at least one of the loitering UAVs at least once every loiter cycle during the operation. For UAVs deployed in the area , it is achieved when
This serves as the main objective of the presented work, where we adjust the radius of the loiter circle for the available UAVs to achieve full coverage.
3 LevelHomogeneous Coverage Control
This section discusses the details of the proposed approach. The inputs from the enduser to the proposed approach is the coordinates of the vertices of the area to be covered by the UAV fleet, and the minimum loiter radius () of the vehicles. Based on these inputs, the algorithm starts by calculating the initial count of the nodes to be deployed and the locations on the initial (lowest) altitude level (), which corresponds to the , as defined. This process intrinsically marks the supersquares for different altitude levels as this is a topdown approach. After the initial deployment, the UAVs loiter around their respective circle at . On failure of one or more agents in a subsquare, the failure handling mechanism is locally triggered and executed. Algorithm 1 summarizes the working of the proposed approach. The details of these processes have been discussed below.
3.1 Initial Deployment
This step employs a topdown approach for deciding upon the centres of the packing squares, but it is derived from to allow steps in altitude level and homogeneity in each of those levels. This results in , , and so on. This approach is limited to at most four altitude levels as the coverage quality at the level (based on ) is down to of that of the initially deployed level (based on ), which can be summarized as
The deployment is carried out by bounding the area, by a large square () and then bisecting the squares and narrow down to . If and are the arrays for and coordinates of the area boundary vertices, a polygon surface is created as the region of interest, which is then used to check and classify if the squares at each altitude level lie inside or outside the desired coverage area with arbitrary geometry. We calculate the vertices of the aforementioned bounding square as follows
After the desired area is bounded by this square, it is bisected along both axes into four equal subsquares. This process is continued till we reach the base level (level ). Following this, the list of squares on each level lying inside is created. The proposed algorithm uses a method that checks if any of the vertices of the squares in consideration lie inside . If not, that square is discarded from the list. As for level , this list gives the details and the count of the UAVs required to start with. This can be seen in Fig. 2. Out of the five sample squares over the desired area, squares have 2, 4, 1 and 3 vertices inside , respectively, and they are listed as UAV deployment locations. Square is completely outside , and is discarded from the list. This is the last step for centralized planning after listing the deployment squares, where each UAV is given their center point to loiter at level , and the UAVs fly to the respective loiter circles a by tracing the defined Dubin’s path so as to keep them synchronised, by loitering in the same phase (shown in Fig. 1) at the same altitude level for any instance time instance. This synchronisation improves the instantaneous effective coverage by minimizing the overlap at that instant [sachin2020coordinated].
3.2 Failure Detection
Failure detection is a local phenomenon, when one or more agents suddenly drop out of operation. This could occur due to external impacts (e.g., blast), UAV instrument failure, power source failure or many other possible reasons, and the UAV is considered ‘nonrecoverable’ after the dropout. As the UAVs are in communication with their supersquare neighbors and with at least one other levelhomogeneous subsquare UAV in neighboring supersquare, at least two supersquares detect the failure. Based on the active communication links, each UAV maintains a list of the neighbors’ state with all ‘1’s. If a UAV drops out, its neighbors change the respective label to a zero, referring to ‘droppedout’. That is, for a UAV with four neighbors, , for neighbors in allactive operation. If neighbor drops out, the list is updated as . Furthermore, if moves to a higher altitude level to restore coverage, it is updated to , denoting that it is loitering at the supersquare radius on a higher altitude level, but is still online and connected. As the proposed failure handling approach tends to send one of the subsquare neighbors of the droppedout UAV to a higher altitude level, the decision making is local and distributed within a supersquare. If all four members of a supersquare drop out, the neighboring super squares get involved in the decision making for restoring coverage. This will be discussed in detail below.
3.3 Failure Handling
When a failure and is detected, the algorithm aims to restore the coverage at the cost of the sensing quality of the coverage. It is intuitive that flying at a higher altitude level increases the coverage area, but decreases the quality. If the loiter radius is scaled along with the altitude level, it adds to the coverage time as well. Coverage time is the duration after which a point gets covered by a loitering UAV in every loiter cycle.
The proposed algorithm can solve the cases of single, simultaneous multiple, clustered and spread out nodes failures efficiently as it uses a distributed approach where the failure detection and recovery decision making is limited to the minimum possible number of neighbors in the failure area. For failure of less than three subsquare loitering UAVs, the decision making is limited within that supersquare to minimize recovery time. The nearest subsquare survivor UAV (in terms of phase, to minimize the transfer path length and time) breaks from its loiter circle to move to the supersquare loitering at a higher altitude level, as explained in the following paragraph. If only one of the four subsquare UAVs has survived, it moves to a higher altitude level by default. In a more complicated loss scenario, there could be no subsquare survivors in a supersquare, for all four having dropped out, or the supersquare being at the edge of the boundary and thus no backups for coverage restoration. In this case, the neighboring supersquares will fill in as they have also detected the occurrence and the extent of the failure. Aiming for the shortest transfer path based on phase and heading, the two chosen subsquare UAVs from a neighbouring supersquares break from their loiter circles and trace Dubin’s path to the higher altitude loitering circles, one each for their own and the failed neighboring supersquare. It is worth mentioning again that the loitering motions after moving to the higher altitude level have to be synchronised in phase as well, as the proposed approach solves for ‘levelhomogeneous’ and it improves the effective coverage at that level.
3.4 Dubin’s Path
The recovery UAV has to break off from its current loiter circle at some point to trace a Dubin’s path to the loiter circle of a larger radius at a higher altitude level and join in at a prescribed point, to maintain synchronization. This can be achieved by controlling the breakoff point, the joinin point, and the headings at both points, and the motion of the UAV. Typically, Dubin’s paths are created as combinations of circular sections and straight lines, with an aim to minimize the travel time and distance. In 3D cases like this, these can form helical structures while moving to a higher or lower altitude level based on the height difference. The motion of the UAV is constrained into six options: straight (S), left turn (L), right turn (R), helix left turn (Hl), helix right turn (Hr), and no motion (N). The equations of motion and the generation of Dubin’s paths have been followed from [savla2007coverage, mclain2014implementing, lugo2014dubins]. There could be cases when some of these motion combinations might be physically restricted for the UAVs (e.g. LSLN). An example for Dubin’s path transition of a UAV is shown in Fig. 3. The starting and final (goal) altitude levels and loitering circles have been shown, along with the path with a minimum turning radius of 80 metres. The instantaneous headings and positions of the UAV have been marked by arrows. It can be seen that the path is defined by RSRN motion and the start (break off), the goal (joinin) and the transition (motion change) positions have been marked. For multiple UAVs, the path lengths and the joinin point are to be controlled to achieve and maintain synchronization.
4 Simulation Analysis
The proposed algorithm was applied to various arbitrary shaped areas, while varying the minimum loiter radius (), to verify it applicability. Simulation results for one such area and setup have been shown in Fig. 4. To show that the algorithm works perfectly for difficult nonconvex area shapes (and to be a bit geeky), the area shape has been made to look like UH, which stands for University of Hawai’i in this case. The parameters used for the simulation have been listed in Table. 1. The arbitrary geometric area boundary has been shown as the black polygon. The value of FOV of the sensor has been taken to be 45 and this results in the coverage radius equal to the altitude level and
Fig. 4(a) shows the initial deployed UAV network at altitude level with loiter radius . The packing squares (shown in dashed grey lines) are inscribed by the respective loitering circles (shown in red), where each circle represents the path for a UAV. It can be seen that the area is fully covered using the least number of loitering UAVs while skipping the undesired areas.
(m)  [100, 50, 100, 200, 275, 475, 550, 650, 700, 700, 875, 875, 1075, 1075, 1250, 1250, 

1075, 1075, 875, 875, 700, 700, 650, 475, 475, 420, 330, 275, 275, 100]  
(m)  [1000, 500, 200, 150, 100, 100, 150, 200, 400, 100, 100, 350, 350, 100, 100, 1000, 
1000, 650, 650, 1000, 1000, 600, 1000, 1000, 350, 300, 300, 350, 1000, 1000]  
Loiter radius (m)  
Bounding Square (m)  1330 980 
Number of Initial Nodes  109 
Number of Lost Nodes  19 
FOV  45 
In Fig. 4(b), a random node loss scenario is applied, which results in node dropouts spreading across the area (marked by solid brown squares). Ten of the supersquares have lost one subsquare node each, three of them have lost two each and one of them has lost three subsquare nodes. The gray shaded squares represent still active UAVs after the dropout, which are loitering on circles inscribing those squares. The circles have not been shown to make the plot less crowded. These failed nodes, each being considered a subsquare, belong to various supersquares across the area. At this point, the algorithm aims to resolve the issue locally and restore the coverage by sending some of the subsquare nodes from the supersquares which have lost members to altitude level .
After the algorithm is applied, the resolved network has been shown in Fig. 4(c). The lost nodes have been shown in solid light brown and the chosen recovery UAVs have been shown in solid blue. The new trajectories for the recovery UAVs are the loiter circles inscribing the blue squares shown in the figure. It can be seen that each supersquare which had lost one or more of their subsquare nodes chose one survivor subsquare node and sent it to the altitude level to loiter at radius . The new loiter circles for the active nodes have been shown in Fig. 4(d).
Fig. 5 shows how all the assigned UAVs move from a lower altitude level (= 80 metres in this case) to a higher one (= 160 metres) using Dubin’s paths. The desired coverage area has been shown in black. The start positions are on the lower loiter circles (shown in brown) of radius and the point where they join are on the larger loiter circles (shown in blue) . The gray circles at the lower level do not go under the transition and continue loitering at the same level. The effect of the turn radius constraint can be seen in the plot. In cases where these circles are far apart in height, the UAVs trace helical paths to get to the target loitering circle at a higher or a lower altitude. All the assigned subsquare loiter UAVs move to altitude level for synchronised loitering and coverage, and this completes the recovery process.
5 Conclusion
This paper presents an approach to deploy and maintain a network of fixedwing unmanned aerial vehicles for persistent coverage over an area. This is to exploit the superiority of fixedwing vehicles over traditionally used rotortype vehicles in terms of endurance, making them better suited for longterm and large scale deployment problems. The initial locations for deployment over an arbitrary geometric area are generated by adaptive square packing, and failures of nodes are handled by flying at different altitude levels as required. This is a distributed approach for failure detection and handling, and is scalable for various area sizes. It can also adapt to difficult deployment area geometry and vehicles with various specifications. Simulation results show that the algorithm is applicable to all sorts of arbitrary geometry of an area, and can also be implemented by various UAVs with diverse physical properties and constraints.
A future research direction for this work is the experimental verification of the proposed algorithm, using standard miniUAV platforms, by varying fleet size and minimum loiter radius. Another research direction is to modify the algorithm to implement it with heterogeneous UAVs flying at the same altitude level, and to introduce the weights based on coverage information importance within the deployment area.