Multi-robot task allocation method and device based on load consistency

By introducing a load allocation matrix in multi-robot task allocation and dynamically adjusting the robot task allocation scheme, the problem of robot load resource consumption in multi-robot task allocation is solved, and more efficient task execution and resource utilization are achieved.

CN119440014APending Publication Date: 2025-02-14NAT UNIV OF DEFENSE TECH

Patent Information

Application Number
CN202411584952.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-07
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

The prior art is difficult to effectively solve the problem of robot load resource consumption in multi-robot task allocation, resulting in the inability to complete the task execution due to load consumption.

Method used

A multi-robot task allocation method and device based on load consistency is proposed. This method introduces a load allocation matrix through two stages of task package construction and conflict resolution, and dynamically adjusts the task allocation plan according to the remaining load of the robot and task requirements to ensure that each The tasks are performed by a robot alliance that matches capabilities.

Benefits of technology

By dynamically adjusting robot task allocation, make full use of robot load resources to avoid task failure due to load consumption, and improve the utilization rate of robot resources and task execution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119440014A_ABST
    Figure CN119440014A_ABST
Patent Text Reader

Abstract

The invention relates to a multi-robot task allocation method and device based on load consistency. The method is used for distributing a plurality of multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads. According to the method, load consumption in the task execution process of the robot is considered, and the problem of complex task allocation of tight coupling of task requirements and robot resources is solved; the method comprises a task package construction process and a conflict resolution process, a load distribution matrix is introduced in the task package construction process, the number of robots executing each task is dynamically adjusted according to the remaining loads of the robots and the current requirements of the tasks, and it is ensured that each task is executed by a robot alliance with matched capacity, so that the task resolution efficiency is improved. Loads carried by the robot can be fully utilized, task failures caused by load consumption are avoided, and the utilization rate of robot resources is increased.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of robot task allocation, and in particular to a multi-robot task allocation method and device based on load consistency. Background Art

[0002] With the development of artificial intelligence and robotics technology, various intelligent robots are playing an increasingly important role in various industries, such as warehousing and logistics, emergency rescue, urban confrontation, etc. However, the capabilities of a single robot are limited, and the tasks that robots need to perform are becoming more and more complex. Considering only a single robot to perform tasks will not be able to meet people's growing application needs for intelligent robots. This requires giving full play to the effectiveness of the cluster system and considering the collaborative completion of tasks by multiple robots. In the theory of multi-robot collaboration, task allocation is the basis for the collaborative execution of tasks by multiple robots, ensuring that each task is performed by a robot with matching capabilities, which has important research significance.

[0003] At present, there are many methods to study the problem of multi-robot task allocation. Based on the optimization method, minimizing time, minimizing costs, maximizing benefits, etc. are used as optimization goals, and the constraints such as limited robot resources, task time windows and execution order are considered to model the multi-robot task allocation problem as an optimization problem; based on the reinforcement learning method, deep Q networks, graph neural networks, etc. are used to learn and improve the task allocation effect; based on the auction method, it is similar to the market auction mechanism, and robots obtain the execution right of tasks through bidding. Among them, the auction-based consistency task package algorithm CBBA is a distributed two-stage iterative consensus algorithm, which is divided into two stages: internal task package construction and external consensus. The algorithm has the advantages of quickly converging to a conflict-free allocation scheme, and has good scalability and dynamic characteristics. However, this algorithm is only applicable to the allocation problem of single robot tasks and has certain limitations.

[0004] In recent years, there have been many studies on improving CBBA to solve the problem of task allocation under complex coupling constraints. The consensus-based grouping algorithm (CBGA) [8] expands the winner list and bid value list of each robot in CBBA into a two-dimensional vector to solve the problem of multi-robot task allocation. By introducing the subtask coupling matrix and the timing interval matrix, the consensus coalition algorithm (CBCA) studies the task allocation problem under the conditions of task load resource constraints, subtask coupling relationship constraints and execution window constraints. The CBBA-TCC algorithm considering task coupling constraints constructs a Can-do list for each robot during the task package construction process to clarify the tasks that each robot can perform to cope with the task coupling constraints in heterogeneous multi-robot systems. However, the subtask coupling matrix of CBCA and the Can-do list of CBBA-TCC only consider the matching between robot types and task types, and cannot deal with the problem of robot load resource consumption. An extension of the hierarchical consensus task package algorithm based on the K-means clustering algorithm studies the multi-robot task allocation problem under complex constraints including robot speed, arrival time, travel cost, task time window, priority, etc. However, it is not clear how the time it takes for a robot to arrive at a task affects the start and end time of a multi-robot task. In the Consistent Time Package Algorithm (CBTA) that uses the time it takes a robot to arrive at a task as the robot's bid, it is considered that the start time of a multi-robot task is determined by the last robot to arrive at the task, which can minimize the average start time of all tasks. However, the number of tasks that can be performed by the robots considered in this algorithm is fixed, and is not dynamically adjusted due to the strength of the robot's capabilities. It is worth noting that in the process of executing multi-robot tasks, the required robots are generally heterogeneous robots, and the robots' task execution capabilities are different or will be weakened during the task execution. For example, in warehousing and logistics, it is also necessary to consider the fuel consumption of robots during transportation to avoid the robot being unable to reach the target location due to energy problems. Summary of the invention

[0005] Based on this, it is necessary to provide a multi-robot task allocation method and device based on load consistency to address the above technical problems.

[0006] A multi-robot task allocation method based on load consistency is used to allocate several multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads. The method includes: a task package construction phase and a conflict resolution phase. The two phases are performed alternately to form an iterative process. When a preset end condition is met, the task package construction and conflict resolution are stopped to obtain a final task allocation plan.

[0007] Among them, in the task package construction stage: each robot constructs a task package according to the task requirements and its own capabilities; the task package construction process is carried out synchronously in each robot.

[0008] In the conflict resolution stage: the conflict resolution process runs independently on each robot, and the robots share the task time matrix, load distribution matrix and timestamp information with each other. If there is a task conflict, it is resolved through priority rules, negotiation or external arbitration.

[0009] A multi-robot task allocation device based on load consistency is used to allocate several multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads; the device includes: a task package construction module and a conflict resolution module, which are performed alternately to form an iterative process until a preset end condition is met, then the task package construction and conflict resolution are stopped to obtain a final task allocation plan.

[0010] The task package building module is used for each robot to build a task package according to the task requirements and its own capabilities; wherein the task package building process is carried out synchronously in each robot.

[0011] The conflict resolution module is used to run the conflict resolution process independently on each robot. The robots share the task time matrix, load distribution matrix and timestamp information with each other. If there is a task conflict, it is resolved through priority rules, negotiation or external arbitration.

[0012] The above-mentioned multi-robot task allocation method and device based on load consistency is used to allocate several multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads; the method takes into account the load consumption during the execution of the robot task, and solves the complex task allocation problem in which the task requirements are tightly coupled with the robot resources; the method includes two processes: task package construction and conflict resolution. The load allocation matrix is ​​introduced during the task package construction process. According to the remaining load of the robot and the current requirements of the task, the number of robots executing each task is dynamically adjusted to ensure that each task is executed by a robot alliance with matching capabilities, which can fully utilize the load carried by the robot, avoid task failure due to load consumption, and improve the utilization rate of robot resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 A schematic flow chart of a multi-robot task allocation method based on load consistency in one embodiment;

[0014] Figure 2 A schematic diagram of a process flow of constructing a robot i task package in another embodiment;

[0015] Figure 3A schematic diagram of a robot task execution path for a pure auction method in another embodiment;

[0016] Figure 4 A schematic diagram of a task execution path of a CBPA robot in another embodiment;

[0017] Figure 5 A schematic diagram of total revenue from task allocation in another embodiment. DETAILED DESCRIPTION

[0018] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0019] In one embodiment, Figure 1 As shown, a multi-robot task allocation method based on load consistency is provided, which is used to allocate a number of multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads; the method comprises the following steps:

[0020] Step 100: Task package construction phase and conflict resolution phase. These two phases are performed alternately to form an iterative process. When a preset end condition is met, task package construction and conflict resolution are stopped to obtain a final task allocation plan.

[0021] Specifically, multiple robots that perform the same task form a robot alliance. The payload resource combination of each alliance must meet the task requirements in order for the task to be effectively executed. When the task is completed, the robot will perform the next task and form a new robot alliance until all tasks are completed or there is no task to participate in due to payload consumption.

[0022] In order to describe the above task allocation problem with mathematical expressions, we use I = {1, 2, ..., N r} represents a multi-robot set, where N r is the number of robots. The properties of robot i∈I can be described as where p i is the position of robot i, v i is the speed of robot i, and are two different loads carried by robot i, namely load A and load B. In urban combat scenarios, load A and load B can be represented by the onboard camera and fuel volume of the ground robot. In warehouse logistics scenarios, load A and load B can be represented by the power and load volume of the logistics robot. t} represents a task set, where N tis the number of tasks. The properties of task j∈J can be described as where p' j is the position of task j, t' j is the duration of task j, δ j is the execution time of task j, is the load requirement for different functional types when executing task j.

[0023] In robot i, in order to describe in detail the distribution of load A during task allocation, we define N t ×N r The load distribution matrix L a i . The element l in the matrix a ijk ∈L a i Record the value of load A that robot i thinks robot k is assigned to perform task j. If robot k does not perform task j, then l a ijk = 0. Similarly, element l b ijk ∈L b i Record the value of the load B assigned to robot k by robot i. In addition, in order to track the remaining load of the robot after completing a series of tasks, this application defines a length of N r List of R a i and R b i , which are used to record the remaining amount of load A and load B of robot i. Among them, the element r a ik ∈R a i represents the remaining amount of load A of robot k as considered by robot i. Similarly, element r b ik ∈R b i represents the remaining amount of load B of robot k as considered by robot i. By reasonably defining and applying the load allocation matrix and the load remaining list, we can effectively solve the coupling relationship between heterogeneous robots and task requirements, improve the accuracy and efficiency of task allocation, and also ensure the rational use of robot resources and the smooth execution of tasks. It is worth emphasizing that the load remaining amount can be calculated by the load allocation of the robot. If the load A will be consumed as the task is executed, such as the power of a drone in logistics transportation:

[0024]

[0025] If the load B is not consumed during the task execution, such as the camera on a drone in logistics transportation, the remaining load value is the same as the initial load value of the robot, that is:

[0026]

[0027] The multi-robot task allocation method based on load consistency is an optimized version of the CBBA algorithm, which aims to address the challenges of task allocation in complex scenarios where multiple robots need to work together and task requirements are tightly coupled with robot resources. The algorithm framework follows the basic structure of CBBA and mainly consists of two core stages: task package construction stage and conflict resolution stage. These two stages are performed alternately to form an iterative process to ensure that tasks can be allocated to each robot efficiently, accurately and without conflict.

[0028] The following are several key elements of the multi-robot task allocation method based on load consistency (referred to as: CBPA algorithm):

[0029] (1) Winning robot matrix X i

[0030] N t ×N r dimensional matrix, where x ijk =1 means robot i thinks robot k performs task j, otherwise x ijk =0.

[0031] (2) Robot task time matrix T i

[0032] N t ×N r dimensional matrix, where t ijk >0 indicates the time when robot i believes robot k has reached task j. ijk = -1, indicating that robot k does not perform task j, that is: ijk =0.

[0033] (3) Robot load distribution matrix L i

[0034] The load value assigned to robot i for task j is determined by the remaining load of the robot and the task requirements. This application assumes that the load distribution of the robot obeys the average distribution, that is, the load value consumed by each member in the robot task alliance per unit time is the same. This is the simplest and most common load distribution model. For example, the amount of ammunition consumed by similar weapons per unit time in battlefield confrontation is almost the same. The load distribution value of each robot performing task j can be solved by the average load distribution method, and corresponding algorithms can also be established for other complex load distribution models.

[0035] 4) Task package b i

[0036] b i = {b i1 ,b i2 ,...,b i|bi|} is a list of non-fixed length, representing the set of tasks performed by robot i, i.e. b i ∈J. i The task execution path p of robot i can be obtained by sorting the elements according to the order of the robot's arrival time at the task i .

[0037] (5) Timestamp list s i

[0038] Timestamp list i Recording the update time of the current task allocation information, which is updated in each iteration, is an important basis for judgment in the conflict resolution stage. ij represents the time when robot i updates task j.

[0039] Step 102: In the task package construction phase: each robot constructs a task package according to the task requirements and its own capabilities; wherein the task package construction process is performed synchronously in each robot.

[0040] Specifically, a load distribution matrix is ​​introduced during the task package construction process. According to the remaining load of the robots and the current requirements of the task, the number of robots performing each task is dynamically adjusted to ensure that each task is performed by a robot alliance with matching capabilities.

[0041] Step 104: In the conflict resolution phase: the conflict resolution process runs independently on each robot, and the robots share the task time matrix, load distribution matrix and timestamp information with each other. If there is a task conflict, it is resolved through priority rules, negotiation or external arbitration.

[0042] Specifically, the task package construction process is run independently on each robot. Different robots may choose the same task in a round of bidding, causing conflicts in task allocation. At the same time, the multi-robot system also needs to share robot and task information through the current network topology and update the information required by the robot in the next round of bidding, such as the remaining load of the robot and the matching of task requirements.

[0043] The above-mentioned multi-robot task allocation method based on load consistency is used to allocate several multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads; the method takes into account the load consumption during the execution of the robot task, and solves the complex task allocation problem in which the task requirements are closely coupled with the robot resources; the method includes two processes: task package construction and conflict resolution. The load allocation matrix is ​​introduced during the task package construction process. According to the remaining load of the robot and the current requirements of the task, the number of robots executing each task is dynamically adjusted to ensure that each task is executed by a robot alliance with matching capabilities, which can make full use of the load carried by the robot, avoid task failure due to load consumption, and improve the utilization rate of robot resources.

[0044] In one embodiment, step 102 includes: during the task package construction process of robot i, robot i updates its own winner list according to the minimum task time matrix, and eliminates the tasks that have lost the bidding due to task weight; wherein i is the change of the robot, and i is an integer greater than 0 and less than the total number of robots; robot i bids for tasks that match its own capabilities, and selects tasks with the smallest marginal cost increase to add to the task package; and inserts task j into the task execution path of robot i, taking the insertion position with the smallest increment; the task package construction process of robot i continues until there are no unassigned tasks or the robots are exhausted, and the task package of robot i is obtained.

[0045] Specifically, in the CBPA algorithm, the robot builds a task package based on the task requirements and its own capabilities. The task package construction process is carried out synchronously in each robot. The specific process is as follows Figure 2 shown.

[0046] In one embodiment, the marginal cost value-added of task j is calculated as:

[0047]

[0048] Among them, C ij represents the marginal cost added by robot i in performing task j, S i (p i ) indicates that robot i follows task path p i The marginal cost of performing the task, Indicates inserting task j into pi The nth position in the task, c represents the cost when the robot cannot meet the task requirements, r ij represents the remaining load of robot i for task j, is the load value required for task j.

[0049] The marginal cost of robot i is:

[0050]

[0051] Among them, t iji is the time it takes for robot i to reach task j; x ijk is the element of the winning robot matrix of robot i; N t Indicates the total number of tasks; and They represent the load values ​​a and b that robot i believes are needed to meet the load requirements of task j. When the load a requirement is met: Load b is similar; if α is a sufficiently large constant, robot i will give priority to tasks that have not yet met the requirements. At the same time, α and β represent the weights of load a and load b respectively, which are used to distinguish the priorities of different loads. Robot i will give priority to satisfying the load requirements with large weights.

[0052] The time it takes for robot i to reach task j is determined by the robot’s task path and the distance between tasks. Assume task j is p i In the kth task, robot i reaches p i The time for the kth task in is:

[0053]

[0054] Among them, t i,pik,i Indicates that robot i reaches p i The time of the kth task in , t i,pik,i Indicates that robot i reaches p i The time for the kth task in i,pi,k-1 Indicates that robot i reaches p i The time of the k-1th task in v i represents the speed of robot i, δ pi,k-1 Indicates p i The execution time of the k-1th task in , d pi,k-1,pik Indicates p i The distance between the k-1th task and the kth task, d i,pik Represents robots i and p i The distance between the kth tasks in .

[0055] In one embodiment, step 104 includes: the conflict resolution process is independently executed on each robot, and the robots share the task time matrix, load distribution matrix and timestamp information with each other; according to the load requirement of the task and the load distribution matrix, the satisfaction of each task requirement from the perspective of robot k is calculated; according to the task time matrix and the winning robot matrix, the start time of each task from the perspective of robot k is calculated; robot i compares the task allocation information with robot k, and according to the preset update rules, if in each round of bidding, the robot that meets the requirements of task j wins first and obtains the execution right of task j; if no robot meets the task requirement, the robot with the smallest requirement of the current task j wins; if all robots believe that the requirements of task j have been met, the robot with the smallest start time wins; in the next task package construction process, robot i will update the winning robot matrix X i , the required load value R i , the load value matrix M that meets the load requirements i , start time τ i 、Task Package B i , and task execution path p i to update.

[0056] Specifically, the conflict resolution process runs independently on each robot, and the robots share the task time matrix, load distribution matrix and timestamp information with each other; robot i sends a message to robot k, which is connected to itself, that is, g ik =1, where G represents the network topology matrix of the multi-robot system; send T i , L i and i ; At the same time, receive T sent by robot k i , L i and k , and calculate the start time and demand satisfaction of each task from the perspective of robot k according to formula (6) and formula (7). Then robot i compares the task allocation information with robot k and updates its own T according to the rules in Table 1. i and L i , that is, T ij =T kj , L ij =L kj ,s ij =s kj In the next task package construction process, robot i will calculate the winning robot matrix X i , the required load value R i , the load value matrix M that meets the load requirements i , start time τ i 、Task Package B i , and task execution path pi Update i to update.

[0057] In one embodiment, the preset update rule is:

[0058] If s ij <s kj When t iji=-1 , t ijk=-1 .

[0059] If τ ij <τ kj When t iji=-1 , t ijk=[0,∞) .

[0060] If τ ij =τ kj , m ij ≥m kj When t iji=-1 , t ijk=[0,∞) .

[0061] If τ ij >τ kj ,s ij <s kj When t iji=[0,∞) , t ijk=-1 .

[0062] If τ ij =τ kj , m ij ≥m kj ,s ij <s kj When t iji=[0,∞) , t ijk=-1 .

[0063] If τ ij >τ kj When t iji=[0,∞) , t ijk=[0,∞) .

[0064] If τ ij =τ kj , m ij ≥m kj When t iji=[0,∞) , t ijk=[0,∞) .

[0065] Among them, s ij The time to update task j for robot i, s ij Update time of task j for robot k, t iji is the time it takes for robot i to reach task j, t ijkis the time when robot i thinks robot k will arrive at task j, τ ij is the start time of robot i to perform task j; τ kj is the start time of robot k to perform task j, m ij is the load value that robot i thinks is needed to meet the load requirement of task j, m kj is the load value that robot k believes is needed to meet the load requirement of task j.

[0066] Specifically, the update rules of robot i’s task j are shown in Table 1.

[0067] Table 1 Update rules for robot i's task j

[0068] (Receive information from robot k)

[0069]

[0070] According to the task update rules in Table 1, in each round of bidding, the robot that meets the requirements of task j will win first and obtain the execution right of task j. If no robot meets the task requirements, that is, the start time of task j from the perspective of each robot is the same and tends to infinity, then the robot with the smallest current task j requirement will win. If all robots believe that the requirements of task j have been met, the robot with the smallest start time will win. In line 9 of the task package construction algorithm, task j will only be added to the robot's task package if the robot can reduce the task start time; combining the above three situations, after each round of conflict resolution, the marginal cost value added calculated by the robot according to formula (3) shows a decreasing trend.

[0071] In one embodiment, the calculation formula for satisfying each task requirement from the perspective of robot k is:

[0072]

[0073] Among them, m ij is the load value that robot i thinks is needed to meet the load requirement of task j, N t Indicates the total number of tasks, represents the load requirement of task j from the perspective of robot i, l ijk represents the load requirement that robot i considers for robot k to perform task j;

[0074] The formula for calculating the start time of each task from the robot k's perspective is:

[0075]

[0076] Among them, τ j is the start time of task j, t ijkis the time when robot i thinks robot k will arrive at task j. When the robot alliance that performs task j does not meet the requirements, the task cannot be performed. The starting time is ∞, x ijk is the element of the winning robot matrix of robot i, x ijk =1 means robot i thinks robot k performs task j, l a ijk is the value of load a that robot i believes robot k needs to perform task j, is the value of load a required for task j, l b ijk is the value of load b that robot i believes robot k needs to perform task j, is the value of load b required for task j, N t Indicates the total number of tasks.

[0077] Specifically, in order to determine whether task j meets the task requirements, a length of N is defined. t Task Requirements List M a i and M b i Its element m a ij and m b ij Record the load A and load B required by task j from the perspective of robot i respectively. ij = 0, indicating that task j meets the task requirements. Robot i believes that the load value m required to meet the load requirements of task j is ij As shown in formula (7).

[0078] When the task assignment is completed, robot i will form a task execution path where p ik represents the kth task performed by robot i, |p i | is the number of tasks assigned to robot i. Task j will only start when the robot alliance performing task j meets the requirements and arrives at the task point. Therefore, the start time of the task is determined by the last robot to arrive, and the start time of task j can be expressed as τ j , the start time τ of task j j As shown in formula (8).

[0079] where t ijk It represents the time when robot i thinks robot k will arrive at task j. When the robot alliance executing task j does not meet the requirements, the task cannot be executed and the start time is ∞.

[0080] In one embodiment, the final task allocation scheme takes the fastest average task start time as the optimization target, and the expression of the optimization problem is:

[0081]

[0082] Among them, τ j is the start time of human machine j, l a ijk is the value of load a that robot i believes robot k needs to perform task j, is the value of load a required for task j, l b ijk is the value of load b that robot i believes robot k needs to perform task j, is the value of load b required for task j, N t Represents the total number of tasks, N r Represents the total number of robots, represents the value of the load b assigned to robot k, represents the value of the load a assigned to robot k, J is the task set, I is the robot set, L a i , L a k represents the load allocation matrix describing the load a of UAV i and UAV k during the task allocation process. b i , L b represents the load allocation matrix describing the load b between UAV i and UAV k during the task allocation process.

[0083] Specifically, in highly dynamic scenarios such as warehousing and logistics, the timeliness of tasks is crucial. Multi-robot systems need to complete tasks quickly and efficiently to meet the need for immediacy. Therefore, the final result of task allocation takes the fastest average task start time as the optimization goal, which can be described as an optimization problem as shown in formulas (8) to (13), where formulas (9) and (10) ensure that the task requirements are met, formulas (11) and (12) ensure that the robots are capable of performing the assigned tasks, and formula (13) ensures that the allocation schemes between robots remain consistent to avoid conflicts.

[0084] In one embodiment, the load distribution matrix is ​​obtained by an effective load average distribution method; the steps of the effective load average distribution method include: setting the initial value of each element in the load distribution matrix to 0; determining r' according to the winning robot matrix of robot i and the remaining value of the effective load i , where r' i is the task load requirement after robot i joins; when r' i When r' is not greater than the load demand of task j from the perspective of robot i, the load distribution matrix is ​​equal to the remaining value of the effective load of robot i; when r' iWhen the load demand of task j from the perspective of robot i is greater than 0, the minimum load distribution value is calculated. for:

[0085]

[0086] in, Assign a value to the minimum load, is the load requirement of task j from the perspective of robot i. The len function is used to calculate the number of robots that perform task j. ijk is the element of the winning robot matrix.

[0087] if Then the value of the load that robot i believes robot k needs to perform task j is updated to r ii , update the load requirement of task j from the current perspective of robot i to the load requirement of task j from the perspective of robot i minus r ii The value of x ijk Update to 0; otherwise, update the value of the load that robot i currently believes robot k needs to perform task j to The sum of the load that robot i believes robot k needs to perform task j is updated to the load demand for task j from the perspective of robot i minus value; if the load demand of task j from the perspective of robot i is greater than 0, the load distribution matrix continues to be updated until the load demand of task j from the perspective of robot i is not greater than 0, and the final load distribution matrix is ​​obtained.

[0088] It should be understood that although Figure 1 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.

[0089] In a verification example, in order to verify the effectiveness and feasibility of the algorithm, the task allocation problem of mobile robots under fire rescue is taken as the background. In a scenario with a task area of ​​2.4km×1.5km, a case 1 is designed in which 5 robots carrying robot fuel perform 10 multi-robot tasks. The onboard camera carried by the robot is a non-consumable load, and the robot fuel is a consumable load. The robot fuel value carried by the robot is represented by the numerical simulation fuel, and the robot fuel demand of the task is represented by the numerical simulation fuel consumption within 10. Each task requires at least one robot carrying an onboard camera to participate. Table 2 lists the initial position information and load information of the robot and the task. The speed of the robot carrying the onboard camera is 10 meters per second, and the speed of the robot without the onboard camera is 15 meters per second. In case 1, the calculation time and average task start time of the CBPA and pure auction algorithms are compared, and the task allocation effect is demonstrated with real objects, verifying the effectiveness and feasibility of the CBPA algorithm. The pure auction algorithm means that the robot bids for only one task in each round and assigns the task to the current optimal robot.

[0090] Table 2 Case 1 initial position information and robot oil volume information

[0091] R1 R2 R3 R4 R5 T1 T2 T3 P (150,130) (150,330) (150,700) (150,970) (150,1270) (850,350) (1450,550) (2100,430) <![CDATA[L a / R a ]]> 0 0 30 30 25 8 6 8 <![CDATA[L b / R b ]]> 3 3 3 0 0 1 2 3 T4 T5 T6 T7 T8 T9 T10 / P (740,820) (1120,740) (1710,970) (2360,680) (730,1260) (1440,1020) (1950,1280) / <![CDATA[R a ]]> 7 8 6 9 10 8 9 / <![CDATA[R b ]]> 3 3 2 2 3 2 2 /

[0092] Note: R stands for robot; T stands for task; P stands for the position information of the robot or task, in meters; L a and R a Respectively represent the robot fuel value of the robot and the robot fuel requirement value of the task; similarly, L b and R b Indicates the onboard camera.

[0093] The computation time and average task start time of CBPA and pure auction algorithms are shown in Table 3. Because in each round of auction, CBPA bids for multiple tasks according to the current capabilities of each robot, it has fewer iterations, shorter computation time, and less time spent on task allocation, which has better speed. The average task start time is slightly lower than that of the pure auction algorithm, but the difference is not large.

[0094] Table 3 Computation time and average task start schedule

[0095] Iterations Calculation time Average time CBPA 12 0.042993 160.913218 Pure Auction 16 0.049136 159.239914

[0096] This embodiment verifies the allocation results on a mobile multi-robot physical platform. The multi-robot task execution process is as follows: Figure 3 to Figure 4 As shown in the figure. The black circle in the figure represents the multi-robot task that is successfully executed. The results show that the allocation results of the CBPA algorithm have good effectiveness and feasibility in the application of actual systems.

[0097] In order to evaluate the task benefits of the CBPA task allocation results, this embodiment uses formula (15) to calculate the benefit of each task and compares CBPA with CBBA.

[0098]

[0099] Among them, ω 0 represents the static benefit of the task, and λ represents the time discount factor.

[0100] Since CBBA targets single robot tasks, this embodiment designs a case 2 in which 5 strike robots perform different numbers of strike tasks. The static benefit of each robot is 100, the time discount factor is 0.01, the robot fuel value carried by each robot is 100, and the robot fuel demand value of each task is 30. The experiment is divided into 11 groups, and the number of tasks increases from 10 to 20. Each experimental group conducts 20 independent experiments and takes the average value. The total task benefit results are shown in the figure below. Figure 5 shown.

[0101] The experimental results show that when the number of tasks exceeds 10, the fuel of a single robot is insufficient, and the total task benefit of CBPA is higher than that of CBBA, and the resource utilization rate is higher; when the number of tasks exceeds 20, the resources are saturated, and the total task benefits of the two are almost the same. It can be seen that within the capacity of multiple robots, CBPA has a higher task allocation benefit, can better utilize the payload carried by the robot, and has a higher robot resource utilization rate.

[0102] In one embodiment, a multi-robot task allocation device based on load consistency is provided, which is used to allocate several multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads; the device includes: a task package construction module and a conflict resolution module, and these two modules are performed alternately to form an iterative process until a preset end condition is met, then the task package construction and conflict resolution are stopped to obtain a final task allocation plan.

[0103] The task package building module is used for each robot to build a task package according to the task requirements and its own capabilities; wherein the task package building process is carried out synchronously in each robot.

[0104] The conflict resolution module is used to run the conflict resolution process independently on each robot. The robots share the task time matrix, load distribution matrix and timestamp information with each other. If there is a task conflict, it is resolved through priority rules, negotiation or external arbitration.

[0105] In one of the embodiments, the task package construction module is also used in the task package construction process of robot i. Robot i updates its own winner list according to the minimum task time matrix, and eliminates the tasks that lose the bidding due to task weight; wherein i is the change of the robot, and i is an integer greater than 0 and less than the total number of robots; robot i bids for the tasks that match its own capabilities, and selects the tasks with the smallest marginal cost increase to add to the task package; and inserts task j into the task execution path of robot i, taking the insertion position with the smallest increment; the task package construction process of robot i continues until there are no unassigned tasks or the robots are exhausted, and the task package of robot i is obtained.

[0106] In one embodiment, the calculation expression of the marginal cost increment of task j in the task package building module is shown in formula (3). The marginal cost of robot i is shown in formula (4); robot i reaches p i The time of the kth task in is shown in formula (5).

[0107] In one embodiment, the conflict resolution module is also used for the conflict resolution process to be independently run on each robot, and the robots share the task time matrix, load distribution matrix and timestamp information with each other; according to the load requirement of the task to be executed and the load distribution matrix, the satisfaction of each task requirement from the perspective of robot k is calculated; according to the task time matrix and the winning robot matrix, the start time of each task from the perspective of robot k is calculated; robot i compares the task allocation information with robot k, and according to the preset update rules, if in each round of bidding, the robot that meets the requirements of task j wins first and obtains the execution right of task j; if no robot meets the task requirement, the robot with the smallest requirement of the current task j wins; if all robots believe that the requirements of task j have been met, the robot with the smallest start time wins; in the next task package construction process, robot i will update the winning robot matrix X i , the required load value R i , the load value matrix M that meets the load requirements i , start time τ i 、Task Package B i , and task execution path p i Update i to update.

[0108] In one embodiment, the preset update rule in the conflict resolution module is:

[0109] If s ij <s kj When t iji=-1 , t ijk=-1 .

[0110] If τ ij<τ kj When t iji=-1 , t ijk=[0,∞) .

[0111] If τ ij =τ kj , m ij ≥m kj When t iji=-1 , t ijk=[0,∞) .

[0112] If τ ij >τ kj ,s ij <s kj When t iji=[0,∞) , t ijk=-1 .

[0113] If τ ij =τ kj , m ij ≥m kj ,s ij <s kj When t iji=[0,∞) , t ijk=-1 .

[0114] If τ ij >τ kj When t iji=[0,∞) , t ijk=[0,∞) .

[0115] If τ ij =τ kj , m ij ≥m kj When t iji=[0,∞) , t ijk=[0,∞) .

[0116] Among them, s ij The time to update task j for robot i, s ij Update time of task j for robot k, t iji is the time it takes for robot i to reach task j, t ijk is the time when robot i thinks robot k will arrive at task j, τ ij is the start time of robot i to perform task j; τ kj is the start time of robot k to perform task j, m ij is the load value that robot i thinks is needed to meet the load requirement of task j, m kj is the load value that robot k believes is needed to meet the load requirement of task j.

[0117] In one embodiment, the calculation formula for satisfying the requirements of each task from the perspective of robot k in the conflict resolution module is shown in formula (6); the calculation formula for calculating the start time of each task from the perspective of robot k is shown in formula (7).

[0118] In one embodiment, the final task allocation scheme takes the fastest average task start time as the optimization target, and the expression of the optimization problem is shown in formula (8) to formula (13).

[0119] In one embodiment, the load distribution matrix in the conflict resolution module is obtained by an effective load average distribution method; the steps of the effective load average distribution method include: setting the initial value of each element in the load distribution matrix to 0; determining r' according to the winning robot matrix of robot i and the remaining value of the effective load i , where r' i is the task load requirement after robot i joins; when r' i When r' is not greater than the load demand of task j from the perspective of robot i, the load distribution matrix is ​​equal to the remaining value of the effective load of robot i; when r' i When the load demand of task j from the perspective of robot i is less than the load demand of task j from the perspective of robot i, then when the load demand of task j from the perspective of robot i is greater than 0, the minimum load distribution value is calculated using formula (14): .

[0120] if , then the value of the load that robot i believes robot k needs to perform task j is updated to r ii , update the load requirement of task j from the current perspective of robot i to the load requirement of task j from the perspective of robot i minus r ii The value of x ijk Update to 0; otherwise, update the value of the load that robot i currently believes robot k needs to perform task j to The sum of the load that robot i believes robot k needs to perform task j is updated to the load demand for task j from the perspective of robot i minus value; if the load demand of task j from the perspective of robot i is greater than 0, the load distribution matrix continues to be updated until the load demand of task j from the perspective of robot i is not greater than 0, and the final load distribution matrix is ​​obtained.

[0121] For the specific definition of the multi-robot task allocation device based on load consistency, please refer to the definition of the multi-robot task allocation method based on load consistency in the above text, which will not be repeated here. Each module in the above-mentioned multi-robot task allocation device based on load consistency can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0122] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0123] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be construed as limiting the scope of the present application. It should be noted that, for a person of ordinary skill in the art, several modifications and improvements may be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A multi-robot task allocation method based on load consistency, characterized in that: The method is used to allocate a number of multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads; the method includes: a task package construction phase and a conflict resolution phase, the two phases are performed alternately to form an iterative process, until a preset end condition is met, then the task package construction and conflict resolution are stopped to obtain a final task allocation plan; Among them, in the task package construction stage: each robot builds a task package according to the task requirements and its own capabilities; the task package construction process is carried out synchronously in each robot; in the conflict resolution stage: the conflict resolution process runs independently on each robot, and the robots share the task time matrix, load distribution matrix and timestamp information with each other. If there is a task conflict, it is resolved through priority rules, negotiation or external arbitration.

2. The method according to claim 1, characterized in that Each robot builds a task package based on the task requirements and its own capabilities, including: During the task package construction process of robot i, robot i updates its own winner list according to the minimum task time matrix and removes tasks that lose bidding due to task weight; where i is the change of the robot, i is an integer greater than 0 and less than the total number of robots; Robot i bids for tasks that match its own capabilities, selects the task with the smallest incremental marginal cost and adds it to the task package; and inserts task j into the task execution path of robot i, taking the insertion position with the smallest incremental increment; The process of constructing the task package of robot i continues until there are no unassigned tasks or the robots are exhausted, and the task package of robot i is obtained.

3. The method according to claim 2, characterized in that The calculation expression of the marginal cost added value of task j is: Among them, C ij represents the marginal cost added by robot i in performing task j, S i (p i ) indicates that robot i follows task path p i The marginal cost of performing the task, Indicates inserting task j into p i The nth position in the task, c represents the cost when the robot cannot meet the task requirements, r ij represents the remaining load of robot i for task j, is the load value required for task j; The marginal cost of robot i is: in, and They represent the a load value and b load value that robot i thinks are needed to meet the load requirement of task j. At the same time, α and β represent the weights of a load and b load requirements, which are used to distinguish the priorities of different loads. iji is the time it takes for robot i to reach task j; x ijk is the element of the winning robot matrix of robot i; N t Indicates the total number of tasks; Robot i arrives at p i The time for the kth task in is: Among them, t i,pik,i Indicates that robot i reaches p i The time for the kth task in i,pi,k-1 Indicates that robot i reaches p i The time of the k-1th task in v i represents the speed of robot i, δ pi,k-1 Indicates p i The execution time of the k-1th task in , d pi,k-1,pik Indicates p i The distance between the k-1th task and the kth task, d i,pik Represents robots i and p i The distance between the kth tasks in .

4. The method according to claim 1, characterized in that: The conflict resolution process runs independently on each robot. The robots share the task time matrix, load distribution matrix and timestamp information. If there is a task conflict, it is resolved through priority rules, negotiation or external arbitration, including: The conflict resolution process runs independently on each robot, and the robots share the task time matrix, load distribution matrix and timestamp information with each other; According to the load requirement of the task and the load distribution matrix, the satisfaction of each task requirement from the robot k perspective is calculated; Calculate the start time of each task from the perspective of robot k according to the task time matrix and the winning robot matrix; Robot i compares the task allocation information with that of robot k. According to the preset update rules, if in each round of bidding, the robot that meets the requirements of task j wins first and obtains the execution right of task j; if no robot meets the task requirements, the robot with the smallest current task j requirement wins; If all robots believe that the requirements of task j have been met, the robot with the smallest start time wins; In the next task package construction process, robot i will calculate the winning robot matrix X i , the required load value R i , the load value matrix M that meets the load requirements i , start time τ i 、Task Package B i , and task execution path p i to update.

5. The method according to claim 4, characterized in that The default update rules are: If s ij <s kj When t iji=-1 , t ijk=-1 ; If τ ij <τ kj When t iji=-1 , t ijk=[0,∞) ; If τ ij =τ kj , m ij ≥m kj When t iji=-1 , t ijk=[0,∞) ; If τ ij >τ kj ,s ij <s kj When t iji=[0,∞) , t ijk=-1 ; If τ ij =τ kj , m ij ≥m kj ,s ij <s kj When t iji=[0,∞) , t ijk=-1 ; If τ ij >τ kj When t iji=[0,∞) , t ijk=[0,∞) ; If τ ij =τ kj , m ij ≥m kj When t iji=[0,∞) , t ijk=[0,∞) ; Among them, s ij The time to update task j for robot i, s ij Update time of task j for robot k, t iji is the time it takes for robot i to reach task j, t ijk is the time when robot i thinks robot k will arrive at task j, τ ij is the start time of robot i to perform task j; τ kj is the start time of robot k to perform task j, m ij is the load value that robot i thinks is needed to meet the load requirement of task j, m kj is the load value that robot k believes is needed to meet the load requirement of task j.

6. The method according to claim 4, characterized in that The calculation formula for satisfying each task requirement from the perspective of robot k is: Among them, m ij is the load value that robot i thinks is needed to meet the load requirement of task j, N t Indicates the total number of tasks, represents the load requirement of task j from the perspective of robot i, l ijk represents the load requirement that robot i considers for robot k to perform task j; The formula for calculating the start time of each task from the robot k's perspective is: Among them, t ijk is the time when robot i thinks robot k will arrive at task j, t ijk is the time when robot i thinks robot k will arrive at task j, x ijk is the element of the winning robot matrix of robot i, x ijk =1 means robot i thinks robot k performs task j, l a ijk is the value of load a that robot i believes robot k needs to perform task j, is the value of load a required for task j, l b ijk is the value of load b that robot i believes robot k needs to perform task j, is the value of load b required for task j, N t Indicates the total number of tasks.

7. The method according to claim 1, characterized in that The final task allocation scheme takes the fastest average task start time as the optimization goal, and the expression of the optimization problem is: Among them, τ j is the start time of human machine j, l a ijk is the value of load a that robot i believes robot k needs to perform task j, is the value of load a required for task j, l b ijk is the value of load b that robot i believes robot k needs to perform task j, is the value of load b required for task j, N t Represents the total number of tasks, N r Represents the total number of robots, represents the value of the load b assigned to robot k, represents the value of the load a assigned to robot k, J is the task set, I is the robot set, L a i , L a k represents the load allocation matrix describing the load a of UAV i and UAV k during the task allocation process. b i , L b represents the load allocation matrix describing the load b between UAV i and UAV k during the task allocation process.

8. The method according to claim 1, characterized in that The load distribution matrix is ​​obtained by averaging the effective load; The steps of the payload equalization method include: Set the initial value of each element in the load distribution matrix to 0; Determine r' based on the winning robot matrix and the remaining value of the payload for robot i i , where r' i The task load requirement after robot i joins; When r' i When it is not greater than the load demand of task j from the perspective of robot i, the load distribution matrix is ​​equal to the remaining value of the effective load of robot i; When r' i When the load demand of task j from the perspective of robot i is greater than 0, the minimum load distribution value is calculated. for: in, Assign a value to the minimum load, is the load requirement of task j from the perspective of robot i. The len function is used to calculate the number of robots that perform task j. ijk is the element of the winning robot matrix; if Then the value of the load that robot i believes robot k needs to perform task j is updated to r ii , update the load requirement of task j from the current perspective of robot i to the load requirement of task j from the perspective of robot i minus r ii The value of x ijk Update to 0; otherwise, update the value of the load that robot i currently believes robot k needs to perform task j to The sum of the load that robot i believes robot k needs to perform task j is updated to the load demand for task j from the perspective of robot i minus The value of If the load demand of task j from the perspective of robot i is greater than 0, the load distribution matrix will continue to be updated until the load demand of task j from the perspective of robot i is not greater than 0, and the final load distribution matrix will be obtained.

9. A multi-robot task allocation device based on load consistency, characterized in that: The device is used to allocate a number of multi-robot tasks with known positions and requirements to a heterogeneous multi-robot system carrying different task loads; the device comprises: a task package construction module and a conflict resolution module, the two modules are performed alternately to form an iterative process, until a preset end condition is met, then the task package construction and conflict resolution are stopped to obtain a final task allocation plan; The task package building module is used for each robot to build a task package according to the task requirements and its own capabilities; the task package building process is carried out synchronously in each robot; The conflict resolution module is used to run the conflict resolution process independently on each robot. The robots share the task time matrix, load distribution matrix and timestamp information with each other. If there is a task conflict, it is resolved through priority rules, negotiation or external arbitration.

Citation Information

Patent Citations

  • Multi-robot task allocation method based on consistency packet algorithm

    CN114089755A

  • Unmanned aerial vehicle cooperative dynamic task allocation method based on extended consistency packet algorithm

    CN116610144A

  • Multi-robot dynamic task allocation method based on dynamic consistency packet algorithm

    CN118068693A

Cited By

  • Urban confrontation-oriented task allocation and path planning method and system

    CN119861735A

  • A Task Allocation and Path Planning Method and System for Urban Combat

    CN119861735B

  • Robot cluster deployment method and system, electronic equipment and medium

    CN120525230A