Multi-unmanned aerial vehicle path planning method based on myxomycete algorithm, electronic equipment, storage medium and program product

The modified slime mold optimization algorithm addresses the inefficiencies of existing path planning algorithms by incorporating chaos mapping and adaptive weight assignment with hybrid update rules and stagnation detection, enhancing path planning efficiency and quality for multiple drones in complex environments.

CN120315475APending Publication Date: 2025-07-15INST OF AUTOMATION CHINESE ACAD OF SCI
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510450827.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-10
Publication Date
2025-07-15

AI Technical Summary

Technical Problem

The existing slime mold algorithm lacks an effective mechanism to break out of local optimality in multi-UAV path planning, resulting in long operation time and poor path planning effect.

Method used

By generating the initial position of the population, determining the fitness of each individual, and judging the stagnation during the iteration, using a perturbation strategy to change the position of some individuals in the population to break out of the local optimal solution.

Benefits of technology

The efficiency of multi-drone path planning is improved, the cost of drone flight is reduced, and the convergence process is accelerated.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120315475A_ABST
    Figure CN120315475A_ABST
Patent Text Reader

Abstract

The invention provides a multi-unmanned aerial vehicle path planning method based on a myxomycete algorithm, electronic equipment, a storage medium and a program product, and the method comprises the steps: generating an initial position of a population, and determining the fitness of each individual in the population, each individual in the population representing a group of possible paths of multiple unmanned aerial vehicles; circularly executing the following steps until an end condition is met, and outputting the individual with the optimal fitness in the population: determining the weight of each individual according to the fitness of each individual; updating the position and fitness of each individual according to a position updating rule and the weight of each individual; according to the updating condition of the individuals in the population, determining whether the iteration is stagnated or not; counting the number of iterations of continuous stagnation as a stagnation algebra; under the condition that the stagnation algebra is larger than a stagnation algebra threshold value, perturbation operation is carried out on the population so as to change the positions of at least part of individuals in the population, and the fitness of at least part of the individuals is updated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to the technical field of multi-UAV path planning, and more specifically, to a multi-UAV path planning method, an electronic device, a storage medium, and a program product based on the slime mold algorithm. Background Art

[0002] UAVs have the characteristics of small size, high flexibility, and strong survivability, and can replace human pilots to perform tasks in dangerous and complex environments. The multi-UAV path planning technology is the basis for realizing the efficient completion of tasks by UAV swarms and is also one of the core technologies in the field of UAV mission planning. During the task execution process, planning reasonable flight paths for multiple UAVs can significantly reduce the task execution time, lower the flight cost, and effectively prevent collisions between UAVs and obstacles or between UAVs.

[0003] Currently, scholars at home and abroad are actively researching solutions to the multi-UAV path planning problem. Traditional path planning algorithms such as the A algorithm, Dijkstra algorithm, and Rapidly-exploring Random Tree (RRT for short) can provide path planning solutions for multiple UAVs through precise calculations and inferences in a known environment, showing good stability and reliability when dealing with simple path planning problems. However, with the expansion of the task scale and the improvement of task complexity, traditional algorithms gradually expose limitations such as long operation time and poor path planning effect.

[0004] With the rapid development of artificial intelligence technology, meta-heuristic algorithms have gradually become the mainstream method for solving the multi-UAV path planning problem due to their high flexibility and dynamic adaptability. These algorithms transform the path planning problem into a complex optimization problem with multiple constraints, and search for the optimal flight path that satisfies all constraints and has the minimum total cost. Commonly used meta-heuristic algorithms include the grey wolf optimization algorithm, particle swarm optimization algorithm, and differential evolution algorithm, etc. Among them, the slime mold algorithm proposed in 2020 has received extensive attention due to its characteristics of few parameters, simple structure, and fast convergence speed.

[0005] Although the slime mold algorithm has made some progress in the field of multi-UAV path planning, there are still some defects, such as the lack of an effective escape mechanism to jump out of local optima. Therefore, a multi-UAV path planning method based on the slime mold algorithm is needed to overcome the deficiencies of existing algorithms and provide a more effective solution to the multi-UAV path planning problem. Summary of the Invention

[0006] The present disclosure provides a multi-UAV path planning method, an electronic device, a storage medium, and a program product based on the slime mold algorithm to solve at least one of the above problems.

[0007] According to the first aspect of the embodiments of the present disclosure, a multi-UAV path planning method based on the slime mold algorithm is provided, including: generating an initial position of a population and determining the fitness of each individual in the population, where each individual in the population represents a set of possible paths of the multi-UAV; repeatedly executing the following steps until an end condition is met, and outputting the individual with the optimal fitness in the population: determining the weight of each individual according to the fitness of each individual; updating the position and fitness of each individual according to a position update rule and the weight of each individual; determining whether stagnation occurs in the current iteration according to the update situation of the individuals in the population; counting the number of consecutive iterations with stagnation as the stagnation generation number; in the case where the stagnation generation number is greater than a stagnation generation number threshold, performing a perturbation operation on the population to change the positions of at least some individuals in the population and update the fitness of the at least some individuals.

[0008] Optionally, generating the initial position of the population includes: using a chaotic mapping algorithm to generate the initial position of the population.

[0009] Optionally, the fitness of each individual is the sum of the total losses of all UAVs in the individual, and the total loss of each UAV is the weighted sum of at least one of the following losses: flight length loss, flight height loss, flight yaw angle loss, flight pitch angle loss, UAV-obstacle collision loss, UAV-UAV collision loss, where the UAV-obstacle collision loss is calculated by the following formula.

[0010]

[0011]

[0012] represents the number of waypoints in each path, represents the collision loss of the UAV with an obstacle at the th waypoint, represents the penalty factor for UAV-obstacle collision, represents the th waypoint height, represents the th complex terrain height, and the complex terrain height is obtained through the following steps: generating an original terrain height according to a terrain coefficient, generating a mountain terrain height according to a mountain coefficient, and integrating the original terrain height and the mountain terrain height to generate the complex terrain height.

[0013] Optionally, determining the weight of each individual according to the fitness of each individual includes: determining the weight of each individual according to the fitness of each individual by using the following formula.

[0014]

[0015] Indicates an individual 's weight, Indicates a random number uniformly distributed in the interval [0, 1], Indicates the optimal fitness in this iteration, Indicates the worst fitness in this iteration, Indicates an individual 's fitness, and the set conditions include that the fitness of the individual is at least better than the fitness of half of the individuals in this iteration.

[0016] Optionally, updating the position and fitness of each individual according to the position update rule and the weight of each individual includes: for each drone in each individual in the population, when the mutation condition is not satisfied, generating an update value for each dimension in the drone using the random distribution rule, and when the mutation condition is satisfied, for each dimension in the drone, for the dimension that does not satisfy the conversion condition, generating an update value for the dimension using the local exploration rule, and for the dimension that satisfies the conversion condition, generating an update value for the dimension using the random mutation rule, to obtain the updated position of the individual, where the random distribution rule is used to randomly generate an update value between the upper position limit value and the lower position limit value, the local exploration rule is used to generate an update value based on the position of the individual with the optimal fitness in the population and the positions of two random individuals in this iteration, the random mutation rule is used to generate an update value based on the positions of multiple random individuals in this iteration, the updated position of the individual includes the updated positions of all drones in the corresponding individual, and the updated position of the drone includes the update values of all dimensions in the corresponding drone; performing a truncation operation on the updated position of each individual according to the position boundary requirements to obtain the truncated updated position of each individual, so that the truncated updated position is within the space range defined by the position boundary requirements; determining the updated fitness of the truncated updated position of each individual, and when the updated fitness is better than the fitness of the corresponding individual in the population, replacing the position of the corresponding individual with the corresponding truncated updated position and replacing the fitness of the corresponding individual with the corresponding updated fitness, otherwise maintaining the position and fitness of the corresponding individual unchanged.

[0017] Optionally, determining whether this iteration has stagnated according to the update situation of the individuals in the population includes: comparing the difference between the optimal fitness before the update of this iteration and the optimal fitness after the update, and determining that this iteration has stagnated when the difference is less than the difference threshold.

[0018] Optionally, a perturbation operation is performed on the population to change the positions of at least some individuals in the population, including: determining the number of individuals to be perturbed according to a perturbation factor; generating perturbed individuals in the number of the individuals to be perturbed according to a perturbation rule and position boundary requirements, where the perturbation rule is expressed by the following formula: Wherein, represents the individual position generated according to the perturbation rule, represents a random number uniformly distributed within the interval, represents the position of the individual with the optimal fitness in the population, represents the individual position generated using a random distribution rule; replacing the individuals with the worse fitness in the number of the individuals to be perturbed in the population with the perturbed individuals in the number of the individuals to be perturbed respectively.

[0019] According to a second aspect of the embodiments of the present disclosure, there is provided a multi-UAV path planning device based on a slime mold algorithm, including: an initialization unit configured to generate an initial position of a population and determine the fitness of each individual in the population, where each individual in the population represents a set of possible paths of the multi-UAV; a loop unit configured to loop through the following units until an end condition is met, and output the individual with the optimal fitness in the population: a weight determination unit configured to determine the weight of each individual according to the fitness of each individual; an update unit configured to update the position and fitness of each individual according to a position update rule and the weight of each individual; a stagnation determination unit configured to determine whether stagnation occurs in this iteration according to the update situation of the individuals in the population; a statistics unit configured to count the number of iterations with continuous stagnation as the stagnation generation number; a perturbation unit configured to, when the stagnation generation number is greater than a stagnation generation number threshold, perform a perturbation operation on the population to change the positions of at least some individuals in the population and update the fitness of the at least some individuals.

[0020] Optionally, the initialization unit is further configured to generate the initial position of the population using a chaotic mapping algorithm.

[0021] Optionally, the fitness of each individual is the sum of the total losses of all UAVs in the individual, and the total loss of each UAV is the weighted sum of at least one of the following losses: flight length loss, flight height loss, flight yaw angle loss, flight pitch angle loss, UAV-obstacle collision loss, UAV-UAV collision loss, where the UAV-obstacle collision loss is calculated by the following formula.

[0022]

[0023]

[0024] Indicates the number of waypoints in each path, Indicates that the drone is at the th waypoint, the collision loss with the obstacle, Indicates the penalty factor for the drone's collision with the obstacle, Indicates the th waypoint height, Indicates the th waypoint, the complex terrain height, which is obtained through the following steps: generating the original terrain height according to the terrain coefficient, generating the mountain terrain height according to the mountain coefficient, and integrating the original terrain height and the mountain terrain height to generate the complex terrain height.

[0025] Optionally, the weight determination unit is further configured to determine the weight of each individual according to the fitness of each individual using the following formula.

[0026]

[0027] Indicates the individual weight, Indicates a random number uniformly distributed in the interval [0,1], Indicates the optimal fitness in this iteration, Indicates the worst fitness in this iteration, Indicates the individual fitness, and the set conditions include that the fitness of the individual is at least better than the fitness of half of the individuals in this iteration.

[0028] Optionally, the updating unit is further configured to: for each drone in each individual in the population, when the mutation condition is not satisfied, generate an update value for each dimension in the drone using a random distribution rule; when the mutation condition is satisfied, for each dimension in the drone, for the dimension that does not satisfy the transformation condition, generate an update value for the dimension using a local exploration rule, and for the dimension that satisfies the transformation condition, generate an update value for the dimension using a random mutation rule, to obtain the updated position of the individual, where the random distribution rule is used to randomly generate an update value between the upper position limit value and the lower position limit value, the local exploration rule is used to generate an update value based on the position of the individual with the optimal fitness in the population and the positions of two random individuals in the current iteration, the random mutation rule is used to generate an update value based on the positions of multiple random individuals in the current iteration, the updated position of the individual includes the updated positions of all drones in the corresponding individual, and the updated position of the drone includes the update values of all dimensions in the corresponding drone; according to the position boundary requirements, perform a truncation operation on the updated position of each individual to obtain the truncated updated position of each individual, so that the truncated updated position is within the space range defined by the position boundary requirements; determine the updated fitness of the truncated updated position of each individual, and when the updated fitness is better than the fitness of the corresponding individual in the population, replace the position of the corresponding individual with the corresponding truncated updated position and replace the fitness of the corresponding individual with the corresponding updated fitness, otherwise maintain the position and fitness of the corresponding individual unchanged.

[0029] Optionally, the stagnation determination unit is further configured to compare the difference between the optimal fitness before the current iteration update and the optimal fitness after the update, and determine that the current iteration has stagnated when the difference is less than the difference threshold.

[0030] Optionally, the perturbation unit is further configured to: determine the number of individuals to be perturbed according to the perturbation factor; generate the perturbed individuals of the number of individuals to be perturbed according to the perturbation rule and the position boundary requirements, where the perturbation rule is expressed by the following formula: where represents the individual position generated according to the perturbation rule, represents a random number uniformly distributed in the interval, represents the position of the individual with the optimal fitness in the population, represents the individual position generated using the random distribution rule; replace the individuals with the worse fitness among the number of individuals to be perturbed in the population with the perturbed individuals of the number of individuals to be perturbed.

[0031] According to a third aspect of the embodiments of the present disclosure, an electronic device is provided, including: at least one processor; at least one memory storing computer-executable instructions, wherein, when the computer-executable instructions are run by the at least one processor, the at least one processor is caused to execute a multi-UAV path planning method based on the slime mold algorithm according to an exemplary embodiment of the present disclosure.

[0032] According to a fourth aspect of the embodiments of the present disclosure, a computer-readable storage medium is provided, and when instructions in the computer-readable storage medium are run by at least one processor, the at least one processor is caused to execute a multi-UAV path planning method based on the slime mold algorithm according to an exemplary embodiment of the present disclosure.

[0033] According to a fifth aspect of the embodiments of the present disclosure, a computer program product is provided, including computer instructions, and when the computer instructions are run by at least one processor, the at least one processor is caused to execute a multi-UAV path planning method based on the slime mold algorithm according to an exemplary embodiment of the present disclosure.

[0034] The technical solutions provided by the embodiments of the present disclosure at least bring the following beneficial effects: According to the multi-UAV path planning method, electronic device, storage medium, and program product based on the slime mold algorithm of the present disclosure, by judging whether the update of population individuals during the iteration process stagnates when using the slime mold algorithm to calculate the multi-UAV path, and considering that the population falls into a local optimum when continuous stagnation occurs, a perturbation strategy is introduced to change the positions of at least some individuals in the population, which can efficiently help the algorithm jump out of the local optimum solution in time, contribute to accelerating the convergence process, improve the multi-UAV path planning efficiency, and reduce the UAV flight cost.

[0035] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] The drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure, and do not constitute an improper limitation to the present disclosure.

[0037] Figure 1 is a flowchart of a multi-UAV path planning method based on the slime mold algorithm according to an exemplary embodiment of the present disclosure.

[0038] Figure 2 is a schematic diagram of the original terrain according to an exemplary embodiment of the present disclosure.

[0039] Figure 3 is a schematic diagram of a mountain terrain according to an exemplary embodiment of the present disclosure.

[0040] Figure 4 It is a schematic diagram of a three - dimensional complex terrain according to an exemplary embodiment of the present disclosure.

[0041] Figure 5 It is a schematic diagram of a two - dimensional complex terrain according to an exemplary embodiment of the present disclosure.

[0042] Figure 6 It is a schematic diagram of flight yaw angle and pitch angle constraints according to an exemplary embodiment of the present disclosure.

[0043] Figure 7 It is a schematic flow chart of a multi - UAV path planning method based on the slime mold algorithm according to a specific embodiment of the present disclosure.

[0044] Figure 8 It is a three - dimensional schematic diagram of the global optimal path according to a specific embodiment of the present disclosure.

[0045] Figure 9 It is a two - dimensional schematic diagram of the global optimal path according to a specific embodiment of the present disclosure.

[0046] Figure 10 It is a schematic diagram of the convergence curve of the optimal fitness according to a specific embodiment of the present disclosure.

[0047] Figure 11 It is a block diagram of a multi - UAV path planning device based on the slime mold algorithm according to an exemplary embodiment of the present disclosure.

[0048] Figure 12 It is a block diagram of an electronic device according to an exemplary embodiment of the present disclosure. Detailed implementation manners

[0049] In order to enable those of ordinary skill in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.

[0050] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above - mentioned drawings are used to distinguish similar objects, and do not necessarily describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The implementation manners described in the following embodiments do not represent all implementation manners consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0051] It should be noted here that "at least one of several items" appearing in the present disclosure all represent three parallel situations, namely "any one of the several items", "a combination of any multiple of the several items", and "the whole of the several items". For example, "including at least one of A and B" includes the following three parallel situations: (1) including A; (2) including B; (3) including A and B. Another example is "performing at least one of Step 1 and Step 2", which means the following three parallel situations: (1) performing Step 1; (2) performing Step 2; (3) performing Step 1 and Step 2.

[0052] Next, a multi-UAV path planning method, an electronic device, a storage medium, and a program product based on the slime mold algorithm according to an exemplary embodiment of the present disclosure will be described in detail with reference to the accompanying drawings.

[0053] Figure 1 is a flowchart of a multi-UAV path planning method based on the slime mold algorithm according to an exemplary embodiment of the present disclosure. This method can be executed on an electronic device with sufficient computing power.

[0054] Referring to Figure 1 , in step S101, an initial position of the population is generated, and the fitness of each individual in the population is determined.

[0055] Each individual in the population represents a set of possible paths for the multi-UAV. It should be understood that a set of possible paths includes a possible path for each UAV.

[0056] Optionally, the operation of generating the initial position of the population in step S101 includes: using the chaos mapping algorithm to generate the initial position of the population. By using the chaos mapping algorithm to realize the initialization of the population, the population diversity can be enhanced, and the risk of premature convergence of the algorithm can be reduced.

[0057] Specifically, using the chaos mapping algorithm to generate the initial position of the population may include the following steps.

[0058] Step a), initialize the chaos number , set the initial iteration rounds of the chaos mapping .

[0059] The chaos number here represents the population ratio, and its value range is [0, 1]. A chaos number of 0 represents population extinction, and a chaos number of 1 represents that the population reaches the maximum capacity. The initial value of the chaos number is set to 0.1, for example.

[0060] Step b), traverse all individuals in the population .

[0061] Step c), traverse the individual All dimensions in , use the Logistic Map algorithm to generate the initial position of each dimension , then let . Dimension represents the parameter dimension involved in an individual. Therefore, the number of dimensions is equal to the product of the number of drones, the number of waypoints in each path, and the spatial dimension (e.g., 3 for three-dimensional space).

[0062] The Logistic Map algorithm is specifically represented by the following formula.

[0063]

[0064]

[0065] In the above formula, represents the control parameter, which determines the growth or decay mode of the population. The value range is, for example, [0, 4]. At this time, a control parameter of 0 represents stable population behavior, and a control parameter of 4 represents completely chaotic population behavior. The control parameter can be set to 4, for example. represents the chaotic number of the previous iteration round, represents the chaotic number of the current iteration round. and respectively represent the lower and upper limits for generating the individual position. and are set to (0, 0, 10) and (1000, 1000, 950) respectively, for example. It should be understood that although and are both coordinate values in three-dimensional space, since actually represents the value of a waypoint in a drone path on one coordinate axis, so when actually calculating , only the coordinate axis values of and corresponding to the current dimension will be used. For example, when represents the value of a certain waypoint on the X-axis, according to the value examples of and , only 0 of and 1000 of will be substituted into the formula respectively.

[0066] Step d), let , and jump to step c) until all dimensions are traversed.

[0067] Step e), let , jump to step b), until all individuals are traversed, and output the initial positions of the population .

[0068] Optionally, the fitness of each individual is the sum of the total losses of all the drones in that individual, and the total loss of each drone is the weighted sum of at least one of the following losses: flight length loss, flight altitude loss, flight yaw angle loss, flight pitch angle loss, drone-obstacle collision loss, drone-drone collision loss, where the drone-obstacle collision loss is calculated by the following formula.

[0069]

[0070]

[0071] where represents the number of waypoints in each path, represents the collision loss of the drone with an obstacle at the th waypoint, represents the penalty factor for the drone-obstacle collision, represents the th waypoint altitude, represents the th waypoint complex terrain altitude, and the complex terrain altitude is obtained through the following steps: generate the original terrain altitude according to the terrain coefficient, generate the mountain terrain altitude according to the mountain coefficient, and integrate the original terrain altitude and the mountain terrain altitude to generate the complex terrain altitude. By combining the terrain coefficient and the mountain coefficient to determine the complex terrain altitude and introducing the drone-obstacle collision loss into the total loss, it can meet the special requirements of the multi-drone path planning problem in mountainous areas and reduce the potential risk of the drone colliding with the mountain during flight. At the same time, the mountain environment is more complex than the flat environment. In addition to the drone-obstacle collision loss, by using the drone-drone collision loss, the risk of drones colliding with each other can be reduced, thereby further reducing the potential collision risk during the flight of the drones, providing a technical basis for the efficient and safe execution of tasks by the drone swarm in the complex mountain environment. In addition, the flight length loss, flight altitude loss, flight yaw angle loss, and flight pitch angle loss help to make the planned path as smooth as possible and reduce the flight cost of the drones.

[0072] Regarding the generation of the complex terrain altitude, it should be understood that since once the geographical area of the drone path to be planned is determined, the terrain itself is also determined and no longer changes, the complex terrain altitude can be generated before calculating the fitness, and each time the fitness needs to be calculated subsequently, the generated complex terrain altitude can be directly obtained.

[0073] As an example, for the calculation of the height of complex terrain, the original terrain height and mountain terrain height of each planar coordinate point can be calculated first. The original terrain height can be calculated using the following formula.

[0074]

[0075] In the above formula, and represent the abscissa and ordinate of any point on the horizontal plane during the flight of the UAV, represents the original terrain height corresponding to the point with coordinates , represents the terrain coefficient, which can be reasonably set and adjusted. The terrain coefficient is set, for example, to , , , , , , , as Figure 2 shown in the schematic diagram of the original terrain.

[0076] The mountain terrain height can be calculated using the following formula.

[0077]

[0078] In the above formula, represents the number of mountains, and respectively represent the abscissa and ordinate of the center point of the th mountain on the horizontal plane, and represent the slopes of the center point of the th mountain in the abscissa and ordinate directions, represents the peak height of the th mountain, represents the mountain terrain height corresponding to the point with coordinates . These mountain coefficients can be determined according to the actual situation of the geographical area of the UAV path to be planned. As an example, the number of mountains is set to 8, the coefficient of the first mountain is set to , the coefficient of the second mountain is set to , the coefficient of the third mountain is set to , the coefficient of the fourth mountain is set to , the coefficient of the fifth mountain is set to , the coefficient of the sixth mountain is set to , the coefficient of the seventh mountain is set to , the coefficient of the eighth mountain is set to , as Figure 3The figure shows a schematic diagram of mountain terrain.

[0079] The calculation method for integrating the original terrain height and the mountain terrain height can be expressed by the following formula.

[0080]

[0081] In the above formula, represents the maximum value of the original terrain height and the mountain terrain height corresponding to the point with coordinates . represents the complex terrain height corresponding to the point with coordinates . As shown in Figure 4 and Figure 5 respectively, the figures show a schematic diagram of three-dimensional complex terrain and two-dimensional complex terrain.

[0082] Regarding the calculation of individual fitness, taking the use of all losses in the above text as an example, it includes the following steps.

[0083] Step a), traverse the individuals within the population , and calculate the fitness of all individuals according to the loss function .

[0084] This step specifically includes the following sub-steps.

[0085] Step a1), set the access status of all drones to unvisited.

[0086] Step a2), for any drone , if the access status of this drone is unvisited, then calculate its flight length loss , flight height loss , flight yaw angle loss , flight pitch angle loss , collision loss between the drone and the obstacle , collision loss between drones , which are specifically expressed by the following respective formulas.

[0087]

[0088] The flight length loss represents the ratio of the total length of the drone's path to the straight-line distance between the start and end points of the path. represents the number of waypoints, respectively represent the X-axis, Y-axis, and Z-axis coordinates of the drone at the th waypoint, represents the end point of the path, represents the start point of the path. As an example, the number of waypoints is set to 10, and the start point of the path Set to (0, 0, 0), the end point of the path Set to (1000, 1000, 0).

[0089]

[0090]

[0091] The penalty factor representing the flight altitude constraint Indicates that the drone is at the flight altitude loss at the nth waypoint and represent the minimum flight altitude constraint and the maximum flight altitude constraint of the drone respectively, and the penalty factor For example, set to 100 and For example, set to 10 and 950.

[0092]

[0093]

[0094]

[0095] The penalty factor representing the flight yaw angle constraint Indicates that the drone is at the flight yaw angle at the nth waypoint Represents the maximum flight yaw angle constraint of the drone Indicates that the drone is at the flight yaw angle loss at the nth waypoint, and the penalty factor For example, set to 100, and the maximum flight yaw angle constraint For example, set to 45°.

[0096]

[0097]

[0098]

[0099] The penalty factor representing the flight pitch angle constraint Indicates that the drone is at the flight pitch angle at the nth waypoint Represents the maximum flight pitch angle constraint of the drone Indicates that the drone is at the flight pitch angle loss at the nth waypoint, and the penalty factor For example, it is set to 100, the maximum flight pitch angle constraint For example, it is set to 45°. As shown in Figure 6 Figure showing the yaw angle and pitch angle constraints of flight

[0100]

[0101]

[0102] represents the penalty factor for the collision between the UAV and the obstacle represents the height of the complex terrain at the represents the UAV at the th waypoint, the collision loss with the obstacle, and the penalty factor For example, it is set to 100

[0103]

[0104]

[0105] represents the penalty factor for the collision between UAVs and represents the UAV and the UAV at the nth waypoint, the three-dimensional coordinates in the X-axis, Y-axis, and Z-axis directions represents the total number of UAVs represents the UAV at the th waypoint, the collision loss with the UAV and the penalty factor For example, it is set to 100, and the total number of UAVs For example, it is set to 3

[0106] In step a3), calculate the total loss of the UAV , and mark the access status of this UAV as visited

[0107] Total loss is calculated by the following formula

[0108]

[0109] represents the loss coefficient of each of the above six losses, that is, the weight for calculating the weighted sum. Its specific value can be set as needed. For example, they are respectively set to 100, 1, 2, 2, 3, 3. The present disclosure does not limit this

[0110] Step a4), let , continue traversing until all the drones of the individual are traversed.

[0111] Step a5), calculate the sum of losses of all the drones of the individual as the fitness of the individual , which is expressed by the following formula.

[0112]

[0113] Step b), sort all the individual fitnesses in ascending order to obtain the sorted fitness list , and obtain the corresponding sorted index list and the sorted position list . These three lists correspond to each other, so the fitness, the serial number of the fitness size, and the individual position of the same individual can be determined by looking up the table, which is convenient for subsequent calculations. It should be understood that since the fitness here is calculated based on the loss, and the loss is the smaller the better, the smaller the fitness here, the better. Sorting the fitness in ascending order means sorting from the best to the worst. Of course, the calculation formula of the fitness can also be adjusted to make the larger the fitness, the better. The present disclosure does not limit this. Of course, constructing the above three corresponding sorted lists is only an implementation manner for the present disclosure to maintain the individual fitness, and other methods can also be used to implement the maintenance of the individual fitness. The present disclosure does not limit this.

[0114] Step c), in the sorted fitness list , record the first individual fitness as the optimal fitness in this iteration, record the last individual fitness as the worst fitness in this iteration. In the sorted position list , record the first individual position (i.e., the position of the individual with the optimal fitness) as the optimal path in this iteration.

[0115] Step d), update the global optimal fitness (representing the optimal fitness in all the iteration rounds that have been experienced, as the optimal fitness of the population), and the global optimal path (representing the position of the individual corresponding to the global optimal fitness, that is, the position of the individual with the optimal fitness in the population, as the optimal path of the population). Since it is in the initialization stage at this time, the optimal fitness can be directly determined as the global optimal fitness , and the optimal path Determined as the global optimal path It should be understood that in subsequent iterative updates, it is necessary to compare the optimal fitness updated in the current iteration round with the global optimal fitness. If the former is inferior to or equal to the latter, the original global optimal fitness and global optimal path remain unchanged, which is equivalent to remaining unchanged before and after the update. Otherwise, it is updated to the optimal fitness and optimal path updated in the current iteration round.

[0116] Return reference Figure 1 , Next, loop through steps S102 to S107 until it is determined in step S107 that the end condition is satisfied, then exit the loop and execute step S108.

[0117] In step S102, according to the fitness of each individual, determine the weight of each individual.

[0118] Optionally, step S102 includes: According to the fitness of each individual, use the following formula to determine the weight of each individual.

[0119]

[0120] Represents an individual 's weight, Represents a random number uniformly distributed in the interval [0,1], Represents the optimal fitness in this iteration, Represents the worst fitness in this iteration, Represents an individual 's fitness, and the set conditions include that the fitness of individual is at least better than the fitness of half of the individuals in this iteration. For the above embodiments of constructing three corresponding sorted lists, the set conditions may include, for example, that the fitness of individual 's fitness is located in the first half of the fitness list after sorting all individuals. By adopting the above formula, a larger weight can be configured for relatively better fitness (such as relatively smaller loss), which is beneficial to guiding the population to iterate and update in a better direction and improving the calculation efficiency.

[0121] In step S103, according to the position update rule and the weight of each individual, update the position and fitness of each individual.

[0122] Optionally, step S103 includes: for each drone in each individual in the population, when the mutation condition is not met, generating an update value for each dimension in the drone using a random distribution rule; when the mutation condition is met, for each dimension in the drone, for the dimension that meets the non-conversion condition, generating an update value for the dimension using a local exploration rule, and for the dimension that meets the conversion condition, generating an update value for the dimension using a random mutation rule, to obtain the updated position of the individual. Among them, the random distribution rule is used to randomly generate an update value between the upper position limit value and the lower position limit value; the local exploration rule is used to generate an update value based on the position of the individual with the optimal fitness in the population and the positions of two random individuals in this iteration; the random mutation rule is used to generate an update value based on the positions of multiple random individuals in this iteration. The updated position of the individual includes the updated positions of all drones in the corresponding individual, and the updated position of the drone includes the update values of all dimensions in the corresponding drone; according to the updated position of each individual, update the position and fitness of each individual. By setting the mutation condition and the conversion condition, three different situations can be distinguished, and different rules are respectively used to generate the update value of each dimension of the drone in the individual, and the updated position of the individual is obtained by summarization. Thus, by designing the position update rule, the global search ability and the local exploration ability of the algorithm are balanced, which helps to increase the possibility of obtaining the optimal solution. It should be understood that for the embodiment of constructing three corresponding sorted lists in step S101, when the position and fitness of the individual are updated, the position list and the fitness list of the position and fitness of this individual in it should be updated accordingly. And if the sorting of the fitness of this individual in the entire population changes, the fitness list , the index list , and the position list should be adjusted accordingly. However, it should be understood that the adjustment of the sorting can be executed immediately after the position and fitness of the individual are updated, or a suitable timing can be selected later, such as including but not limited to executing after this iteration is completely finished, or executing at the beginning of each new round of iteration, as long as it does not affect the overall execution logic of this disclosure, and this disclosure does not limit this.

[0123] Further optionally, the operation of updating the position and fitness of each individual according to the updated position of each individual in step S103 includes: performing a truncation operation on the updated position of each individual according to the position boundary requirement to obtain the truncated updated position of each individual, so that the truncated updated position is within the space range defined by the position boundary requirement; updating the position and fitness of each individual according to the truncated updated position of each individual. By configuring the position boundary requirement to perform a truncation operation on the updated position generated by the above three rules, it can be ensured that the finally obtained truncated updated position does not exceed the boundary, ensuring the effectiveness of the update result.

[0124] Further optionally, the operation of updating the position and fitness of each individual according to the truncated updated position of each individual in step S103 includes: determining the updated fitness of the truncated updated position of each individual, and in the case where the updated fitness is better than the fitness of the corresponding individual in the population, replacing the position of the corresponding individual with the corresponding truncated updated position and replacing the fitness of the corresponding individual with the corresponding updated fitness, otherwise maintaining the position and fitness of the corresponding individual unchanged. By comparing the updated fitness of the truncated updated position of each individual with the original fitness of the individual, it can be understood whether the truncated updated position can bring an improvement in fitness, and then only updating the position for the individuals whose fitness can be improved, which can continuously optimize the individuals in the population and help improve the calculation efficiency.

[0125] As an example, step S103 includes the following steps.

[0126] Step a), traverse all individuals in the population .

[0127] Step b), traverse each drone , if , that is, the mutation condition is not satisfied, then use the random distribution rule to generate the updated position of the drone , jump to step e), otherwise jump to step c), where is a random number uniformly distributed within the interval, and is the mutation factor. is the mutation factor.

[0128] The mutation factor is calculated by the following formula.

[0129]

[0130] The calculation method for generating the updated position by the random distribution rule is, for example but not limited to, expressed by the following formula.

[0131]

[0132] represents the number of waypoints in each path, represents the spatial dimension, which is 3 for three-dimensional space and 2 for two-dimensional space. represents a row by column random number matrix, and the values in the matrix are uniformly distributed within the interval. The number of waypoints

[0133] For example, it is set to 10, and the present disclosure does not limit this. in all dimensions of the UAV , if , that is, the conversion condition is not satisfied, then use the local exploration rule to generate an updated value of dimension , otherwise use the random mutation rule to generate an updated value of dimension . Among them, is a random number uniformly distributed within , is the conversion factor, and the conversion factor is, for example, set to 0.6. Dimension represents the parameter dimension involved in a UAV path. Therefore, the number of dimensions is equal to the product of the number of waypoints in each path and the spatial dimension . The subscript " " represents the parameter value corresponding to the dimension in the individual for the UAV in .

[0134] The calculation method for the local exploration rule to generate the updated value of dimension is, for example but not limited to, expressed by the following formula.

[0135]

[0136] Among them, represents a random number uniformly distributed within the interval, and are the individual indices randomly selected within the population, and are not the same.

[0137] The calculation method for

[0138]

[0139] represents the current iteration round of the population, represents the maximum number of iterations.

[0140] The update value of the dimension generated by the random mutation rule is The calculation method is expressed by the following formula for example but not limited to this.

[0141]

[0142] Wherein, represents a random number uniformly distributed within the interval, is the index of an individual randomly selected within the population, which are all different from each other.

[0143] In step d), let , and jump to step c), until all dimensions are traversed, and the update values of all dimensions form the update position of the UAV .

[0144] In step e), perform a boundary check on the update position , that is, perform a truncation operation on it according to the position boundary requirements, and generate a truncated update position that meets the position boundary requirements.

[0145] The calculation method of the boundary check is expressed by the following formula.

[0146]

[0147] It should be understood that and As two vertices in space, a spatial region can be defined. For example, for a two-dimensional space using a rectangular coordinate system, a rectangular region can be defined, and for a three-dimensional space using a rectangular coordinate system, a cuboid region can be defined. And the update position contains the positions of multiple waypoints, and the position of each waypoint is represented by the values of each coordinate axis. Therefore, when performing a boundary check (i.e., truncation operation), specifically, the value of each coordinate axis of each waypoint is checked. Thus, when a certain waypoint is outside the defined spatial region, the waypoint is translated to the boundary of the defined spatial region nearby, and the waypoints within the defined spatial region remain unchanged. The positions of the multiple waypoints finally obtained constitute the truncated update position . Still taking and Taking (0, 0, 10) and (1000, 1000, 950) as examples respectively, if the position of a certain waypoint is (-10, 50, 1000), then after boundary check, the waypoint can be translated to (0, 50, 950).

[0148] Step f), let , jump to step b), until all UAVs are traversed, and form an individual with the truncated updated positions of all UAVs of the truncated updated positions , calculate the updated fitness of the truncated updated positions according to the loss function , and compare it with the individual current fitness . If , then update the position of the individual to , otherwise keep unchanged, which is equivalent to the position of the individual remaining unchanged before and after the update.

[0149] It should be understood that for the execution of steps e) and f), adjustments can also be made. First, based on step f), traverse to generate the updated positions of all UAVs, and form an individual of the updated positions , then based on step e), perform boundary check on the updated positions to generate the truncated updated positions that meet the position boundary requirements , and update the position and fitness of the individual .

[0150] Step g), let , jump to step a), until all individuals are traversed.

[0151] In step S104, according to the update situation of individuals in the population, determine whether stagnation occurs in this iteration.

[0152] In some examples, optionally, step S104 includes: comparing the change degree of the positions of the individuals with the best fitness before and after the update in this iteration, and determining that stagnation occurs in this iteration when the change degree is less than the change threshold. It should be understood that for the embodiment of constructing three corresponding sorted lists in step S101, at this time, only the individual with the best fitness and its position in this iteration need to be determined, and the sorting of the list can be temporarily not updated, and of course, the sorting of the list can also be updated. This disclosure does not limit this.

[0153] In some other examples, optionally, step S104 includes: comparing the difference between the optimal fitness before the current iteration update and the optimal fitness after the update, and determining that the current iteration has stagnated when the difference is less than the difference threshold. By directly comparing the optimal fitness, it is possible to intuitively and conveniently understand whether the iteration has been further optimized, which helps to improve the decision-making efficiency. For example, the optimal fitness after the current iteration update can be calculated and the optimal fitness before the update The absolute value of the difference between them is used as the difference. If this difference is less than the change factor ε, which is used as the difference threshold, it is considered that the current iteration has stagnated; otherwise, it is considered that the current iteration has not stagnated. The change factor ε is, for example, 1.00E-04. It should be understood that the optimal fitness before the update is the optimal fitness used to calculate the weights of the individuals in the current iteration in step S102. It should also be understood that, similarly to some of the above examples, for the embodiment of constructing three corresponding sorted lists in step S101, only the optimal fitness after the current iteration update needs to be determined before performing step S104, and the sorting of the list may not be updated for the time being. Of course, the sorting of the list can also be updated, and the present disclosure does not limit this. At the same time, for the determination of the optimal fitness after the current iteration update , it can be determined by comparing one by one as the positions and fitnesses of the individuals are updated in step S103, or it can be determined by unified comparison after all the positions and fitnesses of the individuals are updated in step S103. The present disclosure does not limit this. It should also be understood that since a perturbation operation may be performed in subsequent steps, the obtained here is not necessarily the final optimal fitness of the current iteration.

[0154] In step S105, the number of consecutive iterations with stagnation is counted as the stagnation generation number.

[0155] As an example, step S105 includes: when it is determined that the current iteration has stagnated, let , otherwise let , that is, when the current iteration has not stagnated, the counted stagnation generation number is cleared.

[0156] In step S106, when the stagnation generation number is greater than the stagnation generation number threshold, a perturbation operation is performed on the population to change the positions of at least some individuals in the population and update the fitnesses of at least some individuals. After the perturbation operation is completed, the current iteration ends.

[0157] It should be understood that when the stagnation generation number is less than or equal to the stagnation generation number threshold, there is no need to perform a perturbation operation on the population. The current iteration ends here, and step S107 is directly executed subsequently.

[0158] Optionally, the operation of perturbing the population in step S106 to change the positions of at least some individuals in the population includes: determining the number of individuals to be perturbed according to a perturbation factor; generating perturbed individuals in the number of individuals to be perturbed according to a perturbation rule and position boundary requirements, where the perturbation rule is represented by the following formula: Wherein, represents the individual position generated according to the perturbation rule, represents a random number uniformly distributed within the interval, represents the position of the individual with the best fitness in the population, represents the individual position generated using a random distribution rule; replacing the individuals with the number of individuals to be perturbed with relatively poor fitness in the population with the perturbed individuals in the number of individuals to be perturbed. By configuring the perturbation factor, it is possible to determine the perturbation range using a common perturbation factor for populations of different scales. By configuring the perturbation rule, it is possible to provide a clear solution for generating the positions of the perturbed individuals, and this solution combines the global optimal individual position and the randomly generated individual position based on random numbers, which can perform global exploration while ensuring the fitness of the perturbed individuals, thereby improving the quality of the resulting perturbed individuals and accelerating jumping out of the local optimal solution. By simultaneously configuring the position boundary requirements, a truncation operation can be performed on the individual positions generated according to the perturbation rule (the same as the truncation operation introduced above, and will not be repeated here), and finally reliable perturbed individuals are obtained. By selecting the inferior individuals in the population according to the number of individuals to be perturbed, that is, selecting the individuals with the highest ranking in fitness (when sorting from inferior to superior) or the lowest ranking (when sorting from superior to inferior), it is possible to preferentially replace the inferior individuals, increase the possibility of exploring optimized individuals in other positions, contribute to improving the perturbation efficiency, and jump out of the local optimum.

[0159] It should be understood that for the perturbation rule, is the updated position generated using the random distribution rule when the mutation condition is not satisfied in step S103. Since this position is essentially the position of the unmanned aerial vehicle, and the candidate perturbation position is the position of an individual, multiple unmanned aerial vehicle positions need to be generated according to the number of unmanned aerial vehicles, and then an individual position is formed as .

[0160] As an example, step S106 includes the following steps.

[0161] Step a), according to the perturbation factor , calculate the number of individuals to be perturbed , and set the iteration rounds of perturbation .

[0162] The calculation method of the number of individuals to be perturbed is represented by the following formula.

[0163]

[0164] Denotes rounding up, perturbation factor For example, it is set to 0.1.

[0165] Step b), generating candidate perturbation positions using the perturbation rule and performing boundary checking, that is, truncating it according to the position boundary requirements to generate a perturbation position that meets the position boundary requirements .

[0166] Generating candidate perturbation positions using the perturbation rule The calculation method is expressed by the following formula.

[0167]

[0168] Step c), let , jump to step b) until the iteration round is equal to the number of individuals to be perturbed , generating a perturbation individual with the quantity of , where the position of each perturbation individual is a perturbation position generated in step b) .

[0169] Step d), replacing the inferior individuals in the population with the generated perturbation individuals.

[0170] For the embodiment of constructing three corresponding sorted lists in step S101, step d) specifically includes: in the sorted position list , traversing the individuals at the first positions in reverse order, and taking these individuals as inferior individuals; replacing the inferior individuals with the generated perturbation individuals, and replacing the positions of the inferior individuals in the population position list with the perturbation positions of the perturbation individuals. Additionally, it may further include calculating the fitness of each perturbation individual, and replacing the fitness of the inferior individuals in the fitness list with the fitness of the corresponding perturbation individuals. Of course, this operation can also be temporarily not executed and performed at a suitable time later, as long as it does not affect the overall execution logic of the present disclosure, and the present disclosure does not limit this. It should be understood that, as described above, the re-sorting of the list can be performed together at this time or at other suitable times, as long as it does not affect the overall execution logic of the present disclosure, and the present disclosure also does not limit this.

[0171] In step S107, it is determined whether the end condition is met. If the end condition is met, step S108 is executed; otherwise, return to step S102.

[0172] As an example, the end condition includes, for example, the number of iterations of the population reaching the maximum number of iterations , where the maximum number of iterations is set to 500, for example. Of course, other reasonable conditions may also be included, and the present disclosure places no restrictions thereon.

[0173] In step S108, output the individual with the optimal fitness in the population.

[0174] It should be understood that at the end of each iteration, the final fitness and position of each individual in the current iteration can be determined (for the case where no perturbation operation is performed, the fitness and position obtained in step S103 are the final fitness and position in the current iteration; for the case where a perturbation operation is performed, it also involves the calculation and replacement of the fitness of the perturbed individual), and the final optimal fitness and optimal path in the current iteration can be determined therefrom. The individual with the optimal fitness in the population is the individual corresponding to the optimal fitness in all iterations, that is, the global optimal path described in step S101 above. . In actual execution, whether it is the determination of the final individual fitness, individual position, optimal fitness, and optimal position in each iteration, or the update of the global optimal fitness and global optimal path, it can be performed correspondingly after the end of each iteration (i.e., after step S106 is executed or when it is determined that the stagnation generation is less than or equal to the stagnation generation threshold), or it can be performed before the next iteration executes step S103 to update the individual position (currently also including before step S102 is executed to calculate the weight), or the final optimal fitness and optimal path of each iteration can be determined and saved at any of the above times, and the global optimal fitness and global optimal path are uniformly compared and updated in step S108. The present disclosure places no restrictions thereon. It should also be understood that for the case of updating the global optimal fitness and global optimal path during the next iteration, when entering step S108, the global optimal fitness and global optimal path have not been updated based on the last iteration, so an update needs to be performed first and then output.

[0175] Figure 7 is a schematic flowchart of a multi-UAV path planning method based on the slime mold algorithm according to a specific embodiment of the present disclosure.

[0176] Referring to Figure 7 , in step S701, initialize the parameters , and generate the initial positions of the population.

[0177] In step S702, calculate the fitness of the individuals in the population and sort them.

[0178] In step S703, update the global optimal fitness and the global optimal path .

[0179] In step S704, calculate the weight matrix W .

[0180] In step S705, let .

[0181] In step S706, let .

[0182] In step S707, calculate the mutation factor .

[0183] In step S708, determine whether is satisfied. If so, go to step S709; if not, go to step S710.

[0184] In step S709, use the random distribution rule to generate the updated position of the UAV in . .

[0185] In step S710, let .

[0186] In step S711, determine whether is satisfied. If so, go to S712; if not, go to S713.

[0187] In step S712, use the local exploration rule to generate the updated value of dimension . .

[0188] In step S713, use the random mutation rule to generate the updated value of dimension . .

[0189] In step S714, let , and determine whether is satisfied. If so, return to step S711; if not, go to step S715, where represents the number of waypoints in each path, represents the spatial dimension.

[0190] In step S715, let , and determine whether is satisfied. If so, return to step S707; if not, go to step S716, where represents the total number of UAVs.

[0191] In step S716, all dimensions Updated value constitute the UAV Updated position 。

[0192] In step S717, all UAVs Updated position constitute an individual Updated position and perform boundary check on the updated position, evaluate and update the position and fitness of the individual 。

[0193] In step S718, let , judge whether it satisfies , if yes, return to step S706, if no, go to step S719, where represents the population size, that is, the number of individuals in the population.

[0194] In step S719, count the stagnation generation , judge whether it satisfies , if yes, go to step S720, if no, go to S721, where represents the stagnation generation threshold.

[0195] In step S720, perform a perturbation operation on the population.

[0196] In step S721, let , judge whether it satisfies , if yes, return to step S702, if no, go to step S722, where represents the maximum number of iterations.

[0197] In step S722, calculate the fitness of the individuals in the population and sort them, update and output the global optimal fitness 、global optimal path and global optimal path image.

[0198] In this specific embodiment, the three-dimensional and two-dimensional schematic diagrams of the global optimal path of the multi-UAV mountain path planning are respectively as Figure 8 and Figure 9 shown, and the schematic diagram of the convergence curve of the optimal fitness is as Figure 10 shown.

[0199] Figure 11 is a block diagram of a multi-UAV path planning device based on the slime mold algorithm according to an exemplary embodiment of the present disclosure. Refer to Figure 11 ​​, the multi - UAV path planning device 1100 based on the slime mold algorithm includes an initialization unit 1101, a loop unit 1102, a weight determination unit 1103, an update unit 1104, a stagnation determination unit 1105, a statistics unit 1106, and a perturbation unit 1107.

[0200] The initialization unit 1101 can generate the initial positions of the population and determine the fitness of each individual in the population, where each individual in the population represents a set of possible paths of the multi - UAV.

[0201] Optionally, the initialization unit 1101 can also use the chaos mapping algorithm to generate the initial positions of the population.

[0202] Optionally, the fitness of each individual is the sum of the total losses of all UAVs in the individual, and the total loss of each UAV is the weighted sum of at least one of the following losses: flight length loss, flight altitude loss, flight yaw angle loss, flight pitch angle loss, UAV - obstacle collision loss, UAV - UAV collision loss, where the UAV - obstacle collision loss is calculated by the following formula.

[0203]

[0204]

[0205] represents the number of waypoints in each path, represents the collision loss of the UAV with an obstacle at the th waypoint, represents the penalty factor for the UAV - obstacle collision, represents the th waypoint altitude, represents the th waypoint complex terrain altitude, and the complex terrain altitude is obtained through the following steps: generating the original terrain altitude according to the terrain coefficient, generating the mountain terrain altitude according to the mountain coefficient, and integrating the original terrain altitude and the mountain terrain altitude to generate the complex terrain altitude.

[0206] The loop unit 1102 can loop through the following units until the end condition is met, and output the individual with the optimal fitness in the population: The weight determination unit 1103 can determine the weight of each individual according to the fitness of each individual.

[0207] Optionally, the weight determination unit 1103 can also use the following formula to determine the weight of each individual according to the fitness of each individual.

[0208]

[0209] Represents the weight of an individual of, represents a random number uniformly distributed in the interval [0, 1], represents the optimal fitness in this iteration, represents the worst fitness in this iteration, represents an individual 's fitness, and the setting conditions include that the fitness of the individual is at least better than the fitness of half of the individuals in this iteration.

[0210] The update unit 1104 can update the position and fitness of each individual according to the position update rule and the weight of each individual.

[0211] Optionally, the update unit 1104 can also: for each drone in each individual in the population, when the mutation condition is not met, generate an update value for each dimension in the drone using the random distribution rule, and when the mutation condition is met, for each dimension in the drone, for the dimension that does not meet the conversion condition, generate an update value for the dimension using the local exploration rule, and for the dimension that meets the conversion condition, generate an update value for the dimension using the random mutation rule, to obtain the updated position of the individual, where the random distribution rule is used to randomly generate an update value between the position upper limit value and the position lower limit value, the local exploration rule is used to generate an update value based on the position of the individual with the optimal fitness in the population and the positions of two random individuals in this iteration, the random mutation rule is used to generate an update value based on the positions of multiple random individuals in this iteration, the updated position of the individual includes the updated positions of all drones in the corresponding individual, and the updated position of the drone includes the update values of all dimensions in the corresponding drone; perform a truncation operation on the updated position of each individual according to the position boundary requirement to obtain the truncated updated position of each individual, so that the truncated updated position is within the space range defined by the position boundary requirement; determine the updated fitness of the truncated updated position of each individual, and when the updated fitness is better than the fitness of the corresponding individual in the population, replace the position of the corresponding individual with the corresponding truncated updated position and replace the fitness of the corresponding individual with the corresponding updated fitness, otherwise keep the position and fitness of the corresponding individual unchanged.

[0212] The stagnation determination unit 1105 can determine whether stagnation occurs in this iteration according to the update situation of the individuals in the population.

[0213] Optionally, the stagnation determination unit 1105 can also compare the difference between the optimal fitness before the update in this iteration and the optimal fitness after the update, and when the difference is less than the difference threshold, determine that stagnation occurs in this iteration.

[0214] The statistical unit 1106 can count the number of consecutive stagnant iterations as the stagnation generation number.

[0215] The perturbation unit 1107 can perform a perturbation operation on the population when the stagnation generation number is greater than the stagnation generation number threshold, so as to change the positions of at least some individuals in the population and update the fitness of at least some individuals.

[0216] Optionally, the perturbation unit 1107 can also: determine the number of individuals to be perturbed according to a perturbation factor; generate perturbed individuals for the number of individuals to be perturbed according to a perturbation rule and position boundary requirements, where the perturbation rule is represented by the following formula: Where represents the individual position generated according to the perturbation rule, represents a random number uniformly distributed within the interval, represents the position of the individual with the best fitness in the population, represents the individual position generated using a random distribution rule; replace the individuals with the number of individuals to be perturbed that have relatively poor fitness in the population with the perturbed individuals for the number of individuals to be perturbed.

[0217] Regarding the device in the above embodiments, the specific manners in which each unit performs operations have been described in detail in the embodiments related to the method, and will not be elaborated here in detail.

[0218] Figure 12 The structural block diagram of an electronic device 1200 according to an exemplary embodiment of the present disclosure is shown.

[0219] Referring to Figure 12 , the electronic device 1200 includes: at least one memory 1201 and at least one processor 1202. Computer-executable instructions are stored in the at least one memory 1201. When the computer-executable instructions are run by the at least one processor 1202, the at least one processor is caused to execute the multi-UAV path planning method based on the slime mold algorithm as described in the above exemplary embodiments.

[0220] As an example, the electronic device 1200 can be a PC computer, a tablet device, a personal digital assistant, a smart phone, or other devices capable of executing the above instruction set. Here, the electronic device 1200 does not have to be a single electronic device 1200, and can also be any assembly of devices or circuits that can execute the above instructions (or instruction sets) alone or jointly. The electronic device 1200 can also be a part of an integrated control system or a system manager, or can be configured as a portable electronic device 1200 that is interconnected with a local or remote (e.g., via wireless transmission) interface.

[0221] In the electronic device 1200, the processor 1202 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, the processor 1202 may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, and the like.

[0222] The processor 1202 may execute instructions or code stored in the memory 1201, where the memory 1201 may also store data. The instructions and data may also be sent and received over a network via a network interface device, where the network interface device may employ any known transmission protocol.

[0223] The memory 1201 may be integrated with the processor 1202, for example, by arranging RAM or flash memory within an integrated circuit microprocessor and the like. Additionally, the memory 1201 may include a stand-alone device, such as an external disk drive, a storage array, or other storage devices usable by any database system. The memory 1201 and the processor 1202 may be operatively coupled or may communicate with each other, for example, via an I / O port, a network connection, etc., such that the processor 1202 can read files stored in the memory.

[0224] Furthermore, the electronic device 1200 may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, a mouse, a touch input device, etc.). All components of the electronic device 1200 may be connected to each other via a bus and / or a network.

[0225] According to an exemplary embodiment of the present disclosure, a computer-readable storage medium storing instructions may also be provided. When the instructions are run by at least one processor, the at least one processor is caused to execute the multi-UAV path planning method based on the slime mold algorithm as described in the above exemplary embodiment. Examples of such computer-readable storage media include: read-only memory (ROM), programmable random-access read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random-access memory (RAM), dynamic random-access memory (DRAM), static random-access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disc memory, hard disk drive (HDD), solid state drive (SSD), cartridge memory (such as, multimedia card, secure digital (SD) card or extreme digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk, and any other device configured to store a computer program and any associated data, data files, and data structures in a non-transitory manner and to provide the computer program and any associated data, data files, and data structures to a processor or computer such that the processor or computer can execute the computer program. The computer program in the above computer-readable storage medium may run in an environment deployed in computer devices such as clients, hosts, proxy devices, servers, etc. In addition, in one example, the computer program and any associated data, data files, and data structures are distributed on a networked computer system such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed manner by one or more processors or computers.

[0226] According to an exemplary embodiment of the present disclosure, a computer program product may also be provided, including computer instructions that, when run by at least one processor, execute the multi-UAV path planning method based on the slime mold algorithm as described in the above exemplary embodiment.

[0227] Those skilled in the art will readily conceive of other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include known common knowledge or conventional technical means in the technical field not disclosed by the present disclosure. The specification and embodiments are only to be considered as exemplary, and the true scope and spirit of the present disclosure are pointed out by the appended claims.

[0228] It should be understood that the present disclosure is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A multi-UAV path planning method based on the slime mold algorithm, characterized in that, Including: Generating the initial positions of the population and determining the fitness of each individual in the population, where each individual in the population represents a set of possible paths of the multi-UAVs; Repeatedly execute the following steps until the end condition is met, and output the individual with the optimal fitness in the population: Determining the weight of each individual according to the fitness of each individual; Updating the positions and fitnesses of each individual according to the position update rule and the weight of each individual; Determining whether stagnation occurs in this iteration according to the update situation of the individuals in the population; Counting the number of consecutive iterations with stagnation as the stagnation generation number; When the stagnation generation number is greater than the stagnation generation threshold, performing a perturbation operation on the population to change the positions of at least some individuals in the population and updating the fitnesses of the at least some individuals.

2. The multi-UAV path planning method based on the slime mold algorithm according to claim 1, wherein The generating the initial positions of the population includes: Using the chaotic mapping algorithm to generate the initial positions of the population.

3. The multi-UAV path planning method based on the slime mold algorithm according to claim 1, characterized in that The fitness of each individual is the sum of the total losses of all the drones in that individual. The total loss of each drone is the weighted sum of at least one of the following losses: flight length loss, flight altitude loss, flight yaw angle loss, flight pitch angle loss, drone-obstacle collision loss, drone-drone collision loss, where the drone-obstacle collision loss is calculated by the following formula: Among them, represents the number of waypoints in each path, represents the collision loss of the UAV with obstacles at the -th waypoint, represents the penalty factor for the collision of the UAV with obstacles, represents the height of the -th waypoint, represents the height of the complex terrain at the -th waypoint, and the height of the complex terrain is obtained through the following steps: Generating the original terrain height according to the terrain coefficient, generating the mountain terrain height according to the mountain coefficient, and integrating the original terrain height and the mountain terrain height to generate the complex terrain height.

4. The multi-UAV path planning method based on the slime mold algorithm according to claim 1, wherein, The determining the weight of each individual according to the fitness of each individual includes: Determining the weight of each individual according to the fitness of each individual using the following formula: Among them, represents the weight of an individual , represents a random number uniformly distributed in the interval [0, 1], represents the optimal fitness in this iteration, represents the worst fitness in this iteration, represents the fitness of an individual , and the set conditions include that the fitness of the individual is at least better than the fitness of half of the individuals in this iteration.

5. The multi-UAV path planning method based on the slime mold algorithm according to claim 1, wherein, The updating the positions and fitnesses of each individual according to the position update rule and the weight of each individual includes: For each UAV in each individual in the population, when the mutation condition is not met, generating the update value of each dimension in the UAV using the random distribution rule; when the mutation condition is met, for each dimension in the UAV, for the dimension that does not meet the conversion condition, generating the update value of the dimension using the local exploration rule, and for the dimension that meets the conversion condition, generating the update value of the dimension using the random mutation rule, to obtain the updated position of the individual, where the random distribution rule is used to randomly generate an update value between the position upper limit value and the position lower limit value, the local exploration rule is used to generate the update value based on the position of the individual with the optimal fitness in the population and the positions of two random individuals in this iteration, the random mutation rule is used to generate the update value based on the positions of multiple random individuals in this iteration, the updated position of the individual includes the updated positions of all UAVs in the corresponding individual, and the updated position of the UAV includes the update values of all dimensions in the corresponding UAV; Performing a truncation operation on the updated position of each individual according to the position boundary requirement to obtain the truncated updated position of each individual, so that the truncated updated position is within the space range defined by the position boundary requirement; Determining the updated fitness of the truncated updated position of each individual, and when the updated fitness is better than the fitness of the corresponding individual in the population, replacing the position of the corresponding individual with the corresponding truncated updated position and replacing the fitness of the corresponding individual with the corresponding updated fitness, otherwise maintaining the position and fitness of the corresponding individual unchanged.

6. The multi-UAV path planning method based on the slime mold algorithm according to claim 1, wherein The determining whether stagnation occurs in this iteration according to the update situation of the individuals in the population includes: Compare the difference between the optimal fitness before the current iteration update and the optimal fitness after the update. If the difference is less than the difference threshold, it is determined that the current iteration has stagnated.

7. The multi-UAV path planning method based on the slime mold algorithm according to claim 1, characterized in that The performing a perturbation operation on the population to change the positions of at least some individuals in the population includes: Determining the number of individuals to be perturbed according to a perturbation factor; Generating the perturbed individuals of the number of individuals to be perturbed according to a perturbation rule and position boundary requirements, where the perturbation rule is represented by the following formula: Among them, represents the individual position generated according to the perturbation rule, represents within random numbers uniformly distributed in the interval, represents the position of the individual with the optimal fitness in the population, represents the individual position generated using the random distribution rule; Replacing the individuals of the number of individuals to be perturbed with relatively poor fitness in the population with the perturbed individuals of the number of individuals to be perturbed.

8. An electronic device, characterized in that, including: At least one processor; At least one memory storing computer-executable instructions, wherein, when the computer-executable instructions are run by the at least one processor, the at least one processor is caused to execute the multi-UAV path planning method based on the slime mold algorithm as described in any one of claims 1 to 7.

9. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are run by at least one processor, the at least one processor is caused to execute the multi-UAV path planning method based on the slime mold algorithm as described in any one of claims 1 to 7.

10. A computer program product comprising computer instructions, characterized in that, When the computer instructions are run by at least one processor, the at least one processor is caused to execute the multi-UAV path planning method based on the slime mold algorithm as described in any one of claims 1 to 7.