The use of UAVs for remote sensing operations has become increasingly popular in recent years, as they provide a powerful, low-cost tool to acquire high-resolution data in designated regions of interest (ROIs). Recently, enterprise domains have been exploiting UAVs to collect specific types of data and perform some specialized tasks. Currently, some of the most common applications of UAVs’ remote sensing are (i) precision agriculture [
1,
2,
3], (ii) search and rescue [
4,
5], (iii) infrastructure inspection [
6,
7] and (iv) surveillance operations [
8,
9]. To make such operations more efficient in terms of resources’ usage and quality of gathered data, the UAV missions are usually automated with a mission planner (such as Ardupilot Mission Planner (
http://ardupilot.org/planner, accessed on 14 June 2023), Pix4DCapture (
https://www.pix4d.com/product/pix4dcapture, accessed on 14 June 2023), Drone Harmony (
https://droneharmony.com, accessed on 14 June 2023) and DJI Flight Planner (
https://www.djiflightplanner.com, accessed on 14 June 2023) generating paths for the vehicle(s) participating in the mission, indicating the route to be followed and the specific points where data should be collected. The most common type of path planning used for remote sensing operations with unmanned vehicles is Coverage Path Planning (CPP) [
10], where the objective of the missions is to collect data out of the whole designated ROI, respecting the motional capabilities and limitations of the vehicle(s) used and taking into account the specifications of the sensor(s), while at the same time usually trying to increase the missions’ efficiency by minimizing some metric (e.g., number of turns, paths’ length, operational duration, etc.).
Most commercial mission planners use simple back-and-forth coverage patterns (boustrophedon) [
11]. This CPP approach is the simplest one available, making it easy to use, and provides almost complete coverage for all shapes of ROIs. However, the CPP domain is an active research field, and thus there are several other approaches available [
10,
12,
13], offering significantly increased operational efficiency while still ensuring complete coverage or providing solutions to more specialized problems and applications that coverage missions are needed. There are several categories of CPP methods which are divided based on different criteria (i.e., cellular decomposition/grid-based, single/multi-robot, on-line/off-line, energy-aware/non-energy-aware, etc.). This work focuses on the grid-based methods, i.e., methods that use a grid (matrix) to design the coverage trajectories.
1.1. Related Work
Out of the numerous grid-based CPP works, in this section, we have selected to present some of the most interesting, relatively recent ones. The works are presented in ascending chronological order and some of the advantages and disadvantages of each work are highlighted.
The authors in [
14] propose an offline flight planner for a quad-rotor UAV that calculates coverage trajectories to ensure qualitative data gathering for image mosaicking. The presented solution segments the workspace (ROI) using approximate cellular decomposition, with the size of each cell determined by the UAV’s sensor reading and the desired overlap between two sequential images, to facilitate post-processing of the data for image mosaicking. Next, the wavefront algorithm is applied to the grid graph generated in the previous step, to calculate the path that optimally covers all graph nodes. To generate a smooth trajectory, cubic interpolation is used. The resulting trajectory can be sent to any quad-rotor equipped with a trajectory tracking controller, to execute the coverage mission. While the proposed approach seems promising, the paper lacks a significant evaluation of the generated paths with metrics. Additionally, the method is not presented to handle No-Go-Zones (NGZs) inside the ROI or geo-fenced flight areas, which may limit its applicability in certain scenarios.
In [
15] a grid-based methodology for multi-robot Coverage Path Planning (mCPP) is presented. The key idea in this work is that the multi-robot problem can be solved efficiently by dividing the overall ROI to exclusive sub-regions, equal to the number of robots that will be utilized for the coverage procedure, and then solve a typical CPP problem for each sub-region. For this work, the “Divide Areas Algorithm for Optimal Multi-Robot Coverage Path Planning” (DARP) algorithm is introduced to undertake the area allocation procedure. As a next step, the Spanning Tree Coverage [
16] (STC) algorithm is applied to all sub-regions to generate the coverage paths inside them. The methodology presented in the paper offers a simple, efficient and safe solution to the multi-robot problem, eliminating the possibility of intersecting trajectories, that can contribute to the development of more efficient and effective mCPP solutions for various applications. However, the paper’s evaluation is limited to simple simulated environments and further modifications and preparatory steps are necessary for the methodology to be applicable to real-world coverage missions.
In [
17], the authors propose a grid-based CPP method for scanning “irregular-shaped areas” with UAVs, intending to minimize the energy consumption both during the trajectory’s generation (reduced computational time and consumption) and during the execution of the actual mission (energy-efficient paths). The authors argue that the traditional back-and-forth coverage patterns are inefficient for complex-shaped ROIs and that existing grid-based methods demand high computational time, resulting in “inefficient and expensive paths” that may not be practical for real-world operations. The presented method supports non-convex polygon ROIs with No-Go Zones (NGZs) defined inside them, as demonstrated by examples from simulated runs and the computational time analysis. The results indicate that the claimed energy improvement, compared to what the authors consider to be state-of-the-art, has been achieved. However, the generated trajectory contains intersecting points, introducing unnecessary overlap that does not contribute to the coverage procedure, showing that there is potential for further efficiency improvement. Moreover, the generated path does not strictly adhere to the defined ROI or avoids NGZs, a common issue with grid-based methods due to the discretization process.
In [
18], a different grid-based energy-aware CPP approach for UAVs is proposed, which aims to find an optimal path that fully covers the designated ROI with minimum energy consumption and reduced completion time. The methodology starts by using a cellular decomposition technique to represent the ROI on a grid and generate a heatmap where the heat of each cell, in a range of [0, 1], indicates the percentage of the cell that belongs to the ROI. The size of each cell corresponds to the footprint of the sensor. Next, a “tractor mobility pattern” that covers all nodes without leaving any gap is generated, and the heatmap created in the previous step is used to determine the turning points to avoid adding distance to the path that does not contribute to coverage. The scanning direction is selected to be parallel to the longest side of the grid, reducing the number of turns and energy consumption. However, the method does not handle the relative placement of the ROI and the grid, which can lead to unnecessary turns for certain topologies. The resulting trajectory follows a typical back-and-forth pattern that completely covers the designated ROI but does not strictly adhere to the region’s boundaries and cannot support the definition of NGZs inside it.
In [
19], the authors extend the work presented in [
18] to allow for the definition of NGZs inside the ROI and enable multi-UAV operations, by proposing an area partitioning method called “Parallel Partitioning along a Side (PPS)”. This work aims to completely cover a ROI that includes NGZs without passing over them, utilizing multiple UAVs, while ensuring minimal energy consumption. The methodology’s main steps include area representation on a grid, partitioning the area around the NGZ and generating paths in each separate partition. The resulting trajectories inherit the advantages mentioned in [
18], however, the same stands for the limitations excluding the handling of NGZs. The paper presents promising results but lacks examples of very complex-shaped polygon ROIs with complex NGZs, that could expose disadvantages deriving from the common discretization issues often met in grid-based methodologies, as mentioned above as well.
In [
20] the authors present a mCPP algorithm for operations in environments with multiple land cover types. As they mention, the complexity of the outdoor environments can reduce the task execution efficiency with the utilized robots, especially in emergency search and rescue operations. To deal with this issue, the authors propose coverage operations with variable distance among the scanning trajectories, depending on the land type of the ground below. The presented algorithm first describes the “visual fields” of the robots in different land cover types, then performs an “approximately balanced task assignment” to the robots, considering the moving speeds in different land cover types, and finally applies a modified version of the STC algorithm in each of the exclusive sub-regions, to generate the coverage trajectories. The presented solution is applied in a ROI—deriving from a remote sensing image—where a comparison with different CPP methods is performed as well. While this work introduces a very interesting concept to the CPP research domain, it is not clearly presented how it could benefit specific types of operations, and it seems that several additional parameters should be taken into consideration before applying it in real-world operations.
The authors in [
21] present a grid-based mCPP method to acquire high-quality images suitable for precise 3D reconstructions. The proposed CPP method provides complete coverage of the ROI, with reduced energy consumption for the UAVs, while ensuring the required overlap among the collected images for a qualitative 3D reconstruction. To segment the overall ROI and fairly allocate exclusive sub-regions to each UAV, the authors adopt a ray-scan-based area division technique, overcoming the operational limitation imposed by the small battery capacity of common commercial multi-coptered UAVs. Finally, a simulated annealing algorithm is used to find “near-optimized paths” for each sub-region. The proposed system was validated through a single site experiment, achieving considerable reduction in energy consumption and paths’ length, compared to the traditional back-and-forth coverage pattern. Although the generated paths include a relatively large number of turns, which increases the time required to complete the mission and the energy consumption, this “complexity” in the paths may provide better results for 3D reconstructions, as it allows for the collection of data from multiple angles. It should be noted that the selected take-off position in the single real-world experiment does not complement the back-and-forth method, as the UAVs have a considerable distance to cross back to that position after completing the mission.
In [
22] a work for search and rescue operations with multiple UAVs in the maritime domain is proposed, based on hexagonal grid decomposition. The main objective of this work is to generate search paths that cover all the generated nodes, in the shortest amount of time possible, since in such operations time is critical. Based on the idea that the cells’ shape and placement can lead to very different generated trajectories, the authors present a method where multiple heterogeneous UAVs can operate simultaneously to cover a ROI, that has been previously represented on a hexagonal grid. In the presented solution, the cell’s size is determined by the sensor’s footprint to ensure effective coverage. While this work does not present any significant breakthrough, it demonstrates how the grid’s type can affect the generated trajectories and possibly benefit specific types of applications, something that is not usually taken into account by researchers.
In [
23] the authors propose a CPP algorithm called Parallel Self-Adaptive Ant Colony Optimization Algorithm (PSAACO), that supports the definition of NGZs inside the given ROI. To avoid NGZs, the authors propose a Dynamic Floyd Algorithm (DFA), which can dynamically add deviation points to the generated trajectory without significantly increasing the overall computational cost. The simulated evaluations performed prove that the proposed method has the smallest energy consumption and completion time compared to the alternative CPP solutions used in the study. While this work proves the claimed benefits through simulated experiments, all of the example ROIs (both the boundaries of the region and the NGZs inside them) conveniently coincide with the grid’s cells, showing that the features of the presented work mostly refer to the representation of the ROI on the grid and not necessary the ROI itself.
In [
24], the authors build upon the base methodology presented in [
15] and propose an end-to-end platform for remote sensing operations with multiple UAVs, optimized for real-world applications. This work presents all the necessary steps to apply a grid-based method in real-world scenarios, such as coordinates’ transformation, ROI’s representation on grid, task allocation and path generation. The authors package all the components required to deploy a multi-UAV coverage mission into an end-to-end, user-friendly platform, including a graphical user interface (GUI) and a database, allowing to define, store, launch and manage the missions, and a custom application to execute the generated paths with commercial coptered UAVs. The main contribution of this work is an optimization procedure that calculates the optimal relative placement between the grid and the ROI, using simulated annealing algorithm, to ensure an increased percentage of coverage for STC and grid-based CPP methods in general. In addition to that, the base methodology [
15] is extended to allow for proportional area allocation and to reduce the number of turns in the paths, to make them more efficient. A comparison with a powerful state-of-the-art method demonstrates the high efficiency of the paths in terms of turns’ number and path’s length, which become reflected in completion time and energy consumption, and overall coverage scores. A multi-robot marginal utility study demonstrates the benefits of multi-UAV missions in terms of operational time and costs for certain missions. Finally, two real-life experiments demonstrate the applicability and robustness of the proposed solution in indicative use cases, such as precision agriculture and search and rescue. The proposed mCPP method manages to provide efficient paths even in the most complex-shaped ROIs with NGZs inside them, something that is not very common in the CPP domain. However, while the optimization procedure significantly improves the percentage of coverage achieved, it does not completely solve the discretization issues caused by the representation of a continuous ROI on a grid. In rare cases, the paths can cross a NGZ or the boundaries of the ROI and the percentage of coverage is high enough but not always complete (∼100%) for the benchmark ROIs used in the evaluation.
Table 1 summarizes the works presented in this section. In this table, N/A stands for not-applicable and N/E stands for not-evaluated. At a glance, it is clear that while several works are applied, or at least easily applicable to real-world scenarios, the quantitative evaluation of a method’s coverage performance is not (yet) a very popular practice among CPP research works. In addition to that, while about half of the works allow the definition of NGZs inside the ROI, the generation of strictly geo-fenced paths (either regarding the ROI, or the NGZs) is a matter that does not seem to particularly concern the domain’s researchers. Overall, although several interesting ideas are presented in the recent grid-based CPP works, almost none of them deal with the efficient representation of the ROI on grid first. The features of the introduced methodologies apply to the representation of the actual ROI on a grid, with the researchers neglecting the fact that this representation may differ significantly, depending on the shape of the ROI and the mission’s specifications. Out of the presented works, only [
24] considers such issues, however, it still does not manage to completely eliminate the problems caused by them.