Topological connection coverage path planning method and system of unmanned ship cluster for wide-area target search and detection
By constructing large and small grid cell maps and rectangular topological connectivity graphs, and combining improved spectral clustering and dynamic pruning optimization, the problems of low computational efficiency and uneven distribution of unmanned surface vessel (USV) swarms in complex obstacle scenarios were solved, achieving efficient and balanced coverage path planning and improved detection accuracy.
Patent Information
- Application Number
- CN202511011790.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-22
- Publication Date
- 2025-10-31
AI Technical Summary
Existing unmanned surface vessel (USV) swarm coverage path planning algorithms suffer from low computational efficiency and poor distribution balance in large-scale complex obstacle scenarios. Furthermore, frequent path turns lead to a decrease in detection accuracy, making it difficult to achieve efficient and balanced area allocation and coverage.
By constructing large and small grid cell maps, a constraint relaxation model for minimum rectangle covering integer programming is established. Combining rectangular topological connectivity graphs and improved spectral clustering algorithms, task regions are allocated, and dynamic pruning optimization is performed using strong and weak connectivity characteristics to minimize the number of turns.
It achieves efficient and balanced area allocation and coverage path planning in large-scale complex obstacle environments, reducing the number of turns and improving detection accuracy and mission completion efficiency.
Smart Images

Figure CN120871854A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of multi-agent cooperative path planning technology, specifically relating to a topological connectivity coverage path planning method and system for unmanned surface vessel swarms used for wide-area target search. Background Technology
[0002] Currently, marine development and monitoring are key areas of focus. Faced with high-risk, high-cost, and time-consuming tasks such as regional exploration and environmental monitoring, unmanned surface vessels (USVs) have become important tools in this field due to their modularity, autonomy, lower cost, and high maturity. However, a single USV cannot meet the demands of large-scale and complex missions. Therefore, collaborative operations among multiple USVs, combined with efficient mission area allocation and coverage path planning technologies, can significantly improve operational efficiency and mission completion rates.
[0003] Unmanned surface vessel (USV) swarm coverage path planning can be conducted online or offline. Offline planning involves uniformly distributing feasible areas to each USV while avoiding known obstacle regions, thereby generating a coverage path that traverses feasible areas within each sub-region. In large-scale areas, existing algorithms often struggle to efficiently achieve uniform area distribution. Adding more complex and numerous obstacle constraints, such as harbors (concave obstacles) and narrow channels, further exacerbates key issues like poor distribution balance, solution failure, low computational efficiency, and missed coverage areas. Furthermore, frequent turns during coverage reduce detection accuracy at boundaries and turns. Since many current algorithms rely solely on spiral or zigzag coverage patterns with frequent turns, minimizing the number of turns while considering coverage rate and path length is crucial.
[0004] The patent "A Multi-Robot Full-Coverage Path Planning Method for Complex Areas in Agriculture" (Publication No.: CN119200618A) decomposes the region into several convex sub-regions using an improved Maklink line decomposition method. It then plans the internal paths of each sub-region using a reciprocating coverage pattern and employs the Dijkstra method to plan the connection paths between any two sub-regions. Finally, considering factors such as minimizing the total connection path for all robots and achieving balanced region allocation, an improved NSGA-II algorithm is used to obtain the multi-robot full-coverage path results. However, this algorithm results in numerous turns in the coverage path, and the sub-regions decomposed by Maklink have complex shapes, large areas, and insufficient precision, thus limiting the balance of the allocation results.
[0005] The patent "A Single Unmanned Surface Vessel Coverage Path Planning Method Based on Theta* Backtracking" (Publication No.: CN113377105A) describes a method where the unmanned surface vessel (USV) initiates a zigzag scan based on the directional priorities of south, northeast, and west, continuing until the easternmost edge of the environmental map is reached. The Theta* algorithm is then used to find the optimal backtracking path, covering any missed areas until all areas are covered. However, this algorithm, being a single USV coverage planning method, suffers from a template-based zigzag approach that is difficult to apply to complex environments, leading to an increased number of turns. Furthermore, it fails to consider the impact of concave obstacles and narrow passageways, potentially causing deadlock issues.
[0006] The patent "A Multi-UAV Distributed Coverage Path Planning Method Based on Electronic Nautical Charts" (Publication No.: CN115437380A) designs a roulette wheel selection algorithm, which provides an optimized initial position set for the region segmentation of multiple unmanned vessels, ensuring that the divided sub-regions maintain the regularity of region shape while keeping the area approximately the same. Finally, the minimum spanning tree is obtained by "selecting the optimal from multiple spanning tree templates", thus obtaining a coverage path with fewer turns. This algorithm is computationally inefficient in large-scale regions. It does not consider the influence of concave obstacles and narrow passages when allocating regions, which may lead to discontinuous sub-regions or even failure in allocation. At the same time, the template-based spanning tree selection method cannot be used in complex environments, and the number of turns still needs further optimization.
[0007] The paper "TMSTC*: A Path Planning Algorithm for Minimizing Turns in Multi-Robot Coverage" transforms minimizing turns into a minimum rectangle coverage problem and solves it using the maximum flow algorithm. Based on the rectangle partitioning results, a greedy strategy is employed to construct a minimum spanning tree with the fewest turns and form coverage paths around the spanning tree. Finally, the path points of the coverage paths are evenly distributed to achieve multi-agent coverage planning. This algorithm constructs the minimum spanning tree by selecting the edge that minimizes the increase in the number of turns after connecting adjacent rectangles, which results in a non-optimal number of turns. It is necessary to simultaneously consider the reduction of edges within rectangles and the addition of edges between rectangles to achieve the optimal number of turns.
[0008] The aforementioned literature does not fully consider the minimization of turns when generating coverage paths and neglects the region allocation problem in large-scale scenarios with complex and numerous obstacles (such as harbors and narrow alleys). In such scenarios, it is difficult to achieve good region allocation and coverage planning results, affecting the task completion time, coverage rate, and detection rate of target search. Therefore, this invention proposes a topology connectivity coverage path planning method for wide-area target search using unmanned surface vessel swarms. This method solves the region allocation problem in large-scale areas with complex obstacle interference, achieving efficient and balanced region allocation. At the same time, it comprehensively considers the turning cost and performs spanning tree pruning to maximize the optimization of the number of turns in the coverage path. Summary of the Invention
[0009] This invention solves the common problems of low computational efficiency, poor distribution balance, and even solution failure in large-scale complex obstacle scenarios, as well as the attenuation of detection accuracy at boundaries and turns due to frequent path turns.
[0010] This invention provides a topology connectivity coverage path planning method for an unmanned surface vessel (USV) swarm for wide-area target search, comprising:
[0011] Step 1: Construct a map based on the region size and obstacle distribution, dividing the map into large and small grid cells; establish a constraint relaxation model for minimum rectangle coverage integer programming based on the large grid cells, and introduce obstacle constraints into the model; construct a maximum expansion candidate set using the maximum lateral and maximum vertical candidate rectangles of each free grid cell, solve the integer programming relaxation model, and obtain the initial minimum rectangle redundant coverage result R. init Based on the redundancy coverage results, a precise allocation integer programming model is constructed and solved to obtain the accurate minimum rectangular coverage result R. acc ;
[0012] Step 2: Based on the rectangular adjacency relationships under the minimum rectangular coverage, construct a rectangular topological connected graph and solve for the adjacency matrix, degree matrix, and normalized Laplacian matrix to obtain the normalized eigenvectors corresponding to the K smallest eigenvalues, and form an eigenvector matrix; introduce node weights, spectral spatial distance, and node degree to calculate the node sampling probability and initial cluster center, and use an improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees to allocate task regions;
[0013] Step 3: Construct strong and weak connections between grids within a cluster and a set of candidate pruning edges; perform pruning operations using a dynamic pruning optimization method based on the minimum angle spanning tree with strong and weak connection characteristics;
[0014] Step 4: Generate closed-loop paths around the minimum turning angle spanning tree in the small grids within each cluster, thereby completing the coverage path planning.
[0015] Further, in step 1, the objective function of the constraint relaxation model for the minimum rectangular covering integer programming is:
[0016]
[0017] Among them, C rec Let be the candidate set of rectangles; u is the index of the rectangle in the candidate set; y u ∈{0,1} is the selection variable for the rectangle, y u =1 indicates that the rectangle with the number u is selected; R represents the total number of rectangles currently in existence; init This is the minimum rectangular redundancy coverage result obtained after solving the constraint relaxation model.
[0018] 3. The topological connectivity coverage path planning method for unmanned surface vessel swarms for wide-area target search according to claim 1, characterized in that, in step 1, the constraint conditions of the constraint relaxation model of the minimum rectangular coverage integer programming are:
[0019] (1) Rectangular direction constraint: Each rectangle is required to expand in only one direction. Therefore, rectangles are divided into horizontal rectangles and vertical rectangles. The horizontal rectangle u∈C rec If the starting point is the leftmost grid (i,j)∈u, then e i,j =0, it can only expand horizontally to the right (width greater than 1), but its vertical height is 1; the vertical rectangle u∈C rec If the starting point is the bottommost grid (i,j)∈u, then e i,j =1, it can only expand vertically upwards (height greater than 1), but its horizontal width is 1;
[0020] (2) Rectangle size constraint: Define the set of free cells in the map If grid (i,j)∈F is chosen as the starting point of the rectangle, then the size of the rectangle starting at grid (i,j) does not exceed the length of the continuous feasible region in its expansion direction:
[0021]
[0022] Among them, wid i,j `wid(i,j)` represents the width of the horizontal rectangles, and `wid(i,j)` represents the set of widths of all horizontal rectangles starting from grid (i,j); `heig` represents the width of the horizontal rectangles. i,j The width of the vertical rectangle is represented by heig(i,j), which represents the set of widths of all vertical rectangles starting from grid (i,j); M and N are the length and width of the map, respectively.
[0023] (3) Mesh Coverage Constraint: For any free mesh (i,j)∈F, ensure that mesh (i,j) is covered by at least one rectangle:
[0024]
[0025] Among them, y u ∈{0,1} is the rectangle selection variable in the objective function; y u =1 indicates that the u-th rectangle in the candidate set is selected;
[0026] (4) Network attribution constraint: Define rectangle numbering variable id i,j Let the rectangle number of the free grid (i,j)∈F be recorded. If adjacent grids are merged into the same rectangle, they have the same ID. Therefore, for any rectangle u∈C rec Each grid is free;
[0027]
[0028] Further, in step 1, the maximum expansion candidate set of the constraint relaxation model for the minimum rectangular covering integer programming is:
[0029] C rec '=C H ∪C V
[0030] C H ={c H (i,j)=(i,j,1,wid max (i,j))|(i,j)∈F}
[0031] C V ={c V (i,j)=(i,j,heig max (i,j),1)|(i,j)∈F
[0032] Among them, C H For the horizontally largest expansion candidate set; C V For the maximum vertical expansion candidate set; wid max (i,j) represents the maximum horizontal rectangle size; heig max (i,j) represents the size of the maximum vertical rectangle;
[0033]
[0034] Further, in step 1, the integer programming model for locally exact allocation is:
[0035]
[0036] Where F' is the set of overlapping meshes; R init This represents the initial minimum rectangular redundancy coverage result.
[0037] F' = {f ∈ F: cov(f) = 2}
[0038] cov(f)=|{u∈R init :f∈u}|
[0039] Solving the above model yields the accurate minimum rectangular cover result R. acc Where cov(f) represents the number of times each free element f = (i,j) is covered. Assuming a redundant coverage grid f... i The relevant rectangles are u1 and u2, and redundant covering mesh f should be discarded. i 'The rectangle u1:f i 'Must be a u1 end mesh, i.e. Requires redundant coverage grid f i 'The rectangle to which it belongs, u2:f i 'Can be any grid in u2, i.e.
[0040] Furthermore, in step 2, the task region allocation using the improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees is specifically as follows:
[0041] Step 2.1: Introduce node weight w, spectral spatial distance l, and node degree d, and calculate the sampling probability p of each node. u(k) And select the initial cluster center.
[0042]
[0043] Where, p u(1) This indicates the determination of the first initial cluster center. The sampling probability of time node u, (0) indicates that the iteration has not started; w u d represents the number of grid cells contained in the rectangle corresponding to node u; u This represents the number of adjacent rectangles of the rectangle corresponding to node u, and its value is the u-th element D on the diagonal of the degree matrix D. uu , that is, d u =D uu ; U represents the minimum squared distance from candidate node u to the current initial cluster center. u The element in the u-th row of the eigenvector matrix U; v(k) Similarly; β1 and β2 are the spectral space distance coefficient and the node weight coefficient, respectively; u1~Categorical(p u(1) |u∈[1,|R acc |]) indicates that based on the probability weights p of each node u(1) The constructed discrete probability distribution is selected from the first cluster center rectangle, u kSimilarly, u k For the k-th cluster center rectangle in set R acc The number in; This indicates that the u-th element in the spectral space matrix U is... k The row serves as the spectral space vector of the k-th initial cluster center. Define the cluster center set as The candidate node set is
[0044] Step 2.2: Perform node clustering around the current cluster center, considering node weights, spectral spatial distance, connectivity penalties, and load balancing penalties, and calculate the cost Δ of assigning each node u to cluster k. uk The smaller the value, the higher the priority for node u to be assigned to cluster k; regardless of whether the current node u belongs to a certain cluster, the node will be assigned to cluster k with the lowest cost and without exceeding the load balancing limit. u In the middle; before confirming the allocation, it is necessary to ensure that the current node u is allocated to cluster k. u The connectivity, if node u is assigned to cluster k in the current iteration u Cluster k cannot be guaranteed u If the connectivity within the interval is not found, skip the current iteration and recalculate Δ in the next iteration. uk And confirm their own affiliation;
[0045] Step 2.3: Update the cluster center of each cluster; use the weighted average of the nodes within the cluster as the new cluster center of cluster k:
[0046]
[0047] in, Let be the set of nodes contained in cluster k after the (t-1)th iteration;
[0048] If a cluster exists If the set is empty, then after the other cluster centers have been updated, the candidate set from the current node will be selected. Select the node u with the smallest minimum square distance to all current cluster centers as the new cluster center of that cluster;
[0049] Step 2.4: Considering the spectral embedding compactness and load balancing within each cluster, calculate the global objective function for the current iteration based on the updated cluster centers. and maximum cluster center displacement
[0050]
[0051] in, Used to evaluate the clustering quality after the current iteration; α1 and α2 are the spectral embedding compactness coefficient and the load balancing coefficient, respectively; W represents the number of nodes in the cluster after the current iteration;tot / K represents the average load when the number of unmanned surface vessels is K, W tot The sum of the weights of the global free grid; U u This represents the u-th row vector in the spectral space matrix U;
[0052] Step 2.5: Determine the global iterative objective function Changes in the maximum cluster center displacement If the current iteration number t is less than a certain threshold, or if the current iteration number t has reached the maximum iteration number, then terminate the current loop and proceed to step 2.6; otherwise, return to step 2.2 to continue iterating.
[0053] Step 2.6: After the iteration is complete, adjust the inter-cluster boundary shape assignment based on a greedy strategy, and evaluate the attribution of all boundary nodes u from cluster k. u Reassigned to cluster k to which its neighbor node v belongs v The change in the standard deviation of the load Δ std If Δ std A value greater than τ is considered a valuable reallocation; otherwise, the reallocation is ignored. This continues until no Δ is found. std A redistribution operation greater than τ occurs, resulting in the final region allocation result, where τ represents the threshold for the change in load standard deviation.
[0054] Furthermore, in step 2.2, the cost Δ for assigning node u to cluster k is... uk for:
[0055]
[0056]
[0057] in, The smaller the value, the higher the priority of node u in cluster k; This is the ratio of spectral spatial distance to rectangular weights; The connection penalty is N(u), where N(u) is the number of neighbors of node u, and C is the number of neighbors of node u. k Let |N(u)∩C be the set of nodes contained in cluster k. k | represents the number of neighbors of node u located in cluster k; As a load balancing penalty, For the current total load of cluster k, |L k +w u -W tot / K| represents the difference between the total load and the average load after node u is added to cluster k, where γ1, γ2, and γ3 are weighting coefficients; w u w v Let u and v be the weights.
[0058] Furthermore, in step 3, the "strong connection edge" in the strong and weak connection relationship is the internal connection established between adjacent grids within each rectangle, and the "weak connection edge" is the cross-rectangle connection established between the grids at the beginning and end of each rectangle and their adjacent grids in the neighboring rectangles; the candidate pruning edge set includes all weak connection edges and strong connection edges connected to the two endpoints of all weak connection edges.
[0059] Furthermore, in step 3, the pruning operation using the minimum angle spanning tree dynamic pruning optimization method based on strong and weak connection characteristics specifically involves:
[0060] Step 3.1: Use breadth-first search to remove bridge edges from the candidate pruning edge set in each cluster, and then calculate the weight edge_w of each candidate edge in the current candidate pruning edge set. The candidate edge weight consists of two parts, namely edge_w1, the number of turns at the two nodes of the edge after pruning the candidate edge, and edge_w2, the change in the number of turns at the two nodes of the edge.
[0061] Step 3.2: Perform pruning operations within each cluster, prioritizing the candidate edge with the smallest edge_w2 as the pruned edge; if multiple candidate edges with the smallest edge_w2 exist simultaneously, prioritize the candidate edge with the smallest edge_w1 among these candidate edges as the pruned edge; if multiple candidate edges with the smallest edge_w1 exist simultaneously, prioritize the weakly connected edge formed by connecting the end meshes of two different rectangles as the pruned edge; when multiple weakly connected edges formed by connecting the end meshes of two different rectangles exist, randomly select any candidate edge as the pruned edge. Branch edge; when there is no weak connection edge formed by connecting the end meshes of two different rectangles, the weak connection edge formed by connecting the end mesh of one rectangle with the inner mesh of another rectangle is selected as the pruning edge; when there are multiple weak connection edges formed by connecting the end mesh of one rectangle with the inner mesh of another rectangle, any candidate edge is randomly selected as the pruning edge; when there is no weak connection edge formed by connecting the end mesh of one rectangle with the inner mesh of another rectangle, any strong connection edge is randomly selected as the pruning edge from multiple candidate edges with the smallest edge_w1.
[0062] Step 3.3: After the pruning operation is completed, update the candidate pruning edge set of each cluster, the strong and weak connections between each node and its neighbors, and the number of turns of the current node. At the same time, if the pruned edge is a weak connection edge, directly perform the iteration termination judgment. If the pruned edge is a strong connection edge, the current target value needs to be incremented by 1 before performing the iteration termination judgment. When the iteration termination judgment condition is met and the number of weak connection edges in the cluster is equal to the target value, the minimum turn spanning tree pruning is completed. Otherwise, return to step 3.1 to continue the iterative pruning operation.
[0063] This invention also provides a topology connectivity coverage path planning system for a swarm of unmanned surface vessels (USVs) for wide-area target search, comprising:
[0064] Map building module: Constructs a map based on the area size and obstacle distribution. Assuming the detection width of the sonar on the unmanned surface vessel is L, the map discrete grid is divided into two levels: the bottom layer consists of small square cells with a width of L, and the upper layer consists of large square cells with a width of 2L. Each large grid cell in the upper layer contains 4 small cells. The large cells are used to construct the minimum corner spanning tree, and the small cells are used to generate the coverage path around the minimum corner spanning tree.
[0065] The relaxation model construction and solution module establishes a constraint relaxation model for integer programming with minimum rectangular coverage based on a large grid, and introduces obstacle constraints into the model. Then, it constructs a maximum expanded candidate set using the maximum horizontal and vertical candidate rectangles of each free grid, minimizing the candidate solution space of the model and accelerating the solution of the integer programming relaxation model at the global level. This yields the initial minimum rectangular redundant coverage result, which is then provided to the precise model construction and solution module. The rectangle set for this stage is defined as R. init ={R1,…,R k The total number of rectangles is |R} init |;
[0066] The precise model construction and solution module utilizes the minimum rectangular redundancy cover result obtained in the relaxation model construction and solution module to construct a precise allocation integer programming model for redundant covered grids at the local level. This model eliminates redundant cover in such grids, ensuring that each grid is covered by only one rectangle, thus obtaining the precise minimum rectangular cover result R. acc As the basis for task area allocation;
[0067] Task Area Allocation Module: Given the current number of unmanned surface vessels (USVs) K, treat rectangles as nodes. Based on the adjacency relationships of rectangles covered by the minimum rectangle, construct a rectangular topological connectivity graph. Then, based on the adjacency matrix A and degree matrix D of this connectivity graph, solve for the normalized Laplace matrix L. sym Thus obtaining L sym The normalized eigenvectors corresponding to the K smallest eigenvalues are used to form an eigenvector matrix U. Based on the above results, node weights, spectral space distances, and node degrees are introduced to calculate the sampling probability and initial cluster center of each node. The improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees is used to allocate task regions.
[0068] The minimum corner spanning tree construction module establishes internal connections between adjacent grids within each rectangle, serving as "strong connection edges." For rectangles within each cluster, it establishes cross-rectangle connections between the grids at both ends of each rectangle and their adjacent grids in neighboring rectangles, serving as "weak connection edges." Then, it constructs a candidate pruning edge set, first adding all weak connection edges to the candidate set, and then adding strong connection edges connected to the endpoints of all weak connection edges. Simultaneously, it records the strong and weak connection relationships between each node and its neighboring nodes, and the number of corners at each node. The pruning operation is performed using a dynamic pruning optimization method for the minimum corner spanning tree based on strong and weak connection characteristics. The iteration is complete when the number of weak connection edges within the cluster equals the target value, and the relationship between the initial target value and the number of rectangles within the cluster is: initial target value = number of rectangles within the cluster - 1.
[0069] Coverage path generation module: Generates closed-loop paths around the minimum angle spanning tree in the small grids within each cluster, thereby completing the coverage path planning: Based on the adjacency relationship of the large grids in the minimum angle spanning tree, completes the connection of adjacent small grids within all large grids and between adjacent large grids; the edge formed by adjacent small grids must be in the same direction as the spanning tree frame at the current position. If it is orthogonal to the spanning tree frame at the current position, the adjacency relationship of the adjacent small grid is canceled.
[0070] The present invention also provides a computer-readable storage medium having a computer program / instruction thereon stored thereon, which, when executed by a processor, implements the steps of the topology connectivity coverage path planning method for a wide-area target search unmanned surface vessel swarm as described above.
[0071] The present invention also provides a computer program product, including a computer program / instruction that, when executed by a processor, implements the steps of the topology connectivity coverage path planning method for a wide-area target search unmanned surface vessel swarm as described in any of the preceding claims.
[0072] The beneficial effects of this invention are as follows:
[0073] 1) The topological connectivity coverage path planning method of the unmanned surface vessel swarm for wide-area target search in this invention transforms the optimization of the number of turns into the minimum rectangle coverage problem, and proposes a hierarchical accelerated solution strategy based on the maximum expansion candidate, which overcomes the problem of the sharp drop in computational efficiency caused by the explosion of candidate solution space in large-scale scenarios, and achieves accurate and fast solution.
[0074] 2) This invention uses a topological connectivity coverage path planning method based on an unmanned surface vessel (USV) swarm to construct a rectangular topological connectivity graph for wide-area target search, and proposes a load-balanced topological awareness spectral clustering algorithm for graph partitioning. Since the rectangular topological graph is a sparse graph and the graph partitioning is not affected by complex obstacles, it can achieve efficient and balanced allocation of regions in large-scale complex environments.
[0075] 3) The present invention proposes a dynamic pruning method based on strong and weak connections for topological connectivity coverage path planning of unmanned surface vessel swarms for wide-area target search. It iteratively evaluates the corner cost and removes redundant edges in the spanning tree, which can generate the coverage path spanning tree with the minimum corner cost. Attached Figure Description
[0076] Figure 1 This is a flowchart illustrating the principle of the topology connectivity coverage path planning method for wide-area target search using an unmanned surface vessel swarm, as described in this invention.
[0077] Figure 2 This is a simulation diagram of the minimum rectangular coverage of the topological connectivity coverage path planning method for the unmanned surface vessel swarm used in wide-area target search according to the present invention.
[0078] Figure 3 This is a simulation diagram of the region allocation of the topology connectivity coverage path planning method for the unmanned surface vessel swarm used in wide-area target search according to the present invention.
[0079] Figure 4 This is a schematic diagram of the region spanning tree node corner of the topology connectivity coverage path planning method for the unmanned surface vessel swarm used in wide-area target search according to the present invention;
[0080] Figure 5 This is a schematic diagram of the minimum turning angle spanning tree process of the topological connectivity coverage path planning method for the unmanned surface vessel swarm used in wide-area target search according to the present invention.
[0081] Figure 6 This is a simulation diagram of the minimum turning angle spanning tree of the region for the topological connectivity coverage path planning method of the unmanned surface vessel swarm for wide-area target search in this invention.
[0082] Figure 7 This is a simulation diagram of the regional coverage path of the topology connectivity coverage path planning method for the unmanned surface vessel swarm used in wide-area target search according to the present invention.
[0083] Figure 8 This is a schematic diagram illustrating the generation of a region-around spanning tree coverage path for the topology connectivity coverage path planning method of the unmanned surface vessel swarm for wide-area target search according to the present invention.
[0084] Figure 9 This is a regional system diagram of the topological connectivity coverage path planning method for unmanned surface vessel swarms used in wide-area target search according to the present invention. Detailed Implementation
[0085] The present invention will now be further described with reference to the accompanying drawings.
[0086] This invention discloses a topology connectivity coverage path planning system for an unmanned surface vessel swarm for wide-area target search, such as... Figure 9 As shown, it includes:
[0087] Map building module: Based on the area size and obstacle distribution, a map is constructed. Assuming the detection width of the sonar on the unmanned surface vessel is L, the map's discrete grid is divided into two levels: a bottom layer of small square cells with a width of L, and an upper layer of large square cells with a width of 2L. Each large grid cell in the upper layer contains four small cells. The large cells are used to construct the minimum corner spanning tree, with the center point of each large grid cell being a node in the tree. Along the minimum corner spanning tree framework, connecting the center points of the small grid cells generates a coverage path surrounding the minimum corner spanning tree. The small cells are also used to generate coverage paths surrounding the minimum corner spanning tree.
[0088] The relaxation model construction and solution module establishes a constraint relaxation model for integer programming with minimum rectangular coverage based on a large grid, and introduces obstacle constraints into the model. Then, it constructs a maximum expanded candidate set using the maximum horizontal and vertical candidate rectangles of each free grid, minimizing the candidate solution space of the model and accelerating the solution of the integer programming relaxation model at the global level. This yields the initial minimum rectangular redundant coverage result and provides it to the precise model construction and solution module. The rectangle set for this stage is defined as R = {R1, ..., R...}. k The total number of rectangles is |R|.
[0089] Precise Model Construction and Solving Module: Utilizing the minimum rectangular redundant coverage result obtained in the Relaxed Model Construction and Solving Module, a precise allocation integer programming model for redundant coverage grids is constructed at the local level to eliminate the redundant coverage of such grids, ensuring that each grid is covered by only one rectangle, and obtaining the precise minimum rectangular coverage result as the basis for task area allocation;
[0090] Task Area Allocation Module: Given the current number of unmanned surface vessels (USVs) K, treat rectangles as nodes. Based on the adjacency relationships of rectangles covered by the minimum rectangle, construct a rectangular topological connectivity graph. Then, based on the adjacency matrix A and degree matrix D of this connectivity graph, solve for the normalized Laplace matrix L. sym Thus obtaining L sym The normalized eigenvectors corresponding to the K smallest eigenvalues are used to form an eigenvector matrix U. The task region is then allocated using an improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees.
[0091] The minimum corner spanning tree construction module establishes internal connections between adjacent grids within each rectangle, serving as "strong connection edges." For rectangles within each cluster, it establishes cross-rectangle connections between the grids at both ends of each rectangle and their adjacent grids in neighboring rectangles, serving as "weak connection edges." Subsequently, a candidate pruning edge set is constructed, adding all weak connection edges and the strong connection edges at both ends of each rectangle. A dynamic pruning optimization method based on the strong and weak connection characteristics of the minimum corner spanning tree is used to perform pruning operations, iteratively completing the construction of the minimum corner spanning tree.
[0092] Coverage path generation module: Generates closed-loop paths around the minimum angle spanning tree in the small grids within each cluster, thereby completing the coverage path planning: Based on the adjacency relationship of the large grids in the minimum angle spanning tree, completes the connection of adjacent small grids within all large grids and between adjacent large grids; the edge formed by adjacent small grids must be in the same direction as the spanning tree frame at the current position. If it is orthogonal to the spanning tree frame at the current position, the adjacency relationship of the adjacent small grid is canceled.
[0093] This invention discloses a topology connectivity coverage path planning method for an unmanned surface vessel swarm for wide-area target search, comprising:
[0094] Step 1: Construct a map based on the region size and obstacle distribution; establish a constraint relaxation model for minimum rectangle coverage integer programming based on a large grid, and introduce obstacle constraints into the model; then, construct a maximum expanded candidate set using the maximum horizontal and maximum vertical candidate rectangles of each free grid to minimize the candidate solution space of the model, accelerating the solution of the integer programming relaxation model at the global level, and obtaining the initial minimum rectangle redundant coverage result. Define the rectangle set at this stage as R. init ={R1,...,R k The total number of rectangles is |R} init Based on the redundant coverage results, an exact allocation integer programming model is constructed at the local level for redundant covered grids to eliminate redundant coverage of such grids, ensuring that each grid is covered by only one rectangle, and obtaining an accurate minimum rectangle coverage result R. acc As the basis for task area allocation;
[0095] Step 2: Given the current number of unmanned surface vessels (USVs) K, treat rectangles as nodes. Based on the adjacency relationships of rectangles covered by the minimum rectangle, construct a rectangular topological connectivity graph. Then, based on the adjacency matrix A and degree matrix D of this connectivity graph, solve for the normalized Laplace matrix L. sym Thus obtaining L sym The normalized eigenvectors corresponding to the K smallest eigenvalues are used to form an eigenvector matrix U. An improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees is then used for task region allocation.
[0096] Step 2.1: To obtain more representative and dispersed initial cluster centers, node weights w, spectral spatial distance l, and node degree d are introduced, and the sampling probability p of each node is defined. u(1) And this is used to determine the first initial cluster center.
[0097]
[0098] u1~Categorical(p u(1) |u∈[1,|R acc |])
[0099] Where, p u(1) This indicates the determination of the first initial cluster center. The sampling probability of time node u, (0) indicates that the iteration has not started; node weight w u The degree d represents the number of grid cells contained in the rectangle corresponding to node u. u This represents the number of adjacent rectangles of the rectangle corresponding to node u, and its value is the u-th element D on the diagonal of the degree matrix D. uu , that is, d u =D uu ;u1~Categorical(p u(1) |u∈[1,|R acc |]) indicates that based on the probability weights p of each node u(1) The constructed discrete probability distribution serves to randomly sample from all nodes according to the probability distribution in order to select the first initial cluster center.
[0100] Define a known set of cluster centers and candidate node set Sure Then, the sampling probability p of each node is further calculated. u(k) The 2nd to Kth initial cluster centers were obtained through random sampling.
[0101]
[0102] in, Let β1 represent the minimum squared distance from the candidate node u to the current initial cluster center, and β2 represent the spectral space distance coefficient and the node weight coefficient, respectively.
[0103] Step 2.2: Perform node clustering around the current cluster center to achieve task region allocation. Taking into account node weight w, spectral spatial distance l, connectivity penalty, and load balancing penalty, calculate the cost Δ of allocating each node u to cluster k. uk The smaller the value, the higher the priority of node u being assigned to cluster k.
[0104]
[0105] Regardless of whether the current node u belongs to a cluster, the node will be assigned to the cluster k with the lowest cost and without exceeding the load balancing limit. u Before confirming the allocation, it is necessary to ensure that the current node u is assigned to cluster k. u The connectivity, if node u is assigned to cluster k in the current iteration u Cluster k cannot be guaranteed uIf the connectivity within the interval is not found, skip the current iteration and recalculate Δ in the next iteration. uk And confirm their own affiliation;
[0106] Step 2.3: Update the cluster centers of each cluster. For any cluster k, define... Let the set of nodes contained in cluster k be the result of the t-th iteration, and let the weighted average of the nodes within the cluster be used as the new center of cluster k:
[0107]
[0108] If a cluster exists If the set is empty, then after the other cluster centers have been updated, the candidate set from the current node will be selected. Select the node i with the smallest minimum square distance to all current cluster centers as the new cluster center;
[0109] Step 2.4: Taking into account the compactness of spectral embedding within each cluster and load balancing, calculate the global objective function for the current iteration based on the updated cluster centers. and maximum cluster center displacement
[0110]
[0111] in, It is used to evaluate the clustering quality after the current iteration. The spectral embedding compactness and load balance of each cluster are normalized and then weighted and summed. The smaller the value, the stronger the node compactness and the better the load balance within the cluster. α1 and α2 are the spectral embedding compactness coefficient and the load balance coefficient, respectively. W represents the number of nodes in the cluster after the current iteration; tot / K represents the average load when the number of unmanned surface vessels is K, W tot The sum of the weights of the global free grid; U u This represents the u-th row vector in the spectral space matrix U;
[0112] Step 2.5: Determine the global iterative objective function Changes in the maximum cluster center displacement Whether each step is less than a certain threshold, or whether the current iteration number t has reached the maximum number of iterations:
[0113]
[0114] t≥max_iter
[0115] If any of the above criteria are met, the current loop terminates and proceeds to step 2.6; otherwise, return to step 2.2 to continue iterating until any of the above iteration termination criteria are met.
[0116] Step 2.6: After the iteration is complete, adjust the cluster boundary rectangle assignments based on a greedy strategy, and evaluate the assignments of all boundary nodes u from cluster k. u Reassigned to cluster k to which its neighbor node v belongs v The change in the standard deviation of the load Δ std If Δ std A value greater than τ is considered a valuable reallocation; otherwise, the reallocation is ignored. This continues until no Δ is found. std A redistribution operation greater than τ occurs, resulting in the final region allocation result, where τ represents the threshold for the change in load standard deviation;
[0117] Step 3: Establish internal connections between adjacent grids within each rectangle, as "strong connection edges"; for rectangles within each cluster, establish cross-rectangle connections between the grids at both ends of each rectangle and their adjacent grids in neighboring rectangles, as "weak connection edges". Then, construct a candidate pruning edge set. First, add all weak connection edges to the candidate set; second, add the strong connection edges connected to the endpoints of all weak connection edges to the candidate set. Simultaneously, record variables such as the strong and weak connection relationships between each node and its neighboring nodes, and the number of turns at each node. The following pruning operation is performed using a minimum corner spanning tree dynamic pruning optimization method based on strong and weak connection characteristics. The iteration is complete when the number of weak connection edges within the cluster equals the target value. The relationship between the initial target value and the number of rectangles within the cluster is: initial target value = number of rectangles within the cluster - 1.
[0118] Step 3.1: First, use breadth-first search to remove bridge edges from the candidate pruned edge set within each cluster. Then, calculate the weight edge_w of each candidate edge in the current candidate pruned edge set. The candidate edge weight consists of two parts: edge_w1, the number of turns at the two nodes of the edge after pruning, and edge_w2, the change in the number of turns at the two nodes of the edge. Edge_w2 < 0 indicates that the number of turns within the cluster decreases after pruning the edge, and vice versa.
[0119] Step 3.2: Perform pruning operations within each cluster. Prioritize selecting the candidate edge with the smallest edge_w2 as the pruned edge. If multiple candidate edges with the smallest edge_w2 exist, prioritize selecting the candidate edge with the smallest edge_w1 from these candidates. If multiple candidate edges with the smallest edge_w1 exist, prioritize selecting weakly connected edges formed by connecting the end meshes of two different rectangles as the pruned edge. If multiple such weakly connected edges exist, randomly select any candidate edge as the pruned edge. If no such weakly connected edge exists, select a weakly connected edge formed by connecting the end mesh of one rectangle with the internal mesh of another rectangle as the pruned edge. If multiple such weakly connected edges exist, randomly select any candidate edge as the pruned edge. If no such weakly connected edge exists, randomly select any strongly connected edge from the multiple candidate edges with the smallest edge_w1 as the pruned edge.
[0120] Step 3.3: After the pruning operation is completed, update the candidate pruning edge set for each cluster, as well as key variables such as the strong and weak connections between each node and its neighbors, and the number of turns of the current node. Simultaneously, if the pruned edge is a weak connection, proceed directly to the iteration termination check; if the pruned edge is a strong connection, increment the current target value by 1 before proceeding to the iteration termination check. When the iteration termination condition is met, complete the minimum turn spanning tree pruning and proceed to Step 4; otherwise, return to Step 3.1 to continue the iterative pruning operation.
[0121] Step 4: Generate closed-loop paths around the minimum angle spanning tree in the small grids within each cluster to complete the coverage path planning: Based on the adjacency relationship of the large grids in the minimum angle spanning tree, complete the connection of adjacent small grids within all large grids and between adjacent large grids; the edge formed by adjacent small grids must be in the same direction as the spanning tree frame at the current position. If it is orthogonal to the spanning tree frame at the current position, then cancel the adjacency relationship of the adjacent small grid.
[0122] In the method described in step 1 above, the objective of minimum rectangle coverage is, given an N×M map (where some cells are obstacles), to divide all non-obstacle areas into several rectangles (i.e., continuously merged grids), and to cover the feasible area using as few rectangles as possible. The objective function of the constraint relaxation model for minimum rectangle coverage integer programming is:
[0123]
[0124] Among them, C rec Let y be the candidate set of rectangles, where u is the index of the rectangle in the candidate set; u ∈{0,1} is the selection variable for the rectangle, y u =1 indicates that the rectangle with the number u is selected; This represents the current total number of rectangles, and the ultimate goal is to minimize it. To reduce the number of rectangles; R init This is the minimum rectangular redundancy coverage result obtained after solving the constraint relaxation model.
[0125] In the method described in step 1 above, the constraint conditions for the constraint relaxation model of the minimum rectangular covering integer programming are:
[0126] (1) Rectangular direction constraint: Each rectangle is required to expand in only one direction. Therefore, rectangles are divided into horizontal rectangles and vertical rectangles. The horizontal rectangle u∈C rec If the starting point is the leftmost grid (i,j)∈u, then e i,j =0, it can only expand horizontally to the right (width greater than 1), but its vertical height is 1; the vertical rectangle u∈C rec If the starting point is the bottommost grid (i,j)∈u, then e i,j =1, it can only expand vertically upwards (height greater than 1), but its horizontal width is 1.
[0127] Wherein, the rectangular direction variable e i,j ∈{0,1}, only the starting point of the rectangle has e i,j If the grid (i,j) is a rectangle, u∈C rec The starting point, then e i,j =0 indicates that the rectangle is expanded horizontally, e i,j =1 indicates that the rectangle is expanded vertically;
[0128] (2) Rectangle size constraint: Define the set of free cells in the map If grid (i,j)∈F is chosen as the starting point of the rectangle, then the size of the rectangle starting from grid (i,j) must not exceed the length of the continuous feasible region in its expansion direction.
[0129]
[0130] Among them, wid i,j `wid(i,j)` represents the width of the horizontal rectangles, and `wid(i,j)` represents the set of widths of all horizontal rectangles starting from grid (i,j); `heig` represents the width of the horizontal rectangles. i,j The width of the vertical rectangle is represented by heig(i,j), which represents the set of widths of all vertical rectangles starting from grid (i,j).
[0131] (3) Mesh Coverage Constraint: For any free mesh (i,j)∈F, ensure that mesh (i,j) is covered by at least one rectangle:
[0132]
[0133] Among them, y u∈{0,1} is the rectangle selection variable in the objective function, y u =1 indicates that the u-th rectangle in the candidate set is selected.
[0134] (4) Grid assignment constraint: Define rectangle number variable id i,j Let the rectangle number of the free grid (i,j)∈F be recorded. If adjacent grids are merged into the same rectangle, they have the same ID. Therefore, for any rectangle u∈C rec Each free grid in the middle,
[0135]
[0136] In the method described in step 1 above, the maximum expansion candidate set of the constraint relaxation model for minimum rectangle covering integer programming is calculated as follows: for any (i,j)∈F, find the maximum horizontal and maximum vertical rectangle sizes starting from (i,j).
[0137]
[0138] Among them, wid max (i,j) represents the maximum horizontal rectangle size, heig max (i,j) represents the size of the maximum vertical rectangle, thus yielding the maximum expanded candidate set C. rec ',
[0139] C H ={c H (i,j)=(i,j,1,wid max (i,j))|(i,j)∈F}
[0140] C V ={c V (i,j)=(i,j,heig max (i,j),1)|(i,j)∈F
[0141] C rec '=C H ∪C V
[0142] Among them, C H For the horizontally largest expansion candidate set, C V This is the candidate set for the maximum vertical expansion.
[0143] In the method described in step 1 above, the integer programming model for locally exact allocation is as follows:
[0144] Calculate the number of times each free unit f = (i,j) is covered.
[0145] cov(f)=|{u∈R init :f∈u}|;
[0146] Define the set of grids that are repeatedly covered as,
[0147] F' = {f∈F:cov(f) = 2};
[0148] To ensure that free elements (i',j')∈F' are covered by a unique rectangle, the unique coverage constraint is defined as follows:
[0149]
[0150] To ensure that the number and distribution of rectangles remain unchanged, a rectangle maintenance constraint is defined.
[0151]
[0152] Assumptions and redundant coverage grid f i The relevant rectangles are u1 and u2, and redundant covering mesh f should be discarded. i 'The rectangle u1:f i 'Must be a u1 end mesh, i.e. Requires redundant coverage grid f i 'The rectangle to which it belongs, u2:f i 'Can be any grid in u2, i.e.
[0153] Furthermore, since the goal of this problem is to select a feasible combination that ensures each free unit is covered only once, rather than minimizing or maximizing a specific quantity, it is a purely feasibility problem and therefore does not require setting an objective function. Solving the above model yields the accurate minimum rectangular coverage result R. acc .
[0154] In step 2.2 above, the cost Δ for assigning node u to cluster k is... uk The specific calculation method is as follows:
[0155]
[0156] The smaller the value, the higher the priority of node u in cluster k; The value represents the ratio of spectral space distance to rectangle weight. It indicates that the closer the rectangle is to the cluster center in spectral space, the higher the rectangle weight, and the smaller the value. Node i has a relatively higher priority in being assigned to cluster k. As a connectivity penalty, N(u) represents the number of neighbors of node u, C k Let |N(u)∩C be the set of nodes contained in cluster k. k | represents the number of neighbors of node u in cluster k, therefore The smaller the value, the more neighbors node u has in cluster k, and the higher the priority of node i being selected. As a load balancing penalty, For the current total load of cluster k, |L k +w u -W tot / K| represents the difference between the total load and the average load after node u is added to cluster k, where γ1, γ2, and γ3 are weighting coefficients. u w v Let u and v be the weights.
[0157] Example 1
[0158] In this case, the map grid is 200×200. The map is constructed based on the area size and obstacle distribution. Assuming the detection width of the sonar on the unmanned surface vessel is L, the discrete grid is divided into two levels: a bottom layer of small square cells with a width of L, and an upper layer of large square cells with a width of 2L. Each large square cell in the upper layer contains four small cells. The large cells are used to construct the minimum corner spanning tree, and the small cells are used to generate coverage paths around the minimum corner spanning tree.
[0159] A constraint relaxation model for minimum rectangular coverage integer programming is established based on a large grid.
[0160]
[0161] Then, the maximum expanded candidate set is constructed using the maximum horizontal and maximum vertical candidate rectangles of each free grid.
[0162] C rec '=C H ∪C V
[0163] C H For the horizontally largest expansion candidate set, C V This is the candidate set for the maximum vertical expansion.
[0164] To accelerate the solution of the integer programming relaxation model at the global level, we obtain the initial minimum rectangular redundancy cover result, and define the set of rectangles for this stage as R. init ={R1,...,R k The total number of rectangles is |R} init Based on the redundant coverage results, an accurate integer programming model for the redundant coverage grid is constructed at the local level to obtain the accurate minimum rectangular coverage result R. acc .
[0165] Calculate the number of times each free unit f = (i,j) is covered.
[0166] cov(f)=|{u∈R init :f∈u}|;
[0167] Define the set of grids that are repeatedly covered as,
[0168] F' = {f∈F:cov(f) = 2};
[0169] To ensure that free elements (i',j')∈F' are covered by a unique rectangle, the unique coverage constraint is defined as follows:
[0170]
[0171] To ensure that the number and distribution of rectangles remain unchanged, a rectangle maintenance constraint is defined.
[0172]
[0173] Furthermore, since the goal of this problem is to select a feasible combination that ensures each free unit is covered only once, rather than to minimize or maximize a certain quantity, it is a purely feasibility problem and therefore there is no need to set an objective function.
[0174] Ultimately, redundant coverage of such grids is eliminated, ensuring that each grid is covered by only one rectangle, thus obtaining an accurate minimum rectangle coverage result R. acc As the basis for task area allocation, the result is as follows: Figure 2 As shown;
[0175] Step 2: Given the current number of unmanned surface vessels (USVs) K, treat rectangles as nodes. Based on the adjacency relationships of rectangles covered by the minimum rectangle, construct a rectangular topological connectivity graph. Then, based on the adjacency matrix A and degree matrix D of this connectivity graph, solve for the normalized Laplace matrix L. sym Thus obtaining L sym The normalized eigenvectors corresponding to the K smallest eigenvalues are used to form an eigenvector matrix U. An improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees is then used to allocate task regions. The allocation results are as follows: Figure 3 As shown, different colors represent different sub-regions.
[0176] Step 3: Establish internal connections between adjacent grids within each rectangle, as "strong connection edges"; for rectangles within each cluster, establish cross-rectangle connections between the grids at both ends of each rectangle and their adjacent grids in neighboring rectangles, as "weak connection edges". Then construct a candidate pruning edge set. First, add all weak connection edges to the candidate set; second, add strong connection edges connected to the endpoints of all weak connection edges to the candidate set. Simultaneously, record the strong and weak connection relationships between each node and its neighboring nodes, based on... Figure 4 The diagram showing the corners at each node in the spanning tree records the number of corners at each node. The following section uses a dynamic pruning optimization method for the minimum corner spanning tree based on strong and weak connection characteristics to perform pruning operations. The iteration is complete when the number of weak connection edges within the cluster equals the target value. The relationship between the initial target value and the number of rectangles within the cluster is: initial target value = number of rectangles within the cluster - 1. Figure 5 This is a schematic diagram of the minimum corner spanning tree process (where solid lines represent strong connections, dashed lines represent weak connections, and blue lines indicate that the edge is a candidate for pruning). Figure 6 This is a simulation diagram of the minimum corner spanning tree;
[0177] Step 4: Generate closed-loop paths around the minimum angle spanning tree in the small grids within each cluster to complete the coverage path planning: Based on the adjacency relationship of the large grids in the minimum angle spanning tree, complete the connection of adjacent small grids within all large grids and between adjacent large grids; the edge formed by adjacent small grids must be in the same direction as the spanning tree frame at the current position. If it is orthogonal to the spanning tree frame at the current position, then cancel the adjacency relationship of the adjacent small grid. Figure 8 This is a schematic diagram of the generation of the covering path around the spanning tree. The simulation results of the covering path are as follows: Figure 7 As shown.
[0178] In summary, this invention transforms corner minimization into a minimum rectangle coverage problem and establishes an integer programming model. It proposes a hierarchical relaxed integer programming acceleration strategy based on maximum expansion candidates, overcoming the bottlenecks of model expansion and computational efficiency caused by the explosion of candidate solution space in large-scale scenarios. Subsequently, a rectangular topological connected graph is constructed, and an improved spectral clustering algorithm integrating load balancing constraints and subgraph connectivity guarantees is designed to achieve efficient and balanced allocation of regions. Finally, a dynamic pruning optimization method for the minimum corner spanning tree based on strong and weak connectivity characteristics is proposed, iteratively evaluating the corner cost and removing redundant edges to generate the coverage path spanning tree with the minimum corner cost.
[0179] In particular, in some preferred embodiments of the present invention, a computer device is also provided, including a memory and a processor and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the topology connectivity coverage path planning method for wide-area target search unmanned surface vessel swarms described in any of the above embodiments.
[0180] In some other preferred embodiments of the present invention, a computer-readable storage medium is also provided, on which a computer program / instruction is stored, wherein when the computer program is executed by a processor, the steps of the topology connectivity coverage path planning method for a wide-area target search unmanned surface vessel swarm described in any of the above embodiments are implemented.
[0181] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above embodiments of the topology connectivity coverage path planning method for wide-area target search unmanned surface vessel swarm, which will not be repeated here.
[0182] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0183] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0184] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more N executable instructions for implementing custom logic functions or processes, and the scope of preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of the invention pertain.
[0185] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0186] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the N steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0187] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it includes one or a combination of the steps of the method embodiments.
[0188] Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0189] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of the present invention have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present invention.
Claims
1. A topological connectivity coverage path planning method for an unmanned surface vessel swarm for wide-area target search, characterized in that, include: Step 1: Construct a map based on the area size and obstacle distribution, dividing the map into large grid cells and small grid cells; A constraint relaxation model for minimum rectangular coverage integer programming is established based on a large grid, and obstacle constraints are introduced into the model. A maximum expansion candidate set is constructed using the maximum lateral and maximum longitudinal candidate rectangles of each free grid. The integer programming relaxation model is then solved to obtain the initial minimum rectangular redundant coverage result R. init Based on the redundancy coverage results, a precise allocation integer programming model is constructed and solved to obtain the accurate minimum rectangular coverage result R. acc ; Step 2: Based on the rectangular adjacency relationships under the minimum rectangular cover, construct a rectangular topological connected graph and solve for the adjacency matrix, degree matrix, and normalized Laplacian matrix. Obtain the normalized eigenvectors corresponding to the K smallest eigenvalues, and... Forming an eigenvector matrix; Introducing node weights, spectral spatial distances, and node degrees, we calculate node sampling probabilities and initial cluster centers, and use an improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees to allocate task regions. Step 3: Construct strong and weak connections between grids within a cluster and a set of candidate pruning edges; perform pruning operations using a dynamic pruning optimization method based on the minimum angle spanning tree with strong and weak connection characteristics; Step 4: Generate closed-loop paths around the minimum turning angle spanning tree in the small grids within each cluster, thereby completing the coverage path planning.
2. The topology connectivity coverage path planning method for wide-area target search unmanned surface vessel swarms according to claim 1, characterized in that, In step 1, the objective function of the constraint relaxation model for the minimum rectangular covering integer programming is: Among them, C rec y represents the candidate set of rectangles; u represents the index of the rectangle in the candidate set; y represents the index of the rectangle in the candidate set. u ∈{0,1} represents the rectangle selection variable, y u =1 indicates that the rectangle with the number u is selected; R represents the total number of rectangles currently in existence; init This is the minimum rectangular redundancy coverage result obtained after solving the constraint relaxation model.
3. The topology connectivity coverage path planning method for a swarm of unmanned surface vessels (USVs) for wide-area target search according to claim 1, characterized in that, In step 1, the constraint conditions of the constraint relaxation model for the minimum rectangular covering integer programming are: (1) Rectangular direction constraint: Each rectangle is required to expand in only one direction. Therefore, rectangles are divided into horizontal rectangles and vertical rectangles. The horizontal rectangle u∈C rec If the starting point is the leftmost grid (i,j)∈u, then e i,j =0, it can only expand horizontally to the right (width greater than 1), but its vertical height is 1; the vertical rectangle u∈C rec If the starting point is the bottommost grid (i,j)∈u, then e i,j =1, it can only expand vertically upwards (height greater than 1), but its horizontal width is 1; (2) Rectangle size constraint: Define the set of free cells in the map If grid (i,j)∈F is chosen as the starting point of the rectangle, then the size of the rectangle starting at grid (i,j) does not exceed the length of the continuous feasible region in its expansion direction: Among them, wid i,j `wid(i,j)` represents the width of the horizontal rectangles, and `wid(i,j)` represents the set of widths of all horizontal rectangles starting from grid (i,j); `heig` represents the width of the horizontal rectangles. i,j The width of the vertical rectangle is represented by heig(i,j), which represents the set of widths of all vertical rectangles starting from grid (i,j); M and N are the length and width of the map, respectively. (3) Mesh Coverage Constraint: For any free mesh (i,j)∈F, ensure that mesh (i,j) is covered by at least one rectangle: Among them, y u ∈{0,1} represents the rectangle selection variable in the objective function; y u =1 indicates that the u-th rectangle in the candidate set is selected; (4) Network attribution constraint: Define rectangle numbering variable id i,j Let the rectangle number of the free grid (i,j)∈F be recorded. If adjacent grids are merged into the same rectangle, they have the same ID. Therefore, for any rectangle u∈C rec Each grid is free; 4. The topology connectivity coverage path planning method for a swarm of unmanned surface vessels (USVs) for wide-area target search according to claim 1, characterized in that, In step 1, the maximum expansion candidate set of the constraint relaxation model for the minimum rectangular covering integer programming is: C rec '=C H ∪C V C H ={c H (i,j)=(i,j,1,wid max (i,j))|(i,j)∈F} C V ={c V (i,j)=(i,j,high max (i,j),1)|(i,j)∈F Among them, C H Represents the horizontally largest expansion candidate set; C V Wid represents the maximum vertically expanded candidate set. max (i,j) represents the maximum horizontal rectangle size; heig max (i,j) represents the maximum vertical rectangle size; 5. The topology connectivity coverage path planning method for a swarm of unmanned surface vessels (USVs) for wide-area target search according to claim 1, characterized in that, In step 1, the integer programming model for locally exact allocation is: Where F' represents the set of meshes that are repeatedly covered; R init R represents the initial minimum rectangular redundancy coverage result. init ={R1,…,R |Rinit| }; F' = {f ∈ F: cov(f) = 2} cov(f)=|{u∈R init :f∈u}| Where cov(f) represents the number of times each free cell f = (i,j) is covered; assuming a redundant coverage grid f i The relevant rectangles are u1 and u2, and redundant covering mesh f should be discarded. i 'The rectangle u1:f i 'Must be a u1 end mesh, i.e. Requires redundant coverage grid f i 'The rectangle to which it belongs, u2:f i 'Can be any grid in u2, i.e.
6. The topology connectivity coverage path planning method for a swarm of unmanned surface vessels (USVs) for wide-area target search according to claim 1, characterized in that, In step 2, the task region allocation is performed using an improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees. Step 2.1: Introduce node weight w, spectral spatial distance l, and node degree d, and calculate the sampling probability p of each node. u(k) And select the initial cluster center. Where, p u(1) This indicates the determination of the first initial cluster center. The sampling probability of time node u, (0) indicates that the iteration has not started; w u d represents the number of grid cells contained in the rectangle corresponding to node u; u This represents the number of adjacent rectangles of the rectangle corresponding to node u, and its value is the u-th element D on the diagonal of the degree matrix D. uu , that is, d u =D uu ; U represents the minimum squared distance from candidate node u to the current initial cluster center. u The element in the u-th row of the eigenvector matrix U; v(k) Similarly; β1 and β2 represent the spectral spatial distance coefficient and the node weight coefficient, respectively; u1~Categorical(p u(1) |u∈[1,|R acc |]) indicates that based on the probability weights p of each node u(1) The constructed discrete probability distribution is selected from the first cluster center rectangle, u k Similarly, u k This indicates that the k-th cluster center rectangle is in the set R. acc The number in; This indicates that the u-th element in the spectral space matrix U is... k The row serves as the spectral space vector of the k-th initial cluster center. Define the cluster center set as The candidate node set is Step 2.2: Perform node clustering around the current cluster center, considering node weights, spectral spatial distance, connectivity penalties, and load balancing penalties, and calculate the cost Δ of assigning each node u to cluster k. uk The smaller the value, the higher the priority for node u to be assigned to cluster k; regardless of whether the current node u belongs to a certain cluster, the node will be assigned to cluster k with the lowest cost and without exceeding the load balancing limit. u In the middle; before confirming the allocation, it is necessary to ensure that the current node u is allocated to cluster k. u The connectivity, if node u is assigned to cluster k in the current iteration u Cluster k cannot be guaranteed u If the connectivity within the interval is not found, skip the current iteration and recalculate Δ in the next iteration. uk And confirm their own affiliation; Step 2.3: Update the cluster center of each cluster; use the weighted average of the nodes within the cluster as the new cluster center of cluster k: in, Let be the set of nodes contained in cluster k after the (t-1)th iteration; If a cluster exists If the set is empty, then after the other cluster centers have been updated, the candidate set from the current node will be selected. Select the node u with the smallest minimum square distance to all current cluster centers as the new cluster center of that cluster; Step 2.4: Considering the spectral embedding compactness and load balancing within each cluster, calculate the global objective function for the current iteration based on the updated cluster centers. and maximum cluster center displacement in, Used to evaluate the clustering quality after the current iteration; α1 and α2 are the spectral embedding compactness coefficient and the load balancing coefficient, respectively; W represents the number of nodes in the cluster after the current iteration; tot / K represents the average load when the number of unmanned surface vessels is K, W tot The sum of the weights of the global free grid; U u This represents the u-th row vector in the spectral space matrix U; Step 2.5: Determine the global iterative objective function Changes in the maximum cluster center displacement If the current iteration number t is less than a certain threshold, or if the current iteration number t has reached the maximum iteration number, then terminate the current loop and proceed to step 2.6; otherwise, return to step 2.2 to continue iterating. Step 2.6: After the iteration is complete, adjust the inter-cluster boundary shape assignment based on a greedy strategy, and evaluate the attribution of all boundary nodes u from cluster k. u Reassigned to cluster k to which its neighbor node v belongs v The change in the standard deviation of the load Δ std If Δ std A value greater than τ is considered a valuable reallocation; otherwise, the reallocation is ignored. This continues until no Δ is found. std A redistribution operation greater than τ occurs, resulting in the final region allocation result, where τ represents the threshold for the change in load standard deviation.
7. The topology connectivity coverage path planning method for a swarm of unmanned surface vessels for wide-area target search according to claim 6, characterized in that, In step 2.2, the cost Δ for assigning node u to cluster k is... uk for: in, The smaller the value, the higher the priority of node u in cluster k; This represents the ratio of spectral spatial distance to rectangular weights. Let N(u) represent the connectivity penalty, N(u) represent the number of neighbors of node u, and C represent the number of neighbors of node u. k Let |N(u)∩C be the set of nodes contained in cluster k. k | represents the number of neighbors of node u in cluster k; This indicates a load balancing penalty. Represents the current total load of cluster k, |L k +w u -W tot / K| represents the difference between the total load and the average load after node u is added to cluster k, and γ1, γ2, and γ3 represent weighting coefficients; w u w v Let u and v be the weights.
8. The topology connectivity coverage path planning method for a swarm of unmanned surface vessels for wide-area target search according to claim 1, characterized in that, In step 3, the "strong connection edge" in the strong and weak connection relationship is the internal connection established between adjacent grids within each rectangle, and the "weak connection edge" is the cross-rectangle connection established between the grids at the beginning and end of each rectangle and their adjacent grids in the neighboring rectangles; the candidate pruning edge set includes all weak connection edges and strong connection edges connected to the two endpoints of all weak connection edges.
9. The topology connectivity coverage path planning method for a swarm of unmanned surface vessels (USVs) for wide-area target search according to claim 1, characterized in that, In step 3, the pruning operation using the minimum angle spanning tree dynamic pruning optimization method based on strong and weak connection characteristics specifically involves: Step 3.1: Use breadth-first search to remove bridge edges from the candidate pruning edge set in each cluster, and then calculate the weight edge_w of each candidate edge in the current candidate pruning edge set. The candidate edge weight consists of two parts, namely edge_w1, the number of turns at the two nodes of the edge after pruning the candidate edge, and edge_w2, the change in the number of turns at the two nodes of the edge. Step 3.2: Perform pruning operations within each cluster, prioritizing the candidate edge with the smallest edge_w2 as the pruned edge; if multiple candidate edges with the smallest edge_w2 exist simultaneously, prioritize the candidate edge with the smallest edge_w1 among these candidate edges as the pruned edge; if multiple candidate edges with the smallest edge_w1 exist simultaneously, prioritize the weakly connected edge formed by connecting the end meshes of two different rectangles as the pruned edge; when multiple weakly connected edges formed by connecting the end meshes of two different rectangles exist, randomly select any candidate edge as the pruned edge. Branch edge; when there is no weak connection edge formed by connecting the end meshes of two different rectangles, the weak connection edge formed by connecting the end mesh of one rectangle with the inner mesh of another rectangle is selected as the pruning edge; when there are multiple weak connection edges formed by connecting the end mesh of one rectangle with the inner mesh of another rectangle, any candidate edge is randomly selected as the pruning edge; when there is no weak connection edge formed by connecting the end mesh of one rectangle with the inner mesh of another rectangle, any strong connection edge is randomly selected as the pruning edge from multiple candidate edges with the smallest edge_w1. Step 3.3: After the pruning operation is completed, update the candidate pruning edge set of each cluster, the strong and weak connections between each node and its neighbors, and the number of turns of the current node. At the same time, if the pruned edge is a weak connection edge, directly perform the iteration termination judgment. If the pruned edge is a strong connection edge, the current target value needs to be incremented by 1 before performing the iteration termination judgment. When the iteration termination judgment condition is met and the number of weak connection edges in the cluster is equal to the target value, the minimum turn spanning tree pruning is completed. Otherwise, return to step 3.1 to continue the iterative pruning operation.
10. A topology connectivity coverage path planning system for an unmanned surface vessel swarm for wide-area target search, characterized in that, include: Map building module: Builds a map based on the size of the area and the distribution of obstacles, including large and small grids; Large grids are used to construct the minimum corner spanning tree, with the center point of each large grid being a node in the tree; along the minimum corner spanning tree framework, the center points of small grids are connected to generate a covering path around the minimum corner spanning tree; small grids are used to generate a covering path around the minimum corner spanning tree. The relaxation model construction and solution module establishes a constraint relaxation model for integer programming with minimum rectangular coverage based on a large grid, and introduces obstacle constraints into the model. Then, it constructs a maximum expanded candidate set using the maximum horizontal and vertical candidate rectangles of each free grid, minimizing the candidate solution space of the model and accelerating the solution of the integer programming relaxation model at the global level. This yields the initial minimum rectangular redundant coverage result, which is then provided to the precise model construction and solution module. The rectangle set for this stage is defined as R. init ={R1,...,R k The total number of rectangles is |R} init |; The precise model construction and solution module utilizes the minimum rectangular redundancy cover result obtained in the relaxation model construction and solution module to construct a precise allocation integer programming model for redundant covered grids at the local level. This model eliminates redundant cover in such grids, ensuring that each grid is covered by only one rectangle, thus obtaining the precise minimum rectangular cover result R. acc As the basis for task area allocation; Task Area Allocation Module: Given the current number of unmanned surface vessels (USVs) K, treat rectangles as nodes. Based on the adjacency relationships of rectangles covered by the minimum rectangle, construct a rectangular topological connectivity graph. Then, based on the adjacency matrix A and degree matrix D of this connectivity graph, solve for the normalized Laplace matrix L. sym Thus obtaining L sym The normalized eigenvectors corresponding to the K smallest eigenvalues are used to form an eigenvector matrix U. Based on the above results, node weights, spectral space distances, and node degrees are introduced to calculate the sampling probability and initial cluster center of each node. The improved spectral clustering algorithm that integrates load balancing constraints and subgraph connectivity guarantees is used to allocate task regions. The minimum corner spanning tree construction module establishes internal connections between adjacent grids within each rectangle, serving as "strong connection edges." For rectangles within each cluster, it establishes cross-rectangle connections between the grids at both ends of each rectangle and their adjacent grids in neighboring rectangles, serving as "weak connection edges." Then, it constructs a candidate pruning edge set, first adding all weak connection edges to the candidate set, and then adding strong connection edges connected to the endpoints of all weak connection edges. Simultaneously, it records the strong and weak connection relationships between each node and its neighboring nodes, and the number of corners at each node. The pruning operation is performed using a dynamic pruning optimization method for the minimum corner spanning tree based on strong and weak connection characteristics. The iteration is complete when the number of weak connection edges within the cluster equals the target value. The relationship between the initial target value and the number of rectangles within the cluster is: initial target value = number of rectangles within the cluster - 1. Coverage path generation module: Generates closed-loop paths around the minimum angle spanning tree in the small grids within each cluster, thereby completing the coverage path planning: Based on the adjacency relationship of the large grids in the minimum angle spanning tree, completes the connection of adjacent small grids within all large grids and between adjacent large grids; the edge formed by adjacent small grids must be in the same direction as the spanning tree frame at the current position. If it is orthogonal to the spanning tree frame at the current position, the adjacency relationship of the adjacent small grid is canceled.
Citation Information
Patent Citations
Single unmanned ship coverage path planning method based on Theta* backtracking
CN113377105A
Multi-unmanned ship scattered coverage path planning method based on electronic chart
CN115437380A
Agricultural multi-robot full-coverage path planning method in complex area
CN119200618A
Cited By
Multi-unmanned aerial vehicle cooperative path planning and scheduling method and system
CN121386899A
Marine new energy station scanning path planning method and system under multi-constraint condition
CN122155062A