Multi-unmanned aerial vehicle exploration method

By generating exploration boundary clusters and constructing a traveling salesman problem to optimize the order of drone exploration viewpoints, the inefficiency problem caused by communication uncertainty in traditional multi-machine exploration tasks is solved, and more efficient drone exploration is achieved.

CN120704349APending Publication Date: 2025-09-26NINGBO UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510603516.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-12
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

The communication between drones in traditional multi-drone exploration missions is easily affected by uncertain factors, resulting in message asynchrony and information mismatch, which reduces exploration efficiency.

Method used

By obtaining voxel maps, generating exploration boundary clusters and performing clustering, a traveling salesman problem is constructed to solve the order of drone exploration viewpoints, and the flight trajectory is optimized to improve exploration efficiency.

Benefits of technology

It effectively solves the problems of message asynchrony and information mismatch between drones, and improves the efficiency and integrity of multi-drone exploration missions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120704349A_ABST
    Figure CN120704349A_ABST
Patent Text Reader

Abstract

The invention relates to a multi-unmanned aerial vehicle exploration method, which comprises the following steps of: exploring a voxel map to obtain a plurality of exploration boundaries, and clustering each obtained boundary cluster to obtain a plurality of boundary clusters; and performing unmanned aerial vehicle exploration viewpoint generation on each obtained boundary cluster to obtain an unmanned aerial vehicle exploration viewpoint of each boundary cluster. Thirdly, constructing the plurality of unmanned aerial vehicle exploration viewpoints into a traveling salesman problem for solving, and further obtaining an exploration sequence of the plurality of unmanned aerial vehicle exploration viewpoints; and the number of the unmanned aerial vehicles is set, so that the plurality of unmanned aerial vehicles can perform the exploration task at the same time. Then, the voxel map is allocated based on the number of the unmanned aerial vehicles, so that each unmanned aerial vehicle obtains a target exploration area; and then, constructing a traveling salesman problem for all unmanned aerial vehicle exploration viewpoints in the target exploration area of the task executed by each unmanned aerial vehicle, and solving the traveling salesman problem, thereby obtaining an unmanned aerial vehicle exploration viewpoint exploration sequence of each unmanned aerial vehicle in the corresponding target exploration area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of drone technology, and in particular to a multi-drone exploration method. Background Art

[0002] Unmanned aerial vehicle (UAV) is an unmanned aircraft that is controlled by a radio remote control device and a self-contained program control device, or is operated completely or intermittently autonomously by an onboard computer.

[0003] Traditional multi-machine exploration tasks only consider the constraint penalties for avoiding collisions between drones. In real environments, communication between drones is often susceptible to various uncertainties, resulting in asynchrony of messages shared between multiple drones and information mismatch, which leads to repeated exploration by drones and ultimately reduces exploration efficiency. Summary of the Invention

[0004] Based on this, it is necessary to provide a multi-UAV exploration method to address the problem of low exploration efficiency caused by traditional multi-UAV exploration tasks that only consider the constraint penalties for avoiding collisions between UAVs, but do not consider the problems of message asynchrony and information mismatch shared between multiple UAVs.

[0005] This application provides a multi-UAV exploration method, including:

[0006] Get voxel map;

[0007] Exploration is performed based on the voxel map to obtain multiple exploration boundary clusters;

[0008] Generate the drone exploration viewpoint of each exploration boundary cluster based on each exploration boundary cluster;

[0009] Construct and solve the traveling salesman problem about the flight order between multiple drone exploration viewpoints to obtain the exploration order of the drone exploration viewpoints;

[0010] Get the preset number of drones;

[0011] Based on the preset number of drones, tasks are assigned to the voxel map so that each drone is assigned to a corresponding exploration area, which is defined as the target exploration area;

[0012] Based on the target exploration area corresponding to each drone, the traveling salesman problem regarding the flight order between the multiple drone exploration viewpoints is constructed and solved to obtain the exploration order of the drone exploration viewpoints, and the exploration order of each drone with respect to the drone exploration viewpoints within the target exploration area is obtained;

[0013] Generate the initial flight trajectory of the corresponding target exploration area for each drone based on the optimized A* algorithm;

[0014] Based on the back-end optimization trajectory algorithm, the initial flight trajectory of each UAV is optimized to obtain the optimized initial flight trajectory, which is defined as the target flight trajectory.

[0015] Output the target flight trajectory of each UAV.

[0016] Furthermore, the exploration is performed based on the voxel map to obtain multiple exploration boundary clusters, including:

[0017] Dividing the voxel map into a plurality of grid cells of the same size;

[0018] Parsing the voxel map to obtain the initial exploration point of the voxel map;

[0019] Based on the initial exploration point, the voxel map is incrementally explored, and exploration boundaries are continuously generated and eliminated during the exploration process until the voxel map is completely explored;

[0020] Cluster each exploration boundary to obtain a boundary cluster for each exploration boundary.

[0021] Furthermore, generating the drone exploration viewpoint of each exploration boundary cluster based on each exploration boundary cluster includes:

[0022] Construct boundary information for each boundary cluster, including the positions of all grid cells within the boundary cluster, the average position of the boundary cluster, the minimum rectangle that can contain the entire boundary cluster, the exploration viewpoint of the drone that can observe the boundary cluster, and the cost between boundary clusters;

[0023] Get the coverage of the drone's exploration viewpoint;

[0024] Select the boundary information of a boundary cluster;

[0025] Determine whether the coverage of the drone's exploration viewpoint includes the minimum rectangle that can contain the boundary cluster;

[0026] If the coverage of the UAV's exploration viewpoint does not include the minimum rectangle that can contain the boundary cluster, principal component analysis is performed on the boundary cluster to obtain two segmented boundary clusters;

[0027] The boundary information of the selected boundary cluster is returned until the boundary information of each boundary cluster has been selected once.

[0028] Furthermore, the generating of the drone exploration viewpoint of each exploration boundary cluster based on each exploration boundary cluster further includes:

[0029] Select a boundary cluster;

[0030] Determine whether the boundary cluster contains obstacles;

[0031] If the boundary cluster contains an obstacle, the first viewpoint sampling method is used to perform viewpoint sampling on the boundary cluster to obtain the sampling viewpoint of the boundary cluster;

[0032] If the boundary cluster does not contain any obstacles, the second viewpoint sampling method is used to perform viewpoint sampling on the boundary cluster to obtain the sampling viewpoint of the boundary cluster;

[0033] Return to the step of selecting a boundary cluster until each boundary cluster has been selected once.

[0034] Furthermore, the construction and solution of the traveling salesman problem regarding the flight order between multiple drone exploration viewpoints to obtain the exploration order of the drone exploration viewpoints includes:

[0035] The drone exploration viewpoint closest to the drone is used as the starting point;

[0036] Get the location information of each drone's exploration viewpoint;

[0037] Based on the traveling salesman problem, the position information of multiple drone exploration viewpoints is solved to obtain the exploration order of the drone's exploration viewpoints.

[0038] Furthermore, the voxel map is assigned tasks based on a preset number of drones so that each drone is assigned to a corresponding exploration area, and the exploration area is defined as a target exploration area, including:

[0039] Constructing and solving a capacity-constrained vehicle routing problem that allocates a voxel map to a predetermined number of UAVs, and obtaining at least a portion of the voxel map corresponding to each UAV;

[0040] At least a portion of the voxel map corresponding to each UAV is obtained and defined as the target exploration area of ​​each UAV.

[0041] Furthermore, the constructing and solving the traveling salesman problem regarding the flight order between the multiple drone exploration viewpoints based on the target exploration area corresponding to each drone to obtain the exploration order of the drone exploration viewpoints and the exploration order of each drone for the drone exploration viewpoints within the target exploration area include:

[0042] Select a target exploration area for the drone;

[0043] Parsing the target exploration area of ​​the drone to obtain target drone exploration viewpoint information in the target exploration area of ​​the drone, wherein the drone exploration viewpoint information includes the number of target drone exploration viewpoints and position information of each target drone exploration viewpoint;

[0044] Construct and solve the traveling salesman problem about the flight order between the target UAV's exploration viewpoints to obtain the exploration order of the target UAV's exploration viewpoints;

[0045] Return to the process of selecting a target exploration area for a drone until the target exploration area of ​​each drone has been selected once.

[0046] Furthermore, the optimized A* algorithm is used to generate an initial flight trajectory for each UAV in the corresponding target exploration area, including:

[0047] Select a target exploration area for the drone;

[0048] Parsing the target exploration area of ​​the target UAV to obtain the number of target UAV exploration viewpoints and the exploration order of the UAV exploration viewpoints in the target exploration area of ​​the target UAV;

[0049] Based on the exploration order of the UAV exploration viewpoints, the optimized A* algorithm is used to generate trajectories for two adjacent target UAV exploration viewpoints to obtain at least one first flight trajectory;

[0050] All the first flight trajectories obtained are sequentially connected based on the exploration order of the UAV's exploration viewpoints to obtain the initial flight trajectory;

[0051] Return to the process of selecting a target exploration area for a drone until the target exploration area of ​​each drone has been selected once.

[0052] Furthermore, the generating of an initial flight trajectory of a corresponding target exploration area for each UAV based on the optimized A* algorithm further includes:

[0053] A movement cost evaluation function of a node in a voxel map is defined; the expression of the movement cost evaluation function of the node is shown in Formula 1;

[0054] f(n)=g(n)+λ dynamic h(n)+p(n);

[0055] Where f(n) is the movement cost evaluation function of node n; g(n) is the movement cost from the starting point to node n when moving along the generated path; h(n) is the movement cost from node n to the end point; λ dynamic is the weight of the moving cost from node n to the end point; is; p(n) is the angle change cost term calculated by the direction vector of the current node and the direction vector of the extended neighbor node.

[0056] Furthermore, the back-end optimized trajectory algorithm is used to optimize the initial flight trajectory of each UAV to obtain an optimized initial flight trajectory, and the optimized initial flight trajectory is defined as the target flight trajectory, including:

[0057] Select an initial flight trajectory;

[0058] The initial flight trajectory is optimized based on a back-end optimization trajectory algorithm to obtain an optimized initial flight trajectory, and the optimized initial flight trajectory is defined as a target flight trajectory;

[0059] Return to selecting an initial flight trajectory until each initial flight trajectory has been selected once.

[0060] This application relates to a multi-UAV exploration method. A voxel map is first explored to obtain multiple exploration boundaries. Each of the obtained boundary clusters is then clustered to obtain multiple boundary clusters. UAV exploration viewpoints are then generated for each obtained boundary cluster to obtain the UAV exploration viewpoints for each boundary cluster. The multiple UAV exploration viewpoints are then constructed using a traveling salesman problem and solved to determine the exploration order of the multiple UAV exploration viewpoints. The number of UAVs is set so that multiple UAVs can simultaneously perform exploration tasks. The voxel map is then allocated based on the number of UAVs so that each UAV obtains a target exploration area. A traveling salesman problem is then constructed and solved for all UAV exploration viewpoints within the target exploration area of ​​each UAV's mission to determine the exploration order of the UAV exploration viewpoints for each UAV in the corresponding target exploration area. Based on the exploration order of the UAV exploration viewpoints for each UAV in the corresponding target exploration area, an optimized A* algorithm flight trajectory is then generated and optimized to obtain the target flight trajectory for each UAV. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] Figure 1 A flowchart of a multi-UAV exploration method provided in one embodiment of the present application.

[0062] Figure 2 A schematic diagram of a multi-UAV exploration simulation of a multi-UAV exploration method provided in one embodiment of the present application.

[0063] Figure 3 Schematic diagram of multi-UAV exploration simulation of the traditional Racer algorithm.

[0064] Figure 4 Schematic diagram of multi-UAV exploration simulation of the traditional Fame algorithm. DETAILED DESCRIPTION

[0065] In order to make the purpose, technical solutions and advantages of this application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0066] like Figure 1 As shown, in one embodiment of the present application, the multi-UAV exploration method includes the following S001 to S010:

[0067] S001, obtain a voxel map.

[0068] S002: Exploring based on the voxel map to obtain multiple exploration boundary clusters.

[0069] S003, generating a drone exploration viewpoint for each exploration boundary cluster based on each exploration boundary cluster.

[0070] S004: Construct and solve a traveling salesman problem regarding the flight order between multiple drone exploration viewpoints to obtain the exploration order of the drone exploration viewpoints.

[0071] S005, obtaining the preset number of drones.

[0072] S006: Allocate tasks to the voxel map based on a preset number of drones, so that each drone is assigned to a corresponding exploration area, and define the exploration area as a target exploration area.

[0073] S007, based on the target exploration area corresponding to each drone, execute and solve the traveling salesman problem regarding the flight order between multiple drone exploration viewpoints, obtain the exploration order of the drone exploration viewpoints, and obtain the exploration order of each drone for the drone exploration viewpoints within the target exploration area.

[0074] S008, based on the optimized A* algorithm, generates an initial flight trajectory of the corresponding target exploration area for each UAV.

[0075] S009, optimizing the initial flight trajectory of each UAV based on the back-end optimized trajectory algorithm to obtain an optimized initial flight trajectory, and defining the optimized initial flight trajectory as a target flight trajectory.

[0076] S010, output the target flight trajectory of each UAV.

[0077] Specifically, the voxel map information perceived by the drone through its own visual sensor is divided into grid cells, each cell represents the occupancy status of a specific area, and the entire three-dimensional space can be expressed as: V = V free ∪V occ ∪V unknow, where the idle area Occupied area Unknown area There are three types of exploration boundaries. The exploration boundary is composed of the intersection of the known area and the unknown area perceived by the drone sensor. The exploration boundary units are clustered to form exploration boundary clusters.

[0078] When the exploration boundary changes, in order to quickly detect the changed exploration boundary area rather than the entire exploration boundary for judgment, the incremental exploration boundary update is conducive to quickly searching for the changed exploration boundary in the environment and modifying only the changed exploration boundary, which greatly reduces the cost of exploration boundary maintenance and improves the efficiency of exploration.

[0079] In this embodiment, a voxel map is first explored to obtain multiple exploration boundaries. Each of these boundary clusters is then clustered to obtain multiple boundary clusters. Then, drone exploration viewpoints are generated for each of these boundary clusters to obtain the drone exploration viewpoints for each boundary cluster. Next, the multiple drone exploration viewpoints are constructed as a traveling salesman problem and solved to determine the exploration order of the multiple drone exploration viewpoints. The number of drones is set so that multiple drones can simultaneously perform exploration tasks. Next, the voxel map is allocated based on the number of drones so that each drone obtains a target exploration area. A traveling salesman problem is then constructed and solved for all drone exploration viewpoints within the target exploration area of ​​each drone's mission to determine the exploration order of each drone's exploration viewpoints within the corresponding target exploration area. Then, based on the exploration order of each drone's exploration viewpoints within the corresponding target exploration area, optimized A* algorithm flight trajectories are generated and optimized to obtain the target flight trajectory for each drone.

[0080] In one embodiment of the present application, the exploration is performed based on the voxel map to obtain multiple exploration boundary clusters, including the following S002a to S002d:

[0081] S002a: Divide the voxel map into a plurality of grid units of the same size.

[0082] S002b: parse the voxel map to obtain an initial exploration point of the voxel map.

[0083] S002c, performing incremental boundary exploration on the voxel map based on the initial exploration point, continuously generating exploration boundaries and eliminating corresponding exploration boundaries during the exploration process until the voxel map is completely explored.

[0084] S002d, cluster each exploration boundary to obtain a boundary cluster of each exploration boundary.

[0085] The generating of the drone exploration viewpoint of each exploration boundary cluster based on each exploration boundary cluster includes the following S003a to S003f:

[0086] S003a, constructing boundary information for each boundary cluster, wherein the boundary information includes the positions of all grid cells within the boundary cluster, the average position of the boundary cluster, the minimum rectangle that can contain the entire boundary cluster, the exploration viewpoint of the drone that can observe the boundary cluster, and the cost between boundary clusters.

[0087] S003b, obtain the coverage of the drone's exploration viewpoint.

[0088] S003c, selecting boundary information of a boundary cluster.

[0089] S003d, determining whether the coverage of the drone's exploration viewpoint includes the minimum rectangle that can contain the boundary cluster.

[0090] S003e, if the coverage of the UAV exploration viewpoint does not include the minimum rectangle that can contain the boundary cluster, perform principal component analysis on the boundary cluster to obtain two segmented boundary clusters.

[0091] S003f, returning the boundary information of the selected boundary cluster until the boundary information of each boundary cluster has been selected once.

[0092] In this embodiment, an incremental boundary information structure is first constructed for each boundary cluster, wherein the incremental boundary information structure includes: 1. the positions of all explored boundary units within the explored boundary cluster, 2. the average position of the explored boundary cluster, 3. the minimum rectangular outer bounding box B that can contain the entire explored boundary cluster. i , 4. The exploration viewpoint that can observe the exploration boundary cluster (the location and exploration direction of the exploration viewpoint), 5. The cost between the exploration boundary clusters. When the state of the exploration boundary changes, it is only necessary to judge the B of the exploration boundary area before the update i and the updated B in the exploration boundary area m If there is any overlap, only the exploration boundary before the overlap is deleted, which greatly improves the efficiency of exploring whether the boundary has changed. At the same time, this paper maintains the exploration boundary box B of the explored area r It is used to quickly detect whether there are any missed areas in the explored area and eliminate the exploration boundary.

[0093] In the area where the exploration boundary has changed, the new exploration boundary units are clustered again to generate a new exploration boundary cluster. If the newly generated exploration boundary cluster is too large, the drone cannot cover this exploration boundary cluster within the sensor's perception range under a single exploration viewpoint. Principal component analysis (i.e., dividing the boundary cluster into two small exploration boundary clusters along the principal axis (the direction with the largest data variance)) is used to ensure that each exploration boundary cluster can generate an exploration viewpoint that covers it. The process of autonomous exploration by the drone is the process of continuously eliminating the exploration boundary and generating a new exploration boundary. The exploration viewpoints generated near the exploration boundary will continuously guide the drone towards the exploration boundary. In the process of eliminating the exploration boundary, new exploration boundaries will be continuously generated until the drone completely eliminates the exploration boundary in the specified area, and the exploration is considered complete.

[0094] In one embodiment of the present application, generating the drone exploration viewpoint of each exploration boundary cluster based on each exploration boundary cluster further includes the following S003g to S003k:

[0095] S003g, select a boundary cluster.

[0096] S00h, determine whether the boundary cluster contains an obstacle.

[0097] S003i: If the boundary cluster contains an obstacle, use the first viewpoint sampling method to perform viewpoint sampling on the boundary cluster to obtain a sampling viewpoint of the boundary cluster.

[0098] S003j: If the boundary cluster does not contain any obstacles, use the second viewpoint sampling method to perform viewpoint sampling on the boundary cluster to obtain the sampling viewpoints of the boundary cluster.

[0099] S003k, returning to the step of selecting a boundary cluster until each boundary cluster has been selected once.

[0100] Specifically, in the process of eliminating the exploration boundary during the exploration process, some areas contain obstacles. In order to achieve better exploration results, if an occupied grid is found during the exploration process, more attention should be paid, because the scanned obstacle may have undiscovered obstacles nearby. The method of generating exploration viewpoints by sampling only near the exploration boundary cannot more accurately represent the information of obstacles in the environment. The path generated by the exploration boundary sampling viewpoint guidance may also lead to incomplete exploration near the obstacle, resulting in vacancies. At this time, the exploration viewpoint selection scheme should not only sample within a certain range near a certain boundary cluster as the center. When an obstacle is detected within the range of the drone sensor, constraints need to be added to the viewpoint towards the obstacle during the exploration process.

[0101] When an obstacle is within the range of the drone's sensor, it should first move in the direction of the large area of ​​the obstacle, reducing exploration towards the large area of ​​the exploration boundary. At the same time, it is necessary to give the obstacle a certain perspective to check whether the obstacle is continuous. This article performs conditional judgment in the process of viewpoint sampling of the exploration boundary.

[0102] When the exploration boundary does not contain obstacles during the exploration process within the drone, the boundary cluster F k For example

[0103] Boundary cluster F k :

[0104] F k ={f1, f2, ..., f n}, k∈{1, 2, ..., N cls};

[0105] Where: f i Represents the exploration boundary cluster F k Inner boundary cell, N cls Represents the number of explored boundary clusters in the environment.

[0106] By exploring the boundary cluster F k Performing principal component analysis, we can obtain the eigenvector corresponding to the minimum eigenvalue, which is the exploration boundary cluster F k Normal vector The boundary cluster F is explored k The average position In the normal vector Within a certain range d f To take a sample:

[0107]

[0108] Where: r f_min is the minimum radius of the boundary cluster sampling, r f_max is the maximum radius of the boundary cluster sampling, r c To explore the radius of the boundary cluster sampling, To explore the uniform sampling angle within the yaw angle range of the boundary cluster sampling viewpoint, p i Initial sampling points for exploring boundary clusters.

[0109] Delete sampling points that are not in the boundary cluster F k A certain range f The optimized sampling point P is obtained by i ', connect the center position of the exploration boundary cluster and the sampling viewpoint P i 'Get the sampling viewpoint direction vector and the boundary cluster normal vector The angle θ i for:

[0110]

[0111] And delete the angle θ that is too large with the normal vector i , get the direction of the optimized yaw angle θ i '.

[0112] The boundary cluster F will be explored k The positions and yaw angles of all sampling points are averaged to obtain the exploration boundary cluster F k The final sampling viewpoint is:

[0113]

[0114] in: To explore the boundary cluster F k The number of cells within the exploration boundary.

[0115] Finally, the sampling viewpoint V corresponding to the exploration boundary cluster k for:

[0116]

[0117] When the exploration boundary contains obstacles during the exploration process within the drone, the exploration boundary cluster F k For example

[0118] At this time, the obstacle surface is still judged as the exploration boundary cluster, and the yaw angle tends to be higher towards the obstacle direction, and the obstacle surface units at this time are clustered into obstacle cluster O i :

[0119] O i ={o1, o2, ..., o n}, i∈{1, 2, ..., N obs};

[0120] Among them: i Represents obstacle cluster O i Inner boundary cell, N obs Represents the number of obstacle clusters in the environment.

[0121] By i The principal component analysis obtains the eigenvector corresponding to the minimum eigenvalue, which is the obstacle cluster O i Normal vector The obstacle cluster O i The average position In a certain range of normal vector d o Sampling within

[0122]

[0123] Where: r o_min is the minimum radius of obstacle cluster sampling, r o_max is the maximum radius of obstacle cluster sampling, r0 is the radius of obstacle cluster sampling, is the angle uniformly sampled within the yaw angle range of the obstacle cluster sampling viewpoint, p o is the initial sampling point of the obstacle cluster.

[0124] Delete sampling points that are not in obstacle cluster O i A certain range o The optimized sampling point p′ is obtained by sampling the points within o , connect the center position of the boundary cluster and the sampling viewpoint p′ o Get the sampling viewpoint direction vector and the boundary cluster normal vector The angle θ i for:

[0125]

[0126] in: is the obstacle cluster O i The number of boundary cells within is the boundary cluster F k The number of boundary cells within, τ o is the coefficient of the viewpoint position biased towards the obstacle cluster, τ k is the coefficient that biases the viewpoint position toward the boundary cluster.

[0127]

[0128] Among them: σ1 and σ2 are the coefficients of the view angle deviation of the boundary cluster and the obstacle cluster, and the sum of σ1 and σ2 is 1. The direction of is related to the proportion of obstacle clusters in the sensor's perception range. The higher the proportion of obstacle clusters perceived by the sensor, the more the viewpoint is oriented toward the area where the obstacle clusters are located.

[0129] At this time, the final viewpoint V with obstacles in the exploration area o for:

[0130]

[0131] In this embodiment, by adopting different sampling strategies based on whether the exploration boundary area contains obstacles, the drone's autonomous exploration efficiency in unknown environments is improved, while also enhancing the completeness of obstacle mapping during the exploration process. This helps reduce the loss of obstacle surface information due to insufficient exploration. Furthermore, by effectively eliminating redundant boundary information near obstacles, the drone avoids repeated backtracking due to incompletely cleared boundaries, thereby reducing unnecessary exploration overhead and improving the drone's overall exploration efficiency.

[0132] In one embodiment of the present application, constructing and solving a traveling salesman problem regarding the flight sequence between multiple drone exploration viewpoints to obtain the exploration sequence of the drone exploration viewpoints includes the following steps S004a to S004c:

[0133] S004a, takes the drone exploration viewpoint closest to the drone as the starting point.

[0134] S004b, obtain the location information of each drone's exploration viewpoint.

[0135] S004c, solving the obtained location information of the multiple drone exploration viewpoints based on the traveling salesman problem to obtain the drone's exploration viewpoint exploration order.

[0136] Specifically, how can a drone generate a shorter path through the exploration viewpoints generated by the exploration boundary cluster, and make each exploration viewpoint pass only once? This problem can be described as a classic combinatorial optimization problem, namely the traveling salesman problem.

[0137] Record the B of the explored area during the exploration process r and B that explores the boundary cluster i , the drone has explored area B during the exploration process r Continue to increase until the entire area of ​​the environment is covered. Explored Area B r Indicated by the red border, the bounding box B of the explored boundary cluster i Indicated by a yellow border. B appears during the exploration process r B i When included, B r The priority of the boundary cluster viewpoints within the explored area should be increased, that is, the unexplored areas within the explored area should be eliminated before exploring outside. Because such viewpoints will not significantly change the overall trajectory, timely elimination of the boundary clusters within the explored area can prevent the drone from turning back midway to eliminate the unexplored areas missed in the previous exploration.

[0138] When the drone approaches the boundary of the area to be explored, the boundary of the area to be explored should be explored more completely, that is, the distance between the location of the drone's outward exploration boundary viewpoint and the boundary of the area to be explored is within a certain threshold, and the priority of this viewpoint should be increased accordingly. Since the boundary of the designated exploration area is located at the outermost layer of the exploration area, if the missed unexplored areas are not handled in time, the drone needs to travel a larger distance to explore, which increases the exploration time and reduces efficiency.

[0139] By constructing the cost matrix M ATSP To solve the traveling salesman problem, that is, the order of the boundary cluster viewpoints, where

[0140]

[0141] in: For the drone by the current location To explore the boundary cluster viewpoint The price. To explore the boundary cluster viewpoint To the current location of the drone The cost is composed of a dimension matrix. is the cost of exploring the boundary cluster viewpoints. P represents the position, Represents the yaw angle.

[0142] Calculate the minimum distance between the exploration boundary cluster viewpoint and the boundary of the specified exploration area:

[0143] d min (V k )=min(D k_x , D k_y , D k_z ), k∈{1, 2, ..., N cls};

[0144] Where: D k_x D is the distance between the exploration boundary cluster viewpoint and the specified exploration area boundary in the x-axis direction, k_y D is the distance between the exploration boundary cluster viewpoint and the boundary of the specified exploration area in the y-axis direction. k_z The distance between the exploration boundary cluster viewpoint and the boundary of the specified exploration area in the z-axis direction.

[0145] The cost term c of whether the sampled viewpoint is close to the boundary of the specified exploration area d (V k )for:

[0146]

[0147] Where: d′ is the distance threshold close to the boundary of the specified exploration area.

[0148] The drone is located at the current position To explore the boundary cluster viewpoint Time cost

[0149] t lb (V0, V i )for:

[0150]

[0151] Where: L(p0, p k ) is the length of the path from the current position of the drone to the viewpoint position optimized using A*, v max is the maximum speed of the drone, is the maximum angular velocity of the UAV’s yaw angle.

[0152] In order to avoid the frequent swing of the path caused by the calculation of the viewpoint selection order, a direction consistency penalty is added to the drone.

[0153] c c (V k )for:

[0154]

[0155] Among them: v0 is the current position of the drone speed.

[0156] Judge the exploration viewpoint. If the viewpoint V i In B r With B i At the intersection of i The priority of B needs to be increased, and the internal unexplored area needs to be eliminated first. r With B i No intersection or exploration viewpoint V i If the viewpoint V is not within the intersection of the two bounding boxes, it is necessary to explore the external area and no priority adjustment is required. i Judgment c e (V i ):

[0157]

[0158] Where: ||P i -P0|| 2 Indicates the current position V0 of the drone and the viewpoint V i The second norm of , that is, the Euclidean distance.

[0159] The drone is located at the current position To explore the boundary cluster viewpoint The total cost is:

[0160] CATSP (0, i) = t lb (V0, V i )+w c c c (V i )+w d c d (V i )+w e c e (V i ) (twenty one)

[0161] Where: w c is the viewpoint consistency penalty coefficient, w d is the penalty coefficient for whether the viewpoint is close to the boundary of the specified exploration area, w e The viewpoint is located in the bounding box B of the explored area r The bounding box B of the bounding cluster will be explored i Includes penalties within the region.

[0162] Exploring Boundary Cluster Viewpoints Go to another exploration boundary cluster viewpoint The cost is:

[0163]

[0164] Where: N cls is the number of clusters to explore.

[0165] The cost of exploring the boundary cluster viewpoint to the current position of the drone is:

[0166] C ATSP (i, 0)=0, i∈{0, 1, 2,...,N cls}.

[0167] In this embodiment, by setting the cost of exploring the boundary cluster viewpoint to the current position of the drone to zero, the traveling salesman problem is converted into an asymmetric traveling salesman problem for solution, and the open source tool LKH3 is used to solve it, and a reasonable exploration order is obtained, which can reduce the drone's trajectory reciprocating during the exploration process and improve the exploration efficiency.

[0168] In one embodiment of the present application, the voxel map is assigned tasks based on a preset number of drones so that each drone is assigned to a corresponding exploration area, and the exploration area is defined as a target exploration area, including the following S006a to S006b:

[0169] S006a, constructing and solving a capacity-constrained vehicle path planning problem for allocating voxel maps based on a preset number of UAVs, and obtaining at least a portion of the voxel map corresponding to each UAV.

[0170] S006b, obtaining at least a portion of the voxel map corresponding to each UAV, and defining it as the target exploration area of ​​each UAV.

[0171] Specifically, multiple drones share messages and assign tasks through the self-organizing network module. During the exploration process, the drones are affected by the distance and obstacles, which affects the signal strength of multiple drones. Considering the attenuation of the signal caused by the distance and the number of obstacles, the drone u i With drone u j The signal function S(u1, u2) between can be expressed as:

[0172] S(u i ,u j )=S init -10qlog 10 (d(u i ,u j ));

[0173] Where: S init is the initial signal strength, q is the path loss exponent, in order to ensure that the drone u i With drone u j The communication between them will not exceed the maximum communication signal S min , we can get the penalty function Z about communication intensity ij :

[0174]

[0175] Where: 2 is the variance, which represents the average of the squares of the differences between the received data and the mean, and reflects the degree of fluctuation in signal strength.

[0176] In the problem of multi-UAV collaborative exploration, the topological structure of the multi-UAV is represented by an undirected graph G = (V, E), where V = {v1, v2, ...v n} represents the node set of the graph, node v i Represents the position p of the drone of the i-th node i =[x i ,y i , z i ]∈R 3 , E represents the set of nodes and edges connecting nodes in the graph. ij represents the edge connecting node i and node j. The weight of edge eij is defined as the communication strength S(u i ,u j ).

[0177] The adjacency matrix A is used to represent the connection relationship between nodes in the graph, which represents the communication distance between drones. In the graph G, except for the connection status between the drone and itself (all diagonal elements are 0), A ij The value of A is represented by the weight between UAV i and UAV j, that is, the communication range between UAVs. ij The expression is as follows:

[0178]

[0179] The degree matrix D is used to represent the degree of each node in the graph, which here represents the interaction strength between the drone and other drones (placed on the diagonal position), D ij The value of is determined by the total strength of the connection between UAV i and the rest of the UAVs, that is, the sum of the weights of all edges connected to UAV i.

[0180]

[0181] Then the Laplace matrix L is constructed to describe the connectivity and information flow between UAVs.

[0182] L = DA;

[0183] The distance between drones does not exceed the maximum communication range R max , define the distance constraint between each pair of drones as:

[0184]

[0185] For a multi-UAV system, the relative positions of the UAVs can be optimized by minimizing the Laplace energy. The Laplace energy is usually defined as:

[0186]

[0187] Where: p i With p j is the position vector of UAV i and UAV j, L ij It is an element in the Laplacian matrix, usually calculated from the adjacency matrix and degree matrix of the graph, and represents the connection strength between drone i and drone j.

[0188] To ensure that the distance between drones does not exceed the maximum communication range R max , a distance limit term is introduced into the control law. This is usually achieved by a potential energy function that is max It will increase when the value is greater than the value at the beginning, playing a restraining role.

[0189] In order to introduce distance constraints, the potential energy function is defined as:

[0190]

[0191] Taking into account the Laplace energy and distance constraints, this paper designs an optimization objective function:

[0192]

[0193] Where: E L is the energy based on the Laplace matrix, U ij is the potential energy function of the distance constraint, λ L is the Laplace energy and distance constraint weight coefficient.

[0194] By solving the multi-traveling salesman problem, a reasonable order is assigned to the exploration frontier viewpoints. The capacity-constrained vehicle routing problem is then used to determine the number and location of exploration frontier viewpoints for each drone, effectively distributing the exploration tasks evenly. The standard vehicle routing problem has a central warehouse, and the vehicle routes form a closed loop, starting from the quadrotor's location and passing through the open paths of the Hgrid cells. By introducing a virtual warehouse and rationally designing the connection costs, this variant is reduced to an asymmetric vehicle routing problem.

[0195] Build C avrp is (N h +4)×(N h +4) dimensions, where N h is the number of Hgrid, three drones u1, u2, u3, and the virtual warehouse.

[0196]

[0197] Among them: the cost between Hgrid is N h ×N h The goal is to find the shortest global coverage route, so the path length between unit pairs is used as the connection cost C h It is expressed as:

[0198]

[0199] Where: Len[·] is the Euclidean distance between the centroids of the h1 and h2 grids.

[0200] The cost of one UAV to hgrid is 3×N h Dimensional, by C q,h It is expressed as:

[0201]

[0202] where c conThis is to prevent frequent changes in paths between different modes, which may lead to inconsistent motion and slow down the exploration speed, as in Equation 26.

[0203] C inf 3×N h The dimension represents the cost from the virtual warehouse to the drone. In order to reduce the problem to an asymmetric VRP, the connection cost from the virtual warehouse to the three quadrotors is allocated as block C. inf =[V inf , V inf , V inf ], where V inf is a huge value. The huge negative cost makes the nodes of the virtual warehouse directly connect to the three quadrotors because it greatly reduces the overall cost of the output route.

[0204] Although the path length is minimized, that is, C h , but it does not take into account the number of actual explored location areas, which sometimes still leads to uneven distribution of drones. Due to capacity constraints, the problem becomes a CVRP. And by using the LKH3 solver. The algorithm converts the VRP problem into an equivalent standard traveling salesman problem for solution, and uses a penalty function to handle capacity constraints. In this way, the complex problem of multiple vehicles is converted into a single-vehicle path optimization problem. If the TSP model is used directly, it will ignore these capacity constraints. This constraint is handled by adding a penalty function. Therefore, the capacity constraint of the vehicle is introduced to further balance the workload assigned to the quadrotor. It is mentioned that the bounding box B of the explored area is maintained during the exploration process. r , by calculating the area ratio of each drone's explored area to the designated area to be explored, and whether it exceeds a certain threshold α a , divide the tasks.

[0205] Global CPs are used to guide exploration planning, allowing the quadrotor to visit different areas in a more reasonable order. CP-guided exploration path planning: CVRP outputs the CP of the Hgrid-cell assigned to each quadrotor. When Hgrid is updated as the map changes, we recalculate the CP to guide exploration planning. For the next NCPhgrid cell along the CP, we retrieve the frontier cluster whose center of mass is located inside it. We then find a path that starts from the current viewpoint of the quadrotor, visits each cluster, and ends at the center of mass of the (NCP+1)Hgrid-cell. The problem is formulated as a variant of TSP with fixed start and end points. Since TSP is a special case where the number of VRP vehicles is 1, a similar process to the previous section can be used to solve the problem, except that the additional endpoint constraints introduced by (NCP+1)Hgrid need to be considered. Assume there are a total of N frt There are N boundary clusters involved in the TSPfrt +4 nodes, where N frt The nodes are the number of boundary clusters, and the four nodes are virtual warehouse, quadrotor and Hgrid. The cost matrix is ​​(N frt +4)×(N frt +4) Dimension C tsp The composition can be expressed as:

[0206]

[0207] C f N frt xN frt dimensional matrix, representing the cost between the boundary cluster viewpoints, shown.

[0208] in: The calculation method is shown in the above formula

[0209] C h,f 1xN frt A dimension matrix representing the cost between Hgrid and the boundary cluster viewpoints.

[0210]

[0211] Where: Len[·] is the Euclidean distance between the Hgrid grid centroid and the boundary cluster viewpoint.

[0212] C q,f 1xN frt Dimension matrix, representing the cost between the drone and the boundary cluster viewpoint, the same as formula C ATSP (0, i) = t lb (V0, V i )+ w cc c (V i )+w d c d (V i )+w e c e (V i ), each drone considers not only the distance between its own position and the boundary cluster viewpoints and the direction consistency, but also the location information of the boundary cluster viewpoints and whether they are included in the explored area to increase the priority of such viewpoints.

[0213] By introducing a huge negative cost -C inf, transforms the TSP variant into a standard TSP, which is distributed between the virtual warehouse and the quadrotor, and between the Hgrid unit and the virtual warehouse. It ensures that in the output route, the nodes of the quadrotor and the Hgrid unit are adjacent to the warehouse. Therefore, we can obtain the desired path by removing the warehouse node and the two edges connected to it.

[0214] In one embodiment of the present application, the step of constructing and solving the traveling salesman problem regarding the flight order between multiple drone exploration viewpoints based on the target exploration area corresponding to each drone, obtaining the exploration order of the drone exploration viewpoints, and obtaining the exploration order of each drone for the drone exploration viewpoints within the target exploration area includes the following steps S007a to S007d:

[0215] S007a, select a target exploration area for the drone.

[0216] S007b, parsing the target exploration area of ​​the drone to obtain target drone exploration viewpoint information in the target exploration area of ​​the drone, wherein the drone exploration viewpoint information includes the number of target drone exploration viewpoints and position information of each target drone exploration viewpoint.

[0217] S007c, construct and solve the traveling salesman problem about the flight order between the target UAV's exploration viewpoints to obtain the exploration order of the target UAV's exploration viewpoints.

[0218] S007d, returning to the process of selecting a target exploration area of ​​a UAV, until the target exploration area of ​​each UAV has been selected once.

[0219] In this embodiment, an exploration task is assigned to each drone, and when each drone performs the exploration task, it only needs to explore within its designated area. When exploring its designated area, each drone still uses the traveling salesman problem regarding the flight order between multiple drone exploration viewpoints and solves it to obtain the exploration order of the drone exploration viewpoints.

[0220] In one embodiment of the present application, the optimized A* algorithm is used to generate an initial flight trajectory for each drone in the corresponding target exploration area, including the following steps S008a to S008e:

[0221] S008a, select a target exploration area for the drone.

[0222] S008b, parsing the target exploration area of ​​the target drone, and obtaining the number of target drone exploration viewpoints and the exploration order of the drone exploration viewpoints in the target exploration area of ​​the target drone.

[0223] S008c: Based on the exploration order of the UAV exploration viewpoints, the optimized A* algorithm is used to generate trajectories for two adjacent target UAV exploration viewpoints to obtain at least one first flight trajectory.

[0224] S008d, based on the exploration order of the UAV's exploration viewpoints, all the first flight trajectories obtained are sequentially connected to obtain an initial flight trajectory.

[0225] S008e: Return to the process of selecting a target exploration area for a UAV until the target exploration area of ​​each UAV has been selected once.

[0226] The optimized A* algorithm is used to generate an initial flight trajectory for each UAV in the corresponding target exploration area, and further includes the following S008f:

[0227] S008f, defining a movement cost evaluation function of a node in the voxel map; the expression of the movement cost evaluation function of the node is shown in Formula 1;

[0228] f(n)=g(n)+λ dynamic h(n)+p(n);

[0229] Where f(n) is the movement cost evaluation function of node n; g(n) is the movement cost from the starting point to node n when moving along the generated path; h(n) is the movement cost from node n to the end point; λ dynamic is the weight of the moving cost from node n to the end point; is; p(n) is the angle change cost term calculated by the direction vector of the current node and the direction vector of the extended neighbor node.

[0230] Specifically, where: dynamic is the dynamically changing weight of the heuristic function, as shown below:

[0231] d init =|p end -p star |;

[0232] d current =|p end -p current |;

[0233] d nbr =|p nbr -p end |;

[0234] d max =max(d init *0.5,d current );

[0235]

[0236] Where: p end is the end point of the A* algorithm, p star is the starting point of the A* algorithm, d init is the distance between the starting point and the end point of the A* algorithm, p current is the current node position of the A* algorithm, d current is the distance between the current node and the end point of the A* algorithm, p nbr is the extended neighbor node position of the A* algorithm, d nbr is the distance between the extended neighbor node and the end point of the A* algorithm, d max 0.5*d init with d current Compared with the maximum value, λ dynamic By d nbr with d max The ratio is multiplied by the coefficient term λ a* composition.

[0237] p(n) is the angle change cost term calculated by the A* algorithm from the direction vector of the current node and the direction vector of the extended neighboring node.

[0238]

[0239] Where: θ is the angle variation coefficient term, n i is the i-th current node, v i_pre is the direction vector of the i-th current node, v i_cur is the direction vector from the i-th current node to the expanded neighboring node.

[0240] By adding a cost term for node angle changes, the frequent inflection points in the path caused by expanding the neighbor nodes three times in the extended neighbor node A* algorithm can be reduced, making the path generated by the extended neighbor node A* algorithm more reasonable, thereby improving the operating efficiency of the drone.

[0241] During the A* algorithm's process of tripling neighbor nodes, the positions of neighbor nodes near obstacles are recorded to determine whether the trajectory after removing inflection points is too close to obstacles. To ensure that the generated initial trajectory does not collide with obstacles, the cost of nodes close to obstacles in the path points is increased, so that the trajectory does not cling too closely to obstacles, providing a better initial value for the back-end trajectory optimization.

[0242] The data comparison between the optimized A* algorithm in this application and the traditional A* algorithm is shown in Table 1:

[0243]

[0244]

[0245] Table 1

[0246] Table 1 shows that the optimized A* algorithm reduces the number of extended neighbor nodes by 93.45% and the path search time by 67.96% compared to the original A* algorithm. In addition, the generated path is not close to obstacles, which is conducive to better solution of trajectory back-end optimization.

[0247] like Figures 2 to 4 As shown, in one embodiment of the present application, the back-end optimized trajectory algorithm is used to optimize the initial flight trajectory of each UAV to obtain an optimized initial flight trajectory, and the optimized initial flight trajectory is defined as a target flight trajectory, including the following S009a to S010:

[0248] S009a, select an initial flight trajectory.

[0249] S009b, optimizing the initial flight trajectory based on a back-end optimized trajectory algorithm to obtain an optimized initial flight trajectory, and defining the optimized initial flight trajectory as a target flight trajectory.

[0250] S009c, returning to the process of selecting an initial flight trajectory until each initial flight trajectory has been selected once.

[0251] Specifically, the total cost function of the drone is:

[0252]

[0253] Where: C s The cost of the smoothing term can be expressed as:

[0254]

[0255] E c1 and E c2 The penalties for avoiding collisions with obstacles and other drones can be expressed as:

[0256]

[0257] Where: d o is the minimum distance between the UAV and the obstacle, R obs is the minimum distance between the UAV and the obstacle, R safe is the minimum distance between drones.

[0258] E v and E a is the feasibility constraint of the total trajectory time dynamics: where the velocity term constraint is:

[0259]

[0260] The acceleration term constraint is:

[0261]

[0262] Among them: e a (·)The expression is as follows:

[0263]

[0264] E i is the instantaneous state constraint, which represents the penalty function of the instantaneous state constraint, that is, the 0th to 2nd order derivatives of the instantaneous state (p, v, a) to achieve smooth motion. The derivative of the control point can be expressed as:

[0265]

[0266] The maximum communication distance constraint can be expressed as:

[0267] E r =E ij ;

[0268] Where: E ij The expression is as As shown, by increasing the penalty term of the drone trajectory communication constraint, the drone is planned in the direction within the communication range. In order to minimize the comprehensive energy function E ij , by calculating the comprehensive energy function about the UAV position u i The gradient of , and updates the position of the UAV according to the gradient. Control law The gradient descent method is used to drive the drone to adjust its position towards the minimum energy configuration.

[0269]

[0270] According to the definition of the Laplace matrix L, the gradient of the Laplace energy can be expressed as:

[0271]

[0272] The gradient of the distance constraint potential function can be expressed as:

[0273]

[0274] The final control law gradient is:

[0275]

[0276] Among them: through The relative positions between drones are made to meet the goal of minimizing the Laplace energy. Through the second term, a repulsive force related to the distance constraint is added to ensure that the distance between drones does not exceed R max.

[0277] T is the total trajectory time, which depends on Δt b And the number of segments of B-spline can be expressed as:

[0278] T=(N b +1-p b )Δt b ;

[0279] λ s is the smoothness constraint coefficient, λ T is the total time constraint coefficient, λ c is the collision constraint coefficient, λ T is the maximum communication distance constraint coefficient.

[0280] While reasonably dividing tasks during the exploration process, the communication continuity between drones can also be taken into consideration to avoid the loss of shared information due to excessive distance.

[0281] Compared with other traditional multi-UAV exploration algorithms, the following table shows the comparison between this application and other traditional multi-UAV exploration algorithms:

[0282]

[0283] Table 2

[0284] Table 2 shows that multi-UAV exploration in the same environment with communication constraints ensures exploration efficiency and completion while also taking into account the real-time communication of the UAVs during exploration. Compared with the existing multi-UAV exploration solution RACER, the total length of the explored paths is increased by 16.81%. Compared with the existing multi-UAV exploration solution FAME, the total length of the explored paths is increased by 52.67%.

[0285] The various technical features of the above-described embodiments can be combined arbitrarily, and the execution order of the method steps is not restricted. In order to make the description concise, not all possible combinations of the various technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0286] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A multi-UAV exploration method, characterized in that: The multi-UAV exploration method includes: Get voxel map; Exploration is performed based on the voxel map to obtain multiple exploration boundary clusters; Generate the drone exploration viewpoint of each exploration boundary cluster based on each exploration boundary cluster; Construct and solve the traveling salesman problem about the flight order between multiple drone exploration viewpoints to obtain the exploration order of the drone exploration viewpoints; Get the preset number of drones; Based on the preset number of drones, tasks are assigned to the voxel map so that each drone is assigned to a corresponding exploration area, which is defined as the target exploration area; Based on the target exploration area corresponding to each drone, the traveling salesman problem regarding the flight order between the multiple drone exploration viewpoints is constructed and solved to obtain the exploration order of the drone exploration viewpoints, and the exploration order of each drone with respect to the drone exploration viewpoints within the target exploration area is obtained; Generate the initial flight trajectory of the corresponding target exploration area for each drone based on the optimized A* algorithm; Based on the back-end optimization trajectory algorithm, the initial flight trajectory of each UAV is optimized to obtain the optimized initial flight trajectory, which is defined as the target flight trajectory. Output the target flight trajectory of each UAV.

2. The multi-UAV exploration method according to claim 1, characterized in that: The exploration is performed based on the voxel map to obtain multiple exploration boundary clusters, including: Dividing the voxel map into a plurality of grid cells of the same size; Parsing the voxel map to obtain the initial exploration point of the voxel map; Based on the initial exploration point, the voxel map is incrementally explored, and exploration boundaries are continuously generated and eliminated during the exploration process until the voxel map is completely explored; Cluster each exploration boundary to obtain a boundary cluster for each exploration boundary.

3. The multi-UAV exploration method according to claim 2, characterized in that: The generating of the drone exploration viewpoint of each exploration boundary cluster based on each exploration boundary cluster includes: Construct boundary information for each boundary cluster, including the positions of all grid cells within the boundary cluster, the average position of the boundary cluster, the minimum rectangle containing the entire boundary cluster, the drone exploration viewpoint that observes the boundary cluster, and the cost between boundary clusters; Get the coverage of the drone's exploration viewpoint; Select the boundary information of a boundary cluster; Determine whether the coverage of the drone's exploration viewpoint includes the minimum rectangle containing the boundary cluster; If the coverage of the UAV's exploration viewpoint does not include the minimum rectangle containing the boundary cluster, principal component analysis is performed on the boundary cluster to obtain two segmented boundary clusters; The boundary information of the selected boundary cluster is returned until the boundary information of each boundary cluster has been selected once.

4. The multi-UAV exploration method according to claim 3, characterized in that: The generating of the drone exploration viewpoint of each exploration boundary cluster based on each exploration boundary cluster further includes: Select a boundary cluster; Determine whether the boundary cluster contains obstacles; If the boundary cluster contains an obstacle, the first viewpoint sampling method is used to perform viewpoint sampling on the boundary cluster to obtain the sampling viewpoint of the boundary cluster; If the boundary cluster does not contain any obstacles, the second viewpoint sampling method is used to perform viewpoint sampling on the boundary cluster to obtain the sampling viewpoint of the boundary cluster; Return to the step of selecting a boundary cluster until each boundary cluster has been selected once.

5. The multi-UAV exploration method according to claim 4, characterized in that: The traveling salesman problem regarding the flight order between multiple drone exploration viewpoints is constructed and solved to obtain the exploration order of the drone exploration viewpoints, including: The drone exploration viewpoint closest to the drone is used as the starting point; Get the location information of each drone's exploration viewpoint; Based on the traveling salesman problem, the position information of multiple drone exploration viewpoints is solved to obtain the exploration order of the drone's exploration viewpoints.

6. The multi-UAV exploration method according to claim 5, characterized in that: The voxel map is assigned tasks based on a preset number of drones, so that each drone is assigned to a corresponding exploration area, and the exploration area is defined as a target exploration area, including: Constructing and solving a capacity-constrained vehicle routing problem that allocates a voxel map to a predetermined number of UAVs, and obtaining at least a portion of the voxel map corresponding to each UAV; At least a portion of the voxel map corresponding to each UAV is obtained and defined as the target exploration area of ​​each UAV.

7. The multi-UAV exploration method according to claim 6, characterized in that: The step of constructing and solving the traveling salesman problem regarding the flight order between the multiple drone exploration viewpoints based on the target exploration area corresponding to each drone, obtaining the exploration order of the drone exploration viewpoints, and obtaining the exploration order of each drone for the drone exploration viewpoints within the target exploration area includes: Select a target exploration area for the drone; Parsing the target exploration area of ​​the drone to obtain target drone exploration viewpoint information in the target exploration area of ​​the drone, wherein the drone exploration viewpoint information includes the number of target drone exploration viewpoints and position information of each target drone exploration viewpoint; Construct and solve the traveling salesman problem about the flight order between the target UAV's exploration viewpoints to obtain the exploration order of the target UAV's exploration viewpoints; Return to the process of selecting a target exploration area for a drone until the target exploration area of ​​each drone has been selected once.

8. The multi-UAV exploration method according to claim 7, characterized in that: The optimized A* algorithm is used to generate an initial flight trajectory for each drone in the corresponding target exploration area, including: Select a target exploration area for the drone; Parsing the target exploration area of ​​the target UAV to obtain the number of target UAV exploration viewpoints and the exploration order of the UAV exploration viewpoints in the target exploration area of ​​the target UAV; Based on the exploration order of the UAV exploration viewpoints, the optimized A* algorithm is used to generate trajectories for two adjacent target UAV exploration viewpoints to obtain at least one first flight trajectory; All the first flight trajectories obtained are sequentially connected based on the exploration order of the UAV's exploration viewpoints to obtain the initial flight trajectory; Return to the process of selecting a target exploration area for a drone until the target exploration area of ​​each drone has been selected once.

9. The multi-UAV exploration method according to claim 8, characterized in that: The method of generating an initial flight trajectory for each drone in a corresponding target exploration area based on the optimized A* algorithm further includes: A movement cost evaluation function of a node in a voxel map is defined; the expression of the movement cost evaluation function of the node is shown in Formula 1; f(n)=g(n)+λ dynamic h(n)+p(n); Where f(n) is the movement cost evaluation function of node n; g(n) is the movement cost from the starting point to node n when moving along the generated path; h(n) is the movement cost from node n to the end point; λ dynamic is the weight of the moving cost from node n to the end point; is; p(n) is the angle change cost term calculated by the direction vector of the current node and the direction vector of the extended neighbor node.

10. The multi-UAV exploration method according to claim 9, characterized in that: The back-end optimized trajectory algorithm is used to optimize the initial flight trajectory of each UAV to obtain an optimized initial flight trajectory, and the optimized initial flight trajectory is defined as the target flight trajectory, including: Select an initial flight trajectory; The initial flight trajectory is optimized based on a back-end optimization trajectory algorithm to obtain an optimized initial flight trajectory, and the optimized initial flight trajectory is defined as a target flight trajectory; Return to selecting an initial flight trajectory until each initial flight trajectory has been selected once.