Multi-unmanned aerial vehicle target allocation and path planning method for executing multi-target type task
Through a multi-UAV target allocation and path planning method, the problems of multi-objective task allocation and path planning in complex geographical environments are solved, efficient task allocation and path planning are achieved, and the advantages of multi-machine collaboration are enhanced.
Patent Information
- Application Number
- CN202510144067.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-10
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2045-02-10
AI Technical Summary
In multi-UAV systems, how to effectively assign multiple types of target tasks (points, lines, and regional targets) and plan reasonable paths in complex geographical environments, especially when facing multiple avoidance areas, no-fly areas or areas that do not meet the flight requirements.
A multi-UAV target allocation and path planning method is proposed, including three steps: task allocation, path planning and collaborative scanning path planning. First, through the automated task allocation process, the corresponding drones for each task are allocated according to the number and task type of drones; second, in the complex elevation map, the task path that meets the evacuation zone and elevation requirements are planned in combination with geographical information and evacuation zone data; finally, the drones assigned to the regional target tasks are collaboratively scanned and the starting point position is adjusted to balance the flight path length.
It realizes efficient allocation and planning of multi-UAV tasks in complex environments, reduces manual intervention and human errors, improves the simplicity and efficiency of path planning, and enhances the advantages of multi-machine collaboration.
Smart Images

Figure CN120066118A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of unmanned aerial vehicle (UAV) target assignment and path planning, and particularly to a multi-UAV target assignment and path planning method for executing multi-target type tasks. Background Art
[0002] In practical applications, multiple UAVs may face the task of simultaneously executing multiple tasks including point, line, and area target types, which poses challenges of task diversity and complexity to traditional task assignment methods. Different target types have different requirements for UAVs. Therefore, in order to improve the task completion rate and execution efficiency, it is necessary to comprehensively consider the task requirements, realize the reasonable assignment and adjustment of tasks, effectively solve the task assignment problem in multi-UAV and multi-target collaborative work, and thus give full play to the advantages of multi-UAV collaboration.
[0003] Moreover, during the actual process of UAVs executing the assigned target tasks and reaching the target positions according to the specified paths to complete the target tasks, they will be affected by environmental and geographical factors. For example, in complex scenarios such as mountains and jungles, path planning needs to rely on geographical elevation information and also consider avoidance areas.
[0004] In addition, for area target tasks, especially tasks in complex areas where there may be multiple avoidance areas, no-fly zones, or areas with heights not meeting the flight requirements inside, it makes path planning more difficult and challenging. Summary of the Invention
[0005] In view of the above analysis, the present invention aims to disclose a multi-UAV target assignment and path planning method for executing multi-target type tasks; to solve the problems of target assignment and path planning.
[0006] The present invention discloses a multi-UAV target assignment and path planning method for executing multi-target type tasks, including:
[0007] Step S1: Establish a task assignment problem based on the number of UAVs, initial positions, the number of multi-target type tasks, target types, and position information; with minimizing the total path distance and minimizing the total cost as the assignment objectives, assign corresponding UAVs to each task; the target types include point targets, line targets, and area targets;
[0008] Step S2: Perform path planning for the UAVs assigned tasks, and in a complex elevation map, combine geographical information and avoidance area data to plan a task path for the UAVs that meets the requirements of avoidance areas and elevation.
[0009] Step S3: Perform collaborative scanning path planning for multiple UAVs assigned to area target tasks; by adjusting the starting positions of each UAV's collaborative scanning within the area, make the flight path lengths of each UAV from the takeoff position to the scanning starting point and then to the completion of scanning balanced.
[0010] One of the beneficial effects that the present invention can achieve is as follows:
[0011] The multi-UAV target allocation and path planning method for executing multi-target type tasks disclosed by the present invention, when performing target allocation, adopts an automated task allocation process, adapts to complex and changeable actual environments, and processes different types of tasks (point tasks, line tasks, area tasks), enhancing applicability and flexibility, reducing manual intervention, and reducing the possibility of human errors;
[0012] When performing path planning, it realizes UAV path planning combining geographic information and avoidance area data, ensuring that each path point in the plan meets both the requirements of the avoidance area and the elevation requirements; and by improving the RRT algorithm, it reduces the search calculation amount, improves the success rate of the algorithm, improves the convergence efficiency and search efficiency, and uses the backtracking method to screen the planned path points in reverse order to remove unnecessary path points, thereby enhancing the simplicity and planning efficiency of the path;
[0013] When performing collaborative scanning path planning for area tasks, it realizes the trajectory allocation of multi-UAV collaborative area scanning, improving the coverage rate of the target area while increasing the scanning efficiency of the target area. Description of the Drawings
[0014] The drawings are only for the purpose of showing specific embodiments and are not considered to be a limitation of the present invention. Throughout the drawings, the same reference signs denote the same components.
[0015] Figure 1 It is a flowchart of the multi-UAV target allocation and path planning method for executing multi-target type tasks in the embodiments of the present invention;
[0016] Figure 2 It is a flowchart of the multi-UAV target allocation process in the embodiments of the present invention;
[0017] Figure 3 It is a flowchart of UAV path planning in a complex elevation map in the embodiments of the present invention;
[0018] Figure 4 It is a flowchart of the collaborative scanning path planning of multiple UAVs for area target tasks in the embodiments of the present invention;
[0019] Figure 5 It is an example diagram of a typical polygon with holes in the embodiments of the present invention;
[0020] Figure 6 Schematic diagram of the multi - machine path particle swarm optimization algorithm in the embodiments of the present invention. Specific embodiments
[0021] The following will specifically describe the preferred embodiments of the present invention in conjunction with the accompanying drawings, where the accompanying drawings form a part of this application and are used together with the embodiments of the present invention to explain the principles of the present invention.
[0022] An embodiment of the present invention discloses a multi - UAV target allocation and path planning method for executing multi - objective type tasks, as Figure 1 shown, including:
[0023] Step S1: Establish a task allocation problem according to the number of UAVs, initial positions, the number of multi - objective type tasks, target types, and position information; with minimizing the total path distance and minimizing the total cost as the allocation objectives, allocate corresponding UAVs to each task; the target types include point targets, line targets, and area targets.
[0024] Step S2: Perform path planning for the UAVs assigned tasks. In a complex elevation map, combine geographical information and avoidance area data to plan a task path that meets the requirements of the avoidance area and elevation for the UAVs.
[0025] Step S3: Perform collaborative scanning path planning for multiple UAVs assigned to area target tasks; by adjusting the starting positions of each UAV's collaborative scanning within the area, make the flight path lengths of each UAV from the take - off position to the scanning starting point and then to the completion of scanning balanced.
[0026] Specifically, as Figure 2 shown, in step S1, it includes:
[0027] Step S101: Obtain the number of UAVs, initial positions, the number of multi - objective type tasks, target types, and position information.
[0028] Step S102: Calculate the distances between each UAV and each task, the distances between tasks, and the task equivalent distances according to the initial position information of the UAVs and the position information of the tasks, and establish a distance matrix.
[0029] Step S103: Establish a task allocation problem; construct an MVRP problem that matches the target type with minimizing the total path distance and minimizing the total cost as the allocation objectives according to the quantity relationship between UAVs and tasks and the target types of tasks.
[0030] Step S104: Solve the established MVRP problem; use the distance matrix as the input to solve the MVRP problem and allocate corresponding UAVs to each task.
[0031] Among them, in step S101, the obtained UAV information includes the initial position data and elevation data of u UAVs; a UAV set X is established according to the UAV information, and the longitude, latitude, and altitude coordinates of the initial position of each UAV are included in the set.
[0032] The obtained task information includes the 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 in the task set T, there are p point target tasks, l line target tasks, and r area target tasks.
[0033] Among them, each point target task is composed of the longitude, latitude, and altitude coordinates of a single target point.
[0034] Each line target task is composed of a set of longitude, latitude, and altitude coordinates of target points, and the target point coordinates are arranged in the execution order of the path.
[0035] Each area target task is composed of multiple sets of longitude, latitude, and altitude coordinates of contour target points. Among them, the coordinates of the first set of contour target point sequences represent the outer contour coordinates of the polygon, and the subsequent sets of contour target point coordinate sequences represent the inner hole contour coordinates of each polygon enclosed by the outer contour. 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 area (PWH) of the area target task.
[0036] Specifically, in the preprocessing process of step S102, it includes:
[0037] 1) Calculate the distance between each UAV in the UAV set X and each task in the task set T; there are a total of 3 types of distances:
[0038] For point target tasks, calculate the Euclidean distance between the UAV and the point of the point target task; for line target tasks, calculate the Euclidean distance between the UAV and the starting point of the line target task; for area target tasks, calculate the Euclidean distance between the UAV and the nearest point of the target area.
[0039] 2) Calculate the distance between tasks in the task set T; according to different target types, there are a total of 9 types of distances:
[0040] For point target tasks and point target tasks, directly calculate the Euclidean distance between two points; for point target tasks and line target tasks, 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 tasks and area target tasks, 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 tasks and point target tasks, calculate the Euclidean distance between the end point position of the line target task and the point position of the point target task; for line target tasks and line target tasks, calculate the Euclidean distance between the end point position of one line target task and the starting point position of the other line target task; for line target tasks and area target tasks, calculate the Euclidean distance between the end point position of the line target task and the nearest point of the area target task; for area target tasks and point target tasks, 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 tasks and line target tasks, 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 tasks and area target tasks, calculate the Euclidean distance between the nearest points of the two areas.
[0041] 3) Calculate the equivalent distance of each task in the task set T; there are 3 types of equivalent distances in total:
[0042] For point target tasks, use a fixed value; for line target tasks, use the path length; for area target tasks, use the area of the region divided by the coverage width.
[0043] 4) Use the calculated distances between each UAV and each task, the distances between tasks, and the task equivalent distances to establish a distance matrix.
[0044] Specifically, in step S103, the process of establishing the task assignment problem includes:
[0045] Step S103-1: Determine whether the number u of UAVs is more than the number m of task targets; if not, go to step S103-2; if so, go to step S103-3;
[0046] Step S103-2: Construct the first MVRP problem aimed at solving the problem of assigning tasks to all UAVs, and go to step S104 for solution; in the problem, at least one task is executed by one UAV;
[0047] Step S103-3: Determine whether there is an area target task among the tasks; if not, go to step S103-4; if so, go to step S103-5;
[0048] Step S103-4: Construct the second MVRP problem aimed at solving the problem of assigning tasks to UAVs with the same number as the tasks, and go to step S104 for solution; in the problem, UAVs with the same number as the tasks are assigned;
[0049] Step S103-5: Construct the third MVRP problem aiming to solve the problem of allocating at least one drone to each task, and proceed to step S104 for solution;
[0050] In the construction of the third MVRP problem; first, allocate one drone to each non-region target task, and then allocate the remaining drones to the region target tasks; when there are multiple region target tasks, the remaining drones are allocated according to the area ratio of each region target task; the target with a larger region area is allocated more drones to improve the overall task completion efficiency.
[0051] Specifically, the first, second, and third MVRP problems constructed are all MVRP mathematical models with the objective function of minimizing the total path distance and minimizing the total cost, described as:
[0052]
[0053] The objective function (1) represents minimizing the total travel distance and minimizing the total cost;
[0054] Constraint (2) means that each task must be visited and visited only once;
[0055] Constraint (3) means that the path of each drone must start from the starting point and end at the ending point.
[0056] Among them, T = {1, 2…, m} represents the task set, m is the number of tasks; x = {1, 2…, u} represents the drone set, u is the number of drones; i, j are the task numbers in the task set, i ≠ j; k is the drone number in the drone 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] indicates whether the path from task i to task j is selected by drone k, and the value is {0, 1};
[0060] f 1 is the weight factor of the flight distance; f 2 is the weight factor of the equivalent path.
[0061] r i is the number of times task i needs to be visited; among them,
[0062] In the first MVRP problem, r i is set to 1, and the number of dispatched drones 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 drones is m; that is, each task needs to be visited once, and only drones with the same number of task targets are dispatched;
[0064] In the third MVRP problem, the number of times r that the included point and line target tasks need to be visited i is set to 1, and r for each regional target task i is determined according to the area ratio of each regional target task, and the total number of visits is u.
[0065] Specifically, in the third MVRP problem, in the process of determining the number of times r that task i needs to be visited, it includes:
[0066] 1) Set the fixed number of times r that the point and line target tasks need to be visited i to 1, that is, each point and line target task needs to be visited once, and 1 drone is allocated to each;
[0067] 2) The remaining drones after the point and line target drones are allocated are then allocated to the regional target tasks; when there are multiple regional target tasks, proceed to the next step;
[0068] 3) According to the number of remaining drones U and the area A of the regional target i construct an integer programming problem, and initially solve to obtain the drone quantity requirements for each regional target task;
[0069] The number of times r that the initially solved regional target i needs to be visited i 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 from the initial solution being U or U - 1, determine whether to adjust the number of visits; if it is U, do not adjust the number of visits to the planned regional target tasks; if it is U - 1, add 1 to the number of visits to the regional target with the largest planned area to ensure that all drones participate in the target allocation.
[0073] Specifically, the solution process in step S104 includes:
[0074] 1) According to the established distance matrix, convert the objective function and constraints in the established MVRP problem, as well as relevant parameters including the number of times a task is visited and time windows, into problem parameters of the data structure required by the planning solver.
[0075] 2) Select an optimization algorithm for handling the MVRP problem in the planning solver.
[0076] Select a suitable optimization algorithm according to the actual situation. For example, use the integer programming algorithm to handle the MVRP problem.
[0077] 3) Use the API interface to pass the problem parameters into the solving function in the planning solver for solving to obtain the optimal planning result of task assignment to drones, and obtain an optimal task assignment scheme with the goal of minimizing the total path distance and minimizing the total cost.
[0078] Specifically, as Figure 3 shown, in step S2, in the complex elevation map, combine geographical information and avoidance area data to plan a task path for the drone that meets the requirements of the avoidance area and elevation. The process includes:
[0079] Step S201: Establish a grayscale map corresponding to the grayscale value and elevation data cropped 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 the area determined by the starting point and ending point of the drone path planning.
[0081] Step S202: Use the improved rapidly-exploring random tree to perform path planning within the extended planning range.
[0082] In the heuristic path point inspection process of path planning, perform avoidance area envelope inspection and grayscale map elevation inspection on the generated path points, and remove the path points that do not pass the inspection. In the path convergence process of path planning, use an adaptive step size to sample and extend points within an ellipse with the path initial point and target point as the foci to converge the planned path.
[0083] Step S203: Backtrack the planned path output in step S202; perform collision detection on the generated path points in reverse order, remove unnecessary path points, and screen out necessary path points to form the planned path.
[0084] Specifically, step S201 includes:
[0085] Step S201-1: Preprocess the task area geographical data and avoidance area data.
[0086] During each path planning, the geographical elevation data and avoidance area data required for planning are delineated based on the starting and ending positions, reducing the planning calculation amount and improving the planning speed; before path planning, the geographical elevation data and avoidance area data need to be preprocessed to meet the information input requirements of the planning process.
[0087] The preprocessing of the geographical data of the mission area, including arrays of longitude (Longitude, Lon), latitude (Latitude, Lat), and height (Height, H), includes:
[0088] 1) Uniform density interpolation processing: Regardless of the density of the original geographical information data, interpolation sampling is performed according to a uniformly specified density to ensure data consistency and accuracy;
[0089] 2) Generating a grayscale image: The sampled elevation data is converted into a grayscale image F. Each pixel point of the grayscale image F corresponds to a longitude and latitude point (lon i , lat j , h) of the elevation data, and the changes of each pixel point in the longitude and latitude directions are respectively (δ lon , δ lat ).
[0090] The preprocessing of all avoidance areas within the mission area is carried out as follows:
[0091] 1) Determining the avoidance area bounding rectangle: For each avoidance area (Avoidance Envelope, AE), calculate its bounding rectangle (Avoidance Envelope Bounding Rectangle, AEBR);
[0092] 2) Constructing an envelope set: The bounding rectangles of all avoidance areas are constructed into a set, and each bounding rectangle (AEBR) corresponds to an avoidance area (AE).
[0093] Step S201-2: Select a rectangle including the planning starting point and ending point, and after expansion, obtain the planning area;
[0094] Specifically, the expansion process of the planning area includes:
[0095] 1) Generate a rectangle based on the planning starting point and ending point; the minimum values X min and Y min take the minimum values of the starting point and ending point, and the maximum values X max and Y max take the maximum values of the starting point and ending point;
[0096] 2) According to the ratio λ, from the center of the rectangle to X min , Y minDirection and X max , Y max Expand in the directions of and respectively, expand the diagonal distance to λ times the original, and plan the scope PS (Planning Scope).
[0097] Step S201-3: Through the retrieval of the avoidance area envelope set, determine the extended planning scope and the avoidance area envelope set that intersects with the extended planning scope; the extended planning scope includes the planning scope and the scope of the avoidance area envelope set that intersects with it;
[0098] Specifically, it includes two retrievals of the avoidance area envelope set; among them,
[0099] The first retrieval; Retrieve the set of avoidance area envelope rectangles AEBR (Avoidance Envelope Bounding Rectangle) within the planning scope PS, and find the avoidance area envelope set AEBR(PS) that intersects with the planning scope PS; Take the envelope rectangle of the planning scope PS and the avoidance area envelope set AEBR(PS), and denote it as the extended planning scope PSE;
[0100] The second retrieval; Retrieve the set of avoidance area envelope rectangles AEBR again within the extended planning scope PSE, and find the avoidance area envelope set AEBR(PSE) that intersects with the extended planning scope PSE;
[0101] Subsequent planning will use the extended planning scope PSE and the avoidance area envelope set AEBR(PSE) for path planning.
[0102] Step S201-4: According to the extended planning scope PSE, crop the grayscale image corresponding to the grayscale value and elevation data to obtain the grayscale image F(PSE) for planning;
[0103] Specifically, the grayscale image can be generated in the same way as in step S201-1.
[0104] Specifically, step S202 includes:
[0105] Step S202-1: Initialize the target point, task point, and search tree:
[0106] Set the longitude and latitude of the initial point x init =(x init,lon , x init,lat ) and the longitude and latitude of the target point (x goal =(x goal,lon , x goal,lat ), and select the longitude and latitude space as the state sampling space X;
[0107] Initialize the search tree T=(V, E), where V={x init} is the set of nodes in the search tree, which only contains the initial point; is the edge set of the search tree, which is an empty set.
[0108] Step S202-2: state sampling space sampling; the generated sampling point x rand Conduct avoidance zone envelope inspection and grayscale map elevation inspection, and resample sampling points that fail the inspection;
[0109] The sampling points are simultaneously transformed into the grayscale image F and the avoidance zone set AEBR (PSE), and the sampling points that fall into the avoidance zone set AEBR (PSE) and fail the grayscale image elevation test are reselected;
[0110] Random sampling is performed in the state sampling space to obtain the sampling point x rand =(x rand,lon , x rand,lat ), the sampling point x rand Transformed into the pixel point of the grayscale image F, and at the same time transformed into the avoidance zone set AEBR (PSE), it is determined whether the point is within the obstacle or avoidance zone determined by the avoidance zone set AEBR (PSE); if the sampling point x rand If it is within an obstacle or avoidance zone, repeat this step again.
[0111] Step S202-3, sampling point extension: the sampling point x sampled in step S202-2 rand Find the closest node x in the search tree near , starting from searching for the nearest node x near Start and extend towards the sampling point to get a new node x new ;
[0112] If x rand Not in the obstacle or avoidance zone, calculate the sampling point x rand The latitude and longitude distance D between all nodes in the set V in the search tree is D(x rand , x i ), where x i ∈V, get the distance from the sampling point x rand The nearest node x near . From node x near Start with a step length L towards node x rand Extend and generate a new node x new ;
[0113] Extension step length L: This 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 drone path. The specific value needs to be selected according to the map size and requirements.
[0114] Step S202-4, collision detection: determine node xnear The connection line E with the new node x new is checked to see if it collides with an obstacle or an avoidance area. If so, discard the collided node and return to step S202. If not, add the new node x that does not collide i to the node set V and add the connection line E new to the edge set E; i
[0115] Specifically, step S202-4 includes:
[0116] 1) Discretize a series of longitude and latitude points e near on the connection line E between the node x new and the new node x i to obtain e i ={e i,1 , e i,2 , …, e i,j , …, e i,N}, where j = 1, …, N and N is the number of discrete points; e i,j is the j-th discrete longitude and latitude point on the connection line E i ;
[0117] 2) Perform collision detection;
[0118] One by one, convert the longitude and latitude points e i,j ∈e i into pixel points in the grayscale image and determine whether there is an obstacle at the pixel point. When all points in e i have no obstacles, it is determined that E i does not collide with the obstacle; otherwise, a collision has occurred;
[0119] Determine whether the connection line E i passes through the avoidance area, where the avoidance area is the set of avoidance area envelopes found in the second search that intersects with the extended planning range PSE. If E i does not pass through any avoidance area, it is determined that E i does not collide with the avoidance area; otherwise, a collision has occurred;
[0120] 3) If the connection line E near between the collided node x new and the new node x i collides with an obstacle or an avoidance area, discard the new node x new and return to step S202 for resampling. If the connection line E i does not collide with an obstacle or an avoidance area, add the new node x new to the node set V and add the connection line E i to the edge set E.
[0121] Step S202-5: For the new node x added to the node set V new Redetermine the parent node in the search tree: and use the re-determined parent node to rewire the random tree;
[0122] At the new node x new Search for all neighboring nodes X in the tree within a set radius range R around r near to form the set X near ={x near,1 , x near,2 , …, x near,M}, as the candidates to replace the parent node of x new ; M is the number of neighboring nodes found in the tree; Select the connection with the minimum cost and no collision between the new node x new and the neighboring node set X near to optimize the cost of the generated path;
[0123] The radius range R is set to twice the extension step, i.e., R = 2L.
[0124] After reselecting the parent node for the new node x new , to further reduce the connection cost between the random tree nodes, it is necessary to rewire the random tree: If changing the parent node of the neighboring node X near to x new can reduce the path cost, then make the change; otherwise, do not change.
[0125] Step S202-6: Determine whether the distance between the new node x near added to the node set V and the target point x goal is greater than the set distance threshold. If so, return to Step S202 and repeat sampling, extension, and collision detection; if not, terminate sampling and add the target point x goal to the node set V, and search for a shortest path;
[0126] If the distance between the new node x near added to the node set and the target point x goal is greater than the set latitude and longitude distance threshold δ, then repeat the above sampling, extension, and collision detection steps; if the distance between the node x near and the target point x near is less than the threshold δ, then terminate sampling, add the target point to the node set V, and then search for a shortest path P0 from the tree T;
[0127] Latitude and longitude distance threshold δ: This distance is the distance in the latitude and longitude coordinate system and is used as a condition to determine whether the current node is near the target point. When it is less than this threshold, it means the target point has been searched; otherwise, it has not.
[0128] Step S202-7, Adaptive path convergence; Use an adaptive step size to extend sampling points within an ellipse with the path initial point x init and the target point x goal as the foci, and converge the planned path to obtain the planning result.
[0129] Specifically, the step S202-7 includes:
[0130] 1) Take the initial point x init and the target point x goal as the foci of the ellipse, and use 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) Conduct sampling within the ellipse, randomly sample in the ellipse to obtain the sampling point x rand =(x rand,lon , x rand,lat ), calculate the closest distance γ between the sampling point and the obstacles, γ = min{D(x rand , X obs ), where X obs is the set of all obstacle points within the ellipse sampling range, and the min() function is used to calculate the minimum distance between the sampling point and the set of obstacle points;
[0132] 3) Calculate the node x rand on the path P0 that is closest to x near ; then uniformly select K points on the circle centered at x rand with a set length γ as the radius, denoted as the point set
[0133] 4) Select a point from the K points to replace x near such that the path cost is minimized to the greatest extent, and denote this point as
[0134] 5) Replace the node x near on the path P0 with Repeat steps 2)-3) to obtain path lengths P1, P2, P3,..., Pn; n is the number of iterative repetitions;
[0135] 6) When the change value of the path length Pn - Pn-1 is less than the set threshold ΔP or the number of iterations reaches the set iteration threshold, determine convergence and obtain the planning result.
[0136] As Pn gets shorter and shorter, the ellipse will become flatter and flatter, thus concentrating the sampling points near the current path to obtain a convergent path planning result.
[0137] Set the threshold ΔP as the improvement amount of path convergence, which is the distance in the longitude and latitude coordinate system and is used as the condition for judging path convergence. When the length change value Pn - Pn-1 is less than the set threshold ΔP, it indicates that the path is already close to the optimal path; otherwise, it has not reached the optimal path.
[0138] The iteration threshold is set to a large positive integer. When the number of sampling times exceeds this value, the program will stop immediately. At this time, if a path is found, the path nodes will be returned; otherwise, no value will be returned.
[0139] Specifically, the step S203 includes:
[0140] Step S203-1: Input the path C = {x 1 x 2 …x n} obtained in step S202;
[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}, and judge whether the connection line e i between x j and x ij collides with obstacles;
[0142] Step S203-3: If x i collides with a certain x j , then remove all path points between x i and x j , and execute i = j, then repeat step S302; if x i does not collide with all x j , then remove all path points between x i and x n , and end, output the optimized path C * .
[0143] In this step, based on the improved RRT method for UAV path planning in a complex elevation map, the UAV path planning that combines geographic information and avoidance zone data is realized, ensuring that each planned path point meets both the requirements of the avoidance zone and the elevation requirements; and through the improved RRT algorithm, the search calculation amount is reduced, the success rate of the algorithm is improved, the convergence efficiency and search efficiency are improved, and the planned path points are screened in reverse order by the backtracking method to remove unnecessary path points, thereby improving the simplicity and planning efficiency of the path.
[0144] Specifically, as Figure 4As shown in the figure. The collaborative scanning 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 through boustrophedon cellular decomposition to generate multiple cellular units;
[0147] Step S303: Determine the routing order of the cellular units and generate a sweep path covered by a single-slope scanning line within each cellular unit, and concatenate the sweep paths of each cellular unit to form a complete coverage scanning path;
[0148] Step S304: Segment the coverage scanning path, allocate it to each unmanned aerial vehicle (UAV) performing the tasks in this area, and use the particle swarm optimization algorithm to make the total path length the shortest and the path lengths of each UAV as balanced as possible, finally forming the collaborative coverage scanning path planning result of multiple UAVs.
[0149] Specifically, in step S301, converting the complex task area into a polygon with holes (PWH) can be achieved through Boolean operations. This geometric shape consists of an external polygon contour and one or more internal hole contours. The external polygon defines the overall boundary, while the internal holes are areas completely contained within the external polygon and these holes do not belong to the part of the polygon. The outer contour of the PWH is a simple polygon, but both its internal and external contours can be concave polygons. This feature enables the PWH to more accurately represent complex shapes and areas in the real world, especially in computer graphics and geographic information systems (GIS).
[0150] As Figure 5 shown, it is a typical example diagram of a polygon with holes.
[0151] Specifically, in step S302, the boustrophedon cellular decomposition (BCD) is an improved boustrophedon cellular decomposition;
[0152] In the conventional best bidirectional coverage decomposition BCD algorithm, when encountering an IN event or an OUT event, it will form the decomposition or merging of cells. However, in areas where the hole distribution of the PWH is relatively dense, these decompositions or mergings will lead to dense divisions 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: Determine each side of the polygon with holes according to each vertex of the polygon with holes;
[0154] Step S302-2: Select the vertical directions of each side of the polygon as all possible decomposition directions;
[0155] Step S302-3: For each possible decomposition direction, use the Best Bi-Directional Coverage Decomposition (BCD) algorithm to calculate multiple polygon units formed by the decomposition in this direction;
[0156] Step S302-4: Respectively obtain the optimal sweeping direction of each polygon unit, and use the vertical direction of this sweeping direction as the height of the decomposition unit, and calculate the sum of the minimum heights of these decomposition units;
[0157] Step S302-5: By comparing the sums of the minimum heights obtained in different decomposition directions, finally determine the best decomposition result;
[0158] Step S302-6: The multiple units obtained by the best decomposition are then processed by merging to form the final block units.
[0159] In the above merging process, starting from the unit with a smaller area, find another unit with the longest intersection line with it and attempt to merge. The merger needs to meet the following two conditions: First, the newly formed unit can find a sweeping direction such that any sweeping line passing through the unit in this sweeping direction has no more than two intersections with the unit, that is, the newly formed merged unit can be effectively swept; Second, the height of the merged unit is less than or equal to the height of the unit before merging, that is, the newly formed merged unit has a more reasonable sweeping plan. The merged unit that meets the above two conditions reduces the number of block units and can avoid adding more sweeping bending points, thereby improving the sweeping efficiency.
[0160] Specifically, step S303 determines the routing order of the block units and generates a sweeping path covered by a single-slope scanning line within each block unit, and concatenates the sweeping paths of each block unit to form a complete covering scanning path; including:
[0161] Step S303-1: Block access order planning: Obtain the shortest path between each block unit, establish a Traveling Salesman Problem (TSP), and use the Hungarian algorithm to solve it to generate the path planning between each block;
[0162] Before the covering scanning path planning, it is necessary to clarify the access order of each block unit, and convert the global sweeping planning problem into the sweeping planning problems of each block. Therefore, in this embodiment, the shortest path between each block is obtained, a TSP is established, and the Hungarian algorithm is used to solve it to generate the path planning between each block.
[0163] Given that the complexity of sweep path planning within the PWH is relatively low, the Dijkstra algorithm or A* algorithm can be used to obtain the path between any two points within the PWH and calculate the path length. Calculate and fill in the "shortest distance matrix" to obtain the shortest path between each unit.
[0164] Specifically, the calculation process of path planning includes:
[0165] 1) Determine the distance between two block units;
[0166] Determine whether two block units are adjacent. If they are adjacent, the distance is 0. If they are not adjacent, then traverse each vertex, calculate the shortest path combination and calculate the path length as the matrix element in the shortest path matrix. According to different situations of single machine or multi-machine and whether there is a fixed end point, it is necessary to determine whether to put the starting point and the end point into the shortest path matrix;
[0167] 2) Initialize 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) Solve the Traveling Salesman Problem (TSP) through dynamic programming to obtain the order of block access with the shortest path;
[0169] Due to the limited scale of the currently merged block units, the Traveling Salesman Problem can be solved through a dynamic programming function. This function recursively calculates the shortest path for visiting all block units and updates these paths and costs in the two matrices; if all nodes have been visited, it returns the distance to the end point. 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 end point to the starting point.
[0170] Step S303-2, Block path planning: Establish a path loss criterion, visit each block in order, and use the greedy algorithm to handle the path planning problem from the starting point until the entire block is scanned, so that the loss of the entire path is the lowest.
[0171] Use the greedy algorithm to handle the coverage scan path planning problem of each block, so that the internal path loss of each block is 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 pathDenote the total path length after completing the sweeping of the k-th block starting from the current point;
[0175] n path Denote the number of path points after completing the sweeping of the k-th block starting from the current point;
[0176] V l Denote the weight coefficient of length, which is approximately estimated at 10 m / s in this scheme;
[0177] V a Denote the weight coefficient of turning, which is approximately estimated at 60° / s in this scheme.
[0178] When calculating the coverage scanning path of the block unit, first select the starting point of any UAV as the "current point" (since there is still a subsequent path allocation link, this selection does not represent the final allocation), and start the sweeping plan for each block unit in sequence according to the routing order; for each block unit, analyze all feasible sweeping directions and calculate all possible unit scanning paths, and record the starting point of each unit sweeping plan as the "unit starting point".
[0179] Calculate the path plan from the "current point" to each "unit starting point" and the sweeping path plan inside the block unit respectively. Next, starting from the "current point", traverse all the calculated scanning path plans, calculate the total length and the number of turns (i.e., the number of path points) of each path, and calculate the path loss of different planning schemes according to the given length weight and turning weight. The path with the lowest loss is selected as the optimal path and recorded as the sweeping path of the current block unit, and at the same time, record the end point of the sweeping path of the current block unit as the starting point of the next path (i.e., the "current point") and start the sweeping plan for the next block unit.
[0180] The sweeping lines of the area coverage scanning path planning are generated at equal intervals starting from the sweeping starting point, but there may be a situation where there is not enough space to place a sweeping line at the end position of the generation, and this situation may lead to insufficient coverage. Therefore, to avoid insufficient coverage, the distance from the vertex of each block unit to the coverage sweeping line should be verified. Since the vertices of the block unit are the prominent positions of the convex polygon, if all these vertices are covered, it means that the sweeping line also covers the entire block; if the distance from the vertex to the coverage line is less than half of the sweeping width, a sweeping line passing through the vertex needs to be added.
[0181] After completing the sweeping plan of all units, check whether it is necessary to complete the sweeping task at the specified end point (only in the case of a single machine and having an end point). If necessary, add a path plan from the "current point" to the specified end point.
[0182] Complete the sweep planning for all units and generate a sequence of path points for covering and sweeping the PWH;
[0183] The sequence of path points includes a sequence of line segment points with two path attributes: sweep lines and connection lines. The sweep lines and connection lines alternate to form the covering sweep path;
[0184] Sweep Line (SL): The path line that actually performs the sweeping function in the covering 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 covering sweep, the actual covering is done by the sweep lines, and the connection lines, as auxiliary path lines, are used to connect each sweep line in series to achieve the path planning effect;
[0187] In the covering sweep, the PWH is divided into different internal blocks. In each block, the internal area of the block is swept by the planned sweep lines. The internal area of the block can include multiple segments of sweep lines with different sweep directions to achieve a more comprehensive covering sweep. The sweep lines within the block, the sweep lines between blocks, as well as the starting point and ending point of the drone are connected by connection lines.
[0188] Based on this, the connection line (CL) further includes the following types:
[0189] Sweep Connection Line (SCL) within the block: Represents the connection line within the block.
[0190] Block Connection Line (BCL) between blocks: Represents the connection line between blocks.
[0191] Robot Connection Line (RCL) from the starting point and ending point of the drone: Represents the connection line from the starting point of the drone to the sweep line and the connection line from the sweep line to the ending point of the drone.
[0192] The path in the covering sweep is composed of alternating sweep lines (SL) and connection lines (CL). There is at least one connection line between two sweep lines. It should be noted that the connection line may contain multiple parts. For example, the path may be sweep line, connection line, connection line, sweep line. Each connection line (CL) can be a sweep connection line within the block (SCL), a block connection line between blocks (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, complete the scanning of a certain area through the combination of the internal block connection line (SCL) and the sweep line (SL);
[0195] ● Next, connect to the sweep line (SL) of the next area through one or more inter-block connection lines (BCL), and then complete the scanning of this area through the combination of the internal block connection line (SCL) and the sweep line (SL);
[0196] ● After the scanning of all areas 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 serial number, path point coordinates, line segment attributes pointing to the previous path point, and line segment attributes pointing to the next path point; the path point sequence contains each path point generated by the coverage scanning path planning and is arranged in order.
[0198] Specifically, the step S304 includes:
[0199] Step S304-1: Segment the coverage scanning path according to the number of drones, and determine the starting point and ending point of each path segment according to the segmentation points; calculate the distance information including the distance of each drone from the task starting point to the starting point or ending point of each path segment;
[0200] Step S304-2: Traverse the calculated distance information, find the drone coverage scanning path allocation scheme that minimizes the total path length, use it as the optimized segmentation index, and output the path and path length of each drone;
[0201] Step S304-3: Perform local optimization of the divided path segments based on the particle swarm optimization method; during the particle swarm optimization process, add perturbations at the segmentation points of the path point sequence, and perform iteration with the optimized segmentation index as the objective function to finally find the optimized segmentation index that minimizes the total path length and perform the coverage scanning path division of the drones.
[0202] Specifically, step S304-1 includes:
[0203] 1) Path division; divide the total path of the coverage sweep into the same number of path segments according to the number of drones; select the segmentation points for path division from the path point sequence of the coverage scanning path planning as the separation index;
[0204] A reasonable separation index can ensure the balance of the path length when each drone executes the task.
[0205] 2) Determine the starting point and ending point of each path segment according to the separation index; the starting point and ending point of each path segment are points with sweep line attributes;
[0206] Starting point of the path segment: If the path segment after the splitting point is the sweeping line (SL), select the splitting point as the starting point of the path segment; if the path segment after the splitting point is the connecting line (CL), retrieve backward from the splitting point until the first path point whose subsequent path is the sweeping line SL is found, and use it as the starting point of the path segment.
[0207] Selection of the ending point of the path segment: If the path segment before the splitting point is the sweeping line SL, select the splitting point as the ending point of the path segment; if the path segment before the splitting point is not the sweeping line SL, retrieve forward until the first path point whose previous path is the sweeping line SL is found, and use it as the ending point of the path segment.
[0208] 3) Calculate the distance information including the distance of each drone from the task starting point to the starting point or ending point of each path segment through two distance calculation methods: forward order or reverse order;
[0209] After determining the starting point and ending point of each path segment, it is necessary to calculate the distance of each drone from the task starting point to the starting point or ending point of each path segment; when the drone has a fixed task ending point, it is also necessary to calculate the distance from the other end of the path segment to the ending point. Since the path can be in forward order or reverse order, the distances in both cases need to be calculated separately.
[0210] Forward order distance calculation:
[0211] Calculate the distance of each drone from the task starting point to the starting point of the path segment;
[0212] Calculate the distance of each drone from the ending point of the path segment to the task ending point (if there is a fixed ending point);
[0213] Reverse order distance calculation:
[0214] Calculate the distance of each drone from the task starting point to the ending point of the path segment;
[0215] Calculate the distance of each drone from the starting point of the path segment to the task ending point (if there is a fixed ending point).
[0216] Specifically, in step S304-2, traverse the calculated distance information, and use the Hungarian algorithm to find the drone coverage scanning path allocation scheme with the minimum total path length of all drones as the optimized splitting index; the specific steps are as follows:
[0217] 1) Construct the cost matrix; each element of the cost matrix is the distance of the drone from the starting point to the starting point or ending point of the path segment calculated through two distance calculation methods: forward order or reverse order;
[0218] 2) Solve the optimization algorithm; use the Hungarian algorithm to solve the cost matrix to find the allocation scheme with the minimum total path length;
[0219] 3) Determine the optimal path allocation: Based on the output of the Hungarian algorithm, determine the path and path length of each UAV.
[0220] For the Optimize Division Indices (ODI) of this embodiment, obtain the path and path length of each UAV from the divided path segments. And for any 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 to make the planned trajectory of the UAV better. In the particle swarm algorithm, a group of particles is initialized, and each particle represents a possible path allocation scheme; each particle is updated according to its speed and position, and its quality is evaluated according to the fitness function; the algorithm iteratively updates the particles to gradually find the global optimal solution. In each iteration, the position and speed of the particle are adjusted according to the inertia, cognitive, and social components, and finally, the division index that minimizes the total path length is found.
[0222] The multi-UAV path particle swarm optimization adopted in this embodiment, as Figure 6 shown, includes:
[0223] 1) Initialize the random number generator and the particle swarm;
[0224] 2) Perform the iterative main loop; in the main loop, each particle is updated, and its quality is evaluated according to the fitness function; the global optimal solution is gradually found by iteratively updating the particles;
[0225] In each iteration, the position and speed of the particle are adjusted according to the inertia, cognitive, and social components, and finally, the division index that minimizes the total path length is found;
[0226] The fitness function is determined by the ODI process of the optimization division index determined in step S402; the path length value output by the ODI of the optimization division index is used to evaluate the quality of the current position of the particle;
[0227] 3) After the main loop ends, return the global optimal position; output the path and path length of each UAV of the optimization division index of the final iteration as the final division result.
[0228] The particle swarm optimization algorithm (PSO) finds the optimal solution by simulating the behavior of a particle swarm. Each particle moves in the search space and adjusts its moving direction and speed according to its own experience and the experience of other particles. The following are the key formulas of PSO:
[0229] Velocity update formula:
[0230]
[0231] In the formula, v i (t) is the velocity of particle i at time t;
[0232] ω is the inertia weight, which controls the influence of the previous velocity of the particle;
[0233] c 1 and c 2 are acceleration constants, which respectively represent the degree of pursuit of the particle to its own optimal position and the global optimal position;
[0234] r 1 and r 2 are random numbers between [0, 1], which increase 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 determined in step S3. The value of the objective function ODI process is used to evaluate the quality of the current position of the particle. The optimization goal is to find the particle position that minimizes the total path sum of the ODI process.
[0245] In the particle swarm optimization algorithm, the process of optimizing the segmentation index is regarded as a black box. The input of this black box is the segmentation points of the path segments, 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 segmented path segments. Therefore, for any path segment division method with perturbations added at the segmentation points in the particle swarm optimization algorithm, the ODI process can find an optimal total path length.
[0246] As described above, the above are only the preferred specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed by the present invention should be covered by the protection scope of the present invention.
Claims
1. A method for multi-UAV target allocation and path planning for performing multi-target type tasks, characterized in that: include: Step S1, establishing a task allocation problem according to the number of drones, initial positions, the number of multi-target type tasks, target types, and position information; With minimizing the total path distance and minimizing the total cost as the allocation goals, a corresponding UAV is allocated to each task; the target types include point targets, line targets, and regional targets; Step S2: perform path planning for the assigned UAV, and plan a task path for the UAV that meets the avoidance zone and elevation requirements by combining geographic information and avoidance zone data in a complex elevation map; Step S3, planning the collaborative scanning paths for multiple UAVs assigned to the regional target mission; by adjusting the starting position of each UAV for collaborative scanning in the region, the flight path lengths of each UAV from the take-off position to the scanning starting point and then to the completion of the scan are balanced.
2. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 1, characterized in that: Step S1 includes: Step S101, obtaining the number and initial position of drones, the number, target type and location information of multi-target type tasks; Step S102: Calculate the distance between each UAV and each task, the distance between tasks and the task equivalent distance according to the initial position information of the UAV and the position information of the task, and establish a distance matrix; Step S103, establishing a task allocation problem; constructing an MVRP problem that matches the target type and takes minimizing the total path distance and minimizing the total cost as the allocation target according to the quantitative relationship between the UAVs and the tasks and the target type of the tasks; Step S104, solving the established MVRP problem; using the distance matrix as input, solving the MVRP problem, and assigning a corresponding UAV to each task.
3. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 2 is characterized in that: In step S103, the process of establishing the task allocation problem includes: Step S103-1, determine whether the number u of drones is greater than the number m of mission targets; if not, proceed to step S103-2; if yes, proceed to step S103-3; Step S103-2, constructing a first MVRP problem for solving the problem of assigning tasks to all drones; in the problem, one drone performs at least one task; Step S103-3, determine whether there is a regional target task in the task; if not, proceed to step S103-4; if yes, proceed to step S103-5; Step S103-4, constructing a second MVRP problem for solving the problem of assigning tasks to drones with the same number of tasks; assigning drones with the same number of tasks in the problem; Step S103-5, constructing a third MVRP problem for solving the problem of assigning at least one drone to each task; In the construction of the third MVRP problem, one drone is first assigned to each non-regional target task, and the remaining drones are then assigned to regional target tasks; when multiple regional target tasks are included, the remaining drones are allocated according to the area ratio of each regional target task; more drones are allocated to targets with large areas to improve the overall task completion efficiency.
4. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 3 is characterized in that: The first, second and third MVRP problems are all constructed with minimizing the total path distance and minimizing the total cost as the objective function. The MVRP mathematical model is described as: Where, T = {1, 2…, m} represents the task set, m is the number of tasks; X = {1, 2…, u} represents the drone set, u is the number of drones; i, j are the task numbers in the task set, i≠j; k is the total drone number in the drone set; c ij is the distance from task i to task j; γ ij is the task equivalent path length from task i to task j; To indicate whether the path from task i to task j is selected by UAV k, the value is {0,1}; f1 is the weight factor of the flight distance; f2 is the weight factor of the equivalent path; r i is the number of times task i needs to be visited; In the first MVRP problem, r i Set to 1, the number of drones dispatched is u; In the second MVRP problem, r i Set to 1, the number of dispatched drones is m; In the third MVRP problem, the number of times the point and line target tasks need to be visited is r i Set to 1, the r of each regional target task i It is determined according to the area ratio of the target tasks in each area, and the total number of times the task needs to be visited is u.
5. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 2, characterized in that: In step S2, in the complex elevation map, geographic information and avoidance zone data are combined to plan a mission path for the UAV that meets the avoidance zone and elevation requirements. The process includes: Step S201, establishing a grayscale map corresponding to grayscale values and elevation data clipped according to the extended planning range, and an envelope set of avoidance areas intersecting with the extended planning range; The extended planning range includes the planning range and the range of the avoidance zone envelope set intersecting with the planning range; the planning range is the area determined by the starting point and end point of the UAV path planning; Step S202, using an improved fast exploration random tree to perform path planning within an extended planning range; In the heuristic path point inspection process of path planning, the generated path points are subjected to avoidance zone envelope inspection and grayscale map elevation inspection, and path points that fail the inspection are removed; in the path convergence process of path planning, the sampling points are extended within the ellipse with the path initial point and the target point as the focus using an adaptive step size to converge the planned path; Step S203, backtracking the planned path outputted in step S202; performing collision detection on the generated path points in reverse order, removing unnecessary path points, and selecting necessary path points to form the planned path.
6. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 5, characterized in that: The step S202 includes: Step S202-1, initializing the target point, task point, and search tree: Step S202-2: state sampling space sampling; the generated sampling point x rand Conduct avoidance zone envelope inspection and grayscale map elevation inspection, and resample sampling points that fail the inspection; Step S202-3, sampling point extension: the sampling point x sampled in step S202-2 rand Find the closest node x in the search tree near , starting from searching for the nearest node x near Start and extend towards the sampling point to get a new node x new ; Step S202-4, collision detection: determine node x near With the new node x new Connection E i Whether there is a collision with an obstacle or an avoidance zone; if yes, the node that collided is discarded and the process returns to step S202; if no, a new node x that does not collide is added. new Add to the node set V and connect E i Add to edge set E; 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; Step S202-6: Determine the new node x added to the node set V near With the target point x goal Is the distance greater than the set distance threshold? If yes, return to step S202-2 to repeat sampling, extension, and collision detection; if no, terminate sampling and set the target point x goal Add to the node set V and search for a shortest path; Step S202-7, adaptive path convergence; using adaptive step size from the path initial point x init and the target point x goal The sampling points are extended within the ellipse as the focus, the planned path is converged, and the planning result is obtained.
7. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 6, characterized in that: The step S203 includes: Step S203-1: Input the path C obtained in step S202 = {x1x2…x n }; 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 }, judge x i With x j The connection ij Whether there is a collision with an obstacle; Step S203-3: If x i With a certain x j Collision, then x i With x j All the path points in the middle are removed, and i=j is executed, and step S203-2 is repeated; if x i With all x j If there is no collision, then x i With x n All the path points in the middle are removed and the process ends, outputting the optimized path C. * .
8. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 5, characterized in that: The collaborative scanning path planning of step S3 includes: Step S301, converting the task area into a polygon with holes; Step S302, decomposing the polygon with holes by using the ox-ploughing block unit to generate multiple block units; Step S303, determining the routing order of the block units and generating a scanning path covered by a single slope scanning line in each block unit, and connecting the scanning paths of each block unit in series to form a complete covering scanning path; Step S304: segment the coverage scanning path and assign it to each drone that performs the task in the area. Use the particle swarm optimization algorithm to make the total path length the shortest and the difference in path length of each drone as balanced as possible, and finally form a coverage scanning path planning result for multi-drone collaboration.
9. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 8, characterized in that: The step S302, decomposing the cattle-ploughing block unit into an improved cattle-ploughing block unit decomposition, comprises: Step S302-1, determining the sides of the polygon with holes according to the vertices of the polygon with holes; Step S302-2, selecting the vertical directions of each side of the polygon as all possible decomposition directions; Step S302-3: for each possible decomposition direction, use the best bidirectional covering decomposition (BCD) algorithm to calculate multiple polygonal units formed by decomposition in the direction; Step S302-4, respectively obtain the optimal sweep direction of each polygonal unit, and use the vertical direction of the sweep direction as the height of the decomposition unit, and calculate the minimum height sum of these decomposition units; Step S302-5, by comparing the minimum height sums obtained in different decomposition directions, finally determining the best decomposition result; Step S302-6, multiple units obtained by optimal decomposition are merged to form a final block unit; The merging process starts with the unit with a smaller area, finds another unit with the longest intersection line with it, and attempts to merge it; the conditions for unit merging include: the newly formed unit can find a sweep direction so that any sweep line that passes through the unit in the sweep direction has no more than two intersections with the unit; the height of the merged unit is less than or equal to the height of the unit before merging.
10. The method for multi-UAV target allocation and path planning for performing multi-target type tasks according to claim 8, characterized in that: The step S304 includes: Step S304-1, segment the coverage scanning path according to the number of drones, determine the starting point and end point of each path segment according to the segmentation points; calculate the distance information including the distance from the mission starting point of each drone to the starting point or end point of each path segment; Step S304-2, traverse the calculated distance information, find the drone coverage scanning path allocation scheme that minimizes the total path length, use it as the optimized segmentation index, and output the path and path length of each drone; Step S304-3, perform local optimization of the divided path segments based on the particle swarm optimization method; during the particle swarm optimization process, add disturbances to 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 divide the coverage scanning path of the drone.
Citation Information
Patent Citations
Unmanned aerial vehicle track planning method based on particle swarm and PRM algorithm
CN109683630A
Automobile-mounted multi-unmanned aerial vehicle cooperative multi-area coverage path planning method and system
CN112945255A
Multi-target task allocation method
CN112965521A
Staged multi-base unmanned aerial vehicle task allocation and flight path planning method
CN113671985A
Multi-unmanned aerial vehicle area detection full-coverage task planning method
CN117369515A
Cited By
Multi-aircraft collaborative search task planning method, system, equipment and medium
CN122308464A