# Coverage Path Planning with Semantic Segmentation for UAV in PV Plants
## 1 Introduction
The first performs the coverage with a single UAV, for which no decomposition technique is required, because the shape of the RoI has a non-complex geometry. The second divides the free space into simple, non-overlapping regions called cells. The union of all cells fills the free space completely. The cells in which there are no obstacles are easy to cover and can be covered by the robot with simple movements. The third is based on grids. They use a representation of the environment decomposed into a collection of uniformly squared cells [55], considering rectangular, concave, and convex polygons for Rols. In addition to this, CPP performances were assessed with applied metrics according to [39]. The elemental approach most used to solve offline CPP problem sits the area decomposition into non-overlapping sub-regions [56], to determine the appropriate visiting sequence of each sub-region and to cover each decomposed region in a back-and-forth movement to secure a complete coverage path. As a result, the methods for obtaining complete coverage of an RoI are the exact and approximate cellular decomposition methods [57; 58; 59]. On the other hand, image processing helps to obtain a map of the robot or RoI. Robots, such as UAVs, need to know the RoI before commencing CPP [60], which represents where the PV plants are and can be determined in a process called boundary extraction [61; 62]. Then, the deep learning (DL) image segmentation technique, also known as semantic segmentation [63], is achieved by applying deep convolutional neural networks (CNN), such as the U-Net network model [64; 65] or the FCN model [66], which dramatically enhance the segmentation results. Once the segmentation is done and the mask is obtained or the RoI is identified, the GCS calculates the CPP that guides the UAV in the automatic plant inspection, during which it captures images of PV plants [67]. Most of the failures occur at the centimeter or millimeter level, and that poses a challenge for the inexpensive sensors available today [68]. Tests of coverage paths it can be conducted with drones in a real or simulated environment. The most viable option for this stage of the work is simulation, as verified by other research [69; 70; 71; 72]. Simulation has been recognized as an important research tool; initially, simulation was an academic research tool, but with the advancement of computers, simulation has reached new levels. It is a remarkable tool that guarantees support in design, planning, analysis, and making decisions in different areas of research and development. Of course, robotics, as modern technology, has not been an exception [73; 74]. This work is focused on implementing the best strategy of coverage path planning (CPP) over PV plants with UAVs using semantic segmentation in a deep learning server to obtain the RoI. The experimental results were obtained by simulating the CPP methods and using UAVs, such as the 3 DR Iris and Typhoon aerial robots. The key contributions of this work are as follows:  
* This work proposes CPPs as a novel strategy for conducting an inspection flight over a PV plant with an UAV, since there are no previous reports of such work. * This work used three CPP methods over three PV plants, which were modeled in a simulation environment to evaluate metrics and parameters. As a result, a relationship was found between the CPP width and energy consumption, and according to that, the best CPP method to implement. * This work proposes a hybrid CPP method that uses image processing and a DL server to find the RoI quickly and accurately, becoming a semi-automatic process. * A free simulation tool is provided, with an interface to simulate the inspection of PV plants with UAVs. This paper is structured as follows. In Section 2, necessary definitions and the techniques used to obtain the results are described. In Section 3, the three CPP methods implemented are compared to show relationships among the CPP width, number of maneuvers, and energy consumption, with the aim of finding the best CPP method to implement.