Multi-unmanned aerial vehicle path determination method and device, electronic equipment, program product and medium
Through particle group optimization algorithms, the best way to determine the multi -drone, solve the problem of low co -inspection efficiency in the existing technologies, and achieve more efficient wind turbine inspections.
Patent Information
- Application Number
- CN202411466359.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-21
- Publication Date
- 2025-01-24
AI Technical Summary
The existing drone inspection technology mainly focuses on path planning for single unmanned airport scenes, and there is little research on collaborative inspection of multiple drones, resulting in low patrol efficiency and limited coverage.
By obtaining the location information and drone information of the wind motor, the optimization algorithm of particle group optimization algorithms is used to determine the best path of multiple drones, optimize the order of drones to detect wind motors to improve the efficiency of inspection.
The best path planning for multi -drone co -inspections has been achieved, and the efficiency of fan inspection has been improved, and the risk of inspection is reduced to a certain extent.
Smart Images

Figure CN119356357A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the field of data processing technology, and in particular to a multi-UAV path determination method, device, electronic device, program product and medium. Background Art
[0002] As a pioneer of clean energy, the wind power industry has become the backbone of promoting energy transformation and development. Since wind power operation requires a large wind farm, wind turbine blades must withstand great tensile stress, wind impact force and shear stress caused by blade vibration during operation. Under the influence of these factors, wind turbine blades are easily damaged. If the damaged position cannot be detected and maintained in time, the performance of the generator will be reduced, the life of the unit will be affected, and economic losses will be caused. In serious cases, it will even cause safety accidents, which will affect the operation of the entire wind power system. In recent years, the development of drone technology has provided new solutions for the inspection of wind turbine blades. Drone inspection has the advantages of high efficiency, flexibility, and safety. It can quickly cover a large area and realize a comprehensive inspection of wind turbine blades. Therefore, the use of drones for wind turbine blade inspection has become the mainstream.
[0003] However, the existing UAV inspection technology mainly focuses on path planning for single UAV scenarios, and there is little research on multi-UAV collaborative inspection. In practical applications, single UAV inspection has many limitations, such as low inspection efficiency and limited coverage. Therefore, how to plan the best path for UAV collaborative inspection of wind turbines has become an urgent problem to be solved. Summary of the invention
[0004] The embodiments of the present invention provide a multi-UAV path determination method, device, electronic device, program product and medium, which can determine the optimal path for multi-UAV collaborative operation, realize the optimal path planning for multi-UAV collaborative inspection of wind turbines, improve the wind turbine inspection efficiency, and reduce the inspection risk to a certain extent.
[0005] In a first aspect, an embodiment of the present invention provides a method for determining paths of multiple UAVs, including:
[0006] Obtaining location information of at least one wind turbine and information of a drone;
[0007] An initial population is obtained according to the location information of the at least one wind turbine, the drone information and a predetermined coding strategy; wherein the initial population is composed of a plurality of particles, the particles are composed of coding sequences, and the coding sequences are used to represent the detection order of the drone detecting each wind turbine;
[0008] When the initial population does not meet the preset conditions, the fitness of each particle is obtained based on a predetermined fitness function and the initial population, and the coding sequence of each particle is optimized based on the fitness of each particle until the initial population meets the preset conditions, thereby obtaining the optimal coding sequence of each particle;
[0009] The optimal path for each UAV to detect each wind turbine is determined based on the optimal coding sequence of each particle.
[0010] In a second aspect, an embodiment of the present invention provides a computer program product, including a computer program, which, when executed by a processor, implements a multi-UAV path determination method as described in any one of the embodiments of the present invention.
[0011] In a third aspect, an embodiment of the present invention provides a multi-UAV path determination device, the device comprising:
[0012] An information acquisition module, used to acquire location information of at least one wind turbine and information of a drone;
[0013] A population determination module, used to obtain an initial population according to the location information of the at least one wind turbine, the drone information and a predetermined coding strategy; wherein the initial population is composed of a plurality of particles, the particles are composed of coding sequences, and the coding sequences are used to represent the detection order of the drone detecting each wind turbine;
[0014] A sequence optimization module, used for obtaining the fitness of each particle based on a predetermined fitness function and the initial population when the initial population does not meet the preset conditions, and optimizing the coding sequence of each particle based on the fitness of each particle until the initial population meets the preset conditions, thereby obtaining the optimal coding sequence of each particle;
[0015] The path determination module is used to determine the optimal path for each drone to detect each wind turbine based on the optimal coding sequence of each particle.
[0016] In a fourth aspect, an embodiment of the present invention further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, a multi-UAV path determination method as described in any one of the embodiments of the present invention is implemented.
[0017] In a fifth aspect, an embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a multi-UAV path determination method as described in any one of the embodiments of the present invention.
[0018] In an embodiment of the present invention, the location information and drone information of at least one wind turbine are obtained; an initial population is obtained according to the location information of at least one wind turbine, the drone information and a predetermined coding strategy; wherein the initial population is composed of a plurality of particles, the particles are composed of coding sequences, and the coding sequences are used to indicate the detection order of the drone detecting each wind turbine; when the initial population does not meet the preset conditions, the fitness of each particle is obtained based on the predetermined fitness function and the initial population, and the coding sequence of each particle is optimized based on the fitness of each particle until the initial population meets the preset conditions, and the optimal coding sequence of each particle is obtained; based on the optimal coding sequence of each particle, the optimal path for each drone to detect each wind turbine is determined. The technical solution of this embodiment accurately determines the single optimal path for a single drone to inspect each wind turbine according to the location information of the wind turbine and the drone information, automatically generates the initial population according to the single optimal path and the coding strategy, optimizes the coding segment of the coding sequence of a single particle in the population, performs a local optimization operation, avoids the situation that only relying on crossover and mutation operations is prone to fall into the dilemma of local optimal solution, and improves the accuracy of determining the optimal path for multi-drone collaborative operation. The optimal path planning for multi-UAV collaborative wind turbine inspections is achieved, which improves the wind turbine inspection efficiency and reduces the inspection risks to a certain extent. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.
[0020] Figure 1 A first flow chart of a multi-UAV path determination method provided by an embodiment of the present invention;
[0021] Figure 2 A second flow chart of a multi-UAV path determination method provided by an embodiment of the present invention;
[0022] Figure 3 A schematic diagram of the structure of a multi-UAV path determination device provided by an embodiment of the present invention;
[0023] Figure 4 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0024] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.
[0025] Figure 1 This is the first flow chart of a multi-UAV path determination method provided in an embodiment of the present invention. The method in the embodiment of the present invention can determine the optimal path for multi-UAV collaborative operations, realize the optimal path planning for multi-UAV collaborative inspection of wind turbines, improve the wind turbine inspection efficiency, and reduce the inspection risk to a certain extent. The method can be executed by a multi-UAV path determination device provided in an embodiment of the present invention, and the device can be implemented in software and / or hardware. The following embodiments will be described by taking the device integrated in an electronic device as an example, with reference to Figure 1 , the method may specifically include the following steps:
[0026] Step 101: Obtain location information of at least one wind turbine and information of a drone.
[0027] The location information of the wind turbine includes the geographical location of the wind turbine, such as the longitude and latitude of the wind turbine. The drone information includes the number of drones, the departure location of the drones, and the basic information of the drones. The basic information of the drone includes the model of the drone and the serial number of the drone. Specifically, when it is necessary to plan the path of the drone, the server can receive the longitude and latitude of each wind turbine and the drone information sent by the user, so as to plan the path of the drone according to the location information of the wind turbine and the drone information.
[0028] Step 102: Obtain an initial population according to location information of at least one wind turbine, information of a UAV, and a predetermined encoding strategy.
[0029] The initial population is composed of multiple particles, each of which is composed of a coding sequence, and the coding sequence is used to represent the detection order of each wind turbine by the drone. The coding strategy is used to convert practical problems into an operational computing model. In this scheme, the path from a single drone to each wind turbine can be converted into a coding sequence through the coding strategy. For example, the geographical location of the wind turbine is converted into a distance or direction that can represent the distance from the starting position of the drone to the wind turbine. The number, model, and serial number of the drone are converted into a digital sequence for representing the basic information and status of the drone. The initial population is a set of multiple particles, each of which is a possible solution. According to the solution, the optimal path for multiple drones to detect multiple wind turbines can be determined. In this scheme, the single optimal path for a single drone to detect all wind turbines can be determined based on the location information of at least one wind turbine and the drone information. The initial population is obtained based on the single optimal path, the location information of the wind turbine, the drone information, and the coding strategy.
[0030] In an optional implementation, after obtaining the location information of the wind turbine and the drone information, the distance between each two wind turbines is calculated according to the starting position of the drone and the location information of each wind turbine, and a distance matrix is established based on the distance; an initial solution space for a single drone to detect each wind turbine is established according to pre-set simulation path parameters and the distance matrix; the distance matrix is input into a pre-set objective function to obtain a target distance for each single initial path; a single optimal path is determined from the single initial paths of each wind turbine according to the target distance of each single initial path and a pre-set update solution determination rule; the location information and drone information of each wind turbine are initialized to obtain a random sequence, and each element of the random sequence is decimal-encoded based on a coding strategy to obtain a coding sequence; an initial population is established based on the single optimal path and the coding sequence.
[0031] Step 103: When the initial population does not meet the preset conditions, the fitness of each particle is obtained based on the predetermined fitness function and the initial population, and the coding sequence of each particle is optimized based on the fitness of each particle until the initial population meets the preset conditions and the optimal coding sequence of each particle is obtained.
[0032] Among them, the preset conditions are used to determine whether to stop updating the initial population, for example, whether the number of updates to the initial population reaches the preset number. If the initial population has not met the preset conditions, it means that the initial population does not contain a coding sequence that can determine the optimal path. If the initial population meets the preset conditions, it means that the optimal path for multiple UAVs to detect wind turbines can be determined based on the coding sequence of the particles in the initial population. The fitness function is pre-set and is used to evaluate the quality of the coding sequence of each particle. Specifically, when the initial population does not meet the preset conditions, it means that the coding sequence of the particles in the initial population needs to be optimized, and the fitness of each particle can be calculated according to the fitness function, and the coding sequence of each particle can be optimized according to the fitness of each particle.
[0033] In an optional embodiment, when the initial population does not meet the preset conditions, two particles are randomly selected from the initial population as parent individuals, and a point is randomly selected from the coding sequences corresponding to the two parent individuals as a crossover point; the two parent individuals are crossovered based on the crossover point to obtain two child individuals of the two parent individuals, and the initial population is updated based on the two child individuals and the fitness function to obtain an initial update population; mutant individuals are selected from the initial update population according to a preset mutation rate to perform mutation operations to obtain new mutant individuals, and the initial update population is updated based on the new mutant individuals to obtain a candidate population. For each particle in the candidate population, a coding segment between two positions is randomly selected from the coding sequence corresponding to the current particle, the coding segment is optimized according to the distance matrix, and the coding sequence of the current particle is updated according to the optimized coding segment. The initial solution space is updated according to the updated coding sequence of the particle. If the initial solution space still does not meet the preset conditions, the operation of randomly selecting two particles as parent individuals in the initial population is repeated until the initial solution space meets the preset conditions to obtain the optimal coding sequence of each particle.
[0034] Step 104: determining the optimal path for each UAV to detect each wind turbine based on the optimal coding sequence of each particle.
[0035] Specifically, the optimal coding sequence represents the departure order of multiple drones to detect each wind turbine. Specifically, the initial population that meets the preset conditions includes at least one particle. If the initial population includes only one particle, the position points of each wind turbine are connected in sequence according to the order in the coding sequence of the particle to form an inspection path, and this path is determined as the optimal path for each drone to detect each wind turbine. If the initial population includes multiple particles, a particle is automatically selected from the multiple particles and determined as the target particle, and the optimal path for each drone to detect each wind turbine is determined according to the order in the coding sequence of the target particle.
[0036] The technical solution of this embodiment is to obtain the location information and drone information of at least one wind turbine; obtain the initial population according to the location information, drone information and a predetermined coding strategy of at least one wind turbine; wherein the initial population is composed of a plurality of particles, the particles are composed of coding sequences, and the coding sequences are used to indicate the detection order of the drone detecting each wind turbine; when the initial solution space does not meet the preset conditions, the fitness of each particle is obtained based on the predetermined fitness function and the initial population, and the coding sequence of each particle is optimized based on the fitness of each particle until the initial solution space meets the preset conditions, and the optimal coding sequence of each particle is obtained; the optimal path for each drone to detect each wind turbine is determined based on the optimal coding sequence of each particle. The technical solution of this embodiment is to accurately determine the single optimal path for a single drone to inspect each wind turbine according to the location information and drone information of the wind turbine, automatically generate the initial population according to the single optimal path and the coding strategy, optimize the coding segment of the coding sequence of a single particle in the population, perform local optimization operations, avoid the situation where it is easy to fall into the dilemma of local optimal solution by relying only on crossover and mutation operations, and improve the accuracy of determining the optimal path for multi-drone collaborative operations. The optimal path planning for multi-UAV collaborative wind turbine inspections is achieved, which improves the wind turbine inspection efficiency and reduces the inspection risks to a certain extent.
[0037] Figure 2 This is a second flow chart of a method for determining a multi-UAV path provided by an embodiment of the present invention. This embodiment is a refinement of the above embodiment. The specific method can be as follows: Figure 2 As shown, the method may include the following steps:
[0038] Step 201: Obtain location information and drone information of at least one wind turbine.
[0039] Step 202: Calculate the distance between every two wind turbines according to the location information of each wind turbine, and establish a distance matrix based on the distances.
[0040] Specifically, after obtaining the location information of each wind turbine, each wind turbine is regarded as a node. In the task of UAV path planning, the UAV needs to pass through each point. First, calculate the minimum actual distance between each point (wind turbine). Use A and B to represent any two points. According to the longitude and latitude of A, the geographic coordinates of A are determined as (x1, y1). According to the longitude and latitude of B, the geographic coordinates of B are determined as (x2, y2). A three-dimensional rectangular coordinate system is established with the center of the earth as coordinate O, the equatorial plane as the XOY plane, and the plane where the 0-degree meridian circle is located as the XOZ plane. Then the rectangular coordinates of points A and B can be determined as:
[0041] A: (Rcosx1cosy1,Rsinx1cosy1,Rsiny1);
[0042] B: (Rcosx2cosy2,Rsinx2cosy2,Rsiny2);
[0043] Among them, R = 6370 km is the radius of the earth. The actual distance d between points A and B is:
[0044]
[0045] Among them, Rarccos means calculating arc cosine. Assume that there are n wind turbines, select one wind turbine and number it 1, and the rest of the wind turbines are numbered 2, 3, ..., n in sequence. The wind turbine numbered 1 is repeated and numbered n+2. According to the numbers and distances of each wind turbine, a distance matrix D = (d ij ) n+1*n+1 , where dij represents the distance between two points i and j, i, j = 1, 2,…, n+2.
[0046] Step 203: Establish an initial solution space for a single UAV to detect each wind turbine based on preset simulation path parameters and distance matrix.
[0047] The simulation path parameters include: UAV motion path, motion path length, termination temperature, number of cycles, and cooling coefficient. The initial solution space S for a single UAV to detect each wind turbine is {1, 2, ..., n, n+1, n+2}, where 1 is the starting point and n+2 is the end point. The initial solution space S = {(π1, π2, π3, ..., π n+2 )|π1=1, (π2, π3,...,π n+1 ) is a circular ordering of {2,…,n,n+1}, π n+2 =n+2}. Each cyclic arrangement represents a loop of the detection of n wind turbines by the detection drone, πi=j is the target wind turbine j detected in the i-1th time, and the initial solution in the cyclic process can be selected as (1, 2, ..., n+2).
[0048] Step 204: obtaining an initial population based on simulation path parameters, a preset objective function, a preset update solution determination rule, an initial solution space and a coding strategy.
[0049] The objective function is used to limit the length of the path for the drone to detect all wind turbines. The update solution determination rule is used to determine whether to update the solution (optimal path) of the initial solution space. The encoding strategy is used to convert the actual problem into an operational calculation model. In this solution, optionally, the initial population is obtained based on the simulation path parameters, the preset objective function, the preset update solution determination rule, the initial solution space and the encoding strategy, including the following steps A1-A2:
[0050] Step A1: Input the distance matrix into the objective function to obtain the target distance of each single initial path; determine a single optimal path from the single initial paths of each wind turbine according to the target distance of each single initial path and the update solution determination rule.
[0051] Among them, a single initial path is the path (solution) for a single drone to detect all wind turbines. The target distance is usually the total distance that the drone needs to fly when performing inspection tasks. The target distance is an important indicator for measuring the quality of the path. In this solution, the objective function is: Among them, min means taking the minimum, taking the distance matrix as the independent variable, from the input to the objective function, and using the objective function to calculate the target distance corresponding to each single initial path.
[0052] In an optional implementation, when the preset initial temperature T is greater than or equal to the preset termination temperature e, a solution is selected from the initial solution space as the current solution, and the current solution is transformed according to a preset transformation algorithm to obtain an updated solution corresponding to the current solution. The transformation algorithm in this solution can be a 2-transformation algorithm, assuming that the current solution is:
[0053] π1...π u-1 π u π u+1 ...π v-1 π v π v+1 ...π w-1 π w π w+1 ...π n+2 , perform 2 transformations on the current solution, select any two sequence numbers u and v in the current solution, swap the order between u and v, and turn it into reverse order, and the updated solution corresponding to the current solution is:
[0054] π1...π v-1 π v π v+1 ...π u-1 π u π u+1 ...π w-1 π w π w+1 ...π n+2 .
[0055] Further, after obtaining the current solution and the updated solution corresponding to the current solution, it can be determined whether to replace the current solution with the updated solution according to the updated solution determination rule. In an optional implementation, the path difference Δf between the current solution and the updated solution is calculated according to the following formula: If Δf<0, it means that the path length corresponding to the updated solution is less than the path length corresponding to the current solution, then it is determined to replace the current solution with the updated solution. If Δf>0, it means that the updated solution is not better than the current solution, but it does not mean that the current solution must be replaced with the updated solution. In an optional implementation, if Δf>0, a random function can be used to generate a random number uniformly distributed in the interval [0,1], and the random number is compared with e^(-Δf / T). If the random number is less than or equal to e^(-Δf / T), the current solution is replaced with the updated solution. If the random number is greater than e^(-Δf / T), the updated solution is not used to replace the current solution. T is not constant. In the next iteration process (i.e., the next solution is randomly selected from the initial solution space as the current solution), T=αT, and α in this solution can be 0.999. When T is less than e, the iteration is stopped to obtain a solution space including the optimal solution (single optimal path).
[0056] Step A2: Initialize the location information of each wind turbine and the information of the UAV to obtain a random sequence, and decimal encode each element of the random sequence based on the encoding strategy to obtain a coding sequence; establish an initial population based on a single optimal path and the coding sequence.
[0057] Specifically, in the path planning problem of multiple UAVs, the starting point and the end point of each UAV are the same, and the starting point and the end point are at the same position. Each UAV does not pass through the same wind turbine repeatedly during the detection process, that is, each wind turbine is detected by one and only one UAV. The initial population is composed of multiple particles, and the particles are composed of coding sequences. The coding sequence is used to represent the detection order of each wind turbine by the UAV. By iteratively updating the particles in the initial population, the optimal coding sequence can be obtained, and the optimal path for multiple UAVs to detect wind turbines can be determined based on the optimal coding sequence. After obtaining a single optimal path, the initial population corresponding to the multi-UAV detection of wind turbines can be established according to the coding strategy, the location information of each wind turbine, the UAV information, and the single optimal path.
[0058] In the decimal coding method, each potential solution (particle) consists of a random number sequence, and each element in the random number sequence represents the number of a wind turbine node. The numbers in the random number sequence are arranged in the order of the inspection to form a feasible inspection path. In an optional implementation, a decimal coding strategy is used to generate multiple random number sequences w1, ..., w according to the number of wind turbines. n+1 , where 0≤w i ≤10(i=2,3,…,n+1), the coding position i is the starting point of the UAV or the wind turbine node.
[0059] In this scheme, the classical improved circle algorithm is used to establish the initial population. The classical improved circle algorithm is an algorithm based on iterative optimization and is used to solve path planning problems. The classical improved circle algorithm continuously adjusts and optimizes the current solution to find a better solution. For the randomly generated m (m is the number of drones) initial circles c m For: c m =π1...π u-1 π u π u+1 ...π v-1 π v π v+1 ...π n+2 . By exchanging the order between u and v, the new path (new initial circle) of m drones is obtained as:
[0060] c m =π1...π v-1 π v π v+1 ...π u-1 π u π u+1 ...π n+2 The path difference Δf1 between the initial circle and the new initial circle is determined as:
[0061] If Δf1<0, the initial circle is replaced by a new initial circle, and the next initial circle is randomly generated, and the steps are repeated until the initial circle is no longer replaced by a new initial circle, and an initial population including M (number of repetitions) feasible solutions (initial circles) is obtained.
[0062] In the above steps, the objective function is used to limit the path length of all wind turbines detected by the drone, ensuring the rationality and feasibility of path planning. By updating the solution judgment rules, it is automatically determined whether the current solution needs to be updated during the optimization process, thereby improving the optimization efficiency and accuracy. The appropriate coding strategy is used to transform the actual problem into an operational calculation model, making the problem-solving process clearer and more intuitive.
[0063] Step 205: When the initial solution space does not meet the preset conditions, the fitness of each particle is obtained based on the predetermined fitness function and the initial population, and crossover and mutation operations are performed on each particle based on the fitness of each particle, and the initial population is updated based on the crossover and mutated particles to obtain a candidate population.
[0064] Among them, the preset condition is used to determine whether to stop iterating the initial population, for example, whether the number of iterations of the initial population reaches the preset number. Crossover and mutation operations are important operators in genetic algorithms. Through crossover operations, some genes (fragments of coding sequences) of two chromosomes (parent particles) will be exchanged to generate new chromosomes (daughter particles). Through mutation operations, one or some genes on the chromosomes (particles) will change randomly, thereby generating new chromosomes. The dependent variable of the fitness function is the shortest path length when m drones pass through only one wind turbine. The fitness function is:
[0065] The fitness of each particle can be obtained according to the fitness function.
[0066] In this scheme, crossover and mutation operations are performed on each particle based on the fitness of each particle, and the initial population is updated based on the crossover and mutation particles to obtain the candidate population, including: randomly selecting two particles in the initial population as parent individuals, and randomly selecting a point in the coding sequence corresponding to the two parent individuals as the crossover point; performing a crossover operation on the two parent individuals based on the crossover point to obtain two child individuals of the two parent individuals, and updating the initial population based on the two child individuals and the fitness function to obtain the initial update population. According to the pre-set mutation rate, a mutation individual is selected from the initial update population for mutation operation to obtain a new mutation individual, and the initial update population is updated based on the new mutation individual to obtain the candidate population.
[0067] In this scheme, in order to simplify the crossover calculation process, single-point crossover is performed on the particles in the initial population. When the number of iterations does not reach the preset number, an initial circle C1 is randomly selected in the initial population, f1 and f2 are the two parent individuals of C1, assuming f1 = w1w2...w31, f2 = w1'w2'...w31', and the t-th position (wt) of the coding sequence corresponding to C1 is randomly selected as the crossover point. After the crossover operation, the offspring individuals Z1 and Z2 are obtained. The coding sequence of Z1 is composed of the first t genes of f1 and the last 31-t genes of f2, and the coding sequence of Z2 is composed of the first t genes of f2 and the last 31-t genes of f1. Calculate the fitness of f1, f2, Z1 and Z2. If the fitness of Z1 is greater than the fitness of f1, or the fitness of Z2 is greater than the fitness of f2, then replace f1 with Z1, or replace f2 with Z2 to obtain the initial updated population. Otherwise, f1 or f2 will not be updated. After obtaining the initial update population, a certain number of particles are selected from the initial update population as mutant individuals according to the preset mutation rate, and three integers (u, v and A) are randomly selected from each mutant individual. The coding sequence fragment between u and v (including u and v) is extracted and inserted after the last position A of the coding sequence of the particle to obtain a new mutant individual, and the candidate population is updated according to the new mutant individual.
[0068] In the above steps, each particle is evaluated based on the fitness function, and the initial population is updated according to the evaluation results, which can ensure that the particles in the initial population continue to evolve towards a better solution. The single-point crossover method is used to simplify the crossover calculation process and reduce the time complexity of the algorithm. The above steps effectively improve the diversity and quality of the initial population by randomly selecting parent individuals, generating offspring individuals through crossover operations, adding new individuals through mutation operations, and evaluating and updating particles through fitness functions, laying the foundation for efficiently solving the path planning problem of UAV inspection of wind turbines.
[0069] Step 206: For each particle in the candidate population, randomly select a coding segment between two positions in the coding sequence corresponding to the current particle, optimize the coding segment according to the distance matrix, and update the coding sequence of the current particle according to the optimized coding segment until the initial population meets the preset conditions, and obtain the optimal coding sequence of each particle.
[0070] After obtaining the candidate population, two positions L1 and L2 are randomly generated in the coding sequence of a single particle in the candidate population, where L2 = L1 + q, q is a positive integer less than n. That is, L2 is after L1, and the position difference between the two is q. Starting from the first position i3, the node closest to L1 in the coding segment corresponding to L1 and L2 is determined according to the distance matrix, and the node is used as the second node to update the coding segment corresponding to L1 and L2. The second node is used as the first position, and the above operation is repeated until a new coding segment is obtained, and the original coding segment corresponding to L1 and L2 is replaced according to the new coding segment to update the coding sequence of the corresponding particle, and the candidate population is updated according to the updated particle. Further, the step of randomly selecting two particles as parent individuals in the initial population (updated candidate population) is repeated until the number of iterations reaches the preset number, and the initial population that has been optimized a sufficient number of times is obtained, and the optimal coding sequence of each particle in the initial population is obtained.
[0071] Step 207: determining the optimal path for each UAV to detect each wind turbine based on the optimal coding sequence of each particle.
[0072] In the technical solution of this embodiment, the location information and drone information of at least one wind turbine are obtained. According to the departure location of the drone and the location information of each wind turbine, the distance between each wind turbine and the departure location is calculated, and a distance matrix is established based on the distance. According to the preset simulation path parameters and the distance matrix, an initial solution space for a single drone to detect each wind turbine is established. The initial population is obtained based on the simulation path parameters, the preset objective function, the preset update solution determination rule, the initial solution space and the encoding strategy. When the initial solution space does not meet the preset conditions, the fitness of each particle is obtained based on the predetermined fitness function and the initial population, and each particle is crossover and mutation operations are performed on each particle based on the fitness of each particle, and the initial population is updated based on the crossover and mutation particles to obtain a candidate population. For each particle in the candidate population, a coding segment between two positions is randomly selected in the coding sequence corresponding to the current particle, the coding segment is optimized according to the distance matrix, and the coding sequence of the current particle is updated according to the optimized coding segment, until the initial solution space meets the preset conditions, the optimal coding sequence of each particle is obtained; based on the optimal coding sequence of each particle, the optimal path for each drone to detect each wind turbine is determined. In the scheme of this embodiment, the single optimal path for a single drone to inspect each wind turbine is accurately determined based on the location information of the wind turbine and the drone information, and the initial population is automatically generated based on the single optimal path and the coding strategy. The particles of the initial population are crossover and mutation operations are performed to continuously optimize the gene combination of the particles in the population, thereby improving the search efficiency and accuracy of the algorithm. The coding segment of the coding sequence of a single particle is optimized according to the distance matrix, and a local optimization operation is performed to avoid the situation where it is easy to fall into the dilemma of local optimal solution by relying solely on crossover and mutation operations, thereby improving the accuracy of determining the optimal path for the collaborative operation of multiple drones. The optimal path planning for the collaborative inspection of wind turbines by multiple drones is realized, which improves the inspection efficiency of wind turbines and reduces the inspection risks to a certain extent.
[0073] An embodiment of the present invention also provides a computer program product.
[0074] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer program products, which can include one or more computer programs, which can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor, which can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0075] Figure 3 The present invention provides a schematic diagram of the structure of a multi-UAV path determination device provided in an embodiment of the present invention. The device is suitable for executing the multi-UAV path determination method provided in an embodiment of the present invention. Figure 3 As shown, the device may specifically include:
[0076] An information acquisition module 301 is used to acquire location information of at least one wind turbine and information of a drone;
[0077] A population determination module 302 is used to obtain an initial population according to the location information of the at least one wind turbine, the drone information and a predetermined coding strategy; wherein the initial population is composed of a plurality of particles, the particles are composed of coding sequences, and the coding sequences are used to indicate the detection order of the drone detecting each wind turbine;
[0078] A sequence optimization module 303 is used for obtaining the fitness of each particle based on a predetermined fitness function and the initial population when the initial population does not meet the preset conditions, and optimizing the coding sequence of each particle based on the fitness of each particle until the initial population meets the preset conditions, thereby obtaining the optimal coding sequence of each particle;
[0079] The path determination module 304 is used to determine the optimal path for each drone to detect each wind turbine based on the optimal coding sequence of each particle.
[0080] Optionally, the population determination module 302 is specifically configured to: calculate the distance between every two wind turbines according to the location information of each wind turbine, and establish a distance matrix based on the distance;
[0081] According to the preset simulation path parameters and the distance matrix, an initial solution space for a single UAV to detect each wind turbine is established;
[0082] An initial population is obtained based on the simulation path parameters, a preset objective function, a preset update solution determination rule, the initial solution space and the encoding strategy.
[0083] Optionally, the population determination module 302 is further used to: input the distance matrix into the objective function to obtain the target distance of each single initial path;
[0084] Determining a single optimal path from the single initial paths of the wind turbines according to the target distances of the single initial paths and the updated solution determination rule;
[0085] The initial population is obtained based on the single optimal path and the encoding strategy.
[0086] Optionally, the population determination module 302 is further used to: initialize the location information of each wind turbine and the drone information to obtain a random sequence, and perform decimal encoding on each element of the random sequence based on the encoding strategy to obtain the encoding sequence;
[0087] The initial population is established based on the single optimal path and the coding sequence.
[0088] Optionally, the sequence optimization module 303 is specifically used to: perform crossover and mutation operations on each particle based on the fitness of each particle, and update the initial population based on the particles after the crossover and mutation to obtain a candidate population;
[0089] For each particle in the candidate population, a coding segment between two positions is randomly selected in the coding sequence corresponding to the current particle, the coding segment is optimized according to the distance matrix, and the coding sequence of the current particle is updated according to the optimized coding segment.
[0090] Optionally, the sequence optimization module 303 is further used to: randomly select two particles in the initial population as parent individuals, and randomly select a point in the coding sequences corresponding to the two parent individuals as a crossover point;
[0091] Performing a crossover operation on the two parent individuals based on the crossover point to obtain two offspring individuals of the two parent individuals, and updating the initial population based on the two offspring individuals and the fitness function to obtain an initial updated population;
[0092] According to a preset mutation rate, a mutant individual is selected from the initial update population to perform a mutation operation to obtain a new mutant individual, and the initial update population is updated based on the new mutant individual to obtain the candidate population.
[0093] The multi-UAV path determination device provided in the embodiment of the present invention can execute the multi-UAV path determination method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method. For the contents not described in detail in this embodiment, reference can be made to the description in any method embodiment of the present invention.
[0094] Figure 4 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention, referring to Figure 4 , Figure 4 The electronic device 12 shown is only an example and should not limit the functions and scope of use of the embodiments of the present application. Figure 4 As shown, the electronic device 12 is in the form of a general purpose computing device. The components of the electronic device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that connects various system components (including the system memory 28 and the processing unit 16).
[0095] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus architectures. By way of example, these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.
[0096] The electronic device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the electronic device 12, including volatile and non-volatile media, removable and non-removable media.
[0097] The system memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The electronic device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Figure 4 not shown, usually called a "hard drive"). Although Figure 4Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk"), and an optical drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM, or other optical medium) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of the various embodiments of the present application.
[0098] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in the memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. The program modules 42 generally perform the functions and / or methods of the embodiments described herein.
[0099] The electronic device 12 may also communicate with one or more external devices 14 (e.g., keyboards, pointing devices, displays 24, etc.), may communicate with one or more devices that enable a user to interact with the electronic device 12, and / or may communicate with any device that enables the electronic device 12 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface 22. Furthermore, the electronic device 12 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with other modules of the electronic device 12 via the bus 18. It should be understood that although Figure 4 Not shown, other hardware and / or software modules may be used in conjunction with the electronic device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0100] The processing unit 16 executes various functional applications and data processing by running the program stored in the system memory 28, for example, a multi-UAV path determination method provided in an embodiment of the present invention is implemented: obtaining the location information and UAV information of at least one wind turbine; obtaining an initial population according to the location information of the at least one wind turbine, the UAV information and a predetermined coding strategy; wherein the initial population is composed of a plurality of particles, and the particles are composed of coding sequences, and the coding sequences are used to represent the detection order of the UAV detecting each wind turbine; when the initial population does not meet the preset conditions, the fitness of each particle is obtained based on a predetermined fitness function and the initial population, and the coding sequence of each particle is optimized based on the fitness of each particle until the initial population meets the preset conditions, and the optimal coding sequence of each particle is obtained; based on the optimal coding sequence of each particle, the optimal path for each UAV to detect each wind turbine is determined.
[0101] The embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, a method for determining a multi-UAV path provided by all the embodiments of the present invention is implemented: obtaining the location information and UAV information of at least one wind turbine; obtaining an initial population according to the location information of the at least one wind turbine, the UAV information and a predetermined coding strategy; wherein the initial population is composed of a plurality of particles, and the particles are composed of coding sequences, and the coding sequences are used to represent the detection order of the UAV detecting each wind turbine; when the initial population does not meet the preset conditions, the fitness of each particle is obtained based on a predetermined fitness function and the initial population, and the coding sequence of each particle is optimized based on the fitness of each particle until the initial population meets the preset conditions, and the optimal coding sequence of each particle is obtained; based on the optimal coding sequence of each particle, the optimal path for each UAV to detect each wind turbine is determined. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electronic device, device or device of electrical, magnetic, optical, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection with one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction-executing electronic device, apparatus, or device.
[0102] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction-executing electronic device, apparatus, or device.
[0103] The program code embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0104] Computer program code for performing the operations of the present invention may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0105] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims
1. A method for determining paths of multiple UAVs, characterized in that: The method comprises: Obtaining location information of at least one wind turbine and information of a drone; An initial population is obtained according to the location information of the at least one wind turbine, the drone information and a predetermined coding strategy; wherein the initial population is composed of a plurality of particles, the particles are composed of coding sequences, and the coding sequences are used to represent the detection order of the drone detecting each wind turbine; When the initial population does not meet the preset conditions, the fitness of each particle is obtained based on a predetermined fitness function and the initial population, and the coding sequence of each particle is optimized based on the fitness of each particle until the initial population meets the preset conditions, thereby obtaining the optimal coding sequence of each particle; The optimal path for each UAV to detect each wind turbine is determined based on the optimal coding sequence of each particle.
2. The method according to claim 1, characterized in that The drone information includes a departure position of the drone, and an initial population is obtained according to the position information of the at least one wind turbine, the drone information and a predetermined coding strategy, including: Calculate the distance between every two wind turbines according to the location information of each wind turbine, and establish a distance matrix based on the distance; According to the preset simulation path parameters and the distance matrix, an initial solution space for a single UAV to detect each wind turbine is established; An initial population is obtained based on the simulation path parameters, a preset objective function, a preset update solution determination rule, the initial solution space and the encoding strategy.
3. The method according to claim 2, characterized in that The initial population is obtained based on the simulation path parameters, the preset objective function, the preset update solution determination rule, the initial solution space and the predetermined encoding strategy, including: Inputting the distance matrix into the objective function to obtain the target distance of each single initial path; Determining a single optimal path from the single initial paths of the wind turbines according to the target distances of the single initial paths and the updated solution determination rule; The initial population is obtained based on the single optimal path and the encoding strategy.
4. The method according to claim 3, characterized in that The initial population is obtained based on the single optimal path and the encoding strategy, comprising: Initializing the location information of each wind turbine and the drone information to obtain a random sequence, and performing decimal encoding on each element of the random sequence based on the encoding strategy to obtain the encoding sequence; The initial population is established based on the single optimal pathway and the coding sequence.
5. The method according to claim 1, characterized in that: Optimizing the coding sequence of each particle based on the fitness of each particle includes: Performing crossover and mutation operations on the particles based on the fitness of the particles, and updating the initial population based on the particles after the crossover and mutation to obtain a candidate population; For each particle in the candidate population, a coding segment between two positions is randomly selected in the coding sequence corresponding to the current particle, the coding segment is optimized according to the distance matrix, and the coding sequence of the current particle is updated according to the optimized coding segment.
6. The method according to claim 5, characterized in that Performing crossover and mutation operations on the particles based on the fitness of the particles, and updating the initial population based on the particles after the crossover and mutation to obtain a candidate population, including: Randomly select two particles in the initial population as parent individuals, and randomly select a point in the coding sequences corresponding to the two parent individuals as a crossover point; Performing a crossover operation on the two parent individuals based on the crossover point to obtain two offspring individuals of the two parent individuals, and updating the initial population based on the two offspring individuals and the fitness function to obtain an initial updated population; According to a preset mutation rate, a mutant individual is selected from the initial update population to perform a mutation operation to obtain a new mutant individual, and the initial update population is updated based on the new mutant individual to obtain the candidate population.
7. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, it implements a multi-UAV path determination method according to any one of claims 1-6.
8. A multi-UAV path determination device, characterized in that: include: An information acquisition module, used to acquire location information of at least one wind turbine and information of a drone; A population determination module, used to obtain an initial population according to the location information of the at least one wind turbine, the drone information and a predetermined coding strategy; wherein the initial population is composed of a plurality of particles, the particles are composed of coding sequences, and the coding sequences are used to represent the detection order of the drone detecting each wind turbine; A sequence optimization module, used for obtaining the fitness of each particle based on a predetermined fitness function and the initial population when the initial population does not meet the preset conditions, and optimizing the coding sequence of each particle based on the fitness of each particle until the initial population meets the preset conditions, thereby obtaining the optimal coding sequence of each particle; The path determination module is used to determine the optimal path for each drone to detect each wind turbine based on the optimal coding sequence of each particle.
9. An electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, a multi-UAV path determination method as described in any one of claims 1 to 6 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, a multi-UAV path determination method as described in any one of claims 1 to 6 is implemented.