A large-scale multi-robot coordination method under complex uncertain timing tasks
By optimizing multi-robot task allocation through a hierarchical framework and a rolling allocation strategy, the problem of frequent replanning in dynamic environments is solved, achieving efficient, real-time task execution and resource optimization.
Patent Information
- Application Number
- CN202510606600.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-12
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2045-05-12
AI Technical Summary
Existing multi-robot coordination methods require frequent replanning in dynamic and uncertain task environments, which increases the computational burden and affects the real-time performance and robustness of the system.
By adopting a hierarchical framework design and a rolling allocation strategy, and by dynamically adjusting the number of task subgroups and robot allocation, combined with linear mixed integer programming algorithm and search tree optimization, local optimal task allocation and global optimal path planning are achieved.
It improves task allocation efficiency, reduces computational complexity, ensures tasks are completed in the shortest possible time, and enhances the system's real-time performance, adaptability, and resource utilization.
Smart Images

Figure CN120542799B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot task allocation technology, and in particular to a method for large-scale multi-robot coordination under complex and uncertain time-series tasks. Background Technology
[0002] With the development of automation and artificial intelligence technologies, multi-robot systems have demonstrated significant efficiency in performing parallel tasks and are widely used in fields such as industrial manufacturing, logistics, search and rescue, and environmental monitoring. In such tasks, robot collaboration strategies typically involve selecting appropriate subgroups for different tasks and planning the collaborative execution of subtasks among robots within each subgroup.
[0003] Existing multi-robot algorithms typically assume that tasks are static and pre-known, allocating tasks by constructing integer programming problems and solving them offline. However, in practical applications, tasks are often generated in real-time based on external requests, and the number of subtasks for each task is dynamic and uncertain (e.g., the number of packages to be delivered or the number of people needing rescue). In such dynamic task environments, traditional offline solution methods cannot adapt to environmental changes in a timely manner, often requiring frequent recalculations of the entire robot swarm, leading to a significant increase in computational burden and impacting the system's real-time performance and robustness. Summary of the Invention
[0004] Based on the above analysis, the embodiments of the present invention aim to provide a large-scale multi-robot coordination method for complex and uncertain time-series tasks, in order to solve the problem that existing multi-robot coordination methods require frequent replanning in dynamic and uncertain environments, resulting in low efficiency and inability to meet real-time requirements.
[0005] The objective of this invention is mainly achieved through the following technical solutions:
[0006] This invention provides a method for large-scale multi-robot coordination under complex and uncertain temporal tasks, comprising the following steps:
[0007] Obtain information on each pending task and each robot;
[0008] A task constraint graph is constructed based on the inter-task constraint relationships of each task to be completed, and the set of tasks to be completed in this instance is obtained based on the preset number of tasks to be processed at one time.
[0009] Based on the task information, the task constraint diagram, and the robot information in the current task set, the local optimal task allocation result under each task subgroup number is obtained by dynamically adjusting the number of task subgroups, and the best local optimal task allocation result is taken as the global optimal task allocation result.
[0010] Based on the global optimal task allocation result, each robot is assigned to a task subgroup and the path of each robot is planned based on the overall task type;
[0011] When the replanning trigger condition is met, the unfinished tasks are replanned.
[0012] Furthermore, the number of task subgroups is incremented by 1 each time, iterating to obtain the locally optimal task allocation result with the current number of task subgroups, until the number of task subgroups exceeds the preset number of tasks to be processed per run or the task allocation result with the current number of task subgroups violates the robot's capability constraints; wherein, in one iteration:
[0013] Based on the task information in the current set of tasks to be completed, the task constraint graph, and the robot information, the local optimal task allocation result under the current number of task subgroups is obtained.
[0014] Furthermore, obtaining the locally optimal task allocation result for the number of task subgroups in this iteration includes:
[0015] A search tree is constructed from the initial empty root node of each task subgroup. Feasible tasks are added to each task subgroup as expansion nodes of the search tree until all tasks in the current task set are assigned, thus obtaining all task allocation schemes under the number of task subgroups in this iteration.
[0016] Based on the information of each task and each robot in the current set of tasks to be completed, the quality of each task allocation scheme is evaluated to obtain the locally optimal task allocation result; wherein, the locally optimal task allocation result includes the task allocation scheme with the highest quality and the corresponding number of robots that can complete various capabilities.
[0017] Furthermore, the quality of each task assignment scheme is evaluated using the following formula:
[0018]
[0019] Where, ξ(v h ) represents the quality of the h-th task allocation scheme; v h This represents the task allocation scheme for the h-th task; This represents the estimated progress of the h-th task allocation scheme relative to the tasks to be completed at the current time. This represents the set of tasks to be completed at the current moment. The Lth task in the k-th task subgroup of the h-th task allocation scheme is represented by... h,k The estimated completion time of each task; K represents the number of task subgroups in this iteration; C h,k L represents the task allocation status of the k-th task subgroup in the h-th task allocation scheme; h,kThis represents the number of tasks in the k-th task subgroup of the h-th task allocation scheme; The Lth task in the k-th task subgroup of the h-th task allocation scheme is represented by... h,k One task; This represents the minimum number of robots required for the k-th task subgroup to complete the j-th capability in the h-th task allocation scheme. This represents the j-th type of capability in the k-th task subgroup of the h-th task allocation scheme; n represents the l-th task in the k-th task subgroup of the h-th task allocation scheme; j Indicates completion of task of The number of robots required for this type of capability.
[0020] Furthermore, the feasible task is a task that has no prerequisite tasks in the task constraint graph or whose prerequisite tasks have been assigned to a task subgroup.
[0021] Furthermore, the task allocation result under the number of task subgroups in this iteration violates the capability constraint, including: for any capability, the sum of the number of robots assigned to the corresponding capability by all task subgroups is less than or equal to the total number of robots capable of completing the corresponding capability.
[0022] Furthermore, based on the globally optimal task allocation result, each robot is assigned to a task subgroup, including:
[0023] Based on the current position of each robot and the position of the first task in each task subgroup in the global optimal task allocation result, the time cost of each robot joining each task subgroup is obtained, and an objective function with the goal of minimizing the time cost and the corresponding constraints are constructed.
[0024] Based on the constraints, the objective function is solved using a linear mixed-integer programming algorithm to obtain the allocation results for each robot.
[0025] Furthermore, the objective function is expressed using the following formula:
[0026]
[0027] Among them, b ik Indicates whether the i-th robot joins the k-th task subgroup; t ik t represents the time cost of the i-th robot joining the k-th task subgroup; i This represents the estimated idle time of the i-th robot; It represents the time it takes for the i-th robot to move from its current position to the first task area in the k-th task subgroup.
[0028] Furthermore, the constraints include: the total capacity of the robots allocated to each task subgroup is greater than the capacity required by each task subgroup, and each robot can join at most one task subgroup.
[0029] Furthermore, the replanning triggering conditions include: the number of completed tasks exceeding half of the preset single-processing task count, the appearance of new tasks to be completed, and the failure of task subgroup robot allocation.
[0030] Compared with the prior art, the present invention can achieve at least one of the following beneficial effects:
[0031] 1. This invention adopts a hierarchical framework design, which decomposes the complex large-scale multi-robot task allocation problem into two levels for processing. The upper level is responsible for the overall task allocation, and the lower level is responsible for the specific coordination within the subgroup. This not only ensures the optimality of global task allocation, but also reduces the computational complexity and improves the efficiency of task allocation through local coordination.
[0032] 2. This invention adopts a rolling allocation strategy to dynamically handle new tasks and changes in tasks, avoiding the problem of frequently recalculating the entire task allocation in traditional offline computing methods. It only re-plans unallocated tasks, which significantly reduces computational complexity.
[0033] 3. In the task allocation process, this invention uses minimizing the maximum task completion time as the objective function. By optimizing robot allocation and path planning, it ensures that all tasks can be completed in the shortest possible time, which not only improves the overall efficiency of the system but also enhances its real-time performance. At the same time, by dynamically evaluating the capability requirements and task constraints of subgroups, this invention efficiently allocates tasks within a limited time window, further optimizing task execution time and improving system performance.
[0034] 4. By dynamically adjusting the number of subgroups and task allocation, this invention can flexibly select the most suitable number of subgroups according to the size and complexity of the task set, thereby improving the efficiency and adaptability of task allocation. The global optimization mechanism can ensure that the overall performance of task allocation reaches the best, enabling the system to maximize the efficiency and quality of task completion with limited resources.
[0035] In this invention, the above-described technical solutions can be combined with each other to achieve more preferred combinations. Other features and advantages of this invention will be set forth in the following description, and some advantages may become apparent from the description or be learned by practicing the invention. The objects and other advantages of this invention can be realized and obtained from what is particularly pointed out in the description and drawings. Attached Figure Description
[0036] The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Throughout the drawings, the same reference numerals denote the same parts.
[0037] Figure 1 This is a flowchart illustrating a large-scale multi-robot coordination method for complex and uncertain time-series tasks according to an embodiment of the present invention.
[0038] Figure 2 This is a schematic diagram of constructing a task constraint graph based on a partially ordered set in an embodiment of the present invention;
[0039] Figure 3 This is a schematic diagram of search tree generation in an embodiment of the present invention;
[0040] Figure 4 This is a schematic diagram of cost calculation in an embodiment of the present invention. Detailed Implementation
[0041] Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings, which form part of this application and are used together with the embodiments of the present invention to illustrate the principles of the present invention, but are not intended to limit the scope of the present invention.
[0042] One specific embodiment of the present invention discloses a large-scale multi-robot coordination method for complex and uncertain temporal tasks. Complex and uncertain temporal tasks refer to tasks whose number of tasks, task locations, inter-task dependencies, and task execution order may dynamically change during task execution and cannot be completely predetermined. For example... Figure 1 As shown, it includes the following steps S1-S4:
[0043] Step S1: Obtain information on each task to be completed and each robot.
[0044] Specifically, the tasks to be completed are the set of all known and incomplete tasks at the current moment.
[0045] The information for each task to be completed includes: the capability required to complete the task, which refers to the capability required to complete the task, such as capturing or taking pictures; the task location, which is the geographical location of the task execution; and the inter-task constraints, which are the dependencies and timing constraints between tasks, such as task 1 must be completed before task 2, and task 2 and task 3 need to be executed simultaneously.
[0046] The robot information includes the robot's location and robot capabilities; wherein, the robot capabilities are the functions that the robot has in order to complete a specific task.
[0047] It should be noted that this method is applicable to the initial and replanning phases of robot task coordination. In the initial phase, the system has not yet assigned tasks and obtains information on all known tasks to be completed and information on available robots at the initial moment.
[0048] During the replanning phase, the system has already performed some task allocation and completed some tasks. However, due to the triggering conditions, it is necessary to readjust the task allocation. At this time, what is obtained is the known unfinished task information at the current replanning moment, as well as the information of the currently idle robots and the expected idle time and corresponding position of the non-idle robots.
[0049] Step S2: Construct a task constraint graph based on the task constraint relationships between each of the tasks to be completed, and obtain the set of tasks to be completed this time based on the preset number of tasks to be processed at one time.
[0050] Specifically, based on the set of tasks to be completed and the constraints between tasks, the set of tasks to be completed at the current moment is obtained, and the set of all known and incomplete tasks at the current moment is represented by the following formula.
[0051]
[0052] in, This represents the set of tasks to be completed at the current moment. This represents the i-th task in the set of tasks to be completed at the current moment; This represents the set of associated tasks for the i-th task. It should be noted that the set of associated tasks to be completed at the current moment includes not only the set of tasks to be completed, but also the task constraint relationships within it.
[0053] More specifically, using the linear time-series logic (LTL) formula, a nondeterministic Butch automaton (NBA) is obtained, represented as follows: To model the set of tasks to be completed at the current moment The dynamic behavior and timing constraints of the tasks are defined; where Q represents the set of states, which are all possible states that the automaton may be in during its operation. Each state can represent the execution stage or state of a task in the set of tasks to be completed at the current moment; Q0 represents the initial set of states, which are all states that the automaton is in when it starts execution; Σ represents the input alphabet, which is all input symbols that the automaton may encounter during execution. In this embodiment, it represents the task type, event, and condition; δ represents the transition function, which is the set of next states that the automaton can transition to given the current state and input symbols. In this embodiment, it is used to represent the sequence and dependency relationships between tasks; Q F It represents the final state set, which is the completion state or target state of the tasks in the set of tasks to be completed at the current moment.
[0054] Based on the aforementioned nondeterministic Butch automaton, and according to the order relationships and synchronization constraints among the tasks in the current set of tasks to be completed, a partially ordered set of tasks is formed, represented as follows: Where ≤ indicates the order of tasks. This indicates task synchronization constraints.
[0055] More specifically, such as Figure 2 As shown, based on the partially ordered set of tasks, a task constraint graph G is constructed. The task constraint graph is a directed acyclic graph used to represent the sequential relationship and synchronization constraints between tasks. Each node in the task constraint graph represents a task in the set of tasks to be completed at the current time. For each pair of tasks, if there is a sequential relationship, a directed edge is added to the two task nodes in the task constraint graph. If there is a synchronization constraint relationship, the two task nodes are merged into a node set. Independent tasks directly constitute a single task node.
[0056] Furthermore, the preset number of tasks to be processed per session is the maximum number of tasks that can be processed in a single task allocation. It should be noted that the preset number of tasks to be processed per session is less than or equal to the number of tasks to be completed; for example, if the number of tasks to be completed is 15, the preset number of tasks to be processed per session can be 10. Therefore, the number of tasks to be completed in this current task allocation is the preset number of tasks to be processed per session.
[0057] Specifically, based on the preset number of tasks to be processed per session, the set of tasks to be completed in this session is obtained from the task constraint graph.
[0058] Step S3: Based on the task information in the current task set, the task constraint diagram, and the robot information, the number of task subgroups is dynamically adjusted to obtain the local optimal task allocation result under each task subgroup number, and the best local optimal task allocation result is taken as the global optimal task allocation result.
[0059] Specifically, the locally optimal task allocation results obtained for each task subgroup number are used to find the best robot allocation scheme for each task subgroup in the multi-robot system. Here, local optimal means that the task allocation is considered optimal for a specific number of task subgroups, but it is not necessarily the overall optimal.
[0060] Furthermore, the number of task subgroups is initialized, and the number of task subgroups is incremented each time. The process iterates to obtain the locally optimal task allocation result for the current number of task subgroups until the number of task subgroups exceeds the preset number of tasks to be processed per iteration or the task allocation result for the current number of task subgroups violates the robot's capability constraints. During one iteration:
[0061] By combining the task information, the task constraint graph, and the robot information in the current task set, we obtain the locally optimal task allocation result for the current task subgroup size.
[0062] Specifically, the candidate set is initialized to an empty set, and the initial number of task subgroups K = 1 is set. The number of task subgroups is incremented by 1 each time, and tasks are assigned. When the number of task subgroups is equal to the preset number of tasks to be processed in a single iteration, that is, there is only one task in each task subgroup, then the next iteration will not be performed.
[0063] Furthermore, the task allocation result under the number of task subgroups in this iteration violates the capability constraint, including: for any capability, the sum of the number of robots assigned to the corresponding capability by all task subgroups is less than or equal to the total number of robots capable of completing the corresponding capability, as shown in the following formula:
[0064]
[0065] Among them, K h This represents the number of subgroups in the h-th task allocation scheme; A represents the number of robots required to complete capability j in the k-th subgroup of the h-th task allocation scheme; A represents the set of capabilities required to complete each task in the current task set; N represents the number of robots; A i This represents the capability of the i-th robot; Let j represent the j-th type of capability in the k-th subgroup of the h-th task allocation scheme.
[0066] Furthermore, obtaining the locally optimal task allocation result under the number of task subgroups in this iteration includes steps S31-S32:
[0067] Step S31: Construct a search tree from the initial empty root node of each task subgroup, add feasible tasks to each task subgroup as expansion nodes of the search tree, until all tasks in the current task set are assigned, and obtain all task allocation schemes under the number of task subgroups in this iteration.
[0068] Specifically, such as Figure 3 As shown, the search for each task subgroup begins with an empty root node v0. This empty root node represents the state where no tasks have been assigned to the task subgroup. The search tree is dynamically expanded according to the temporal constraints of the task constraint graph. The search tree is a data structure used to enumerate all possible solutions, and each node in the tree represents a task assignment state. In each iteration, the number of task subgroups for each node is fixed, i.e., K. For example, as shown... Figure 3 Each node in the process includes K=4 task subgroups.
[0069] Furthermore, the feasible task is a task that has no prerequisite tasks in the task constraint graph or whose prerequisite tasks have been assigned to a task subgroup.
[0070] Specifically, each time a feasible task is added to a task subgroup, the search tree expands by a new node, which represents the updated task allocation status. The search process is complete when all tasks in the current task set have been allocated to their respective subgroups. At this point, the search tree contains all possible task allocation schemes, each satisfying the dependencies between tasks.
[0071] It should be noted that, during the construction of the search tree, this embodiment also optimizes the search process by deleting symmetric nodes and nodes that exceed capability constraints, thereby reducing the number of solutions that need to be evaluated. Symmetric nodes are those that are structurally identical in task allocation, differing only in the labels of their task subgroups; nodes that exceed capability constraints are those in which, in the task allocation scheme represented by the node, at least one task subgroup requires more capability to complete its task than the total capability of the available robots.
[0072] Step S32: Based on the task information and robot information in the current task set, evaluate the quality of each task allocation scheme to obtain the local optimal task allocation result; wherein, the local task allocation result includes the highest quality task allocation scheme and the corresponding number of robots that complete various capabilities.
[0073] Specifically, the leaf nodes of the search tree represent a complete task allocation scheme. At the end of the search process, all leaf nodes need to be evaluated to obtain the locally optimal task allocation result.
[0074] Furthermore, the quality of each task assignment scheme is evaluated using the following formula:
[0075]
[0076] Where, ξ(v h ) represents the quality of the h-th task allocation scheme; v h This represents the task allocation scheme for the h-th task; This represents the estimated progress of the h-th task allocation scheme relative to the tasks to be completed at the current time. This represents the set of tasks to be completed at the current moment. The Lth task in the k-th task subgroup of the h-th task allocation scheme is represented by... h,k The estimated completion time of each task; K represents the number of task subgroups in this iteration; C h,k L represents the task allocation status of the k-th task subgroup in the h-th task allocation scheme; h,kThis represents the number of tasks in the k-th task subgroup of the h-th task allocation scheme; The Lth task in the k-th task subgroup of the h-th task allocation scheme is represented by... h,k One task; This represents the minimum number of robots required for the k-th task subgroup to complete the j-th capability in the h-th task allocation scheme. This represents the j-th type of capability in the k-th task subgroup of the h-th task allocation scheme; n represents the l-th task in the k-th task subgroup of the h-th task allocation scheme; j Indicates completion of task of The number of robots required for this type of capability.
[0077] Specifically, for the Lth task subgroup of the hth task allocation scheme... h,k The estimated completion time of each task is obtained recursively using the following formula:
[0078]
[0079] in, ω represents the set of all preceding tasks of the l-th task in the k-th task subgroup of the h-th task allocation scheme in the task constraint graph; n This indicates the nth prerequisite task. It should be noted that... Indicates the task It must wait until the last of its preceding tasks has completed before it can begin, to ensure that the execution order of tasks conforms to dependencies and avoids task overlap; T nav () indicates navigation time; This represents the position of the (l-1)th task in the k-th task subgroup of the h-th task allocation scheme; This indicates the position of the l-th task in the k-th task subgroup of the h-th task allocation scheme.
[0080] More specifically, during each iteration, the locally optimal task allocation result of this iteration is added to the candidate set. After the iteration ends, the task allocation scheme with the highest quality among the locally optimal task allocation results in the candidate set is taken as the globally optimal task allocation result.
[0081] Step S4: Based on the global optimal task allocation result, assign each robot to each task subgroup and plan the path of each robot based on the overall task type.
[0082] Specifically, robots with the corresponding capabilities are assigned to task subgroups that require the completion of tasks with those capabilities, and their routes are planned to ensure that each task subgroup has enough robots to complete the tasks. At the same time, the movement paths are optimized to reduce execution time and improve work efficiency.
[0083] Furthermore, based on the globally optimal task allocation result, each robot is assigned to a task subgroup, including steps S41-S42:
[0084] Step S41: Based on the current position of each robot and the position of the first task in each task subgroup in the global optimal task allocation result, obtain the time cost for each robot to join each task subgroup, and construct an objective function with the goal of minimizing the time cost and the corresponding constraints.
[0085] Specifically, the cost of each robot joining different subgroups is calculated separately, and a cost matrix is constructed, where, for example... Figure 4 As shown, the cost is represented using the estimated time for each robot to reach the first task area of each task subgroup.
[0086] The cost matrix is a two-dimensional matrix, where rows represent robots, columns represent subgroups, and each element t ik This represents the cost of the i-th robot joining the k-th task subgroup.
[0087] Furthermore, the objective function is expressed using the following formula:
[0088]
[0089] Among them, b ik Indicates whether the i-th robot joins the k-th task subgroup; t ik t represents the time cost of the i-th robot joining the k-th task subgroup; i This represents the estimated idle time of the i-th robot; It represents the time it takes for the i-th robot to move from its current position to the first task area in the k-th task subgroup.
[0090] Specifically, construct Boolean decision variable b ik Indicates whether the i-th robot joins the k-th task subgroup, where b ik =1 indicates addition, b ik =0 indicates not to join; the estimated idle time of the i-th robot is the time from the current moment of the robot to its next available time.
[0091] Furthermore, the constraints include: the total capacity of the robots allocated to each task subgroup is greater than the capacity required by each task subgroup, and each robot can join at most one task subgroup.
[0092] Specifically, the total capacity of the robots allocated to each task subgroup is greater than the capacity required by each task subgroup, meaning that each task subgroup must have enough robots capable of completing its task to perform the task. The formula is as follows:
[0093]
[0094] in, This indicates an indicator function used to check whether the i-th robot has the ability to complete the j-th type of task in the k-th task subgroup. If the i-th robot has the ability to complete the j-th type of task in the k-th task subgroup, then... If the i-th robot does not have the ability to complete the j-th type of task in the k-th task subgroup, then This represents the minimum number of robots required to complete the j-th capability in the k-th task subgroup.
[0095] Step S42: Based on the constraints, use a linear mixed integer programming algorithm to solve the objective function and obtain the allocation results of each robot.
[0096] Specifically, by using a linear mixed-integer programming solver to solve the objective function, the goal is to find a robot allocation scheme that minimizes the cost while maximizing time, and satisfies all constraints.
[0097] More specifically, the paths of each robot are planned according to the allocation results of each robot and the overall task type, wherein the overall task type includes static known type tasks, static unknown type tasks and dynamic known type tasks.
[0098] The statically known type of task refers to a task where the location and quantity of all subtasks are known and fixed. These locations and items are typically known in advance based on the order. For example, a "delivery" task usually involves visiting multiple locations within a region and coordinating the delivery of some items, which are usually known in advance based on the order. When performing path planning for statically known type tasks, the multi-robot path planning problem is formulated as a mixed-integer linear programming (MILP) problem, and the local plan for each robot is obtained by solving this problem.
[0099] Specifically, sub-tasks are assigned to each robot, and the task sequence within the robot's local plan is specified, resulting in several task allocation and path planning schemes. Furthermore, two linear variables are introduced for each sub-task to indicate its start and end times. These time variables are used to design constraints, ensuring the reasonable sequence and timing of tasks. Based on the robot's navigation model and task allocation variables, constraints are designed, including task allocation constraints, time constraints, and path continuity constraints. The task allocation constraint ensures that each robot is assigned only one task. The time constraint ensures that the interval between task executions for each robot satisfies its navigation time constraint. The path continuity constraint ensures that the robot's path is continuous during task execution, avoiding path interruptions or conflicts.
[0100] Several task allocation and path planning schemes, linear variables, and constraints are combined into a mixed integer linear programming (MILP) model. The model is solved using a solver, and the result is the task allocation and path planning for each robot, including the execution order and time arrangement of each sub-task.
[0101] The static unknown type of task refers to a task where the number and location of subtasks are unknown or uncertain, but the subtasks remain static and immovable during execution. For example, for the "search and rescue" task, the exact number of victims in the area is unknown and can only be determined during online execution. Therefore, this embodiment uses a rolling allocation algorithm for collaborative exploration to obtain a local strategy for exploring unknown areas and detecting new discoveries.
[0102] Specifically, when robots within a task subgroup explore after being assigned tasks based on search results, new subtasks will be discovered, requiring adjustments to the task allocation scheme. As exploration progresses, when a large number of collaborative subtasks are detected, and their locations and required agent numbers are obtained, completed subtasks are removed, and new subtasks are added. Using the method in step S4, subtasks are allocated in batches. It should be noted that this batch allocation can be updated periodically over time or when more than half of the subtasks in the current batch have been completed. This process continues until the task area is fully explored and all detected subtasks are completed. In this way, the robot gradually discovers potential subtasks and dynamically adjusts task allocation through a rolling allocation algorithm, processing only a small batch of tasks each time to avoid the complexity of global reallocation. During task execution, the system dynamically updates the task status and robot path based on real-time feedback to ensure efficient task completion.
[0103] The dynamic known-type task has a known total number of subtasks and their locations, but the subtasks are dynamic and mobile during execution. For example, a "cooperative capture" task typically requires robots to form subteams to surround and capture numerous moving targets. Since the movement of subtasks will quickly make the current plan highly suboptimal or even infeasible, this embodiment employs a dynamic alliance formation method based on Nash equilibrium for this type of task to obtain the robot's allocation to dynamic targets, thereby forming a local strategy for each robot.
[0104] Specifically, the dynamic alliance formation method is a distributed task allocation strategy used to enable robots to efficiently complete dynamically known tasks through local coordination and dynamic adjustment. Each robot determines its next sub-task based on its current task state and its own state. Once a robot selects a sub-task, it sends a collaboration request to other robots, indicating that it is about to execute that sub-task. Other robots decide whether to join the alliance based on their own state and task requirements. If a sub-task requires the collaboration of multiple robots, the robots dynamically adjust the alliance members according to the task requirements and their own capabilities. Through a limited number of distributed coordinations, the robots gradually converge to a stable alliance scheme. Each robot proceeds to the target task location and executes the task based on the negotiation results. After completing each task, the robot updates its task state and its own state, and based on the new task state and robot state, it re-determines local decisions and forms an alliance, entering the next task cycle.
[0105] The task execution process also includes: when the replanning trigger condition is met, replanning is performed on the unfinished tasks, i.e., the above steps S1-S4 are executed; the allocation of the currently executing tasks remains unchanged, and the assigned tasks after the current planning sequence are reset to the unassigned state, i.e., as tasks to be completed; the idle time of each robot and its corresponding position are calculated as the information of each robot.
[0106] Specifically, in the initial task planning phase, all robots are rationally grouped based on task complexity and the robot's ability to complete the task. Each task subgroup is matched according to the nature of the task, ensuring that the task subgroups can effectively coordinate and balance resource allocation in the initial allocation, thereby improving the overall task execution efficiency. During task execution, the system will replan the task based on real-time task progress and environmental changes. When some tasks are completed, the system first retains the tasks that are currently being executed and reorganizes and integrates resources of the task subgroups through the task subgroup allocation algorithm. The introduction of new tasks will trigger the system's dynamic replanning function. By reconstructing the task subgroups, robots that are still in an idle state are scheduled to participate in new tasks, thereby maximizing resource utilization.
[0107] Furthermore, the replanning triggering conditions include: the number of completed tasks exceeding half of the preset single-processing task count, the appearance of new tasks to be completed, and the failure of task subgroup robot allocation.
[0108] Specifically, task replanning is performed when any of the aforementioned replanning trigger conditions is met. When more than half of the assigned tasks have been completed, it indicates a significant change in task execution progress. Replanning at this point allows for a reassessment of the remaining task allocation, optimization of task allocation strategies, and improvement of task execution efficiency. Furthermore, in practical applications, tasks are often generated in real-time based on external requests, and the number of subtasks is dynamic and uncertain. For example, in material delivery tasks, new packages may need to be delivered at any time; in search and rescue tasks, new targets requiring rescue may be discovered at any time. When new tasks are pending, task replanning can promptly incorporate them into the overall task allocation, ensuring the real-time nature and effectiveness of task allocation. When a robot experiences a temporary malfunction and becomes unavailable during task subgroup robot allocation, resulting in a failure to meet capability constraints, it is determined that local task coordination is infeasible. Replanning of tasks and robot allocation is necessary to resolve the local coordination problem and ensure the normal operation of the entire system.
[0109] More specifically, during the task replanning process, the allocation of currently executing tasks remains unchanged, while the assigned tasks after the current planning sequence are reset to an unassigned state; the estimated idle time and corresponding position of each robot are calculated, wherein the estimated idle time and position of the robot currently executing a task are calculated from the previous allocation results.
[0110] The tasks that are known to be unexecuted at the current task replanning time are taken as the set of tasks to be completed. Based on the expected idle time of each robot and its expected corresponding position, the task planning and robot allocation in steps S1-S4 are carried out to obtain the replanning task allocation scheme and robot path planning.
[0111] In summary, the large-scale multi-robot coordination method for complex and uncertain time-series tasks according to embodiments of the present invention has the following beneficial effects:
[0112] 1. This invention adopts a hierarchical framework design, which decomposes the complex large-scale multi-robot task allocation problem into two levels for processing. The upper level is responsible for the overall task allocation, and the lower level is responsible for the specific coordination within the subgroup. This not only ensures the optimality of global task allocation, but also reduces the computational complexity and improves the efficiency of task allocation through local coordination.
[0113] 2. This invention adopts a rolling allocation strategy to dynamically handle new tasks and changes in tasks, avoiding the problem of frequently recalculating the entire task allocation in traditional offline computing methods. It only re-plans unallocated tasks, which significantly reduces computational complexity.
[0114] 3. In the task allocation process, this invention uses minimizing the maximum task completion time as the objective function. By optimizing robot allocation and path planning, it ensures that all tasks can be completed in the shortest possible time, which not only improves the overall efficiency of the system but also enhances its real-time performance. At the same time, by dynamically evaluating the capability requirements and task constraints of subgroups, this invention efficiently allocates tasks within a limited time window, further optimizing task execution time and improving system performance.
[0115] 4. By dynamically adjusting the number of subgroups and task allocation, this invention can flexibly select the most suitable number of subgroups according to the size and complexity of the task set, thereby improving the efficiency and adaptability of task allocation. The global optimization mechanism can ensure that the overall performance of task allocation reaches the best, enabling the system to maximize the efficiency and quality of task completion with limited resources.
[0116] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for large-scale multi-robot coordination under complex and uncertain temporal tasks, characterized in that, Includes the following steps: Obtain information on each pending task and each robot; A task constraint graph is constructed based on the inter-task constraint relationships of each task to be completed, and the set of tasks to be completed in this instance is obtained based on the preset number of tasks to be processed at one time. Based on the task information, task constraint graph, and robot information in the current task set, the local optimal task allocation result is obtained under each task subgroup number by dynamically adjusting the number of task subgroups. The best local optimal task allocation result is taken as the global optimal task allocation result. Specifically, the task subgroup number is incremented by 1 each time, iterating to obtain the local optimal task allocation result under the current task subgroup number, until the task subgroup number exceeds the preset single-processing task number or the task allocation result under the current task subgroup number violates the robot's capability constraints. In one iteration: based on the task information, task constraint graph, and robot information in the current task set, the local optimal task allocation result under the current task subgroup number is obtained. The process of obtaining the locally optimal task allocation result under the current number of task subgroups includes: constructing a search tree from the initial empty root node of each task subgroup, adding feasible tasks to each task subgroup as expansion nodes of the search tree, until all tasks in the current task set are allocated, thus obtaining all task allocation schemes under the current number of task subgroups; evaluating the quality of each task allocation scheme based on the task information and robot information in the current task set, and obtaining the locally optimal task allocation result; wherein, the locally optimal task allocation result includes the highest quality task allocation scheme and the corresponding number of robots that complete various capabilities; Based on the global optimal task allocation result, each robot is assigned to a task subgroup and the path of each robot is planned based on the overall task type; When the replanning trigger condition is met, the unfinished tasks are replanned.
2. The method according to claim 1, characterized in that, The quality of each task assignment scheme is evaluated using the following formula: in, Indicates the quality of the h-th task allocation scheme; v h This represents the task allocation scheme for the h-th task; This represents the estimated progress of the h-th task allocation scheme relative to the tasks to be completed at the current time. This represents the set of tasks to be completed at the current moment. The Lth task in the k-th task subgroup of the h-th task allocation scheme is represented by... h,k The estimated completion time of each task; K represents the number of task subgroups in this iteration; C h,k L represents the task allocation status of the k-th task subgroup in the h-th task allocation scheme; h,k This represents the number of tasks in the k-th task subgroup of the h-th task allocation scheme; The Lth task in the k-th task subgroup of the h-th task allocation scheme is represented by... h,k One task; This represents the minimum number of robots required for the k-th task subgroup to complete the j-th capability in the h-th task allocation scheme. This represents the j-th type of capability in the k-th task subgroup of the h-th task allocation scheme; n represents the l-th task in the k-th task subgroup of the h-th task allocation scheme; j Indicates completion of task of The number of robots required to complete a given capability; A represents the set of capabilities required to complete each task in the current set of tasks to be completed.
3. The method according to claim 2, characterized in that, The feasible task is a task that has no prerequisite task in the task constraint graph or whose prerequisite task has been assigned to a task subgroup.
4. The method according to claim 3, characterized in that, The task allocation result under the number of task subgroups in this iteration violates the capability constraint, including: for any capability, the sum of the number of robots assigned to the corresponding capability by all task subgroups is less than or equal to the total number of robots capable of completing the corresponding capability.
5. The method according to claim 1, characterized in that, Based on the globally optimal task allocation result, each robot is assigned to a task subgroup, including: Based on the current position of each robot and the position of the first task in each task subgroup in the global optimal task allocation result, the time cost of each robot joining each task subgroup is obtained, and an objective function with the goal of minimizing the time cost and the corresponding constraints are constructed. Based on the constraints, the objective function is solved using a linear mixed-integer programming algorithm to obtain the allocation results for each robot.
6. The method according to claim 5, characterized in that, The objective function is expressed as follows: Among them, b ik Indicates whether the i-th robot joins the k-th task subgroup; t ik t represents the time cost of the i-th robot joining the k-th task subgroup; i This represents the estimated idle time of the i-th robot; It represents the time it takes for the i-th robot to move from its current position to the first task area in the k-th task subgroup.
7. The method according to claim 6, characterized in that, The constraints include: the total capacity of the robots allocated to each task subgroup is greater than the capacity required by each task subgroup, and each robot can join at most one task subgroup.
8. The method according to claim 1, characterized in that, The replanning trigger conditions include: the number of completed tasks exceeds half of the preset number of tasks to be processed per session, new tasks to be completed appear, and task subgroup robot allocation fails.
Citation Information
Patent Citations
Optimization method for task allocation and path planning joint problem of multiple unmanned aerial vehicles
CN111880559A
Dynamic multi-objective task allocation
US20180326583A1