A robot scheduling method, device, equipment and medium
By evaluating the task execution evaluation value of the alternative robot in the robot resource pool and selecting the robot with the highest evaluation value to perform the job task, the problem that robot scheduling in the prior art cannot ensure the selection of the optimal robot is solved, and the success rate of the job task execution is improved.
Patent Information
- Application Number
- CN202211642065.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-20
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2042-12-20
AI Technical Summary
The prior art robot scheduling scheme can only ensure that the robot that performs job tasks is idle, and cannot ensure that the robot that performs job tasks is the optimal robot for job tasks, which may cause the job task execution to fail.
By obtaining the job tags of the job task to be executed, a robot resource pool corresponding to the job task is determined, and the task execution evaluation value of each idle alternative robot is evaluated based on the working status and historical job information of the alternative robot, and a robot with the highest task execution evaluation value is selected as the target idle alternative robot to perform the job task.
Make sure that the selected robot is the optimal robot for job tasks and improve the success rate of job tasks.
Smart Images

Figure CN115890684B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a robot scheduling method, device, equipment and medium. Background Art
[0002] With the continuous development of robot technology, robots are playing an increasingly important role in industrial production. When there is a task to be performed, a robot corresponding to the task type needs to be dispatched to perform the task.
[0003] In the related art, a commonly used robot scheduling scheme is: determine the working status of multiple robots corresponding to the job type of the job task to be performed, then determine a robot whose working status is idle as the robot corresponding to the job task, and send the job task to the robot corresponding to the job task so that the robot corresponding to the job task performs the job task. The robot scheduling scheme of the related art can only ensure that the robot performing the job task is idle, but cannot ensure that the robot performing the job task is the optimal robot for the job task, which may cause the job task to fail to execute. Summary of the invention
[0004] The present invention provides a robot scheduling method, device, equipment and medium to solve the problem that the robot scheduling scheme in the related art can only ensure that the robot performing the task is idle, but cannot ensure that the robot performing the task is the optimal robot for the task, which may cause the failure of the task execution.
[0005] According to one aspect of the present invention, there is provided a robot scheduling method, comprising:
[0006] Acquire a job task to be executed, and determine a robot resource pool corresponding to the job task to be executed according to the job label of the job task to be executed; wherein the robot resource pool includes a preset number of candidate robots;
[0007] Determining at least two idle candidate robots among the candidate robots according to the working status of the candidate robots;
[0008] Determining a task execution evaluation value of each of the idle candidate robots according to historical operation information of each of the idle candidate robots;
[0009] According to the task execution evaluation value of each of the idle candidate robots, a target idle candidate robot corresponding to the to-be-executed operation task is determined, and the to-be-executed operation task is sent to the target idle candidate robot so that the target idle candidate robot executes the to-be-executed operation task.
[0010] According to another aspect of the present invention, there is provided a robot scheduling device, comprising:
[0011] A resource pool determination module, used to obtain a job task to be executed, and determine a robot resource pool corresponding to the job task to be executed according to the job tag of the job task to be executed; wherein the robot resource pool includes a preset number of candidate robots;
[0012] A robot determination module, used for determining at least two idle candidate robots among the candidate robots according to the working status of the candidate robots;
[0013] An evaluation value determination module, used to determine the task execution evaluation value of each of the idle candidate robots according to the historical operation information of each of the idle candidate robots;
[0014] The task execution module is used to determine the target idle candidate robot corresponding to the to-be-executed operation task according to the task execution evaluation value of each of the idle candidate robots, and send the to-be-executed operation task to the target idle candidate robot so that the target idle candidate robot executes the to-be-executed operation task.
[0015] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0016] at least one processor;
[0017] and a memory communicatively coupled to the at least one processor;
[0018] 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 execute the robot scheduling method described in any embodiment of the present invention.
[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the robot scheduling method described in any embodiment of the present invention when executed.
[0020] The technical solution of the embodiment of the present invention obtains the work task to be executed, and determines the robot resource pool corresponding to the work task to be executed according to the job label of the work task to be executed; wherein the robot resource pool includes a preset number of candidate robots; then, according to the working status of each candidate robot, at least two idle candidate robots among each candidate robot are determined; according to the historical work information of each idle candidate robot, the task execution evaluation value of each idle candidate robot is determined; finally, according to the task execution evaluation value of each idle candidate robot, the target idle candidate robot corresponding to the work task to be executed is determined, and the work task to be executed is sent to the target idle candidate robot, so that the target idle candidate robot executes the work task to be executed, thereby solving the problems of the related art. The robot scheduling scheme can only ensure that the robot performing the task is idle, but cannot ensure that the robot performing the task is the optimal robot for the task, which may cause the problem of failure in the execution of the task. The historical operation information of each idle candidate robot is obtained to determine the task execution evaluation value of each idle candidate robot. Based on the task execution evaluation value of each idle candidate robot, the idle candidate robot with the best task execution effect among the idle candidate robots is determined as the target idle candidate robot for executing the task to be executed, that is, the optimal robot for the task to be executed. By executing the task to be executed with the optimal robot for the task to be executed, the beneficial effect of improving the execution success rate of the task to be executed is achieved.
[0021] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended 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
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0023] Figure 1 This is a flowchart of a robot scheduling method provided in Example 1 of the present invention.
[0024] Figure 2 This is a flowchart of a robot scheduling method provided in Embodiment 2 of the present invention.
[0025] Figure 3 This is a schematic structural diagram of a robot scheduling device provided in Embodiment 3 of the present invention.
[0026] Figure 4A schematic diagram of the structure of an electronic device for implementing the robot scheduling method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0028] It should be noted that the terms "target", "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "comprise", "include" and "have" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0029] Embodiment 1
[0030] Figure 1 This is a flowchart of a robot scheduling method provided in the first embodiment of the present invention. This embodiment can be applied to the case where a robot corresponding to the job type of a job task is scheduled to perform a job task after a job task needs to be performed. The method can be performed by a robot scheduling device, which can be implemented in the form of hardware and / or software, and the robot scheduling device can be configured in an electronic device. The electronic device can be a server. Figure 1 As shown, the method includes:
[0031] Step 101: Obtain a job task to be executed, and determine a robot resource pool corresponding to the job task to be executed according to a job tag of the job task to be executed.
[0032] The robot resource pool includes a preset number of candidate robots.
[0033] Optionally, the to-be-performed task is a task that needs to be performed by the robot. The to-be-performed task includes a job tag of the to-be-performed task. The job tag of the to-be-performed task is information used to characterize the job type of the to-be-performed task.
[0034] Optionally, the user constructs multiple robot resource pools, sets the job label of each robot resource pool, and stores the job label of each robot resource pool in a preset database. The user may be a technician responsible for managing the robot. The preset database is a database for storing various types of information related to the robot. The robot resource pool consists of a preset number of candidate robots. The preset number can be set according to business needs. Exemplarily, the preset number is 10, and the robot resource pool consists of 10 candidate robots. The candidate robot is a robot used to perform job tasks. The job types of the job tasks that can be performed by each candidate robot in the same robot resource pool are the same. The job label of the robot resource pool is information used to characterize the job type of the job tasks that can be performed by each candidate robot in the robot resource pool. The job types of the job tasks that can be performed by each candidate robot in different robot resource pools are different. The job labels of different robot resource pools are different.
[0035] Optionally, the obtaining of the pending job tasks includes: obtaining the pending job tasks uploaded by the user. The user uploads the pending job tasks to the electronic device through the terminal device. The electronic device obtains the pending job tasks uploaded by the user.
[0036] Optionally, determining the robot resource pool corresponding to the job task to be executed based on the job tag of the job task to be executed includes: obtaining the job tag of each robot resource pool; detecting whether there is a target robot resource pool in each robot resource pool whose job tag is the same as the job tag of the job task to be executed; if the target robot resource pool exists, determining the target robot resource pool as the robot resource pool corresponding to the job task to be executed.
[0037] Optionally, obtaining the job label of each robot resource pool includes: obtaining the job label of each robot resource pool from a preset database.
[0038] Optionally, the robot resource pool corresponding to the job task to be performed is a robot resource pool containing various candidate robots that can be used to perform the job task to be performed. The job tag of the target robot resource pool is the same as the job tag of the job task to be performed, indicating that the job type of the job task that can be performed by each candidate robot in the target robot resource pool is the same as the job type of the job task to be performed, that is, each candidate robot in the target robot resource pool can be used to perform the job task to be performed. Detect whether there is a target robot resource pool in each robot resource pool whose job tag is the same as the job tag of the job task to be performed. If there is a target robot resource pool in each robot resource pool whose job tag is the same as the job tag of the job task to be performed, the target robot resource pool is determined as the robot resource pool corresponding to the job task to be performed.
[0039] Optionally, if there is no target robot resource pool with a job tag identical to the job tag of the job task to be performed in each robot resource pool, a preset error prompt message is provided to the user. The preset error prompt message is used to prompt that the robot resource pool corresponding to the job task to be performed cannot be determined. If there is no target robot resource pool with a job tag identical to the job tag of the job task to be performed in each robot resource pool, it indicates that there is no robot resource pool in each robot resource pool that contains each candidate robot that can be used to perform the job task to be performed, and the robot resource pool corresponding to the job task to be performed cannot be determined.
[0040] Step 102: Determine at least two idle candidate robots among the candidate robots according to the working status of the candidate robots.
[0041] Optionally, at least two idle candidate robots among the candidate robots are candidate robots among the candidate robots waiting to perform a task. The working status of each candidate robot is information set in each candidate robot for indicating that each candidate robot is performing a task, waiting to perform a task, or cannot perform a task due to a fault.
[0042] Optionally, determining at least two idle alternative robots among the alternative robots according to the working status of each of the alternative robots includes: obtaining the working status of each of the alternative robots; wherein the working status is an idle state, a running state or an offline state; and determining the alternative robot whose working status is an idle state as an idle alternative robot.
[0043] Optionally, the electronic device establishes a communication connection with each candidate robot, and information exchange can be performed based on the established communication connection. The electronic device obtains the working status of each candidate robot from each candidate robot.
[0044] Optionally, the standby robot working state is idle, indicating that the standby robot is waiting to perform a task. The standby robot working state is running, indicating that the standby robot is performing a task. The standby robot working state is offline, indicating that the standby robot cannot perform a task due to a fault.
[0045] Step 103: Determine a task execution evaluation value of each of the idle candidate robots according to historical operation information of each of the idle candidate robots.
[0046] Optionally, determining the task execution evaluation value of each idle candidate robot based on the historical operation information of each idle candidate robot includes: obtaining the historical operation information of each idle candidate robot; wherein the historical operation information includes all historical operation tasks, the execution results and the execution time of each historical operation task; according to the historical operation information of each idle candidate robot, counting the number of successful task executions, the number of task executions, the average execution time, and the rated execution time corresponding to each idle candidate robot of each idle candidate robot; determining the task execution success rate of each idle candidate robot according to the number of successful task executions and the number of task executions of each idle candidate robot; determining the execution time ratio of each idle candidate robot according to the rated execution time and the average execution time of each idle candidate robot; determining the task execution evaluation value of each idle candidate robot according to the task execution success rate and the execution time ratio of each idle candidate robot.
[0047] Optionally, the historical operation information of each idle candidate robot includes all historical operation tasks of each idle candidate robot, the execution result and the execution duration of each historical operation task. All historical operation tasks of the idle candidate robot are all operation tasks that have been completed by the idle candidate robot. The execution result of the historical operation task is used to indicate whether the historical operation task is successfully executed. The execution result of the historical operation task is execution success or execution failure. The execution duration of the historical operation task is the time taken by the idle candidate robot to complete the historical operation task.
[0048] Optionally, the user stores the historical operation information of each candidate robot in a preset database, and updates the historical operation information of each candidate robot after each candidate robot has a new completed operation task. The electronic device obtains the historical operation information of each idle candidate robot from the historical operation information of each candidate robot stored in the preset database.
[0049] Optionally, the number of successful task executions of the idle candidate robots is the number of historical operation tasks whose execution results are successful among all historical operation tasks of the idle candidate robots. The number of task executions of the idle candidate robots is the number of historical operation tasks of the idle candidate robots. The average execution time of the idle candidate robots is the average execution time of the historical operation tasks whose execution results are successful by the idle candidate robots. The rated execution time corresponding to each of the idle candidate robots is the minimum value among the average execution times of each of the idle candidate robots.
[0050] Optionally, the task execution success rate of the idle candidate robots is the ratio of the number of successful task executions of the idle candidate robots to the number of tasks executed. According to the number of successful task executions and the number of tasks executed of each idle candidate robot, the task execution success rate of each idle candidate robot is determined, including: performing the following operation for each idle candidate robot: calculating the ratio of the number of successful task executions of the idle candidate robots to the number of tasks executed, and obtaining the task execution success rate of the idle candidate robots.
[0051] Optionally, the greater the task execution success rate of the idle standby robot, the greater the probability that the idle standby robot successfully executes the task, and the better the task execution effect of the idle standby robot. The smaller the task execution success rate of the idle standby robot, the smaller the probability that the idle standby robot successfully executes the task, and the worse the task execution effect of the idle standby robot. The maximum value of the task execution success rate of the idle standby robot is 1. When the number of successful task executions and the number of task executions of the idle standby robot are the same, the task execution success rate of the idle standby robot is 1, that is, all historical task executions of the idle standby robot are successfully executed.
[0052] Optionally, the execution time ratio of the idle candidate robots is the ratio of the rated execution time to the average execution time of the idle candidate robots. According to the rated execution time and the average execution time of each idle candidate robot, the execution time ratio of each idle candidate robot is determined, including: performing the following operation for each idle candidate robot: calculating the ratio of the rated execution time to the average execution time of the idle candidate robots to obtain the execution time ratio of the idle candidate robots.
[0053] Optionally, the larger the execution time ratio of the idle candidate robot is, the smaller the average execution time of the idle candidate robot is, the faster the task execution speed of the idle candidate robot is, and the better the task execution effect of the idle candidate robot is. The smaller the execution time ratio of the idle candidate robot is, the larger the average execution time of the idle candidate robot is, the slower the task execution speed of the idle candidate robot is, and the worse the task execution effect of the idle candidate robot is. The maximum value of the execution time ratio of the idle candidate robot is 1. When the rated execution time and the average execution time of the idle candidate robot are the same, the execution time ratio of the idle candidate robot is 1, that is, the average execution time of the idle candidate robot is the minimum value among the average execution times of each of the idle candidate robots, and the idle candidate robot is the idle candidate robot with the fastest task execution speed among the idle candidate robots.
[0054] Optionally, determining the task execution evaluation value of each idle candidate robot according to the task execution success rate and execution time ratio of each idle candidate robot includes: performing the following operations for each idle candidate robot: using the following formula to calculate the task execution evaluation value of the idle candidate robot:
[0055] Z=a×X+b×Y,
[0056] Wherein, Z is the task execution evaluation value of the idle candidate robot, X is the task execution success rate of the idle candidate robot, Y is the execution time ratio of the idle candidate robot, and a and b are preset proportional coefficients. a and b can be set according to business requirements. For example, a is 0.5 and b is 0.5.
[0057] Optionally, the task execution evaluation value of the idle candidate robot is a value used to evaluate the task execution effect of the idle candidate robot from the dimensions of the probability of the idle candidate robot successfully executing the task and the task execution speed. The larger the task execution evaluation value of the idle candidate robot, the better the task execution effect of the idle candidate robot. The smaller the task execution evaluation value of the idle candidate robot, the worse the task execution effect of the idle candidate robot.
[0058] Step 104: determine a target idle candidate robot corresponding to the to-be-performed operation task according to the task execution evaluation value of each of the idle candidate robots, and send the to-be-performed operation task to the target idle candidate robot so that the target idle candidate robot performs the to-be-performed operation task.
[0059] Optionally, the target idle candidate robot corresponding to the to-be-performed operation task is an idle candidate robot used to perform the to-be-performed operation task.
[0060] Optionally, determining the target idle candidate robot corresponding to the job task to be executed based on the task execution evaluation value of each of the idle candidate robots includes: sorting each of the idle candidate robots in descending order of the task execution evaluation value, and determining the idle candidate robot ranked first in the sorting result as the target idle candidate robot corresponding to the job task to be executed.
[0061] Optionally, the idle candidate robot at the first position in the sorting result is the idle candidate robot with the largest task execution evaluation value among the idle candidate robots, that is, the idle candidate robot with the best task execution effect among the idle candidate robots. The idle candidate robot at the first position in the sorting result is determined as the target idle candidate robot corresponding to the task to be executed, and then the task to be executed is sent to the target idle candidate robot. The target idle candidate robot receives the task to be executed and executes the task to be executed.
[0062] Therefore, based on the task execution evaluation value of each idle candidate robot, the idle candidate robot with the best task execution effect among the idle candidate robots is determined as the target idle candidate robot for executing the task to be executed, that is, the optimal robot for the task to be executed. By executing the task to be executed with the optimal robot for the task to be executed, the execution success rate of the task to be executed is improved.
[0063] The technical solution of the embodiment of the present invention obtains the work task to be executed, and determines the robot resource pool corresponding to the work task to be executed according to the job label of the work task to be executed; wherein the robot resource pool includes a preset number of candidate robots; then, according to the working status of each candidate robot, at least two idle candidate robots among each candidate robot are determined; according to the historical work information of each idle candidate robot, the task execution evaluation value of each idle candidate robot is determined; finally, according to the task execution evaluation value of each idle candidate robot, the target idle candidate robot corresponding to the work task to be executed is determined, and the work task to be executed is sent to the target idle candidate robot, so that the target idle candidate robot executes the work task to be executed, thereby solving the problems of the related art. The robot scheduling scheme can only ensure that the robot performing the task is idle, but cannot ensure that the robot performing the task is the optimal robot for the task, which may cause the problem of failure in the execution of the task. The historical operation information of each idle candidate robot is obtained to determine the task execution evaluation value of each idle candidate robot. Based on the task execution evaluation value of each idle candidate robot, the idle candidate robot with the best task execution effect among the idle candidate robots is determined as the target idle candidate robot for executing the task to be executed, that is, the optimal robot for the task to be executed. By executing the task to be executed with the optimal robot for the task to be executed, the beneficial effect of improving the execution success rate of the task to be executed is achieved.
[0064] Embodiment 2
[0065] Figure 2 This is a flowchart of a robot scheduling method provided in Embodiment 2 of the present invention. This embodiment of the present invention can be combined with each optional solution in one or more of the above embodiments. Figure 2 As shown, the method includes:
[0066] Step 201: Obtain a job task to be executed, and determine a robot resource pool corresponding to the job task to be executed according to a job tag of the job task to be executed.
[0067] The robot resource pool includes a preset number of candidate robots.
[0068] Step 202: Determine at least two idle candidate robots among the candidate robots according to the working status of the candidate robots.
[0069] Step 203: Obtain historical operation information of each of the idle candidate robots.
[0070] The historical operation information includes all historical operation tasks, the execution results and execution duration of each historical operation task.
[0071] Step 204: According to the historical operation information of each of the idle candidate robots, the number of successful task executions, the number of task executions, the average execution time, and the rated execution time corresponding to each of the idle candidate robots are counted.
[0072] Step 205: Determine the task execution success rate of each idle candidate robot according to the number of successful task executions and the number of task executions of each idle candidate robot.
[0073] Step 206: Determine the execution time ratio of each of the idle candidate robots according to the rated execution time and the average execution time of each of the idle candidate robots.
[0074] Step 207: Determine the task execution evaluation value of each of the idle candidate robots according to the task execution success rate and execution time ratio of each of the idle candidate robots.
[0075] Step 208: sort the idle candidate robots in descending order of task execution evaluation values, and determine the idle candidate robot at the first position in the sorting result as the target idle candidate robot corresponding to the task to be executed.
[0076] Step 209: Send the to-be-performed operation task to the target idle candidate robot, so that the target idle candidate robot performs the to-be-performed operation task.
[0077] The technical solution of the embodiment of the present invention can automatically determine the task execution evaluation value of each idle candidate robot for evaluating the task execution effect of the idle candidate robot from the dimensions of the probability of the idle candidate robot successfully executing the task and the task execution speed according to the historical operation information of each idle candidate robot. Based on the task execution evaluation value of each idle candidate robot, the idle candidate robot with the best task execution effect among the idle candidate robots can be determined as the target idle candidate robot for executing the task to be executed, that is, the optimal robot for the task to be executed. By executing the task to be executed with the optimal robot for the task to be executed, the execution success rate of the task to be executed is improved.
[0078] Embodiment 3
[0079] Figure 3 This is a schematic diagram of the structure of a robot scheduling device provided in Embodiment 3 of the present invention. The device can be configured in an electronic device. Figure 3 As shown, the device includes: a resource pool determination module 301, a robot determination module 302, an evaluation value determination module 303 and a task execution module 304.
[0080] Among them, the resource pool determination module 301 is used to obtain the job task to be executed, and determine the robot resource pool corresponding to the job task to be executed according to the job label of the job task to be executed; wherein the robot resource pool includes a preset number of candidate robots; the robot determination module 302 is used to determine at least two idle candidate robots among each of the candidate robots according to the working status of each of the candidate robots; the evaluation value determination module 303 is used to determine the task execution evaluation value of each of the idle candidate robots according to the historical job information of each of the idle candidate robots; the task execution module 304 is used to determine the target idle candidate robot corresponding to the job task to be executed according to the task execution evaluation value of each of the idle candidate robots, and send the job task to be executed to the target idle candidate robot so that the target idle candidate robot executes the job task to be executed.
[0081] The technical solution of the embodiment of the present invention obtains the work task to be executed, and determines the robot resource pool corresponding to the work task to be executed according to the job label of the work task to be executed; wherein the robot resource pool includes a preset number of candidate robots; then, according to the working status of each candidate robot, at least two idle candidate robots among each candidate robot are determined; according to the historical work information of each idle candidate robot, the task execution evaluation value of each idle candidate robot is determined; finally, according to the task execution evaluation value of each idle candidate robot, the target idle candidate robot corresponding to the work task to be executed is determined, and the work task to be executed is sent to the target idle candidate robot, so that the target idle candidate robot executes the work task to be executed, thereby solving the problems of the related art. The robot scheduling scheme can only ensure that the robot performing the task is idle, but cannot ensure that the robot performing the task is the optimal robot for the task, which may cause the problem of failure in the execution of the task. The historical operation information of each idle candidate robot is obtained to determine the task execution evaluation value of each idle candidate robot. Based on the task execution evaluation value of each idle candidate robot, the idle candidate robot with the best task execution effect among the idle candidate robots is determined as the target idle candidate robot for executing the task to be executed, that is, the optimal robot for the task to be executed. By executing the task to be executed with the optimal robot for the task to be executed, the beneficial effect of improving the execution success rate of the task to be executed is achieved.
[0082] In an optional implementation of the embodiment of the present invention, optionally, the evaluation value determination module 303 is specifically used to: obtain the historical operation information of each of the idle candidate robots; wherein the historical operation information includes all historical operation tasks, the execution results and execution time of each of the historical operation tasks; based on the historical operation information of each of the idle candidate robots, count the number of successful task executions, the number of task executions, the average execution time, and the rated execution time corresponding to each of the idle candidate robots; determine the task execution success rate of each of the idle candidate robots based on the number of successful task executions and the number of task executions of each of the idle candidate robots; determine the execution time ratio of each of the idle candidate robots based on the rated execution time and the average execution time of each of the idle candidate robots; determine the task execution evaluation value of each of the idle candidate robots based on the task execution success rate and the execution time ratio of each of the idle candidate robots.
[0083] In an optional implementation of the embodiment of the present invention, optionally, when the evaluation value determination module 303 performs the operation of determining the task execution evaluation value of each idle candidate robot according to the task execution success rate and execution time ratio of each idle candidate robot, it is specifically used to: perform the following operation for each idle candidate robot: use the following formula to calculate the task execution evaluation value of the idle candidate robot:
[0084] Z=a×Y+b×Y,
[0085] Wherein, Z is the task execution evaluation value of the idle candidate robot, X is the task execution success rate of the idle candidate robot, Y is the execution time ratio of the idle candidate robot, and a and b are preset proportional coefficients.
[0086] In an optional implementation of an embodiment of the present invention, optionally, when the task execution module 304 performs the operation of determining the target idle candidate robot corresponding to the job task to be executed according to the task execution evaluation value of each of the idle candidate robots, it is specifically used to: sort each of the idle candidate robots in order from large to small according to the task execution evaluation value, and determine the idle candidate robot ranked first in the sorting result as the target idle candidate robot corresponding to the job task to be executed.
[0087] In an optional implementation of the embodiment of the present invention, optionally, when executing the operation of obtaining the job task to be executed, the resource pool determination module 301 is specifically used to: obtain the job task to be executed uploaded by the user.
[0088] In an optional implementation of an embodiment of the present invention, optionally, when the resource pool determination module 301 performs an operation of determining a robot resource pool corresponding to the job task to be executed based on the job tag of the job task to be executed, it is specifically used to: obtain the job tag of each robot resource pool; detect whether there is a target robot resource pool in each robot resource pool whose job tag is the same as the job tag of the job task to be executed; if the target robot resource pool exists, determine the target robot resource pool as the robot resource pool corresponding to the job task to be executed.
[0089] In an optional implementation of an embodiment of the present invention, optionally, the robot determination module 302 is specifically used to: obtain the working status of each of the candidate robots; wherein the working status is an idle state, a running state or an offline state; and determine the candidate robot whose working status is an idle state as an idle candidate robot.
[0090] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0091] The above-mentioned robot scheduling device can execute the robot scheduling method provided by any embodiment of the present invention, and has corresponding functional modules and beneficial effects for executing the robot scheduling method.
[0092] Embodiment 4
[0093] Figure 4 The schematic diagram of the structure of the electronic device 10 that can be used to implement the robot scheduling method of the embodiment of the present invention is shown. The components shown herein, their connections and relationships, and their functions are only for example, and are not intended to limit the implementation of the present invention described and / or required herein.
[0094] like Figure 4 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program built from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0095] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0096] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a robot scheduling method.
[0097] In some embodiments, the robot scheduling method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is built into the RAM 13 and executed by the processor 11, one or more steps of the robot scheduling method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the robot scheduling method in any other appropriate manner (e.g., by means of firmware).
[0098] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0099] The computer programs for implementing the robot scheduling 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, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program can be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.
[0100] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0101] To provide interaction with a user, the systems and techniques described herein may 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 trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0102] The systems and techniques described herein may 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 with a graphical user interface or a web browser through which a user can interact with implementations 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 may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0103] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0104] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0105] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A robot scheduling method, characterized in that: include: Acquire a job task to be executed, and determine a robot resource pool corresponding to the job task to be executed according to the job label of the job task to be executed; wherein the robot resource pool includes a preset number of candidate robots; Determining at least two idle candidate robots among the candidate robots according to the working status of the candidate robots; Determine the task execution evaluation value of each idle candidate robot according to the historical operation information of each idle candidate robot; wherein, determine the task execution evaluation value of each idle candidate robot according to the historical operation information of each idle candidate robot, including: obtain the historical operation information of each idle candidate robot; wherein, the historical operation information includes all historical operation tasks, the execution results and execution time of each historical operation task; according to the historical operation information of each idle candidate robot, count the number of successful task executions, the number of task executions, the average execution time, and the rated execution time corresponding to each idle candidate robot; determine the task execution success rate of each idle candidate robot according to the number of successful task executions and the number of task executions of each idle candidate robot; determine the execution time ratio of each idle candidate robot according to the rated execution time and the average execution time of each idle candidate robot; According to the task execution success rate and execution time ratio of each of the idle candidate robots, the task execution evaluation value of each of the idle candidate robots is determined; wherein, the average execution time of the idle candidate robots is the average execution time of the historical operation tasks whose execution results are successful execution of the idle candidate robots, the rated execution time corresponding to each of the idle candidate robots is the minimum value among the average execution times of the idle candidate robots, and the execution time ratio of the idle candidate robots is the ratio of the rated execution time to the average execution time of the idle candidate robots; the larger the execution time ratio of the idle candidate robots is, the smaller the average execution time of the idle candidate robots is, the faster the task execution speed is, and the better the operation task execution effect is, and the maximum value of the execution time ratio is 1; the task execution evaluation value of the idle candidate robots is a value used to evaluate the operation task execution effect of the idle candidate robots from the dimensions of the probability of the idle candidate robots successfully executing the operation tasks and the task execution speed; According to the task execution evaluation value of each of the idle candidate robots, a target idle candidate robot corresponding to the to-be-executed operation task is determined, and the to-be-executed operation task is sent to the target idle candidate robot so that the target idle candidate robot executes the to-be-executed operation task.
2. The method according to claim 1, characterized in that Determining the task execution evaluation value of each idle candidate robot according to the task execution success rate and execution time ratio of each idle candidate robot includes: For each idle candidate robot, perform the following operations: Use the following formula to calculate the task execution evaluation value of the idle candidate robot: Z=a×X+b×Y, Wherein, Z is the task execution evaluation value of the idle candidate robot, X is the task execution success rate of the idle candidate robot, Y is the execution time ratio of the idle candidate robot, and a and b are preset proportional coefficients.
3. The method according to claim 1, characterized in that The step of determining a target idle candidate robot corresponding to the task to be performed according to the task execution evaluation value of each idle candidate robot comprises: The idle candidate robots are sorted in descending order according to the task execution evaluation values, and the idle candidate robot at the first position in the sorting result is determined as the target idle candidate robot corresponding to the task to be executed.
4. The method according to claim 1, characterized in that: The obtaining of the job task to be executed includes: Get the pending job tasks uploaded by the user.
5. The method according to claim 1, characterized in that The step of determining a robot resource pool corresponding to the job task to be executed according to the job label of the job task to be executed includes: Get the job labels of each robot resource pool; Detecting whether there is a target robot resource pool in each robot resource pool with a job tag identical to the job tag of the job task to be executed; If the target robot resource pool exists, the target robot resource pool is determined as the robot resource pool corresponding to the job task to be performed.
6. The method according to claim 1, characterized in that The step of determining at least two idle candidate robots among the candidate robots according to the working status of the candidate robots comprises: Obtaining the working state of each candidate robot; wherein the working state is an idle state, a running state or an offline state; A candidate robot whose working state is an idle state is determined as an idle candidate robot.
7. A robot scheduling device, characterized in that: include: A resource pool determination module, used to obtain a job task to be executed, and determine a robot resource pool corresponding to the job task to be executed according to the job tag of the job task to be executed; wherein the robot resource pool includes a preset number of candidate robots; A robot determination module, used for determining at least two idle candidate robots among the candidate robots according to the working status of the candidate robots; An evaluation value determination module is used to determine the task execution evaluation value of each idle candidate robot according to the historical operation information of each idle candidate robot; wherein the evaluation value determination module is specifically used to: obtain the historical operation information of each idle candidate robot; wherein the historical operation information includes all historical operation tasks, the execution results and execution time of each historical operation task; according to the historical operation information of each idle candidate robot, count the number of successful task executions, the number of task executions, the average execution time, and the rated execution time corresponding to each idle candidate robot of each idle candidate robot; according to the number of successful task executions and the number of task executions of each idle candidate robot, determine the task execution success rate of each idle candidate robot; according to the rated execution time and the average execution time of each idle candidate robot, determine the execution time ratio of each idle candidate robot; according to the idle candidate robots The task execution success rate and execution time ratio of the idle candidate robots are used to determine the task execution evaluation value of each of the idle candidate robots; wherein, the average execution time of the idle candidate robots is the average execution time of the historical operation tasks whose execution results are successful execution of the idle candidate robots, the rated execution time corresponding to each of the idle candidate robots is the minimum value among the average execution times of the idle candidate robots, and the execution time ratio of the idle candidate robots is the ratio of the rated execution time to the average execution time of the idle candidate robots; the larger the execution time ratio of the idle candidate robots is, the smaller the average execution time of the idle candidate robots is, the faster the task execution speed is, and the better the operation task execution effect is, and the maximum value of the execution time ratio is 1; the task execution evaluation value of the idle candidate robots is a value used to evaluate the operation task execution effect of the idle candidate robots from the dimensions of the probability of the idle candidate robots successfully executing the operation tasks and the task execution speed; The task execution module is used to determine the target idle candidate robot corresponding to the to-be-executed operation task according to the task execution evaluation value of each of the idle candidate robots, and send the to-be-executed operation task to the target idle candidate robot so that the target idle candidate robot executes the to-be-executed operation task.
8. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively coupled to the at least one processor; 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 execute the robot scheduling method according to any one of claims 1 to 6.
9. 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 robot scheduling method according to any one of claims 1 to 6 when executed.
Citation Information
Patent Citations
Unmanned distribution equipment, distribution robot scheduling method and device, equipment and medium
CN109726962A