Underwater robot cluster distributed control method and system, electronic equipment and storage medium

Through distributed control methods and real-time sensing data processing, the collaborative efficiency and stability of underwater robot clusters in complex environments are solved, efficient task allocation and obstacle avoidance are achieved, and task success rate and environmental adaptability are improved.

CN120370852APending Publication Date: 2025-07-25GUANGZHOU UNIVERSITY

Patent Information

Application Number
CN202510290512.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-12
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

Existing underwater robot cluster control solutions are susceptible to problems such as communication delay and information sharing lag in large-scale cluster tasks, resulting in poor coordination efficiency and stability, lack of efficient real-time path adjustment and collaborative obstacle avoidance mechanisms, which can easily lead to collisions or task failures.

Method used

By obtaining the status data and task sets of the underwater robot cluster, building a task allocation model, performing distributed task allocation and path planning, using real-time sensing data to make obstacle avoidance judgments and coordinated obstacle avoidance, and adopting a long-machine-wingman distributed control architecture to ensure the setting of cluster goals and local goals.

Benefits of technology

It improves the coordination efficiency and stability of the underwater robot cluster, enhances environmental adaptability, avoids communication bottlenecks and single-point failure problems, and improves the task success rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120370852A_ABST
    Figure CN120370852A_ABST
Patent Text Reader

Abstract

The invention discloses an underwater robot cluster distributed control method and system, electronic equipment and a storage medium. The method comprises the following steps: acquiring state data and a task set of each underwater robot in an underwater robot cluster; constructing a task allocation model based on the state data and the task set, and performing task allocation on each underwater robot by using the task allocation model; performing path planning on each underwater robot according to a task allocation result to obtain a planned path of each underwater robot; enabling the underwater robot to move according to the corresponding planned path; judging whether an obstacle avoidance condition is met based on the real-time sensing data of the underwater robot; and when the underwater robot does not meet the obstacle avoidance condition, cooperative obstacle avoidance of the underwater robot cluster is carried out based on the real-time sensing data until the underwater robot moves to the end point of the planned path. The collaborative efficiency, stability and environmental adaptability of the underwater robot cluster can be improved, and the method can be widely applied to the technical field of data processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular, to a distributed control method, system, electronic device and storage medium for an underwater robot cluster. Background Art

[0002] The existing technologies mainly focus on the autonomous control of a single underwater robot or a centralized control method. These methods are easily restricted by problems such as communication delay and poor cluster stability in large-scale cluster tasks. The research on the cooperative control of multiple underwater robots still faces technical bottlenecks such as inaccurate position estimation between unmanned aerial vehicles, lag in information sharing, and poor adaptability to the external environment.

[0003] In the existing technologies, the existing underwater robot cluster control schemes mostly rely on centralized control or simple distributed control algorithms. These methods are prone to problems such as communication delay and lag in information sharing when facing complex environments or large-scale cluster tasks, affecting the efficiency and stability of cluster cooperation. In the cooperative movement of multiple underwater robots, the existing obstacle avoidance technologies lack efficient real-time path adjustment and cooperative obstacle avoidance mechanisms, which are likely to lead to collisions or task failures. Summary of the Invention

[0004] The present invention aims to solve the problems of related technical limitations at least to a certain extent. For this purpose, the present invention provides a distributed control method, system, electronic device and storage medium for an underwater robot cluster, which can perform distributed control of the underwater robot cluster efficiently and accurately.

[0005] On the one hand, an embodiment of the present invention provides a distributed control method for an underwater robot cluster, including the following steps:

[0006] Obtain the state data and task set of each underwater robot in the underwater robot cluster;

[0007] Construct a task allocation model based on the state data and task set, and use the task allocation model to allocate tasks to each underwater robot;

[0008] Perform path planning for each underwater robot according to the task allocation result to obtain the planned path of each underwater robot; move the underwater robots along their corresponding planned paths;

[0009] Judge whether the underwater robot satisfies the obstacle avoidance condition during the movement along the planned path based on the real-time sensing data of the underwater robot; when the underwater robot does not satisfy the obstacle avoidance condition, perform cooperative obstacle avoidance for the underwater robot cluster based on the real-time sensing data until the underwater robot moves to the end point of its planned path.

[0010] Optionally, the method further includes the following steps:

[0011] In response to the task scenario of the task set, the cluster target of the underwater robot cluster is set using a lead-follower distributed control architecture; the task scenario includes the task coverage area and the task monitoring target.

[0012] Set local targets according to the cluster target; the local targets set the relative positions between each underwater robot.

[0013] Optionally, the state data includes the movement speed of the underwater robot; a task assignment model is constructed based on the state data and the task set, including the following steps:

[0014] Construct a preset number of decision variables according to all the situations where each task in the task set is assigned to each underwater robot in the underwater robot cluster; determine the task time corresponding to each decision variable according to the task assignment situation corresponding to the decision variable; the preset number is the product of the number of robots in the underwater robot cluster and the number of tasks in the task set.

[0015] Construct a task assignment model based on the decision variables and their corresponding task times in combination with the movement speed corresponding to the underwater robot.

[0016] Among them, the expression of the task assignment model is:

[0017] min{f1,f2}

[0018]

[0019] In the formula, f1 and f2 represent constraint conditions, min{} represents minimizing the constraint conditions, and max{} represents maximizing the constraint conditions; v i represents the movement speed of the i-th underwater robot; x i,j represents the decision variable for the i-th underwater robot to be assigned to execute the j-th task in the task set; t i,j represents x i,j corresponding task time; n represents the number of robots.

[0020] Optionally, use the task assignment model to assign tasks to each underwater robot, including the following steps:

[0021] Based on the task assignment model, perform task assignment and solution through a genetic algorithm according to the preset constraints on the decision variables and the task priorities of each task in the task set.

[0022] Among them, the preset constraints include:

[0023] It is characterized that each task is completed by only one underwater robot;

[0024] It is characterized that each underwater robot executes at least one task;

[0025] In the formula, m represents the number of tasks;

[0026] Determine the task allocation result of each underwater robot according to the result of task allocation solution.

[0027] Optionally, the method further includes the following steps:

[0028] Obtain the preset scores of the task factors in multiple dimensions of each task in the task set; the task factors include task timeliness, task difficulty, and task risk;

[0029] Perform weighted processing on the preset scores of the task factors in each dimension to obtain the task time tension degree corresponding to each task;

[0030] Determine the task priority of each task according to the mapping of the task time tension degree.

[0031] Optionally, perform path planning for each underwater robot according to the task allocation result to obtain the planned path of each underwater robot, including the following steps:

[0032] Determine the starting point and ending point of the underwater robot to perform the task according to the task allocation result;

[0033] Based on the starting point and the ending point, combined with the obstacle areas marked in the task execution area, perform path cost estimation through the A* algorithm according to the cost function to achieve path planning, and then obtain the planned path of the underwater robot according to the path with the minimum path cost.

[0034] Optionally, perform cooperative obstacle avoidance for the underwater robot cluster based on real-time sensing data, including the following steps:

[0035] Perform real-time environmental modeling on the underwater robot based on the real-time sensing data, and then determine the dynamic obstacles corresponding to the underwater robot in the real-time environment;

[0036] Construct a directed graph based on the underwater robot and its corresponding dynamic obstacles; the directed graph includes 2n vertices, where n represents the number of robots in the underwater robot cluster;

[0037] Based on the preset vertex communication distance, determine the neighbor node set of each vertex in the directed graph;

[0038] Based on the preset safe communication distance, perform collision prevention through the consensus theory algorithm according to the preset distance metric function and the neighbor node set to adjust the movement paths of each underwater robot in the underwater robot cluster.

[0039] On the other hand, an embodiment of the present invention provides a distributed control system for an underwater robot cluster, including:

[0040] The first module is used to obtain the status data and task sets of each underwater robot in the underwater robot cluster;

[0041] The second module is used to construct a task allocation model based on the status data and task sets, and use the task allocation model to allocate tasks to each underwater robot;

[0042] The third module is used to perform path planning for each underwater robot according to the task allocation result to obtain the planned path of each underwater robot; and move the underwater robots along their corresponding planned paths;

[0043] The fourth module is used to determine whether the underwater robot satisfies the obstacle avoidance condition during the movement along the planned path based on the real-time sensing data of the underwater robot; when the underwater robot does not satisfy the obstacle avoidance condition, perform cooperative obstacle avoidance for the underwater robot cluster based on the real-time sensing data until the underwater robot moves to the end point of its planned path.

[0044] Optionally, the system further includes:

[0045] The fifth module is used to set the cluster target of the underwater robot cluster by adopting a leader-follower distributed control architecture in response to the task scenario of the task set; the task scenario includes the task coverage area and the task monitoring target;

[0046] The sixth module is used to set local targets according to the cluster target; the local targets set the relative positions between each underwater robot.

[0047] Optionally, the system further includes:

[0048] The seventh module is used to obtain the preset scores of the task factors in multiple dimensions of each task in the task set; the task factors include task timeliness, task difficulty, and task risk;

[0049] The eighth module is used to perform weighted processing on the preset scores of the task factors in each dimension to obtain the task time tension degree corresponding to each task;

[0050] The ninth module is used to map and determine the task priority of each task according to the task time tension degree.

[0051] On the other hand, an embodiment of the present invention provides an electronic device, including: a processor and a memory; the memory is used to store a program; the processor executes the program to implement the above-mentioned distributed control method for an underwater robot cluster.

[0052] On the other hand, an embodiment of the present invention provides a computer storage medium, in which a program executable by a processor is stored, and the program executable by the processor is used to implement the above-mentioned distributed control method for an underwater robot cluster when executed by the processor.

[0053] In an embodiment of the present invention, the state data and task sets of each underwater robot in an underwater robot cluster are obtained; a task allocation model is constructed based on the state data and task sets, and each underwater robot is allocated tasks by using the task allocation model; path planning is performed on each underwater robot according to the task allocation result to obtain the planned path of each underwater robot; the underwater robots move along their corresponding planned paths; it is judged whether the underwater robots meet the obstacle avoidance condition during the movement along the planned path based on the real-time sensing data of the underwater robots; when the underwater robots do not meet the obstacle avoidance condition, collaborative obstacle avoidance of the underwater robot cluster is performed based on the real-time sensing data until the underwater robots move to the end point of their planned paths. The beneficial effects of the embodiment of the present invention are as follows:

[0054] 1. Improve the cluster collaboration efficiency: By obtaining the state data and task sets of each underwater robot and constructing a task allocation model, reasonable task allocation can be achieved, avoiding the communication bottleneck in centralized control and improving the overall task execution efficiency of the cluster.

[0055] 2. Enhance the cluster stability: Path planning is performed based on the task allocation result to ensure that each underwater robot moves along the planned path, reducing the cluster instability problems caused by lagging information sharing or communication delay, and improving the collaborative stability of the cluster.

[0056] 3. Real-time obstacle avoidance and path adjustment: By judging the obstacle avoidance condition through real-time sensing data and performing collaborative obstacle avoidance when the obstacle avoidance conditions are not met, collisions can be effectively avoided, and the adaptability and task success rate of underwater robots in complex environments can be improved.

[0057] 4. Distributed collaborative control: This method avoids the single-point failure problem of centralized control, adopts a distributed task allocation and path planning mechanism, enhances the robustness and scalability of the system, and is suitable for large-scale underwater robot cluster tasks.

[0058] 5. Enhanced environmental adaptability: Through real-time sensing data and collaborative obstacle avoidance mechanisms, underwater robots can better cope with the dynamic changes of the external environment, improving the adaptability and task execution effect in complex underwater environments.

[0059] In summary, the present invention effectively solves the problems of communication delay, lagging information sharing, insufficient collaborative obstacle avoidance, etc. in the prior art through task allocation, path planning and real-time obstacle avoidance mechanisms, and improves the collaborative efficiency, stability and environmental adaptability of the underwater robot cluster. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] The drawings are used to provide a further understanding of the technical solutions of the present invention, and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the technical solutions of the present invention, and do not constitute a limitation to the technical solutions of the present invention.

[0061] Figure 1 It is a schematic diagram of an implementation environment for distributed control of an underwater robot swarm provided by an embodiment of the present invention;

[0062] Figure 2 It is a schematic flowchart of a method for distributed control of an underwater robot swarm provided by an embodiment of the present invention;

[0063] Figure 3 It is a schematic diagram of a specific implementation process of the method for distributed control of an underwater robot swarm provided by an embodiment of the present invention;

[0064] Figure 4 It is a schematic diagram of the overall process logic of the method for distributed control of an underwater robot swarm provided by an embodiment of the present invention;

[0065] Figure 5 It is a schematic diagram of the structure of a distributed control system for an underwater robot swarm provided by an embodiment of the present invention;

[0066] Figure 6 It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. Specific Embodiments

[0067] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0068] It should be noted that although functional module division is performed in the system schematic diagram and the logical sequence is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order from the module division in the system or the sequence in the flowchart. The terms "first / S100", "second / S200", etc. in the specification, claims and the above-mentioned drawings are used to distinguish similar objects and do not necessarily need to describe a specific order or sequence.

[0069] Referring to "embodiment" herein means that a specific feature, structure or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. The phrase appears in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein may be combined with other embodiments.

[0070] It can be understood that the distributed control method for an underwater robot cluster provided by the embodiments of the present invention can be applied to any computer device with data processing and computing capabilities, and this computer device can be various types of terminals or servers. When the computer device in the embodiment is a server, the server is an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. Optionally, the terminal is a smart phone, a tablet computer, a laptop computer, a desktop computer, etc., but is not limited thereto.

[0071] As Figure 1 shown, it is a schematic diagram of an implementation environment provided by the embodiments of the present invention. Referring to Figure 1 , this implementation environment includes at least one terminal 102 and a server 101. The terminal 102 and the server 101 can be network-connected through wireless or wired means to complete data transmission and exchange.

[0072] The server 101 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0073] In addition, the server 101 can also be a node server in a blockchain network. Among them, the blockchain is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithms.

[0074] The terminal 102 can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal 102 and the server 101 can be directly or indirectly connected through wired or wireless communication means, and the embodiments of the present invention do not make limitations here.

[0075] Exemplarily, based on Figure 1 the shown implementation environment, the embodiments of the present invention provide a distributed control method for an underwater robot cluster. Hereinafter, taking the application of this distributed control method for an underwater robot cluster to the server 101 as an example for description, it can be understood that this distributed control method for an underwater robot cluster can also be applied to the terminal 102.

[0076] Referring to Figure 2 , Figure 2 which is a flowchart of the distributed control method for an underwater robot cluster applied to a server provided by an embodiment of the present invention. The execution subject of the distributed control method for the underwater robot cluster can be any of the aforementioned computer devices (including a server or a terminal). Referring to Figure 2 , the method includes the following steps:

[0077] S100. Obtain the state data and task set of each underwater robot in the underwater robot cluster;

[0078] Exemplarily, in some specific embodiments, each underwater robot collects its own state data in real time through its motion control system. In some specific application scenarios, the state data may include battery power b i , motion speed v i , chronological order, etc.

[0079] S200. Build a task allocation model based on the state data and task set, and use the task allocation model to allocate tasks to each underwater robot;

[0080] It should be noted that the state data includes the motion speed of the underwater robot. In some embodiments, building a task allocation model based on the state data and task set may include the following steps: constructing a preset number of decision variables according to all the situations where each task in the task set is allocated to each underwater robot in the underwater robot cluster; determining the task time corresponding to each decision variable according to the task allocation situation corresponding to the decision variable; the preset number is the product of the number of robots in the underwater robot cluster and the number of tasks in the task set; constructing a task allocation model based on the decision variables and their corresponding task times in combination with the motion speed corresponding to the underwater robot; where the expression of the task allocation model is:

[0081] min{f1,f2}

[0082]

[0083] In the formula, f1 and f2 represent constraint conditions, min{} represents minimizing the constraint conditions, max{} represents maximizing the constraint conditions; v i represents the motion speed of the i-th underwater robot; x i,j represents the decision variable for the i-th underwater robot to be assigned to execute the j-th task in the task set; t i,j represents the task time corresponding to x i,j , and n represents the number of robots.

[0084] Exemplarily, in some specific embodiments, the multi-task collaborative allocation problem of an underwater robot is to, under a task set, allocate the underwater robots in the underwater robot set to complete the tasks in the task set, so as to achieve the optimization of benefits. The task set is a set of a series of tasks, which can be represented by the symbol T = {T1, T2, Λ, T m} represents m tasks that need to be processed and executed;

[0085] Use the symbol U = {u1, u2, Λ, u n} to represent n underwater robots that can be used to execute tasks. The corresponding positions of the underwater robots are {q1(t), q2(t), Λ, q n (t)}, and the positions of the underwater robots are functions of time t. Assume that the execution time of the underwater robots is [0, T], then the corresponding motion trajectories of the underwater robot group are: {q1(t), q2(t), Λ, q n (t)}, t ∈ [0, T]. The decision variable is x i,j , and the corresponding time is t i,j . When x i,j is 1, the underwater robot u i will be assigned to execute the task T j ; when x i,j is 0, the underwater robot u i is not assigned to execute the task T j . There are a total of n * m decision variables. At the initial stage of planning, assume that the speed of the underwater robot u i executing the task is constant at v i . In the task allocation, it is hoped that the motion voyage of the underwater robot is smaller and the task completion time is shorter. Then the allocation optimization model is:;

[0086] min{f1, f2}

[0087]

[0088] It should also be noted that in some embodiments, using the task allocation model to allocate tasks to each underwater robot may include the following steps: Based on the task allocation model, according to the preset constraints on the decision variables and the task priorities of each task in the task set, perform task allocation and solution through a genetic algorithm; wherein, the preset constraints include:

[0089] Characterize that each task is completed by only one underwater robot;

[0090] Characterize that each underwater robot executes at least one task;

[0091] In the formula, m represents the number of tasks;

[0092] Determine the task allocation result of each underwater robot according to the result of solving the task allocation.

[0093] Exemplarily, in some specific embodiments, in the algorithm, each task can only be completed by one underwater robot, that is:

[0094]

[0095] Each underwater robot executes at least one task, then:

[0096]

[0097] All tasks are arranged according to the task priority o i , for the constraint objective of the relevant constraint conditions of the task allocation model, the genetic algorithm can be applied to solve it, and the optimal task allocation scheme can be obtained.

[0098] Among them, in some embodiments, the method may further include the following steps: obtaining the preset scores of task factors in multiple dimensions of each task in the task set; the task factors include task timeliness, task difficulty, and task risk; performing weighted processing on the preset scores of task factors in each dimension to obtain the task time tension degree corresponding to each task; determining the task priority of each task according to the mapping of the task time tension degree.

[0099] Exemplarily, in some specific embodiments, each task has a corresponding priority o i , specifically, the task priority evaluation uses a weighted algorithm based on factors such as task timeliness, task difficulty, and task risk to evaluate the task priority o i , among which, all tasks obtain the task priority according to the time tension degree i . The task difficulty considers, for example, the target distance, terrain complexity, etc. The task allocation adopts an algorithm based on multi-objective optimization theory. By simulating multi-scenario task allocation, it ensures the matching of task priority and the state of the underwater robot. Finally, dynamic task allocation is performed. The genetic algorithm is used to dynamically adjust the task allocation based on the state of the underwater robot and the priority of the task. The algorithm considers the ability matching degree of each underwater robot to ensure efficient task execution.

[0100] S300. Perform path planning for each underwater robot according to the task allocation result to obtain the planned path of each underwater robot; move the underwater robot along its corresponding planned path;

[0101] It should be noted that in some embodiments, according to the result of task allocation, path planning is performed for each underwater robot to obtain the planned path of each underwater robot, which may include the following steps: determining the starting point and ending point for the underwater robot to execute the task according to the result of task allocation; based on the starting point and ending point, combining the obstacle areas marked in the task execution area, and using the A* algorithm to estimate the path cost according to the cost function to achieve path planning, and then obtaining the planned path of the underwater robot according to the path with the minimum path cost.

[0102] Exemplarily, in some specific embodiments, in task allocation, the optimization model allocates tasks to each underwater robot. After each underwater robot receives the task, it will perform path planning. For underwater robot u i , according to its given task, path planning is performed.

[0103] Path planning is not only global planning, but also requires real-time local adjustment according to sensor feedback during the movement process to avoid obstacles and other underwater robots.

[0104] First, global path planning is performed. Based on the A* algorithm, preliminary path planning is carried out to calculate the shortest path of the underwater robot from the starting point to the ending point, avoiding known obstacle areas.

[0105] The A* algorithm is the most effective direct search algorithm for solving the optimal path in a static environment. It combines the ideas of best-first search and Dikstra algorithm, and uses heuristic search on the basis of ensuring the optimal path. The A* algorithm determines the search direction through an evaluation function f(q). Starting from the starting point, it expands to the surrounding area, calculates the cost value of each surrounding node through the evaluation function, selects the node with the minimum cost as the next expansion node, and repeats this process until the target point is reached to generate the final path. During the search process, since each node on the path is a node with the minimum cost, the path cost obtained is the minimum.

[0106] The steps of the A* algorithm are described below. Assume that the starting point coordinate is q0, and its cost function is generally expressed as f(q) = g(q) + h(q), where g(q) represents the minimum cost from the starting point q0 to point q at the current moment in the search, and h(q) is the estimated minimum cost from the current node q to the target point. Since h(q) is estimated, it is not necessarily accurate and needs to be continuously explored and verified during the search. If a path with a smaller cost value than the current one is found, it is updated and replaced. Because this kind of estimation may be unrealistic, its path may pass through obstacles, or through prohibited areas, or other situations. In the algorithm iteration, all vertices are divided into two sets, the openlist and closedlist sets, that is:

[0107]

[0108] All vertex sets are

[0109] The closedlist set is the set of vertices that have been examined at the current search moment. These vertex sets can completely determine the set of points with the minimum cost from the starting point to these points. If a certain point v i is a vertex in the closedlist, that is, v i ∈ closedlist, then it means that the minimum cost f(v i ) from the starting point to this vertex is known.

[0110] S400. Determine whether the underwater robot satisfies the obstacle avoidance condition during the movement of the planned path based on the real-time sensing data of the underwater robot; when the underwater robot does not satisfy the obstacle avoidance condition, perform collaborative obstacle avoidance for the underwater robot cluster based on the real-time sensing data until the underwater robot moves to the end point of its planned path.

[0111] It should be noted that in some embodiments, the collaborative obstacle avoidance for the underwater robot cluster based on the real-time sensing data may include the following steps: performing real-time environmental modeling on the underwater robot based on the real-time sensing data, and then determining the dynamic obstacles corresponding to the underwater robot in the real-time environment; constructing a directed graph based on the underwater robot and its corresponding dynamic obstacles; the directed graph includes 2n vertices, where n represents the number of robots in the underwater robot cluster; determining the neighbor node set of each vertex in the directed graph based on the preset vertex communication distance; based on the preset safe communication distance, performing collision prevention through the consensus theory algorithm according to the preset distance metric function and the neighbor node set to adjust the movement path of each underwater robot in the underwater robot cluster.

[0112] Exemplarily, in some specific embodiments, the A* algorithm provides a feasible movement path for the underwater robot. To ensure the safe movement of the underwater robots in the cluster, an obstacle avoidance technology based on environmental perception and mutual coordination is also required. Specifically, the present invention utilizes information such as sensors and combines local obstacle avoidance algorithms for real-time decision-making, which can be specifically implemented as follows:

[0113] First, perform real-time environmental modeling. Each underwater robot u i constructs an environmental model in real time based on its location q i (t), obtains the distance data d i (t) and the direction angle θ i (t) of the obstacle through a lidar, and combines the camera sensor to obtain the position of the dynamic obstacle and the speed data

[0114] Then, cluster cooperation for obstacle avoidance is carried out. An algorithm based on consensus theory is used for collision prevention. At this time, the distance between the obstacle and the underwater robot is d i (t), and the direction of the obstacle relative to the underwater robot is the azimuth angle θ i (t), and the safe and optimal communication distance is d safe , and the motion path is adjusted. The position of the underwater robot u i at the current moment is q i (t), and the position at the next moment is q i (t + 1). The underwater robot needs to move from q i (t) to q i (t + 1). Let u1, u2,..., u n-1 , u n , Form a directed graph with 2n vertices, and its dynamics can be expressed as:

[0115]

[0116] where x i is the position of the i-th vertex, v i is the velocity of the i-th vertex, and a i is the acceleration of the i-th vertex. Let r be the communication distance, r > d safe .

[0117] For the underwater robot u i , the acceleration corresponding to its uniform acceleration linear motion can be determined according to the current position q i (t), the position q i (t + 1) at the next moment, and the current velocity v i (t). According to the law of uniformly accelerated motion, we have:

[0118]

[0119] For the i-th vertex, its neighbor nodes are defined as all underwater robots and obstacles within the communication distance of the i-th vertex, that is, the set of neighbor nodes of the i-th vertex is:

[0120] N i ={j|j≠i,||x i -x j ||2≤r}.

[0121] Let the distance index function be In the motion process, it is hoped that the value of the distance index function is as small as possible. Its gradient with respect to x i is If we want to find the minimum value, the search direction should be the negative gradient direction at this time. Thus, it can be known that:

[0122]

[0123] The underwater robots within the cluster share obstacle information and adjust their movement paths through a local cooperation algorithm, and solve the optimal to avoid collisions between the underwater robots in the cluster and between the underwater robots and obstacles.

[0124] Among them, it should also be noted that in some embodiments, the method may further include the following steps: in response to the task scenario of the task set, setting the cluster target of the underwater robot cluster by adopting a leader-follower distributed control architecture; the task scenario includes the task coverage area and the task monitoring target; setting local targets according to the cluster target; the local target sets the relative positions between each underwater robot.

[0125] Exemplarily, in some specific embodiments, the underwater robots within the cluster need to work in coordination under a distributed control architecture, which has high reliability and can avoid the cluster failure caused by the failure of the central node. Specifically, it can be implemented as follows:

[0126] Adopt a leader-follower distributed control architecture, where each underwater robot executes local control based on the target cluster behavior and its own state.

[0127] First, set the cluster target. The target task of the cluster is set by the central node. For example, multiple underwater robots jointly execute tasks such as area coverage tasks and environmental monitoring tasks.

[0128] Then, set local targets. Each underwater robot sets its own movement target according to the overall cluster target and the relative positions with the surrounding underwater robots.

[0129] Finally, dynamically adjust and coordinate. Each underwater robot within the cluster adjusts its movement strategy through local feedback to ensure the relative distance and movement coordination between the underwater robots in the cluster.

[0130] To explain the principle of the technical solution of the present invention in detail, the following combines some specific embodiments to illustrate the overall process of the present invention. It is easy to understand that the following is an explanation of the technical principle of the present invention and cannot be regarded as a limitation of the present invention.

[0131] In view of the related disadvantages of the prior art, the present invention proposes a technical solution for collaborative control of an underwater robot cluster based on distributed control. As Figure 3 and Figure 4 shown, the embodiments of the present invention can be implemented through the following process steps:

[0132] 1. Cluster control:

[0133] The implementation of the cluster control method has the following steps, covering task allocation, path planning, control algorithms, etc.

[0134] 1.1 Task allocation algorithm:

[0135] The core goal of task allocation is to intelligently allocate tasks according to the current state of each underwater robot in the cluster (such as battery power b i , movement speed v i , task priority o i , etc.).

[0136] First, state acquisition and modeling are carried out. Each underwater robot collects its own state data in real time through its motion control system, including battery power b i , movement speed v i , time sequence, etc.

[0137] Then, task priority evaluation is carried out. A weighted algorithm based on factors such as task timeliness, task difficulty, and task risk is used to evaluate the task priority o i . Task difficulty considers, for example, target distance, terrain complexity, etc. Task allocation adopts an algorithm based on multi-objective optimization theory. By simulating multi-scenario task allocation, it ensures the matching of task priority and underwater robot state. Finally, task dynamic allocation is carried out. The genetic algorithm is used to dynamically adjust task allocation based on the state of underwater robots and the priority of tasks. The algorithm considers the ability matching degree of each underwater robot to ensure efficient task execution.

[0138] The problem of multi-task collaborative allocation of underwater robots is to, under a task set, allocate the underwater robots in the underwater robot set to complete the tasks in the task set, so as to achieve the optimization of benefits. The task set is a set of a series of tasks, which can be represented by the symbol T = {T1, T2, Λ, T m} to represent m tasks that need to be processed and executed;

[0139] Use the symbol U = {u1, u2, Λ, u n} to represent n underwater robots that can be used to execute tasks. Each task has a corresponding priority o i , and the positions of the corresponding underwater robots are {q1(t), q2(t), Λ, q n (t)}. The positions of the underwater robots are functions of time t. Suppose the execution time of the underwater robots for tasks is [0, T], then the corresponding motion trajectories of the underwater robot group are: {q1(t), q2(t), Λ, q n (t)}, t ∈ [0, T]. The decision variable is x i,j , and the corresponding time is t i,jWhen x i,j is 1, the underwater robot u i will be assigned to execute task T j ; when x i,j is 0, the underwater robot u i is not assigned to execute task T j . There are a total of n*m decision variables. At the initial stage of planning, it is assumed that the underwater robot u i executes the task at a constant speed of v i . In the task assignment, it is hoped that the underwater robot has a shorter motion range and a shorter task completion time. Then the assignment optimization model is:

[0140] min{f1,f2}

[0141]

[0142] In the algorithm, each task can only be completed by one underwater robot, that is:

[0143]

[0144] Each underwater robot executes at least one task, then:

[0145]

[0146] All tasks obtain the task priority o according to the time urgency i . Applying the genetic algorithm to solve it can obtain the optimal task assignment scheme.

[0147] 1.2 Path planning and obstacle avoidance:

[0148] In the task assignment, the optimization model assigns tasks to each underwater robot. After each underwater robot receives the task, it will perform path planning. For the underwater robot u i , according to its given task, path planning is carried out.

[0149] Path planning is not only global planning, but also requires real-time local adjustment according to sensor feedback during the movement to avoid obstacles and other underwater robots.

[0150] First, global path planning is carried out. Based on the A* algorithm, preliminary path planning is carried out to calculate the shortest path of the underwater robot from the starting point to the end point, avoiding known obstacle areas.

[0151] Then dynamic adjustment and obstacle avoidance are carried out. During the movement, the environmental information is detected in real time through sensors and other means. When a new obstacle is found, the local path adjustment method based on the consistency theory is used to adjust the movement trajectory to avoid collisions with obstacles.

[0152] The A* algorithm is the most effective direct search algorithm for finding the optimal path in a static environment. It combines the ideas of best-first search and Dijkstra's algorithm, and uses heuristic search while ensuring the optimal path is obtained. The A* algorithm determines the search direction through an evaluation function f(q). Starting from the starting point, it expands to the surrounding areas, calculates the cost values of each surrounding node through the evaluation function, selects the node with the minimum cost as the next expansion node, and repeats this process until the target point is reached to generate the final path. During the search process, since each node on the path is a node with the minimum cost, the path cost obtained is the minimum.

[0153] The following describes the steps of the A* algorithm. Assume the starting point coordinates are q0, and its cost function is generally expressed as f(q) = g(q) + h(q), where g(q) represents the minimum cost from the starting point q0 to point q at the current moment in the search, and h(q) is the estimated minimum cost from the current node q to the target point. Since h(q) is an estimate, it is not necessarily accurate and needs to be continuously explored and verified during the search. If a path with a smaller cost value than the current one is found, it will be updated and replaced. Because this estimate may be unrealistic, the path may pass through obstacles, or through prohibited areas, or other situations. In the algorithm iteration, all vertices are divided into two sets, the openlist and closedlist sets, namely:

[0154]

[0155] The set of all vertices is

[0156] The closedlist set is the set of vertices that have been examined at the current search moment. These vertex sets can completely determine the set of points with the minimum cost from the starting point to these points. If a certain point v i is a vertex in the closedlist, that is, v i ∈closedlist, then it means that the minimum cost f(v i ) from the starting point to this vertex is known.

[0157] Specifically, the steps of the A* algorithm can be implemented as follows:

[0158] (1) Initialization, let openlist = {}, closedlist = {}. The total estimated cost f(v i ) of all vertices v i is initially 0, the current path cost g(v s ) from the starting point v i to vertex v i is 0, and the current path cost h(v i ) from vertex vi ) is v i ;

[0159] (2) Starting from the starting point v s depart, that is, the starting point v s is used as the current vertex, and let the label of the current vertex be cur;

[0160] (3) Add the current vertex cur to the openlist, that is, openlist = openlist ∪ {cur}. Update the current vertex cur, and the update rule is: Let the set of all adjacent nodes of the current vertex cur be denoted as N cur , list all the adjacent nodes v next ∈N cur of the vertex cur, calculate the shortest path from the vertex cur to the adjacent node v next , update g(v next ) using the shortest path value, and calculate the cost of estimating the distance from the adjacent node v next to the end point according to the distance calculation formula (such as the Manhattan distance of the city, the distance formula between two points, etc. calculation formulas), and update h(v next ); thus update the current total cost f(v next ) of the vertex v next , and the update formula is f(v next ) = g(v next ) + h(v next );

[0161] Note for the update process of each v next :

[0162] ① Judge whether v next is an obstacle. If so, skip this adjacent node;

[0163] ② Judge whether v next is the end point. If so, set the current vertex cur as the parent of the end point, end the algorithm, return the corresponding value, and perform the backtracking path algorithm;

[0164] ③ Judge whether v next is in the closedlist set. If so, skip this adjacent node;

[0165] ④ If the total cost f(v next ) of v next becomes smaller after being updated, set the parent node: set the parent of v next to the vertex cur; at the same time, if v next is not in the openlist set, add it to the openlist, that is, openlist = openlist ∪ {Vnext};

[0166] ⑤ If v next is not in the openlist set, update its total cost f(v next ), and set the parent node: set the parent of v next to the vertex cur, and at the same time add it to the openlist, that is, openlist = openlist ∪ {V next};

[0167] After updating all neighbor nodes v next , find the vertex corresponding to the minimum cost in the openlist set, that is This is the vertex with the minimum cost in the openlist set.

[0168] (4) Assign v min to cur, remove v min from the openlist set, and add it to the closedlist, that is, closedlist = closedlist ∪ {v min}. Continue to execute step (3).

[0169] Among them, the backtracking path algorithm steps can be implemented as follows: If v next is the end point v t , end the algorithm and perform the backtracking path algorithm. Find the parent vertex of v t Then find the parent vertex of Then find the parent vertex of ... and so on until v . Thus, the path is obtained: s .

[0170] 2. Obstacle avoidance and collision avoidance:

[0171] The A* algorithm provides a feasible motion path Path i for the underwater robot u i . To ensure the safe movement of underwater robots in the cluster, obstacle avoidance technology based on environmental perception and mutual coordination is also required.

[0172] 2.1 Multi-sensor fusion obstacle avoidance algorithm:

[0173] Utilize information such as sensors and make real-time decisions in combination with local obstacle avoidance algorithms.

[0174] First, perform real-time environmental modeling. Each underwater robot ui Based on the location q i (t) Build an environmental model in real time, and obtain the distance data d of obstacles through lidar i and the direction angle θ i (t), and combine the camera sensor to obtain the dynamic obstacles position and speed data

[0175] Then perform cluster cooperative obstacle avoidance. Use an algorithm based on consensus theory for collision prevention. At this time, the distance between the obstacle and the underwater robot is d i (t), the direction of the obstacle relative to the underwater robot is the azimuth angle θ i (t), the safe and optimal communication distance is d safe , and adjust the motion path. The position of the underwater robot u i at the current moment is q i (t), and the position at the next moment is q i (t + 1). The underwater robot needs to move from q i (t) to q i (t + 1). Let u1, u2,..., u n-1 , u n , form a directed graph with 2n vertices, then its dynamics can be expressed as:

[0176]

[0177] where x i is the position of the i-th vertex, v i is the speed of the i-th vertex, and a i is the acceleration of the i-th vertex. Let r be the communication distance, r > d safe .

[0178] For the underwater robot u i , the acceleration corresponding to its uniform accelerated linear motion can be determined according to the current position q i (t), the position q i (t + 1) at the next moment, and the current speed v i (t). According to the law of uniformly accelerated motion, we have:

[0179]

[0180] For the i-th vertex, its neighbor nodes are defined as all underwater robots and obstacles within the communication distance of the i-th vertex, that is, the set of neighbor nodes of the i-th vertex is:

[0181] N i = {j|j ≠ i, ||x i - x j ||2 ≤ r}。

[0182] Let the distance metric function be In the movement process, it is hoped that the value of the distance metric function is as small as possible. Its gradient with respect to x i is If we want to find the minimum value, the search direction at this time should be the negative gradient direction Thus, it can be known that:

[0183]

[0184] The underwater robots in the cluster share obstacle information and adjust their movement paths through a local cooperation algorithm, and solve the optimal to avoid collisions between underwater robots in the cluster and between underwater robots and obstacles.

[0185] 3. Distributed control architecture:

[0186] The underwater robots in the cluster need to work in coordination under a distributed control architecture. This architecture has high reliability and can avoid the failure of the cluster caused by the failure of the central node.

[0187] 3.1 Distributed control method:

[0188] Adopt a leader - follower distributed control architecture, where each underwater robot executes local control based on the target cluster behavior and its own state.

[0189] First, set the cluster target. The target task of the cluster is set by the central node. For example, multiple underwater robots jointly execute tasks such as area coverage tasks and environmental monitoring tasks.

[0190] Then, set the local target. Each underwater robot sets its own movement target according to the overall cluster target and the relative position with the surrounding underwater robots.

[0191] Finally, dynamically adjust and coordinate. Each underwater robot in the cluster adjusts its movement strategy through local feedback to ensure the relative distance and movement coordination between underwater robots in the cluster.

[0192] Among them, it should be added that in the above - mentioned cluster control scheme, each control parameter can be adjusted by manually inputting the initial value or automatically adjusted after the task is executed; the consensus algorithm can be replaced by other similar optimization algorithms, such as the local consensus algorithm based on neighborhood information.

[0193] In summary, the present invention proposes a technical solution for collaborative control of an underwater robot cluster based on distributed control. By combining the consensus theory for path planning and obstacle avoidance control, the present invention can ensure the stability and efficient execution of the cluster in a complex environment, dynamically adjust the task allocation and movement paths of the underwater robots within the cluster, and improve the reliability and safety of task execution.

[0194] Compared with the prior art, the present invention has at least the following beneficial effects:

[0195] 1. Collaborative control based on the consensus theory: In the multi-robot collaborative tasks of existing underwater robot cluster control methods, there are often problems such as uneven task allocation and low collaborative accuracy. This patent proposes a cluster collaborative control method based on local information sharing through the consensus theory to ensure that each underwater robot can maintain consistency with other underwater robots when performing tasks and avoid coordination errors. Each underwater robot in the cluster adjusts its movement path and task execution strategy through the consensus algorithm to ensure the high efficiency and stability of cluster collaboration.

[0196] 2. Intelligent task allocation and dynamic adjustment: This patent proposes an intelligent task allocation algorithm based on task priority and the state of underwater robots. By combining the consensus theory and multi-objective optimization methods, it can dynamically adjust task allocation according to environmental changes and the state of underwater robots to ensure the high efficiency and coordination of task execution within the cluster.

[0197] 3. Multi-level distributed control architecture: Most traditional cluster control methods adopt a centralized or single-level distributed control system. This patent enhances the flexibility and robustness of the cluster through a multi-level distributed control architecture. Each underwater robot can not only rely on the central control system but also make local adjustments according to the states of surrounding neighboring robots to ensure that the cluster can still maintain high-efficiency collaboration in a large-scale or dynamic environment.

[0198] On the other hand, as Figure 5 shown, an embodiment of the present invention provides a distributed control system 900 for an underwater robot cluster, which may include:

[0199] A first module 901, configured to obtain the state data and task sets of each underwater robot in the underwater robot cluster;

[0200] A second module 902, configured to construct a task allocation model based on the state data and task sets, and use the task allocation model to allocate tasks to each underwater robot;

[0201] A third module 903, configured to perform path planning for each underwater robot according to the task allocation result to obtain the planned path of each underwater robot; and move the underwater robots along their corresponding planned paths.

[0202] The fourth module 904 is configured to determine whether the underwater robot satisfies the obstacle avoidance condition during the movement along the planned path based on the real-time sensing data of the underwater robot; when the underwater robot does not satisfy the obstacle avoidance condition, perform collaborative obstacle avoidance for the underwater robot cluster based on the real-time sensing data until the underwater robot moves to the end point of its planned path.

[0203] In some embodiments, the system may further include:

[0204] The fifth module is configured to set the cluster target of the underwater robot cluster by adopting a leader-follower distributed control architecture in response to the task scenario of the task set; the task scenario includes the task coverage area and the task monitoring target;

[0205] The sixth module is configured to set local targets according to the cluster target; the local targets set the relative positions between each underwater robot.

[0206] In some embodiments, the system may further include:

[0207] The seventh module is configured to obtain the preset scores of the task factors in multiple dimensions of each task in the task set; the task factors include task timeliness, task difficulty, and task risk;

[0208] The eighth module is configured to perform weighted processing on the preset scores of the task factors in each dimension to obtain the task time tension degree corresponding to each task;

[0209] The ninth module is configured to map and determine the task priority of each task according to the task time tension degree.

[0210] The content of the method embodiments of the present invention is applicable to the system embodiments of the present invention. The functions specifically implemented by the system embodiments of the present invention are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above methods.

[0211] On the other hand, the embodiment of the present invention further provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the above-mentioned distributed control method for the underwater robot cluster is implemented. The electronic device may be any intelligent terminal including a tablet computer, a vehicle-mounted computer, etc.

[0212] It can be understood that the content in the above method embodiments is applicable to the device embodiments of the present invention. The functions specifically implemented by the device embodiments of the present invention are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0213] As Figure 6 shown, Figure 6 schematically shows the hardware structure of an electronic device 1000 according to another embodiment. The electronic device 1000 includes:

[0214] The processor 1001 can be implemented in the form of a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, etc., and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention;

[0215] The memory 1002 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM), etc. The memory 1002 can store an operating system and other application programs. When implementing the technical solutions provided in the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 1002 and are called by the processor 1001 to execute the network node population optimization method of the embodiments of the present invention;

[0216] The input / output interface 1003 is used to implement information input and output;

[0217] The communication interface 1004 is used to implement communication interaction between this device and other devices, and can implement communication through a wired method (such as USB, network cable, etc.) or through a wireless method (such as a mobile network, WIFI, Bluetooth, etc.);

[0218] The bus 1005 transmits information between various components of the device (such as the processor 1001, the memory 1002, the input / output interface 1003, and the communication interface 1004);

[0219] Among them, the processor 1001, the memory 1002, the input / output interface 1003, and the communication interface 1004 are communicatively connected to each other inside the device through the bus 1005.

[0220] The electronic device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solutions of this embodiment.

[0221] The content of the method embodiments of the present invention is applicable to the electronic device embodiments of the present invention. The functions specifically implemented by the electronic device embodiments of the present invention are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those of the above methods.

[0222] Another aspect of the embodiments of the present invention further provides a computer-readable storage medium. The storage medium stores a program, and when the program is executed by a processor, the foregoing method is implemented.

[0223] It should be noted that the computer-readable medium shown in the embodiments of the present invention may be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium that contains or stores a program, and the program may be used by or in combination with an instruction execution system, apparatus, or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which computer-readable program code is carried. Such a propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, and the computer-readable medium may send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted by any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0224] The content of the method embodiments of the present invention is applicable to the embodiments of this computer-readable storage medium. The functions specifically implemented by the embodiments of this computer-readable storage medium are the same as those of the foregoing method embodiments, and the beneficial effects achieved are also the same as those of the foregoing method.

[0225] The embodiments of the present invention also disclose a computer program product or a computer program. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device may read the computer instructions from the computer-readable storage medium, and when the processor executes the computer instructions, the computer device executes the foregoing method.

[0226] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, as well as combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0227] It should be noted that although several modules of devices for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present invention, the features and functions of two or more of the above-described modules or units can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0228] From the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or can be implemented by a combination of software and necessary hardware. Therefore, the technical solutions according to the embodiments of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a portable hard drive, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present invention.

[0229] In some alternative embodiments, the functions / operations mentioned in the block diagram may not occur in the order mentioned in the operation diagram. For example, depending on the functions / operations involved, two consecutive blocks shown may actually be executed substantially simultaneously, or the blocks can sometimes be executed in the reverse order. In addition, the embodiments presented and described in the flowcharts of the present invention are provided by way of example for the purpose of providing a more comprehensive understanding of the technology. The disclosed methods are not limited to the operations and logical flows presented herein. Alternative embodiments are contemplated, in which the order of various operations is changed and the sub-operations described as part of a larger operation are executed independently.

[0230] In addition, although the present invention has been described in the context of functional modules, it should be understood that, unless otherwise stated to the contrary, one or more of the functions and / or features may be integrated in a single physical device and / or software module, or one or more functions and / or features may be implemented in separate physical devices or software modules. It should also be understood that a detailed discussion of the actual implementation of each module is not necessary for understanding the present invention. Rather, considering the attributes, functions, and internal relationships of the various functional modules in the devices disclosed herein, the actual implementation of the modules will be understood within the ordinary skills of an engineer. Therefore, those skilled in the art can implement the present invention as set forth in the claims without undue experimentation. It should also be understood that the specific concepts disclosed are merely illustrative and are not intended to limit the scope of the present invention, which is determined by the full scope of the appended claims and their equivalents.

[0231] If a function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or a part of this technical solution can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of the various embodiments of the present invention. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs that can store program codes.

[0232] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a predefined sequence list of executable instructions for implementing logical functions, which can be specifically implemented in any computer-readable medium for use by an instruction execution device, apparatus, or equipment (such as a computer-based device, a device including a processor, or other devices that can fetch and execute instructions from the instruction execution device, apparatus, or equipment), or in combination with these instruction execution devices, apparatuses, or equipment. For the purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transmit a program for use by or in combination with an instruction execution device, apparatus, or equipment.

[0233] More specific examples (a non-exhaustive list) of computer-readable media include the following: an electrical connection (electronic device) having one or more wirings, a portable computer diskette (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable media can even be paper or other suitable media on which a program can be printed, as the program can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpretation, or otherwise processing as appropriate, and then stored in a computer memory.

[0234] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware, or a combination thereof. In the above-described embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution device. For example, if implemented by hardware, as in another embodiment, any one or a combination of the following techniques well known in the art can be used: a discrete logic circuit having logic gate circuits for implementing logical functions on data signals, an application specific integrated circuit having suitable combinational logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0235] In the description of this specification, the description with reference to terms such as "one embodiment", "some embodiments", "example", "specific example", or "some examples", etc. means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.

[0236] Although the embodiments of the present invention have been shown and described, those of ordinary skill in the art can understand that various changes, modifications, substitutions, and variations can be made to these embodiments without departing from the principles and spirit of the present invention, and the scope of the present invention is defined by the claims and their equivalents.

[0237] The above has specifically described the preferred embodiments of the present invention, but the present invention is not limited to the embodiments. Those skilled in the art can also make various equivalent deformations or substitutions without departing from the spirit of the present invention, and these equivalent deformations or substitutions are all included within the scope defined by the claims of the present invention.

Claims

1. A distributed control method for an underwater robot swarm, characterized in that, It includes the following steps: Obtain the status data and task set of each underwater robot in the underwater robot cluster; Build a task allocation model based on the status data and the task set, and use the task allocation model to allocate tasks to each underwater robot; Perform path planning for each underwater robot according to the result of the task allocation to obtain the planned path of each underwater robot; Move the underwater robot along its corresponding planned path; Based on the real-time sensing data of the underwater robot, determine whether the underwater robot satisfies the obstacle avoidance condition during the movement along the planned path; When the underwater robot does not satisfy the obstacle avoidance condition, perform cooperative obstacle avoidance for the underwater robot cluster based on the real-time sensing data until the underwater robot moves to the end point of its planned path.

2. The distributed control method for an underwater robot swarm according to claim 1, characterized in that The method further includes the following steps: In response to the task scenario of the task set, set the cluster target of the underwater robot cluster using a leader-follower distributed control architecture; The task scenario includes the task coverage area and the task monitoring target; Set local targets according to the cluster target; The local targets set the relative positions between each underwater robot.

3. The distributed control method for an underwater robot swarm according to claim 1, wherein The status data includes the movement speed of the underwater robot; Building the task allocation model based on the status data and the task set includes the following steps: Construct a preset number of decision variables according to all the situations where each task in the task set is assigned to each underwater robot in the underwater robot cluster; Determine the task time corresponding to each decision variable according to the task allocation situation corresponding to the decision variable; The preset number is the product of the number of robots in the underwater robot cluster and the number of tasks in the task set; Construct the task allocation model based on the decision variables and their corresponding task times in combination with the movement speed corresponding to the underwater robot; Wherein, the expression of the task allocation model is: min{f1,f2} Wherein, f1 and f2 represent constraint conditions, min{} represents minimizing the constraint conditions, and max{} represents maximizing the constraint conditions; v i represents the motion speed of the i-th underwater robot; x i,j represents the decision variable for the i-th underwater robot to be assigned to the j-th task in the task set; t i,j represents the task time corresponding to x i,j ; n represents the number of robots.

4. The distributed control method for an underwater robot swarm according to claim 3, characterized in that The step of using the task allocation model to allocate tasks to each underwater robot includes the following steps: Based on the task allocation model, perform task allocation solution through a genetic algorithm according to the preset constraints on the decision variables and the task priorities of each task in the task set; Wherein, the preset constraints include: It is characterized in that each task is completed by only one of the underwater robots; Characterize that each of the underwater robots performs at least one task; In the formula, m represents the number of tasks; Determine the task allocation result of each underwater robot according to the result of the task allocation solution.

5. The distributed control method for an underwater robot swarm according to claim 4, characterized in that, The method further includes the following steps: Obtain the preset scores of the task factors in multiple dimensions of each task in the task set; The task factors include task timeliness, task difficulty, and task risk; Perform weighted processing on the preset scores of the task factors in each dimension to obtain the task time urgency corresponding to each task; Map and determine the task priority of each task according to the task time urgency.

6. The distributed control method for an underwater robot swarm according to claim 1, wherein, The step of performing path planning for each underwater robot according to the result of the task allocation to obtain the planned path of each underwater robot includes the following steps: Determine the starting point and ending point for the underwater robot to execute the task according to the result of the task assignment; Based on the starting point and the ending point, combined with the obstacle areas marked in the task execution area, perform path cost estimation according to the cost function through the A* algorithm to achieve path planning, and then obtain the planned path of the underwater robot according to the path with the minimum path cost.

7. The distributed control method for an underwater robot swarm according to claim 1, wherein The collaborative obstacle avoidance of the underwater robot cluster based on the real-time sensing data includes the following steps: Perform real-time environmental modeling on the underwater robot based on the real-time sensing data, and then determine the dynamic obstacles corresponding to the underwater robot in the real-time environment; Construct a directed graph according to the underwater robot and its corresponding dynamic obstacles; the directed graph includes 2n vertices, where n represents the number of robots in the underwater robot cluster; Based on the preset vertex communication distance, determine the neighbor node set of each vertex in the directed graph; Based on the preset safe communication distance, perform collision prevention through the consensus theory algorithm according to the preset distance metric function and the neighbor node set to adjust the movement paths of each underwater robot in the underwater robot cluster.

8. An underwater robot swarm distributed control system, characterized in that, Includes: The first module is used to obtain the state data and task sets of each underwater robot in the underwater robot cluster; The second module is used to construct a task assignment model based on the state data and the task sets, and use the task assignment model to assign tasks to each underwater robot; The third module is used to perform path planning for each underwater robot according to the result of the task assignment to obtain the planned path of each underwater robot; move the underwater robot according to its corresponding planned path; The fourth module is used to judge whether the underwater robot meets the obstacle avoidance situation during the movement on the planned path based on the real-time sensing data of the underwater robot; when the underwater robot does not meet the obstacle avoidance situation, perform collaborative obstacle avoidance of the underwater robot cluster based on the real-time sensing data until the underwater robot moves to the end point of its planned path.

9. An electronic device, characterized in that, Includes a processor and a memory; The memory is used to store programs; The processor executes the program to implement the method according to any one of claims 1 to 7.

10. A computer storage medium storing a program executable by a processor, characterized in that, The program executable by the processor, when executed by the processor, is used to implement the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Cooperative motion method for robot cluster in obstacle scene

    CN110162035A

  • Unmanned aerial vehicle cooperation method, system and device, electronic equipment and storage medium

    CN112561395A

  • Underwater vehicle cluster control system and control method thereof

    CN113093768A

  • Multi-robot collaborative navigation method based on hierarchical relation graph learning in dynamic environment

    CN113296502A

  • G6-based cross-level multi-superior node link obstacle avoidance topology

    CN117056627A

Cited By

  • Cluster operation path planning method for multiple drainage robots

    CN120821277A

  • Cluster control method and system for underwater unmanned equipment

    CN121433263A