Task allocation method and device, electronic equipment, storage medium and program product

By predicting and optimizing the path consumption of robots for performing tasks in the central server, and reasonably allocating the tasks to be completed, the inefficiency problem caused by unreasonable task allocation in the existing technology is solved, and more efficient task execution and path planning is achieved.

CN120087697APending Publication Date: 2025-06-03SHANGHAI SLAMTEC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510246886.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-04
Publication Date
2025-06-03

AI Technical Summary

Technical Problem

In the prior art, the central server allocates tasks to the robot unreasonable, resulting in inefficient robots to perform tasks.

Method used

By obtaining task information for the task to be completed and idle information of the idle robot, we predict the path consumption required by the idle robot to execute the task to be completed, traverse the path consumption, select the path consumption that meets the set requirements, and use the corresponding idle robot as the target robot to assign the task to be completed to the target robot.

Benefits of technology

The central server has improved the allocation efficiency of tasks to be completed, optimized the execution process of tasks to be completed, improved the rationality of task allocation by predicting path consumption, and solved the path planning problem when executing tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120087697A_ABST
    Figure CN120087697A_ABST
Patent Text Reader

Abstract

The invention discloses a task allocation method and device, electronic equipment, a storage medium and a program product. According to the specific implementation scheme, the method comprises the steps of obtaining a to-be-completed task and task information of the to-be-completed task; determining an idle robot connected with the central server and idle robot information of the idle robot; predicting path consumption required by the idle robot for executing the to-be-completed task; traversing the path consumption, selecting the path consumption meeting a set requirement from the path consumption, and taking an idle robot corresponding to the selected path consumption as a target robot; and distributing the task to be completed to the target robot. According to the method, the allocation efficiency of the central server for the to-be-completed tasks is improved, the execution process of the to-be-completed tasks is optimized, the path consumption of the idle robots for executing the to-be-completed tasks is predicted through the central server, the allocation rationality of the to-be-completed tasks is improved, and the path planning problem during execution of the to-be-completed tasks is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of intelligent robots, and particularly to a task allocation method, device, electronic device, storage medium, and program product. Background Art

[0002] In modern intelligent factories, multi-robot collaboration is widely applied to automated production lines, and robots need to complete various tasks, such as transporting items, assembling components, etc. The optimization of the robot scheduling system has become one of the keys to improving production efficiency.

[0003] In the prior art, when allocating various tasks to robots, problems such as unreasonable task allocation and thus low efficiency of robots in executing tasks may occur. Summary of the Invention

[0004] The present invention provides a task allocation method, device, electronic device, storage medium, and program product to solve the problem of unreasonable task allocation for robots by the central server.

[0005] According to one aspect of the present invention, there is provided a task allocation method applied to a central server. The task allocation method includes:

[0006] Obtaining a task to be completed and the task information of the task to be completed, where the task information includes the task execution point of the task to be completed;

[0007] Determining an idle robot connected to the central server and the idle robot information of the idle robot, where the idle robot information includes the starting point of the idle robot, and the starting point includes the current position point of the idle robot;

[0008] Predicting the path consumption required for the idle robot to execute the task to be completed, where the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point;

[0009] Traversing the path consumption, selecting the path consumption that meets the set requirements from the path consumption, and using the idle robot corresponding to the selected path consumption as the target robot;

[0010] Allocating the task to be completed to the target robot.

[0011] According to another aspect of the present invention, there is provided a task allocation device, including:

[0012] An obtaining module, configured to obtain a task to be completed and the task information of the task to be completed, where the task information includes the task execution point of the task to be completed;

[0013] A determination module, configured to determine an idle robot connected to the central server and the idle robot information of the idle robot, where the idle robot information includes a starting point of the idle robot, and the starting point includes a position point where the idle robot is currently located;

[0014] A prediction module, configured to predict the path consumption required for the idle robot to execute the to-be-completed task, where the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point;

[0015] A traversal module, configured to traverse the path consumption, select the path consumption that meets the set requirements from the path consumption, and use the idle robot corresponding to the selected path consumption as the target robot;

[0016] An allocation module, configured to allocate the to-be-completed task to the target robot.

[0017] According to another aspect of the present invention, there is provided an electronic device, where the electronic device includes:

[0018] At least one processor; and

[0019] A memory communicatively connected to the at least one processor; wherein,

[0020] The memory stores a computer program executable by the at least one processor, and when the computer program is executed by the at least one processor, the at least one processor is enabled to execute the task allocation method according to any embodiment of the present invention.

[0021] According to another aspect of the present invention, there is provided a computer-readable storage medium, where the computer-readable storage medium stores computer instructions, and the computer instructions are used to implement the task allocation method according to any embodiment of the present invention when executed by a processor.

[0022] According to another aspect of the present invention, there is provided a computer program product, where the computer program product includes a computer program, and the computer program implements the task allocation determination method according to any embodiment of the present invention when executed by a processor.

[0023] In the technical solution of the embodiment of the present invention, first, a task to be completed and the task information of the task to be completed are obtained, and the task information includes the task execution point of the task to be completed; secondly, an idle robot connected to the central server and the idle robot information of the idle robot are determined, and the idle robot information includes the starting point of the idle robot, and the starting point includes the current position point where the idle robot is located; then, the path consumption required for the idle robot to execute the task to be completed is predicted, and the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point; then, the path consumption is traversed, the path consumption that meets the set requirements is selected from the path consumption, and the idle robot corresponding to the selected path consumption is used as the target robot; finally, the task to be completed is assigned to the target robot. The problem of reasonably allocating the task to be completed to the idle robot for execution through the central server is solved, the allocation efficiency of the central server for the task to be completed is improved, and the process of executing the task to be completed is optimized. By predicting the path consumption of the idle robot to execute the task to be completed through the central server, the rationality of the allocation of the task to be completed is improved, and the path planning problem during the execution of the task to be completed is solved.

[0024] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present invention, nor is it used to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0026] Figure 1 is a flowchart of a task allocation method provided in Embodiment 1 of the present invention;

[0027] Figure 2 is a flowchart of a path consumption prediction method provided in Embodiment 2 of the present invention;

[0028] Figure 3 is a schematic structural diagram of a task allocation device provided in Embodiment 3 of the present invention;

[0029] Figure 4 is a block diagram of an electronic device provided in Embodiment 4 of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0030] To enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.

[0031] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances, so that the embodiments of the present invention described here can be implemented in an order different from those illustrated or described here. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of steps or units does not necessarily need to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0032] Embodiment 1

[0033] Figure 1 is a flowchart of a task allocation method provided according to Embodiment 1 of the present invention. This embodiment is applicable to the situation of allocating tasks to be completed to idle robots. This method is applied to a central server and can be executed by a task allocation device. The task allocation device can be implemented in the form of hardware and / or software and can be configured in an electronic device. As Figure 1 shown, the method includes:

[0034] S110. Obtain the task to be completed and the task information of the task to be completed, where the task information includes the task execution point of the task to be completed.

[0035] In this embodiment, the central server and the robots can be devices in the same area, such as within a factory area. The central server can be connected to multiple robots and obtain the information collected by the robots in real time. Each robot has functions such as positioning, navigation, and task execution. The task to be completed can be understood as a task obtained by the central server, which can be a task issued by the factory and has not been executed yet. The task information may include information indicating the execution location of the task to be completed. The task execution point can be understood as the location where the task instruction of the task to be completed indicates to execute the task to be completed.

[0036] Specifically, the central server can receive task instructions in real time, regard the task indicated by the task instructions as a to-be-completed task, and send it to the robots connected to the central server for execution. For a to-be-completed task, the central server can obtain task information such as the task execution point of the to-be-completed task through the task instructions.

[0037] S120. Determine the idle robots connected to the central server and the idle robot information of the idle robots. The idle robot information includes the starting point of the idle robots, and the starting point includes the position point where the idle robots are currently located.

[0038] In this embodiment, an idle robot can be understood as a robot that is not in a working state and can be used to execute a to-be-completed task. The idle robot information may include information indicating the current working state of the idle robot and the current position point, etc. The starting point can be understood as the position where the idle robot is currently located. When executing a task, the robot needs to run from the starting point to the task execution point.

[0039] Specifically, the central server can be connected to the robots through wireless communication, obtain the real-time status of the robots, and screen the idle robots connected to it. Determining the real-time idle robot information of all idle robots may include information such as the starting point position and motion state of the idle robots.

[0040] Optionally, the determining the idle robots connected to the central server includes:

[0041] Obtain the robot information of all robots connected to the central server. The robot information includes information indicating the task status of the robots;

[0042] Determine the robots with an idle task status among the robots as idle robots.

[0043] In this embodiment, the task status can be understood as an indicator indicating the working state of the robot. The task status may include idle or busy. Robots with an idle working state can be used to execute to-be-completed tasks. The robot information may include information indicating the task status, current location, etc. of the robot.

[0044] Specifically, the central server first obtains the robot information of all robots connected to it, which may include the position, motion state, task status (idle or busy), destination, etc. of the robots. For robots with a busy task status, such robots are executing other tasks and cannot execute the to-be-completed task. Therefore, among all the robots connected to the central server, the robots with an idle task status are screened out as idle robots, and the idle robots can be used to execute the to-be-completed task.

[0045] Exemplarily, assume that there are 5 robots connected to the central server within the factory area. When there is a new task to be completed, the central server obtains the position and task status of each robot through real-time information. Assume that at this time, 2 robots are performing other tasks, that is, in a busy state, then the remaining 3 robots are regarded as idle robots and can be used to execute the task to be completed.

[0046] S130. Predict the path consumption required for the idle robot to execute the task to be completed, where the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point.

[0047] In this embodiment, the path consumption can be understood as the consumption required for the robot to execute the task from the starting point to the task execution point, and the path consumption can be related to the time consumption required from the starting point to the task execution point.

[0048] Specifically, for a task to be completed obtained by the central server, the central server predicts the path consumption required for all idle robots connected to it to execute the task to be completed. The path consumption corresponding to each idle robot may include: the consumption generated when the idle robot executes the task to be completed from the starting point to the task execution point, and the consumption generated by possible conflicts and the like during this process.

[0049] Exemplarily, assume an idle robot R connected to the central server i , and the information of this idle robot indicates that its starting point is P i , and the average speed is v i . Assume that the task execution point of the task to be completed is T, then according to the starting point P i and the task execution point T, as well as the speed v i of the idle robot R i , combined with the consumption for conflict handling that may occur during the process of the idle robot executing the task to be completed, calculate the path consumption generated by the idle robot executing the task to be completed.

[0050] S140. Traverse the path consumption, select the path consumption that meets the set requirements from the path consumption, and use the idle robot corresponding to the selected path consumption as the target robot.

[0051] In this embodiment, the target robot can be understood as the robot selected from the idle robots that can execute the task to be completed.

[0052] Specifically, predict the path consumption corresponding to all idle robots connected to the central server, and select the path consumption that meets the set requirements from them. The set requirements can be requirements related to the value corresponding to the path consumption. The central server can select the path consumption with a smaller value and determine the idle robot corresponding to the path consumption as the target robot for executing the to-be-completed task.

[0053] Exemplarily, when the central server selects an idle robot to execute the to-be-completed task, calculate the path consumption C i of each robot R i , and select the idle robot with the smallest consumption from them as the target robot to execute the to-be-completed task. The target robot R best = argmin(C i R i ).

[0054] S150. Assign the to-be-completed task to the target robot.

[0055] Specifically, the central server assigns the to-be-completed task to the target robot. The target robot runs from the starting point to the task execution point indicated by the to-be-completed task according to the task execution point, and completes the execution of the to-be-completed task.

[0056] The technical solution of the embodiment of the present invention is as follows: First, obtain the to-be-completed task and the task information of the to-be-completed task, where the task information includes the task execution point of the to-be-completed task; secondly, determine the idle robots connected to the central server and the idle robot information of the idle robots, where the idle robot information includes the starting point of the idle robot, and the starting point includes the current position point of the idle robot; then predict the path consumption required for the idle robot to execute the to-be-completed task, where the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point; then traverse the path consumption, select the path consumption that meets the set requirements from the path consumption, and use the idle robot corresponding to the selected path consumption as the target robot; finally, assign the to-be-completed task to the target robot. This solves the problem of reasonably allocating the to-be-completed task to the idle robot for execution through the central server, improves the allocation efficiency of the central server for the to-be-completed task, and optimizes the process of executing the to-be-completed task. By predicting the path consumption of the idle robot to execute the to-be-completed task through the central server, the rationality of the allocation of the to-be-completed task is improved, and the path planning problem during the execution of the to-be-completed task is solved.

[0057] On the basis of the above embodiment, a variant embodiment of the above embodiment is proposed. Here, it should be noted that for the sake of brief description, only the differences from the above embodiment are described in the variant embodiment.

[0058] In one embodiment, traversing the path costs, selecting the path costs that meet the set requirements from the path costs, and using the idle robots corresponding to the selected path costs as target robots includes:

[0059] Traversing the path costs required for the idle robots to execute the to-be-completed task;

[0060] Using the path cost indicating the minimum consumption among the path costs as the target cost;

[0061] Determining the idle robot corresponding to the target cost as the target robot.

[0062] In this embodiment, the target cost can be understood as the minimum path cost among the path costs required for the idle robot to execute the to-be-completed task.

[0063] Specifically, determining all idle robots connected to the central server, and predicting and calculating the path costs required for all idle robots to execute the to-be-completed task. The path cost can be related to the time consumed for executing the to-be-completed task. Traversing all the path costs, selecting the one indicating the minimum path cost, which can be the one indicating the shortest time required for executing the to-be-completed task, as the target cost. Determining, through the central server, the idle robot corresponding to the target cost, and using this idle robot as the target robot to execute the to-be-completed task.

[0064] Exemplarily, assume that there are 3 idle robots A, B, and C connected to the central server in the factory area. When there is a to-be-completed task to be executed, the central server predicts the path costs required for these 3 idle robots A, B, and C to execute the to-be-completed task, such as the time required for executing the to-be-completed task. Selecting the minimum one from the three obtained path costs as the target cost, for example, selecting the one with the shortest time as the target cost. Assume that the time required for idle robot A to execute the to-be-completed task is the shortest, then idle robot A is determined as the target robot to execute the to-be-completed task.

[0065] In one embodiment, allocating the to-be-completed task to the target robot includes:

[0066] Determining the path cost corresponding to the target robot's execution of the to-be-completed task;

[0067] Allocating the path corresponding to the to-be-completed task and the path cost to the target robot.

[0068] Specifically, the central server matches the path consumption for the target robot to execute the to-be-completed task, as well as the corresponding path. The path consumption of the target robot is the path consumption of the corresponding idle robot to execute the to-be-completed task. The to-be-completed task is assigned to the target robot. When the target robot executes the to-be-completed task, it executes according to the path corresponding to the path consumption.

[0069] Embodiment 2

[0070] Figure 2 It is a flowchart of a path consumption prediction method provided according to Embodiment 2 of the present invention. This embodiment expands on the method for predicting the path consumption required for an idle robot to execute a to-be-completed task in the above embodiment. As Figure 2 shown, the method includes:

[0071] S210. Obtain the to-be-completed task and the task information of the to-be-completed task, where the task information includes the task execution point of the to-be-completed task.

[0072] S220. Determine the idle robots connected to the central server and the idle robot information of the idle robots. The idle robot information includes the starting point of the idle robot, and the starting point includes the current location point of the idle robot.

[0073] S230. Determine the total path length when the idle robot executes the to-be-completed task from the starting point to the task execution point.

[0074] In this embodiment, for each idle robot, the total path length can be understood as the route length from the starting point of the idle robot to the task execution point.

[0075] Specifically, predict the total path length required to run from the starting point corresponding to each idle robot to the task execution point of the to-be-completed task for each idle robot connected to the central server when executing the to-be-completed task. Obtain the corresponding total path length for each idle robot when executing the to-be-completed task.

[0076] Exemplarily, assume that one of the idle robots R i connected to the central server, and the information of this idle robot R i indicates that its starting point is P i , and the task execution point of the to-be-completed task is T. Then the total path length from the starting point P i to the task execution point T can be expressed as: distance(P i , T).

[0077] S240. Obtain the speed of the idle robot in the idle robot information.

[0078] Specifically, since the central server can be connected to the idle robots via wireless communication, the central server can obtain various information of the idle robots. Determine the information indicating the speed of the idle robot in the idle robot information, and the speed can be the average speed of the idle robot.

[0079] Exemplarily, the idle robot R i has a speed that can be expressed as v i .

[0080] S250. Determine the ratio of the total path length to the speed of the idle robot as the direct path consumption.

[0081] In this embodiment, the direct path consumption can be understood as being calculated by the central server. When the idle robot executes the task to be completed, only the consumption of the path itself is considered, without considering the consumption of possible path conflicts that may occur during the execution of the task to be completed.

[0082] Exemplarily, when the idle robot R i executes the task to be completed, the total path length from the starting point P i to the task execution point T can be expressed as: distance(P i , T). Then the direct path consumption can be expressed as:

[0083] S260. Predict whether a path conflict will occur when the idle robot executes the task to be completed; if so, execute S270; otherwise, execute S280.

[0084] In this embodiment, the path conflict can be understood as that when the idle robot executes the task to be completed, there is an overlap or interference in the path with the robot that is executing other tasks.

[0085] Specifically, the central server can be connected to all the robots in an area, so the central server can obtain the paths of the robots that are executing tasks. Combining with the planned path of the idle robot to execute the task to be completed, it can be predicted whether the idle robot will have a path conflict with the robots that are executing tasks when it executes the task to be completed.

[0086] Optionally, predicting whether a path conflict will occur when the idle robot executes the task to be completed includes:

[0087] Determine the robots with a busy task status in the robots as busy robots;

[0088] Obtain the paths of the busy robots from the busy robot information of the busy robots;

[0089] Obtain the path for the idle robot to execute the to-be-completed task;

[0090] Based on the path of the idle robot and the path of the busy robot, predict whether the idle robot and the busy robot will pass through a conflict point at the same time.

[0091] In this embodiment, a busy robot can be understood as a robot among the robots connected to the central server that is performing other tasks except for the idle robot. A conflict point can be understood as the position where the paths of the idle robot and the busy robot conflict.

[0092] Specifically, according to the real-time information of all the robots connected to the central server obtained by the central server, the robots with the task status indicating busy in the real-time information are determined as busy robots. The busy robots are performing other tasks at this time and are in a working state. Further determine the path, speed, etc. information when each busy robot executes its corresponding task. Combining the path and speed of the idle robot planned by the central server to execute the to-be-completed task, predict whether the idle robot and the busy robot will pass through the same position at the same time, and this position is the conflict point.

[0093] Exemplarily, assume that the path of the idle robot R i is P i →T, and the speed is v i , and the path of the busy robot R j is P j →T j , and the speed is v j . The central server needs to determine whether the idle robot R i and the busy robot R j will collide at a certain position, that is, the conflict point P 冲突 . The path conflict determination can be based on the following condition: If the conflict point P i of the idle robot R j and the busy robot R 冲突 is within the same time window, then a conflict occurs. The formula for calculating the intersection point time t 交点 can be: Determine whether there exists a P 冲突 that makes the above formula hold, and then it can be predicted whether the idle robot R i and the busy robot R j have a path conflict.

[0094] S270. If so, determine the sum of the path conflict consumption generated by the path conflict and the direct path consumption as the path consumption required for the idle robot to execute the to-be-completed task.

[0095] In this embodiment, the path conflict consumption can be understood as the consumption caused by possible conflicts and the like during the process of each idle robot predicted by the central server to execute the task to be completed, from the starting point to the task execution point.

[0096] Specifically, if the central server predicts that a path conflict will occur when an idle robot executes the task to be completed, and the solutions to the path conflict can include waiting for the path conflict to be resolved or taking a detour. The consumption generated by the two solutions is predicted respectively, and the central server determines the solution when the path conflict occurs for the idle robot accordingly, and determines the consumption corresponding to the solution as the path conflict consumption generated by the path conflict when the idle robot executes the task to be completed. The sum of the path conflict consumption and the direct path consumption is determined as the path consumption generated by the idle robot to execute the task to be completed.

[0097] Exemplarily, an idle robot R i During the process of executing the task to be completed, the path conflict consumption generated can be expressed as C 冲突 (P i , T). Then the path consumption required for the idle robot R i to execute the task to be completed can be expressed as C i = C 距离 (P i , T) + C 冲突 (P i , T).

[0098] Optionally, the step of determining the sum of the path conflict consumption generated by the path conflict and the direct path consumption as the path consumption required for the idle robot to execute the task to be completed includes:

[0099] Determining the waiting time consumption for waiting for the busy robot to complete the corresponding task;

[0100] Determining the detour time consumption required for the detour plan of the idle robot, where the detour plan includes a plan to bypass the path corresponding to the busy robot;

[0101] Taking the consumption with the smaller value among the waiting time consumption and the detour time consumption as the path conflict consumption;

[0102] Determining the sum of the path conflict consumption and the direct path consumption as the path consumption required for the idle robot to execute the task to be completed.

[0103] In this embodiment, the waiting time consumption can be understood as the time consumption when a path conflict occurs and an idle robot waits for a busy robot to complete a task. The detour plan can be understood as a plan in which, when a path conflict occurs, an idle robot bypasses the conflict point and re-plans its route. The detour time consumption is the time consumption generated by the detour plan.

[0104] Specifically, the solutions to path conflicts can include waiting for the busy robot to complete the task or the detour plan. The central server calculates the waiting time consumption and detour time consumption caused by the two solutions respectively. The time when the path conflict occurs can be calculated, that is, the time when the idle robot and the busy robot reach the conflict point, and the time for the idle robot to reach the task execution point from the starting point without path conflict. The waiting time consumption is determined according to the relationship between the two. The detour time consumption can be determined by the length of the detour path planned by the central server and the speed of the idle robot. Compare the waiting time consumption and the detour time consumption, and take the smaller value as the path conflict consumption, and take the corresponding solution as the solution to the path conflict. Finally, the sum of the path conflict consumption and the direct path consumption is used as the path consumption required for the idle robot to execute the task to be completed.

[0105] Exemplarily, when the idle robot R i and the busy robot R j have a path conflict, for the solution of waiting for the busy robot R j to complete the task, the waiting time consumption can be expressed as: W ij = max(0, t 冲突 - t 到达 ). Wherein, t 冲突 refers to the time when the path conflict occurs. For the robot R i , t 冲突 represents the time for the robot R j to reach the conflict point; t 到达 refers to the time for the robot R i to reach the conflict point without any additional waiting. Its calculation formula is Here, when t 冲突 conflict is greater than t 到达 , it means that the idle robot R i reaches the conflict point P j earlier than the busy robot R 冲突 . Since the busy robot R j has not left the conflict point P 冲突 , R i needs to wait until the busy robot R j passes through the conflict point P 冲突 , that is, at the moment of t 冲突 before it can pass safely. Therefore, the waiting time consumption is t冲突 -t 到达 ; when t 冲突 is less than or equal to t 到达 , it means that the idle robot R i will arrive after the busy robot R j leaves the conflict point, so the waiting time consumption is zero. For the detour plan, the detour time consumption L ij can be obtained by calculating the detour path. The detour time consumption is: where D 绕路 is the length of the detour path in the detour plan. The path conflict consumption C 冲突 can choose the smaller one of W ij and L ij as the path conflict consumption and the solution to the path conflict: C 冲突 = min(W ij , L ij ). And the path consumption required for the idle robot to execute the task to be completed can be expressed as C i = min(C 距离 (P i , T) + W ij , C 距离 (P i , T) + L ij ).

[0106] S280. If not, then determine the direct path consumption as the path consumption required for the idle robot to execute the task to be completed.

[0107] Specifically, if the central server predicts that there will be no path conflict when an idle robot executes the task to be completed. Then the path consumption required for the idle robot to execute the task to be completed is only the consumption on the path of executing the task to be completed, that is, the direct path consumption.

[0108] Exemplarily, in the case where the central server predicts that there will be no path conflict when an idle robot executes the task to be completed, the path consumption required for the idle robot to execute the task to be completed can be expressed as C i = C 距离 (P i , T).

[0109] S290. Traverse the path consumption, select the path consumption that meets the set requirements from the path consumption, and use the idle robot corresponding to the selected path consumption as the target robot.

[0110] S200. Assign the task to be completed to the target robot.

[0111] In the technical solution of the embodiment of the present invention, when determining that the idle robot executes the to-be-completed task, the total path length from the starting point to the task execution point is determined; the speed of the idle robot is obtained from the idle robot information; the ratio of the total path length to the speed of the idle robot is determined as the direct path consumption; it is predicted whether a path conflict will occur when the idle robot executes the to-be-completed task; if so, the sum of the path conflict consumption generated by the path conflict and the direct path consumption is determined as the path consumption required for the idle robot to execute the to-be-completed task; if not, the direct path consumption is determined as the path consumption required for the idle robot to execute the to-be-completed task. The method for predicting the path consumption required for an idle robot to execute a to-be-completed task is refined, the path conflict problem between the idle robot and the busy robot is solved, the execution effect of the to-be-completed task is optimized, and the efficiency of path planning and task execution is improved.

[0112] Embodiment III

[0113] Figure 3 It is a schematic structural diagram of a task allocation determination device provided according to Embodiment III of the present invention. As Figure 3 shown, the device includes:

[0114] An obtaining module 310, configured to obtain a to-be-completed task and the task information of the to-be-completed task, where the task information includes the task execution point of the to-be-completed task;

[0115] A determining module 320, configured to determine an idle robot connected to the central server and the idle robot information of the idle robot, where the idle robot information includes the starting point of the idle robot, and the starting point includes the position point where the idle robot is currently located;

[0116] A predicting module 330, configured to predict the path consumption required for the idle robot to execute the to-be-completed task, where the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point;

[0117] A traversing module 340, configured to traverse the path consumption, select the path consumption that meets the set requirements from the path consumption, and use the idle robot corresponding to the selected path consumption as the target robot;

[0118] An allocating module 350, configured to allocate the to-be-completed task to the target robot.

[0119] The task allocation device provided by the embodiments of the present invention first obtains the task to be completed and the task information of the task to be completed through an acquisition module, where the task information includes the task execution point of the task to be completed; secondly, determines the idle robots connected to the central server and the idle robot information of the idle robots through a determination module, where the idle robot information includes the starting point of the idle robot, and the starting point includes the current position point of the idle robot; then predicts the path consumption required for the idle robot to execute the task to be completed through a prediction module, where the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point; then traverses the path consumption through a traversal module, selects the path consumption that meets the set requirements from the path consumption, and uses the idle robot corresponding to the selected path consumption as the target robot; finally, allocates the task to be completed to the target robot through an allocation module. Through the mutual cooperation of each module, the problem of reasonably allocating the task to be completed to the idle robots for execution by the central server is solved, the allocation efficiency of the central server for the task to be completed is improved, and the process of executing the task to be completed is optimized. By predicting the path consumption of the idle robot to execute the task to be completed by the central server, the rationality of the allocation of the task to be completed is improved, and the path planning problem during the execution of the task to be completed is solved.

[0120] In one embodiment, the determination module 320 is specifically configured to:

[0121] Obtain the robot information of all robots connected to the central server, where the robot information includes information indicating the task status of the robot;

[0122] Determine the robots with the task status indicating idle among the robots as idle robots.

[0123] In one embodiment, the prediction module 330 includes:

[0124] A first determination unit, configured to determine the total path length from the starting point to the task execution point when the idle robot executes the task to be completed;

[0125] An acquisition unit, configured to acquire the speed of the idle robot in the idle robot information;

[0126] A second determination unit, configured to determine the ratio of the total path length to the speed of the idle robot as the direct path consumption;

[0127] A prediction unit, configured to predict whether a path conflict will occur when the idle robot executes the task to be completed;

[0128] A third determination unit, configured to, if so, determine the sum of the path conflict consumption generated by the path conflict and the direct path consumption as the path consumption required for the idle robot to execute the to-be-completed task;

[0129] A fourth determination unit, configured to, if not, determine the direct path consumption as the path consumption required for the idle robot to execute the to-be-completed task.

[0130] In one embodiment, the prediction unit is specifically configured to:

[0131] Determine the robots with a busy task status in the robots as busy robots;

[0132] Obtain the paths of the busy robots from the busy robot information of the busy robots;

[0133] Obtain the path for the idle robot to execute the to-be-completed task;

[0134] Predict whether the idle robot and the busy robot will pass through the conflict point at the same time according to the path of the idle robot and the path of the busy robot.

[0135] In one embodiment, the third determination unit is specifically configured to:

[0136] Determine the waiting time consumption for waiting for the busy robot to complete the corresponding task;

[0137] Determine the detour time consumption required for the detour plan of the idle robot, where the detour plan includes a plan to bypass the path corresponding to the busy robot;

[0138] Use the smaller of the waiting time consumption and the detour time consumption as the path conflict consumption;

[0139] Determine the sum of the path conflict consumption and the direct path consumption as the path consumption required for the idle robot to execute the to-be-completed task.

[0140] In one embodiment, the traversal module 340 is specifically configured to:

[0141] Traverse the path consumption required for the idle robot to execute the to-be-completed task;

[0142] Use the path consumption indicating the minimum consumption among the path consumptions as the target consumption;

[0143] Determine the idle robot corresponding to the target consumption as the target robot.

[0144] In one embodiment, the allocation module 350 is specifically configured to:

[0145] Determine the path consumption corresponding to the target robot executing the to-be-completed task.

[0146] Assign the path corresponding to the to-be-completed task and the path consumption to the target robot.

[0147] The task allocation device provided by the embodiments of the present invention can execute the task allocation method provided by any embodiment of the present invention. Through the mutual cooperation and collaborative work among various modules, the allocation of tasks is completed, and it has the corresponding functional modules and beneficial effects of the execution method.

[0148] Embodiment 4

[0149] According to an embodiment of the present invention, the present invention also provides an electronic device, a computer-readable storage medium, and a computer program product.

[0150] Figure 4 It is a block diagram of an electronic device provided according to Embodiment 4 of the present invention, and this electronic device can implement the task allocation method described in the embodiments of the present invention. The electronic device is intended to represent various forms of digital computers, such as, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, personal digital processors, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are only examples and are not intended to limit the implementation of the present invention described and / or claimed herein.

[0151] As Figure 4 shown, the electronic device 410 includes at least one processor 411, and a memory communicatively connected to at least one processor 411, such as a read-only memory (ROM) 412, a random access memory (RAM) 413, etc. Among them, the memory stores a computer program executable by at least one processor. The processor 411 can execute various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 412 or the computer program loaded from the storage unit 418 into the random access memory (RAM) 413. In the RAM 413, various programs and data required for the operation of the electronic device 410 can also be stored. The processor 411, the ROM 412, and the RAM 413 are connected to each other through a bus 414. The input / output (I / O) interface 415 is also connected to the bus 414.

[0152] Multiple components in the electronic device are connected to the I / O interface 415, including: an input unit 416, such as a keyboard, a mouse, etc.; an output unit 417, such as various types of displays, speakers, etc.; a storage unit 418, such as a disk, an optical disc, etc.; and a communication unit 419, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 419 allows the electronic device to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0153] The processor 411 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 411 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 411 executes the various methods and processes described above, such as the task allocation method.

[0154] In some embodiments, the task allocation method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as the storage unit 418. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 410 via the ROM 412 and / or the communication unit 419. When the computer program is loaded into the RAM 413 and executed by the processor 411, one or more steps of the task allocation method described above can be executed. Alternatively, in other embodiments, the processor 411 can be configured to execute the task allocation method by any other suitable means (e.g., by means of firmware).

[0155] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), systems on a chip (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: implemented in one or more computer programs, the one or more computer programs can be executed and / or interpreted on a programmable system including at least one programmable processor, the programmable processor can be a special or general-purpose programmable processor, can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit the data and instructions to the storage system, the at least one input device, and the at least one output device.

[0156] A computer program for implementing the method of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer programs are executed by the processor, the functions / operations specified in the flowchart and / or block diagram are implemented. The computer programs can be executed entirely on the machine, partially on the machine, executed partially on the machine and partially on a remote machine as an independent software package, or executed entirely on a remote machine or server.

[0157] In the context of the present invention, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0158] In order to provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) through which the user can provide input to the electronic device. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0159] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected to each other by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.

[0160] The computing system can include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The client-server relationship is created by computer programs that run on respective computers and have a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, solving the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services.

[0161] In some embodiments, a computer program product includes a computer program that, when executed by a processor, implements the task allocation method provided by the embodiments of the present invention.

[0162] The technical solution of the embodiment of the present invention is directed to a task allocation method, device, electronic device, storage medium, and program product. First, a task to be completed and the task information of the task to be completed are obtained, and the task information includes the task execution point of the task to be completed. Secondly, an idle robot connected to the central server and the idle robot information of the idle robot are determined, and the idle robot information includes the starting point of the idle robot, and the starting point includes the position point where the idle robot is currently located. Then, the path consumption required for the idle robot to execute the task to be completed is predicted, and the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point. Then, the path consumption is traversed, and the path consumption that meets the set requirements is selected from the path consumption, and the idle robot corresponding to the selected path consumption is used as the target robot. Finally, the task to be completed is assigned to the target robot. The problem of reasonably allocating the task to be completed to the idle robot for execution by the central server is solved, the allocation efficiency of the central server for the task to be completed is improved, and the process of executing the task to be completed is optimized. By predicting the path consumption of the idle robot to execute the task to be completed by the central server, the rationality of the allocation of the task to be completed is improved, and the path planning problem during the execution of the task to be completed is solved.

[0163] It should be understood that the various forms of the processes shown above can be used, steps can be reordered, added, or deleted. For example, the steps described in the present invention can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved, and no limitation is imposed herein.

[0164] The above specific embodiments do not constitute a limitation to the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims

1. A task allocation method, characterized in that: Applied to the central server, including: Acquire a task to be completed and task information of the task to be completed, wherein the task information includes a task execution point of the task to be completed; Determine an idle robot connected to the central server and idle robot information of the idle robot, wherein the idle robot information includes a starting point of the idle robot, and the starting point includes a current location of the idle robot; Predicting the path consumption required for the idle robot to execute the task to be completed, the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point; Traversing the path consumption, selecting a path consumption that meets the set requirements from the path consumption, and using an idle robot corresponding to the selected path consumption as a target robot; The task to be completed is assigned to the target robot.

2. The method according to claim 1, characterized in that The step of determining an idle robot connected to the central server comprises: Acquire robot information of all robots connected to the central server, wherein the robot information includes information indicating a task status of the robot; A robot whose task status indicates idleness among the robots is determined as an idle robot.

3. The method according to claim 1, characterized in that The predicting of the path consumption required for the idle robot to execute the task to be completed includes: Determine the total length of a path from the starting point to the task execution point when the idle robot executes the task to be completed; Obtaining the speed of the idle robot in the idle robot information; Determine the direct path consumption as the ratio of the total path length to the speed of the idle robot; Predicting whether a path conflict will occur when the idle robot performs the task to be completed; If yes, the sum of the path conflict consumption generated by the path conflict and the direct path consumption is determined as the path consumption required for the idle robot to perform the task to be completed; If not, the direct path consumption is determined as the path consumption required for the idle robot to perform the task to be completed.

4. The method according to claim 3, characterized in that The predicting whether a path conflict will occur when the idle robot performs the task to be completed includes: Determine a robot whose task status indicates busy among the robots as a busy robot; acquiring a path of the busy robot from busy robot information of the busy robot; Obtaining a path for the idle robot to execute the task to be completed; According to the path of the idle robot and the path of the busy robot, it is predicted whether the idle robot and the busy robot pass through a conflict point at the same time.

5. The method according to claim 3, characterized in that: The step of determining the sum of the path conflict consumption generated by the path conflict and the direct path consumption as the path consumption required for the idle robot to perform the task to be completed includes: Determine the waiting time consumption for waiting for the busy robot to complete the corresponding task; Determine the detour time consumption required for a detour plan of the idle robot, wherein the detour plan includes a plan for detouring the path corresponding to the busy robot; The smaller one of the waiting time consumption and the detour time consumption is used as the path conflict consumption; The sum of the path conflict consumption and the direct path consumption is determined as the path consumption required for the idle robot to perform the task to be completed.

6. The method according to claim 1, characterized in that The traversing the path consumption, selecting a path consumption that meets a set requirement from the path consumption, and using an idle robot corresponding to the selected path consumption as a target robot, includes: Traversing the path consumption required for the idle robot to execute the task to be completed; The path consumption indicating the minimum consumption among the path costs is used as the target consumption; The idle robot corresponding to the target consumption is determined as the target robot.

7. The method according to claim 1, characterized in that The allocating the task to be completed to the target robot comprises: Determine the path consumption corresponding to the target robot executing the task to be completed; The path corresponding to the task to be completed and the path consumption is allocated to the target robot.

8. A task allocation device, characterized in that: include: An acquisition module, used to acquire the task to be completed and the task information of the task to be completed, wherein the task information includes the task execution point of the task to be completed; A determination module, used to determine an idle robot connected to the central server and idle robot information of the idle robot, wherein the idle robot information includes a starting point of the idle robot, and the starting point includes a current location of the idle robot; A prediction module, used to predict the path consumption required for the idle robot to execute the task to be completed, wherein the path consumption includes the consumption required for the idle robot to run from the starting point to the task execution point; A traversal module, used for traversing the path consumption, selecting a path consumption that meets the set requirements from the path consumption, and using an idle robot corresponding to the selected path consumption as a target robot; An allocation module is used to allocate the task to be completed to the target robot.

9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the task allocation method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the task allocation method according to any one of claims 1 to 7 when executed.

11. A computer program product, characterized in that The computer program product comprises a computer program, which, when executed by a processor, implements the task allocation method according to any one of claims 1 to 7.