Multi-robot task allocation method based on roulette strategy and topology path analysis

By constructing a task topology graph and using a roulette wheel strategy to optimize the task allocation order of multiple robots, the problem of low execution efficiency under preconditions between tasks is solved, and more efficient task completion is achieved.

CN115689121BActive Publication Date: 2026-04-07HEBEI UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-14
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing multi-robot task allocation methods suffer from low task execution efficiency in scenarios with preconditions between tasks, potentially leading to prolonged task waiting times and deadlocks, and failing to effectively utilize robot resources.

Method used

A multi-robot task allocation method based on roulette wheel strategy and topology path parsing is adopted. By constructing a task topology graph, calculating the length of task-dependent paths and transformation costs, and using the roulette wheel strategy to randomly select the task allocation order, the robot can perform pre-allocation and transformation of preceding tasks while executing the target task.

Benefits of technology

It improved task execution efficiency, shortened the total execution time, reduced robot idle time, optimized the task allocation order, avoided task deadlock, and improved the overall task completion speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115689121B_ABST
    Figure CN115689121B_ABST
Patent Text Reader

Abstract

This invention presents a multi-robot task allocation method based on a roulette wheel strategy and topology path parsing. First, a task topology graph is constructed based on the tasks and their dependencies. Each node in the topology graph represents a task, and the dependencies between tasks are represented by directed edges between nodes. Then, the longest remaining path length before and after each allocatable task is calculated based on the task dependency paths. Simultaneously, the weight of each allocatable task is calculated, and the probability of the currently traversed robot selecting each allocatable task is calculated based on the weights. Allocatable tasks are then randomly assigned to the currently traversed robot according to the probabilities. Finally, the set of robots currently with target tasks is obtained, and traversal begins until all tasks are completed. This method allows for the pre-allocation of tasks whose preceding tasks are about to be completed while the robots execute the target task, and allows the corresponding robots to perform the conversion work. The task conversion process is performed simultaneously with the execution of the preceding tasks, improving task execution efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of multi-robot task allocation technology, specifically a multi-robot task allocation method based on roulette wheel strategy and topology path analysis. Background Technology

[0002] In recent years, with the rapid development of robot hardware technology, robots have largely replaced manual operations in various fields such as intelligent assembly and fire rescue, significantly reducing labor costs while improving task execution efficiency and accuracy. For complex multi-task tasks, single robots often cannot handle the workload or are inefficient due to functional limitations, requiring multiple robots to collaborate. Therefore, multi-robot systems have emerged. Multi-robot systems overcome the bottlenecks of single robots in terms of load and data processing, accelerating execution speed, improving efficiency, and possessing stronger environmental adaptability and fault tolerance. Collaboration is a key characteristic of multi-robot systems; multiple robots in the system both constrain and cooperate with each other, achieving a "1+1>2" effect. Heterogeneous robots in the system complete multi-task operations through complementary advantages and collaboration, not only adapting to changing environments and meeting stringent requirements but also reducing overall manufacturing costs. Currently, multi-robot systems have been applied in numerous fields, such as multi-robot collaborative welding and collaborative material distribution in industrial production, and multi-robot collaborative reconnaissance at fire scenes in fire rescue.

[0003] Currently, ant colony optimization and cuckoo search algorithms are commonly used for multi-robot task allocation. However, most of these algorithms are only applicable to scenarios where there are no preconditions between tasks. For scenarios where there are preconditions between tasks, such as welding with multiple robotic arms or loading and unloading goods with multiple cranes, the lack of consideration for these preconditions can lead to longer waiting times between tasks, thereby reducing task execution efficiency. Sometimes, it can even result in task allocation sequences that do not conform to topological sorting, causing deadlocks during task execution and preventing all tasks from being completed correctly.

[0004] However, topology-based task allocation algorithms suffer from limitations such as limited robot utilization, inability to pre-allocate tasks based on task execution status to compress task transition and pre-task execution times, and failure to consider the impact of dependent path lengths in the task topology graph on overall execution time. Therefore, this invention proposes a multi-robot task allocation method based on roulette wheel strategy and topology path parsing. Summary of the Invention

[0005] To address the shortcomings of existing technologies, the technical problem this invention aims to solve is to provide a multi-robot task allocation method based on roulette wheel strategy and topology path parsing.

[0006] The technical solution adopted by the present invention to solve the aforementioned technical problem is as follows:

[0007] A multi-robot task allocation method based on roulette wheel strategy and topology path parsing includes the following steps:

[0008] Step 1: Construct a task topology graph based on the tasks and their dependencies. Each node in the task topology graph represents a task, and the dependencies between tasks are represented by directed edges between nodes. The directed paths formed by nodes in the task topology graph are called task dependency paths. The prerequisite relationships between tasks are determined according to the order of their positions in the task dependency path. The task that comes first is the prerequisite task of the task that comes later, and a task can only start executing after all its prerequisite tasks have been completed.

[0009] Step 2: Obtain the set of robots with no current target task and the set of currently assignable tasks. If the set of robots with no current target task is empty or the set of currently assignable tasks is empty, proceed to Step 4. The set of currently assignable tasks refers to the set of tasks that have not been assigned and whose preceding tasks are empty, or tasks that have not been assigned and whose preceding tasks are all assigned.

[0010] If the set of robots without a target task is not empty and the set of currently assignable tasks is not empty, then calculate the length of the longest remaining path before and after each assignable task; for any assignable task Based on the task topology graph, determine the tasks that can be assigned. All task dependency paths are considered, and the number of allocatable tasks is calculated based on the execution time of the corresponding tasks on each task dependency path. In each task dependency path, the maximum value of the preceding remaining path length and the maximum value of the following path length are used as the assignable tasks. The length of the longest remaining path before and the length of the longest path after;

[0011] Step 3: Randomly select a robot from the current set of robots without a target task as the robot to be traversed. Calculate the weights of each assignable task in the current set of assignable tasks for the robot to be traversed according to equation (1); assignable tasks The weight of the robot currently being traversed Represented as:

[0012] (1)

[0013] in, , These represent allocable tasks. The length of the longest remaining path before and the length of the longest path after. This indicates that the robot being traversed has transitioned from the previous target task to the current task. The cost;

[0014] Calculate the assignable tasks according to equation (3). Probability of being selected ;

[0015] (3)

[0016] In the formula, Indicates the number of tasks that can be assigned;

[0017] Using a roulette wheel strategy, based on the probability of each assignable task being selected, a randomly selected assignable task is assigned to the currently traversed robot as the target task of the currently traversed robot, and the selected assignable task is set to the assigned state.

[0018] Repeat steps two to three to assign the remaining allocable tasks in the current allocable task set to the remaining robots in the current robot set without a target task, until the current robot set without a target task is empty or the current allocable task set is empty.

[0019] Step 4: Obtain the set of robots with target tasks and begin iterating through them. Assume the robot currently being iterated is... The robot's current objective task is ;

[0020] If the robot being iterated is currently... If the task is in working state, then check the task. Has the task been completed? If so, then... Set to the completed state and place the task in the task topology graph as a task. Remove all directed edges starting from the origin and update the task topology graph; simultaneously, update the currently traversed robot. Set to non-working state and set the task Set as the currently traversed robot The previous objective task, and the currently traversed robot Set the current target task to empty;

[0021] If the robot being iterated is currently... If it is in a non-working state, then detect... Have you completed the transition from the previous objective task to the current objective task? If the conversion is not complete, continue the conversion; if it is complete, check the task. Check if there are any unfinished prerequisite tasks. If so, wait for the prerequisite tasks to complete; otherwise, stop the currently traversed robot. Start executing the current target task And the robot currently being traversed Set to working state; after one traversal, if no robot that has completed the target task is detected during the traversal, the traversal will start again after one unit of time; otherwise, repeat steps two to four until all tasks are in the completed state.

[0022] Furthermore, in step two, assignable tasks are placed on the task dependency path. Starting from this point, assignable tasks will be... and the task dependency path located in the assignable task The sum of the execution times of all subsequent tasks yields the assignable tasks. The length of the subsequent path; similarly, the length of the assignable task. If there are no assigned but incomplete tasks at the head of the task dependency path, then assign the available tasks on the task dependency path. The sum of the execution times of all previous tasks is used to obtain the assignable tasks. The remaining duration of the preceding path; if there is an assigned but not yet completed task at the head of the task dependency path, then the remaining duration of that task is equal to the remaining duration of the assigned task. The sum of the execution times of the remaining tasks is used to obtain the assignable tasks. The length of the preceding remaining path.

[0023] Furthermore, the cost of conversion Represented as:

[0024] (2)

[0025] In the formula, This indicates that the robot currently being traversed has progressed from the previous target task. Switch to task The time required.

[0026] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0027] (1) This invention fully considers the dependencies between tasks in multi-task allocation, constructs a task topology graph based on the dependencies, and considers the impact of the length of the dependency path of the task on the task execution time. The probability of a task being selected is calculated based on the length of the dependency path of the task and the task conversion cost. The higher the probability of a task being selected, the more likely it is to be executed first. The lower the conversion cost of the task, the shorter the longest remaining path before and the longer the longest path after, the higher the probability of being selected. Therefore, it tends to prioritize the execution of tasks on longer dependency paths, thus shortening the total execution time of multi-tasks.

[0028] (2) The present invention uses a roulette wheel strategy for task allocation, which makes the task allocation more random and helps to find the current reasonable task allocation order. In addition, the overlap between the robot's task conversion process and the execution process of the preceding task is fully considered in the task allocation process. That is, while the robot that has been assigned the target task is executing the target task, it is allowed to pre-allocate the tasks that are about to be completed in the preceding task and let the robot start the preliminary conversion work. The task conversion process and the execution process of the preceding task are carried out simultaneously. Compared with the traditional task allocation method based on topological sorting, the idle time of the robot is reduced as much as possible and the task execution efficiency is improved. Attached Figure Description

[0029] Figure 1 This is an overall flowchart of the present invention;

[0030] Figure 2 This is a task topology diagram according to an embodiment of the present invention;

[0031] Figure 3 This is a task allocation progress diagram of the method of the present invention when the number of robots is 3 in an embodiment of the present invention;

[0032] Figure 4 This is a task allocation progress diagram based on the topology sorting task allocation method when the number of robots is 3 in this embodiment of the invention;

[0033] Figure 5 This is a task allocation progress diagram of the method of the present invention when the number of robots is 4 in an embodiment of the present invention;

[0034] Figure 6 This is a task allocation progress diagram based on the topology sorting task allocation method when the number of robots is 4 in this embodiment of the invention;

[0035] Figure 7 This is a task allocation progress diagram of the method of the present invention when the number of robots is 5 in an embodiment of the present invention;

[0036] Figure 8 This is a task allocation progress diagram based on the topology sorting task allocation method when the number of robots is 5 in an embodiment of the present invention. Detailed Implementation

[0037] Specific embodiments of the present invention are given below. These specific embodiments are only used to further illustrate the technical solution of the present invention and do not limit the scope of protection of the claims of this application.

[0038] This invention provides a multi-robot task allocation method (hereinafter referred to as the method) based on roulette wheel strategy and topology path parsing, comprising the following steps:

[0039] Step 1: Assume that each robot can perform all tasks, and let the robot set be... The task set is The task dependency matrix is The cost matrix is ;in, , Indicates the number of robots. Indicates the number of tasks. Dependency matrix Used to store dependencies between tasks; elements of the dependency matrix. Indicates task and Dependencies between them; Indicates task and There are dependencies between them, and there is a path in the task topology graph consisting of nodes. Pointing to node The directed edges; Indicates task and There are no dependencies between them, and there are no nodes in the task topology graph. Pointing to node Directed edges; cost matrix The cost of conversion between storage tasks is represented by conversion time in this embodiment. The elements of the cost matrix... Indicates task Switch to The time required ;

[0040] A task topology graph is constructed based on tasks and their dependencies. Each node in the task topology graph represents a task. The dependencies between tasks are represented by directed edges between nodes. The directed path formed by nodes in the task topology graph is called a task dependency path. The prerequisite relationship between tasks is determined according to the order of their positions in the task dependency path. The task that comes first is the prerequisite task of the task that comes later, and a task can only start executing after all its prerequisite tasks have been completed.

[0041] See Figure 2 ,node ~ Both refer to tasks. and The dependencies are determined by the nodes. Pointing to node The directed edge representation of a directed path consisting of nodes. This represents a task dependency path, which can determine the task. and It is a task Prerequisite task, based on all containing nodes The task dependency path can be obtained, task All prerequisite tasks are .

[0042] Step 2: Obtain the set of robots that currently have no target task. and the current set of assignable tasks ,like empty or If empty, proceed to step four; the current set of allocable tasks refers to a set of tasks that have not been assigned and whose predecessor tasks are empty, or tasks that have not been assigned and whose predecessor tasks are all assigned.

[0043] like Not empty and If not empty, then determine the task dependency path of each allocatable task based on the task topology graph, and calculate the length of the longest remaining path before and after each allocatable task; specifically, for allocatable tasks... , Based on the task topology graph, determine all task dependency paths containing the task, and assign tasks to each task dependency path as available tasks. Starting from the task dependency path, calculate the allocatable tasks based on the execution time of the corresponding tasks on that path. The length of the subsequent path in each task dependency path; similarly, the length of the allocatable tasks. As the endpoint, calculate the assignable tasks. The length of the preceding remaining path in each task dependency path; the maximum value of the preceding remaining path length and the maximum value of the following path length are respectively taken as the longest preceding remaining path length. and the longest path length after the last step ;

[0044] When calculating the remaining length of the preceding path, it is necessary to consider the remaining duration of tasks that have been allocated but not yet completed at the head of the task dependency path. Assume there exists a task dependency path... Among them, the task The allocated state and the execution time is ,Task , , , All are assignable tasks, recorded For the task The required execution time is then allocated to tasks within this task dependency path. The length of the preceding remaining path is: The length of the subsequent path is: Based on the task topology graph, select tasks that can be assigned. Calculate the assignable tasks for each of the task dependency paths. Among the remaining lengths of the preceding and following paths in each task dependency path, the maximum value is selected as the assignable task. Preceding longest remaining path length and the longest path length after the last step .

[0045] Step 3: In the current set of robots without a target task. Randomly select a robot As the currently traversed robot, the current set of assignable tasks is calculated according to equation (1). Each assignable task is for the currently traversed robot. The weights; where the assignable tasks For the currently traversed robot weight Represented as:

[0046] (1)

[0047] in, , These represent allocable tasks. The length of the longest remaining path before and the length of the longest path after. Indicates the robot currently being traversed. Transition from the previous objective task to the current task. The cost is expressed as:

[0048] (2)

[0049] Based on the weights of the allocable tasks, calculate the probability of this task being selected, and then the allocable tasks... The probability of being selected is The expression is:

[0050] (3)

[0051] In the formula, Indicates the number of tasks that can be assigned;

[0052] Using a roulette wheel strategy, based on the current set of assignable tasks... The probability of each assignable task being selected is used to randomly select tasks. Assigned to the currently traversed robot As the robot currently being traversed The target task, and the task Set to the allocated state;

[0053] Repeat steps two and three to reconfigure the current set of assignable tasks. The remaining assignable tasks are assigned to the set of robots that currently have no objective task. The remaining robots, until empty or Empty.

[0054] Step 4: Obtain the set of robots currently with target tasks. Start traversing Assuming the robot being traversed is Its current objective is ;

[0055] If the robot being iterated is currently... If the task is in working state, then check the task. Has the task been completed? If so, then... Set it to the completed state and update the task topology graph, that is, update the task topology graph with the task as the starting point. Remove all directed edges starting from the origin, and simultaneously remove the tasks from the dependency matrix. Set the current row to zero, and simultaneously set the currently traversed robot to zero. Set to non-working state and set the task Set as the currently traversed robot The previous objective task, and the currently traversed robot Set the current target task to empty;

[0056] If the robot being iterated is currently... If it is in a non-working state, then detect... Have you completed the transition from the previous objective task to the current objective task? If the conversion is not complete, continue the conversion; if it is complete, check the task. Check if there are any unfinished prerequisite tasks. If so, wait for the prerequisite tasks to complete; otherwise, stop the currently traversed robot. Start executing the current target task And the robot currently being traversed Set to working status;

[0057] After one iteration, if no robot has completed its target task during the iteration, the iteration restarts after one unit of time; that is, it waits one unit of time before restarting step four. Otherwise, steps two through four are repeated until a task set is reached. All tasks in the list are in a completed state.

[0058] Example:

[0059] This embodiment applies a multi-robot task allocation method based on roulette wheel strategy and topology path parsing to the multi-robot welding of complex spacecraft structural components. Dependencies exist between weldments; for example, weldment b needs to be welded on the surface of weldment a after it has been welded. Therefore, it is necessary to clarify the dependencies between welding tasks. The welding process of each weldment can be considered as a task. The cost matrix describes the overhead required for the welding robot to begin the current welding operation, such as the time required to pick up the weldment and move it to the target position. The dependency matrix describes the dependencies between welding tasks. This method specifically includes the following:

[0060] Step 1: Assume a robot ensemble The number of tasks is 10, and the task set is denoted as Construct a task topology graph based on the task and dependency matrix, see [link / reference]. Figure 2 Task dependency matrix Recorded as:

[0061]

[0062] The cost matrix is ​​denoted as:

[0063]

[0064] Figure 2 In the middle, there exists a path consisting of nodes point to A directed edge represents a task. Must be in the task Execution will only begin after all other tasks have been completed; assuming the execution times for each task are as follows: , , , , , , , , The unit is seconds;

[0065] Step 2: Obtain the set of robots that currently have no target task. Set of assignable tasks For assignable tasks , including tasks The task dependency paths are respectively , , Then tasks can be assigned. The preceding remaining path is The length is 0, and the subsequent path is , , With lengths of 16, 25, and 32 respectively, we can obtain the assignable tasks. Preceding longest remaining path length Longest path length after the last step Similarly, we obtain the assignable tasks. Preceding longest remaining path length Longest path length after the last step Assignable tasks Preceding longest remaining path length Longest path length after the last step Assignable tasks Preceding longest remaining path length Longest path length after the last step ;

[0066] Step 3: In the current set of robots without a target task. Randomly select robots As the currently traversed robot, calculate the current traversed robot. Transform from the previous target task to an assignable task. The cost, due to The previous target task is empty. According to equation (2), we can obtain , , , ; calculate according to formula (1) respectively For each task in the middle The weights can be obtained , , , Then, according to equation (3), the probability of each allocatable task being selected is calculated, and the result is obtained. , , , Using a roulette wheel strategy, tasks are randomly assigned to the robot currently being iterated over based on the probability of each available task being selected. The target task; for example, to Assigned to As the target task, and Set to the allocated state;

[0067] Repeat steps two and three to assign the remaining assignable tasks to the corresponding robots, thus obtaining the robots. , , The target tasks are respectively , , ;

[0068] Step 4: The current set of robots with target tasks. From robots Start traversal ,because Currently not in working state, and Current target task There are no unfinished prerequisite tasks, so... Start executing the task and will Set to working state; similarly, after other robots have completed their traversal, wait one unit of time before traversing again. Until time 6, during the traversal, the task Execution complete, the task topology graph will be updated accordingly. Remove all directed edges originating from the task, and simultaneously set the row corresponding to that task in the task dependency matrix to zero. Set to completed status and The previous target task is set as The current target task is set to empty;

[0069] Repeat steps two through four until a task set is reached. All tasks in the list are in a completed state.

[0070] The task progress chart illustrates the execution process of each robot for its corresponding task. Each task's execution process consists of a white progress bar and a black progress bar. The beginning and end of the white progress bar represent the time the task was assigned to the robot and the time the robot began executing the task, respectively. The beginning and end of the black progress bar represent the time the robot began executing the task and the time the task was completed, respectively. Figure 3 The middle vertical axis is The progress bar with horizontal axis 14-35 represents the progress assigned to the robot. Task The execution process, i.e., the task The robot was assigned time 14. Execution begins at time 23 and is completed at time 35.

[0071] To verify the effectiveness of the method of the present invention, a comparison was made between the method of the present invention and a conventional topological sorting and allocation method. When the number of robots... At that time, the task progress diagram obtained by the method of the present invention is as follows: Figure 3 As shown, the total execution time is 59; the task progress chart for the conventional topological sorting allocation method is as follows. Figure 4 As shown, the total execution time is 73 seconds; the task execution efficiency of the method of the present invention is improved by 19.2%.

[0072] When the number of robots At that time, the task progress diagram obtained by the method of the present invention is as follows: Figure 5 As shown, the total execution time is 49; the task progress chart for the conventional topological sorting allocation method is as follows. Figure 6 As shown, the total execution time is 73 seconds; the task execution efficiency of the method of the present invention is improved by 32.8%.

[0073] When the number of robots At that time, the task progress diagram of the method of the present invention is as follows: Figure 7 As shown, the total execution time is 49; the task progress chart for the conventional topological sorting allocation method is as follows. Figure 8 As shown, the total execution time is 76 seconds. The task execution efficiency of the method of this invention is improved by 35.5%.

[0074] The comparison results show that the method of this invention significantly improves task execution efficiency compared to conventional topology sorting and allocation methods. This is because conventional topology sorting and allocation methods require the completion of preceding tasks before task transition begins, increasing task waiting time and thus the total task execution time. In contrast, the method of this invention fully considers the overlap between the task transition process and the preceding task execution process. While the robot assigned the target task is executing the target task, it allows tasks nearing completion of preceding tasks to be pre-assigned to idle robots, enabling these robots to begin preliminary transition work. This simultaneous execution of the task transition process and the preceding task execution process reduces the proportion of idle time for robots, thus improving task execution efficiency. Furthermore, this invention thoroughly analyzes the paths in the task topology graph, calculates the probability of task selection based on the length of the task-dependent path and the task transition cost, and uses a roulette wheel strategy for task allocation, contributing to a reasonable task allocation order and further shortening the total task execution time.

[0075] Any aspects not covered in this invention are applicable to existing technologies.

Claims

1. A multi-robot task allocation method based on roulette wheel strategy and topology path parsing, characterized in that, The method includes the following steps: Step 1: Construct a task topology graph based on the tasks and their dependencies. Each node in the task topology graph represents a task, and the dependencies between tasks are represented by directed edges between nodes. The directed paths formed by nodes in the task topology graph are called task dependency paths. The prerequisite relationships between tasks are determined according to the order of their positions in the task dependency path. The task that comes first is the prerequisite task of the task that comes later, and a task can only start executing after all its prerequisite tasks have been completed. Step 2: Obtain the set of robots with no current target task and the set of currently assignable tasks. If the set of robots with no current target task is empty or the set of currently assignable tasks is empty, proceed to Step 4. The set of currently assignable tasks refers to the set of tasks that have not been assigned and whose preceding tasks are empty, or tasks that have not been assigned and whose preceding tasks are all assigned. If the set of robots without a target task is not empty and the set of currently assignable tasks is not empty, then calculate the length of the longest remaining path before and after each assignable task; for any assignable task Based on the task topology graph, determine the tasks that can be assigned. All task dependency paths are considered, and the number of allocatable tasks is calculated based on the execution time of the corresponding tasks on each task dependency path. In each task dependency path, the maximum value of the preceding remaining path length and the maximum value of the following path length are used as the assignable tasks. The length of the longest remaining path before and the length of the longest path after; Step 3: Randomly select a robot from the current set of robots without a target task as the robot to be traversed. Calculate the weights of each assignable task in the current set of assignable tasks for the robot to be traversed according to equation (1); assignable tasks The weight of the robot currently being traversed Represented as: (1) in, , These represent the assignable tasks. The length of the longest remaining path before and the length of the longest path after. This indicates that the robot being traversed has transitioned from the previous target task to the current task. The cost; Calculate the assignable tasks according to equation (3). Probability of being selected ; (3) In the formula, Indicates the number of tasks that can be assigned; Using a roulette wheel strategy, based on the probability of each assignable task being selected, a randomly selected assignable task is assigned to the currently traversed robot as the target task of the currently traversed robot, and the selected assignable task is set to the assigned state. Repeat steps two to three to assign the remaining allocable tasks in the current allocable task set to the remaining robots in the current robot set without a target task, until the current robot set without a target task is empty or the current allocable task set is empty. Step 4: Obtain the set of robots with target tasks and begin iterating through them. Assume the robot currently being iterated is... The robot's current objective task is ; If the robot being iterated is currently... If the task is in working state, then check the task. Has the task been completed? If so, then... Set to the completed state and place the task in the task topology graph as a task. Remove all directed edges starting from the origin and update the task topology graph; simultaneously, update the currently traversed robot. Set to non-working state and set the task Set as the currently traversed robot The previous objective task, and the currently traversed robot Set the current target task to empty; If the robot being iterated is currently... If it is in a non-working state, then detect... Have you completed the transition from the previous objective task to the current objective task? If the conversion is not complete, continue the conversion; if it is complete, check the task. Check if there are any unfinished prerequisite tasks. If so, wait for the prerequisite tasks to complete; otherwise, stop the robot being iterated. Start executing the current target task And the robot currently being traversed Set to working state; after one traversal, if no robot that has completed the target task is detected during the traversal, the traversal will start again after one unit of time; otherwise, repeat steps two to four until all tasks are in the completed state.

2. The multi-robot task allocation method based on roulette wheel strategy and topology path parsing according to claim 1, characterized in that, In step two, assignable tasks on the task dependency path. Starting from this point, assignable tasks will be... and the task dependency path located in the assignable task The sum of the execution times of all subsequent tasks yields the assignable tasks. The length of the subsequent path; similarly, the length of the assignable task. If there are no assigned but incomplete tasks at the head of the task dependency path, then assign the available tasks on the task dependency path. The sum of the execution times of all previous tasks is used to obtain the assignable tasks. The remaining duration of the preceding path; if there is an assigned but not yet completed task at the head of the task dependency path, then the remaining duration of that task is equal to the remaining duration of the assigned task. The sum of the execution times of the remaining tasks is used to obtain the assignable tasks. The length of the preceding remaining path.

3. The multi-robot task allocation method based on roulette wheel strategy and topology path parsing according to claim 1 or 2, characterized in that, Conversion Cost Represented as: (2) In the formula, This indicates that the robot currently being traversed has progressed from the previous target task. Switch to task The time required.

Citation Information

Patent Citations

  • Method and device for generating task scheduling scheme in scientific workflow under cloud environment

    CN107015856A

  • Multi-robot task allocation method and device, electronic equipment and storage medium

    CN114995162A