Task allocation method, system and equipment for multi-robot cooperation and storage medium
By calculating the base time, predicting the waiting time, and the system correction cost, and dynamically adjusting the weight values, the system achieves the global optimal allocation of tasks in a multi-robot collaborative system. This solves the problem of low assembly efficiency in existing technologies and improves the efficiency and intelligence of task allocation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-19
- Publication Date
- 2026-04-14
AI Technical Summary
Existing multi-robot collaborative systems cannot dynamically allocate assembly processes based on information such as robot position and working status, resulting in low assembly efficiency.
By acquiring the unassigned handling and assembly tasks in the assembly process and the current state of the robot, the basic time cost, predicted waiting time cost, and system correction cost are calculated to construct a total cost matrix. The weight values are then dynamically adjusted to achieve the globally optimal allocation of robot tasks.
It improves the efficiency and intelligence of multi-robot collaborative task allocation, avoids the time waste caused by the sequential execution of a single robot, and ensures the stability and accuracy of allocation and prediction.
Smart Images

Figure CN121860286A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of industrial automation technology, and in particular to a method for task allocation in multi-robot collaboration. Background Technology
[0002] With the rapid development of technology, robotics has permeated numerous fields. However, single robots often have limitations when facing complex tasks and changing environments. For example, in industrial production, a single robot may not be able to handle large, heavy objects, or it may be inefficient when processing multiple tasks. Multi-robot collaborative systems, on the other hand, can leverage the strengths of multiple robots working together to achieve more efficient and intelligent task execution, and are widely used in various fields.
[0003] In industrial automation, multi-robot collaboration enables coordinated operations on production lines, improving efficiency and quality, and completing complex tasks such as assembling large components and handling materials. In aerospace, multi-robot collaboration can be used for complex and dangerous tasks such as space exploration and satellite maintenance, reducing risks for astronauts. In disaster relief, multi-robot collaborative systems can collaboratively complete search and rescue, and material handling tasks. In complex disaster environments, the cooperation of multiple robots enables faster and more accurate location and rescue of survivors. In logistics and warehousing, multi-robot collaboration enables efficient handling and storage of goods, improving logistics operational efficiency.
[0004] In multi-robot collaborative assembly, existing multi-robot collaboration usually adopts a completely mutually exclusive allocation scheme between different robots, with a single robot sequentially executing multiple assembly processes. It is impossible to dynamically allocate robots to complete the corresponding assembly processes based on information such as the current robot position and working status, resulting in low assembly efficiency. Summary of the Invention
[0005] The technical problem to be solved by this disclosure is to overcome the shortcomings of the prior art, which cannot dynamically allocate robots to complete corresponding assembly processes based on information such as the current position and working status of the robots, resulting in low assembly efficiency, and to provide a task allocation method for multi-robot collaboration.
[0006] This disclosure solves the above-mentioned technical problems through the following technical solution:
[0007] According to a first aspect of this disclosure, a task allocation method for multi-robot collaboration is provided, the task allocation method comprising:
[0008] Obtain several unassigned handling and assembly tasks in the assembly process and the current status of each robot;
[0009] Based on the current state, determine the basic time cost, predicted waiting time cost, and system correction cost for each robot to perform each assigned handling and assembly task;
[0010] Wherein, the basic time cost represents the basic time for the robot to complete the assigned handling and assembly task; the predicted waiting time cost represents the predicted time for the assigned handling and assembly task to complete the previous assembly; and the system correction cost represents the system correction amount for the robot to execute the assigned handling and assembly task.
[0011] Based on the base time cost, the predicted waiting time cost, and the system correction cost, determine the total cost for each robot to perform each assigned handling and assembly task.
[0012] Based on the total cost, construct a total cost matrix for any robot to perform any assigned handling and assembly task, solve the total cost matrix, and assign each robot a target handling and assembly task that matches the current state.
[0013] Optionally, the step of determining the total cost for each robot to perform each assigned handling and assembly task based on the base time cost, the predicted waiting time cost, and the system correction cost includes:
[0014] The contribution factors and confidence levels corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are obtained respectively, and the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are determined respectively.
[0015] The total cost is determined based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values.
[0016] Optionally, the step of determining the total cost based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values includes:
[0017] Based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values, determine the revenue values corresponding to the base time cost, the predicted waiting time cost, and the system correction cost, respectively.
[0018] The revenue value is used to characterize the competing revenue among the base time cost, the predicted waiting time cost, and the system correction cost.
[0019] Based on the revenue value, the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are dynamically adjusted until a Nash equilibrium is reached, thereby obtaining the second weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost.
[0020] The total cost is determined based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding second weight values.
[0021] Optionally, the step of determining the revenue values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost based on the basic time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values includes:
[0022] Obtain a predetermined baseline cost, and calculate the relative cost change rate of the time cost, the predicted waiting time cost, the system correction cost, and the baseline cost.
[0023] Based on the preset correction coefficient and the relative cost change rate, the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are iteratively corrected to obtain the third weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost, respectively.
[0024] Based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding third weight values, the revenue values corresponding to the base time cost, the predicted waiting time cost, and the system correction cost are determined respectively.
[0025] Optionally, the revenue values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are calculated using the following formulas:
[0026] ;
[0027] in, This represents the revenue value corresponding to the k-th cost, where k corresponds to the base time cost, the preset waiting time cost, or the system correction cost. This represents the third weight value corresponding to the k-th cost. This represents the confidence level corresponding to the k-th cost. Represents the competition coefficient. This represents the degree of overlap between the decision-making processes for the m-th cost and the k-th cost.
[0028] Optionally, the total cost is calculated using the following formula:
[0029] ;
[0030] in, This represents the total cost corresponding to robot i performing the assigned handling and assembly task j. This represents the third weight value corresponding to the base time cost. This represents the third weight value corresponding to the predicted waiting time cost. This represents the third weight value corresponding to the system correction cost. This represents the idle time of robot i during the execution of the assigned handling and assembly task j. This represents the idle speed of robot i. This represents the load handling time for robot i to perform the assigned handling and assembly task j. This represents the assembly time for robot i to perform the assigned handling and assembly task j. This variable indicates a toggle between enabling predictive wait time and enabling regularized wait time. This represents the predicted waiting time for robot i to execute the assigned handling and assembly task j. This indicates the preset waiting time according to the rules. The prediction confidence level represents the predicted waiting time, x represents the allocation strategy for assigning robot i to execute the assigned handling and assembly task j, and S represents the current system state. This represents the adjustment amount of the allocation strategy under the current system state. 0-1 represents the adjustment variable, exp() represents the exponential function with the natural constant e as the base, and ln() represents the logarithmic function with the natural constant e as the base.
[0031] According to a second aspect of this disclosure, a task allocation system for multi-robot collaboration is provided, the task allocation system including an acquisition module, a determination module and an allocation module;
[0032] The acquisition module is used to acquire several unassigned handling and assembly tasks in the assembly process and the current status of each robot.
[0033] The determining module is used to determine, based on the current state, the basic time cost, the predicted waiting time cost, and the system correction cost corresponding to each robot performing each assigned handling and assembly task.
[0034] Wherein, the basic time cost represents the basic time for the robot to complete the assigned handling and assembly task; the predicted waiting time cost represents the predicted time for the assigned handling and assembly task to complete the previous assembly; and the system correction cost represents the system correction amount for the robot to execute the assigned handling and assembly task.
[0035] The determining module is further configured to determine the total cost for each robot to perform each assigned handling and assembly task based on the base time cost, the predicted waiting time cost, and the system correction cost.
[0036] The allocation module is used to construct a total cost matrix for any robot to perform any assigned handling and assembly task based on the total cost, solve the total cost matrix, and allocate a target handling and assembly task to each robot that matches the current state.
[0037] According to a third aspect of this disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and for running on the processor, wherein the processor executes the computer program to implement the multi-robot collaborative task allocation method described in the first aspect of this disclosure.
[0038] According to a fourth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the multi-robot collaborative task allocation method described in the first aspect of this disclosure.
[0039] According to a fifth aspect of this disclosure, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the multi-robot collaborative task allocation method described in the first aspect of this disclosure.
[0040] Based on common knowledge in the field, the above-mentioned preferred conditions can be combined arbitrarily to obtain various preferred embodiments of this disclosure.
[0041] The positive and progressive effects of this disclosure are as follows: Based on the real-time status of each robot, the basic time cost, predicted waiting time cost, and system correction cost corresponding to each robot performing each assigned handling and assembly task are determined. The weight values of each cost are dynamically determined through real-time confidence and contribution factors, resulting in the total cost of each robot performing each assigned handling and assembly task. Based on the total cost, the globally optimal task assignment of different robots is achieved, thereby enabling adaptive dynamic adjustment according to the current scenario, ensuring allocation stability, prediction accuracy, and rapid response to interference. Furthermore, no manual priority setting is required, effectively improving the efficiency and intelligence of multi-robot collaborative task allocation and avoiding the time waste caused by a single robot sequentially executing assembly processes. Attached Figure Description
[0042] Figure 1 This is a flowchart of the task allocation method for multi-robot collaboration in Embodiment 1 of this disclosure;
[0043] Figure 2 This is a schematic diagram of a scenario involving multiple robots collaborating.
[0044] Figure 3 This is a flowchart of step S32 of the multi-robot collaborative task allocation method in Embodiment 1 of this disclosure;
[0045] Figure 4 This is a schematic diagram of the multi-robot collaborative task allocation system module in Embodiment 2 of this disclosure;
[0046] Figure 5 This is a schematic diagram of the structure of an electronic device according to Embodiment 3 of this disclosure. Detailed Implementation
[0047] The present disclosure is further illustrated below by way of embodiments, but the present disclosure is not limited to the scope of the embodiments described herein.
[0048] The prefixes such as "first" and "second" used in this disclosure are merely for distinguishing different descriptive objects and do not limit the position, order, priority, quantity, or content of the described objects. The use of ordinal numbers and other prefixes used to distinguish descriptive objects in this disclosure does not constitute a limitation on the described objects. The description of the described objects is given in the claims or the context of the embodiments, and should not be construed as an unnecessary limitation. Furthermore, in the description of this embodiment, unless otherwise stated, "multiple" means two or more.
[0049] Example 1
[0050] In a specific embodiment of this disclosure, a task allocation method for multi-robot collaboration is provided, such as... Figure 1 As shown, the task allocation method includes:
[0051] S1. Obtain several unassigned handling and assembly tasks in the assembly process and the current status of each robot;
[0052] S2. Based on the current state, determine the basic time cost, predicted waiting time cost, and system correction cost for each robot to perform each assigned handling and assembly task;
[0053] Among them, the basic time cost represents the basic time for the robot to complete the assigned handling and assembly task; the predicted waiting time cost represents the predicted time for the robot to wait for the assigned handling and assembly task to complete the previous assembly; and the system correction cost represents the amount of system correction required for the robot to execute the assigned handling and assembly task.
[0054] S3. Based on the base time cost, the predicted waiting time cost, and the system correction cost, determine the total cost for each robot to perform each assigned handling and assembly task;
[0055] S4. Based on the total cost, construct the total cost matrix for any robot to perform any assigned handling and assembly task, solve the total cost matrix, and assign each robot a target handling and assembly task that matches the current state.
[0056] Specifically, the assembly process typically includes multiple handling and assembly tasks, such as parts handling, parts assembly, and final transport of the assembled parts. For example, ... Figure 2 As shown, the rotating parts assembly process includes: 1- The transport robot places rotating part A into the installation platform; 2- The transport robot places rotating part B into the installation platform; 3- After the installation robot assembles A and B into a component, the transport robot moves the assembled component into the testing platform; 4- After testing is completed, the assembled component is moved into the qualified or unqualified conveyor belt according to the test results. Assuming there are three transport robots involved in the rotating parts assembly process, three different transport tasks need to be assigned to the three robots: ① Transporting the rotating part from its initial position and placing it into the installation platform; ② Transporting the assembled component from the installation platform and placing it into the testing platform; ③ Transporting the assembled component from the testing platform and placing it into the corresponding conveyor belt.
[0057] Before assigning tasks in the assembly process, step S1 is used to obtain the unassigned handling and assembly tasks and the current status of each robot in the assembly process. For example, the position of each handling robot, the installation status of the installation robot, the status of rotating parts and components on the installation platform, the status of the test platform, and the status of the two conveyor belts are monitored in real time through a global camera, and the monitoring data is transmitted to the control computer for data processing.
[0058] Next, in step S2, the basic time cost, predicted waiting time cost, and system correction cost for each robot to perform each assigned handling and assembly task are determined based on the current state of each robot.
[0059] Basic time cost represents the basic time required for a robot to complete an assigned transport and assembly task, including the idle travel time of robot i from its current position to the starting point of the assigned transport and assembly task j, and the load movement time of the robot performing the assigned transport and assembly task. The fixed operation time for the robot to perform assigned handling and assembly tasks. (e.g., the time consumed by preset processes such as placing parts and confirming completion). Idle time can be calculated based on the time it takes for robot i to travel from its current position to the starting point of the assigned handling and assembly task j. And the predicted empty speed of robot i Confirm the idle speed of robot i. Influenced by factors such as path obstacles and the robot system state, prediction can be made through supervised learning, thus the basic time cost is... .
[0060] The predicted waiting time cost characterizes the predicted time for robot i to wait for the assigned transport and assembly task j to complete its previous assembly. This predicted time includes the predicted waiting time. and standardized waiting time Predicted waiting time The prediction can be obtained through supervised learning, and the prediction waiting time can be adjusted based on the prediction confidence level. Simultaneously, the decision to enable the prediction waiting time is based on the prediction confidence level. Therefore, the prediction waiting time cost is... Among them, when the prediction confidence level A larger value indicates that the difference between the predicted waiting time and the actual waiting time is very small, therefore, the setting should be adjusted accordingly. Enable predicted latency to determine the predicted latency cost; otherwise, set... Determine the activation of rule-based waiting time to predict waiting time costs.
[0061] System correction cost characterizes the system correction amount for a robot performing assigned handling and assembly tasks. This system correction amount can be obtained through a reinforcement learning agent. The system correction cost is determined in real time based on the actual status of the assembly process (such as robot position, equipment failure, task progress, etc.). For example, if robot i is currently in a fault state, and the current strategy x is for robot i to execute the assigned handling and assembly task j, then the system needs to be corrected and the settings changed. If the current policy is corrected by reinforcement learning, then reinforcement learning will be performed; otherwise, it means that the current policy can be executed and no reinforcement learning correction is needed.
[0062] After obtaining the basic time cost, predicted waiting time cost, and system correction cost for each robot performing each assigned handling and assembly task, step S3 determines the total cost C for each robot performing each assigned handling and assembly task. For example, the basic time cost, predicted waiting time cost, and system correction cost for robot i performing assigned handling and assembly task j are summed up to obtain the total cost for robot i performing assigned handling and assembly task j. .
[0063] Then, in step S4, construct the total cost matrix for any robot to perform any assigned handling and assembly task. By solving the task allocation cost matrix, the target handling and assembly task matching the current state for each robot can be obtained. For example, the optimal target handling and assembly task for each robot can be obtained by solving the task allocation cost matrix using the Hungarian algorithm.
[0064] This specific implementation determines the basic time cost, predicted waiting time cost, and system correction cost for each robot to execute each assigned handling and assembly task based on the real-time status of each robot, thereby obtaining the total cost for each robot to execute each assigned handling and assembly task. Based on the total cost, the global optimal task assignment for different robots is achieved, which can effectively improve the efficiency and intelligence of multi-robot collaborative task allocation and avoid the time waste caused by a single robot sequentially executing assembly processes.
[0065] In one specific implementation, step S3 includes:
[0066] S31. Obtain the contribution factors and confidence levels corresponding to the basic time cost, predicted waiting time cost, and system correction cost respectively, and determine the first weight values corresponding to the basic time cost, predicted waiting time cost, and system correction cost respectively.
[0067] S32. Determine the total cost based on the basic time cost, the predicted waiting time cost, the system correction cost, and their respective first weight values.
[0068] Specifically, the contribution factor corresponding to the k-th cost. It can be a preset initial value, such as the contribution factor corresponding to the base time cost. The initial value is preset to 0.3, which is the contribution factor corresponding to the predicted waiting time cost. The initial value is preset to 0.35, which is the contribution factor corresponding to the system correction cost. The default initial value is 0.35. Confidence level. It is the real-time confidence level of the k-th cost, used to measure the reliability of each cost.
[0069] Among them, the confidence level of the basic time cost It can be determined based on the cost variance corresponding to the allocation strategy determined each time according to the basic time cost. The smaller the variance, The closer the value is to 1, the more stable the allocation result, indicating that determining the allocation strategy based on the basic time cost is more reliable; for example, if the total cost fluctuation of multiple consecutive allocation strategies is small (variance = 5%), then... A value close to 1 indicates a high confidence level; if the fluctuation is large (variance = 30%), then... The confidence level is approximately 0.74, which decreases.
[0070] Confidence level in predicting waiting time costs The prediction confidence level corresponding to supervised learning can be directly used. , The smaller the prediction error, The closer to 1, the better. For example, if the predicted waiting time deviates from the actual waiting time by only 2%, then... This indicates a high confidence level; if the deviation reaches 30%, then... The confidence level decreases.
[0071] Confidence level of system correction costs It can be directly based on the maximum action value of reinforcement learning. It is confirmed that the Sigmoid function maps the result to the 0~1 range: , The larger, The closer to 1, the higher the confidence level; among them, This indicates that the current allocation plan yields the greatest expected return.
[0072] After obtaining the contribution factor and confidence level corresponding to each cost, the first weight value corresponding to each cost can be calculated using formula (1). :
[0073] (1)
[0074] in, This represents the first weight value corresponding to the k-th cost, where k corresponds to the base time cost, the preset waiting time cost, or the system correction cost. This represents the contribution factor corresponding to the m-th cost. The sum of the products of the contribution factors and confidence scores for the base time cost, the preset waiting time cost, and the system correction cost is used to normalize the weights, ensuring... .
[0075] Then, the total cost for each robot to perform each assigned handling and assembly task can be determined based on each cost and its corresponding first weight value.
[0076] In one specific implementation, such as Figure 3 As shown, step S32 includes:
[0077] S321. Based on the basic time cost, the predicted waiting time cost, the system correction cost, and their respective first weight values, determine the revenue values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost, respectively.
[0078] Among them, the revenue value is used to characterize the competing revenue among the base time cost, the predicted waiting time cost, and the system correction cost;
[0079] S322. Based on the revenue value, dynamically adjust the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost respectively until Nash equilibrium is reached, and obtain the second weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost respectively.
[0080] S323. Determine the total cost based on the basic time cost, the predicted waiting time cost, the system correction cost, and the corresponding second weight values.
[0081] Specifically, the basic time cost, the predicted waiting time cost, and the system correction cost can be regarded as game participants. The weights can be dynamically adjusted by maximizing the payoff to achieve Nash equilibrium. The payoff value corresponding to each cost can be calculated by formula (2):
[0082] (2)
[0083] in, This represents the revenue value corresponding to the k-th cost, used to measure its overall value in the current allocation strategy, in order to balance its own contribution with its interference with other costs. k corresponds to the base time cost, the preset waiting time cost, or the system correction cost. This represents the first weight value corresponding to the k-th cost. This represents the confidence level corresponding to the k-th cost. This demonstrates the value of its inherent reliability to the allocation strategy. This indicates the overlap between the allocation strategies of the m-th cost and the k-th cost. The higher the value, the more conflicting the allocation strategies of the two for the same task (for example, the allocation strategy determined by the basic time cost is that robot A performs task a, while the allocation strategy determined by the predicted waiting time cost is that robot B performs task a). This represents a competition coefficient used to balance cooperation and competition among multiple robots (e.g., ).
[0084] In determining the allocation strategy for each round, the second weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are obtained by solving formula (3) to achieve Nash equilibrium:
[0085] (3)
[0086] in, This represents the second weight value corresponding to the k-th cost, and argmax() represents the function that evaluates the parameters of the function. This represents the first weight value corresponding to the k-th cost.
[0087] If the revenue value of the kth cost Elevation, such as Increase, or If the value decreases, then the second weight value of the k-th cost will be... The cost will automatically increase or decrease, thus enabling dynamic adjustments to adapt to the scenario. Determining the total cost for each robot to perform each assigned handling and assembly task based on each cost and its corresponding second weight value further ensures the reliability of the total cost calculation.
[0088] In one specific embodiment, step S321 includes:
[0089] S3211. Obtain the predetermined baseline cost, and calculate the relative cost change rate between the time cost, the predicted waiting time cost, the system correction cost, and the baseline cost.
[0090] S3212. Based on the preset correction coefficient and the relative cost change rate, the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are iteratively corrected to obtain the third weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost, respectively.
[0091] S3213. Based on the basic time cost, the predicted waiting time cost, the system correction cost, and the corresponding third weight values, determine the revenue values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost, respectively.
[0092] Specifically, to ensure that the task allocation of multiple robots can dynamically meet the current actual scenario, the current contribution factor can be iteratively optimized using formula (4) based on the historical allocation strategy of each cost:
[0093] (4)
[0094] in, This represents the contribution factor corresponding to the k-th cost type after optimization. This indicates the preset correction factor. It can be initially set to 0.01, and then adjusted according to the actual results. This represents the rate of change of the k-th cost relative to the benchmark cost.
[0095] It can be calculated using formula (5):
[0096] (5)
[0097] in, This represents the reduction in total cost relative to the baseline cost when only the k-th cost allocation strategy is used; in other words, it represents the cost optimization value generated solely based on the k-th cost allocation strategy. This represents the baseline cost when no cost-determining allocation strategy is adopted. This baseline cost can be the cost measured over a period of normal operation after some human optimization. For example, if 3 robots handle 4 tasks, and the allocation strategy is that robot R1 handles task T1, robot R2 handles task T2, robot R3 handles task T3, and task T4 waits for robot R1 to become idle before execution, the total time is 150 seconds. .
[0098] The contribution factor corresponding to the optimized k-th cost is obtained through formula (4). Then, you can Substitute into formula (1) to obtain the corrected third weight value and the revenue value corresponding to each cost. Then, based on the revenue value, dynamically adjust the third weight value to obtain the second weight value, so as to determine the total cost.
[0099] In one specific implementation, the total cost is calculated using formula (6):
[0100] (6)
[0101] in, This represents the total cost corresponding to robot i performing the assigned handling and assembly task j. This represents the second weight value corresponding to the base time cost. This represents the second weight value corresponding to the predicted waiting time cost. This represents the second weight value corresponding to the system correction cost. This represents the idle time of robot i during the execution of the assigned handling and assembly task j. This represents the idle speed of robot i. This represents the load handling time for robot i to perform the assigned handling and assembly task j. This represents the assembly time for robot i to perform the assigned handling and assembly task j. This variable indicates a toggle between enabling predictive wait time and enabling regularized wait time. This represents the predicted waiting time for robot i to execute the assigned handling and assembly task j. This indicates the preset waiting time according to the rules. The prediction confidence level represents the predicted waiting time, x represents the allocation strategy for assigning robot i to execute the assigned handling and assembly task j, and S represents the current system state. This represents the adjustment amount of the allocation strategy under the current system state. The system adjustment variable is denoted as 0-1. `exp()` represents the exponential function with base e, and `ln()` represents the logarithmic function with base e. It should be noted that the system adjustment cost is increased by 1 to ensure that the `ln()` function is meaningful.
[0102] The total cost calculated through logarithmic-exponential transformation can amplify the influence of a high-confidence cost by exponentially increasing its impact, thus reflecting a strategy where costs with high reliability receive higher weights in the overall total cost allocation.
[0103] In a specific example, there are two robots R1 and R2 and three handling and assembly tasks T1, T2, and T3 to be assigned. Assume that the idle speed of robot R1 is... (m / s), the idle speed of robot R2 The predicted waiting time for robot R1 to perform the assigned handling and assembly task T1. The predicted waiting time for robot R2 to perform the assigned handling and assembly task T2. The prediction confidence of the predicted waiting time for robot R1 to perform the assigned handling and assembly task T1. The prediction confidence of the predicted waiting time for robot R2 to perform the assigned handling and assembly task T2. The distances that robots R1 and R2 travel empty to reach their respective assigned handling and assembly tasks are respectively , , , , , The load handling time is 2 seconds and the assembly time is 3 seconds.
[0104] The basic time costs for robot R1 to execute the assigned handling and assembly tasks T1, T2, and T3 are respectively , , Approximately equal to 10, 11.67, and 13.33; the basic time costs for robot R2 to execute assigned handling and assembly tasks T1, T2, and T3 are respectively , , , approximately equal to 9.67, 8.33, 11.
[0105] If the variance of the base time cost is 10%, then the confidence level of the base time cost is... Confidence level of predicted waiting time cost Take the average: System correction costs in the absence of interference The confidence level of the system correction cost. .
[0106] Let the initial values of the contribution factors corresponding to the base time cost, the preset waiting time cost, and the system correction cost be respectively... , , (This can be updated iteratively based on historical allocation strategies), then , , , .
[0107] Assuming predictive waiting time is enabled The current system status is normal. (If there is subsequent interference, such as a fault in R2, then) (This will be dynamically adjusted), then the total cost corresponding to robot R1 executing the assigned handling and assembly task T1 is... The total cost corresponding to robot R2 performing the assigned handling and assembly task T2. And so on, to obtain the total cost matrix. .
[0108] The Hungarian algorithm, through row and column reduction and augmented path search, outputs the optimal allocation strategy as follows: robot R1 executes the assigned handling and assembly task T1, and robot R2 executes the assigned handling and assembly task T2. The Hungarian algorithm is a mature existing algorithm, and will not be elaborated further in this specific embodiment.
[0109] This embodiment determines the basic time cost, predicted waiting time cost, and system correction cost for each robot to execute each assigned handling and assembly task based on the real-time status of each robot. It also dynamically determines the weight value of each cost through real-time confidence and contribution factors to obtain the total cost for each robot to execute each assigned handling and assembly task. Based on the total cost, it achieves the globally optimal task assignment for different robots, thereby adaptively adjusting according to the current scenario to ensure allocation stability, prediction accuracy, and rapid response to interference. Moreover, it does not require manual priority setting, effectively improving the efficiency and intelligence of multi-robot collaborative task allocation and avoiding the time waste caused by a single robot sequentially executing assembly processes.
[0110] Example 2
[0111] In one specific embodiment of this disclosure, a task allocation system for multi-robot collaboration is provided, such as... Figure 4 As shown, the task allocation system includes an acquisition module 100, a determination module 200, and an allocation module 300.
[0112] The acquisition module 100 is used to acquire several unassigned handling and assembly tasks in the assembly process and the current status of each robot;
[0113] The determination module 200 is used to determine the basic time cost, predicted waiting time cost, and system correction cost for each robot to perform each assigned handling and assembly task based on the current state.
[0114] Among them, the basic time cost represents the basic time for the robot to complete the assigned handling and assembly task; the predicted waiting time cost represents the predicted time for the robot to wait for the assigned handling and assembly task to complete the previous assembly; and the system correction cost represents the amount of system correction required for the robot to execute the assigned handling and assembly task.
[0115] The determination module 200 is also used to determine the total cost for each robot to perform each assigned handling and assembly task based on the base time cost, the predicted waiting time cost, and the system correction cost.
[0116] The allocation module 300 is used to construct a total cost matrix for any robot to perform any assigned handling and assembly task based on the total cost, solve the total cost matrix, and allocate each robot to a target handling and assembly task that matches the current state.
[0117] In one specific embodiment, the determining module 200 includes an acquisition unit, a determining unit, and a construction unit;
[0118] The acquisition unit is used to acquire the contribution factors and confidence levels corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost, respectively, and to determine the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost.
[0119] The determining unit is used to determine the total cost based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight value.
[0120] In one specific implementation, the determining unit is further configured to determine the revenue values corresponding to the basic time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values, respectively.
[0121] Among them, the revenue value is used to characterize the competing revenue among the base time cost, the predicted waiting time cost, and the system correction cost;
[0122] The determining unit is also used to dynamically adjust the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost based on the revenue value, until a Nash equilibrium is reached, and to obtain the second weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost, respectively.
[0123] The determining unit is also used to determine the total cost based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding second weight values.
[0124] In one specific implementation, the determining unit is further configured to obtain a predetermined baseline cost and calculate the relative cost change rate of the time cost, the predicted waiting time cost, the system correction cost, and the baseline cost.
[0125] The determining unit is also used to iteratively correct the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost according to the preset correction coefficient and the relative cost change rate, so as to obtain the third weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost respectively.
[0126] The determining unit is also used to determine the revenue values corresponding to the basic time cost, the predicted waiting time cost, the system correction cost, and the corresponding third weight values, based on the basic time cost, the predicted waiting time cost, the system correction cost, and the corresponding third weight values.
[0127] In one specific implementation, the revenue values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are calculated using the following formulas:
[0128] ;
[0129] in, This represents the revenue value corresponding to the k-th cost, where k corresponds to the base time cost, the preset waiting time cost, or the system correction cost. This represents the first weight value corresponding to the k-th cost. This represents the confidence level corresponding to the k-th cost. Represents the competition coefficient. This represents the degree of overlap between the decision-making processes for the m-th cost and the k-th cost.
[0130] In one specific implementation, the total cost function is shown in the following formula:
[0131] ;
[0132] in, This represents the total cost corresponding to robot i performing the assigned handling and assembly task j. This represents the third weight value corresponding to the base time cost. This represents the third weight value corresponding to the predicted waiting time cost. This represents the third weight value corresponding to the system correction cost. This represents the idle time of robot i during the execution of the assigned handling and assembly task j. This represents the idle speed of robot i. This represents the load handling time for robot i to perform the assigned handling and assembly task j. This represents the assembly time for robot i to perform the assigned handling and assembly task j. This variable indicates a toggle between enabling predictive wait time and enabling regularized wait time. This represents the predicted waiting time for robot i to execute the assigned handling and assembly task j. This indicates the preset waiting time according to the rules. The prediction confidence level represents the predicted waiting time, x represents the allocation strategy for assigning robot i to execute the assigned handling and assembly task j, and S represents the current system state. This represents the adjustment amount of the allocation strategy under the current system state. 0-1 represents the adjustment variable, exp() represents the exponential function with the natural constant e as the base, and ln() represents the logarithmic function with the natural constant e as the base.
[0133] For the system embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this disclosure according to actual needs.
[0134] This embodiment determines the basic time cost, predicted waiting time cost, and system correction cost for each robot to execute each assigned handling and assembly task based on the real-time status of each robot. It also dynamically determines the weight value of each cost through real-time confidence and contribution factors to obtain the total cost for each robot to execute each assigned handling and assembly task. Based on the total cost, it achieves the globally optimal task assignment for different robots, thereby adaptively adjusting according to the current scenario to ensure allocation stability, prediction accuracy, and rapid response to interference. Moreover, it does not require manual priority setting, effectively improving the efficiency and intelligence of multi-robot collaborative task allocation and avoiding the time waste caused by a single robot sequentially executing assembly processes.
[0135] Example 3
[0136] Figure 5 This is a schematic diagram of the structure of an electronic device according to an example embodiment of the present disclosure. The electronic device includes a memory, a processor, and a computer program stored in the memory and used to run on the processor. When the processor executes the computer program, it implements the multi-robot collaborative task allocation method described in any of the above embodiments. Figure 5 The electronic device 30 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0137] like Figure 5As shown, the electronic device 30 can be manifested as a general-purpose computing device, such as a server device. The components of the electronic device 30 may include, but are not limited to: at least one processor 31, at least one memory 32, and a bus 33 connecting different system components (including memory 32 and processor 31).
[0138] Bus 33 includes a data bus, an address bus, and a control bus.
[0139] The memory 32 may include volatile memory, such as random access memory (RAM) 321 and / or cache memory 322, and may further include read-only memory (ROM) 323.
[0140] The memory 32 may also include a program tool 325 (or utility) having a set (at least one) program module 324, such program module 324 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0141] The processor 31 executes various functional applications and data processing by running computer programs stored in the memory 32, such as the multi-robot collaborative task allocation method provided in any of the above embodiments.
[0142] Electronic device 30 can also communicate with one or more external devices 34 (e.g., keyboard, pointing device, etc.). This communication can be performed through input / output (I / O) interface 35. Furthermore, electronic device 30 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public network, such as the Internet) via network adapter 36. As shown, network adapter 36 communicates with other modules of electronic device 30 via bus 33. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with electronic device 30, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID (disk array) systems, tape drives, and data backup storage systems.
[0143] It should be noted that although several units / modules or sub-units / modules of the electronic device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more units / modules described above can be embodied in one unit / module. Conversely, the features and functions of one unit / module described above can be further divided and embodied by multiple units / modules.
[0144] Example 4
[0145] This disclosure also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the multi-robot collaborative task allocation method provided in any of the above embodiments.
[0146] The readable storage medium may be more specifically adopted, including but not limited to: portable disk, hard disk, random access memory, read-only memory, erasable programmable read-only memory, optical storage device, magnetic storage device, or any suitable combination thereof.
[0147] Example 5
[0148] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the multi-robot collaborative task allocation method described above.
[0149] The program code for executing the computer program product of this disclosure can be written in any combination of one or more programming languages, and the program code can be executed entirely on a user device, partially on a user device, as a stand-alone software package, partially on a user device and partially on a remote device, or entirely on a remote device.
[0150] While specific embodiments of this disclosure have been described above, those skilled in the art should understand that these are merely illustrative examples, and the scope of protection of this disclosure is defined by the appended claims. Those skilled in the art can make various changes or modifications to these embodiments without departing from the principles and essence of this disclosure, but all such changes and modifications fall within the scope of protection of this disclosure.
Claims
1. A task allocation method for multi-robot collaboration, characterized in that, The task allocation method includes: Obtain several unassigned handling and assembly tasks in the assembly process and the current status of each robot; Based on the current state, determine the basic time cost, predicted waiting time cost, and system correction cost for each robot to perform each assigned handling and assembly task; Based on the base time cost, the predicted waiting time cost, and the system correction cost, determine the total cost for each robot to perform each assigned handling and assembly task. Based on the total cost, construct a total cost matrix for any robot to perform any assigned handling and assembly task, solve the total cost matrix, and assign each robot a target handling and assembly task that matches the current state.
2. The task allocation method according to claim 1, characterized in that, The step of determining the total cost for each robot to perform each assigned handling and assembly task based on the base time cost, the predicted waiting time cost, and the system correction cost includes: The contribution factors and confidence levels corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are obtained respectively, and the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are determined respectively. The total cost is determined based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values.
3. The task allocation method according to claim 2, characterized in that, The step of determining the total cost based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values includes: Based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values, determine the revenue values corresponding to the base time cost, the predicted waiting time cost, and the system correction cost, respectively. The revenue value is used to characterize the competing revenue among the base time cost, the predicted waiting time cost, and the system correction cost. Based on the revenue value, the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are dynamically adjusted until a Nash equilibrium is reached, thereby obtaining the second weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost. The total cost is determined based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding second weight values.
4. The task allocation method according to claim 3, characterized in that, The step of determining the revenue values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost based on the basic time cost, the predicted waiting time cost, the system correction cost, and the corresponding first weight values includes: Obtain a predetermined baseline cost, and calculate the relative cost change rate of the time cost, the predicted waiting time cost, the system correction cost, and the baseline cost. Based on the preset correction coefficient and the relative cost change rate, the first weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are iteratively corrected to obtain the third weight values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost, respectively. Based on the base time cost, the predicted waiting time cost, the system correction cost, and the corresponding third weight values, the revenue values corresponding to the base time cost, the predicted waiting time cost, and the system correction cost are determined respectively.
5. The task allocation method according to claim 4, characterized in that, The revenue values corresponding to the basic time cost, the predicted waiting time cost, and the system correction cost are calculated using the following formulas: ; in, This represents the revenue value corresponding to the k-th cost, where k corresponds to the base time cost, the preset waiting time cost, or the system correction cost. This represents the third weight value corresponding to the k-th cost. This represents the confidence level corresponding to the k-th cost. Represents the competition coefficient. This represents the degree of overlap between the decision-making processes for the m-th cost and the k-th cost.
6. The task allocation method according to any one of claims 1 to 5, characterized in that, The total cost is calculated using the following formula: ; in, This represents the total cost corresponding to robot i performing the assigned handling and assembly task j. This represents the third weight value corresponding to the base time cost. This represents the third weight value corresponding to the predicted waiting time cost. This represents the third weight value corresponding to the system correction cost. This represents the idle time of robot i during the execution of the assigned handling and assembly task j. This represents the idle speed of robot i. This represents the load handling time for robot i to perform the assigned handling and assembly task j. This represents the assembly time for robot i to perform the assigned handling and assembly task j. This variable indicates a toggle between enabling predictive wait time and enabling regularized wait time. This represents the predicted waiting time for robot i to execute the assigned handling and assembly task j. This indicates the preset waiting time according to the rules. The prediction confidence level represents the predicted waiting time, x represents the allocation strategy for assigning robot i to execute the assigned handling and assembly task j, and S represents the current system state. This represents the adjustment amount of the allocation strategy under the current system state. 0-1 represents the adjustment variable, exp() represents the exponential function with the natural constant e as the base, and ln() represents the logarithmic function with the natural constant e as the base.
7. A task allocation system for multi-robot collaboration, characterized in that, The task allocation system includes an acquisition module, a determination module, and an allocation module; The acquisition module is used to acquire several unassigned handling and assembly tasks in the assembly process and the current status of each robot. The determining module is used to determine, based on the current state, the basic time cost, the predicted waiting time cost, and the system correction cost corresponding to each robot performing each assigned handling and assembly task. The determining module is further configured to determine the total cost for each robot to perform each assigned handling and assembly task based on the base time cost, the predicted waiting time cost, and the system correction cost. The allocation module is used to construct a total cost matrix for any robot to perform any assigned handling and assembly task based on the total cost, solve the total cost matrix, and allocate a target handling and assembly task to each robot that matches the current state.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and for running on the processor, characterized in that, When the processor executes the computer program, it implements the multi-robot collaborative task allocation method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the multi-robot collaborative task allocation method as described in any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the multi-robot collaborative task allocation method as described in any one of claims 1 to 6.