Multi-uav cooperative emergency regulation method in complex low-altitude environment

By employing a meme algorithm framework and a local search strategy, the path planning problem in emergency dispatching of multiple UAVs in complex low-altitude environments was solved, achieving rapid convergence and efficient path planning results.

CN116125795BActive Publication Date: 2025-11-25BEIHANG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211462835.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-21
Publication Date
2025-11-25
Estimated Expiration
2042-11-21

AI Technical Summary

Technical Problem

In complex low-altitude environments, existing heuristic algorithms such as genetic algorithms suffer from high randomness, low selectivity, or low stability during the initial solution generation and mutation process, making it impossible to efficiently and accurately solve the path planning problem for multiple vehicle depots.

Method used

The meme algorithm framework is adopted, and population generation and optimization are performed through split and R_split operations. Combined with the local search strategy, the quality of individual solutions in the genetic process is improved, which satisfies the optimal path planning under vehicle constraints.

Benefits of technology

It achieves rapid convergence and efficient path planning for a multi-UAV collaborative emergency control method in complex low-altitude environments, reduces the probability of getting trapped in local optima, and can quickly obtain the optimal path scheme.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116125795B_ABST
    Figure CN116125795B_ABST
Patent Text Reader

Abstract

The application discloses a multi-unmanned aerial vehicle cooperative emergency regulation method in a complex low-altitude environment and belongs to the field of unmanned aerial vehicle cooperation. Specifically, firstly, an unmanned aerial vehicle emergency dispatching communication scene of customers and stations is constructed, an optimization target of minimizing the total length of paths and constraint conditions are set; then, n customer points are randomly and repeatedly arranged to form an initialization sequence as the DNA of initial individuals, the optimization target and the constraint conditions are combined, the split operation is used to obtain the path planning scheme and the fitness corresponding to the individual sequence, the initial individual information is added, and a population is joined; the above process is repeated until the number of initial individuals reaches the requirement of the population number. Finally, the population is iterated, the path planning scheme and the fitness information of the optimal individual are returned and inspected, and the path planning scheme meeting the constraint of the number of vehicles accommodated by the station is output. The application converges fast in solving or approximating the optimal path planning scheme under the condition of meeting the vehicle constraint.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of unmanned aerial vehicle (UAV) collaboration, specifically involving a method for emergency control of multiple UAVs in complex low-altitude environments. Background Technology

[0002] my country is one of the countries most severely affected by natural disasters in the world. Disasters are widespread, occur frequently, and cause significant losses, seriously threatening lives and property. Enhancing the emergency response capabilities of relevant institutions is crucial, but also presents enormous challenges. On the other hand, the increasing and diversified logistics demands in society place higher requirements on logistics and distribution capabilities from all parties. Minimizing delivery time and costs requires comprehensive consideration of factors such as terrain, customer needs, and the distribution of goods.

[0003] Among various methods of emergency rescue and logistics delivery, air rescue has become a widely adopted and effective means worldwide due to its advantages such as rapid response and fewer geographical limitations. Drones, in particular, are widely used in various emergency situations due to their high safety, low cost, ease of operation, and high flexibility. Drone dispatching methods, applicable to various problem scenarios and minimizing costs, play an immeasurable role.

[0004] The drone emergency response problem presents challenges such as large solution scale, numerous constraints, and difficulty in quantifying uncertain parameters. In most existing drone resource distribution scenarios, there are often multiple drone hubs, similar to parking lots in traditional vehicle routing. These parking lots and customer demand points are scattered across a map, and their varying storage and demand volumes become constraints that must be satisfied in the drone emergency response problem. The optimization objective is to minimize the drone's flight path and runtime while ensuring that multiple objectives do not conflict.

[0005] Heuristic algorithms are widely used in such problems, with genetic algorithms being a classic solution. However, most existing solutions using genetic algorithms to solve multi-vehicle parking lot problems suffer from high randomness, low selectivity, or low stability in the initial solution generation and genetic mutation stages, failing to achieve efficient and accurate solutions. Summary of the Invention

[0006] To address the aforementioned issues, this invention proposes a collaborative emergency control method for multiple UAVs in complex low-altitude environments. This method is applicable to emergency dispatching of UAVs in multi-parking scenarios. The overall approach adopts a meme algorithm framework to encode customer and parking lot coordinates. It innovatively uses split and R_split operations for population generation and optimization, and employs a local search strategy to improve the quality of individual solutions during the genetic process. This method can solve or approximate the optimal path planning scheme while satisfying vehicle constraints, and it has a relatively fast convergence speed.

[0007] The method for coordinated emergency control of multiple UAVs in complex low-altitude environments includes the following specific steps:

[0008] Step 1: Construct an emergency dispatch communication scenario for drones, including n customers and m stations;

[0009] In the scenario described, the customer set is C = {c1, c2, ..., c...} n The set of stations is D = {d1, d2, ..., d}. m Let each customer and each station be considered as a point, and the set of all points be V = C∪D, where R is the total number of vehicles in all stations. Each station has the same number of vehicles D. num And the vehicle's capacity V cap Consistent;

[0010] Step 2: Establish the constraints that the UAV emergency response needs to meet in the communication scenario, and the optimization objective of minimizing the total path length;

[0011] The objective function is:

[0012] Let be a binary decision variable. When it is 1, it means that the kth car will pass through point i and reach point j next, thus forming a directed arc from point i to point j. When it is 0, it means that the kth car will not form a directed arc from point i to point j.

[0013] dis i,j This represents the Euclidean distance between point i and point j.

[0014] The constraints are as follows:

[0015] stC1

[0016] C2

[0017] C3

[0018] C4

[0019] Wherein, C1 means that the number of trains departing from each station is no greater than the total number of trains at that station;

[0020] C2 means that each customer is visited only once;

[0021] C3 indicates vehicle capacity limit, dem j For the needs of the j-th customer point;

[0022] C4 indicates the elimination of sub-loops; This represents the capacity consumed by the k-th vehicle when it arrives at the i-th customer point; demi This represents the capacity required for the i-th customer point.

[0023] Step 3: Number the customer points from 1 to n according to the reading order, and arrange the n points randomly and without repetition to form an initialization sequence, which serves as the DNA of the initial individual.

[0024] Step 4: Based on the DNA encoding of the initial individual, and in conjunction with the optimization objective and constraints, use the split operation to obtain the path planning scheme and fitness corresponding to the individual's sequence, add them to the initial individual information, and then add the initial individual to the population.

[0025] The split operation specifically refers to:

[0026] Step 401: For the initial customer c of the sequence i i = 1, which is taken as the starting customer point of a path, and the vehicle's consumed capacity load = 0 is initialized; at the same time, the path length length = 0 is initialized.

[0027] lenth is divided into two parts: lenth1 represents the path length traversed sequentially from the starting customer point i to the ending customer point j, i.e.

[0028] lenth2 represents the distance to the nearest station found from points i and j, i.e.

[0029] Step 402: Move the next customer c with j≥i j Consider it the end point of the path, determine the vehicle's consumed capacity load plus the customer's c. j Is the required capacity less than the vehicle capacity limit? If so, add the path length length1 to the customer's c. j-1 and c j Distance between j-1,j If yes, proceed to step 403; otherwise, proceed to step 406.

[0030] Step 403: Find the nearest station from all stations corresponding to the current destination and update length2;

[0031]

[0032] Step 404, Update the initial customer c i and the final customer c j The path length between them is lenth = lenth1 + lenth2.

[0033] Step 405, when the path satisfies V i-1 +lenth<V j Update Vj The value is V i-1 +lenth; and record the array P. j =i-1; otherwise, retain the current V. j and P j The value; return to step 402, continue to select the next customer point as the endpoint for judgment, until the vehicle's consumed capacity reaches the limit or the customer point search is completed;

[0034] V i-1 +lenth<V j This indicates that the path length *lenth* represents the optimal path starting from point *i* and ending at point *j*; V i-1 This represents the shortest distance required to reach the (i-1)th customer as currently searched; initialize V0 = 0.

[0035] P j =i-1 indicates that in the best path found, the starting point of the path ending at point j is i.

[0036] Step 406: After searching all paths that meet the capacity constraints starting from point i, update the starting point i = i + 1, and return to step 402;

[0037] Step 407: After traversing all n initial customer points, backtrack the start and end points of each path using array P to obtain the optimal path plan for the DNA sequence of the initial individual. n This is the sum of path lengths, which serves as the fitness score.

[0038] Step 408: For each station where the vehicle quantity constraint is not met, handle it as follows: Randomly select a route from the stations with excess vehicles and randomly add it to a station with available vehicles, until all stations meet the constraint. Finally, update the total route length V. n .

[0039] Step 5: Repeat steps 3 and 4 until the initial number of individuals reaches the required population size.

[0040] Step 6: Iterate through the population that has reached the required number of iterations;

[0041] Specifically, the process involves sequentially performing roulette wheel selection and OX crossover operations on the current population to form a new population. Then, a local search is performed on each individual in the new population. The population obtained after the local search is merged with the original population and sorted according to their fitness scores. A set number of superior individuals are retained, forming the elite population, thus forming the next generation population. This process is repeated until the required number of iterations is reached.

[0042] During the local search, four operators are used in sequence: exchange operator, relocation operator, or-opt operator, and 2opt operator. Each operator searches for a new solution in its own neighborhood. If a new solution is better than the current solution, the current solution is updated and the search continues until the fitness of the four solutions searched by the four operators is no better than the current solution, at which point the local search ends.

[0043] Step 7: Return the optimal path planning scheme and fitness information of the individual, and check whether the scheme meets the vehicle capacity constraint of the parking lot. If it does, output the path planning scheme directly; otherwise, correct the case where the required number of vehicles is greater than the actual number of vehicles, and then output the optimal path planning scheme that meets the constraint.

[0044] The specific modification is as follows: Based on the optimal individual, the DNA is re-operated with R_split to obtain a new path and fitness value that satisfy the vehicle constraints. Then, a local search is performed on the individual to improve the quality of the solution until the iteration number requirement and the vehicle constraint condition are satisfied at the same time, and the optimal path planning scheme is output.

[0045] In the R-split, for the current optimal individual, the iteration starts from k=1 and is performed a total of R times;

[0046] initialization This is used to store the starting customer point of the path corresponding to the k-th vehicle, with the i-th customer as the ending customer point. Other settings are the same as the split algorithm.

[0047] However, V j ,P k,j The results should be updated uniformly after all starting customer points have been searched for by the kth vehicle; otherwise, the results will not meet the vehicle number limit.

[0048] The advantages of this invention are:

[0049] 1) A collaborative emergency control method for multiple UAVs in complex low-altitude environments employs a meme algorithm framework, adding a local search operation to the existing elite genetic algorithm. This ensures convergence speed while improving the quality of the solution and reducing the probability of getting trapped in local optima.

[0050] 2) A collaborative emergency control method for multiple UAVs in complex low-altitude environments. The path decomposition operation is efficient and can quickly obtain the optimal path scheme under the constraint of the number of vehicles, giving full play to the advantages of split and R_split.

[0051] 3) The multi-UAV collaborative emergency control method in complex low-altitude environments demonstrates good scalability for large datasets. Attached Figure Description

[0052] Figure 1 This is a flowchart of the multi-UAV collaborative emergency control method in complex low-altitude environments according to the present invention;

[0053] Figure 2 This invention utilizes the split operation to obtain the path planning scheme and fitness flowchart corresponding to the individual sequence. Detailed Implementation

[0054] To facilitate understanding and implementation of the present invention by those skilled in the art, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.

[0055] This invention is a collaborative emergency control method for multiple UAVs in complex low-altitude environments. It is applicable to emergency dispatch of UAVs in multi-parking scenarios. It adopts a meme algorithm framework to encode customer and parking lot coordinates. It innovatively uses split and R_split operations for population generation and optimization, and adopts a local search strategy to improve the quality of individual solutions in the genetic process. It can solve or approximate the optimal path planning scheme while satisfying vehicle constraints, and has a fast convergence speed.

[0056] like Figure 1 As shown, the specific steps are as follows:

[0057] Step 1: Construct an emergency dispatch communication scenario for drones, including n customers and m stations;

[0058] In the scenario described, the customer set is C = {c1, c2, ..., c...} n The set of stations is D = {d1, d2, ..., d}. m Let each customer and each station be considered as a point, and the set of all points be V = C∪D, where R is the total number of vehicles in all stations. Each station has the same number of vehicles D. num And the vehicle's capacity V cap Consistent;

[0059] Step 2: Establish the constraints that the UAV emergency response needs to meet in the communication scenario, and the optimization objective of minimizing the total path length;

[0060] The objective function is:

[0061] Let be a binary decision variable. When it is 1, it means that the kth car will pass through point i and reach point j next, thus forming a directed arc from point i to point j. When it is 0, it means that the kth car will not form a directed arc from point i to point j.

[0062] dis i,j This represents the Euclidean distance between point i and point j.

[0063] The constraints are as follows:

[0064] stC1

[0065] C2

[0066] C3

[0067] C4

[0068] Wherein, C1 means that the number of trains departing from each station is no greater than the total number of trains at that station;

[0069] C2 means that each customer is visited only once;

[0070] C3 indicates vehicle capacity limit, dem j Let the demand capacity be that of the j-th customer point;

[0071] C4 indicates the elimination of sub-loops; This represents the capacity consumed by the k-th vehicle when it arrives at the i-th customer point; dem i This represents the capacity required for the i-th customer point.

[0072] Step 3: Number the customer points from 1 to n according to the reading order, and arrange the n points randomly and without repetition to form an initialization sequence, which serves as the DNA of the initial individual.

[0073] Step 4: Based on the DNA encoding of the initial individual, and in conjunction with the optimization objective and constraints, use the split operation to obtain the routing scheme and fitness corresponding to the individual's sequence, add them to the initial individual information, and add the initial individual to the population.

[0074] like Figure 2 As shown, the split operation specifically includes:

[0075] Step 401: For the initial customer c of the sequence i i = 1, which is taken as the starting customer point of a path, and the vehicle's consumed capacity load = 0 is initialized; at the same time, the path length length = 0 is initialized.

[0076] lenth is divided into two parts: lenth1 represents the path length traversed sequentially from the starting customer point i to the ending customer point j, i.e.

[0077] lenth2 represents the distance to the nearest depot found from points i and j, i.e.

[0078] Step 402: Move the next customer c with j≥i j Consider it the end point of the path, determine the vehicle's consumed capacity load plus the customer's c. j Is the required capacity less than the vehicle capacity limit? If so, add the path length length1 to the customer's c. j-1 and c j Distance between j-1,j If yes, proceed to step 403; otherwise, proceed to step 406.

[0079] Customers who choose j≥i j The terminus is considered as the end point of the path. The reason for only considering customer points after i is due to constraint C2, which ensures that each customer point is reached only once to avoid duplication.

[0080] Determine the vehicle's consumed capacity load plus customer c j Is the required capacity less than the vehicle capacity limit? That is, the corresponding constraint C4.

[0081] Step 403: Find the nearest station from all stations corresponding to the current destination and update length2;

[0082] Because there are multiple depots, changing the route to the customer's endpoint may change the distance to the customer c. i c j The nearest depot. Therefore, each time the destination is updated, the nearest depot must be found from all depots, i.e.:

[0083]

[0084] Step 404, Update the initial customer c i and the final customer c j The path length between them is lenth = lenth1 + lenth2.

[0085] Step 405, when the path satisfies V i-1 +lenth<V j Update V j The value is V i-1 +lenth; and record the array P. j =i-1; otherwise, retain the current V. j and P j The value; return to step 402, continue to select the next customer point as the endpoint for judgment, until the vehicle's consumed capacity reaches the limit or the customer point search is completed;

[0086] V i-1 +lenth<V jThis indicates that the path length *lenth* represents the optimal path with point *i* as the starting customer and point *j* as the ending customer; V i-1 This represents the shortest distance required to reach the (i-1)th customer as currently searched; initialize V0 = 0.

[0087] P j =i-1 indicates that in the best path found, the starting point of the path ending at point j is i.

[0088] Step 406: After searching all paths that meet the capacity constraints starting from point i, update the starting point i = i + 1, and return to step 402;

[0089] This step meets constraint C3;

[0090] Step 407: After traversing all n initial customer points, backtrack the start and end points of each path using array P to obtain the optimal path plan for the DNA sequence of the initial individual. n This is the sum of path lengths, which serves as the fitness score.

[0091] Step 408: For each station where the vehicle quantity constraint is not met, handle it as follows: Randomly select a route from the stations with excess vehicles and randomly add it to a station with available vehicles, until all stations meet the constraint. Finally, update the total route length V. n .

[0092] For example, consider two depots, each limited to 4 vehicles. However, the resulting routes are 5 and 3 respectively. The routing schemes should be corrected using constraint C1: randomly select a route from the depots with excess vehicles and add it to a depot with available vehicles until all depots meet the constraint. Finally, calculate the total path length V. n renew.

[0093] Step 5: Repeat steps 3 and 4 until the initial number of individuals reaches the required population size.

[0094] Step 6: Iterate through the population that has reached the required number of iterations;

[0095] Specifically, the process involves sequentially performing roulette wheel selection and OX crossover operations on the current population to form a new population. Then, a local search is performed on each individual in the new population. The population obtained after the local search is merged with the original population, sorted according to their fitness scores, and a set number of superior individuals are retained, forming the elite population. This process is repeated until the required number of iterations is reached.

[0096] Roulette wheel selection is a common selection operation in genetic algorithms. The basic idea is that the probability of an individual being selected is proportional to its fitness. Specifically:

[0097] First, calculate the fitness of each individual in the population; then, calculate the proportion of each individual's fitness in the total fitness score of the population, which serves as the probability of the individual being selected, forming a roulette wheel; finally, select and retain individuals based on the probability information from the roulette wheel.

[0098] OX crossover operator operation:

[0099] First, randomly select several consecutive gene locations in a pair of parental DNA;

[0100] Then, generate a child generation, in which the selected gene position is the same as in the first step and is copied from the corresponding gene position in the parent generation; put the gene sequence from the other parent generation that did not appear in the child generation into the child generation generated in the previous step.

[0101] During the local search, four operators are used sequentially: the exchange operator, the relocation operator, the or-opt operator, and the 2opt operator, representing four different neighborhoods of solutions. A better solution is then sought within each of these neighborhoods. When searching for a new solution in its respective neighborhood, if the new solution is better than the current solution, the current solution is updated, and the search continues until the fitness of all four solutions found by the four operators is no better than the current solution, at which point the local search ends.

[0102] The four local search operators are:

[0103] 1. Exchange operator: Exchanges two customers or two sites across different subpaths. A 2-exchange move operation can be achieved by combining relocation move operations between two subpaths:

[0104] For example: There are two sub-paths r1 = {d} i -c1-c2-c3-c4-c5-d i} and r2={d j -c9-c8-c7-c6-d j The exchange is achieved by swapping c4 and c7. After the exchange, the new subpath is r1' = {d}. i -c1-c2-c3-c7-c5-d i} and r2'={d j -c9-c8-c4-c6-d j}

[0105] 2. Relocation operator: Deletes a customer from a subpath and then inserts the deleted customer between two other customers occupying consecutive positions.

[0106] Relocation move operators can occur within the same subpath or between two different subpaths. For example, if a relocation operation is performed between two different subpaths, let the two subpaths be r1 = {d...} i -c1-c2-c3-c4-c5-d i} and r2={d j -c9-c8-c7-c6-d j If c4 is deleted from subpath r1 and inserted after c8 in subpath r2, the new subpath becomes r1 = {d}. i -c1-c2-c3-c5-d i} and r2'={d j -c9-c8-c4-c7-c6-d j If the operation is performed on the same subpath, assuming the subpath is still r1 and the deleted point is also c4, and it is inserted after c1, then the new subpath is r1”={d i -c1-c4-c2-c3-c5-d i}

[0107] 3. The or-opt operator: This operator performs the operation by replacing three existing arcs with three new arcs, preserving the direction of each sub-loop. If operating within the same sub-loop, any segment of the sub-loop is removed and inserted between two other clients occupying consecutive positions. If operating within two different sub-loops, any segment of one sub-loop is removed and inserted between two other clients occupying consecutive positions in the other sub-loop.

[0108] For example: if performing an or-opt operation between two different subpaths:

[0109] Let the two sub-paths be: r1 = {d i -c1-c2-c3-c4-c5-d i} and r2={d j -c9-c8-c7-c6-d j Extract arc a1 = {c2-c3-c4} from subpath r1 and insert it between c8 and c7 in subpath r2. The new subpath becomes: r1' = {d i -c1-c5-d i} and r2={d j -c9-c8-c2-c3-c4-c7-c6-d jIf operating on the same subpath, still assuming the subpath is r1 and the extracted arc is a1, after inserting it into c5, the new path becomes: r1”={d i -c1-c5-c2-c3-c4-d i}

[0110] 4.2opt operator: Assume that the arc (c) in the original solution is selected. i ,c j ) and (c s ,c r If the two selected arcs belong to the same subpath, then replace the two arcs with two new arcs (c i ,c s ) and (c j ,c r ), thus in c j and c s The direction of the customer is reversed; if the two selected arcs belong to different sub-paths, then the two arcs are replaced with two new arcs (c i ,c r ) and (c s ,c j ).

[0111] For example: If a 2-opt operation is performed between two different subpaths, let the two subpaths be:

[0112] r1={d i -c1-c2-c3-c4-c5-d i} and r2={d j -c9-c8-c7-c6-d j};

[0113] Extract arc a1 = {c2-c3} from subpath r1, and arc a2 = {c8-c7} from subpath r2. Then, swap the positions of the two arcs. The new subpath is r1' = {d i -c1-c8-c7-c4-c5-d i} and r2={d j -c9-c2-c3-c6-d j};

[0114] If operating on the same sub-path, still assuming the sub-path is r1, and the extracted arcs are a3 = {c4-c5} and a4 = {c1-c2}, swapping the positions of the two arcs results in the new path becoming r1 = {d i -c4-c5-c3-c1-c2-d i}

[0115] Step 7: Return the optimal path planning scheme and fitness information of the individual, and check whether the scheme meets the vehicle capacity constraint of the parking lot. If it does, output the path planning scheme directly; otherwise, correct the case where the required number of vehicles is greater than the actual number of vehicles, and then output the optimal path planning scheme that meets the constraint.

[0116] For real-world data, as iterations proceed, the number of vehicles required for the optimal path allocation will generally meet the total vehicle limit. Only in a few extreme cases might the theoretically required number of vehicles exceed the actual number of vehicles. Therefore, a correction is made: based on the optimal individual, the DNA is re-operated with R_split to obtain a new path and fitness value that satisfy the vehicle constraints. Subsequently, a local search is performed on the individual to improve the quality of the solution until both the iteration number requirement and the vehicle constraints are met, and the optimal path planning scheme is output.

[0117] The difference between R_split and split is that the former finds the best path based on R vehicles, while the latter does not limit the number of vehicles.

[0118] In the R-split, for the current optimal individual, the iteration starts from k=1 and is performed a total of R times;

[0119] initialization This is used to store the starting customer point of the path corresponding to the k-th vehicle, with the i-th customer as the ending customer point. Other settings are the same as the split algorithm.

[0120] The initial customer point i is considered only after the (k-1)th iteration V i The updated customer point (initial customer point was 0) occurs because V is updated after the (k-1)th iteration. i No update means that the previous points have reached the shortest path without using k-1 vehicles and do not need to be considered again; only in the k-th iteration, when a shorter path from customer point 1 to j that satisfies the capacity constraint is found, V j P k,j Only then will it be updated: V j =V i-1 +lenth;P k,j = i-1.

[0121] However, V j ,P k,j The results should be updated uniformly after the k-th vehicle has searched all the starting customer points; otherwise, the results will not meet the vehicle number limit. The final solution can be derived by backtracking the predecessor, with a total path length of V. n Finally, to ensure that the constraints are met, a repair operation for routings is added to the split, and the total path length is updated.

[0122] The split operation described in this invention aims at the shortest distance, and R_split guarantees that it can obtain the optimal solution with a certain number of vehicles under the constraint of a given number of paths.

[0123] The purpose of `split` is to divide a random DNA sequence into optimal paths and calculate the path lengths. The routing and fitness information for each individual are obtained from `split(DNA)`. This algorithm does not constrain the number of paths; `split` is based on dynamic programming and is implemented with reference to the Bellman-Ford shortest path algorithm.

[0124] The R-split function divides a given DNA sequence into R paths. The difference between R-split and split is that it adds a constraint on the number of paths. Its idea is largely the same as the split algorithm.

Claims

1. A method for coordinated emergency control of multiple unmanned aerial vehicles (UAVs) in complex low-altitude environments, characterized in that: The specific steps include: First, construct an emergency dispatch communication scenario for drones, including n customers and m stations; Then, we establish the constraints that drones need to meet in emergency communication scenarios, as well as the optimization objective of minimizing the total path length. The customer points are numbered from 1 to n according to the reading order. The n points are then randomly and non-repeatingly arranged to form an initialization sequence, which serves as the DNA of the initial individual. Combining the optimization objective and constraints, the path planning scheme and fitness corresponding to the initialization sequence are obtained using the split operation, added to the initial individual information, and the initial individual is added to the population. Repeat the random numbering and splitting operations until the initial number of individuals reaches the required population size. The split operation specifically refers to: Step 401: For the initial customer c of the sequence i i = 1, which is taken as the starting customer point of a path, and the vehicle's consumed capacity load = 0 is initialized; at the same time, the path length length = 0 is initialized. lenth is divided into two parts: lenth1 represents the path length traversed sequentially from the starting customer point i to the ending customer point j, i.e. lenth2 represents the distance to the nearest station found from points i and j, i.e. The set of stations is D = {d1, d2, ..., d...} m }; Step 402: Move the next customer c with j≥i j Consider it the end point of the path, determine the vehicle's consumed capacity load plus the customer's c. j Is the required capacity less than the vehicle capacity limit? If so, add the path length length1 to the customer's c. j-1 and c j Distance between j-1,j If yes, proceed to step 403; otherwise, proceed to step 406. Step 403: Find the nearest station from all stations corresponding to the current destination and update length2; Step 404, Update the initial customer c i and the final customer c j The path length between them is lenth = lenth1 + lenth2; Step 405, when the path satisfies V i-1 +lenth<V j Update V j The value is V i-1 +lenth; and record the array P. j =i-1; otherwise, retain the current V. j and P j The value; return to step 402, continue to select the next customer point as the endpoint for judgment, until the vehicle's consumed capacity reaches the limit or the customer point search is completed; V i-1 +lenth<V j This indicates that the path length *lenth* represents the optimal path starting from point *i* and ending at point *j*; V i-1 This represents the shortest distance required to reach the (i-1)th customer as currently found; initialize V0 = 0; P j =i-1 means that in the best path found, the starting point of the path ending at point j is i; Step 406: After searching all paths that meet the capacity constraints starting from point i, update the starting point i = i + 1, and return to step 402; Step 407: After traversing all n initial customer points, backtrack the start and end points of each path using array P to obtain the optimal path plan for the DNA sequence of the initial individual. n That is, the sum of path lengths, which serves as the fitness. Step 408: For each station where the vehicle quantity constraint is not met, handle it as follows: Randomly select a route from the stations with excess vehicles and randomly add it to a station with available vehicles, until all stations meet the constraint. Finally, update the total route length V. n ; Finally, the population that meets the quantity requirement is iterated until the number of iterations is reached. The optimal path planning scheme and fitness information of the individual are returned, and it is checked whether the scheme meets the constraint of the number of vehicles the parking lot can accommodate. If it does, the path planning scheme is directly output; otherwise, the case where the required number of vehicles is greater than the actual number of vehicles is corrected, and the optimal path planning scheme that meets the constraint is output.

2. The method for coordinated emergency control of multiple UAVs in complex low-altitude environments as described in claim 1, characterized in that, The objective function to be optimized is: The customer set is C = {c1, c2, ..., c3} n Let each customer and each station be considered as a point, and the set of all points be V = C∪D, where R is the total number of vehicles in all stations, and each station has the same number of vehicles D. num And the vehicle's capacity V cap Consistent; Let be a binary decision variable. When is 1, it means that the kth car will pass through point i and reach point j next, thus forming a directed arc from point i to point j. When it is 0, it means that the kth car will not form a directed arc from point i to point j; dis i,j This represents the Euclidean distance between point i and point j; The constraints are as follows: Wherein, C1 means that the number of trains departing from each station is no greater than the total number of trains at that station; C2 means that each customer is visited only once; C3 indicates vehicle capacity limit, dem j For the needs of the j-th customer point; C4 indicates the elimination of sub-loops; This represents the capacity consumed by the k-th vehicle when it arrives at the i-th customer point; dem i This represents the capacity required for the i-th customer point.

3. The method for coordinated emergency control of multiple UAVs in complex low-altitude environments as described in claim 1, characterized in that, The population is iterated, specifically as follows: The current population is subjected to roulette wheel selection and OX crossover operations in sequence to form a new population. Then, a local search is performed on each individual in the new population. The population obtained after the local search is merged with the original population and sorted according to their fitness scores. A set number of superior individuals are retained, i.e., the elite population, thus forming the next generation population. This process is repeated until the number of iterations is reached. During the local search, four operators are used in sequence: exchange operator, relocation operator, or-opt operator, and 2opt operator. Each operator searches for a new solution in its own neighborhood. If a new solution is better than the current solution, the current solution is updated and the search continues until the fitness of the four solutions searched by the four operators is no better than the current solution, at which point the local search ends.

4. The method for coordinated emergency control of multiple UAVs in complex low-altitude environments as described in claim 1, characterized in that, The correction specifically involves: based on the optimal individual, performing the R_split operation on the DNA again to obtain a new path and fitness value that satisfy the vehicle constraints. Then, a local search is performed on the individual to improve the quality of the solution until both the iteration number requirement and the vehicle constraint condition are satisfied, and the optimal path planning scheme is output.

5. The method for coordinated emergency control of multiple UAVs in complex low-altitude environments as described in claim 4, characterized in that, In the R-split, for the current optimal individual, the iteration starts from k=1 and is performed a total of R times; initialization Used to store the starting customer point of the path corresponding to the kth vehicle, with the i-th customer as the ending customer point. Other settings are the same as the split algorithm. However, V j ,P k,j The results should be updated uniformly after all starting customer points have been searched for by the kth vehicle; otherwise, the results will not meet the vehicle number limit.