Multi-robot cooperative exploration method, storage medium and system
By using a multi-robot collaborative exploration method to optimize the task allocation process, the problem of insufficient intelligence in task allocation in existing technologies is solved, thereby achieving global utility optimization and improved exploration efficiency.
Patent Information
- Application Number
- CN202410955326.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-17
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2044-07-17
AI Technical Summary
Existing technologies have failed to effectively solve the task allocation problem in multi-robot collaborative exploration, resulting in task overlap, low resource utilization, and excessively long convergence time.
By employing a multi-robot collaborative exploration method, including interactive data information, updating local grid information and frontier lists, clustering is performed to extract a sub-list of tasks to be assigned. Tasks are then distributed based on connectivity and location data to optimize the task allocation method. The utility of each robot is calculated, and the most efficient method is selected to distribute tasks to the queue.
It achieves global utility optimization, improves the intelligence of task allocation and system performance, avoids task overlap and communication interference, and enhances exploration efficiency.
Smart Images

Figure CN118897552B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of automation, and in particular to a method capable of enhancing multi-robot cooperative communication. BACKGROUND
[0002] The prior art can be divided into implicit cooperation and explicit cooperation when using multi-robot for exploration. The implicit cooperation generally does not depend on communication connection, mainly uses local perception ability of robots such as light, pheromone concentration, and color and two-dimensional code based on vision to interact with the task environment or team members, and finally achieves cooperation. At the same time, the increase of team or cluster density will not cause communication interference and blocking problems. But the implicit communication cooperation strategy emphasizes intensive and close interaction. In exploration and search tasks, the intensive team leads to task overlap, which reduces the utilization of system resources and task efficiency. In the sparse and dispersed robot team and uncontrollable task environment, such coordination mechanism will have the problem of too long convergence time, and it is difficult to obtain good system performance.
[0003] The problem of the prior art solution at present is that the problem of task allocation in the multi-robot cooperative exploration process has not been better solved. SUMMARY
[0004] In view of the above problems, it is necessary to provide a method for allocating tasks in multi-robot cooperative communication, which solves the problem of insufficient intelligence in task allocation in the prior art. In order to achieve the above purpose, the inventor provides a multi-robot cooperative exploration method suitable for task allocation of multiple connected robots existing in a first network at the same time, including the following steps: multiple connected robots interact first data information, update local grid information and local frontier list of each robot according to the first data information; clustering the local frontier list to extract a local task sub-list to be allocated; distributing the tasks in the local task sub-list in the network according to the connectivity of the first robot and other robots and the position data of the other robots, the distribution specifically including the steps of calculating the utility of all robots distributed to the tasks in each task allocation mode, selecting the allocation mode with the highest total utility, and issuing a task queue for each robot.
[0005] In some further embodiments, the utility includes energy utility and communication utility, the energy utility is related to the length of the planned path between the current robot and the task point position, and the communication utility depends on the optimal communication distance and the distance between the task end points of each robot.
[0006] In an embodiment of the present application, the calculation of the communication utility comprises the steps of: obtaining an optimal communication distance according to whether the current communication packet loss rate is less than a threshold value, determining the number of robots in the network after the first task allocation mode is executed according to the positions of the end points of the robots in the first task allocation mode and the optimal communication distance, and determining the communication utility according to the number of robots in the network after the first task allocation mode is executed, wherein the communication utility is positively correlated with the number of robots in the network after the first task allocation mode is executed.
[0007] In an embodiment of the present application, the number of task queues of each robot in the network is set to 1.
[0008] Alternatively, the number of task queues is set to a first preset value greater than 1.
[0009] In an embodiment of the present application, the method further comprises the steps of:
[0010] performing reachability verification on the task points in the allocated task list, and deleting the unreachable task points in the task queue of each robot according to the local map of the robot,
[0011] if the task queue is empty after the deletion, sending a request to distribute suboptimal priority tasks to all robots in the network, and if the task queue is still empty, waiting for the next update of the local frontier list.
[0012] In an embodiment of the present application, the method further comprises the steps of:
[0013] The second robot selects the task end point based on the second task queue received by the robot itself according to the optimal communication utility principle, and repeatedly performs the steps of inserting an unallocated element in the second task queue into the initial position and the task end point so that the communication utility of the path after the insertion is optimal, until all elements in the second task queue are allocated.
[0014] In an embodiment of the present application, the steps of inserting an unallocated element in the second task queue into the initial position and the task end point so that the communication utility of the path after the insertion is optimal are repeated, and the verification steps of not inserting the element and ending the planning if the difference between the length of the path after the insertion and the length of the path before the insertion exceeds a preset value are repeated.
[0015] In an embodiment of the present application, the local frontier list is clustered, and the extraction of the local task sub-list to be allocated comprises the steps of:
[0016] Select several frontier points in the frontier point set as initial cluster centers, calculate the distance from each frontier point in the frontier point set to the initial cluster center, then assign the frontier points to the set where the cluster center is located, forming multiple clusters, update the cluster center of each cluster according to the frontier point subset in the cluster, repeat the above assignment and update process until the cluster no longer changes, select the frontier point closest to the current cluster center from each cluster, and extract the local task sub-list to be assigned.
[0017] A multi-robot cooperative exploration medium stores a computer program, which, when executed, performs a multi-robot cooperative exploration method as described above.
[0018] A multi-robot cooperative exploration system includes a plurality of connected robots in a first network, the plurality of connected robots being configured to interact first data information, and update local grid information and local frontier list of each robot according to the interacted first data information.
[0019] A clustering module is configured to cluster the local frontier list and extract a local task sub-list to be assigned.
[0020] A distribution module is configured to distribute tasks in the local task sub-list in the network according to the connectivity of the first robot with other robots and the position data of the other robots, and the distribution specifically includes the steps of calculating the utility of all robots to which the tasks are distributed in each task distribution mode, selecting the distribution mode with the highest total utility, and issuing a task queue for each robot.
[0021] Unlike the prior art, the above technical solution can obtain first image information through a vision module, and a processing module can analyze and determine the relative position of the detection device and the detected object, thereby controlling the flight control module and adjusting the height and horizontal position of the flight device in space, ultimately achieving the technical effect of automatically adjusting the detection device to align with the detected object.
[0022] The above invention content is only a summary of the technical solution of the present application, in order to enable those skilled in the art to more clearly understand the technical solution of the present application, and then can be implemented according to the content recorded in the specification and drawings, and in order to make the above purpose and other purposes, features and advantages of the present application more easily understood, the following is described in conjunction with the specific embodiments of the present application and the drawings. BRIEF DESCRIPTION OF DRAWINGS
[0023] The drawings are only used to show the principles, implementation methods, applications, characteristics and effects of the specific embodiments of the present application and other related contents, and cannot be considered as a limitation of the present application.
[0024] In the drawings:
[0025] Figure 1 Flowchart of the multi-robot cooperative exploration method described in the detailed description;
[0026] Figure 2 Schematic diagram of the reachable verification process described in the detailed description;
[0027] Figure 3 Flowchart of the joint utility optimization multi-task greedy selection described in the detailed description;
[0028] Figure 4 Flowchart of the task insertion in the multi-task planning mode described in the detailed description;
[0029] Figure 5 Storage medium diagram of the multi-robot cooperative exploration described in the detailed description;
[0030] Figure 6 System module diagram of the multi-robot cooperative exploration described in the detailed description. DETAILED DESCRIPTION
[0031] In order to make the possible application scenarios, technical principles, specific schemes that can be implemented, purposes and effects achieved, etc. of the present application clear, the following will be described in detail in combination with the specific embodiments listed and with the drawings. The embodiments described herein are only used to more clearly illustrate the technical solutions of the present application, and therefore only serve as examples, but cannot limit the protection scope of the present application.
[0032] In this paper, the term "embodiment" means that the specific features, structures or characteristics described in combination with the embodiment can be included in at least one embodiment of the present application. The term "embodiment" appearing at various places in the specification does not necessarily refer to the same embodiment, and does not particularly limit its independence or association with other embodiments. In principle, in the present application, as long as there is no technical contradiction or conflict, the technical features mentioned in each embodiment can be combined in any way to form a corresponding implementable technical solution.
[0033] Unless otherwise defined, the meanings of the technical terms used herein are the same as those commonly understood by those skilled in the art to which the present application belongs; the use of related terms herein is only for the purpose of describing specific embodiments, and is not intended to limit the present application.
[0034] In the description of the present application, the word "and / or" is a description of the logical relationship between the objects, which means that there can be three relationships, for example, A and / or B, which means that there are three cases: A exists, B exists, and A and B exist at the same time. In addition, the character " / " in this paper generally represents that the associated objects before and after are a "or" logical relationship.
[0035] In the present application, the terms such as "first" and "second" are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual number, primary or secondary, or order relationship between the entities or operations.
[0036] In the present application, the "includes", "contains", "has", or other similar expressions used in the statements are intended to cover non-exclusive inclusion, and the expressions do not exclude the presence of additional elements in the process, method or product comprising the elements, so that the process, method or product comprising a series of elements can not only include those defined elements, but also include other elements not explicitly listed, or also include elements inherent to such process, method or product.
[0037] As the same understanding as in the "Guidelines for Examination", in the present application, the expressions such as "greater than", "less than", "exceed" are understood as not including the number; the expressions such as "above", "below", "within" are understood as including the number. In addition, in the description of the embodiments of the present application, the meaning of "multiple" is more than two (including two), and similar expressions related to "multiple" are also understood in this way, for example, "multiple groups", "multiple times", etc., unless otherwise explicitly specified.
[0038] In the description of the embodiments of the present application, the spatial-related expressions used, such as "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "back", "left", "right", "vertical", "horizontal", "perpendicular", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. The indicated orientation or position relationship is based on the orientation or position relationship shown in the specific embodiment or the drawing, and is only for the convenience of describing the specific embodiments of the present application or for the reader to understand, and does not indicate or imply that the indicated device or component must have a specific position, a specific orientation, or be constructed or operated in a specific orientation, and therefore cannot be understood as a limitation on the embodiments of the present application.
[0039] Unless otherwise explicitly specified or limited, in the description of the embodiments of the present application, the terms "mount", "connect", "connect", "fix", "set", etc. should be understood in a broad sense. For example, the "connection" can be a fixed connection, or a detachable connection, or an integral setting; it can be a mechanical connection, or an electrical connection, or a communication connection; it can be directly connected, or indirectly connected through an intermediate medium; it can be the internal communication or interaction relationship of two elements. For those skilled in the art to which the present application belongs, the specific meaning of the above terms in the embodiments of the present application can be understood according to the specific circumstances.
[0040] In the present application, the electronic device can be a tablet, a mobile phone, a computer, etc. with a processing unit, or an electronic computing device with a PCB. It can also be a communication function, camera function, etc. optional unit.
[0041] In the present application, the robot is a explorer for performing grid area in space or plane. It has the necessary acquisition function and networking function, information interaction function which meet the information involved below. The robot can be a mobile car or a flight component with autonomous action decision or semi-autonomous controllable, such as the existing technology of unmanned aerial vehicle. The unmanned aerial vehicle can be a remote control flying instrument.
[0042] The network in the present application can include non-embodied signal transmission connection relationship, or can include one or several of several robots, servers, forwarding nodes in the same above-mentioned signal connection transmission relationship (such as local area network or wide area network). The local in the present application represents the current object related, distinguished from other objects, pre-set storage location, storage mode, etc.
[0043] In an embodiment of the present application, please refer to Figure 1 For the cooperative exploration method of a plurality of connected robots in the first network, the method comprises the steps of S1 interacting first data information, updating the local grid information and the local front list of each robot according to the first data information;
[0044] S2 clustering the local front list, extracting the local task sub-list to be distributed;
[0045] S3 distributing the tasks in the local task sub-list in the network according to the connection condition of the first robot and other several robots and the position data of the other several robots. The distribution specifically includes the steps of calculating the utility of all the robots distributed to the tasks in each task allocation mode in the network, selecting the allocation mode with the highest total utility, and issuing the respective task queue to each robot.
[0046] The first network can be a local area network or a wide area network. The method can be performed even if n robots (m > n) among the m robots simultaneously exploring can network with each other. The method can be in a multi-center mode, or can be initiated by a preset robot in the first network. Specifically, the first data includes local grid information of the robot and a local frontier list. The local grid information is grid pre-division for the environment being explored, and is information for marking each grid area in the environment being explored. For example, the grid unit can be an idle grid, an occupied grid, and an unknown grid. The idle grid represents a grid area that has been detected in the task process and has no obstacles, and is marked in white in the task process display. The occupied grid represents a grid area occupied by obstacles detected in the task process, and is marked in black in the task process display. The unknown grid represents a grid area that has not been detected at the current task time. The frontier is the boundary between the unexplored area and the explored area, and the frontier point in the present application is the nearest grid area adjacent to the explored area. The local frontier list can be a set of localized frontier points. In some embodiments, the first data can also be a local communication subgraph, which is map information around the current position of the robot. The first data and the local communication subgraph can be sent to each robot in the first network through the cloud. The clustering method can be a commonly used point set clustering method, and step S2 can filter out positions where the unexplored area is relatively dense, achieving better exploration effect. The distribution according to the position of the robot can be to sort the nearest distance between the position of the robot and the frontier point, and then distribute them in turn. In a simple example, the utility can be defined as a negative correlation with the path between the current position and the position of the frontier point in the task, and the closer the distance, the higher the utility. When the overall utility is obtained from the overall network, the task of all robots is distributed, and the technical effect of global utility optimization is finally achieved.
[0047] In an embodiment of the present application, the utility includes energy utility and communication utility. The energy utility is related to the length of the planned path between the current robot and the position of the task point, and the communication utility depends on the optimal communication distance and the distance between the task end points of the robots. The planned path between the current robot and the position of the task point can be obtained according to the prior art, and the longer the path, the lower the energy utility. The two can be in a negative correlation, such as an inverse relationship, a negative exponential function, etc. The communication utility can be set to be related to the maximum distance between the task end points of the robots. The greater the distance between the task end points, the smaller the communication utility. It can also be set that when the distance between the task end points exceeds the optimal communication distance, the utility of the two is in a negative correlation, and the communication utility decreases with the increase of the maximum distance between the task end points. Within the optimal communication range, that is, when the maximum distance between the task end points of the robots is less than the optimal communication range, the communication utility is a preset constant.
[0048] The optimal communication distance can be obtained by pre-experiment or set by personnel according to empiricism. In an embodiment of the present application, the calculation method of the communication utility includes the steps of: obtaining the optimal communication distance according to whether the current communication packet loss rate is less than a threshold value, judging the number of robots in the network after the first task allocation mode is executed according to the positions of the end points of each robot in the first task allocation mode and the optimal communication distance, and determining the communication utility according to the number of robots in the network after the first task allocation mode is executed, wherein the communication utility is positively correlated with the number of robots in the network after the first task allocation mode is executed. The more the number of robots in the network after the first task allocation mode is executed, the greater the communication utility. This method can be further expressed as: the communication utility function U C,i (T a , R) is defined as:
[0049]
[0050] Wherein, near i represents the number of connected robots at the position of the robot R a after executing the current task queue T i , and γ c is a communication utility parameter given by an empirical value.
[0051] In an embodiment of the present application, a single task mode can also be designed, and the number of task queues of each robot in the network is set to 1. In the single task mode, the task issuing efficiency and update frequency in the network can be improved. In other embodiments, a multi-task mode can also be set, and the number of task queues is set to a first preset value greater than 1. In the multi-task mode, the number of task queues of the same robot is greater than 1, which can reduce the number of communications in the network and save channel resources. At the same time, the order of the task queue of each robot itself can also be optimized locally in a task allocation period, so that the exploration efficiency can be further improved.
[0052] In an embodiment of the present application, the steps of: performing reachability verification on the task points in the allocated task list, deleting the unreachable task points in the task queue of each robot according to the local map of the robot, if the task queue is empty after deletion, sending a request to distribute sub-optimal priority tasks to all robots in the network, and if the task queue is still empty, waiting for the next update of the local frontier list are also included.
[0053] Specifically, as Figure 2As shown, considering that collaboration in a communication-constrained environment is based on differential information, the traversable path planned based on the task dispatcher's local map may fall into an unexplored area on the task receiver's local map. Therefore, before making a selection decision, the current robot needs to perform a reachability check on the task allocation list. The check steps specifically include deleting inaccessible task points from its allocation list. If the list is empty after the check, it requests the allocation of a secondary priority task from other connected members and checks again until it is not empty. If the list is still empty after traversing all priorities, it is considered that the local frontier exploration is basically complete and there are no suitable tasks for other robot members. At this time, the frontier points are extracted again by traversing the local map, and then the task allocation process is re-executed based on the new frontier information. This process can prevent the robot from getting stuck in an inaccessible predicament and further optimize the task allocation mechanism for multi-task exploration.
[0054] In one embodiment of this application, in a multi-task collaboration mode, a multi-task greedy selection process with joint utility optimization can also be performed. This process is specifically as follows: Figure 3 As shown, the process also includes the following steps: S4 The second robot selects the task endpoint based on the principle of optimal communication utility according to the second task queue it has received, and repeats step S5 Inserting unassigned elements from the second task queue into the initial position and the task endpoint to optimize the communication utility of the inserted path, until all elements in the second task queue have been assigned. Please continue reading. Figure 4 ,definition For the allocation list T assign The number of task points in the GetUc(T) value. assign First, regarding T assign The communication utility at each task location is calculated, and the Plan is initialized as follows. A set of planning queues Plan[k], which are initialized with T... assign Each task point in the list is used as the destination for the planning. Because GetUc(T assign The endpoint has already been assigned to each planning queue Plan[k]. In subsequent planning, we only need to continue planning 0 to N for Plan[k] based on the principle of sequential greedy selection. ass -1 task point is sufficient.
[0055] Furthermore, to prevent some robots from becoming isolated from information, the following steps can be repeated: inserting unassigned elements from the second task queue into the initial position and task endpoint to optimize the communication efficiency of the inserted path; and repeating the verification step: if the difference in length between the intersecting paths after insertion and the paths before insertion exceeds a preset value, then the element is not inserted and the planning ends. Figure 5 As shown, the process of solving for the task queue Plan[k] is a sequential greedy programming process with a variable number of tasks selected. Definition T is the assignment list assign a set of task points in T that have not been selected, k is the number of task points in the set. GetBestSelect(T assign , Plan[k]) is to obtain the optimal task selection T' assign [l] after, need to "whether to insert" and "whether to plan to complete" to determine. When and only when the length of the path after the insertion pathLen(Plan[k]') satisfies the following conditions, the process of inserting the selected will be executed:
[0056] pathLen(Plan[k]') < pathLen(Plan[k]) + D TH
[0057] Wherein, Plan[k]' indicates that the optimal task selection T' assign [l] is inserted into Plan[k] according to its optimal insertion position, pathLen returns the length of the path of the current planning queue, D TH is the distance threshold for tolerating the task insertion of the current planning queue, which is associated with the transmission ability of the robot member. Finally, after completing the optimal planning solution based on all task endpoints in Plan, the selected planning queue Plan[k] with the maximum task benefit is taken as T plan . The above scheme can achieve that no matter how many robots are in the system, the detection should be spread in different directions as much as possible to improve the coverage per unit energy consumption, but at the same time, the generation of communication islands should be avoided as much as possible.
[0058] In further embodiments, clustering the local frontier list, extracting the local task sub-list to be assigned includes the steps of: selecting several frontier points in the frontier point set as initial cluster centers, calculating the distance from each frontier point in the frontier point set to the initial cluster center; then the frontier points are allocated to the set where the cluster center is located, forming multiple clusters, updating the cluster center of each cluster according to the frontier point subset in the cluster, repeating the above allocation and updating process until the cluster no longer changes; selecting the frontier point closest to the current cluster center from each cluster, extracting the local task sub-list to be assigned. As a simple and efficient classic clustering algorithm, k-means algorithm is widely used by people, because of the relatively small amount of calculation, it can be easily applied to the task abstraction scene of micro robots. At the same time, in this scene, the value determination and the selection of the initial cluster center also have a trace to follow because of the definition of the frontier point and the semi-empirical setting of the candidate task point, which can avoid falling into the local optimal solution.
[0059] Further, some embodiments, introduce a storage medium 50, which stores a computer program, the computer program when executed, performs the multi-robot cooperative exploration method as described above. Through the above storage medium, the tasks of all robots can be issued, and finally the technical effect of global utility optimization is achieved
[0060] Figure 6 In the illustrated embodiment, a multi-robot cooperative exploration system is introduced, which includes a plurality of connected robots in a first network, the plurality of connected robots are used to interact first data information, and update the local grid information and the local frontier list of each robot according to the interacted first data information; a clustering module is used to cluster the local frontier list and extract a local task sub-list to be distributed; a distribution module is used to distribute the tasks in the local task sub-list in the network according to the connectivity of the first robot with other robots and the position data of the other robots, and the distribution specifically includes the steps of calculating the utility of all robots distributed to the tasks in each task distribution mode, selecting the distribution mode with the highest total utility, and issuing the task queue of each robot. Through the above system design, the tasks of all robots can be issued, and finally the technical effect of global utility optimization is achieved.
[0061] Finally, it needs to be pointed out that although the above embodiments have been described in the specification and drawings of the present application, it does not limit the patent protection scope of the present application. Any technical solution obtained by replacing or modifying the equivalent structure or equivalent process based on the essential concept of the present application, using the content described in the specification and drawings of the present application, and directly or indirectly implementing the technical solutions of the above embodiments in other related technical fields, etc., are all included in the patent protection scope of the present application.
Claims
1. A multi-robot collaborative exploration method, characterized in that, The task allocation method applicable to multiple connected robots simultaneously existing in a first network includes the following steps. Multiple connected robots interact with each other to obtain first data information, and update the local grid information and local front edge list of each robot based on the first data information of the interaction; Cluster the local frontier list and extract the sublist of local tasks to be assigned; Based on the connectivity of the first robot with several other robots and the location data of several other robots, tasks in the local task sublist are distributed within the network. The distribution specifically includes the following steps: calculating the utility of all robots distributed to tasks in the network under each task allocation method, selecting the allocation method with the highest total utility, and issuing a task queue to each robot. The utility includes energy utility and communication utility. The energy utility is related to the length of the planned path between the current robot and the task point location. The communication utility depends on the optimal communication distance and the distance between the task endpoints of each robot. The calculation method of the communication utility includes the following steps: obtaining the optimal communication distance by testing whether the current communication packet loss rate is less than a threshold; determining the number of connected robots after the first task allocation method is executed based on the position of the endpoint of each robot in the first task allocation method and the optimal communication distance; and determining the communication utility based on the number of connected robots after the first task allocation method is executed. The communication utility is positively correlated with the number of connected robots after the execution.
2. The multi-robot cooperative exploration method according to claim 1, characterized in that, Each robot in the network has its own task queue number set to 1. Alternatively, the number of task queues may be set to a first preset value greater than 1.
3. The multi-robot cooperative exploration method according to claim 1, characterized in that, It also includes the following steps: Perform reachability checks on the task points in the task allocation list, and remove unreachable task points from each robot's task queue based on its local map. If the task queue is empty after deletion, a request to distribute the secondary priority task is sent to all robots in the network. If the task queue is still empty, the system waits for the next update of the local frontier list.
4. The multi-robot cooperative exploration method according to claim 1, characterized in that, It also includes the following steps: The second robot selects the task destination based on the principle of optimal communication utility, according to the second task queue it has received. Repeat the steps: insert unassigned elements from the second task queue into the initial position and the task endpoint to optimize the communication utility of the inserted path, until all elements in the second task queue have been assigned.
5. The multi-robot cooperative exploration method according to claim 4, characterized in that, Repeat the steps: Insert unassigned elements from the second task queue into the initial position and the task endpoint to optimize the communication efficiency of the inserted path; and repeat the verification steps: if the difference in length between the intersecting paths after insertion and the paths before insertion exceeds a preset value, then do not insert the element and end the planning.
6. The multi-robot cooperative exploration method according to claim 1, characterized in that, The specific steps for clustering the local frontier list and extracting the sublist of local tasks to be assigned include: Select several front points from the front point set as initial cluster centers, and calculate the distance from each front point in the front point set to the initial cluster center. Then, assign the front points to the sets containing each cluster center as close as possible to form multiple clusters. Update the cluster center of each cluster according to the subset of front points in the cluster. Repeat the above assignment and update process until the cluster no longer changes. Select the front point that is closest to the current cluster center from each cluster and extract the local task sublist to be assigned.
7. A multi-robot collaborative exploration storage medium, characterized in that, The computer program, which stores a computer program, executes, when run, the multi-robot cooperative exploration method as described in any one of claims 1-6.
8. A multi-robot collaborative exploration system, characterized in that, It includes multiple connected robots in a first network, which are used to interact with first data information and update the local grid information and local front edge list of each robot according to the interacted first data information. A clustering module is used to cluster the local frontier list and extract the local task sub-list to be assigned. The distribution module is used to distribute tasks in the local task sublist within the network based on the connectivity of the first robot with several other robots and the location data of several other robots. The distribution specifically includes the following steps: calculating the utility of all robots distributed to tasks in the network under each task allocation method, selecting the allocation method with the highest total utility, and issuing a task queue to each robot. The utility includes energy utility and communication utility. The energy utility is related to the length of the planned path between the current robot and the task point location. The communication utility depends on the optimal communication distance and the distance between the task endpoints of each robot. The calculation method of the communication utility includes the following steps: obtaining the optimal communication distance by testing whether the current communication packet loss rate is less than a threshold; determining the number of connected robots after the first task allocation method is executed based on the location of the endpoints of each robot in the first task allocation method and the optimal communication distance; and determining the communication utility based on the number of connected robots after the first task allocation method is executed. The communication utility is positively correlated with the number of connected robots after the execution.
Citation Information
Patent Citations
Mobile robot collaborative environment exploration method
CN114967694A
Robot control method and device and storage medium
CN116922371A