A multi-obstacle environment-oriented multi-autonomous underwater vehicle cooperative hunting method, system, device and medium
By combining the IGBNN algorithm and dynamic alliance strategy with path planning based on the incentive matrix and trust matrix, the problem of hunting non-homogeneous AUVs in underwater 3D environments is solved, achieving efficient encirclement and capture of escapees, adapting to multi-obstacle environments and escape strategies, and improving capture efficiency and energy utilization.
Patent Information
- Application Number
- CN202410392598.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-02
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2044-04-02
AI Technical Summary
Existing technologies cannot be effectively applied to multi-autonomous underwater vehicle cooperative hunting in underwater three-dimensional environments, especially in non-homogeneous AUV hunting, and are difficult to capture when escapees have escape strategies.
By employing the IGBNN algorithm and dynamic alliance strategy, combined with path planning methods using incentive and trust matrices, a task allocation method suitable for non-homogeneous AUVs with different speeds is designed to form a dynamic alliance. Through path planning and obstacle avoidance, the encirclement efficiency is improved.
It enables efficient hunting of multiple targets in environments with multiple obstacles, adapts to escape strategies, improves capture efficiency, and saves system energy consumption.
Smart Images

Figure CN118192583B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of multi-agent encirclement and multi-target task, and designs an encirclement and capture method for non-homogeneous autonomous underwater vehicles based on the IGBNN algorithm and dynamic alliance in a multi-obstacle environment. Background Technology
[0002] An autonomous underwater vehicle (AUV) is an intelligent robot that, due to its high level of intelligence, can complete tasks in the ocean independently without an operator. It is widely used in both civilian (deep-sea exploration, underwater equipment maintenance, etc.) and military fields.
[0003] Faced with complex underwater environments, unpredictable potential dangers, and diverse mission assignments, a single AUV's ability to hunt down and capture targets is severely limited by its fuel capacity and limited environmental awareness range. Meanwhile, multi-AUV systems, composed of multiple autonomous underwater vehicles, can dynamically cooperate, offering greater flexibility, higher efficiency, and a wider operational range, playing an increasingly important role in deep-sea exploration, underwater collaborative search, and military applications.
[0004] Cooperative hunting by multiple autonomous underwater vehicles (AUVs) is an important research topic. Researchers have conducted extensive studies on multi-AUV systems, including underwater cooperative search, mine clearance, formation control, and cooperative hunting. Among these, research on cooperative hunting is more comprehensive, encompassing three sub-tasks: searching for escapees, forming dynamic hunting alliances, and path planning until successful capture.
[0005] Korf proposed a manually derived greedy strategy, a non-learning algorithm, which uses a fitness function to attract each hunter to the target. Denzinger et al. proposed a genetic algorithm method combining proximity rules, using the nearest neighbor method to classify the current state and then determining the optimal solution through the genetic algorithm. YCChen et al.'s "multi-agent pursuit algorithm based on contract network interaction protocol" is a distributed algorithm, but the communication between pursuers during the pursuit process is too heavy, resulting in low pursuit efficiency.
[0006] All the strategies discussed above are based on terrestrial search problems and cannot be applied to cooperative hunting in underwater 3D environments. Moreover, there is currently very little research on hunting problems in underwater 3D environments.
[0007] The mine-finding model for AUVs established by Nguyen et al. uses a full coverage method to achieve mine finding. However, the target being hunted is static, and it will fail when the target has an escape strategy.
[0008] The underwater environment presents a unique challenge, with limited communication range and a high risk of errors. It also appears unable to provide the necessary communication for negotiation. Most research focuses on hunting problems with homogeneous AUVs. To date, there has been little research on hunting problems with non-uniform multiple AUVs and intelligent avoiders, and even less research on task allocation in non-uniform multiple AUV hunting problems. More importantly, many studies have not addressed whether the avoiders possess escape strategies.
[0009] In military applications, multi-AUV hunting systems often need to capture intruders with a certain degree of intelligence, such as micro-robotic fish, whose intelligent escape strategies will help them escape. In practical applications, the underwater robots involved in the hunt are often of different types with different capabilities, such as different sailing speeds or different safe distances, and the escapees may also possess certain intelligent escape strategies. Therefore, implementing strategies for capturing intelligent escapees in underwater environments is particularly important. Summary of the Invention
[0010] The purpose of this invention is to provide a method, system, device, and medium for cooperative hunting of multiple autonomous underwater vehicles (AUVs) in multi-obstacle environments. This method is based on the IGBNN algorithm and dynamic alliance strategy to hunt non-homogeneous AUVs, solving the problems of existing technologies that cannot apply multi-AUVs to cooperative hunting in underwater three-dimensional environments, as well as the problems of task allocation and escape strategies of the hunted vehicles in non-homogeneous multi-AUV hunting problems, which make hunting difficult.
[0011] A method for cooperative capture of multiple autonomous underwater vehicles in multi-obstacle environments includes:
[0012] Step 1: Collect the locations of the escapees, the pursuers, and the obstacles;
[0013] Step 2: Initialize each set from Step 1;
[0014] Step 3: Based on the initialized set of locations of the pursuers and the escapees, a dynamic alliance strategy is adopted to obtain the local task set;
[0015] Step 4: Each hunter uses the IGBNN algorithm for path planning to obtain the corresponding hunting task;
[0016] Step 5: Determine whether the encirclement mission meets the conditions for a dynamic alliance. If not, disband the original alliance and execute steps 3-5 until a new encirclement mission that meets the conditions for a dynamic alliance is formed; if it does, then carry out the encirclement.
[0017] Step 6: When an escapee is captured, the corresponding pursuers cease their pursuit.
[0018] Step 7: Once all escapees have been captured, all pursuers cease their pursuit, and the capture is complete.
[0019] Furthermore, a preferred solution is provided: the set of escapee locations, the set of pursuer locations, and the set of obstacle locations are extracted from a grid map with multiple obstacles.
[0020] Furthermore, a preferred embodiment is provided: step 1 includes:
[0021] Step 1.1: Traverse the grid map, initialize the terrain matrix, set the corresponding position of the terrain matrix with obstacles to 1, otherwise set it to 0, and record it as the obstacle position set;
[0022] Step 1.2: Traverse the grid map to obtain the location information of the target escapee and record it as the escapee location set;
[0023] Step 1.3: Traverse the grid map to obtain the location information of the hunters and record it as a set of hunter locations.
[0024] Furthermore, a preferred embodiment is provided: step 2 includes:
[0025] Step 2.1: Initialize the escapee set to obtain the number of escapees that need to be captured;
[0026] Step 2.2: Initialize the set of hunters to obtain the number of hunters participating in the hunting mission;
[0027] Step 2.3: Initialize the obstacle set.
[0028] Furthermore, a preferred embodiment is provided: step 3 includes:
[0029] Step 3.1: Obtain the speed information of the pursuers to obtain the speed set of the pursuers;
[0030] Step 3.2: Calculate the distance matrix based on the set of escapee location information and the set of pursuer location information;
[0031] Step 3.3: Calculate the average cost matrix based on the distance matrix and the set of velocities of the pursuers;
[0032] Step 3.4: Generate a hunter_flag list to store flags indicating whether the hunter with that number has been assigned a task;
[0033] Step 3.4.1: If the i-th hunter is assigned a task, then the i-th position of hunter_flag is True, otherwise it is False, 1≤i≤hunter_num, where hunter_num is the number of hunters;
[0034] Step 3.4.2: Repeat step 3.4.1 until all the markers for each hunter have been generated;
[0035] Step 3.5: Initialize the team_list list to store the capture missions corresponding to each escapee;
[0036] Step 3.5.1: The information stored at the i-th position is: the set of identifiers of the pursuers who participated in the capture of the i-th escapee;
[0037] Step 3.5.2: Initialize and set each position of team_list to an empty set;
[0038] Step 3.6: Obtain the minimum value of the average cost matrix, traverse the average cost matrix, find the position where the minimum value is located, corresponding to the number of the hunter and the number of the escapee. If the hunter at the current position has not yet been assigned a task, put the obtained hunter and target into team_list[j], set hunter_flag[i] to True, and set the average cost matrix to the maximum value.
[0039] Step 3.7: When hunter_flag is not all True and the number of hunters assigned to each escapee does not exceed three, repeat step 3.6 to obtain the local task set.
[0040] Furthermore, a preferred embodiment is provided: step 5 includes:
[0041] When the encirclement mission does not meet the conditions for a dynamic alliance, the existing alliance is disbanded according to the evaluation rules. If it is disbanded, the location information required for calculation in step 3 is changed to the location information of the escapee and the encircler at the current moment, and step 3 is repeated until a new dynamic alliance that meets the conditions is formed. Then step 4 is executed. Otherwise, the old alliance strategy is still executed.
[0042] Furthermore, a preferred embodiment is provided: step 4 includes:
[0043] Step 4.1: Initialize the bias point list, task assignment points, 3D value matrix, timestamps, and flags required by the IGBNN algorithm;
[0044] Step 4.1.1: Set the offset point list;
[0045] Step 4.1.2: Set the task assignment point to Used to store the target task points obtained by the hunters using the IGBNN algorithm;
[0046] Step 4.1.3: Initialize the value matrix as a zero matrix. This matrix is used to provide weights when the vehicle selects the next waypoint. Initialize the timestamp (time_stamp) to 0.
[0047] Step 4.1.4: Initialize the flag indicating whether to start shrinking, which is used to generate the execution conditions in the dual-alliance strategy;
[0048] Step 4.1.5: Initialize the dual alliance flag to indicate whether the current dynamic alliance is in a dual alliance state;
[0049] Step 4.2: Check the location information of the two escapees. If the distance between the two escapees is less than the set condition radius, proceed to step 4.4; otherwise, proceed to step 4.3.
[0050] Step 4.3: Calculate the mission assignment point for the aircraft when the dual-alliance condition is not met;
[0051] Step 4.4: Calculate the mission assignment point for the aircraft when the dual-alliance conditions are met;
[0052] Step 4.5: Calculate the path based on the obtained task allocation points to obtain the corresponding capture task.
[0053] The present invention also proposes a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor runs the computer program stored in the memory, the processor executes a multi-autonomous underwater vehicle cooperative encirclement method for multi-obstacle environments as described in any of the above-described combinations of schemes.
[0054] The present invention also proposes a computer-readable storage medium for storing a computer program that executes a multi-autonomous underwater vehicle cooperative capture method for multi-obstacle environments as described in any of the above-described combinations of schemes.
[0055] This invention also proposes a multi-autonomous underwater vehicle cooperative capture system for multi-obstacle environments, the system comprising:
[0056] Data collection device: used to collect the location sets of escapees, pursuers, and obstacles;
[0057] Initialization device: used to initialize each set;
[0058] Alliance device: Used to obtain a local task set by adopting a dynamic alliance strategy based on the initialized set of hunter and escapee locations;
[0059] Planning device: Used to perform path planning using the IGBNN algorithm to obtain the corresponding encirclement task;
[0060] Judgment device: Used to determine whether the encirclement task meets the conditions of dynamic alliance. If not, the original alliance is disbanded and steps 3-5 are executed until a new encirclement task that meets the conditions of dynamic alliance is formed. If it meets the conditions, the encirclement is carried out. When an escapee is captured, the corresponding pursuers stop their encirclement movement. After all escapees are captured, all pursuers stop their encirclement movement, and the encirclement is completed.
[0061] Compared with existing technologies, the advantages of this invention are:
[0062] This invention proposes a task allocation method suitable for non-homogeneous AUVs with different speeds, used for allocating hunting tasks. First, target escapees and pursuers meeting certain conditions are placed into a team to form a dynamic alliance, constituting a multi-AUV system, thereby improving capture efficiency. Then, a path planning method based on an incentive matrix and a trust matrix is designed. This method combines GBNN (Glasius Bio-inspired Neural Network), requiring no prior knowledge or learning process, thus improving computational speed. The incentive matrix controls the AUV's movement direction and has a good obstacle avoidance effect; the trust matrix can locally influence the AUV's trajectory, making its path more reasonable, overcoming the time delay of information propagation in the incentive matrix, and improving capture efficiency. Simultaneously, this invention addresses the escape strategies of target escapees, making the capture task dynamic, complex, and difficult, which has significant implications for practical applications.
[0063] This invention employs the IGBNN algorithm and combines it with the dynamic alliance algorithm to solve the hunting problem of multiple targets by a non-homogeneous underwater autonomous vehicle in a multi-obstacle environment. It can assign suitable target tasks according to the vehicle's travel speed and has a good encirclement effect on high-speed moving agents. The speed ratio between the agent and the vehicle can reach up to 0.85.
[0064] This invention improves the target allocation points around the target agent, enabling the hunters to maintain a certain formation during dynamic alliance hunting. It also designs a dual alliance strategy for situations where two agents are close to each other, reducing the uncertainty of the hunting task.
[0065] This invention improves the GBNN algorithm, enabling the new algorithm to avoid obstacles during the process. At the same time, in the path selection strategy, the new algorithm takes into account the changes in the vehicle's heading angle, making the planned path more in line with the motion characteristics of the unmanned vehicle, improving the capture efficiency and saving system energy consumption.
[0066] The encirclement alliance designed in this invention is dynamic, assessing the state of the environment and the target intelligent agent in real time, and dissolving the alliance and forming a new alliance when necessary, thereby ensuring the effective use of spacecraft resources and improving the efficiency of the encirclement mission. Attached Figure Description
[0067] Figure 1 This is a flowchart of a multi-autonomous underwater vehicle cooperative capture method for multi-obstacle environments as described in Implementation Method 1;
[0068] Figure 2 This is a flowchart of step 3 as described in Implementation Method 3;
[0069] Figure 3 This is a flowchart of step 4 as described in implementation method four;
[0070] Figure 4 The flowchart is for step 4.5.8 as described in Implementation Method 4;
[0071] Figure 5 The first set of simulation diagrams described in Implementation Method 5;
[0072] Figure 6 This is the first result image in the second set of simulation images described in Implementation Method 5;
[0073] Figure 7 This is the second result diagram in the second set of simulation diagrams described in Implementation Method 5. Detailed Implementation
[0074] The technical solutions of the embodiments of the present invention will now be clearly and completely described with reference to the accompanying drawings. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0075] Implementation Method 1
[0076] Reference Figure 1 This implementation method is described below.
[0077] This embodiment describes a cooperative capture method for multiple autonomous underwater vehicles in multi-obstacle environments, implemented based on the IGBNN algorithm and a dynamic alliance strategy. The method includes:
[0078] Step 1: In a 3D grid map with multiple obstacles, collect the set of escapee locations, the set of pursuer locations, and the set of obstacle locations;
[0079] Step 2: Initialize each set from Step 1;
[0080] Step 3: Based on the initialized set of locations of the pursuers and the escapees, a dynamic alliance strategy is adopted to obtain the local task set;
[0081] Step 4: Each hunter uses the IGBNN algorithm for path planning to obtain the corresponding hunting task;
[0082] Step 5: Determine whether the encirclement mission meets the conditions for a dynamic alliance. If not, disband the original alliance and execute steps 3-5 until a new encirclement mission that meets the conditions for a dynamic alliance is formed; if it does, then carry out the encirclement.
[0083] Step 6: When an escapee is captured, the corresponding pursuers cease their pursuit.
[0084] Step 7: Once all escapees have been captured, all pursuers cease their pursuit, and the capture is complete.
[0085] In step 3, it is required that for each intelligent escapee there be a group of hunters to carry out hunting tasks, and each hunter is only allowed to be assigned one task.
[0086] Step 5 requires continuously checking whether the current state meets the requirements of a dynamic alliance during the hunting process and making corresponding adjustments, so the alliance is dynamic.
[0087] Implementation Method 2
[0088] This embodiment is a further illustrative example of step 1 in the multi-autonomous underwater vehicle cooperative capture method for multi-obstacle environments described in Embodiment 1.
[0089] Step 1 in this embodiment includes:
[0090] Step 1.1: Traverse the three-dimensional grid map, initialize the terrain matrix terrian_matrix, set the corresponding position of the terrain matrix with obstacles to 1, otherwise set it to 0, and record it as the obstacle position set;
[0091] Step 1.2: Traverse the three-dimensional grid map to obtain the location information of the target escapee and record it as the escapee location set (Target_pos_list = [Target_pos_1, Target_pos_2, ...]);
[0092] Step 1.3: Traverse the three-dimensional grid map to obtain the location information of the hunters and record it as the hunter location set (Hunter_pos_list=[Hunter_pos_1,Hunter_pos_2,…]).
[0093] Step 2 includes:
[0094] Step 2.1: Initialize the escapee set (Target_list = [Target_1, Target_2, ...]) to obtain the number of escapees that need to be captured, target_num;
[0095] Step 2.2: Initialize the hunter set (Hunter_list = [Hunter_1, Hunter_2, ...]) to obtain the number of hunters participating in the hunting mission, hunter_num;
[0096] Step 2.3: Initialize the obstacle set (Obstacke_list = [Obstacle_1, Obstacle_2, ...]).
[0097] Implementation Method 3
[0098] Reference Figure 2 This implementation method is described below.
[0099] This embodiment is a further illustrative example of step 3 in the multi-autonomous underwater vehicle cooperative capture method for multi-obstacle environments described in Embodiment 1.
[0100] Step 3: Apply a dynamic alliance strategy to all hunters and escapees to obtain a local task set. This requires that for each intelligent escapee, there is a set of hunters conducting hunting tasks, and each hunter can only be assigned one task, such as... Figure 2 As shown:
[0101] Step 3.1: Obtain the set of escapee locations and the set of locations of the hunters participating in the mission obtained in Step 1, and then obtain the navigation speed information of the hunters participating in the mission to obtain the hunter speed set (Hunter_velocity_list=[velocity_1,velocity_2,…]);
[0102] Step 3.2: Calculate the distance matrix based on the location information sets of the escapees and the pursuers.
[0103] (distance_matrix={D 11 D 12 ,…,D ij ,…,D mn The formula is constructed as follows:
[0104]
[0105] Among them, dis(hunter) i ,target jLet be the Euclidean distance from the i-th hunter to the j-th target;
[0106] Step 3.3: Calculate the average cost matrix based on the distance matrix and the set of velocities of the pursuers.
[0107] (cost_matrix={C 11 C 12 ,…,C ij ,…,C mn The formula is constructed as follows:
[0108]
[0109] The maximum value of the cost matrix is max_cost;
[0110] Step 3.4: Generate a hunter_flag list to store flags indicating whether the hunter with that number has been assigned a task;
[0111] Step 3.4.1: If the i-th hunter has been assigned a task, then the i-th position of hunter_flag is True; otherwise, it is False.
[0112] False, where 1≤i≤hunter_num;
[0113] Step 3.4.2: Repeat step 3.4.1 until all flags for each hunter have been generated;
[0114] Step 3.5: Initialize the team_list list to store the capture missions corresponding to each escapee;
[0115] Step 3.5.1: The information stored at the i-th position is: the set of identifiers of the pursuers who participated in the capture of the i-th escapee;
[0116] Step 3.5.2: Initialize and set each position of team_list to an empty set.
[0117] Step 3.6: Obtain the minimum value Cij = min_cost of the average cost matrix. Traverse the average cost matrix to find the position of the minimum value, corresponding to the number of the hunter and the number of the escapee. If the hunter at the current position has not been assigned a task, i.e. hunter_flag[i] = False, put the obtained hunter and target into team_list[j], set hunter_flag[i] to True, and set the average cost matrix Cij to the maximum value max_cost.
[0118] Step 3.7: When hunter_flag is not all true and the number of hunters assigned to each escapee does not exceed three, repeat step 3.6 to obtain the local task set.
[0119] Step 3.7 ensures that each participant in the encirclement mission is assigned a task, and by limiting the number of participants in each group, the tasks are evenly distributed.
[0120] Step 3 of this embodiment implements the dynamic alliance allocation strategy and ensures that each pursuer has a task and each escapee is pursued.
[0121] Implementation Method 4
[0122] Reference Figure 3 , Figure 4 This implementation method is described below.
[0123] This embodiment is a further illustrative example of steps 4, 5, 6, and 7 in the multi-autonomous underwater vehicle cooperative capture method for multi-obstacle environments described in Embodiment 1.
[0124] In step 4 of this embodiment, each hunter relies on its own IGBNN algorithm for path planning and hunting targets, such as... Figure 3 As shown:
[0125] Step 4.1: Initialize the offset list, task assignment points, three-dimensional value matrix, timestamp, and flags required by the IGBNN algorithm; wherein, the three-dimensional value matrix is used to guide the movement of the hunter, and the timestamp is used to provide a reference for the task progress;
[0126] Step 4.1.1: Set the offset point list (offset_list), which represents the six candidate directions that the vehicle can select from the 3D grid map around the target escapee during path planning. This list contains a total of six points, intuitively...
[0127] Let's look at the six vertices of a spatial regular octahedron, with specific values shown in Table 1 below:
[0128] Table 1 shows the specific values of offset_list.
[0129] assign_pos value List index (idx) Represents direction (0,0,1) 0 Positive direction of the Z-axis (0,0,-1) 1 Negative direction of the Z-axis (0,1,0) 2 Positive Y-axis direction (0,-1,0) 3 negative Y-axis direction (1,0,0) 4 Positive X-axis direction (-1,0,0) 5 negative X-axis direction
[0130] Step 4.1.2: Set the task assignment point (assign_pos) to... Used to store the target task points obtained by the hunters using the IGBNN algorithm;
[0131] Step 4.1.3: Initialize the value matrix (value_matrix) to a 0 matrix, which will be used to provide weights when the vehicle selects its next waypoint; initialize the timestamp (time_stamp) to 0;
[0132] Step 4.1.4: Initialize the flag indicating whether to start contraction (is_start_constrict), which defaults to no (False). This flag indicates whether all the hunters have reached the task assignment point (assign_pos), and is used to generate the execution conditions in the dual-alliance strategy.
[0133] Step 4.1.5: Initialize the double alliance flag (double_alliance), which defaults to no (False). It is used to indicate whether the current dynamic alliance is in a double alliance state. If so, double_alliance is true (True).
[0134] Step 4.2: Check the location information of the two escapees. If the distance between the two escapees is less than the set condition radius, proceed to step 4.4; otherwise, proceed to step 4.3.
[0135] Step 4.3: Calculate the mission assignment point for the aircraft when the dual-alliance condition is not met;
[0136] Step 4.3.1: Obtain the escapee's trajectory. Take the coordinates of the trajectory sampling points at the two times closest to the current timestamp (time_stamp), which are target_path[-1] and target_path[-2], respectively. Predict the next position of the target escapee to prepare for the subsequent selection of task allocation points. The construction formula is as follows:
[0137] mid_pos=target_path[-1]+target_path[-1]-target_path[-2]
[0138] =2*target_path[-1]-target_path[-2]
[0139] Where mid_pos is the predicted path point, the above formula approximates the distance between the positions of the target escapee at two adjacent sampling times as the distance that the target escapee can move per unit time, that is, the target's movement speed, and its movement direction is approximated by the vector direction of the difference between the coordinates of the two points.
[0140] Step 4.3.2: Calculate the set of task assignment points to be modified (mid_assign_pos_list), constructed using the following formula:
[0141]
[0142] Where target_pos is the observed position of the target escapee at the current time_stamp, and min_dis(hunter_list,target) is the minimum distance from all hunters in the current alliance to the target escapee. Taking half of its value ensures that the encirclement circle for the target can continue to shrink and maintain a certain encirclement formation.
[0143] Step 4.3.3: Add the n points in the task assignment point set (mid_assign_pos_list) that are closest to the predicted path point (mid_pos) to the task assignment point set (assign_pos_list), where n is the number of hunters participating in the hunt in the current alliance. This step makes the task assignment points (assign_pos) obtained by the algorithm more advantageous for the escaped hunting target, and achieves a certain prediction effect.
[0144] Step 4.3.4: For each point in the current alliance's set of all hunters and task assignment points (assign_pos_list), apply the Hungarian algorithm to obtain the optimal assignment solution, whose cost matrix (cost_matrix = {C}) is... 11 C 12 ,…,C ij ,…,C mm The formula is constructed as follows:
[0145]
[0146] Where velocity_i is the speed of the hunter labeled i in the alliance, and hunter_num is the number of hunters in the current dynamic alliance.
[0147] Step 4.3.5: Obtain the task assignment point (assign_pos) corresponding to the currently labeled hunter;
[0148] Step 4.4: Calculate the mission assignment point for the aircraft when the dual-alliance conditions are met;
[0149] Step 4.4.1: Update the flag indicating whether contraction has started (is_start_constrict). If all the trappers have reached the task assignment point assigned by the IGBNN planner, the flag is True; otherwise, it is False.
[0150] Step 4.4.2: If the flag indicating whether to start contraction (is_start_constrict) is True, proceed to step 4.3; otherwise, proceed to steps 4.4.3 through 4.4.6.
[0151] Step 4.4.3: Calculate the center point (middle_pos) of the positions of the two escaped targets;
[0152] Step 4.4.4: Calculate the set of task assignment points to be modified (mid_assign_pos_list), constructed using the following formula:
[0153]
[0154] Where dis(target1,target2) is the distance between the two escaped targets, perception_range is the perception range of the escaped targets, and max(perception_range) takes the maximum value of the perception range of the two escaped targets. This step is intended to prevent the movement of the pursuers from affecting the change in the relative position of the two escaped targets and to prevent the dual-alliance strategy from failing.
[0155] Step 4.4.5: For each point in the current alliance's set of all hunters and task assignment points (assign_pos_list), apply the Hungarian algorithm to obtain the optimal assignment solution, whose cost matrix (cost_matrix = {C}) is... 11 C 12 ,…,C ij ,…,C mn The formula is constructed as follows:
[0156]
[0157] Where velocity_i is the sailing speed of the hunter labeled i in the alliance, hunter_num is the number of hunters participating in the mission in the current dynamic alliance, and assign_num is the number of task assignment points in the task assignment point set (assign_pos_list).
[0158] Step 4.4.6: Obtain the task assignment point (assign_pos) corresponding to the currently labeled hunter;
[0159] Step 4.5: Calculate the path based on the obtained task allocation points to obtain the corresponding capture task.
[0160] Step 4.5.1: Generate the task assignment target point (assign_pos) and the three-dimensional value matrix (value_matrix). At this time, the value matrix is all zeros. The task assignment target point (assign_pos) is used to describe the hunter, and the three-dimensional value matrix (value_matrix) is used to guide the hunter's movement.
[0161] Step 4.5.2: Traverse the grid map, set the corresponding position of the task assignment point (assign_pos) in the value matrix as the target value (target_value = 10), traverse the terrain matrix terrian_matrix, if it is 1, set the corresponding position in the three-dimensional value matrix (value_matrix) as the forbidden value (forbidden_value = -5). The above operation is intended to make the stimulus of the target assignment point play the main role in guiding the vehicle, and the obstacle play an auxiliary role in the vehicle's avoidance. At the same time, in order to avoid position conflicts between the pursuers, extract the position information of the other pursuers besides the current pursuer, and set the value of the corresponding position in the value matrix as the forbidden value.
[0162] Step 4.5.3: Convolution operation. Use the `conv3d` function from the `tensorflow.python.ops.nn_ops` file. The input to be convolved is the value matrix. The convolution kernel size is 3*3*3. The convolution kernel construction formula is as follows:
[0163] First, a three-dimensional mid_offset array is generated, and its values are shown in Table 2:
[0164] Table 2 shows the specific values of the mid_offset array.
[0165] (-1,-1,1) (0,-1,1) (1,-1,1) (-1,0,1) (0,0,1) (1,0,1) (-1,1,1) (0,1,1) (1,1,1) (-1,-1,0) (0,-1,0) (1,-1,0) (-1,0,0) (0,0,0) (1,0,0) (-1,1,0) (0,1,0) (1,1,0) (-1,-1,-1) (0,-1,-1) (1,-1,-1) (-1,0,-1) (0,0,-1) (1,0,-1) (-1,1,-1) (-1,1,0) (-1,1,1)
[0166] By iterating through each element in groups, we get:
[0167] diff[ii,jj,kk]=mid_offset[9*ii+3*jj+kk]*resolution
[0168] dis_matrix[ii,jj,kk]=|diff[ii,jj,kk]|;
[0169] conv_kernel=exp{-gamma*dis_matrix};
[0170] Where resolution is the grid map resolution, which is 1*1*1, gamma is the attenuation factor, which is 0.95, and conv_kernel is the resulting convolution kernel;
[0171] Then, the value matrix is convolved using a convolution kernel with a stride of 1, and the resulting matrix value is stored in the value matrix.
[0172] Step 4.5.4: Calculate the confidence matrix required to correct the value matrix.
[0173] (belief_matrix={B 111 B 112 ,…,B ijk ,…,B mnp}),
[0174] Traversing the grid map, the formula is as follows:
[0175]
[0176] Where cos_mat is the heading angle matrix, used to reflect the vehicle's control capability in each direction. Then let cos_mat ijk =1;
[0177] Where dis(hunter,target) is the Euclidean distance from the hunter to the corresponding escapee;
[0178] This step takes into account the difficulty of controlling the heading angle of an underwater vehicle; that is, the greater the change in heading angle required at a certain position, the smaller the excitation level at that position.
[0179] Step 4.5.5: If the double alliance condition is true (double_alliance = True) and the flag indicating whether to start contraction is true (is_start_constrict = True), proceed to step 4.5.6; otherwise, proceed to step 4.5.7.
[0180] Step 4.5.6: Correct the confidence matrix, constructed using the following formula:
[0181]
[0182] This step is intended to address the issue that when the dynamic alliance is in a dual-alliance state, the pursuer may pass through the target's perception range, causing a change in the relative positions between the escapees and rendering the dual-alliance strategy ineffective.
[0183] Step 4.5.7: Obtain the corrected value matrix, constructed using the following formula:
[0184] value_matrix=rate*value_matrix+(1-rate)*belief_matrix
[0185] Here, rate is used to adjust the magnitude of the confidence matrix correction level;
[0186] Step 4.5.8: Select the next waypoint, such as... Figure 4 As shown:
[0187] Step 4.5.8.1: Obtain the corrected value matrix and generate an offset list (offset_list). This list represents the navigation directions that the hunters can choose in the grid map (without normalization). The values are shown in Table 3.
[0188] Table 3 shows the specific values of offset_list.
[0189] (-1,-1,1) (0,-1,1) (1,-1,1) (-1,0,1) (0,0,1) (1,0,1) (-1,1,1) (0,1,1) (1,1,1) (-1,-1,0) (0,-1,0) (1,-1,0) (-1,0,0) (1,0,0) (-1,1,0) (0,1,0) (1,1,0) (-1,-1,-1) (0,-1,-1) (1,-1,-1) (-1,0,-1) (0,0,-1) (1,0,-1) (-1,1,-1) (-1,1,0) (-1,1,1)
[0190] Then, the candidate point list (pos_list) is calculated using the following formula:
[0191] pos_list[ii]=hunter_pos+offset_list[ii](0≤ii≤25)
[0192] Where hunter_pos is the current position of the hunter;
[0193] Step 4.5.8.2: Traverse the candidate point list (pos_list) and check if the point meets the following conditions:
[0194] a) The point is within the grid map;
[0195] b) There are no obstacles at this point;
[0196] c) The change in the vehicle's heading angle caused by the change in the position of this point is no greater than 90°;
[0197] If all three conditions above are met, then the nearest value list (neightbor_value_list) is calculated using the following formula:
[0198] neighbor_value_list[ii]=value_matrix{pos_list[ii]}(0≤ii≤25);
[0199] Otherwise, neighbor_value_list[ii] = None;
[0200] This step takes into account the cost of changes in the vehicle's heading angle, and considers changes exceeding 90° per unit time as illegal.
[0201] Step 4.5.8.3: Check the marking information and perform the corresponding steps, as detailed in Table 4 below:
[0202] Table 4 Marking Rules
[0203]
[0204] Step 4.5.8.4: Traverse the candidate point list (pos_list) and check if the point meets the following conditions:
[0205] a) The point is within the grid map;
[0206] b) There are no obstacles at this point;
[0207] If all the above conditions are met, then the neighbor value list is calculated using the following formula:
[0208] neighbor_value_list[ii]=value_matrix{pos_list[ii]}(0≤ii≤25);
[0209] Otherwise, neighbor_value_list[ii] = None;
[0210] Step 4.5.8.5: Calculate the navigation direction at the next moment, using the following formula:
[0211]
[0212] This step is intended to facilitate the execution of the dual-alliance strategy, causing the aircraft to sail away from the escapee and obtain a direction.
[0213] Step 4.5.9: Find the coordinates (next_pos) of the candidate point list (pos_list) corresponding to the maximum value in the neighbor value list (neighbor_value_list), and use it as the navigation direction selected by the planner;
[0214] Step 4.5.10: Normalize the navigation direction obtained in the above steps and calculate the speed to obtain the waypoint for the next step. The formulas are as follows:
[0215] a) Normalized velocity:
[0216] b) Velocity: velocity=velocity / update_frequency;
[0217] c) Next waypoint: next_waypoint = hunter_pos + velocity * direction
[0218] Step 4.5.11: Update the position of the pursuer based on the next path point obtained by the planner;
[0219] Step 4.5.12: Update the timestamp, time_stamp + 1;
[0220] Step 4.6: For each predator, repeat the above IGBNN path planner steps until the task is completed;
[0221] Step 4.7: When an escapee is captured, the pursuers in the dynamic coalition stop moving.
[0222] Step 5 in this embodiment is specifically as follows:
[0223] When the encirclement mission does not meet the conditions for a dynamic alliance, the existing alliance is disbanded according to the evaluation rules. If it is disbanded, the location information required for calculation in step 3 is changed to the location information of the escapee and the encircler at the current moment, and step 3 is repeated until a new dynamic alliance that meets the conditions is formed. Then step 4 is executed. Otherwise, the old alliance strategy is still executed.
[0224] It is important to note that during the hunt, it is necessary to continuously check whether the current state meets the requirements of the dynamic alliance and make corresponding adjustments, so the alliance is dynamic.
[0225] The specific evaluation rules are as follows:
[0226] If the current state is a dual alliance, check if the distance between the two escaped targets is less than the conditional radius. If it is less, maintain the current state; otherwise, disband the alliance.
[0227] If the current state is not a two-coalition state, the steps are as follows:
[0228] Step 5.1: Iterate through each hunter and calculate the time it takes to reach all targets in a straight line;
[0229] Step 5.2: Calculate the average time spent by the hunters in the same dynamic alliance on the target escapee assigned by the alliance, and use it as the average capture time. Use the average capture time of the same alliance on the target escapee of another alliance as the average replacement time.
[0230] Step 5.3: Compare the average capture time of the two dynamic alliances. Iterate through all dynamic alliances. If the average capture time of a group is greater than 1.5 times the average replacement time of the group, then the dynamic alliance is marked as "pre-dissolve".
[0231] Step 5.4: If both alliances are marked as "pre-dissolve", then dissolve the current alliance and rebuild the alliance.
[0232] Steps 5.1 to 5.4 are intended to avoid invalid cycles caused by frequent reallocation of dynamic alliances, reduce resource waste, and shorten the capture time.
[0233] Step 6: Repeat steps 4 and 5 until all target escapees are captured.
[0234] Step 7: Once all escapees have been captured, all pursuers cease movement, and the mission is complete.
[0235] Implementation Method 5
[0236] Reference Figure 5 , Figure 6 , Figure 7 This implementation method is described below.
[0237] This embodiment is a further illustrative example of a multi-autonomous underwater vehicle cooperative capture method for multi-obstacle environments described in Embodiments 1 to 4.
[0238] Assume there are multiple obstacles and multiple target agents within a 30m×30m area. The obstacle parameters are shown in Table 5. The parameters of the hunters participating in the first test encirclement task are shown in Table 7. The corresponding target agent parameters are shown in Table 6. The encirclement result parameters are shown in Table 8. The parameters of the hunters participating in the second encirclement test task are shown in Table 10. The corresponding target agent parameters are shown in Table 9. The encirclement result parameters are shown in Table 11.
[0239] Table 5 Obstacle Parameters
[0240] Obstacle Number obstacle center position obstacle size 1 (20,10,10) 4*4*4 2 (7,18,2) 3*5*5 3 (5,10,15) 4*2*5 4 (3,7,2) 2*2*2
[0241] Table 6 Parameters of the Target Agent
[0242] Agent number Initial position of the agent intelligent agent sailing speed Intelligent agent perception radius 1 (16,14,12) 0.8 5 2 (14,15,15) 0.8 5
[0243] Table 7 Parameters of the Encirclers
[0244]
[0245] Table 8. Parameters of the Encirclement and Capture Results
[0246]
[0247] Table 9 Target Agent Parameters
[0248] Agent number Initial position of the agent intelligent agent travel speed Intelligent agent perception radius 1 (12,14,12) 0.8 5 2 (20,20,15) 0.8 5
[0249] Table 10 Parameters of the Encirclers
[0250]
[0251] Table 11 Parameters of the Encirclement Results
[0252]
[0253] Two groups of hunters were tested to illustrate the effects of the two types of allocation outcomes in the dynamic alliance:
[0254] The first group aims to demonstrate a capture scenario where the overall dual-alliance strategy is not triggered. The capture mission's primary objective is to quickly capture the agent, and its trajectory is shown in the figure below. Figure 5 ;
[0255] The second set of tests demonstrates the encirclement trajectory in a dual-alliance state. The encirclement task primarily aims to maintain the stability of the agent's state, and its trajectory diagram is as follows: Figure 6 , Figure 7 ;
[0256] Combining the above data, and Figure 5 , Figure 6 , Figure 7 The trajectory (in the diagram, dashed lines represent escapees, and solid lines around each dashed line represent pursuers) shows that the improved IGBNN algorithm enables the autonomous vehicle to avoid obstacles. Because the design considers changes in heading angle, the planned trajectory better conforms to the vehicle's motion patterns, saving fuel. For dynamic coalition strategies, when the primary objective is to capture escapees, a standard dynamic coalition strategy is initially chosen, which effectively surrounds the target agent. When the objective is to stabilize the target agent's state and surround it without changing its relative position, a dual coalition strategy is selected, and the target is surrounded. Figure 6 The process of forming the encirclement formation is shown, with the black dots representing target allocation points.
[0257] Finally, it should be noted that the above embodiments are only used to describe the technical solutions of the present invention and not to limit the technical methods. The present invention can be extended to other modifications, variations, applications and implementations, and therefore all such modifications, variations, applications and implementations are considered to be within the spirit and teachings of the present invention.
Claims
1. A multi-autonomous underwater vehicle cooperative hunting method for a multi-obstacle environment, characterized in that, The method comprises: Step 1: collecting an escapee position set, a pursuer position set and an obstacle position set; Step 2: initializing each set in step 1; Step 3: obtaining a local task set according to the initialized pursuer position set and escapee position set by using a dynamic alliance strategy; The step 3 comprises: Step 3.1: obtaining speed information of the pursuers to obtain a pursuer speed set; Step 3.2: calculating a distance matrix according to the escapee position information set and the pursuer position information set; Step 3.3: calculating an average cost matrix according to the distance matrix and the pursuer speed set; Step 3.4: Generate a list for storing a flag whether the warden is assigned a task; Step 3.4.1: If the ith hunter is assigned a task, then is True, otherwise False, 1≤i≤hunter_num, hunter_num is the number of hunters. Step 3.4.2: repeating step 3.4.1 until the index of each pursuer is generated; Step 3.5: initializing a team_list list for storing the pursuit tasks corresponding to each escapee; Step 3.5.1: the information stored in the i-th position is: the index set of the pursuers participating in the pursuit of the i-th escapee; Step 3.5.2: initializing each position of the team_list as an empty set; Step 3.6: Obtain the minimum value of the average cost matrix, traverse the average cost matrix to find the position of the minimum value, which corresponds to the label of the captor and the label of the escapee, if the captor at the current position has not been assigned a task, put the obtained captor and target into team_list[j], and simultaneously set [i] True, and set the average cost matrix to the maximum value; Step 3.7: When If not all are True, and the number of hunters assigned to each fugitive is not more than three, step 3.6 is executed in a loop to get the local task set. Step 4: each pursuer performs path planning by using an IGBNN algorithm to obtain a corresponding pursuit task; The step 4 comprises: Step 4.1: initializing a bias point list, a task allocation point, a three-dimensional value matrix, a time stamp and a flag required by the IGBNN algorithm; Step 4.1.1: setting the bias point list; Step 4.1.2: Set the task assignment point as for storing the target task point obtained by the IGBNN algorithm by the trapper; Step 4.1.3: Initialize the value matrix to a zero matrix, which is used to provide weights for selecting the next waypoint for the vehicle, initialize the time stamp to zero; Step 4.1.4: initializing a flag for whether to start contraction, which is used for generating the execution condition in the double alliance strategy; Step 4.1.5: initializing a double alliance flag, which is used to reflect whether the current dynamic alliance is in a double alliance state; Step 4.2: checking the position information of two escapees, if the distance between the two escapees is less than a set condition radius, step 4.4 is executed, otherwise, step 4.3 is executed; Step 4.3: when the double alliance condition is not met, calculating the task allocation point of the vehicle; Step 4.4: when the double alliance condition is met, calculating the task allocation point of the vehicle; Step 4.5: performing path planning according to the obtained task allocation point to obtain a corresponding pursuit task; Step 5: judging whether the pursuit task meets the condition of the dynamic alliance, if not, disbanding the original alliance and executing steps 3-5 until a new pursuit task meeting the condition of the dynamic alliance is formed; if yes, performing pursuit; Step 6: when a certain escapee is captured, the corresponding pursuer stops the pursuit movement; Step 7: after all the escapees are captured, all the pursuers stop the pursuit movement, and the pursuit is completed.
2. The multi-AUV cooperative hunting method for multi-obstacle environment according to claim 1, wherein, The escapee position set, the pursuer position set and the obstacle position set are extracted in a multi-obstacle grid map.
3. The multi-AUV cooperative hunting method for multi-obstacle environment according to claim 2, wherein, The step 1 comprises: Step 1.1: traversing the grid map to initialize a terrain matrix, setting the corresponding position of the terrain matrix as 1 if there is an obstacle, otherwise setting it as 0, and recording it as an obstacle position set; Step 1.2: traversing the grid map to obtain the position information of the target escapee and record it as an escapee position set; Step 1.3: traversing the grid map to obtain the position information of the pursuers and record it as a pursuer position set.
4. The multi-AUV cooperative hunting method for multi-obstacle environment of claim 1, wherein, The step 2 comprises: Step 2.1: initializing an escapee set, obtaining the number of escapees needing to be captured; Step 2.2: initializing a captor set, obtaining the number of captors participating in the capture task; Step 2.3: initializing an obstacle set.
5. The multi-AUV cooperative hunting method for multi-obstacle environment according to claim 1, wherein, The step 5 comprises: When the capture task does not satisfy the condition of the dynamic alliance, according to the evaluation rule, it is determined whether to disband the original alliance, if disbanding, the position information required in step 3 is changed to the position information of the escapee and the position information of the captor at the current time, and step 3 is repeatedly executed until a new dynamic alliance satisfying the condition is formed, then step 4 is executed, otherwise the old alliance strategy is still executed.
6. A computer device, comprising: The computer readable storage medium is used for storing a computer program, and the computer program executes the multi-autonomous underwater vehicle cooperative capture method facing a multi-obstacle environment according to any one of claims 1-5.
7. A computer-readable storage medium, characterized in that: The computer readable storage medium is used for storing a computer program, and the computer program executes the multi-autonomous underwater vehicle cooperative capture method facing a multi-obstacle environment according to any one of claims 1-5.
Citation Information
Patent Citations
Multi-policeman cooperative hunting task allocation and path planning method under road network constraint
CN111609864A
Multi-AUV quick hunting method in obstacle and ocean current environment
CN113283181A