**1. Introduction**

Unmanned aerial vehicles (UAVs) are achieving ground-breaking success in many application areas such as temporary infrastructure, monitoring and tracking, data collection and surveying, and delivery of goods [1]. The modern UAVs have the ability to carry a variety of payloads' equipment to perform desired missions with realtime processing. The UAV market in experiencing an exponential growth due to the wide range of the practical applications in hazardous, uncertain and threatening areas [2]. Recently, due to the integration of internet of things and cloud technologies with the UAV the application scenarios of UAVs are becoming more and more advance [3]. The civilian real-life economic applications of UAVs such as traffic monitoring [4], air quality monitoring [5], disaster management [6], communication relays [7], and infrastructure inspection [8], among others, are more attractive applications. Despite having many promising applications in each sector, UAV usage without human control imposes several challenges that need to be resolved. Apart from the physical challenges, in many applications, a UAV needs the ability to compute a path between two pre-determined locations while avoiding various obstacles or to find a path which covers every reachable point of a certain area or volume of interest which is called coverage path planning (CPP). In this work, our focus is on the CPP for UAV's navigation in 3D urban environments with fixed obstacles for coverage missions.

CPP is classified as subtopic of the path planning in robotics where it is necessary to obtain a low cost path that covers the entire free space of a certain area or volume of interest with minimum overlapping [9]. CPP is a non-deterministic polynomial time hard (NP-hard) optimization problem. Due to the extensive use of UAVs in many fields for complex missions, the problem of CPP for single and multiple UAVs has been a very active area of research, especially during the last decade [10,11]. Depending upon the type of information available for the UAV workspace, the CPP are divided into two major categories global and local. Several CPP algorithms have been proposed for covering a regular or irregular shaped area of interest (AOI) with visual sensor and thermal sensor, etc. mounted on the UAV [12–14]. The basic approach adopted by most of the offline CPP algorithm is the area decomposition into non-overlapping subregions, determining the visiting sequence of the subregions, and covering decomposed regions individually in a back and forth manner to obtain a complete coverage path. Decomposition-based methods are promising in achieving the complete coverage of the target area. Classical exact cellular decomposition [15], morse based decomposition [16], landmark based topological coverage [17], grid-based methods [18], contact sensor-based coverage [19], and graph based methods [20] are well-known decomposition-based coverage methods.

Most of the existing CPP algorithms for UAVs do not provide thorough insight into complete coverage of the AOI by considering sensor footprints as coverage unit particularly regarding the efficient and complete coverage of the AOI with footprints' sweeps fitting in complex 3D urban environments. The authors of [21] have explained that most of the existing algorithms employ the same sweep direction in all subareas which may not be able to obtain optimal results. Recently, various approaches have been proposed to compute a low cost coverage path such as mirror mapping method [22], viewpoints sampling [23], in-field obstacles classification [24], optimal polygon decomposition [25], and context-aware UAV mobility [26]. Despite the success of such techniques, in most cases, either many locations of the target area are covered repeatedly, or computing time degrades [27]. In addition, most of the algorithms have limited applicability in relation with the shape of the target area [21,28]. When the shape of AOI is changed, the algorithm performance is no longer feasible. Furthermore, the majority of the algorithms do not consider the decomposition of the AOI with relation to the camera/sensor footprints which can significantly increase the number of turns in the path. To overcome the aforementioned limitations, this study proposes a new coverage flight path planning algorithm that fulfil the multiple objectives of CPP.

The rest of the paper is organized as follows; Section 2 explains the background and related work regarding well-known coverage path planning algorithms. Section 3 presents the proposed coverage flight path planning algorithm and explains its principal steps. Section 4 discusses the experiments and simulation results. Finally, conclusions and future directions are offered in Section 5.
