Coverage Path Planning Optimization of Heterogeneous UAVs Group for Precision Agriculture

Precision farming is one of the ways of transition to the intensive methods of agricultural production. The case of application of unmanned aerial vehicles (UAVs) for solving problems of agriculture and animal husbandry is among the actively studied issues. The UAV is capable of solving the tasks of monitoring, fertilizing, herbicides, etc. However, the effective use of UAV requires to solve the tasks of flight planning, taking into account the heterogeneity of the available attachments and the problem solved in the process of the overflight. This research investigates the problem of flight planning of a group of heterogeneous UAVs applied to solving the issues of coverage, which may arise both in the course of monitoring and in the process of the implementation of agrotechnical measures. The method of coverage path planning of heterogenic UAVs group based on a genetic algorithm is proposed; this method provides planning of flight by a group of UAVs using a moving ground platform on which UAVs are recharged and refueled (multi heterogenic UAVs coverage path planning with moving ground platform (mhCPPmp)). This method allows calculating a fly by to solve the task of covering fields of different shapes and permits selecting the optimal subset of UAVs from the available set of devices; it also provides a 10% reduction in the cost of a flyby compared to an algorithm that does not use heterogeneous UAVs or a moving platform.


I. INTRODUCTION
In 2050 the number of inhabitants of the planet should reach 9.6 billion [1]. Rapid population growth requires the accelerated growth of the food base. Transition from extensive to intensive methods of agricultural production is necessary. One of these methods is a system of new technologies called Precision Agriculture (PA). PA is an agricultural productivity management system based on a complex of aerospace, information and communication technologies [2]. PA is an element of precision land management and consists of precision crop farming and precision livestock farming [3] (see Fig.1.). PA allows setting up the actions for managing agricultural production in space and time. The cultivated fields are considered as a heterogeneous object, each site of which is individual and requires a different amount of resources [4]. More and more farmers in recent years have recognized the efficiency of production with employment of PA technology. In 2005 a survey among the US farmers showed that 75% of respondents had a negative attitude towards PA [5]; nevertheless, according to the data of year 2018, 75% of farmers already use or plan to use this set of technologies [6]. PA implies more precise planning of agrotechnical measures based on the collection and processing of a large amount of information, for example, metered application of fertilizers and herbicides only in areas where it is necessary. Due to the precise use of resources, PA reduces the production and environmental costs associated with agrochemical measures, allows increasing the labor efficiency [7], crop productivity (by 30-60% [8]) and revenues. For example, the employment of PA in Kazakhstan can bring an economic effect of up to $ 5 billion per year [8]. PA is based on the collection of upto-date data on the state of soil, plants and weather obtained from the sensors installed in the fields and images of various spatial resolutions obtained from satellites or on-board platforms (manned or unmanned), which are then processed to extract the information and make decisions. [9]. Unmanned aerial vehicles (UAVs) or drones can be used to collect such data at the local level; these solutions have a number of advantages in price, speed and mobility. Moreover, UAVs can also be used to perform precise agrotechnical measures, such as the application of fertilizers and herbicides. According to Eagle Brother, the agricultural UAV market is expected to grow to $5.19 billion by 2025 [10] primarily because UAVs have a number of advantages over satellites and manned aircraft [11]. The intensive use of UAVs is conditioned by such factors as relatively low cost [12], availability in the market [13], ease of use and control [14], use in operation in hard-to-reach places [15], and the possibility of changing the functionality depending on the task, which should be solved [16].
However, for the effective use of UAVs, it is necessary to reduce the share of manual labor in their controlling and to improve the quality of monitoring. This can be achieved by the development of special methods, comprising the following ones: 1) Image processing methods applied for solving the tasks of classification and identification with employment of multispectral images [17]; 2) Flight control methods, providing the solutions to the problems of covering a given area with one device or a group of devices [18]. In this paper, we focus on the second problem. At the present time, this problem is considered in the studies which propose the planning of the optimal path for one drone's or group of drones' mission based on the coverage problem [18]. Although the coverage algorithm is usually quite simple, however, its implementation in specific cases may require non-trivial optimization. It may be necessary to plan flights of one or more UAVs in the fields of different shapes. Moreover, both take-off and landing points can move during the process, and UAVs may differ in technical characteristics. Therefore, we consider the task of flight planning for a group of technically heterogeneous UAVs based on a moving platform and covering relatively large fields of different shapes. Such task can arise both in the course of monitoring the fields and in the process of applying fertilizers and herbicides using UAVs.
The goal of this study is the development of a new method for planning the flights of a group of heterogeneous UAVs using a mobile platform for recharging and replenishment of stock of substances. The method is developed based on the use of a genetic algorithm (GA). The principal specifics of the GA based method are 1) the path planning for the coverage of the agriculture field by a group of heterogeneous UAVs.
2) the selection of the group of heterogeneous UAVs from the predefined available set of UAVs.
3) the consideration of a vehicle platform supported the mission and planning of its movement.
The efficiency of mobile platform (vehicle) exploitation in problems of covering agricultural fields is evaluated in this study too. The experimental study shows that the proposed method optimizes the trajectories of technically heterogeneous UAVs and the mobile platform, minimizing the cost of covering fields of various shapes.
The paper is organized as follows. Section II is an overview of methods and software systems for flight control of UAVs. This overview includes methods for solving the issue of coverage too. Section III describes a method for planning flights of a group of heterogeneous UAVs and moving a mobile platform for covering (flyby) fields of different shapes.
In Section IV the experimental study of the application of the proposed method for fields of different shapes is discussed. In conclusion, the principal results are summarized and problems for further research are considered.

II. RELATED WORKS A. UAVs IN PRECISION AGRICULTURE
Remote sensing, global positioning system (GPS), wireless sensor network (WSN), sensors, UAV in general are the most widely used technologies in PA [19]. PA technologies require precision in the delivery of fertilizers, pesticides, herbicides, fungicides, insecticides with minimal environmental risk to workers and impact on cultivated plants [20]. The use of UAVs solves to high degree these problems, including significant (15-20%) savings of sprayed substances [21] and high quality of spraying [22]. The study [23], [24] lists the following UAVs applications in PA: • Weed detection, mapping and management.
• Monitoring of vegetation growth and yield estimates.
• Monitoring the state of vegetation.
• Smart sensor integration Summarizing the data given in the literature, it can be noted that UAVs can be used in almost all major classes of agricultural work (see Fig. 2 Nevertheless, despite the good prospects, UAVs-based applications have a set of limitations that can be divided into three groups [8], [24]: 1. Technical. Limitation of power autonomy, flight time, payload, sensor sensitivity, dependence on weather conditions, limitations in computing power on board, etc.; 2. Legal. The impossibility of some use options within the city limits and restrictions on the use of UAVs weighing more than 250 grams [25]; 3. Software and algorithmic. Software and algorithmic limitations include limitations in data processing and limitations of software tools and algorithms for UAV control and flight planning. The tasks of flight planning and UAV management are very relevant, they include [16]: area coverage, search operations, routing for a set of locations, data collection and recharging in a wireless sensor network (WSN), allocation of communication channels and computing power for mobile devices, and the operational aspects of a self-organizing drone network.

B. COVERAGE PATH PLANNING PROBLEM FOR PA
To solve the issues of precision farming, it is possible to specify the task of coverage path planning (CPP) in two modifications: • CPP1 -for monitoring the condition of the field and crops (monitoring task), when the impact on the analyzed surface is not expected.
• CPP2 -for the application of fertilizers, herbicides, phytocides, etc. (application task), which involves additional restrictions related to the impact on the cultivated fields. The standard solution for the problem of coverage is to use the back-and-forth algorithm, also called Zamboni [26]. It was found that for the CPP2 task other coverage options (spiral, waves) are not effective, since many turns consume battery power faster and negatively affect the quality of spraying [27].
The market offers both commercial UAV control products and open source programs; the following commercial products are offered in the market: senseFly(eMotion) [28], Pix4D [29], DroneDeploy [30] and DJI (Terra) [31]; the open source software are represented by OpenDroneMap [32], microkopter [33], LibrePilot [34], and Dronecode [35], which carry out (in different degrees of readiness) allocation of the territory within which surface monitoring is carried out; calculation of the optimal route for covering the territory with one UAV; simulation of flight along the route (pre-launch check); receiving flight data (UAV status) in real time with the possibility of emergency termination of the flight if necessary. However, in many cases there is a need in the algorithms that optimize the route of one or more UAVs for specific applications The task of flight planning can be considered as an optimization task with constraints. It can be defined as follow [36]: where x -expenses, t -time, e -energy, c is the cost function of all set of feasible path and c ′ is an optimal path cost function.
The classical methods such as linear or nonlinear programming methods are not suitable for large-scale objects and complex objective functions. In such cases, artificial intelligence methods (machine learning, fuzzy logic, swarm optimization, hybrid methods and evolutionary programming) are used [37]. The literature mentions genetic algorithm (GA), particle swarm optimization (PSO), ant colony optimization (ACO), artificial neural network (ANN), learningbased methods, etc. Of those listed, GA accounts for 21% of publications and is one of the most popular flight planning algorithms [38].
The GA mimics the Darwinian principle of natural selection. GA implies the presence of some candidate solutions, which are usually called individuals, organisms, creatures etc. During the execution of the GA, the population size of individuals does not change, and bad solutions (individuals) are replaced by better ones using stochastic selection based on fitness function [39], [40].
In the early stages of the research, GA was considered in comparison with other algorithms as one of the possible ways to solve the UAV path planning problem. For example, the study [41] explores the performance difference between PSO and GA. The authors claim that PSO gets quality solutions faster. At the same time, the paper [42] presents the results of the comparative experiments in a 3D environment. Parallel GA selected better trajectories than PSO did. The cost function took into account the route length, flight altitude, danger zones, UAV power, collisions, fuel, and trajectory smoothing (UAV with a rigid wing.) Subsequently, GA was used to solve more complex problems, such as real-time flight planning [43]. The cost function in this case took into account the length of the path, the average height of the path, the intersection of radar zones, the cost of the path exceeding the power of the UAV, the cost of the path exceeding the range of the UAV, the cost of paths intersecting with the earth's surface. To improve the initial GA population, authors of the paper [44] applied ACO, which made it possible to increase the solution speed in a simulation environment with many obstacles.
The above-mentioned paper [37] considers that GA, among others, is used to maximize the coverage of the designated area, taking into account the time limit and feasibility of the path. The study [45] shows the use of GA and the algorithm ''Traveling Salesman Problem'' (TSP) for solving the task of covering with obstacles. The field is divided into cells free of obstacles, and back-and-forth motion is performed to cover the entire working area in each of these cells. The study [46] views GA as a means of minimizing the energy used by the drone and a way to minimize the number of UAVs tours. Nevertheless, it should be noted that this optimization goal presents certain limitations, since it does not take into account the associated costs of performing CPP.
Simultaneous use of several UAVs complicates the task of flight planning; however, it gives a number of serious advantages in the speed of mission completion and the ability to cover a larger area [47]. The study [48] reveals the route optimized for the application of fertilizers and pesticides, taking into account the areas exposed to stress and identified at the preliminary stage. Optimal routes are based on the Traveling Salesman algorithm and Voronoi diagram. The article [49] discusses an approach to managing a variety of UAVs for optimal coverage in order to monitor the area of interest. The main objective is to minimize the time of mission completion by optimizing the distribution of waypoints. The simulation was carried out using MATLAB [50] and GAZEBO [51].
Perhaps, for the first time the issue of collisions in the problem of planning the path of a set of UAVs using GA was considered in [52], where the cost function takes into account the length of the path, deviation from the original trajectory, distance from the trajectory to obstacles, the angle of rotation and collision. The study [53] proposes parallel GA that solves the flight planning problem and minimizes the risk of collisions. In [54] a similar task is solved using real-time recursive multi-agent GA.
Authors of the study [18] propose a coverage path planning method for a spraying drone, which allows restricting the flight to the region of interest avoiding potential collisions; this method also provides the shorted computational time. Nevertheless, this method can be used for the homogenous group of UAVs only. Another restriction of this method is path planning for space in form of non-convex polygons.
Multirotor agrodrons have a limited flight time, which is not enough to cover even relatively small fields (about 1 ha, as described in [55]). In the case of large areas, for the CPP1 task and in most cases for solving the CPP2 task, it is necessary to take into account the presence of a mobile ground platform on which UAVs are refueled and recharged. Experiments on covering large fields are described in [56]. The method involves launching the homogeneous UAVs from the middle of the field. In general, the approach is effective since the center of the field is equidistant from the edges and several drones are able to make equal overflights of the selected subfield without the risk of collision. The problem, however, is the need to deliver the UAVs and the ground station to the middle of the field. The algorithm of multi coverage path planning (mCPP) was proposed to cover a large area with several devices. The essence of this algorithm is the division of the field into smaller subfields, after which the back-and-forth algorithm is applied to cover each individual subfield [57]. The research [58] describes an algorithm that solves a similar problem of planning the flight path of a group of UAVs to provide CPP2. There was proposed a modification of GA, which takes into account the time window of the optimal temperature for high-quality spraying. Table 1 lists the parameters of the GA cost function that are often mentioned in the literature.
The launch of UAVs from a moving platform is found in the tasks of cargo delivery [63], [72], search and follow the target [73]; however, it has not yet been considered in the tasks of agricultural application of UAVs. Meanwhile, a movable ground platform (car) can carry on board a charging station or battery sets, as well as containers for fertilizers, herbicides, bacteriophages, etc., which can be used to solve the CCP2 task.
To summarize the facts, task of planning the flights of a group of technically heterogeneous UAVs that periodically replenish the charge and reserves on a mobile platform, subject to heterogeneous constraints arising in the process PA implementation, does not have a common solution. Therefore, investigations in this field are actual and perspective. The authors of this paper present one of the possible algorithms for optimizing the flights of a group of heterogeneous UAVs to solve the problem of coverage using a moving ground platform (multi heterogeneous UAVs CPP with moving ground platform -mhCPPmp).

III. METHOD
In this paper, a new method for determining the optimal paths of several drones to fly around agricultural fields and vehicle platforms for supporting the drones' missions is proposed. The back-and-forth route, also called ''Zamboni'' (see Fig. 3) is typically used for path planning in such covering problems. However, UAVs route planning in agricultural applications requires taking into account a number of limitations that arise in the practical application of UAVs. In particular, for the proposed method we take into account: − The shape of the agricultural field, which for example, can be triangular, non-convex, smoothly curved, etc.
− The predefined available set of UAVs of different manufacturers, models, and types, including multi-rotor and single-rotor UAVs, as well as aircraft-type UAVs; these drones can have different technical characteristics and be heterogeneous.
− The availability of a mobile platform to support the drone mission and its location near the field.
− Other limitations as total flight time, price, maintenance cost, etc. These limitations have a different nature, which leads to the decision of the optimization problem with heterogeneous constraints problem, which can be decided by random search algorithms, in particular, a genetic algorithm. Therefore the proposed method core is implemented based on genetic algorithm which is considered below.
Genetic algorithm models the process of evolution. Each individual (candidate solution) is described by a set of properties. GA iteratively forms new populations of individuals (generations) using the randomly generated initial population. In each generation, the adaptability of every individual is calculated using fitness function. Fitness function is the objective function in the path planning optimization problem. The most fitting individuals (solutions) are stochastically selected. The properties of the selected individuals are recombined and/or randomly mutated. The new generation of individuals is then used in the next iteration of the algorithm. After a certain number of iterations, a generation that has the best fitness values is formed.

A. GENETIC ALGORITHM COST FUNCTION FOR UAVs ROUT OPTIMIZATION
The goal of the GA is to minimize the cost function, the target indicator for optimization. The value of the function depends on the set of restrictions (the shape of the field, the road along which the platform moves, the list of parameters available for the use of the UAV) and the search space. In general, for the considered problem of optimal path planning the optimization task is defined as: where d ∈ Dir is drone direction, i ∈ Ip is entry points, l ∈ List is set of available UAVs, r ∈ Route is a route of a vehicle for the drone mission support. Let us consider the fitness function parameters (1) in more detail. Drones directions (d ∈ Dir) are a floating-point number in the range from 0 to 360, which determines the angle between the geographical parallel and the direction of the zigzag movement.
Entry points (i ∈ Ip) are starting point of drone missions for the specified field. In the proposed method, the number of possible starting points does not depend on the shape of the field and is always 4. Taking into account the direction (angle), there are always no more than 4 different entry points in the corners of the field. All other potential entry points are considered suboptimal, since at some stage it will be necessary to return to the missed section to fly around it (see Fig. 4).
Set of available UAVs (l ∈ List) is used to define the group of drones for specified field flying. The group is selected from the predefined list, possibly with repetitions. The following UAVs properties are taken into account: a. Maximum speed. b. Maximum flight range.  c. Maneuverability coefficient -determines the degree of deceleration on turns depending on the angle of rotation. d. Price per take-off-landing cycle -monetary assessment of possible risks and wear of the drone during take-off and landing. e. Price per kilometer/hour -monetary assessment of the wear of the drone per hour/kilometer of flight. Route of a vehicle (r ∈ Route) is should be optimal and taken into account by the fitness function. There are many routes for the movement of a vehicle acting as a moving platform on which UAVs, funds for replenishing the used substances and a charging station are transported. As it was mentioned earlier, both the field and the road are defined as input parameters. A road is defined as a line, accessible to a vehicle (car). The places near the road are considered as possible take-off and landing zones for drones (violet circles on the fig.4). The car moves along the road while UAVs are flying. This can reduce the overall cost of the mission as the UAVs take off and land at different locations. Reloading and refueling times are not taken into account. It is believed that the car contains sets of ready-made batteries and containers. The optimization process comprises the necessity to select the route r∈ Route as one or more take-off and landing positions on the path of the vehicle.
The cost function is an essential part of any optimization method. Quite a popular method of solving CPP are GA modifications that minimize energy consumption, the number of rounds [46] or the duration of the flight [58]. However, such optimization goals do not allow considering the costs of maintenance personnel, the cost of operating UAVs, etc. For elimination these limits, we propose to use a next fitness function.

B. GENETIC ALGORITHM FITNESS FUNCTION
The mhCPPmp method developed by the authors uses the total cost of the flight as a fitness function, consisting of three components: the cost of drone wear and related risks, staff salaries (pilot/driver) and a penalty for extended (exceeding a threshold) flight time. The fitness function is calculated as follows: where fit is the total cost of the overflight, W is the cost associated with the wear of the UAVs, S is the cost associated with the work of personnel and the vehicle, and P is the penalty. It should be noted that the penalty P is an integral (intangible) part of the cost function, since during the actual flyby, only W and S contribute to the final cost of the flyby. The penalty P plays the role of a regularization that allows to avoid the convergence of the algorithm to solutions that take an inadequately large amount of time, for example, to fly around the field with a very cheap drone with a low flight range for hundreds to thousands of hours. Let us discuss the components of the mentioned costs.
The Cost of Drone Wear: It includes the cost of all take-off and landing cycles (risks and wear) and the total cost of wear of the drone during the flight/distance.
where performs summation for all take-offs of all involved l drones, W cylcle is the cost of take-off/landing (the parameter describes, among other things, the risks of damage to the drone during take-off/landing), W km is the cost (depreciation) per kilometer of flight, W h is the cost (depreciation) per hour of flight, d is the distance traveled by the drone during the flyby, h is the time. W km and W h can generally be interchangeable, but they can also be used simultaneously. This definition of W provides greater flexibility to adjust the weights depending on the information available for this drone (for example, official estimates of the manufacturer, or statistics on the maximum time / distance for the period of the drone operation). Staff Salaries: This is an estimate of the cost of paying a pilot with a given surcharge for each individual take-off and landing cycle, including the cost of maintaining and depreciation of the moving platform. S = T total * S hourly + N starts * S per−start (4) where S is the total payment to the pilot, T total is total time of flight (in hours), S hourly is the costs per hour of flight, N starts is the number of take-off and landing cycles, S per−start is the additional payment to the pilot for one take-off and landing cycle. S per−start can be used to adjust the algorithm's propensity to use bigger number of cheap drones (when the parameter decreases), or to use fewer expensive drones with a long range (when the parameter increases). Penalty for too Long Flight Time: The penalty P allows considering the maximum and boundary time of the flyby. The maximum flight time sets a strict limit with an exponential penalty. If the flight time exceeds the maximum flight 5794 VOLUME 11, 2023 time specified, the salary and the wear price of the drones are multiplied by: where P hard is hard penalty, T total is total flyby time (in hours)), T max is the specified maximum flyby time. The boundary flight time sets a soft limit with a small linear penalty, which prevents optimization to the maximum flight time (to the hard limit). If the flight time exceeds the stipulated limit value, the salary and the wear price of the drones are multiplied by where P soft is soft penalty, T total is the total flyby time (in hours), T borderline is the specified boundary flyby time, and T max is the specified maximum flyby time.
The total penalty P is calculated as follows: P = 1, if T total < T borderline P = P soft , if T total ≥ T borderline AND T total ≤ T max P = P hard , if T total > T max A high-level pseudocode describing the operation of the function is as follows: grid = generate_grid(field, radius, direction) current_position = 0 fit = 0 for each car_stop: for each drone: W, S, P, current_position = eval(drone, grid, current_position) fit + = (W + S) * P return fit

IV. CASE STUDY
The proposed method has been evaluated based on a simulated environment, which includes agriculture fields of different shapes. And this method has been used in the development of the computing system for flight planning, identification, and classification in the real environment. This system is elaborated by the Institute of Automation and Information Technology of Satbayev University (KazNRTU).

A. DATA OF SIMULATED ENVIRONMENT
The evaluation of the proposed method was carried out on a set of five fields of different shapes and sizes (Fig. 5). The field boundaries are shown by red lines in Fig.5. These fields have different forms and it allows the consideration of the proposed method specifics for complex forms of fields. The purple circles indicate places where drones can take off and land. These places are situated along a specified road.
The experimental study has been implemented for the fixed set of drones and the proposed method allows the selection of the group of heterogeneous UAVs from the predefined available set of UAVs. The set of fixed UAVs used in the study is shown in Table 2.
In Table 2 next parameters for drones are shown: ''Max speed'' reflects the operating speed of the drone, ''Max distance'' is the maximum distance for one take-off and landing cycle, and ''Slowdown ratio'' indicates the loss of speed on turns depending on the angle (a higher value corresponds to greater losses on turns). The parameters ''Price per cycle'', ''Price per kilometer'' and ''Price per hour'' correspond to W cylcle , W km , W h respectively which are introduced in (3).
The distance between the parallel lines of Zamboni route in the experiments was equal to 200 meters. The proposed GA based method needs the definition of the constants introduced in (4) -(2). These constants have been defined as: • the maximum flyby time T max = 8, hours, since daylight hours can be estimated as 8 hours; • the boundary flyby time T borderline = 2, hours, which has been defined by expert evaluation; • the costs per hour of flight is defined according to preliminary tariff rate S hourly = 10, dolars • the additional payment to the pilot for one take-off and landing cycle is defined according to a tariff rate too as S per−start = 3. The experimental study has been implemented based on a genetic algorithm from the Python DEAP library. The population size is set at 250 individuals, 150 generations. According to the preliminary study 50 generations are sufficient for algorithm convergence, but this number has been increasing to have guaranteed convergence of the algorithm.
A two-point crossover and a standard tournament selection with a group size of 3, implemented in DEEP, were used. The mutation function was implemented independently due to non-standard optimization parameters, such as an ordered subset of drones and an ordered set of points on the road for take-off sites. These parameters are defined for the fitness function (1). The custom mutation function deals with each of the 4 optimizable parameters independently: • Direction (angle ranging from 0 to 360) can be modified by adding a random number from Gaussian distribution VOLUME 11, 2023  with mean (mathematical expectation) equal to 0 and standard deviation equal to 45. In order to keep the value in the range from 0 to 360, after this modification the resulting value is divided by 360 and the remainder is kept as the final result of the mutation.
• Starting point can take one of four different values representing possible entry points to the field and denoted ''ne'', ''nw'', ''se'' and ''sw''. In case of mutation, its value is just randomly assigned to one of the other 3 possible values.
• Ordered list of drones -in the case of mutating this parameter one of three equally probable operations can be applied: • Inserting new random drone to a random position in the list • Removing random drone from the list • Shuffling (randomizing order) drones list • Ordered list of moving planform waypoints -in the case of mutating this parameter one of three equally probable operations can be applied: • Inserting new random waypoint to random position in the list. The waypoint is always located on the road (shape of available starting positions) • Remove random waypoint from the list • Sorting the waypoints list. Sorting rather than shuffling is justified by the hypothesis, that sequential points on the road are more likely to be optimal, than chaotic moving back and forth across the road (the hypothesis is supported by the results of preliminary experiments) The algorithms were implemented as part of a Python project using the Django framework for working with data (fields, drones, missions) and visualization. The genetic algorithm is launched through the distributed computing module SCOOP (Scalable Concurrent Operations in Python). The full source code is available in the GitHub repository [74].

B. RESULTS
The experiments have shown that with a population size of 250. The next list of parameters has been computed and evaluated (Table 3 and Table 4): • Shortest distance; • Average distance; the angle of the flyby direction relative to the parallel, the identifier of one of the entry points (North-West, North-East, South-West or South-East -here the designation of the entry point is given before taking into account the angle of the flyby direction), an ordered list of drone numbers in the group and a list of start/landing points (vehicle movement points) in the form of a proportion relative to a straight zigzag line road (that is, 0 and 1 are the ends of the road, and for example 0.5 is the middle). These parameters agree with the parameters of the fitness function (2). For example, [191.30183, 'sw', [10], [0.769523]] can be interpreted in the following way: 191.30183 is overflight angle, 'sw' is South-West designation of the entry point, [10] is one drone with the identifier 10 is used, [0.769523] is one landing/takeoff point is used, located at a distance of 0.769523 from the point the beginning of the road (the total length of the road is 1).   Table 3).

TABLE 5. Comparison of the proposed method and random search based method.
To test the effectiveness of the algorithm, it was compared with the results of a random search. In the case of a random search, the best solution was searched among a group of random solutions, the number of which is equal to the iteration number multiplied by the population size. It is determined that the random algorithm converges only for 100-150 iterations on simple small fields, while on non-convex and complex fields (including triangular ones) it does not converge to an optimal solution even after 150 iterations ( Table 5).
Analysis of the results of the comparison (Table 5) shows that the use of the mhCPPmp algorithm used in this study allows for improving the solution by 6-32% (depending on the shape and area of the field). The results obtained by the genetic algorithm and random search algorithm in Table 5 are indicated as ''Genetic'' and ''Random'' accordantly.
In Table 5 the evaluation of two important innovations on the presented optimization problem is introduced too: (a) the optimal solution search for the set of drones from predefined group of heterogeneous UAVs, and (b) the moving of a vehicle to start and land UAVs in different places. The influence of these innovations has been investigated on the different shapes of agriculture fields. The addition of the moving vehicle in the optimization of the drone's route for the field of type ''Complex'' (Fig. 6) allows for achieving the fitness function value 70.3, at the same time the fitness function value is 78.6 when the vehicle was banned from driving (optimization of only one start/landing point) (Fig.7). VOLUME 11, 2023 The influence of the use of the drones' set from predefined group of available UAVs has been considered for agriculture field of shape ''Non-Convex'' (Fig. 5).
The influence of the use of the drones' set from a predefined group of available UAVs has been considered for the agriculture field of shape ''Non-Convex'' (Fig. 5). The fitness function value is 196.2 for the optimal route of drones that are chosen from the predefined group, and the fitness function value is 216.5 when the route is formed for one drone only. Note that in the first case, the algorithm chose two drones -Ryze Tello and DJI Mavic Mini.
Therefore, the proposed improvements to the overflight algorithm can reduce the cost of overflight by about 10% in this field. Full reports on computational experiments are available in the repository [74]. The analysis of the obtained result (Table 5) shows the efficiency of the proposed method for large fields of complex shape. The proposed GA based method has no advantages over the random search algorithm for small fields of a simple shape (''Small rectangle'', ''Triangle''). For these fields, the optimal solutions of these two algorithms are similar: the same drone was selected (11 -Parrot Anafi) and the fitness functions for GA and random search algorithm are closely (19.97 and 17.27 accordantly). Therefore two innovations are not considered for these fields in Table 5. For a large field of a simple shape ''Big Rectangle '', the proposed algorithm demonstrates a solution 30% better in comparison with the algorithms of random search. The best fitness of the genetic algorithm is 723.46 and it is 1074.75 for random search. The improvement is achieved through the use of different types of drones (11,3,1,2) and the movement of the moved vehicle. For fields of complex shape (''Non-convex'', ''Complex''), the proposed method also has the best results, in particular, in particular, the improvement is 23% for the ''Complex field'' and 14.5% for ''Non-Convex''. Table 5 shows the results another innovation too, which can define the restrictions on the number of UAVs and vehicle movement. For example, the using single UAV (Non-Convex (No group)) results solution on 10% worse. It should be noted that the number of car movements has also increased from 2 to 6, which means an increase in work on recharging and refueling UAVs. If it is impossible to move the car (Complex (No car movement)), the cost increases by 11.7%.
The results of the experiments shown in the Table 5 allow drawing the following conclusions: 1) the mhCPPmp algorithm selects efficiently the parameters of the flyby. In particular, it can be noted that the same drone with the highest economic efficiency (the ratio of technical characteristics to price) is always selected as a UAV, unlike the situation with the random selection algorithm. 2) In some cases, the algorithm selects an additional drone /drones when it is required to meet the specified execution time and to avoid charging a penalty, which also leads to the expediency of using more expensive and faster drones with a large flyby radius.
3) The hypothesis about the effectiveness of using a group of drones and the movement of a car platform for launching and landing drones at different points has been confirmed. The effectiveness of such an improvement depends on the shape and area of the field, the location of the road and the drones available. It should be noted that the developed algorithm has certain drawbacks and can be improved.

C. APPLICATION
The proposed method has been used elaboration of the computing system for flight planning, identification, and classification. The interface of this system is shown in Fig. 8.
The method for route planning can be applied to plan a drone taking off, flying around an agricultural field and returning to a vehicle moving along the field or in close proximity to it. In the real environment, this system has been used for the construction of the optimal route for the UAV flight for two applications (flybys). The first flyby involves the use of a drone equipped with an RGB camera and allows obtaining images for solving problems of identification and classification. The second type of flyby involves the use of a multi-rotor drone with a multispectral camera and allows obtaining multispectral images for gluing the field map and analyzing the health of vegetation. Both of these flybys were performed based on the optimal routes elaborated by the computer system. The cost of these flybys has been reduced compared to flybys performed without prior optimization.

D. LIMITATIONS
Some limitation of the proposed method are caused by some technical assumptions, which are often used in precision agriculture and are not restricted application of the proposed method for many applications. In the context of the method, the limitation can be considered next: 1) The use of Zamboni (back-and-forth) flyby route is restricted the algorithm application for non-convex fields. But fields of complex non-convex form can be split into some convex fields and each of them can be applied the proposed algorithm of the optimal flyby. The problem of the complex field splitting to convex fields is not considered in this paper, but it can be implemented by studies in [45] and [66]. 2) The proposed method is not recommended to use for UAVs in indoor agriculture areas (such as greenhouses) without additional technical support by control and positioning systems that do not use the GPS signal, because there is the possibility of GPS signal loss. Another specific indoor area in agriculture is taking into account the presence of obstacles and restrictions on the height of flights for the flight planning algorithm as it is shown in the study [75]. 3) Reloading and refueling times at the movable platform is not taken into account. It is believed that the car contains sets of ready-made batteries and containers.
Nevertheless, UAV batteries can be charged statically (Static charging) and during flight (in-flight charging) [76]. Accounting for these features when solving monitoring problems (CPP1) will require the refinement of the algorithm. 4) The proposed algorithm optimizes the path in two-dimensional space only and it is developed for offline planning of UAV path. The set of way's point is forwarded or uploaded to an onboard controller of UAVs.

V. CONCLUSION
Precision farming can significantly increase crop yields. Nevertheless, its application requires optimization of the implementation of agrotechnical measures. UAVs can collect data for decision-making and carry out individual agricultural production activities. However, a number of unsolved problems still prevent the widespread use of intelligent UAV technology for solving precision farming problems. One of these tasks is flight planning to solve the problem of coverage. Despite the clarity of the general statement, this task can be very difficult in practical implementation if heterogeneous restrictions on overflight are taken into account and when using technically heterogeneous UAVs. To solve this problem, the authors proposed a modification of the genetic algorithm mhCPPmp, which takes into account: 1) the possibility of moving a mobile platform, providing recharge and replenishment of substances (in case of solving the problem of applying fertilizers, herbicides, etc.) and 2) the use of heterogeneous UAVs. These features of the algorithm allowed to improve the quality of the solution by 10-12% compared to same algorithm without a mobile platform and using a single UAV, even on relatively small fields (see Table 5). The main limitation of the current version of the mhCPPmp algorithm is the use of back-and-forth method, which is well suited for flying over convex fields without obstacles, but may not be optimal for fields of complex configuration with zones of different availability. Other limitations of the proposed method are listed in section IV-D.

FUTURE RESEARCH
Based on the above reported study, the following areas of further research can be identified: 1) Optimization of more complex routes, for example by dividing the field into several ones, with the calculation of Zamboni flyby in each of them separately; 2) Preventing drones' collisions by ''separating'' their paths (divergence of their flight routes); 3) Taking into account the dynamic characteristics of drones (speed of altitude gaining, acceleration rate); 4) The possibility of partial refueling of drones running, for example, on gasoline, to optimize the weight of the drone; 5) The ability to fly around the territory on curved trajectories. VOLUME 11, 2023 FIGURE 9. Field formation.

APPENDIX A. SIMULATION ENVIRONMENT
Many simulation environments are designed for pilot training and do not contain tools for modeling or planning flights for a group of heterogeneous UAVs. Due to these circumstances, a decision was made to develop a simulator that provides an assessment of the flight planning algorithm in precision farming problems. The simulator allows: 1) Simulate the process of movement in two-dimensional space of technically heterogeneous UAVs. 2) Upload local maps of the area. 3) Control the speed of the UAV. 4) Visualize the field coverage process. 5) Simulate the flight of several UAVs. The simulation environment is developed in Python 3.7.9. The source code is available at github.com (https://github. com/uavkz/SwarMown). The simulation environment architecturally consists of two modules: A1) Calculation module. Contains functions that allow you to calculate the route according to the specified parameters, as well as get the main indicators of the flight. A2) Web module. Required for creating fields in the GIS interface, setting flight parameters, experiments, and other service tasks.

A1 CALCULATION MODULE
The module contains the necessary functions for calculating the cost of a flight, other indicators of a flight, and sections of the flight route. The module is used to solve the optimization problem as a way to calculate the objective function. It is developed using the following libraries: 6) The NumPy library version 1.18.2 provides high performance matrix computing capability as well as other mathematical functions.

A2 WEB MODULE
The web module is developed based on the Python web framework Django version 3.0.3. Leaflet.js version 1.6.0 is used to display maps and geographic layers. For displaying moving objects -the Pixi.js rendering engine version 5.1.6, as well as an Opensource solution for integrating Pixi objects into the Leaflet.js framework of L.PixiOverlay.js maps. Figures 9-11 illustrate how to create a field, a mission, and control a flyby route in a simulator environment.