Optimization of coverage mission for lightweight unmanned aerial vehicles applied in crop data acquisition

Optimization of coverage mission for lightweight unmanned aerial vehicles applied in crop data acquisition

Expert Systems With Applications 149 (2020) 113227 Contents lists available at ScienceDirect Expert Systems With Applications journal homepage: www...

4MB Sizes 0 Downloads 42 Views

Expert Systems With Applications 149 (2020) 113227

Contents lists available at ScienceDirect

Expert Systems With Applications journal homepage: www.elsevier.com/locate/eswa

Optimization of coverage mission for lightweight unmanned aerial vehicles applied in crop data acquisition Liseth Viviana Campo a,∗, Agapito Ledezma b, Juan Carlos Corrales a a b

Telematics Engineering Group, University of Cauca, Street 5 Nº 4-70 190003 Popayan – Cauca, Colombia Control Learning and Optimization Group, University Carlos III of Madrid, Avda. de la Universidad, 30 28911 Leganes – Madrid, Spain

a r t i c l e

i n f o

Article history: Received 5 December 2018 Revised 8 November 2019 Accepted 19 January 2020

Keywords: Coverage Crop Heuristic Positioning Unmanned aerial vehicle ROS

a b s t r a c t The crop data acquisition with unmanned aerial vehicles is a popularized alternative to manage the agricultural processes, due to data emerging from portable sensors for image-gathering. Nevertheless, most unmanned aerial vehicles for data acquisition excess the cost of hundreds of dollars, making them inappropriate for small agricultural producers. In this paper, we proposed to achieve crop data acquisition using a Lightweight Unmanned Aerial Vehicle (LUAV), available at a reasonable cost. However, a LUAV has less flight time and robustness than the professional vehicles. To overcome the limitations, we designed a LUAV agent with the goal of optimizing coverage paths using a heuristic strategy in known areas. The path to follow can be selected from three algorithms, Wavefront, Dijkstra or Spiral, which are compared to define an option for the crop under study. A second goal is to improve the LUAV robustness, which was resolved from planning by selecting the start of the coverage mission in order to the flight lines cross the direction of the wind. We complemented the robustness of outdoors positioning using a Kalman Filter extension to specify movements during missions. Finally, using an AR Drone 2.0 quadcopter, we developed a prototype of the LUAV agent to obtain the mosaic of a grass crop. The results respect to optimized coverage mission showed that the Spiral algorithm with a Backtracking technique and avoiding areas of little interest, got the balanced score between revisits, turns, coverage percent and traveled distance. About the LUAV robustness in the presence of wind, the results stated an error of less than 2 m, considered acceptable for image-acquisition purposes. The developed work is simple but effective, and makes evident the viability for that any LUAV type can support the precision agriculture processes in favorable costs. © 2020 Elsevier Ltd. All rights reserved.

1. Introduction Unmanned aerial vehicles (UAVs) commercially known as drones, are housed in countless applications. They are a useful tool for reaching unexplored places and obtaining information about different phenomena without risking human integrity. Although, they are an invention from warlike scenarios, new portable sensors and satellite positioning have popularized the UAVs for civil applications. In the civil scenarios, the vertical take-off and landing models are favorite for their cost and easy maneuverability. These models are known as multi-rotor UAVs and have a wide scope of action in agricultural and environment applications (Grenzdorffer, Engel & Teichert, 2008). In agriculture, multi-rotor UAVs are frequently used for crop data acquisition. This task begins by defining the objective of the mission (soil, vegetation, wood-



Corresponding author. E-mail addresses: [email protected] (L.V. Campo), [email protected] (A. Ledezma), [email protected] (J.C. Corrales). https://doi.org/10.1016/j.eswa.2020.113227 0957-4174/© 2020 Elsevier Ltd. All rights reserved.

land, etc.), then, the sensor is selected, consequently the spatial resolution and flight altitude (Zhang & Kovacs, 2012). With the flight parameters and a path for visiting waypoints on the crop, an UAV system gathers data that are later analyzed to describe the state of the plants; an example of a low-cost solution is in Bolaños, Campo and Corrales (2017). An UAV system in the present paper, is an autonomous entity, with acting and perception capabilities, goal reaching, defined behavior and possible interactions, it is an intelligent physical agent (Wooldridge & Jennings, 1995). According to the agent-based systems, our UAV agent is designed to act under the Newton-Euler model by movements based on the power management of multiple rotors. The perception is given from the internal and external sensors. A UAV agent has positioning and orientation sensors to monitoring its state and navigation; complementary the agent has at least one external sensor to receive information from environment or observed phenomena, as example, a GNSS receptor or camera. As any intelligent agent has goals, in this case is to complete a coverage mission to capture data from the environment like

2

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227 Table 1 Techniques to optimize zig-zag paths. References

Technique

Time gained

Hameed (2014) Di Franco and Buttazzo (2016) Torres et al. (2016) Vasquez-Gomez et al. (2016)

Path orientation according to slope of the area Path orientation according to straight flight lines Path based on the reduction of the turns Estimation of the energy according to the wind direction

10–15% No reported 10% Not reported

the behavior of a traveling salesman, which is reached by following an optimized coverage path with preferably linear movements, avoiding obstacles. The first step to reach the LUAV agent goal is the external sensor calibration, it is done to get the high-accuracy mapping. The external sensors are frequently hyper-spectral, multi-spectral, nearinfrared, thermal or visible cameras, which are frequently compact digital cameras. The complexity of the calibration process increases according to the spatial and spectral capacities of the cameras and the object distance (Yusoff, Ariff, Idris, Majid & Chong, 2017). The calibration techniques depend on the camera type. If the camera is non-metric, it does not require any additional parameters to define the internal orientation; but if it is metric the calibration method is provided by the manufacturer (Fryskowska, Kedzierski, Grochala & Braula, 2016). For non-metric cameras (it is used in this research) exist software and proposed methods to correct geometric deformations (Gašparovic´ & Gajski, 2016), radiometric errors or the effects of the atmosphere (Yang et al., 2017) on the images. Regularly, the spatial methods are based on a test field similar to chessboard. Other important process in the LUAV agent goal is the planning to visit waypoints in the crop, the main theme for the current paper. This procedure is an extension of the problem known as Coverage Path Planning (CPP). CPP seeks a solution to visit all the waypoints in an area or volume, avoiding obstacles and areas of little interest (ALIs) (Galceran & Carreras, 2013). CPP with UAVs frequently is a zig-zag path computed with mapping software, which leave aside mission optimization by considering a greatest overlap and robust UAVs. To cite an example, in MesasCarrascosa et al. (2017) generate the accurate ortho-mosaics with a multi-spectral camera. The results indicated an improvement in spatial accuracy with an overlap of 40–70% and the flight altitude of 90 m. However, the mentioned works and others have the challenge of massive technology appropriation outside research purposes, since the professional UAVs and its mission planning software are not usually within the budget of small farm producers. This difficulty has motivated us to propose a low-cost solution, considering open source UAVs (valued between 300 and 500 dollars), who can adapt the hardware and software according to the mission. Nevertheless, the cited UAVs are less accurate than the professional UAVs for crop data acquisition, so they are vulnerable to disturbances as the wind and they also have a restricted flight time to minutes. Our study denotes this type of UAV as Lightweight Unmanned Aerial Vehicles (LUAVs). With the limitations for data acquisition using LUAVs in scenarios like crops, is necessary to overcome the power limitations and lack of robustness. These deployment challenges lead us to the research proposal in this paper. Consequently, we found related works to optimize the mission in two focus: the first one optimizes the zig-zag path and the second involves paths based on heuristics. In the first focus, we found a proposal for crops in Hameed (2014), where CPP minimized the time of the operation, calculating the orientation of the zig-zag path according to the slope of the area. The experimental results reduced energy expenditure between 10 and 15%. In Di Franco and Buttazzo (2016) an experimental model of battery consumption is proposed to plan a zig-zag path. The orientation path was according to the minimal

energy expenditure in straight flight lines. In Torres, Pelta, Verdegay and Torres (2016), we found an alternative with closed zig-zag paths to cover convex and concave areas. The performance strategy was based on the reduction of the turns. Considering wind, we found in Vasquez-Gomez, Gomez-Castañeda, De Cote and HerreraLozada (2016) a model to estimate the energy, according to the wind direction. They demonstrated that flight lines should not be always in the same direction of the wind, as fundamentals of photogrammetry indicate. According to previous related research in Table 1, CPP solutions based on zig-zag paths are optimized by the sweep direction in the area, reaching around 10% of performance respect to a regular zigzag. In this focus, few studies take the ALIs to optimize mission, and they obtain a full coverage with a great overlap. These works take for granted the robustness of the UAV. For the focus based on heuristics, the work in Valente, Sanz, Del Cerro, Barrientos and de Frutos (2013) proposed a coverage algorithm by BFS (Breadth First Search) on a labeled area with Wavefront propagation; which resulted in a 27% of time gained with respect to the zig-zag path. An extension of this work is found with a cubic spline technique to generate smooth paths. A different approach was found in Lin and Goodrich (2014), the authors solved the CPP with algorithms based on probability functions. The proposed algorithms were called Top 2 and Top N displayed in a grid, generating spiral paths. The main contribution of this work was the decentralization of the coverage path with a greater probability function, which optimized the time. The researchers in Geng et al. (2014) solved a coverage mission with UAVs including gimbals. The method decomposes the area in grid to obtain waypoints. Each waypoint has a camera location. The optimized path was calculated with a bi-objective genetic algorithm (GA): shortest path length and minimum exposure. Following the meta-heuristics approach in Kamal, Jackman and Grieve (2014) was solved the Travelling Salesman Problem (TSP) in a crop. The evaluation of the solution path is based on computational parameters and total coverage. The results maintained a preference for the algorithms of colonization of ants (ACO) and simulated annealing (SA). In Phung, Quach, Dinh and Ha (2017) a discrete PSO (Particle Swarm Optimization) algorithm was proposed to select an optimal path, considering deterministic starting, random mutation and edge exchange. In this sense, the research described results of 15% improvement in traveling cost. In Li, Zhao, Zhang and Dong (2016) described a solution for CPP with three stages; in the first stage, they modeled the terrain with Bezier surfaces to estimate the power model of the second stage. The power model calculated the thrust and speed to build an energy consumption map. In the third stage, a genetic algorithm found out the paths with minimum total cost. The simulations concluded that the traditional zig-zag path was the longest. Recent approaches such as Mansouri et al. (2018) considered the camera footprint with 3 degrees of freedom for coverage of a polygonal area. Path planning was selected comparing three metaheuristics: Pattern Search, Genetic Algorithm, and PSO. With regard to the coverage solutions in Table 2, we found a trend towards metaheuristics like PSO, ACO and GA with time gained less than the results registered by BFS, which presented 27% of time gained with respect to the zig-zag path. However, the com-

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

3

Table 2 Optimized paths using Heuristics. Reference

Technique

Time Gained

Valente et al. (2013) Lin and Goodrich (2014) Geng et al. (2014) Kamal et al. (2014) Phung et al. (2017) Li et al. (2016) Mansouri et al. (2018)

BFS Probability functions Bi-objective GA ACO and SA metaheuristics PSO GA Comparison of Pattern Search, Genetic Algorithm, and PSO

27% No reported No reported Not reported 15% 8% Not reported

putational cost and the time required to find an optimized path with these techniques vary exponentially with the number of waypoints. Further, in practice, these options must evaluate the scalability in applications such as crop data acquisition. There are few works that include wind; and they are simulations or tests in controlled environments. Few works above overcome the robustness lack, the purpose is to guarantee stability and reject external disturbances as the wind; therefore, frequently the optimal control techniques are applied to the LUAV complex dynamics. As examples, the study in Mystkowski (2012) shows a non-linear robust control technique for LUAV using combination of the singular value (μ) and μ-synthesis technique. For non-linear systems were founded also researches in hybrid control architectures as Lee, Leok and McClamroch (2013), who used the geometric methods on SE(3) for tracking control. The last examples are demonstration of a hard research line that integrates multiple papers and books with different extensions and variations, however, our approach is centered for real-time control using minimum computing resources, and in this sense, the optimized control line presents the Kalman Filter extensions as the preferred solutions by their simplicity and precision in navigation (Siouris, 1996). We have taken the Kalman Filter extensions as reference without deepening, since this is not the center of our contribution, it should be a complementary element to reduce the impact of the wind disturbance. As the response to the research challenges above, we propose a LUAV agent designed for photo acquisition that manages power and robustness for a coverage mission in outdoor environment. Our agent goes beyond a contribution in the physical agents, it is also aimed as a low-cost solution for small agricultural producers who wish to manage information in the precision agriculture cycle. The agent hardware consists of a LUAV with integrated camera and a processing module running ROS (Robot Operating System). The agent manages the energy by following an optimized CPP based on a simple heuristic, although it may incur non-global solutions, a Backtracking strategy guarantees full coverage. The algorithm calculates the coverage path taking advantage of the identified ALIs in a known to minimize the distance traveled and it is selected off-line according to the path performance parameters from the Wavefront, Dijkstra or Spiral algorithms. The ALIs in an area are identified by pixel analysis of a geo-referenced map. To increase the robustness of the agent in outdoor missions, we define the start in such a way that the path orientation crossing the wind, which minimizes possible drift. Besides, our agent does not suppose an ideal positioning as in previous work, we evaluate two Kalman Filter extensions for a global positioning, and the study presented the Extended Kalman Filter (EKF) as the option by specifying better at flight height. The experiment takes as case study a grass crop in Popayan, Colombia ending up with the 2D digital construction of the observed crop. The structure of the article begins in Section 2 with materials and methods for crop data acquisition and details of our CPP for LUAVs. Section 3 discusses the results with a grass crop as case study. In Section 4 we outline the conclusions and future work about the research.

Fig. 1. Camera footprint.

2. Materials and methods 2.1. Research context Our proposal is for an application that requires covering regions with specified areas of interest to abstract a continuous map, as in the case of crops. For instance, some crops frequently do not have a single plant species; because they can take the nutrients, shade, or protection of other plants. These additions are not usually important in spatial monitoring using aerial images. But the point considered in our research are crops with small buildings, roads or objects in the middle, which is not relevant for the final results of data acquisition. With the specification in crops, we do not want to limit our method for other applications. However, we consider the crops as a case study with the aim of strengthening agricultural processes of small producers by means of the appropriation of UAVs. Therefore, LUAV agents are our bet. In our proposal, a LUAV agent has global navigation capability, the weight of a LUAV does not exceed 500 g and it has 10 min of flight time approximately, from take-off to landing. A LUAV agent has a constant speed and maintains a fixed altitude. The flight dynamics of the agent is based on Newton-Euler model, which relates the forces (F1, F2, F3, F4 ) and moments (M1, M2, M3, M4 ) to describe linear and angular movements of LUAV in each coordinated axis (Bristeau, Callou, Vissière & Petit, 2011). Furthermore, a camera pointing downward is necessary. Finally, the footprint of the camera is a rectangle, which favors the discretization of the coverage area for the resolution of the CPP problem (Fig. 1). The center of each rectangle is a waypoint for the LUAV agent navigation. We set the dimensions of the camera footprint Lx, Ly, considering a camera parallel to the ground; h is the flight height and α is the angle of view of camera. Hence, Lx and Ly are expressed in Eq. (1), where Lx is the width of the image and Ly is the height of the image.

Lx = 2 ∗ h ∗ tan(a/2 ), Ly = Lx ∗ Iy/Ix

(1)

4

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

Fig. 2. Overlapping on horizontal side. Table 3 Characteristics of AR Drone 2.0. Characteristics

Description

Battery Flight Time Weight Internal Frame Telemetry and control Processor GNSS Receiver Front Camera Gyroscope Accelerometer Magnetometer Pressure sensor Inertial Moments (Ixx, Iyy, Izz) Thrust, Drag

1500 mAh LiPo 10 min 380 g WiFi ARM Cortex A8 1 GHz, 32-bit, Linux 2.6.32 SIFR 4, 5 Hz, +/−2 m 720p, 30fpS, 93º diagonal 3 axes, +/− 2.00 º/s 3 axes, +/−50 mg 3 axes, +/−6º +/−10 Pa 7.8 × 10−3 , 7.8 × 10−3, 15.1 × 10−3 N m s2 54.2 × 10−6 N s2 , 1.6 × 10−6 N m s2

Thus, the resolution of the image R is as Eq. (2); R can be higher than Rd or 1/GSD (Ground Sample Distance), then, the maximum flight height hmax is given by Eq. (3).

R = Ix/Lx = Ix/2 ∗ h ∗ tan(a/2 )

(2)

hmax = Ix/2 ∗ Rd ∗ tan(a/2 )

(3)

To crop image acquisition, each projected area should have overlap, as in Fig. 2. This enables photo stitching that approximates to reality. For the case, we considered only the horizontal overlap, since the vertical overlap is not significant for the coverage paths different to the zig-zag pattern. The pilot regularly decides the overlap values. The overlap Vx takes values from 0, for no overlap, to 1, for full overlap. The distance between the centers of two adjacent areas is d = Lx(1-Vx). The distance between two consecutive images should be higher than the distance traveled by the LUAV, therefore the shutter time Ts with a LUAV velocity s is as in Eq. (4).

T s = Lx(1 − V x )/s

(4)

In our proposal the LUAV agents are commercial multi-rotors by the cost and easy deployment thought for small farmers. In comparison with professional platforms or wing-based UAV, the LUAVs of multirotor type does not require the expertise of a pilot. However, the proposed method in the next lines should work for any UAV. For the larger UAVs, the lack of robustness and inaccuracies of movements are not relevant to the mission.

Fig. 3. Materials for crop data acquisition: (a) LUAV, GNSS receiver with Raspberry pi, (b) LUAV in mission and (c) customized coverage planning tool.

has a precise inertial unit. The drone is equipped with a processing component to execute the mission supported on ROS, the Raspberry Pi 2 model B (Fig. 3a). To visualize the coverage planning, we have developed a tool based on Qt and ROS-Indigo (more information, please see supplementary file S1). We take a ground station with Intel core i7, with six gigabytes of RAM and the Ubuntu 14.04 as the operative system (Fig. 3c). The integration of all components follows the method described in three stages as Fig. 4 and they are described in the next section: Coverage path planning, Coverage Mission for crop data acquisition and photo stitching. 2.3. Method of coverage path planning for LUAVs Our CPP for crop data acquisition is based on the gaps identified in related research, specifically in coverage strategies with defined ALIs in the crop to minimize the distance traveled. We have included the following assumptions underlying the research proposal: •



2.2. Hardware and software The LUAV selected in our research is a multi-rotor LUAV called Parrot AR Drone version 2.0 described in Table 3, with a price of 350 dollars. The drone was selected not only for the cost, but also for having all the elements of a UAV system to cover outdoor areas. The drone has an embedded low-cost camera, which was set to look down. Although the capabilities of the camera are not ideal for later analysis purposes, the integrated elements allowed to demonstrate the present proposal. Further, AR Drone has navigation capability by waypoint with a specially designed receiver and





The coverage area is known, less than one hectare, and contains ALIs. The map with this information is an image with Geo-positioning meta-data. The area under study is less than 800 m2 s. Flight time is limited to 10 min. All missions are planned for less than this time since take-off and landing time is considered. The LUAV features a GNSS receiver, an Inertial Measurement Unit (IMU) and odometry (data from motion sensors to estimate the change in position). Outdoor positioning is based on a fusion of the sensors of these three elements. The LUAV speed is constant. If the LUAV speed changes during the mission, the error in the photo stitching can be not correctable. In our proposal the speed is a fixed value, this value should be kept by the internal control of the LUAV, such as PID (Proportional-Integral-Derivative) control.

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

5

Fig. 4. Proposed CPP for LUAVs applied in crop data acquisition.

Fig. 5. Creation of abstract map.

We propose to use a methodology inspired by the flight optimization of a low capacity UAV called LUAV to achieve the crop coverage applications. The optimization of the flight arises from the planning of the coverage path in areas of little interest. The coverage path planning is regularly carried out with a manufacturer mapping software. More specifically, the AR Drone quadcopter use QGroundControl and Paparazzi; this software calculates a zigzag path over a designated polygonal area. In the case of ALIs, the pilots of the mission are in charge of manually modifying the path. In these areas, traditional planning does not consider the energy expenditure of the UAV in turns and maneuvers, since the purpose is to reach a total coverage. However, to work with LUAVs, we look at the optimization of outdoor missions, enhancing the coverage path based on heuristics, ALIs detection and wind direction with a practical and straightforward approach. The inputs for coverage planning are the number of cells to divide the area and the start of the mission. The number of cells is a value less than 100 (number of waypoints used in commercial software), however, the effective number of cells is re-calculated with the dimensions of the area projected on the map. The start can be selected or calculated. To calculate the start is required the wind direction. Wind direction can be measured by an anemometer, windsock or sensor carried on the LUAV. In our research, we have used an anemometer placed at an average height of 3 m. For path planning, we have considered four stages: Map Abstraction, Area Decomposition, computation of the Coverage Paths and selection of the Optimal Coverage Path. These functionalities were implemented in a planning tool called DronePlanner as in Fig. 4c. 2.3.1. Map abstraction The input for abstraction is a map with defined free space (Fig. 5). To create the map, we have taken a Geo-referenced image. The image is a photograph of the crop to be observed. The image is Geo-referenced with the QGis tool based on reference points from

Google Earth. The selected format is TIFF. The next step obtains the gray-scale map for identification of free space using pixel values. The ALIs are declared based on a threshold Th calculated using Eq. (5).

T h = 0.80 ∗ G + 0.15 ∗ R + 0.05 ∗ B

(5)

Th is the result of experimental testing, combining the green (G), red (R) and blue (B) plane values to identify the color of the plants in the images (for more information, please see supplementary file S2). However, manual corrections are necessary for some maps. The manual correction depends on the illumination of the initial photograph. The final step is to change the values of the pixels that differ from the threshold by 255. 2.3.2. Area decomposition Cell division is based on a rectangular grid, due to the camera footprint. The planner takes the initial number of cells and the resolution of the map in order to calculate cell size. Each cell has a label based on the average number of pixels, to be free space or ALI. Each cell is numbered from 0 to N, starting in the upper left corner in the area, sweeping from left to right. All the cells have a geographic position 2.3.3. Coverage paths For computing the coverage path are compared three heuristics: the Dijkstra algorithm, the Wavefront algorithm and the Spiral algorithm. They are known algorithms for coverage with autonomous robots. We have decided to select known three exact heuristics, not only because of the results of the literature in simulation, but because Dijkstra and Spiral algorithms have only been tested with autonomous terrestrial robots. Unlike the reviewed works for coverage, we do not select a single path, we decide to compare the algorithms considering the heuristic nature of the path found for each area.

6

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

the neighbors with the highest transform using BFS (Breadth First Search). In the case that two adjacent nodes have the same value, the algorithm selects the neighbor closest to the origin in counterclockwise. If it does not find free neighbors and the destiny is not adjacent, then a Backtracking is initiated. The pseudo code of Wavefront-based coverage is: Wavefront Coverage (Graph G, Start s): actual ← s visited[G] ← false Path ← s Transform(G) ← wavefront(G) Start cycle neighbor ← maximum_transform (Transform, actual) If all neighbor visited & neighbor ! = s neighbor ← Backtracking (Path, neighboor) If neighbor = s Stop cycle Else If neighbor = s Stop cycle actual ← neighbor Path ← neighbor visited[neighbor] ← true End cycle

Fig. 6. Neighbor configuration: (a) Von Neumann and (b) Moore.

In this sense, the algorithms take the result of area decomposition with cells labeled as free to create a connected graph. For the implementation of the algorithms, the representation of the connected graph is by adjacency list. The adjacent nodes are the neighboring cells, which can take the Von Neumann (4 neighboring nodes) or Moore (8 neighboring nodes) configuration (Fig. 6). The coverage algorithms try the start and destination adjacent, to avoid the drift of the UAV in the crop. As it was mentioned in related research, a good option for the CPP problem are meta-heuristics which use high computational resources. However, we delimited the complexity with exact heuristics and decomposition with maximum 100 cells. With it, the risk of falling into local optima is minimized. The Dijkstra, Wavefront and Spiral algorithms calculate a solution for CPP supported on a Backtracking technique for the case where no free neighbor nodes. The algorithms are described as follows: •

Dijkstra-based coverage

This coverage algorithm is based on the Dijkstra algorithm (Dijkstra, 1959), with the condition o maximum length so that all nodes are visited. The coverage algorithm lists all unvisited nodes in the Moore configuration, selects the free neighbors at the distance shorter from the origin. It continues the search until the destination node is adjacent or the coverage is complete. If it does not find more free neighbors and the destination is not adjacent, it begins Backtracking. The pseudo code of the Dijkstra-based coverage is: Dijkstra Coverage (Graph G, Start s): actual← s visited[G] ← false Path ← s Start cycle neighbor ← minimum_node (G, actual) If all neighbor visited & neighbor ! = s neighbor ← Backtracking (Path, neighbor) If neighbor = s Stop cycle Else If neighbor = s Stop cycle actual ← neighbor Path ← neighbor visited[neighbor] ← true End cycle



Wavefront-based coverage

The characteristic of this algorithm is that labels the area like a wave front that is propagated in the free nodes (Zelinsky, Jarvis, Byrne & Yuta, 1993). For coverage, the wave front starts in the objective (adjacent to the start node) and expands for the neighbors in the Moore configuration. The destination node has a wave value of 0. The free nodes adjacent to the destination have a wave value that is incremented by one. The adjacent node is an intermediate node to search for neighbors that increment the value by 1 with respect to the value of the intermediate node. The process assigns numbers to all nodes of the graph. The path looks for



Spiral-based coverage

Implementation of this algorithm is based on a small set of rules that allow an appropriate coverage with a minimum demand for memory resources (Gonzalez, Alvarez, Diaz, Parra & Bustacara, 2005). This algorithm examines two issues: the first is to generate paths to cover simple regions, while the second is the search for a relationship between these simple regions. The first development is the coverage of simple areas by means of paths in spiral, which finalize when all the neighboring cells have already been visited. To link the spiral paths of each region, the algorithm uses the Backtracking technique to find the next simple regions to connect. In fact, the spiral paths consider lateral and frontal obstacles to decide the nodes of the path. The movements of the robot follow a Von Neumann configuration. The pseudo code of Spiral-based coverage is: Spiral Coverage (Graph G, Start s): actual ← s visited[G] ← false Path ←s Start cycle neighbor ← frontal_search (G, actual) If all neighbor visited & neighbor ! = s neighbor ← lateral_search (G, neighbor) If all neighbor visited & neighbor ! = s neighbor ← Backtracking (G, neighbor) If all neighbor visited & neighbor = s Stop Cycle actual ← neighbor Path ← neighbor visited[neighbor] ← true End cycle

2.3.4. Optimized coverage path The optimized path is result of comparison between the algorithms described above and wind direction. The criteria for comparing paths are compiled from the cited works: a. Full coverage (C): The percentage of nodes visited with respect to free nodes b. Distance traveled (D): The sum of the distances between the nodes, corresponding to the Euclidean distance of the geographical coordinates. c. Number of turns (T): The turns in the paths can be from 0° to 180° and are calculated by evaluating if the next neighbor in the path is different to the neighbor ahead.

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

7

Fig. 7. Area 1 to test (a) area 1, (b) path based in Dijkstra, (c) based on Spiral and (d) based on Wavefront.

Table 4 Results of criteria coverage. Area

Algorithm

Criteria

Total Score

Area 1

Dijkstra Wavefront Spiral Dijkstra Wavefront Spiral Dijkstra Wavefront Spiral

T:19 T:31 T:30 T:29 T:26 T:31 T:15 T:19 T:13

3 2 2 0 4 0 2 0 3

Area 2

Area 3

R:29 D: 350 R:22 D:360 R:29 D:440 R:20 D: 650 R:12 D:576 R:20 D:640 R:6 D: 645 R:18 D:710 R:3 D:651

d. Revisits (R): The sum of the times in which any of the nodes of the path were visited. This criterion should be considered since the algorithms use Backtracking. Each path has an allocated binary score for each criterion. Therefore, if a path has full coverage, the coverage score C is 1; if the distance is shorter, the distance traveled score D is 1; if it has the smallest number of turns, the turn score T is 1; and if it has the smallest number of revisits, the revisit score R is 1; otherwise the score is zero. The coverage path with the highest sum will be selected. If the total score of two paths is the same, the coverage path with the shortest distance is selected. As examples, we describe the process to select optimized path with three maps. The first area in Fig. 7, the ALIs are centered and on side. The next area in Fig. 8, has ALIs close to bounds. The third area in Fig. 9, has few ALIs. The results for each criterion described is in the Table 4. In these examples, all paths reach the full coverage, for this reason, it does not appear in Table 4 but it added 1 in total score. With Table 4 can be noted that for the area 1, the selected path was Dijkstra with total score of 3; for the area, the selected path was Wavefront with total score of 4, and for the area 3, the se-

lected path was Spiral-based with total score of 3. As explication, the coverage of area 1 had an ALI centralized allowing long flight lines with Dijkstra algorithm. The second area is restricted at the bounds, consequently the search with 8 neighbors of Wavefront algorithm is accurate. Finally, for the area 3, there is a high percentage of free cells allowing the boundaries to be found with Spiral algorithm. With this simple test, we observed the heuristic nature of the algorithms for each area, for which we insist on comparing them and not selecting one. The comparison of the three paths (by the three algorithms) must be with the same start position. The start position can be selected or calculated, in the examples above it was calculated. We have opted the selected start, if the position suggested is inaccessible in the crop. If it is not, the calculated start is obtained according to the local wind. The start position was defined from experiments with the wind. A sample of these tests is described below.

2.4. Method to improve LUAV robustness 2.4.1. Maneuver facing wind To determinate the best strategy for maneuvering the LUAV in environments with local winds, we programmed a straight-line path of approximately 5 m (dashed line). We observed the effort of the LUAV (continuous red line) with winds of 2 m/s in favor, against and a crosswind. In Fig. 10a, the UAV followed the expected path with an error (RMSE in Eq. (6)) of 1.93 m, but does not stop until after some time; the wind in favor added an amount of movement that ended in drift. Fig. 10b shows that the quadcopter is slowed up by the wind with an error of 2.75 m and it did not complete the programmed path, while a crosswind such as in Fig. 11c caused drift and an effort acceptable to complete the path with an error of 1.36 m.

8

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

Fig. 8. Area 2 to test (a) area 2, (b) path based in Dijkstra, (c) based on Spiral and (d) based on Wavefront.

Fig. 9. Area 3 to test (a) area 3, (b) path based in Dijkstra, (c) based on Spiral and (d) based on Wavefront.

2.4.2. Sweep lines across wind The previous observations determined that the UAV should have less effort across the wind. We programmed coverage paths to test this observation, beginning a mission at each corner of the georeferenced digital map. We programmed an obstacle-free coverage path and selected the algorithm based on Dijkstra (for the current demonstration), which frequently results in paths with flight lines similar to the other two algorithms. Fig. 11 shows the calculated Dijkstra paths for each start position (white point). The results of

the real flights corresponding to paths in Fig. 12 are described in Table 5. The Table 5 presents an analysis of error and flight time related to the wind direction and the start position of the mission. The results showed that the LUAV had less flight time and less error (RMSE in Eq. (6)) compared to the expected path, when most sweep lines cross the wind direction. The smallest error in each start position (is around 3.0 m time) indicates less deviation due to

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

9

Fig. 10. LUAV vs. wind (a) wind in favor, (b) wind against and (c) wind across.

Fig. 11. Paths for a free area: (a) starting from upper left corner (UL), (b) starting from upper right corner (UR), (c) starting from lower left corner (LL) and (d) starting from corner lower right (LR).

Fig. 12. Positioning estimation in outdoors.

10

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

Fig. 13. Simulation of EKF: (a) response in the plane and (b) response in the height.

Fig. 14. Simulation of UKF: (a) response in the plane and (b) response in the height.

Table 5 Results of start position in experiment. Wind from

Start

Time (min)

Error (m)

North

UL UR LL LR UL UR LL LR UL UR LL LR UL UR LL LR

7.5 7.4 7.5 7.5 7.5 7.5 7.5 7.4 7.4 7.3 7.5 7.5 7.4 7.4 7.4 7.4

2.32 2.50 3.60 4.89 2.85 2.67 4.59 3.62 6.53 4.45 3.80 6.52 5.52 3.22 6.21 6.16

South

East

West

wind in a respective direction. Based on the above, the start point for any of the three algorithms was defined as: • • • •

If If If If

the the the the

wind wind wind wind

is is is is

from from from from

the the the the

north, the starting position is UL. south, the starting position is LR. east, the starting position is LL. west, the starting position is UR.

We should clarify that the assumptions declared for initial positions are not the result only of the test described. To find out which corner should be the beginning of the mission, we carried out others analysis. 2.4.3. Positioning for LUAV To achieve a successful coverage mission, we declared that outdoor positioning must be corrected due to the lack of robustness of the LUAV. This method obtains data from odometry, IMU, the altitude sensor and receiver to fix a global position using the Kalman Filter (KF). This filter is selected because it has few computational requirements, has recursive properties, and assumes Gaussian statistical errors. KF works with linear dynamic systems, but these systems are not real, therefore extensions are created. The extensions in related research are known as Extended Kalman Filter (EKF) (Simon, 2001) and Unscented Kalman Filter (UKF) (Abbeel, Coates, Montemerlo, Ng & Thrun, 2005). The EKF states that a linear transformation of means and covariance is approximately equal to the true non-linear transformation. The UKF transformation considers a set of deterministic points called sigma points. After applying a known nonlinear function at each point, the transformed points are obtained to estimate the true mean and covariance. Using the equations in the references above for each extension, we implemented both techniques according to Fig. 12. The first step to apply the Kalman Filter (EKF or UKF) is to take the model of

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

11

Fig. 15. Kalman filters in real experiment, the red line is for UKF and the blue line for EKF: (a) Kalman filters in the plane and (b) Kalman filters in the height. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

the system (Euler model) and the measurements from the odometry, IMU, and the altitude sensor to form a state space. The next step to start the prediction stage to calculate the estimate of the previous state with its respective covariance error. With the first estimation, it passes to the correction stage, which combines the final state with the positioning obtained from the GNSS receiver. This fusion transforms the reference systems using the CoticchiaSurace formulas for the transformation of geographic coordinates into UTM rectangular coordinates. We toke the Root Mean Square Error (RMSE) to establish the approximation of the waypoints of the experimental paths yi , with i . The uncertainty respect to the waypoints of the expected paths y

of a programmed path is estimated with Eq. (6).



RMSE =

n 2 1  yˆ i − yi n

(6)

i=1

For the selection of the positioning strategy, we compared the two Kalman Filter extensions as the next experiment. The first test used RVIZ to simulate the positioning. The results of the simulation are seen in Figs. 13 and 14. The simulations for both filters presented a response in the plane (Figs. 13a and 14a) similar to the programmed square path of 7 m x 5 m and 1 m of altitude (black line), with an RMSE of approximately 0.02 m. A notorious difference is found in the response on the height for the UKF filter

12

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

Fig. 16. Architecture for LUAV agent.

(Fig. 14b), which had indiscriminate information jumps; the calculated error is not valid. While the EKF filter response in height as Fig. 14b, had an error of 0.37 m. The vehicle started the path when the height of 1 m is reached. The corrected path ended in a height of around 1.30 m, and the vehicle landed following the expected path (black line). The second test was the response of the filters in a real and controlled environment, following the same square path programmed in the simulation. The results in Figs. 15 showed that the UKF filter (red line) has a greater approximation to the expected path in the plane, with an RMSE of 0.15 m, while the path filtered by EKF (blue line) yielded an RMSE of 0.62 m. The response in the height showed an RMSE of 0.28 m for EKF and 0.64 m for UKF. According to the results, the comparison inferred that the UKF had an approximation greater than EKF in the plane. However, in altitude UKF did not have the same performance. The UKF response presented important information jumps, greater instability than in EKF correction and a rapid and significant accumulation of error. This incurred in a greater deviation from the expected path in the plane and in altitude. The EKF filter is therefore the selected strategy for positioning of the LUAV. Fig. 17. Autopilot component of control architecture.

2.5. LUAV Agent for CPP A coverage mission for crop data acquisition captures aerial photographs of a terrain with a certain frequency, while the UAV agent use global positioning to follow a programmed path. For this task, flight parameters such as the altitude of flight, cell size and the shutter time are used. The output of the planning is a text file with the optimized path and the flight parameters. The file is loaded in the LUAV using the Raspberry pi as external processing component. Specifically, Raspberry pi takes energy from the drone and is linked via Wi-Fi to receive data and send commands. This board runs the mission using a ROS package for AR Drone called ardrone_autonomy. Based on the nodes of ardrone_autonomy, we created new nodes to complete the LUAV agent architecture described in Fig. 16. The new nodes update the outdoor position and send commands for following the planned mission. In Fig. 16 the layers of control and the components were related with the LUAV-Raspberry system for a coverage mission. The Reactive Layer uses the LUAV perception (camera, altimeter, mag-

netometer, IMU, etc.) to process data, frequently for positioning or vision applications used by the controller. The Planning Layer defines the behavior, reads and transforms the loaded coverage mission to be interpreted by the controller. The controller receives and processes both tasks, and sends them to the autopilot to manage movements and the camera (acting capabiliy). In the architecture, the three colored components were created by ourselves. The Data Fusion component is for robust positioning described in Section 2.4.3, the Coverage Planning is detailed in Section 2.3 and finally the Autopilot controls the navigation of the LUAV and the camera (more information, please see supplementary file S3). Regularly, drones with GPS navigation capability have the auto-mode by default. However, we developed other, because the controller found in ROS does not included this option (only the “go to waypoint” mode). The Autopilot component follows Fig. 17, which starts the data fusion component, interprets the mission, starts the take-off ma-

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

13

Fig. 18. Coverage paths with tool planning (a) area decomposition, (b) path based in Wavefront (c) Based on Spiral and (d) based on Dijkstra.

Table 6 Performance parameters of calculated coverage paths.

neuver, uses the ROS service to save the images with the planned frequency. Then, it starts a cycle using services to enable the guided mode and arrive at each waypoint. The mission ends when the LUAV lands. 3. Results and discussion In this paper, we describe the case study with a grass crop located in 2.4473N, 76.5992W Popayan, Colombia. The steps followed were: first, we loaded the digital map of the Geo-referenced crop. Second, we decided to divide the area into 25 cells, considering an area of 400 m2 s. Third, we chose to start the mission in the calculated point with the wind direction from the West. Fourth, we connected with ROS to check the number of satellites, the initial location, and the battery, among others. Fifth, we obtained the optimized path according to the map loaded. Sixth, we transferred the coverage plan file to the LUAV. Seventh, we executed the mission and Eighth, we used OpenDroneMap (Open Community, 2017) to obtain the photo mosaic. The results of the coverage paths using the proposed method for the grass crop are shown in Fig. 18. The cell size is 8.91 × 9.78 m2 s and the mission was carried out using: • • • • •

20 effective cells Flight Height 7 m Shutter time of 0.53 s ALIs to avoid are cells numbered as 3 and 8. The mission starts in cell numbered as 4



Path based on

Turns

Revisits

Coverage (%)

Distance (m)

Wavefront Spirals Dijkstra

7 7 10

2 1 0

100 100 100

178.099 170.614 151.355

LUAV speed to 5 m/s

Table 6 shows that the path calculated with the Dijkstra-based algorithm is the shortest and with the least revisits. It is the suggested coverage path for the crop from our method. Conversely, the coverage path with Wavefront algorithm presents the highest number of revisits and the longest path. In general, the calculated paths ensure a total percentage of the coverage. As result, we tested the calculated paths with an average wind of 1.3 m/s from the West and 10 satellites captured by the GNSS receiver. Fig. 19 shows the comparison of the paths with the default global position (red line) and the corrected coverage paths (blue line) by EKF. The results of case study are in Table 7, which showed that the path based on the Dijkstra algorithm does not have the expected coverage percentage (the actual coverage of a cell is when the LUAV visits the range of the cell). However, it is the shortest path and fewer revisits. The Wavefront-based coverage path, which has the lowest performance, is the path with fewer turns and the

14

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227 Table 7 Performance parameters of calculated coverage paths. Path based on

Turns

Revisits

Coverage (%)

Distance (m)

RMSE (m)

Wavefront Spirals Dijkstra

11 15 113

5 4 0

77.8 83.5 72.2

304.20 289.42 213.85

1.951 1.997 1.965

longest distance. Finally, the spiral-based coverage path retains the highest percentage coverage and the balanced scores. Although the purpose of this investigation is not to precise in photogrammetric product, we compared the results of the coverage paths with the mosaics of the photographs (Fig. 20) to evi-

dence the impact of mission planning on the final mosaics. We would like to denote that for the coverage mission with a LUAV, it is important to verify the error in positioning on mosaics since disturbances such as wind can minimize the coverage or even not visit the target area.

Fig. 19. Coverage with global position default (red line) and with corrected path (blue line): (a) Path based on Wavefront, (b) Path based on Spiral and (c) Path based on Dijkstra. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

15

Fig. 19. Continued

From the mosaics, the Dijkstra-based coverage in Fig. 20c was similar to the results in Table 7, since it denoted a low percentage of coverage. The Wavefront-based mosaic in Fig. 20a retained the coverage expected, with a small loss of information. However, it was the spiral-based coverage in Fig. 20b that showed the highest percentage coverage. Regarding the case study, we observed that the corrected paths are similar to the path calculated by the planner. However, all paths had missing data at certain moments, which is a probable result of the poor signal of GNSS during outdoor missions. A common feature among the paths is that none of them covered the initial cell, and most missions cover partially the corners. It can be outcome of local wind. In addition, all paths retained an error of less than 2 m. Although the results differ from the obtained values in controlled environment with the EKF correction, the RMSE in outdoor is permissible since the LUAV is subjected to changes such as lower percentage of battery. According to our findings, the Dijkstra-based algorithm retains a shorter distance in the missions, and the spiral-based coverage minimizes the number of turns. The paths with Spiral algorithm have balanced performance criteria for areas with a single ALI, and the Wavefront algorithm has a better coverage for areas with small numbers of ALIs or ALIs distributed around the bounds. The comparison between the calculated and corrected coverage paths leaded us to think that selecting the best coverage path depends on the wind conditions. The feasible option is for the path with the highest possible coverage and fewer turns. With the mosaics, we concluded that the best mosaic is not always the result of the best coverage criteria, probably due to the local conditions of the test scenario change during the mission. So, the correspondence between the coverage paths and the mosaics depends on the robustness of the LUAV. Nevertheless, a spiral path frequently succeeded in the task of crop data acquisition. Considering the cited works, our proposal for an optimal path is simple but effective. Assuredly a zig zag path is longer than the paths that do not visit the ALIs, and to calculate paths with heuristics, is simpler than the multi-objective metaheuristics. In addition,

we experiment with the wind and the start of the mission to include it as an optimized path planning criterion to robustness of LUAV. Our proposal was originated by real observations in the field and is not subject to a particular model of UAV. We believe that it was effective in comparison to previous studies that included it in the energy model or conceived simulation of wind fields. 4. Conclusions According to the results, we have made evident the viability of the LUAV agents for high impact applications such as agriculture. These agents are an alternative tool for low-cost data acquisition. However, for the deployment of a mission with LUAVs was necessary to minimize the effort in power and to increment the robustness. In this sense, an optimized path was our solution to minimize the energy consumption. We computed an optimized path by comparing three heuristics on a known area, selecting the path with the balanced score from few turns, few revisits, completed coverage and minimum traveled distance. The study showed that a feasible option to select a path is the highest coverage and fewer turns, regularly it was Spiral-based coverage path. The selected path starts in the corners of a grid map to obtain the orientation path that crosses the direction of the wind. The start mission is result of an experiment presented in Table 5. Further, we seek for improving the outdoor positioning to reach waypoints of path. The selection of EKF to correct positioning was based on experiments in a controlled environment by specifying the altitude. With this complement, the coverage paths in the results does not have an error bigger than 2 m, which is acceptable for aerial imageacquisition tasks. We can think about some work that can improve the proposal. The first task can be adding and testing new algorithms to extend the range of selection or to scale the problem to the approximation strategies as meta-heuristics that improve the solution of CPP with LUAV agents. Secondly, we propose to compare or contrast the results obtained against the traditional products of photogrammetry to improve the coverage planning. Third, considering that the pro-

16

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

Fig. 20. Mosaics for each coverage path: (a) Path based on Wavefront, (b) Path based on Spirals and (c) Path based on Dijkstra.

posal manages the wind disturbance from the mission planning, an interesting work is an intelligent system to specify the measurement of the local wind (area under study), since a valid estimate would open other options for mission planning. Fourth, we would hope to be able to extend the work to have a software platform

to analyze the aerial images obtained with LUAV agents based on artificial intelligence can support decision making to the farmer. Finally, we found that the LUAVs limit the scope of the coverage mission to a few square meters compared to extensive crops. To overcome it, at the moment we are working on a proposal for coverage mission in larger areas by integrating a LUAV multi-agent

L.V. Campo, A. Ledezma and J.C. Corrales / Expert Systems With Applications 149 (2020) 113227

system. This approach will consider the planning of optimized coverage path for heterogeneous and cooperative UAVs. Our goal is to deploy a mission with multiple LUAVs considering coordination in environments disturbed by the wind, the lowest possible energy expenditure and troubleshooting during the mission. Declaration of Competing Interest None. Acknowledgments This project would like to acknowledge the kind support of Colciencias, the University of Cauca and the University Carlos III of Madrid. We also want to highlight the support of the “Alternativas Innovadoras de Agricultura Inteligente para sistemas productivos agrícolas del Departamento del Cauca soportado en entornos de IoT-ID4633” project, financed by the “Convocatoria 04C– 2018 del Banco de Proyectos Conjuntos UEES-Sostenibilidad” of the “Red de formación de talento humano para la innovación social y productiva en el Departamento del Cauca - InnovAcción Cauca” project, and the Spanish MICINN under projects: TRA2015-63708R and TRA2016-78886-C3-1-R. Finally, we are especially grateful to Colin McLachlan for suggestions relating to the English text. Supplementary materials Supplementary material associated with this article can be found, in the online version, at doi:10.1016/j.eswa.2020.113227. References Abbeel, P., Coates, A., Montemerlo, M., Ng, A. Y., & Thrun, S. (2005). Discriminative training of Kalman filters. In Robotics: Science and systems: Vol. 2 (p. 1). Bolaños, J. A., Campo, L., & Corrales, J. C. (2017). Characterization in the visible and infrared spectrum of agricultural crops from a multirotor air vehicle. In International Conference of ICT for Adapting Agriculture to Climate Change (pp. 29–43). Springer. Bristeau, P.-. J., Callou, F., Vissière, D., & Petit, N. (2011). The navigation and control technology inside the AR. Drone micro UAV. IFAC, The international federation of automatic control 1487-1484. Milano. Di Franco, C., & Buttazzo, G. (2016). Coverage path planning for UAVs photogrammetry with energy and resolution constraints. Journal of Intelligent & Robotic Systems, 83(3–4), 445–462. Dijkstra, E. W. (1959). A note on two problems in connexion with graphs. Numerische Mathematik, 1(1), 269–271. Fryskowska, A., Kedzierski, M., Grochala, A., & Braula, A. (2016). Calibration of low cost RGB and NIR UAV cameras. In ISPRS - International archives of the photogrammetry, remote sensing and spatial information sciences, XLI - B1 (pp. 817–821). doi:10.5194/isprsarchives- XLI- B1- 817- 2016. Galceran, E., & Carreras, M. (2013). A survey on coverage path planning for robotics. Robotics and Autonomous Systems, 61(12), 1258–1276. ´ M., & Gajski, D. (2016). TWO-STEP camera calibration method develGašparovic, oped for micro UAV’s. In ISPRS - International archives of the photogrammetry, remote sensing and spatial information sciences, XLI - B1 (pp. 829–833). doi:10.5194/isprsarchives- XLI- B1- 829- 2016.

17

Geng, L., Zhang, Y., Wang, P., Wang, J. J., Fuh, J. Y., & Teo, S. (2014). UAV surveillance mission planning with gimbaled sensors. In Control & automation (ICCA), 11th IEEE international conference on (pp. 320–325). IEEE. Gonzalez, E., Alvarez, O., Diaz, Y., Parra, C., & Bustacara, C. (2005). BSA: A complete coverage algorithm. In Robotics and automation, 2005. ICRA 2005. Proceedings of the 2005 IEEE international conference on (pp. 2040–2044). IEEE. Grenzdorffer, G., Engel, A., & Teichert, B. (2008). The photogrammetric potential of low-cost UAVs in forestry and agriculture. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 31(B3), 1207–1214. Hameed, I. A. (2014). Intelligent coverage path planning for agricultural robots and autonomous machines on three-dimensional terrain. Journal of Intelligent & Robotic Systems, 74(3–4), 965–983. Kamal, S. S., Jackman, P., & Grieve, B. (2014). Minimizing flight time and fuel consumption for airborne crop spraying. Agricultural Engineering International: CIGR Journal, 16(2), 89–96. Lee, T., Leok, M., & McClamroch, N. H. (2013). Nonlinear robust tracking control of a quadrotor UAV on Se (3). Asian Journal of Control, 391–408. Li, X., Zhao, Y., Zhang, J., & Dong, Y. (2016). A hybrid PSO algorithm based flight path optimization for multiple agricultural UAVs. In Tools with artificial intelligence (ICTAI), 2016 IEEE 28th international conference on (pp. 691–697). IEEE. Lin, L., & Goodrich, M. A. (2014). Hierarchical heuristic search using a Gaussian mixture model for UAV coverage planning. IEEE Transactions on Cybernetics, 44(12), 2532–2544. Mansouri, S. S., Kanellakis, C., Georgoulas, G., Kominiak, D., Gustafsson, T., & Nikolakopoulos, G. (2018). 2D visual area coverage and path planning coupled with camera footprints. Control Engineering Practice, 75, 1–16. Mesas-Carrascosa, F., Clavero Rumbao, I., Torres-Sánchez, J., García-Ferrer, A., Peña, J., & López Granados, F. (2017). Accurate ortho-mosaicked six-band multispectral UAV images as affected by mission planning for precision agriculture proposes. International Journal of Remote Sensing, 38(8–10), 2161–2176. Mystkowski, A. (2012). An application of mu-synthesis to control of a small air vehicle – Simulation results. Journal of Vibroengineering, 79–86. Open Community. (2017). OpenDroneMap (Version 0.3.1). Opendronemap Retrieved from http://opendronemap.org/. Phung, M. D., Quach, C. H., Dinh, T. H., & Ha, Q. (2017). Enhanced discrete particle swarm optimization path planning for UAV vision-based surface inspection. Automation in Construction, 81, 25–33. Simon, D. (2001). Kalman filtering. Embedded Systems Programming, 14(6), 72–79. Siouris, G. M. (1996). An engineering approach to optimal control and estimation theory. New York: John Wiley & Sons. Torres, M., Pelta, D. A., Verdegay, J. L., & Torres, J. C. (2016). Coverage path planning with unmanned aerial vehicles for 3D terrain reconstruction. Expert Systems with Applications, 55, 441–451. Valente, J., Sanz, D., Del Cerro, J., Barrientos, A., & de Frutos, M. Á. (2013). Near-optimal coverage trajectories for image mosaicing using a mini quad-rotor over irregular-shaped fields. Precision Agriculture, 14(1), 115–132. Vasquez-Gomez, J. I., Gomez-Castañeda, C., De Cote, E. M., & Herrera-Lozada, J. C. (2016). Multirotor UAV coverage planning under wind conditions. In Mechatronics, electronics and automotive engineering (ICMEAE), 2016 international conference on (pp. 32–37). IEEE. Wooldridge, M., & Jennings, N. R. (1995). Intelligent agents: Theory and practice. The Knowledge Engineering Review, 115–152. Yang, G., Li, C., Wang, Y., Yuan, H., Feng, H., Xu, B., et al. (2017). The DOM generation and precise radiometric calibration of a UAV-Mounted miniature snapshot hyperspectral imager. Remote Sensing, 9(7), 642. doi:10.3390/rs9070642. Yusoff, A. R., Ariff, M. F. M., Idris, K. M., Majid, Z., & Chong, A. K. (2017). CAMERA calibration accuracy at different UAV flying heights. In ISPRS - International archives of the photogrammetry, remote sensing and spatial information sciences, XLII -2/W3 (pp. 595–600). doi:10.5194/isprs-archives-XLII-2W3- 595- 2017. Zelinsky, A., Jarvis, R. A., Byrne, J., & Yuta, S. (1993). Planning paths of complete coverage of an unstructured environment by a mobile robot. In Proceedings of international conference on advanced robotics: Vol. 13 (pp. 533–538). Zhang, C., & Kovacs, J. M. (2012). The application of small unmanned aerial systems for precision agriculture: A review. Precision Agriculture, 13(6), 693–712.