Coverage path planning method for coordination of multiple unmanned aerial vehicles in complex task area
By converting complex task areas into porous polygons and using oxgrown block unit decomposition and particle swarm optimization algorithms, the problem of collaborative task planning of multiple drones in complex areas is solved, and efficient coverage path planning and task execution efficiency are achieved.
Patent Information
- Application Number
- CN202510129010.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-05
- Publication Date
- 2025-06-10
AI Technical Summary
The prior art is difficult to effectively solve the problem of collaborative mission planning of multiple drones in complex areas, especially when there are multiple avoidance areas, no-fly areas or areas with altitude that do not meet the flight requirements in irregular polygonal areas.
By converting complex task areas into holed polygons, multiple block units are generated using the oxgrown block unit decomposition and the optimal bidirectional coverage decomposition algorithm, and a sweep path covered by a single slope scan line is generated within the block unit. Then, the overlay path is segmented and allocated to multiple drones using a particle swarm optimization algorithm, so that the total path length is shorter and the path length difference between each drone is evenly matched.
It has achieved rapid generation of multi-UAV coverage paths in complex areas, significantly improving the efficiency of mission execution, and is suitable for agriculture, forestry and plant protection, fire protection and disaster relief, rescue and other fields.
Smart Images

Figure CN120124828A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of multi-UAVs, and particularly to a coverage path planning method for multi-UAV collaboration in complex mission areas. Background Art
[0002] In recent years, rotor UAVs have been widely used in many fields such as power inspection, agricultural and forestry plant protection, and rescue due to their flexible movement, simple operation, wide field of view, variable payload and other characteristics. In these applications, the coverage path planning in simple areas has been fully utilized in actual operations, which can effectively improve the efficiency of task execution. However, for tasks in complex areas, the situation is more complex and intractable. These complex areas often present as irregular polygons, and there may be multiple avoidance areas, no-fly zones or areas where the height does not meet the flight requirements inside. These factors make path planning more difficult and challenging.
[0003] Currently, there is a relative lack of multi-UAV collaboration task planning methods for such complex areas. Therefore, there is an urgent need to develop a multi-UAV coverage path collaborative planning method that can handle complex two-dimensional areas to meet the needs in practical applications. Summary of the Invention
[0004] In view of the above analysis, the present invention aims to disclose a coverage path planning method for multi-UAV collaboration in complex mission areas; to solve the problem of multi-UAV collaboration task planning in complex areas.
[0005] The present invention discloses a coverage path planning method for multi-UAV collaboration in complex mission areas, including:
[0006] Step S1, converting the complex mission area into a polygon with holes;
[0007] Step S2, decomposing the polygon with holes by a plowing block unit to generate multiple block units;
[0008] Step S3, determining the routing order of the block units and generating a sweeping path covered by a single-slope scanning line within each block unit, and connecting the sweeping paths of each block unit to form a complete coverage path;
[0009] Step S4, segmenting the coverage path, allocating it to multiple UAVs, and using the particle swarm optimization algorithm to make the total path length the shortest and the path length differences of each UAV balanced, and finally forming a coverage path planning result for multi-UAV collaboration.
[0010] Further, in step S2, the plowing block unit decomposition is an improved plowing block unit decomposition; including:
[0011] Step S201: Determine each side of the polygon with holes based on each vertex of the polygon with holes.
[0012] Step S202: Select the vertical direction of each side of the polygon as all possible decomposition directions.
[0013] Step S203: 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.
[0014] Step S204: 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.
[0015] Step S205: By comparing the sums of the minimum heights obtained in different decomposition directions, finally determine the best decomposition result.
[0016] Step S206: The multiple units obtained by the best decomposition are further processed by merging to form the final block units.
[0017] In the merging process, start from the unit with a smaller area, find another unit with the longest intersection line with it, and attempt to merge; the conditions for unit merging include: the newly formed unit can find a sweeping direction such that any sweeping line passing through the unit in this sweeping direction intersects the unit at no more than two points; the height of the merged unit is less than or equal to the height of the unmerged unit.
[0018] Furthermore, step S3 includes:
[0019] Step S301: Block access order planning: Obtain the shortest path between each block unit, establish the Traveling Salesman Problem (TSP), and use the Hungarian algorithm to solve it to generate the path planning between each block unit.
[0020] Step S302: Block path planning: Establish a path loss criterion, access each block unit in order, and use the greedy algorithm to handle the path planning problem from the starting point until the entire block unit is scanned, so that the loss of the entire path is the lowest.
[0021] Furthermore, the calculation process of the block path planning in step S301 includes:
[0022] 1) Judge the distance between two block units;
[0023] Judge 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 path length of the shortest path combination as the matrix element in the shortest path matrix.
[0024] 2) Initialize two matrices for dynamic programming; one for storing the cost of the shortest path and the other for storing the current path;
[0025] 3) Solve the traveling salesman problem through dynamic programming, update the recursive calculation in the two matrices to obtain the shortest path and cost for visiting all block units, and get the order of block visits with the shortest path.
[0026] Furthermore, in step S302, the greedy algorithm is used to handle the coverage path planning problem of each block, and the formula for minimizing the internal path loss of each block is:
[0027] Cost k =L path-k / V l +n path-k ×90 / V a
[0028] In the formula, Cost k represents the path loss of the k-th block;
[0029] L path-k represents the total path length after completing the sweep of the k-th block starting from the current point;
[0030] n path-k represents the number of path points after completing the sweep of the k-th block starting from the current point;
[0031] V l represents the weight coefficient of length, and V a represents the weight coefficient of turning.
[0032] Furthermore, in the sequence of path points that form a complete coverage path by concatenating the sweep paths of each block unit, there are line segment point sequences with two path attributes: sweep lines and connection lines; the sweep lines and connection lines alternate to form the coverage sweep path;
[0033] The sweep line is the path line that actually plays a sweeping role in the coverage sweep;
[0034] The connection line is the path line that connects two sweep lines and concatenates each of its sweep lines;
[0035] The types of connection lines include:
[0036] The internal connection line of the block represents the connection line inside the block;
[0037] The connection line between blocks represents the connection line between blocks;
[0038] The connection line between the starting point and the ending point of the UAV represents the connection line from the starting point of the UAV to the scanning line and the connection line from the scanning line to the ending point of the UAV.
[0039] Further, step S4 includes:
[0040] Step S401: Segment the coverage path according to the number of drones, and determine the start and end points of each path segment based on the segmentation points; calculate the distance information including the distance of each drone from the mission start point to the start or end point of each path segment.
[0041] Step S402: Traverse the calculated distance information, find the drone coverage 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.
[0042] Step S403: 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, perform iteration with the optimized segmentation index as the objective function, and finally find the optimized segmentation index that minimizes the total path length to perform the coverage path division of the drones.
[0043] Further, in step S401, it includes:
[0044] 1) Path division: Divide the total coverage sweep path 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 path planning as the separation index.
[0045] 2) Determine the start and end points of each path segment based on the separation index; the start and end points of each path segment are points with the attributes of the sweep line.
[0046] 3) Calculate the distance information including the distance of each drone from the mission start point to the start or end point of each path segment through two distance calculation methods: forward order or reverse order.
[0047] Further, in step S402, the calculation process of the optimized segmentation index includes:
[0048] 1) Construct a cost matrix; each element of the cost matrix is the distance of the drone from the start point to the start or end point of the path segment calculated through two distance calculation methods: forward order or reverse order.
[0049] 2) Solve using an optimization algorithm: Use the Hungarian algorithm to solve the cost matrix and find the allocation scheme with the minimum total path length.
[0050] 3) Determine the optimal path allocation: Based on the output of the Hungarian algorithm, determine the path and path length of each drone.
[0051] Further, in step S403, local optimization is performed by using the particle swarm algorithm; 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 velocity 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 velocity of the particles are adjusted according to the inertia, cognitive, and social components, and finally the segmentation index that minimizes the total path length is found.
[0052] The fitness function is determined by the process of optimizing the segmentation index in step S402; the path length value output by the optimized segmentation index is used to evaluate the quality of the current position of the particle.
[0053] One of the beneficial effects that can be achieved by the present invention is as follows:
[0054] The multi-UAV coverage path partitioning method based on particle swarm optimization disclosed by the present invention improves the process of ox-plowing block unit decomposition. It not only applies to areas with dense PWH hole distributions but also includes areas with irregular outer boundaries (concave polygons), forming a reasonable division of the graph, which is beneficial for subsequent sweeping path planning. The block routing connection problem is solved by the TSP problem, and the coverage path planning problem of each block is processed by using the greedy algorithm, so that the path loss inside each block is the lowest. Finally, the coverage path is segmented and assigned to multiple UAVs, and the particle swarm optimization algorithm is used to make the total path length the shortest and the path length differences of each UAV balanced, and finally a multi-UAV collaborative planning result is formed. Compared with the prior art, the method of the present invention can quickly generate the multi-UAV coverage path of complex blocks, greatly improving the task execution efficiency. This method is applicable to fields such as agricultural and forestry plant protection, fire fighting and disaster relief, and rescue, significantly improving the task execution efficiency. Description of the Drawings
[0055] 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 represent the same components.
[0056] Figure 1 It is a flowchart of the coverage path planning method for multi-UAV collaboration in a complex task area in an embodiment of the present invention;
[0057] Figure 2 It is an example diagram of a typical polygon with holes in an embodiment of the present invention;
[0058] Figure 3 It is an example diagram of the attributes of a path segment in an embodiment of the present invention;
[0059] Figure 4 It is an example diagram of the composition of a typical path point in an embodiment of the present invention;
[0060] Figure 5 This is an example diagram of a typical path division result in an embodiment of the present invention;
[0061] Figure 6 This is an example diagram of a typical selection result of the starting point and ending point of a path segment in an embodiment of the present invention;
[0062] Figure 7 This is a schematic diagram of the particle swarm optimization algorithm process in an embodiment of the present invention. Detailed implementation manners
[0063] Next, the preferred embodiments of the present invention will be specifically described 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.
[0064] An embodiment of the present invention discloses a coverage path planning method for multi-UAV collaboration in a complex mission area, as Figure 1 shown, including:
[0065] Step S1: Convert the complex mission area into a polygon with holes;
[0066] Step S2: Decompose the polygon with holes through a plowing-block unit to generate multiple block units;
[0067] Step S3: Determine the routing order of the block units and generate a sweeping path covered by a single-slope scanning line within each block unit, and concatenate the sweeping paths of each block unit to form a complete coverage path;
[0068] Step S4: Segment the coverage path, allocate it to multiple UAVs, and use the particle swarm optimization algorithm to make the total path length the shortest and the path length differences of each UAV balanced, and finally form a coverage path planning result for multi-UAV collaboration.
[0069] Specifically, in step S1, converting the complex mission area into a polygon with holes (PWH) can be formed 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 regions 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 regions in the real world, especially in computer graphics and geographic information systems (GIS).
[0070] As Figure 2 shown, it is an example diagram of a typical polygon with holes.
[0071] Specifically, in step S2, the Boustrophedon Cellular Decomposition (BCD) is an improved Boustrophedon Cellular Decomposition;
[0072] In the conventional Best Bi - directional Coverage Decomposition BCD algorithm, when encountering an IN event or an OUT event, cell decomposition or merging will occur. However, in areas where the PWH hole distribution is relatively dense, these decompositions or mergings will lead to dense partitioning of the graph, which is not conducive to subsequent sweep path planning. Therefore, in this embodiment, the Boustrophedon Cellular Decomposition is improved; specifically including:
[0073] Step S201: Determine the sides of the polygon with holes based on the vertices of the polygon with holes;
[0074] Step S202: Select the vertical direction of each side of the polygon as all possible decomposition directions;
[0075] Step S203: For each possible decomposition direction, use the Best Bi - directional Coverage Decomposition BCD algorithm to calculate the multiple polygon cells formed by the decomposition in this direction;
[0076] Step S204: Respectively obtain the optimal sweep direction of each polygon cell, and use the vertical direction of this sweep direction as the height of the decomposition cell, and calculate the sum of the minimum heights of these decomposition cells;
[0077] Step S205: By comparing the sums of the minimum heights obtained in different decomposition directions, finally determine the best decomposition result;
[0078] Step S206: The multiple cells obtained by the best decomposition are then merged to form the final block cells.
[0079] In the merging process, starting from the cell with the smaller area, find another cell with the longest intersection line with it and attempt to merge; for the merging to succeed, the following two conditions need to be met: First, the newly formed cell can find a sweep direction such that any sweep line passing through the cell in this sweep direction intersects the cell at no more than two points, that is, 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, that is, the newly formed merged cell has a more reasonable sweep plan. The merged cells that meet the above two conditions reduce the number of block cells and can avoid adding more sweep bending points, thereby improving the sweep efficiency.
[0080] Specifically, step S3 of determining the routing order of the block cells and generating a sweep path covered by a single - slope scan line within each block cell, and concatenating the sweep paths of each block cell to form a complete coverage path; includes:
[0081] Step S301, Block Access Order Planning: Calculate the shortest paths between each block unit, establish a TSP problem, and use the Hungarian algorithm to solve it to generate the path planning between each block;
[0082] Before the coverage 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, calculate the shortest paths between each block, establish a TSP problem, and use the Hungarian algorithm to solve it to generate the path planning between each block.
[0083] Given that the complexity of the sweeping path planning within the PWH is relatively low, the Dijkstra algorithm or the A* algorithm can be used to obtain the paths between any two points within the PWH and calculate the path lengths. Calculate and fill in the "shortest distance matrix" to obtain the shortest paths between each unit.
[0084] Specifically, the calculation process of the path planning includes:
[0085] 1) Judge the distance between two block units;
[0086] Judge whether two block units are adjacent. If they are adjacent, the distance is 0. If they are not adjacent, it is necessary to traverse each vertex, calculate to obtain 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;
[0087] 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;
[0088] 3) Solve the Traveling Salesman Problem (TSP) through dynamic programming to obtain the block access order with the shortest path;
[0089] Since the scale of the current merged block units is limited, the Traveling Salesman Problem can be solved through a dynamic programming function. This function recursively calculates the shortest paths for visiting all block units and updates these paths and costs in the two matrices; if all nodes have been visited, return 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.
[0090] Step S302, 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.
[0091] Use the greedy algorithm to handle the coverage path planning problem of each block, so as to minimize the path loss inside each block. The formula is as follows:
[0092] Cost k =L path-k / V l +n path-k ×90 / V a
[0093] In the formula, Cost k represents the path loss of the k-th block;
[0094] L path-k represents the total path length after completing the sweep of the k-th block starting from the current point;
[0095] n path-k represents the number of path points after completing the sweep of the k-th block starting from the current point;
[0096] V l represents the weight coefficient of length, which is approximately estimated at 10 m / s in this scheme;
[0097] V a represents the weight coefficient of turning, which is approximately estimated at 60° / s in this scheme.
[0098] When calculating the coverage path of the block unit, first select the starting point of any drone as the "current point" (since there is a subsequent path allocation link, this selection does not represent the final allocation). Starting from the "current point", perform the sweep planning of each block unit in turn according to the routing order; for each block unit, analyze all feasible sweep directions and calculate all possible unit scan paths, and record the starting point of each unit sweep scheme as the "unit starting point".
[0099] Calculate the path planning from the "current point" to each "unit starting point" and the sweep path planning inside the block unit respectively. Next, starting from the "current point", traverse all the calculated scan path schemes, 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 sweep path of the current block unit. At the same time, record the end point of the sweep path of the current block unit as the starting point of the next path (i.e., the "current point") and start the sweep planning of the next block unit.
[0100] The sweep lines for area coverage path planning are generated at equal intervals starting from the sweep start point. However, at the end of the generation, there may be a situation where there is not enough space to place a sweep line, which may lead to insufficient coverage. Therefore, to avoid insufficient coverage, the distance from the vertices of each block unit to the coverage sweep 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 sweep line also covers the entire block; if the distance from the vertex to the coverage line is less than half of the sweep width, a sweep line passing through the vertex needs to be added.
[0101] After completing the sweep planning for all units, check whether it is necessary to complete the sweep task at the specified end point (only in the case of a single machine with an end point). If necessary, add a path planning section from the "current point" to the specified end point.
[0102] Complete the sweep planning for all units, and concatenate the sweep paths of each block unit to form a complete coverage path; the coverage path is composed of a sequence of path points;
[0103] The sequence of path points in the coverage path includes the line segment points of two path attributes: sweep lines and connection lines; the sweep lines and connection lines alternate to form the coverage sweep path;
[0104] Sweep Line (SL): The path line that actually performs the sweeping function in the coverage sweep;
[0105] Connection Line (CL): The path line that connects two sweep lines and is used to concatenate each sweep line to achieve the path planning effect.
[0106] In the coverage sweep, the actual coverage is achieved by the sweep lines, while the connection lines, as auxiliary path lines, are used to concatenate each sweep line to achieve the path planning effect;
[0107] In the coverage sweep, the PWH is divided into different internal blocks, and 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 sweep lines with different sweep directions to achieve more comprehensive coverage sweep; the sweep lines inside the block, the sweep lines between blocks, as well as the starting point and end point of the UAV are connected by connection lines.
[0108] Based on this, the connection line (CL) further includes the following types:
[0109] Sweep Connection Line (SCL) inside the block: Represents the connection line inside the block.
[0110] Block Connection Line (BCL) between blocks: Represents the connection line between blocks.
[0111] Robot Connection Line (RCL): Represents the connection line from the starting point of the drone to the scanning line, and the connection line from the scanning line to the ending point of the drone.
[0112] The path in the coverage sweep is composed of alternating sweep lines (SL) and connection lines (CL); there is at least one connection line between two sweep lines; as Figure 3 shown in the example diagram of the path segment attributes; it should be noted that the connection line may contain multiple parts, for example, the path may be a sweep line, a connection line, a connection line, a sweep line. Each connection line (CL) can be an internal-block connection line (SCL), an inter-block connection line (BCL), or a drone connection line (RCL).
[0113] As Figure 4 shown, a typical path example is given in this embodiment:
[0114] ● The path starts from the starting point and reaches the first sweep line (SL) through one or more drone connection lines (RCL);
[0115] ● Then, complete the scanning of a certain area through the combination of the internal-block connection line (SCL) and the sweep line (SL);
[0116] ● 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);
[0117] ● After all areas are scanned, navigate to the end point through the drone connection line (RCL) to complete the entire path.
[0118] Accordingly, the information contained in each path point in the path point sequence is: path point serial number, path point coordinates, the line segment attribute pointing to the previous path point, and the line segment attribute pointing to the next path point; the path point sequence contains each path point generated by the coverage path planning and is arranged in order.
[0119] Specifically, step S4 includes:
[0120] Step S401: Segment the coverage path according to the number of drones, determine the starting point and ending point of each path segment based on the segmentation points; calculate the distance information including the distance of each drone from the task starting point to the starting point of each path segment or the ending point of the path segment;
[0121] Step S402: Traverse the calculated distance information, find the UAV coverage 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 UAV.
[0122] Step S403: Perform local optimization of dividing the 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, perform iterations with the optimized segmentation index as the objective function, and finally find the optimized segmentation index that minimizes the total path length to perform the coverage path division of the UAVs.
[0123] Specifically, Step S401 includes:
[0124] 1) Path division: Divide the total path of the coverage sweep into the same number of path segments according to the number of UAVs; select the segmentation points for path division from the path point sequence of the coverage path planning as the separation index.
[0125] A reasonable separation index can ensure the balance of the path length when each UAV performs tasks. As Figure 5 shown in a typical example diagram of the path division result;
[0126] 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 the attributes of the sweep line.
[0127] Path segment start point: If the path after the segmentation point is a sweep line (SL), select the segmentation point as the start point of the path segment; if the path after the segmentation point is a connection line (CL), retrieve backward from the segmentation point until the first path point with the path after it being the sweep line SL is found as the start point of the path segment.
[0128] Path segment end point selection: If the path before the segmentation point is a sweep line SL, select the segmentation point as the end point of the path segment; if the path before the segmentation point is not a sweep line SL, retrieve forward until the first path point with the path before it being the sweep line SL is found as the end point of the path segment.
[0129] As Figure 6 shown in a typical example diagram of the selection result of the start point and end point of the path segment;
[0130] 3) Calculate the distance information including the distance from the task start point of each UAV to the start point or end point of each path segment through two distance calculation methods: forward order or reverse order.
[0131] After determining the start and end points of each path segment, it is necessary to calculate the distance from the mission start point to the start point of each path segment or the end point of the path segment for each drone; when the drone has a fixed mission end point, it is also necessary to calculate the distance from the other end of the path segment to the end point. Since the path can be traversed in the forward or reverse order, the distances in both cases need to be calculated separately.
[0132] Forward distance calculation:
[0133] Calculate the distance from the mission start point to the start point of the path segment for each drone;
[0134] Calculate the distance from the end point of the path segment to the mission end point (if there is a fixed end point) for each drone;
[0135] Reverse distance calculation:
[0136] Calculate the distance from the mission start point to the end point of the path segment for each drone;
[0137] Calculate the distance from the start point of the path segment to the mission end point (if there is a fixed end point) for each drone.
[0138] Specifically, in step S402, traverse the calculated distance information, and use the Hungarian algorithm to find the drone coverage path allocation scheme with the minimum total path length of all drones as the optimized segmentation index. The specific steps are as follows:
[0139] 1) Construct a cost matrix; each element of the cost matrix is the distance from the drone to the start point or end point of the path segment calculated by using two distance calculation methods, namely forward or reverse order.
[0140] 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;
[0141] 3) Determine the optimal path allocation: According to the output of the Hungarian algorithm, determine the path and path length of each drone.
[0142] For the optimized segmentation index (Optimize Division Indices, ODI) of this embodiment, obtain the path and path length of each drone from the divided path segments. And for any path segment division method, the ODI process can find an optimal total path length.
[0143] Specifically, in step S403, local optimization is performed by using the particle swarm algorithm, making 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 particles are adjusted according to the inertia, cognitive, and social components, and finally, the segmentation index that minimizes the total path length is found.
[0144] The multi-UAV path particle swarm optimization adopted in this embodiment is as Figure 7 shown and includes:
[0145] 1) Initialize the random number generator and the particle swarm;
[0146] 2) Perform the iterative main loop; in the main loop, each particle is updated, and its quality is evaluated according to the fitness function (fitness); by iteratively updating the particles, the global optimal solution is gradually found;
[0147] In each iteration, the position and speed of the particles are adjusted according to the inertia, cognitive, and social components, and finally, the segmentation index that minimizes the total path length is found;
[0148] The fitness function is determined by the optimized segmentation index ODI process in step S402; the path length value output by the optimized segmentation index ODI is used to evaluate the quality of the current position of the particle;
[0149] 3) After the main loop ends, return the global optimal position; the path and path length of each UAV of the optimized segmentation index of the final iteration are output as the final division result.
[0150] 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:
[0151] Velocity update formula:
[0152]
[0153] In the formula, v i (t) is the velocity of particle i at time t;
[0154] ω is the inertia weight, controlling the influence of the previous velocity of the particle;
[0155] c 1 and c 2 are acceleration constants, respectively representing the degree of following of the particle to its own optimal position and the global optimal position;
[0156] r 1 and r 2 are random numbers between [0, 1], increasing randomness and diversity;
[0157] is the historical best position of particle i;
[0158] is the global best position;
[0159] x i (t) is the current position of particle i at time t.
[0160] Position update formula:
[0161] x i (t + 1) = x i (t) + v i (t + 1)
[0162] x i (t + 1) is the new position of particle i at time t + 1;
[0163] x i (t) is the current position of particle i at time t;
[0164] v i (t + 1) is the new velocity of particle i at time t + 1.
[0165] Fitness evaluation:
[0166] The fitness of each particle is determined by the ODI process defined 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.
[0167] In the particle swarm algorithm, the optimized segmentation index process 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 drone; the function of the black box is: to obtain the path and path length of each drone from the divided path segments. Therefore, for any path segment division method with perturbations added at the segmentation points in the particle swarm algorithm, the ODI process can find an optimal total path length.
[0168] In summary, the coverage path planning method for multi-UAV cooperation in complex task areas disclosed in the embodiments of the present invention improves the process of ox-plowing block unit decomposition. It is applicable not only to areas with dense PWH hole distributions but also to areas with irregular outer boundaries (concave polygons), forming a reasonable division of the graph, which is beneficial for subsequent sweeping path planning. The block routing connection problem is solved through the TSP problem, and the coverage path planning problem for each block is processed using the greedy algorithm to minimize the internal path loss of each block. Finally, the coverage path is segmented and assigned to multiple UAVs, and the particle swarm optimization algorithm is used to minimize the total path length and balance the path length differences among the UAVs, ultimately forming the multi-UAV cooperative planning result. Compared with the prior art, the method of the present invention can quickly generate the multi-UAV coverage path for complex blocks, significantly improving the task execution efficiency. This method is applicable to fields such as agricultural and forestry plant protection, fire fighting and disaster relief, and rescue, significantly improving the task execution efficiency.
[0169] As described above, the specific embodiments of the present invention are merely preferred embodiments, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived 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 coverage path planning method for multiple UAVs in a complex mission area, characterized in that: include: Step S1, converting the complex task area into a polygon with holes; Step S2, decomposing the polygon with holes by using the ox-ploughing block unit to generate multiple block units; Step S3, determining the routing order of the block units and generating a sweep path covered by a single slope scan line in each block unit, and connecting the sweep paths of each block unit in series to form a complete coverage path; Step S4: segment the coverage path and assign it to multiple drones. Use the particle swarm optimization algorithm to minimize the total path length and balance the differences in path lengths of each drone, and finally form a coverage path planning result for multiple drones to work together.
2. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to claim 1 is characterized in that: The step S2, decomposing the cattle-ploughing block unit into an improved cattle-ploughing block unit decomposition, comprises: Step S201, determining the sides of the polygon with holes according to the vertices of the polygon with holes; Step S202, selecting the vertical directions of each side of the polygon as all possible decomposition directions; Step S203: 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 S204, 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 S205, by comparing the minimum height sums obtained under different decomposition directions, finally determining the best decomposition result; Step S206: The multiple units obtained by the 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.
3. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to claim 1, characterized in that: The step S3 comprises: Step S301, block access sequence planning: find the shortest path between each block unit, establish the TSP problem, and use the Hungarian algorithm to solve it, and generate the path planning between each block unit; Step S302, block path planning: establish a path loss criterion, visit each block unit in sequence, and use a greedy algorithm to process the path planning problem from the starting point until the entire block unit is scanned, so that the loss of the entire path is minimized.
4. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to claim 3 is characterized in that: The calculation process of block path planning in step S301 includes: 1) Determine the distance between two block units; Determine whether two block units are adjacent. If so, the distance is 0. If not, traverse each vertex and calculate the path length of the shortest path combination as the matrix element in the shortest path matrix. 2) Initialize two matrices for dynamic programming; one for storing the cost of the shortest path and the other for storing the current path; 3) Solve the traveling salesman problem through dynamic programming, update the shortest path and cost of visiting all block units in the two matrices, and obtain the block access sequence with the shortest path.
5. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to claim 3 is characterized in that: In step S302, a greedy algorithm is used to process the coverage path planning problem of each block, so that the formula for minimizing the internal path loss of each block is: Cost k =L path-k / V l +n path-k ×90 / V a In the formula, Cost k represents the path loss of the kth block; L path-k It represents the total length of the path after completing the k-th block sweep from the current point; n path-k Indicates the number of path points after completing the k-th block sweep starting from the current point; V l Represents the weight coefficient of length, V a Represents the weight coefficient of steering.
6. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to any one of claims 1 to 5, characterized in that: The path point sequence of a complete coverage path formed by connecting the sweep paths of each block unit in series includes a line segment point sequence with two path attributes, namely, a sweep line and a connecting line: the sweep line and the connecting line alternately form a coverage sweep path; The sweep line is the path line that plays the actual sweeping role in the coverage sweep; A connecting line is a path line connecting two sweep lines, connecting the sweep lines in series; Types of connecting cables include: Internal connection lines of blocks represent the connection lines inside blocks; The connection lines between blocks represent the connection lines between blocks; The connecting lines of the drone’s starting point and end point represent the connecting line from the drone’s starting point to the scan line, and the connecting line from the scan line to the drone’s end point.
7. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to claim 6, characterized in that: The step S4 comprises: Step S401: segment the coverage 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 to the starting point or end point of each path segment for each drone; Step S402: traverse the calculated distance information, find the UAV coverage 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 UAV; Step S403, local optimization of the divided path segments is performed based on the particle swarm optimization method; during the particle swarm optimization process, disturbances are added to the segmentation points of the path point sequence, and the optimization segmentation index is used as the objective function for iteration, and finally the optimized segmentation index that minimizes the total path length is found to divide the coverage path of the drone.
8. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to claim 7, characterized in that: In step S401, it includes: 1) Path division: according to the number of UAVs, the total path of the coverage sweep is divided into the same number of path segments; the segmentation points of the path division are selected from the path point sequence of the coverage path planning as the separation index; 2) Determine the starting point and the end point of each path segment according to the separation index; the starting point and the end point of each path segment are points with sweep line attributes; 3) Calculate the distance information including the distance from each UAV from the mission starting point to the starting point or end point of each path segment by using the forward or reverse distance calculation method.
9. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to claim 8, characterized in that: In step S402, the calculation process of optimizing the segmentation index includes: 1) Construct a cost matrix; each element of the cost matrix is the distance from the starting point of the drone to the starting point or end point of the path segment calculated using the forward or reverse distance calculation method; 2) Optimization algorithm solution: Use the Hungarian algorithm to solve the cost matrix and find the allocation solution with the minimum total path length; 3) Determine the optimal path allocation: Based on the output of the Hungarian algorithm, determine the path and path length of each drone.
10. The method for planning a coverage path for multi-UAV collaboration in a complex mission area according to claim 9, characterized in that: In step S403, local optimization is performed by using a particle swarm algorithm; in the particle swarm algorithm, a group of particles are initialized, 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 gradually finds the global optimal solution by iteratively updating the particles; in each iteration, the position and speed of the particles are adjusted according to the inertia, cognitive and social components, and finally the segmentation index that minimizes the total path length is found; The fitness function is determined by the optimized segmentation index process determined in step S402; the path length value output by the optimized segmentation index is used to evaluate the quality of the current position of the particle.
Citation Information
Cited By
Multi-unmanned aerial vehicle target allocation and path planning method for executing multi-target type task
CN120066118A
Multi-robot target assignment and path planning method for performing multi-target type tasks
CN120066118B