Multi-robot target assignment and path planning method for performing multi-target type tasks
By employing a multi-UAV target allocation and path planning method, the complexity and path planning issues of multi-target type tasks are resolved, achieving efficient and flexible task allocation and path planning in complex environments, thereby improving task completion and scanning efficiency.
Patent Information
- Application Number
- CN202510144067.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-10
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2045-02-10
AI Technical Summary
Traditional drone task allocation methods struggle to effectively handle the complexity of multi-objective tasks and the impact of environmental and geographical factors in path planning. Path planning is particularly difficult in complex scenarios, making it hard to realize the advantages of multi-drone collaborative work.
A multi-UAV target allocation and path planning method is adopted. With the goal of minimizing the total path distance and total cost, it combines geographic information and avoidance zone data to perform automated task allocation and path planning. Improved RRT algorithm and particle swarm optimization algorithm are used to optimize waypoint selection and collaborative scanning path planning.
It improves task completion and execution efficiency, reduces human intervention and human error, enhances applicability and flexibility, improves the simplicity and scanning efficiency of path planning, and ensures that waypoints meet the requirements of avoidance zones and elevation.
Smart Images

Figure CN120066118B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of unmanned aerial vehicle target assignment and path planning, and particularly relates to a multi-unmanned aerial vehicle target assignment and path planning method for performing multi-target type tasks. BACKGROUND
[0002] In practical applications, multiple unmanned aerial vehicles will face the challenge of simultaneously performing multiple tasks including point, line, and area target types, which brings task diversity and complexity to traditional task assignment methods. Different target types have different requirements for unmanned aerial vehicles. Therefore, in order to improve task completion and execution efficiency, task requirements need to be considered comprehensively to achieve reasonable task assignment and adjustment, effectively solve the task assignment problem in multi-vehicle multi-target collaborative work, and fully exert the advantages of multi-vehicle collaboration.
[0003] Moreover, in the actual process of unmanned aerial vehicles performing assigned target tasks and reaching target positions according to specified paths to complete target tasks, they will be affected by environmental geographic factors. For example, in complex scenes such as mountains and jungles, path planning needs to rely on geographic elevation information and also needs to consider avoidance zones.
[0004] In addition, for area target tasks, especially complex areas that may have multiple avoidance zones, no-fly zones, or areas with heights that do not meet flight requirements, path planning becomes more difficult and challenging. SUMMARY
[0005] In view of the above analysis, the present application aims to disclose a multi-unmanned aerial vehicle target assignment and path planning method for performing multi-target type tasks, which solves the problem of target assignment and path planning.
[0006] The present application discloses a multi-unmanned aerial vehicle target assignment and path planning method for performing multi-target type tasks, comprising:
[0007] Step S1: establishing a task assignment problem according to the number of unmanned aerial vehicles, initial positions, the number of multi-target type tasks, target types, and position information; assigning a corresponding unmanned aerial vehicle to each task with the goal of minimizing total path distance and minimizing total cost; the target types include point targets, line targets, and area targets;
[0008] Step S2: performing path planning for the unmanned aerial vehicles assigned with tasks, and in a complex elevation map, combining geographic information and avoidance zone data to plan a task path for the unmanned aerial vehicles that meets the requirements of avoidance zones and elevations;
[0009] Step S3, cooperative scanning path planning is performed on the multiple unmanned aerial vehicles assigned to the regional target task; by adjusting the starting point position of the cooperative scanning of each unmanned aerial vehicle in the region, the flight path length of each unmanned aerial vehicle from the takeoff position to the scanning starting point to the completion of scanning is balanced.
[0010] The present application can achieve one of the following beneficial effects:
[0011] The multi-unmanned aerial vehicle target assignment and path planning method for performing multiple target type tasks disclosed in the present application adopts an automated task assignment process when performing target assignment, adapts to complex and variable actual environments, and processes different types of tasks (point tasks, line tasks, and regional tasks), thereby enhancing applicability and flexibility, reducing manual intervention, and reducing the possibility of human error.
[0012] When performing path planning, the unmanned aerial vehicle path planning is realized in combination with geographic information and avoidance zone data, ensuring that each path point of the planning meets the requirements of the avoidance zone and meets the elevation requirements; and by improving the RRT algorithm, the search calculation amount is reduced, the algorithm success rate is improved, the convergence efficiency and search efficiency are improved, and the backtracking method is used to filter the path points in reverse order, thereby removing unnecessary path points and improving the simplicity and planning efficiency of the path.
[0013] When performing cooperative scanning path planning for regional tasks, the trajectory assignment for multiple unmanned aerial vehicles to cooperatively scan the region is realized, which improves the coverage rate of the target region and improves the scanning efficiency of the target region. BRIEF DESCRIPTION OF DRAWINGS
[0014] The accompanying drawings are included to provide a further understanding of the application and are incorporated herein and constitute a part of the application. The same reference numbers in the drawings identify the same elements throughout the several drawings.
[0015] Figure 1 The flowchart of the multi-unmanned aerial vehicle target assignment and path planning method for performing multiple target type tasks in the embodiment of the present application is shown.
[0016] Figure 2 The flowchart of the multi-unmanned aerial vehicle target assignment process in the embodiment of the present application is shown.
[0017] Figure 3 The flowchart of the unmanned aerial vehicle path planning in a complex elevation map in the embodiment of the present application is shown.
[0018] Figure 4 The flowchart of the multiple unmanned aerial vehicle cooperative scanning path planning for regional target tasks in the embodiment of the present application is shown.
[0019] Figure 5 The typical example of a polygon with holes in the embodiment of the present application is shown.
[0020] Figure 6 Fig. 1 is a schematic diagram of a multi-path particle swarm optimization algorithm in an embodiment of the present application. DETAILED DESCRIPTION
[0021] The preferred embodiments of the present application will be described in detail with reference to the drawings, in which:
[0022] One embodiment of the present application discloses a multi-UAV target assignment and path planning method for performing multi-target type tasks, as shown in Figure 1 The method comprises the following steps:
[0023] Step S1, according to the number of UAVs, initial positions, the number of multi-target type tasks, target types and position information, a task assignment problem is established; each task is assigned to a corresponding UAV with the assignment goal of minimizing total path distance and minimizing total cost; the target types include point targets, line targets and area targets;
[0024] Step S2, path planning is performed on the UAVs assigned to the tasks; in a complex elevation map, a task path of the UAVs is planned in combination with geographic information and avoidance zone data, which meets the requirements of avoidance zones and elevations;
[0025] Step S3, cooperative scanning path planning is performed on the multiple UAVs assigned to the area target tasks; by adjusting the start point positions of the cooperative scanning of the UAVs in the area, the flight path lengths of the UAVs from the takeoff positions to the scanning start points and to the completion of scanning are balanced.
[0026] Specifically, as shown in Figure 2 Step S1 comprises the following steps:
[0027] Step S101, the number of UAVs, initial positions, the number of multi-target type tasks, target types and position information are obtained;
[0028] Step S102, according to the initial position information of the UAVs and the position information of the tasks, the distances between each UAV and each task, the distances between tasks and the equivalent distances of the tasks are calculated, and a distance matrix is established;
[0029] Step S103, a task assignment problem is established; according to the number relationship between the UAVs and the tasks and the target types of the tasks, an MVRP problem is constructed, which is matched with the target types and has the assignment goals of minimizing total path distance and minimizing total cost;
[0030] Step S104, the established MVRP problem is solved; the MVRP problem is solved by taking the distance matrix as input, and each task is assigned to a corresponding UAV.
[0031] In step S101, the obtained UAV information includes initial position data and elevation data of u UAVs; a UAV set X is established according to the UAV information, and the set includes longitude, latitude and height coordinates of the initial position of each UAV;
[0032] The obtained task information includes target types, position data and elevation data of m tasks; the target types of the tasks include point targets, line targets and area targets; a task set T is established according to the task information, and the task set T includes p point target tasks, l line target tasks and r area target tasks;
[0033] Each point target task is composed of longitude, latitude and height coordinates of a single target point.
[0034] Each line target task is composed of longitude, latitude and height coordinates of a group of target points, and the target point coordinates are arranged according to the execution order of the path.
[0035] Each area target task is composed of longitude, latitude and height coordinates of a plurality of groups of contour target points, wherein the coordinates of the first group of contour target point sequences represent the outer contour coordinates of the polygon, and the coordinates of the subsequent groups of contour target point sequences represent the inner hole contour coordinates of each polygon surrounded by the outer contour, and the outer contour coordinates of the polygon and the inner hole contour coordinates of each polygon together constitute the coordinates of the polygon with holes (PWH) of the area target task.
[0036] Specifically, in the preprocessing process in step S102, the following steps are included:
[0037] 1) Calculate the distance between each UAV in the UAV set X and each task in the task set T; a total of three distances are included:
[0038] For a point target task, the Euclidean distance between the UAV and the point target task point is calculated; for a line target task, the Euclidean distance between the UAV and the starting point of the line target task is calculated; and for an area target task, the Euclidean distance between the UAV and the nearest point of the target area is calculated.
[0039] 2) Calculate the distance between tasks in the task set T; a total of nine distances are included according to different target types:
[0040] For point-target task and point-target task, directly calculate the Euclidean distance between two points; for point-target task and line-target task, calculate the Euclidean distance between the point position of the point-target task and the starting point of the line-target task; for point-target task and area-target task, calculate the Euclidean distance between the point position of the point-target task and the nearest point of the area-target task; for line-target task and point-target task, calculate the Euclidean distance between the ending point position of the line-target task and the point position of the point-target task; for line-target task and line-target task, calculate the Euclidean distance between the ending point position of the line-target task and the starting point position of another line-target task; for line-target task and area-target task, calculate the Euclidean distance between the ending point position of the line-target task and the nearest point of the area-target task; for area-target task and point-target task, calculate the Euclidean distance between the nearest point of the area-target task and the point position of the point-target task; for area-target task and line-target task, calculate the Euclidean distance between the nearest point of the area-target task and the starting point of the line-target task; for area-target task and area-target task, calculate the Euclidean distance between the nearest points of two areas.
[0041] 3) Calculate the equivalent distance of each task in the task set T; there are 3 equivalent distances in total:
[0042] For point-target task, use a fixed value; for line-target task, use the path length; for area-target task, use the area of the region divided by the coverage width.
[0043] 4) Establish a distance matrix using the calculated distances between each UAV and each task, distances between tasks, and task equivalent distances.
[0044] Specifically, in step S103, the task allocation problem process includes:
[0045] Step S103-1, determine whether the number of UAVs u is greater than the number of task targets m; if not, go to step S103-2, and if yes, go to step S103-3;
[0046] Step S103-2, construct a first MVRP problem aimed at solving the problem of allocating tasks to all UAVs, and go to step S104 for solving; in the problem, at least one UAV performs one task;
[0047] Step S103-3, determine whether there is an area-target task in the tasks; if not, go to step S103-4, and if yes, go to step S103-5;
[0048] Step S103-4, construct a second MVRP problem aimed at solving the problem of allocating tasks to the same number of UAVs as the number of tasks, and go to step S104 for solving; in the problem, the same number of UAVs as the number of tasks is assigned;
[0049] Step S103-5, a third MVRP problem aiming to solve the problem of assigning at least one UAV to each task is constructed, and proceeds to step S104 for solving;
[0050] In the construction of the third MVRP problem, first, one UAV is assigned to each non-area target task, and the remaining UAVs are assigned to area target tasks; when multiple area target tasks are included, the remaining UAVs are assigned according to the area proportion of each area target task; the target with larger area is assigned with more UAVs to improve the completion efficiency of the overall task.
[0051] Specifically, the first, second and third MVRP problems are constructed as MVRP mathematical models with the objective function of minimizing the total path distance and minimizing the total cost, which are described as:
[0052]
[0053] The objective function (1) represents the minimization of the total travel distance and the minimization of the total cost.
[0054] Constraint (2) represents that each task must be visited and visited once.
[0055] Constraint (3) represents that the path of each UAV must start from the starting point and end at the ending point.
[0056] Wherein, T={1, 2, …, m} represents the task set, m is the number of tasks; x={1, 2, …, u} represents the UAV set, u is the number of UAVs; i, j are task numbers in the task set, i≠j; k is the total UAV number of the UAV set;
[0057] c ij is the distance from task i to task j, and the distance between tasks is obtained according to the distance calculated in the preprocessing of step S102;
[0058] γ ij is the task equivalent path length from task i to task j; the task equivalent path length is obtained according to the distance calculated in the preprocessing of step S102;
[0059] is a value representing whether the path from task i to task j is selected by k UAVs, taking values {0, 1};
[0060] f1 is the weight factor of flight distance; f2 is the weight factor of equivalent path.
[0061] r i is the number of times task i needs to be visited; wherein,
[0062] In the first MVRP problem, ri is set to 1, and the number of dispatched UAVs is u; that is, each task needs to be visited once;
[0063] In the second MVRP problem, r i is set to 1, and the number of dispatched UAVs is m; that is, each task needs to be visited once, and only UAVs with the same number of tasks are dispatched;
[0064] In the third MVRP problem, the number of times r i is set to 1, and the number of dispatched UAVs is m; that is, each task needs to be visited once, and only UAVs with the same number of tasks are dispatched; i is determined according to the area proportion of each regional target task, and the total number of visits is u.
[0065] Specifically, in the third MVRP problem, the determination process of the number of times task i needs to be visited includes:
[0066] 1) The fixed number of times r i is set to 1, that is, each point and line target task needs to be visited once, and each is allocated one UAV;
[0067] 2) The remaining UAVs after the point and line target allocation are allocated to the regional target tasks; when there are multiple regional target tasks, the next step is entered;
[0068] 3) According to the number of remaining UAVs U and the area A i of the regional target, an integer programming problem is constructed, and the number of UAVs required by each regional target task is obtained by initial solving;
[0069] The number of times r i of the regional target i obtained by initial solving needs to be visited is:
[0070]
[0071] A total is the sum of the areas of all regional target tasks;
[0072] 4) According to the sum of the number of times each regional target task is visited obtained by initial solving, whether to adjust the number of times is judged; if it is U, the number of times of the planned regional target task is not adjusted; if it is U-1, the number of times of the planned area maximum regional target is increased by 1, and it is ensured that all UAVs participate in target allocation.
[0073] Specifically, the solving process in step S104 includes:
[0074] 1) According to the established distance matrix, the objective function and constraint conditions in the established MVRP problem, and related parameters including the number of times the task is visited, the time window are converted into problem parameters required by the data structure of the planning solver;
[0075] 2) Select an optimization algorithm in the planning solver to process the MVRP problem;
[0076] According to the actual situation, select a suitable optimization algorithm, for example, use an integer programming algorithm to process the MVRP problem;
[0077] 3) Use the API interface to pass the problem parameters into the solving function in the planning solver to obtain the optimal planning result for task allocation of unmanned aerial vehicles, and obtain the optimal task allocation scheme with the allocation objectives of minimizing the total path distance and minimizing the total cost.
[0078] Specifically, as shown in Figure 3 step S2, in the complex elevation map, a task path that meets the requirements of the avoidance area and the elevation is planned for the unmanned aerial vehicle in combination with the geographic information and the avoidance area data, and the process includes:
[0079] Step S201, establish a gray-scale map corresponding to the gray-scale value and the elevation data according to the extended planning range, and an avoidance area envelope set intersecting with the extended planning range;
[0080] The extended planning range includes the planning range and the range of the avoidance area envelope set intersecting with the planning range; the planning range is a region determined by the starting point and the ending point of the unmanned aerial vehicle path planning;
[0081] Step S202, use the improved fast exploration random tree to perform path planning in the extended planning range;
[0082] In the heuristic path point inspection process of path planning, the generated path points are subjected to avoidance area envelope inspection and gray-scale map elevation inspection, and the path points that fail to pass the inspection are removed; in the path convergence process of path planning, the adaptive step length is used to extend the sampling points in the ellipse with the path initial point and the target point as the foci, and the planned path is converged;
[0083] Step S203, backtrack the planned path output by step S202; perform collision detection on the generated path points in reverse order, remove unnecessary path points, and select necessary path points to constitute the planned path.
[0084] Specifically, the step S201 includes:
[0085] Step S201-1, pre-process the task area geographic data and the avoidance area data;
[0086] During each route planning process, the required geographic elevation data and avoidance zone data are delineated based on the starting and ending points to reduce the computational load and increase the planning speed. Before route planning, the geographic elevation data and avoidance zone data need to be preprocessed to meet the information input requirements of the planning process.
[0087] Preprocessing of the task area geographic data, which includes arrays of longitude (Lon), latitude (Lat), and height (H), includes:
[0088] 1) Unified density interpolation processing: Regardless of the density of the original geographic information data, interpolation sampling is performed according to a uniformly defined density to ensure data consistency and accuracy;
[0089] 2) Generate grayscale image: Convert the sampled elevation data into a grayscale image F. Each pixel in the grayscale image F corresponds to a latitude and longitude point of the elevation data (lon). i ,lat j The variation of each pixel in the longitude and latitude directions is (δ, h), respectively. lon ,δ lat ).
[0090] Preprocess all avoidance zones within the mission area, as follows:
[0091] 1) Determine the avoidance envelope rectangle: For each avoidance envelope (AE), calculate its avoidance envelope bounding rectangle (AEBR);
[0092] 2) Construct the envelope set: Construct a set of envelope rectangles for all avoidance zones, with each envelope rectangle (AEBR) corresponding to an avoidance zone (AE).
[0093] Step S201-2: Select a rectangle that includes the planning start point and end point, and expand it to obtain the planning area;
[0094] Specifically, the expansion process of the planned area includes:
[0095] 1) Generate a rectangle based on the planned start and end points; the minimum value of the rectangle's range is X. min and Y min Take the minimum value between the starting point and the ending point, and the maximum value X. max and Y max Take the maximum value between the start and end points;
[0096] 2) According to the proportion λ, from the center of the rectangle to X min Y mindirection and X max , Y max The diagonal distance is expanded to λ times of the original, and the planning scope PS (Planning Scope) is expanded.
[0097] Step S201-3, the extended planning scope and the avoidance zone envelope set intersecting with the extended planning scope are determined through the avoidance zone envelope set retrieval; the extended planning scope includes the planning scope and the range of the avoidance zone envelope set intersecting with the planning scope;
[0098] Specifically, it includes two avoidance zone envelope set retrievals; wherein,
[0099] The first retrieval; the avoidance zone envelope rectangle AEBR (Avoidance Envelope Bounding Rectangle) set is retrieved in the planning scope PS, and the avoidance zone envelope set AEBR (PS) intersecting with the planning scope PS is found; the envelope rectangle of the planning scope PS and the avoidance zone envelope set AEBR (PS) is taken as the extended planning scope PSE;
[0100] The second retrieval; the avoidance zone envelope rectangle AEBR set is retrieved again in the extended planning scope PSE, and the avoidance zone envelope set AEBR (PSE) intersecting with the extended planning scope PSE is found;
[0101] The subsequent planning will adopt the extended planning scope PSE and the avoidance zone envelope set AEBR (PSE) for path planning.
[0102] Step S201-4, according to the extended planning scope PSE, the gray scale graph corresponding to the gray scale value and the elevation data is cropped to obtain the gray scale graph F (PSE) used for planning;
[0103] Specifically, the gray scale graph can be generated in the manner of step S201-1.
[0104] Specifically, the step S202 includes:
[0105] Step S202-1, initializing the target point, the task point and the search tree:
[0106] Setting the initial point longitude and latitude x init =(x init,lon , x init,lat ) and the target point longitude and latitude (x goal =(x goal,lon , x goal,lat ), and selecting the longitude and latitude space as the state sampling space X;
[0107] Initializing the search tree T=(V, E), wherein V={x init} is a set of nodes in the search tree, only containing the initial point; is a set of edges of the search tree, which is an empty set.
[0108] Step S202-2, state sampling space sampling; for the generated sampling point x rand Perform evasion zone envelope test and gray image elevation test, and resample the sampling points that do not pass the test;
[0109] Convert the sampling point into the gray image F and the evasion zone set AEBR(PSE) at the same time, and reselect the sampling points that fall into the evasion zone set AEBR(PSE) and do not pass the gray image elevation test;
[0110] Randomly sample in the state sampling space to obtain a sampling point x rand =(x rand,lon , x rand,lat ), convert the sampling point x rand into the pixel point of the gray image F, and convert it into the evasion zone set AEBR(PSE) at the same time, and determine whether the point is in the obstacle or evasion zone set AEBR(PSE) determined by the obstacle or evasion zone; if the sampling point x rand is in the obstacle or evasion zone, repeat the step.
[0111] Step S202-3, sampling point extension; for the sampling point x rand Find the nearest node x near in the search tree from the search nearest node x near , and extend to obtain a new node x new ;
[0112] If x rand is not in the obstacle or evasion zone, calculate the latitude and longitude distance D between the sampling point x rand and all nodes in the set V in the search tree D=x rand , x i , wherein x i ∈V, to obtain the nearest node x rand from the sampling point x near . From the node x near , extend to the node x rand with a step length L to generate a new node x new ;
[0113] Extension step length L: the extension step length is the step length in the latitude and longitude coordinate system, which mainly affects the maximum length of the edge in the search tree, that is, the step length in the unmanned aerial vehicle path. The specific value needs to be selected according to the size of the map and the demand.
[0114] Step S202-4, collision detection: judge whether the node xnear a new node x new and a link E i between the new node x new and the node x i ;
[0115] Specifically, the step S202-4 includes:
[0116] 1) discretize the link E near between the new node x new and the node x i into a series of latitude and longitude points e i ={e i,1 , e i,2 , …, e i,j , …, e i,N}, j = 1, …, N, N being the number of discrete points; e i,j being the jthdiscrete latitude and longitude point on the link E i ;
[0117] 2) perform collision detection;
[0118] convert each latitude and longitude point e i,j ∈e i into a pixel point in a grayscale image, and determine whether the pixel point has an obstacle; when all points in e i have no obstacle, it is determined that the link E i does not collide with the obstacle; otherwise, a collision occurs;
[0119] determine whether the link E i passes through an avoidance zone, the avoidance zone being an avoidance zone envelope set found in the second search that intersects with the expanded planning range PSE; if E i does not pass through any avoidance zone, it is determined that the link E i does not collide with the avoidance zone; otherwise, a collision occurs;
[0120] 3) if the link E near between the node x new detected in the collision and the new node x i collides with the obstacle or the avoidance zone, discard the new node x new , and return to step S202 to resample; if the link E i does not collide with the obstacle or the avoidance zone, add the new node x new to the node set V, and add the link E i to the edge set E.
[0121] Step S202-5: Add a new node x to the node set V. new Reselect parent nodes in the search tree: and use the reselected parent nodes to rewire the random tree;
[0122] At the new node x new Near the set radius R within r near Find all neighboring nodes X in the tree near ={x near,1 x near,2 , ..., x near,M}, as a replacement for x new The candidate parent node is M, which represents the number of neighboring nodes found in the tree; the new node x is selected. new and neighboring node X near The connection between them has the minimum cost and no collision, thus optimizing the cost of generating the path;
[0123] The radius range R is set to twice the extension step size, i.e., R = 2L.
[0124] For the new node x new After reselecting the parent node, to further reduce the connection cost between nodes in the random tree, the random tree needs to be rewired: if the neighboring node X near Change the parent node to x new If the path cost can be reduced, then make the change; otherwise, do not make the change.
[0125] Step S202-6: Determine the new node x to be added to the node set V. near With target point x goal If the distance is greater than the set distance threshold, return to step S202 and repeat sampling, extension, and collision detection; otherwise, terminate sampling and set the target point x. goal Add the node to the node set V and search for the shortest path;
[0126] If a new node x is added to the node set near With target point x goal If the distance to node x is greater than the set latitude and longitude distance threshold δ, then repeat the above sampling, extension, and collision detection steps; if node x near With target point x near If the distance is less than the threshold δ, then the sampling is terminated, the target point is added to the node set V, and then a shortest path P0 is searched from the tree T.
[0127] Latitude and longitude distance threshold δ: This distance is in the latitude and longitude coordinate system and is used to determine whether the current node is near the target point. When it is less than this threshold, it means that the target point has been found; otherwise, it has not been found.
[0128] Step S202-7, adaptive path convergence; using adaptive step length to extend sampling points in the ellipse with the initial point x init and the target point x goal as the foci, converging the planned path, and obtaining the planning result.
[0129] Specifically, the step S202-7 includes:
[0130] 1) taking the initial point x init and the target point x goal as the foci of the ellipse, and using the half of the shortest path P0 searched from the tree T as the sum of the distances from the points on the ellipse to the foci;
[0131] 2) sampling in the ellipse, randomly sampling in the ellipse to obtain a sampling point x rand = (x rand,lon , x rand,lat ), calculating the nearest distance γ = min{D(x rand , X obs )} of the sampling point to the obstacles, where X obs is the set of all obstacle points in the sampling range of the ellipse, and the min() function is used to calculate the minimum distance of the sampling point to the set of obstacle points;
[0132] 3) calculating the node x rand nearest to x near on the path P0; then uniformly selecting K points on the circle with x rand as the center and the set length γ as the radius, and recording the points as a point set
[0133] 4) selecting a point from the K points to replace x near , which can maximize the reduction of the path cost, and recording the point as
[0134] 5) replacing the node x near on the path P0 with repeating steps 2)-3) to obtain path lengths P1, P2, P3, …, Pn; n is the number of iterations;
[0135] 6) when the path length change value Pn-Pn-1 is less than a set threshold ΔP or the number of iterations reaches a set iteration threshold, determining convergence, and obtaining the planning result.
[0136] As Pn becomes shorter and shorter, the ellipse becomes flatter and flatter, thereby concentrating the sampling points around the current path, and obtaining the convergent path planning result.
[0137] A threshold ΔP is set as the path convergence improvement amount, which is the distance in the latitude and longitude coordinate system. It is used as a condition to judge path convergence. When the length change value Pn-Pn-1 is less than the set threshold ΔP, it means that the path is close to the optimal; otherwise, it has not reached the optimal.
[0138] The iteration threshold is set to a large positive integer. The program will stop immediately when the number of samples exceeds this value. At this point, if a path is found, the path node is returned; otherwise, no value is returned.
[0139] Specifically, step S203 includes:
[0140] Step S203-1: Input the path C = {x1x2…x} obtained in step S202. n};
[0141] Step S203-2: Traverse all path points x i ∈C, for each path point x i traverse all subsequent path points x j ∈{x i+1 x i+2 …x n}, determine x i With x j The connection e ij Whether it collided with an obstacle;
[0142] Step S203-3, if x i With a certain x j If there is a collision, then x will be... i With x j Remove all intermediate path points and execute i=j, repeating step S302; if x i With all x j If there is no collision, then x i With x n Remove all intermediate path points and terminate the process, outputting the optimized path C. * .
[0143] In this step, a UAV path planning method based on an improved RRT (Real-Time Tracking) for complex elevation maps is implemented, combining geographic information and avoidance zone data to ensure that each planned path point meets both avoidance zone requirements and elevation requirements. Furthermore, by improving the RRT algorithm, the search computation is reduced, increasing the success rate, convergence efficiency, and search efficiency. The backtracking method filters the planned path points in reverse order, removing unnecessary path points, thereby improving the simplicity and planning efficiency of the path.
[0144] Specifically, such as Figure 4 As shown. The cooperative scan path planning in step S3 includes:
[0145] Step S301, convert the task area into a polygon with holes;
[0146] Step S302, decompose the polygon with holes by Boustrophedon Cellular Decomposition (BCD) to generate a plurality of block units;
[0147] Step S303, determine the routing order of the block units and generate a single slope scan line coverage sweep path in each block unit, and concatenate the sweep paths of each block unit to form a complete coverage scan path;
[0148] Step S304, segment the coverage scan path and assign it to each UAV that performs the task in the area, and use the particle swarm optimization algorithm to make the total path length shortest and the path length difference of each UAV as balanced as possible, and finally form the coverage scan path planning result of multiple UAVs.
[0149] Specifically, in step S301, the complex task area is converted into a polygon with holes (Polygon with Holes, PWH), which can be formed by Boolean operation. This geometric shape is composed of an outer polygon contour and one or more inner hole contours. The outer polygon defines the overall boundary, while the inner hole is a region completely contained within the outer polygon, which is not part of the polygon. The outer contour of PWH is a simple polygon, but both the inner and outer contours can be concave polygons. This feature makes PWH more accurate in representing complex shapes and areas in the real world, especially in computer graphics and geographic information systems (GIS).
[0150] As shown in the figure, it is a typical polygon with hole example diagram. Figure 5
[0151] Specifically, in step S302, the Boustrophedon Cellular Decomposition (BCD) is improved.
[0152] The conventional optimal bidirectional coverage decomposition BCD algorithm will form unit decomposition or merging when encountering IN events or OUT events. However, in areas with dense distribution of PWH holes, these decompositions or mergers will cause dense division of the graph, which is not conducive to subsequent sweep path planning. Therefore, in this embodiment, the Boustrophedon Cellular Decomposition is improved; specifically including:
[0153] Step S302-1, according to the vertices of the polygon with holes, determine the edges of the polygon with holes;
[0154] Step S302-2, select the vertical direction of each edge of the polygon as all possible decomposition directions;
[0155] Step S302-3, for each possible decomposition direction, the best bidirectional covering decomposition (BCD) algorithm is used to calculate the multiple polygonal cells formed by decomposition in this direction;
[0156] Step S302-4, the optimal sweeping direction of each polygonal cell is calculated respectively, and the vertical direction of the sweeping direction is taken as the height of the decomposition cell, and the minimum height sum of the decomposition cells is calculated;
[0157] Step S302-5, the best decomposition result is finally determined by comparing the minimum height sums obtained in different decomposition directions;
[0158] Step S302-6, the multiple cells obtained by the best decomposition are further processed by merging to form the final block cells.
[0159] The merging process starts from the cell with smaller area, finds another cell with the longest intersection line, and performs merging attempt; the merging is successful if the following two conditions are met: first, the newly formed cell can find a sweeping direction such that any sweeping line passing through the cell in the sweeping direction has no more than two intersection points with the cell, i.e., the newly formed merged cell can be effectively swept; second, the height of the merged cell is less than or equal to the height of the unmerged cell, i.e., the newly formed merged cell has a more reasonable sweeping plan. The merged cell that meets the above two conditions reduces the number of block cells and can avoid increasing more sweeping bend points, thereby improving the sweeping efficiency.
[0160] Specifically, step S303 determines the routing order of the block cells and generates a single-slope scanning line covering sweeping path in each block cell, and concatenates the sweeping paths of each block cell to form a complete coverage scanning path; including:
[0161] Step S303-1, block access order planning: the shortest path between each block cell is calculated, a TSP problem is established, and the Hungarian algorithm is used to solve it to generate a path planning between each block;
[0162] Before planning the coverage scanning path, the access order of each block cell needs to be determined, and the global sweeping planning problem is converted into a sweeping planning problem of each block. Therefore, in this embodiment, the shortest path between each block is calculated, a TSP problem is established, and the Hungarian algorithm is used to solve it to generate a path planning between each block.
[0163] Since the complexity of sweeping path planning in PWH is relatively low, Dijkstra algorithm or A* algorithm can be used to obtain the path between any two points in PWH and calculate the path length. The "shortest distance matrix" is calculated and filled to obtain the shortest path between each cell.
[0164] The calculation process of the path planning specifically includes:
[0165] 1) judging the distance between two block units;
[0166] whether the two block units are adjacent, if adjacent, the distance is 0, if not adjacent, each vertex is traversed, the shortest path combination is calculated and the path length is calculated as a matrix element in the shortest path matrix. According to different situations of single machine or multiple machines and whether there is a fixed terminal, it is necessary to determine whether to put the starting point and the terminal into the shortest path matrix;
[0167] 2) initializing two matrices for dynamic programming; one is used to store the cost of the shortest path, and the other is used to store the current path;
[0168] 3) solving the traveling salesman problem (TSP) by dynamic programming to get the shortest path block access sequence;
[0169] Since the size of the current merged block unit is limited, the traveling salesman problem can be solved by a dynamic programming function. The function recursively calculates the shortest path to visit all block units and updates the paths and costs in the two matrices; if all nodes have been visited, return the distance to the terminal. The function traverses each unvisited unit, updates the shortest path and records the path. The function reconstructs the path from the path matrix by backtracking from the terminal to the starting point.
[0170] Step S303-2, block path planning: establish a path loss criterion, access each block in order, and use a greedy algorithm to process the path planning problem from the starting point to the end of the entire block, so that the loss of the entire path is the lowest.
[0171] Use a greedy algorithm to process the coverage scanning path planning problem of each block to make the path loss in each block the lowest, the formula is as follows:
[0172] Cost k = L path / V l + n path × 90 / V a
[0173] In the formula, Cost k represents the path loss of the kth block;
[0174] L path represents the total path length after completing the kth block scanning from the current point;
[0175] n path represents the number of path points after completing the kth block scanning from the current point;
[0176] V l Weight coefficient of length, in this scheme, approximate estimate is made according to 10 m / s;
[0177] V a Weight coefficient of turning, in this scheme, approximate estimate is made according to 60° / s.
[0178] In the calculation of the coverage scanning path of the block unit, first, the starting point of an arbitrary UAV is selected as the "current point" (as there is a subsequent path assignment link, the selection here does not represent the final assignment), and the scanning planning of each block unit is sequentially carried out in the order of routing from the "current point"; for each block unit, all feasible scanning directions are analyzed, and all possible unit scanning paths are calculated, and the starting point of each unit scanning scheme is recorded as the "unit starting point".
[0179] The path planning from the "current point" to each "unit starting point" and the scanning path planning inside the block unit are calculated respectively. Next, starting from the "current point", all calculated scanning path schemes are traversed, the total length and the number of turns (i.e. the number of path points) of each path are calculated, and the path loss of different planning schemes is calculated according to the given length weight and turning weight. The path with the lowest loss is selected as the optimal path, and is recorded as the scanning path of the current block unit, and the endpoint of the current block unit scanning path is recorded as the starting point of the next path (i.e. the "current point"), and the scanning planning of the next block unit is started.
[0180] The scanning lines of the area coverage scanning path planning are generated at equal intervals from the scanning starting point, but there may be a situation that the end of the generation position is not enough to place a scanning line, and this situation may lead to insufficient coverage. Therefore, to avoid insufficient coverage, the distance of each vertex of the block unit from the coverage scanning line should be checked. Since the vertices of the block unit are the protruding positions of the convex polygon, if these vertices are all covered, it means that the scanning line also covers the entire block; if the distance of the vertex from the coverage line is less than half of the scanning width, a scanning line passing through the vertex needs to be added.
[0181] After completing the scanning planning of all units, it is checked whether the scanning task needs to be completed at the specified endpoint (only in the case of a single machine and with an endpoint). If so, a path planning from the "current point" to the specified endpoint is added.
[0182] After completing the scanning planning of all units, the path point sequence for covering and scanning the PWH is generated;
[0183] The path point sequence includes line segment point sequences of two path attributes of scanning lines and connecting lines: the scanning lines and the connecting lines alternately constitute the coverage scanning path;
[0184] Sweep Line (SL): the path line that plays the role of actual sweeping in the coverage sweep;
[0185] Connection Line (CL): the path line that connects two Sweep Lines, used to connect each Sweep Line in series to achieve the path planning effect.
[0186] In the coverage sweep, the Sweep Line is the one that actually plays the role of coverage, while the Connection Line is an auxiliary path line, used to connect each Sweep Line in series to achieve the path planning effect.
[0187] In the coverage sweep, the PWH is divided into different internal blocks, and the Sweep Line is planned in each block to sweep the internal block. The internal block can include multiple Sweep Lines with different sweep directions to achieve more comprehensive coverage sweep. The Sweep Lines in the internal block, the Sweep Lines between blocks, and the starting point and ending point of the UAV are connected by Connection Lines.
[0188] Based on this, the Connection Line (CL) further includes the following types:
[0189] Sweep Connection Line (SCL): represents the Connection Line within the block.
[0190] Block Connection Line (BCL): represents the Connection Line between blocks.
[0191] Robot Connection Line (RCL): represents the Connection Line from the starting point of the UAV to the Sweep Line, and the Connection Line from the Sweep Line to the ending point of the UAV.
[0192] The path in the coverage sweep is composed of Sweep Lines (SL) and Connection Lines (CL) alternately; there is at least one Connection Line between two Sweep Lines. It is worth noting that the Connection Line can contain multiple parts, for example, the path can be Sweep Line, Connection Line, Connection Line, Sweep Line. Each Connection Line (CL) can be a Sweep Connection Line (SCL), a Block Connection Line (BCL), or a Robot Connection Line (RCL).
[0193] • The path starts from the starting point and reaches the first Sweep Line (SL) through one or more Robot Connection Lines (RCL);
[0194] • Then, the scanning of a certain area is completed through the combination of Sweep Connection Lines (SCL) and Sweep Lines (SL);
[0195] ● Next, connect to the next region's sweep line (SL) through a block connection line (BCL) between one or more blocks, and complete the scan of the region through the combination of block internal connection lines (SCL) and sweep lines (SL);
[0196] ● When the scan of all regions is completed, navigate to the end point through the drone connection line (RCL) to complete the entire path.
[0197] Accordingly, the information contained in each path point in the path point sequence is: path point number, path point coordinates, line segment attribute pointing to the previous path point, line segment attribute pointing to the next path point; the path point sequence contains each path point generated by the coverage scan path planning and is arranged in order.
[0198] Specifically, the step S304 comprises:
[0199] Step S304-1, segment the coverage scan path according to the number of drones, determine the start point and end point of each path segment according to the segmentation points, and calculate the distance information including the distance from each drone to the start point or end point of each path segment;
[0200] Step S304-2, traverse the calculated distance information to find the drone coverage scan path distribution scheme that minimizes the total path length, as the optimized segmentation index, and output the path and path length of each drone;
[0201] Step S304-3, perform local optimization of the segmented path based on the particle swarm optimization method; in the particle swarm optimization process, add perturbation at the segmentation points of the path point sequence, iterate with the optimized segmentation index as the objective function, and finally find the optimized segmentation index that minimizes the total path length to perform coverage scan path segmentation of the drones.
[0202] Specifically, step S304-1 comprises:
[0203] 1) Path segmentation; divide the total coverage sweep path into the same number of path segments according to the number of drones; select the segmentation points of path segmentation from the path point sequence of the coverage scan path planning as the separation index;
[0204] Reasonable separation index can ensure that the path length of each drone performing the task is balanced.
[0205] 2) Determine the start point and end point of each path segment according to the separation index; the start point and end point of each path segment are points with sweep line attributes;
[0206] Path segment start point: if the post-segment path of the split point is a sweep line (SL), the split point is selected as the path segment start point; if the post-segment path of the split point is a connection line (CL), the post-segment path is searched backward from the split point until the first path point with a post-segment path being a sweep line SL is found as the path segment start point.
[0207] Path segment end point selection: if the pre-segment path of the split point is a sweep line SL, the split point is selected as the path segment end point; if the pre-segment path of the split point is not a sweep line SL, the pre-segment path is searched forward until the first path point with a pre-segment path being a sweep line SL is found as the path segment end point.
[0208] 3) Calculate the distance information including the distance from each UAV to the start point of the task to the start point or the end point of each path segment by using the distance calculation mode in the forward order or the reverse order;
[0209] After the start point and the end point of each path segment are determined, the distance from each UAV to the start point of the task to the start point or the end point of each path segment needs to be calculated; when the UAV has a fixed end point of the task, the distance from the other end of the path segment to the end point also needs to be calculated. Because the path can be in the forward order or the reverse order, the distance in the two cases needs to be calculated respectively.
[0210] Forward distance calculation:
[0211] Calculate the distance from each UAV to the start point of the task to the start point of the path segment;
[0212] Calculate the distance from each UAV to the end point of the task from the end point of the path segment (if there is a fixed end point);
[0213] Reverse distance calculation:
[0214] Calculate the distance from each UAV to the start point of the task to the end point of the path segment;
[0215] Calculate the distance from each UAV to the end point of the task from the start point of the path segment (if there is a fixed end point).
[0216] Specifically, in step S304-2, the distance information calculated is traversed, and the Hungarian algorithm is used to find the UAV coverage scanning path distribution scheme with the minimum total path length of all UAVs, as the optimized split index; the specific steps are as follows:
[0217] 1) Construct a cost matrix; each element of the cost matrix is the distance from the start point to the start or end point of the path segment calculated by using the distance calculation mode in the forward order or the reverse order;
[0218] 2) Optimization algorithm solution; the Hungarian algorithm is used to solve the cost matrix to find the distribution scheme with the minimum total path length;
[0219] 3) Determine Optimal Path Assignment: Based on the output of the Hungarian Algorithm, determine the path and path length for each drone.
[0220] For the Optimize Division Indices (ODI) of this embodiment, the path and path length for each drone are obtained from the divided path segments. And for any kind of path segment division method, the ODI process can find an optimal total path length.
[0221] Specifically, in step S304-3, local optimization is performed by using the particle swarm algorithm, so that the planned trajectory of the drone is more optimal. In the particle swarm algorithm, a set of particles is initialized, each particle representing a possible path assignment scheme; each particle is updated according to its speed and position, and its quality is evaluated according to the fitness function; the algorithm updates the particles by iteration, and gradually finds the global optimal solution. In each iteration, the position and speed of the particle are adjusted according to the inertia, cognition and social components, and finally the division index that minimizes the total path length is found.
[0222] The multi-machine path particle swarm optimization used in this embodiment, as shown in Figure 6 , includes:
[0223] 1) Initialize random number generator and particle swarm;
[0224] 2) Perform the main loop of iteration; in the main loop, each particle is updated, and its quality is evaluated according to the fitness function; by iteratively updating the particles, the global optimal solution is gradually found;
[0225] In each iteration, the position and speed of the particle are adjusted according to the inertia, cognition and social components, and finally the division index that minimizes the total path length is found.
[0226] The fitness function is determined by the Optimize Division Indices (ODI) process determined in step S402; the path length value output by the Optimize Division Indices (ODI) is used to evaluate the pros and cons of the current position of the particle;
[0227] 3) After the main loop ends, return the global optimal position; the path and path length of each drone of the final iteration of the Optimize Division Indices (ODI) are output as the final division result.
[0228] Particle Swarm Optimization (PSO) finds the optimal solution by simulating the behavior of a swarm of particles. Each particle moves in the search space and adjusts its movement direction and speed based on its own experience and the experience of other particles. The following are the key formulas of PSO:
[0229] Velocity update formula:
[0230]
[0231] where v i (t) is the velocity of particle i at time t;
[0232] ω is the inertia weight, controlling the influence of the previous velocity of the particle;
[0233] c1 and c2 are acceleration constants, representing the degree of following the individual best position and global best position, respectively;
[0234] r1 and r2 are random numbers between [0, 1], adding randomness and diversity;
[0235] is the historical best position of particle i;
[0236] is the global best position;
[0237] x i (t) is the current position of particle i at time t.
[0238] Position update formula:
[0239] x i (t+1) = x i (t) + v i (t+1)
[0240] x i (t+1) is the new position of particle i at time t+1;
[0241] x i (t) is the current position of particle i at time t;
[0242] v i (t+1) is the new velocity of particle i at time t+1.
[0243] Fitness evaluation:
[0244] The fitness of each particle is determined by the ODI process in step S3. The value of the objective function ODI process is used to evaluate the goodness of the current position of the particle. The optimization goal is to find the particle position that minimizes the total path length of the ODI process.
[0245] The segmentation index process is optimized in the particle swarm algorithm as a black box; the input of the black box is the segmentation point of the path segment, and the output is the path and path length of each UAV; the function of the black box is: to obtain the path and path length of each UAV from the divided path segment. Therefore, any kind of path segment division method that adds perturbation at the segmentation point in the particle swarm algorithm, the ODI process can find an optimal total path length.
[0246] The above description is only the preferred embodiment of the present application, but the protection scope of the present application is not limited to this. Any person skilled in the art can easily think of changes or replacements within the technical range disclosed by the present application, which should be covered in the protection scope of the present application.
Claims
1. A method for multi-UAV target assignment and path planning for performing a multi-target type task, characterized in that, Comprise: Step S1, according to the number of unmanned aerial vehicles, initial position, the number of multi-target type task, target type, location information, establish task allocation problem; With the minimum total path distance and the minimum total cost as the allocation target, assign a corresponding unmanned aerial vehicle to each task; the target type includes point target, line target and area target; Step S2, path planning for the unmanned aerial vehicles assigned to the tasks; in a complex elevation map, combine geographic information and avoidance zone data to plan a task path for the unmanned aerial vehicles that meets the avoidance zone and elevation requirements; Step S3, cooperative scanning path planning for multiple unmanned aerial vehicles assigned to area target tasks; by adjusting the starting point positions of the cooperative scanning of the unmanned aerial vehicles in the area, the flight path lengths of the unmanned aerial vehicles from the takeoff position to the scanning starting point to the completion of scanning are balanced Step S1, comprising: Step S101, obtaining the number of unmanned aerial vehicles, initial position, the number of multi-target type task, target type, location information; Step S102, according to the initial position information of the unmanned aerial vehicles and the location information of the tasks, calculating the distances between each unmanned aerial vehicle and each task, the distances between tasks and the equivalent distances of tasks, and establishing a distance matrix; Step S103, establishing a task allocation problem; according to the number relationship between the unmanned aerial vehicles and the tasks, and the target type of the tasks, a MVRP problem is constructed which matches the target type and takes the minimum total path distance and the minimum total cost as the allocation target; Step S104, solving the established MVRP problem; taking the distance matrix as the input, solving the MVRP problem and assigning a corresponding unmanned aerial vehicle to each task; In step S103, the process of establishing the task allocation problem comprises: Step S103-1, determining whether the number of unmanned aerial vehicles u is greater than the number of task targets m; no, then go to step S103-2, yes, then go to step S103-3; Step S103-2, constructing a first MVRP problem aimed at solving the problem of assigning tasks to all unmanned aerial vehicles; in the problem, one unmanned aerial vehicle performs at least one task; Step S103-3, determining whether there is an area target task in the task; no, then go to step S103-4, yes, then go to step S103-5; Step S103-4, constructing a second MVRP problem aimed at solving the problem of assigning tasks to the same number of unmanned aerial vehicles as the number of tasks; in the problem, the same number of unmanned aerial vehicles as the number of tasks are assigned; Step S103-5, constructing a third MVRP problem aimed at solving the problem of assigning at least one unmanned aerial vehicle to each task; In the construction of the third MVRP problem, first, assign one unmanned aerial vehicle to each non-area target task, and then assign the remaining unmanned aerial vehicles to area target tasks; when there are multiple area target tasks, then assign the remaining unmanned aerial vehicles according to the area proportion of each area target task; the target with larger area is assigned more unmanned aerial vehicles to improve the overall task completion efficiency.
2. The multi-unmanned aerial vehicle target allocation and path planning method for performing multi-target type tasks according to claim 1, characterized in that, The first, second and third MVRP problems are constructed, and the MVRP mathematical model is constructed with the objective function of minimizing the total path distance and minimizing the total cost, and is described as: Wherein, T={1, 2…, m} represents a task set, m is the number of tasks; X={1, 2…, u} represents a UAV set, u is the number of UAVs; i, j are task numbers in the task set, i≠j; k is the total UAV number of the UAV set; c ij is the distance from task i to task j; gamma ij is the task equivalent path length for tasks i to j; to represent whether the path from task i to task j is selected by k drones, taking values in {0, 1}; f1 is the weight factor of flight distance; f2 is the weight factor of equivalent path; r i r is the number of times task i needs to be accessed; wherein, In the first MVRP problem, r i is set to 1, and the number of dispatched drones is u; In the second MVRP problem, r i is set to 1, and the number of dispatched drones is m; In the third MVRP problem, the number of times r that the included point, line target tasks need to be visited i Set to 1, r of each area target task i According to the area proportion of each area target task, and make the total number of times u that the task needs to be visited.
3. The multi-UAV target allocation and path planning method for performing multi-target type tasks according to claim 1, characterized in that, In step S2, a task path meeting the requirements of the avoidance zone and the elevation is planned for the UAV in the complex elevation map in combination with geographic information and avoidance zone data, and the process includes: Step S201, establishing a gray scale map corresponding to the gray scale value and the elevation data according to the extended planning range, and an avoidance zone envelope set intersecting the extended planning range; The extended planning range includes the planning range and the range of the avoidance zone envelope set intersecting the planning range; the planning range is a region determined by the starting point and the ending point of the UAV path planning; Step S202, performing path planning in the extended planning range by using the improved rapid exploration random tree; In the heuristic path point inspection process of path planning, the generated path points are subjected to avoidance zone envelope inspection and gray scale map elevation inspection, and the path points that do not pass the inspection are removed; in the path convergence process of path planning, the adaptive step length is used to extend the sampling points in the ellipse with the path initial point and the target point as the foci, and the planned path is converged; Step S203, backtracking the planned path output by step S202; performing collision detection on the generated path points in reverse order, removing unnecessary path points, and screening out necessary path points to form the planned path.
4. The multi-UAV target allocation and path planning method for performing multi-target type tasks according to claim 3, characterized in that, Step S202 includes: Step S202-1, initializing the target point, the task point and the search tree: Step S202-2, state sampling space sampling; sampling points x rand The avoidance zone envelope test and the gray image elevation test are performed, and the sampling points that fail the test are resampled. Step S202-3, sample point extension; extending the sample point x rand Finding the nearest node x in the search tree near , starting from the nearest node x near to extend to the sample point to obtain a new node x new ; Step S202-4, collision detection: judge whether the new node x near and the connection line E new with the new node x i collide with the obstacle or the avoidance area; if yes, discard the colliding node and return to step S202; if not, add the new node x new that will not collide to the node set V and add the connection line E i to the edge set E; Step S202-5, for the new node x added to the node set V new reselecting the parent node in the search tree; and using the reselected parent node to rewire the random tree; Step S202-6, judging whether the distance between the new node x added into the node set V and the target point x near is greater than the set distance threshold value, yes, returning to step S202-2 to repeat the sampling, extension and collision detection; no, terminating the sampling and adding the target point x goal into the node set V to search for a shortest path; goal Step S202-7, adaptive path convergence; using adaptive step length to extend the sampling points in the ellipse with the path initial point x init and the target point x goal as the focus, converging the planned path, and obtaining the planning result.
5. The multi-UAV target allocation and path planning method for performing multi-target type tasks according to claim 4, characterized in that, Step S203 includes: Step S203-1, input the path C = {x1x2...x n} obtained in step S202. Step S203-2, traverse all path points x i ∈ C, for each path point x i , traverse all subsequent path points x j ∈ {x i+ 1x i+2 …x n}, determine whether the line e i connecting x j and x ij collides with an obstacle; Step S203-3, if x i collides with one x j , all the path points between x i and x j are removed, and i = j is executed, and step S203-2 is repeated; if x i does not collide with all x j , all the path points between x i and x n are removed, and the process ends, and the optimized path C * is output.
6. The multi-UAV target allocation and path planning method for performing multi-target type tasks according to claim 3, characterized in that, The cooperative scanning path planning of step S3 includes: Step S301, converting the task area into a hole polygon; Step S302, decomposing the hole polygon into a plurality of block units by the ploughing type block unit; Step S303, determining the routing order of the block units and generating a sweeping path covered by a single slope scanning line in each block unit, and connecting the sweeping paths of the block units to form a complete coverage scanning path; Step S304, segmenting the coverage scanning path and assigning to each unmanned aerial vehicle performing the area task, using the particle swarm optimization algorithm to make the total path length shortest and the path length difference of each unmanned aerial vehicle as balanced as possible, and finally forming the coverage scanning path planning result of multi-unmanned aerial vehicle cooperation.
7. The multi-unmanned aerial vehicle target assignment and path planning method for performing a multi-target type task according to claim 6, characterized in that, The step S302, the plough type block unit is decomposed into an improved plough type block unit; comprising: Step S302-1, determining each edge of the hole-containing polygon according to each vertex of the hole-containing polygon; Step S302-2, selecting the vertical direction of each edge of the polygon as all possible decomposition directions; Step S302-3, for each possible decomposition direction, the best bidirectional coverage decomposition (BCD) algorithm is used to calculate the decomposition of the polygon unit formed in this direction; Step S302-4, the optimal sweeping direction of each polygon unit is calculated respectively, and the vertical direction of the sweeping direction is taken as the height of the decomposition unit, and the minimum height sum of the decomposition units is calculated; Step S302-5, the minimum height sum obtained in different decomposition directions is compared to finally determine the best decomposition result; Step S302-6, the multiple units obtained by the best decomposition are processed by merging to form the final block unit; The merging process starts from the smaller area unit, finds another unit with the longest intersection line, and attempts to merge; the unit merging conditions include: the newly formed unit can find a sweeping direction, so that any sweeping line passing through the unit in the sweeping direction has no more than two intersection points with the unit; the height of the merged unit is less than or equal to the height of the unmerged unit.
8. The multi-unmanned aerial vehicle target assignment and path planning method for performing a multi-target type task according to claim 6, characterized in that, The step S304, comprising: Step S304-1, segmenting the coverage scanning path according to the number of unmanned aerial vehicles, determining the starting point and the ending point of each path segment according to the segmentation points, and calculating the distance information including the distance from each unmanned aerial vehicle to the starting point of each path segment or the ending point of each path segment; Step S304-2, traversing the calculated distance information to find the unmanned aerial vehicle coverage scanning path assignment scheme that minimizes the total path length, taking the optimized segmentation index as the output of the path and the path length of each unmanned aerial vehicle; Step S304-3, performing local optimization of the segmented path based on the particle swarm optimization method; in the particle swarm optimization process, perturbation is added at the segmentation points of the path point sequence, and iteration is performed with the optimized segmentation index as the objective function, so as to finally find the optimized segmentation index that minimizes the total path length, and perform segmentation of the coverage scanning path of the unmanned aerial vehicle.
Citation Information
Patent Citations
Collaborative planning device of multiple unmanned aerial vehicles for multi-task target
CN119958568A
Coverage path planning method for coordination of multiple unmanned aerial vehicles in complex task area
CN120124828A