Robot carrying task scheduling method and device, computer equipment and storage medium
A dynamic task scheduling method for pallet truck robots in warehouse systems optimizes task distribution based on real-time workstations' load and resource availability, addressing uneven task execution and improving overall efficiency by preventing bottlenecks.
Patent Information
- Application Number
- CN202510773908.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-11
- Publication Date
- 2025-07-15
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In the case of large number of tasks, uneven distribution of execution time or dynamic changes in workstation load, the existing technology leads to the accumulation of tasks of some workstations and the idleness of other workstations, resulting in inefficient overall operation.
By obtaining the waiting task data of the pending tasks and workstations, dynamically filtering the task set to be issued, dispatching the task execution of the robot according to the actual load conditions of the workstation, and updating the waiting task data of the workstations in real time to form a dynamic closed-loop scheduling.
The global perception and self-adjustment capabilities of task scheduling are realized, and local congestion caused by concentrated tasks entering a certain workstation are avoided, which improves the overall operation efficiency of the workstation and the balance of task distribution.
Smart Images

Figure CN120317631A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and particularly to a method and device for scheduling robot handling tasks, a computer device, and a storage medium. Background Art
[0002] With the development of intelligent warehousing and automated logistics, the "goods-to-person" picking mode has become an efficient operation mode widely used in modern warehousing systems. In this mode, a pallet truck robot (PTR) undertakes the task of transporting full-pallet goods from the storage area to each picking workstation, and the staff or picking equipment completes the operation of sorting the goods into the order pallet within the workstation.
[0003] To improve the picking efficiency, the warehouse issues orders in batches. After each batch task is started, the system will generate a corresponding large number of pallet handling tasks. These tasks are executed by the PTR and gradually completed after being sent to multiple picking workstations. However, in the case of a large number of tasks, uneven execution time distribution, or dynamic changes in the workstation load, issuing a large number of pallet handling tasks easily leads to task accumulation at some workstations and idleness at other workstations, resulting in low overall operation efficiency of the workstations. Summary of the Invention
[0004] Based on this, in view of the above technical problems, it is necessary to provide a method and device for scheduling robot handling tasks, a computer device, a computer-readable storage medium, and a computer program product that can improve the balance of task scheduling of handling robots and improve the overall operation efficiency of workstations.
[0005] In a first aspect, the present application provides a method for scheduling robot handling tasks, including:
[0006] Obtaining one or more tasks to be processed and the waiting task data of each workstation;
[0007] Selecting a set of tasks to be issued from one or more of the tasks to be processed according to the waiting task data; the set of tasks to be issued includes at least one target task;
[0008] Determining a target workstation for each target task, scheduling a handling robot to execute the target task, and updating the waiting task data of the target workstation; each task to be processed corresponds to a workstation.
[0009] In one embodiment, the step of selecting a set of tasks to be issued from one or more of the tasks to be processed according to the waiting task data includes:
[0010] According to the waiting task data, obtaining the number of the target tasks that have not been completed and executed;
[0011] Compare the number of the target tasks that have not been completed and executed with a first threshold value to determine the quantity of tasks that can be dispatched.
[0012] Select a set of tasks to be dispatched from one or more of the to-be-processed tasks according to the quantity of tasks that can be dispatched.
[0013] In one embodiment, the selecting a set of tasks to be dispatched from one or more of the to-be-processed tasks according to the waiting task data includes:
[0014] According to the waiting task data, obtain the number of the target tasks of the handling robot that have not been scheduled to the target workstation.
[0015] Compare the number of the target tasks of the handling robot that have not been scheduled to the target workstation with a second threshold value to determine the quantity of tasks that can be dispatched.
[0016] Select a set of tasks to be dispatched from the one or more to-be-processed tasks according to the quantity of tasks that can be dispatched.
[0017] In one embodiment, the method further includes:
[0018] According to the waiting task data, count the number of the target tasks that the handling robot has been scheduled to the target workstation and not executed to obtain the delivered quantity.
[0019] In the case where the delivered quantity is greater than or equal to a third threshold value, suspend the step of determining a target workstation for each of the target tasks.
[0020] In one embodiment, each of the to-be-processed tasks corresponds to one or more to-be-processed entries; the method for determining the target workstation includes:
[0021] According to the waiting task data, determine the number of robots waiting to execute the to-be-processed tasks at each of the workstations.
[0022] And / or, according to the waiting task data, determine the number of to-be-processed entries at each of the workstations.
[0023] Sort the to-be-processed tasks in the set of tasks to be dispatched according to the number of robots and / or the number of to-be-processed entries to obtain a task dispatch queue.
[0024] Select the to-be-processed tasks as target tasks according to the task dispatch queue, and determine target workstations for the target tasks.
[0025] In one embodiment, sorting the to-be-issued tasks in the to-be-issued task set according to the number of the robots and / or the number of the to-be-processed entries to obtain an issued task queue includes:
[0026] For each to-be-processed task in the to-be-issued task set, using the number of the robots corresponding to each workstation as first identification information; and / or, according to the number of the to-be-processed entries of each workstation currently, simulating the number of the to-be-processed entries after the to-be-processed task is selected, and using the simulated number of the to-be-processed entries as second identification information;
[0027] Sorting the to-be-processed tasks in the to-be-issued task set according to the first identification information and / or the second identification information to obtain an issued task queue.
[0028] In one embodiment, sorting the to-be-processed tasks in the to-be-issued task set according to the first identification information and / or the second identification information to obtain an issued task queue includes:
[0029] Sorting the to-be-processed tasks in the to-be-issued task set according to the second identification information;
[0030] When there are multiple to-be-processed tasks with the same second identification information, sorting the to-be-processed tasks with the same second identification information according to the first identification information to obtain an issued task queue.
[0031] In one embodiment, after updating the waiting task data of the target workstation, further included is:
[0032] Re-executing the step of determining a target workstation for each target task until all the to-be-issued tasks in the to-be-issued task set are issued.
[0033] In one embodiment, after the handling robot finishes executing the target task, further included is:
[0034] When there is one successive workstation for the handling robot, scheduling the handling robot to execute the target task of the successive workstation and updating the waiting task data of the successive workstation.
[0035] In one embodiment, after the handling robot finishes executing the target task, further included is:
[0036] When there are multiple successive workstations for the handling robot, using the method for determining the target workstation, and selecting a new target workstation from the multiple successive workstations according to the waiting task data;
[0037] Dispatch the handling robot to execute the target task of the new target workstation, and update the waiting task data of the new target workstation.
[0038] In one embodiment, the method for determining the target workstation, which selects a new target workstation from multiple successive workstations according to the waiting task data, includes:
[0039] When multiple successive workstations are selected by the method for determining the target workstation, obtain the scheduling distance data between the current target workstation and each of the selected successive workstations;
[0040] Select one of the successive workstations as the new target workstation according to the scheduling distance data.
[0041] In a second aspect, the present application also provides a robot handling task scheduling device, including:
[0042] An information acquisition module, configured to acquire one or more tasks to be processed and the waiting task data of each workstation;
[0043] A data processing module, configured to select a task set to be dispatched from one or more tasks to be processed according to the waiting task data; the task set to be dispatched includes at least one target task;
[0044] A task scheduling module, configured to determine a target workstation for each target task, dispatch the handling robot to execute the target task, and update the waiting task data of the target workstation; each task to be processed corresponds to one workstation.
[0045] In a third aspect, the present application also provides a computer device, including a memory and a processor, where the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0046] Acquire one or more tasks to be processed and the waiting task data of each workstation;
[0047] Select a task set to be dispatched from one or more tasks to be processed according to the waiting task data; the task set to be dispatched includes at least one target task;
[0048] Determine a target workstation for each target task, dispatch the handling robot to execute the target task, and update the waiting task data of the target workstation; each task to be processed corresponds to one workstation.
[0049] Fourth aspect, the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0050] Obtain one or more tasks to be processed and the waiting task data of each workstation;
[0051] Select a task set to be dispatched from one or more tasks to be processed according to the waiting task data; the task set to be dispatched includes at least one target task;
[0052] Determine a target workstation for each target task, schedule a handling robot to execute the target task, and update the waiting task data of the target workstation; each task to be processed corresponds to one workstation.
[0053] Fifth aspect, the present application also provides a computer program product, including a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0054] Obtain one or more tasks to be processed and the waiting task data of each workstation;
[0055] Select a task set to be dispatched from one or more tasks to be processed according to the waiting task data; the task set to be dispatched includes at least one target task;
[0056] Determine a target workstation for each target task, schedule a handling robot to execute the target task, and update the waiting task data of the target workstation; each task to be processed corresponds to one workstation.
[0057] The above-mentioned robot handling task scheduling method, device, computer device, storage medium, and computer program product can achieve real-time perception of the current picking operation status by obtaining one or more tasks to be processed and the waiting task data of each workstation. Each task to be processed corresponds to a workstation. By obtaining the waiting task data, the current task load of each workstation can be grasped. According to the waiting task data, a task set to be dispatched including at least one target task is selected from one or more tasks to be processed, and then a target workstation is determined for each target task, so that the decision-making process of dispatching tasks is no longer statically sending in batches by wave, but dynamically screening based on the actual load of each current workstation. Subsequently, the handling robot is scheduled to execute the target task, and at the same time, the waiting task data of the target workstation is updated. The processes of scheduling, execution, and update form a dynamic closed loop, enabling the task scheduling to have both global perception ability and self-adjustment ability, thereby continuously optimizing the task dispatching rhythm according to the changes of the workstations, realizing the dynamic matching of the operation rhythm and the workload, effectively avoiding the situation of local congestion caused by tasks concentrating on a certain workstation, enhancing the balance of task distribution, and improving the overall operation efficiency of the workstation. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following will briefly introduce the drawings required for use in the description of the embodiments or related technologies. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0059] Figure 1 It is an application environment diagram of the robot handling task scheduling method in an embodiment;
[0060] Figure 2 It is a schematic flowchart of the robot handling task scheduling method in an embodiment;
[0061] Figure 3 It is a schematic layout diagram of the execution environment of tasks to be processed in the robot handling task scheduling method in an embodiment;
[0062] Figure 4 It is a schematic flowchart of the steps of the method for determining the target workstation in the robot handling task scheduling method in an embodiment;
[0063] Figure 5 It is a schematic flowchart of the steps of performing task scheduling for the subsequent workstation in the robot handling task scheduling method in an embodiment;
[0064] Figure 6 It is a structural block diagram of the robot handling task scheduling device in an embodiment;
[0065] Figure 7 is the internal structure diagram of a computer device in one embodiment;
[0066] Figure 8 is the internal structure diagram of a computer device in another embodiment. Detailed implementation manners
[0067] In order to make the objectives, technical solutions and advantages of the present application clearer and more understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0068] The robot handling task scheduling method provided by the embodiments of the present application can be applied to, for example, Figure 1 the application environment shown in the figure. Among them, the terminal 102 communicates with the server 104 through the network. The terminal 102 can be used to obtain information related to the task to be processed input by the user or operator, and can also be used to receive the data analysis result of the server 104 and display the operation status information of each workstation and each handling robot. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or can be placed in the cloud or other network servers. The data storage system can be used to store the tasks to be processed obtained by the terminal 102 or other service ends, and can also be used to store waiting task data, etc. Among them, the terminal 102 can be a display and control device installed on a handling robot, a picking workstation or a data management center, and can also be, but not limited to, various personal computers, laptop computers, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart vehicle-mounted devices, etc. The portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The server 104 can be implemented by an independent server or a server cluster composed of multiple servers.
[0069] In an exemplary embodiment, as shown in Figure 2 the figure, a robot handling task scheduling method is provided. Taking the method applied to the server 104 in Figure 1 as an example, the following steps S202 to step S206 are included. Among them:
[0070] Step S202, obtain one or more tasks to be processed and the waiting task data of each workstation.
[0071] Among them, the task to be processed can be a pallet handling task automatically generated according to information such as the type, quantity, corresponding workstation of the goods required by the order, and the pallet position of the goods in the warehouse.
[0072] Exemplarily, the server 104 can receive the tasks to be processed sent by the terminal 102, or continuously monitor the order data through the internal task management system. When a new batch of order waves is generated, the server 104 can automatically generate one or more tasks to be processed according to information such as the type and quantity of goods required by the order and the pallet position of the goods in the warehouse.
[0073] As Figure 3 shown, each task to be processed points to a specific pallet position and indicates the destination where the pallet needs to be moved, such as its corresponding picking workstation. Each task to be processed instructs the handling robot to pick up the goods from the corresponding destination in the picking area and then move the goods to the corresponding picking workstation to perform the picking task. When receiving the task instruction, the handling robot can be waiting in the charging area or waiting in the waiting area after completing the previous task. The tasks to be processed include multiple stages such as scheduling the handling robot to move to the picking area to pick up the goods, scheduling the handling robot to move from the picking area to the waiting queue of the picking workstation to wait for the picking task to be executed, and executing the picking task. Further, at the initialization stage or just after the wave is issued, a large number of tasks to be processed can be stored in the task pool. At this time, the server 104 can regularly and actively pull or obtain all the tasks to be processed in the task pool when receiving a data pull instruction.
[0074] Among them, the waiting task data includes the job inventory data of the corresponding workstation and the current load and congestion degree data. Exemplarily, the job inventory data can specifically be the number of tasks that have been assigned but not completed at the corresponding workstation and the number of picking items corresponding to each task, etc. The current load and congestion degree data can specifically be data such as the number of handling robots currently queuing up to wait for the picking operation.
[0075] Exemplarily, the server 104 can collect the above waiting task data in real time by calling the workstation status monitoring task to master the task pressure situation of each workstation. For example, there are three tasks to be processed, Task1, Task2, and Task3, in the current task pool. The server 104 can extract these three tasks from the task pool for processing when the polling scheduling cycle arrives. At the same time, the server 104 can also obtain the waiting task data of four picking workstations S1 to S4, including the number of picking items FTi of each workstation Si, such as 15, 13, 17, and 16 respectively, and the number of robots FVi that are currently executing tasks at each workstation, such as 3, 5, 4, and 5 respectively.
[0076] Step S204, select a set of tasks to be dispatched from one or more tasks to be processed according to the waiting task data.
[0077] Among them, the task set to be dispatched includes at least one target task. Exemplarily, the server 104 may obtain the number of target tasks that have not been completed according to the waiting task data; compare the number of target tasks that have not been completed with the first threshold to determine the task volume that can be dispatched; and select the task set to be dispatched from one or more tasks to be processed according to the task volume that can be dispatched.
[0078] Among them, the target task that has not been completed refers to the task to be processed that has been dispatched but not completed yet.
[0079] Further, the server 104 may count the number of tasks that have been dispatched but not completed according to the waiting task data of each workstation, which may be the total number of tasks currently being executed, and it may represent the tasks to be processed that are being executed or in the queue. The server 104 may compare this number with the first threshold preset by the system. Among them, the first threshold may be the upper limit of the maximum number of tasks to be executed. For example, it may be preset to 5. If the number of tasks currently being executed has reached or exceeded this threshold, the server 104 may no longer dispatch new tasks but enter the waiting stage and periodically re-detect the task status. If the current total number of tasks is lower than the threshold, it means that there is still scheduling margin in the system, and the server 104 can continue to select the task set to be dispatched.
[0080] Exemplarily, the server 104 may also obtain the number of target tasks for which the handling robot has not been dispatched to the target workstation according to the waiting task data; compare the number of target tasks for which the handling robot has not been dispatched to the target workstation with the second threshold to determine the task volume that can be dispatched; and select the task set to be dispatched from one or more tasks to be processed according to the task volume that can be dispatched.
[0081] Among them, the target task for which the handling robot has not been dispatched to the target workstation refers to a type of task to be processed that has been dispatched, but due to the handling robot needing to first reach the specified destination to pick up goods and then transport the goods to the target workstation, or due to insufficient currently schedulable robots, the handling robot has not been dispatched to the target workstation and is not waiting in the waiting queue of the target workstation.
[0082] Further, the server 104 can count the number of tasks that have been dispatched but the handling robots have not been scheduled yet based on the task data awaited by each workstation, which can be the total number of tasks currently awaiting assignment for execution. The server 104 can compare this quantity with a second threshold preset in the system. The second threshold can be the upper limit maxTaskNum of the total number of tasks awaiting assignment for execution. For example, it can be preset to 3. If the number of such tasks has reached or exceeded this threshold, the server 104 can stop dispatching new tasks and enter a waiting phase, periodically re-checking the task status. If the current total number of tasks is lower than the threshold, indicating that there is still room for scheduling in the system, the server 104 can continue to select the task set to be dispatched.
[0083] Step S206: Determine a target workstation for each target task, schedule a handling robot to execute the target task, and update the task data awaited by the target workstation.
[0084] Each task to be processed corresponds to a workstation. After the preliminary screening of the task set to be dispatched, the server 104 can further sort these target tasks to determine which target tasks will be preferentially scheduled to the target workstation for execution.
[0085] Exemplarily, the server 104 can evaluate the execution load status of each workstation based on the task data awaited obtained in the current system. The task data awaited can include the number of robots waiting to execute tasks at the target workstation, which is used to reflect the congestion degree of the workstation during execution; it can also include the total number of items to be processed at the workstation, that is, the amount of work not yet completed. These two parameters characterize the load situation of the workstation from different perspectives: the more robots in the queue, the higher the congestion degree of the waiting queue at the workstation, and the more items to be processed, the higher the density of the job tasks, and the longer the waiting time for execution. The server 104 can use these two dimensions as the basic variables for sorting to quantitatively sort all tasks to be dispatched.
[0086] Exemplarily, the server 104 may determine the priorities of each target task according to the above-mentioned number of queuing robots and the number of entries to be processed. For example, it may first compare the number of queuing robots at the workstations corresponding to multiple target tasks to preliminarily determine the priorities. Suppose the server 104 has screened out three tasks to be dispatched, namely Task1, Task2, and Task3, which correspond to workstations S2, S1, and S3 respectively. The server 104 can learn from the waiting task data that there are currently 5 handling robots queuing at S2 and 13 picking entries remaining; there are 3 handling robots at S1 and 15 picking entries to be processed; there are 4 handling robots queuing at S3 and 17 picking entries to be processed. After comparison, the server 104 can find that although the number of entries at S1 is relatively large, the number of queuing robots is relatively small, and the overall load of the workstation is acceptable; the queue at S2 is serious, and the entry load at S3 is the heaviest. Thus, the server 104 can sort the tasks as Task2 (S1) first, followed by Task3 (S3), and finally Task1 (S2), generate a task dispatch queue, and thereby determine the target workstation for each target task. In the case where the number of queuing robots at the workstations corresponding to multiple target tasks with the highest current priority is the same, then compare the number of entries to be processed at the corresponding workstations of these target tasks to more accurately determine the priorities of these target tasks. For example, if in the above example, both S2 and S3 have 5 handling robots queuing, then the number of entries to be processed at the two can be compared to determine that the priority of S2 is higher than that of S3. In some other embodiments, the server 104 may also first compare the number of entries to be processed at the workstations corresponding to multiple target tasks. In the case where the number of entries to be processed at the workstations corresponding to multiple target tasks with the highest current priority is the same, then compare the number of queuing robots at the corresponding workstations of these target tasks to more accurately determine the priorities of these target tasks.
[0087] Furthermore, the waiting task data may further include information such as the picking completion rate of the target workstation, the average processing cycle, the historical backlog trend, the picking level of the picking personnel / robots, and the traffic congestion degree of the robot approaching path.
[0088] Among them, the picking completion rate refers to the number of picking entries that a workstation can complete per unit time. The server 104 can count the actual processing efficiency of each workstation in different time periods according to the historical task execution records. If a workstation can process more entries per unit time, it indicates that its execution ability is strong and it is more suitable for undertaking intensive tasks; the average processing cycle represents the average time elapsed from when the robot arrives at the workstation to the completion of the task, reflecting the actual digestion rate of the workstation for the tasks; the historical backlog trend is used to characterize whether the workstation has frequently encountered task backlog problems in the past multiple scheduling cycles.
[0089] Exemplarily, the server 104 can preset weighting coefficients for the above data respectively, or integrate the above data into a comprehensive weighting coefficient, which can be applied to the scheduling priority of each task. For example, if the number of queuing robots and the number of entries to be processed at a certain workstation are both large, but its picking completion rate is much higher than that of other workstations or higher than the preset rate threshold upper limit, the priority weight of this task can be increased, so as to float up in the sorting; on the contrary, if the picking completion rate of a certain workstation is much lower than that of other workstations or lower than the preset rate threshold lower limit, even if its current queue is less or the number of entries to be processed is less, the server 104 can also reduce its scheduling priority in the sorting.
[0090] Exemplarily, during the scheduling process of the handling robot, the server 104 can select an available handling robot by combining information such as the current idle state of the current handling robot, the scheduling strategy, and the path accessibility. After receiving the instruction, the robot will go to the tray storage location bound to the task and perform the tray loading operation. During this process, the server 104 can not only assign the task itself, but also coordinate the robot path, the workstation queuing status, and the resource usage in real time to ensure that the scheduling process is efficient and conflict-free.
[0091] Furthermore, after the server 104 completes scheduling the handling robot to the target workstation, it can also update the waiting task data of the target workstation. The server 104 can increase the number of queuing robots at the target workstation (which can be the number of robots that have been assigned but have not yet arrived or have not yet completed) by 1, so as to reflect that a new task has flowed into the waiting queue of this workstation; at the same time, the server 104 can also increase the total number of entries to be processed at this workstation according to the number of picking entries defined in the task. Exemplarily, the target workstation identified by the server 104 for Task2 is S1, and this task will bring 3 picking entries to S1. Therefore, after successfully issuing the task, the server 104 can increase the number of queuing robots at S1 by 1, and at the same time update its number of entries from the original 15 to 18. After the update is completed, the server 104 can record the task issued status and mark this task as "in execution", so as to ensure that it will no longer be misjudged as a task to be processed. After updating the waiting task data of the target workstation, the server 104 can re-execute the step of selecting a task to be processed from the tasks to be issued as the target task until all the tasks to be issued in the tasks to be issued set are issued.
[0092] Further, to avoid the problem of excessive queuing of robots at a certain workstation and blockage of the operation channel due to excessive dispatch, the server 104 can also count the number of target tasks that have been dispatched to the target workstation by the handling robots and have not been executed based on the waiting task data to obtain the delivered quantity; when the delivered quantity is greater than or equal to the third threshold, the step of determining the target workstation for each target task is suspended.
[0093] The target tasks that have been dispatched to the target workstation and have not been executed refer to the target tasks for which the handling robots have been assigned and have entered the waiting queue of the target workstation, but the corresponding picking work has not yet started. Exemplarily, the server 104 can count the delivered quantity corresponding to each workstation in real time. If three handling robots in the current system have been assigned to workstation S2 and have entered the queuing area (waiting queue) of S2 waiting for the operation instruction to start execution, the delivered quantity of workstation S2 is 3. The server 104 can accurately identify such target tasks and obtain the delivered quantity by retrieving the task status table or combining the position information of the handling robots with the task life cycle flag.
[0094] Next, the server 104 can compare the delivered quantity with the third threshold separately configured for each workstation in the system, or compare the sum of the delivered quantities of multiple workstations with the third threshold overall configured for the corresponding areas of these workstations in the system. This threshold can be an upper limit value, which is used to define the maximum number of queuing tasks that a certain workstation can accommodate at any time or the maximum total number of queuing tasks that all workstations in a certain area can accommodate at any time. For example, if the third threshold of S2 is 3 and the currently counted delivered quantity is also 3, it means that the task waiting pool of this workstation has reached the maximum load boundary. At this time, to avoid robot congestion or task backlog at the front end of the workstation, the server 104 can actively suspend the operation of determining the target workstation for all new tasks pointing to S2 and can no longer assign the next candidate task to S2.
[0095] In the above robot handling task scheduling method, by obtaining one or more tasks to be processed and the waiting task data of each workstation, the real-time perception of the current picking operation status is realized. Each task to be processed corresponds to a workstation. By obtaining the waiting task data, the current task load of each workstation can be grasped. According to the waiting task data, a task set to be dispatched including at least one target task is selected from one or more tasks to be processed, and then a target workstation is determined for each target task, so that the decision-making process of dispatching tasks is no longer statically sending in batches by wave, but dynamically screening based on the actual load of each current workstation. Subsequently, the handling robot is scheduled to execute the target task, and at the same time, the waiting task data of the target workstation is updated. The processes of scheduling, execution, and update form a dynamic loop, so that the task scheduling has both global perception ability and self-adjustment ability, thereby continuously optimizing the task dispatching rhythm according to the changes of the workstations, realizing the dynamic matching of the operation rhythm and the workload, and effectively avoiding the situation of local congestion caused by tasks concentrating on a certain workstation, enhancing the balance of task distribution.
[0096] In an exemplary embodiment, as Figure 4 shown, each task to be processed corresponds to one or more items to be processed; the method for determining the target workstation in step S206 may include steps S302 to S306. Among them:
[0097] Step S302, according to the waiting task data, determine the number of robots waiting to execute the tasks to be processed at each workstation, and / or, according to the waiting task data, determine the number of items to be processed at each workstation.
[0098] Exemplarily, the server 104 can analyze each target workstation corresponding to each candidate task from two dimensions: one is the number of robots waiting to execute the tasks to be processed, and the other is the number of items to be processed. These two dimensions respectively reflect the occupation degree of the workstation in terms of space resources and operation resources. In different embodiments, the server 104 can analyze the data of the above two dimensions completely, or only analyze one of them.
[0099] In the first dimension, the server 104 identifies the number of robots waiting to execute pending tasks by waiting for task data, counts the number of robots that take the current workstation as the target workstation (including the number of robots that have been assigned tasks but not delivered and the number of robots that have been assigned tasks and have been delivered), or counts the number of robots waiting to execute in the queuing area of the current workstation. Exemplarily, the server 104 can quickly count the number of robots in the above situations by comparing all tasks marked as "assigned but not executed" in the waiting task data and combining the workstation fields bound to them. For example, if Task12, Task18, and Task22 in the system have all been scheduled to S3 and their status has not been marked as "executed", the server 104 can determine that the current number of waiting robots at S3 is 3.
[0100] In the second dimension, the server 104 can also obtain the number of pending items for each workstation, that is, the total quantity of merchandise items that have not been completed for picking. This data can be sourced from the item lists recorded in each task. When the server 104 assigns tasks to the target workstation, it has accumulated item information in the task pool of that workstation. Therefore, the total number of its current pending items is maintained by continuously adding up the items in the tasks to be executed. For example, if a workstation has currently been assigned 3 unexecuted tasks, containing 5, 7, and 4 picking items respectively, then the number of its pending items is 16. The server 104 can obtain the total number of all items contained in the tasks that have not been completed at the workstation by accessing the task cache or task registration form of the target workstation, and thus obtain the real-time picking workload of the workstation. This data reflects the load situation of the workstation in terms of task intensity, representing the time cost and actual resource pressure required for job processing. The more items there are, the longer the residence time of a single robot operation, the longer the queuing waiting time, and the lower the system throughput capacity.
[0101] Furthermore, the server 104 can use both of these two dimensions simultaneously during the scheduling process, or use one of them according to the system policy, forming a flexible and adjustable sorting algorithm. In some embodiments, the server 104 can give priority to referring to the number of items to ensure that the task pressure on the target workstation does not quickly accumulate after the tasks are issued; while in other embodiments, the server 104 can pay more attention to the number of robots in the queue to avoid physical space congestion or traffic path blockage.
[0102] Step S304, sort the pending tasks in the set of tasks to be issued according to the number of robots and / or the number of pending items to obtain an issued task queue.
[0103] Exemplarily, for each to-be-issued task in the to-be-issued task set, the server 104 may use the number of robots corresponding to each workstation as the first identification information; and / or, based on the current number of to-be-processed items in each workstation, simulate the number of to-be-processed items after the to-be-issued task is selected, and use the simulated number of to-be-processed items as the second identification information; according to the first identification information and / or the second identification information, sort the to-be-issued tasks in the to-be-issued task set to obtain an issued task queue. The server 104 may, for each to-be-issued task in the to-be-issued task set, use the number of queuing robots as the first identification information to evaluate the acceptability of the target workstation for new tasks at the current moment. The fewer the queuing number, the more idle the workstation is. For example, in the original state, the number of queuing robots of the four workstations are {3, 5, 4, 5} respectively. When the server 104 examines Task1, its target workstation is S2, and the number of queuing robots is 5, that is, the first identification information is 5; Task2 corresponds to S1, and its queuing robot is 3, so the first identification information is 3; Task3 points to S3, and the corresponding queuing robot is 4. The server 104 may further simulate and predict the post-issuance job load for each to-be-issued task based on the current number of to-be-processed items in each workstation. The server 104 may add the item distribution information carried by each task to the total number of items currently recorded in its corresponding workstation to predict the updated total number of items in the workstation after the task is issued as the second identification information.
[0104] Further, the server 104 may sort the to-be-issued tasks in the to-be-issued task set only according to the first identification information; may sort the to-be-issued tasks in the to-be-issued task set only according to the second identification information; or may also sort the to-be-issued tasks in the to-be-issued task set according to both the first identification information and the second identification information. Exemplarily, the server 104 may sort the to-be-issued tasks in the to-be-issued task set according to the second identification information; in the case where the second identification information corresponding to multiple to-be-issued tasks is the same, sort the to-be-issued tasks with the same second identification information according to the first identification information to obtain an issued task queue.
[0105] Exemplarily, the server 104 can calculate two quantitative metrics for measuring the impact on the system load after task distribution respectively: one is the standard deviation of the distribution of the number of robots at each workstation after task distribution (Vi value) as the first identification information, and the other is the standard deviation of the distribution of the number of items at each workstation after task distribution (Ti value) as the second identification information. The final sorting can first perform an ascending order screening based on the Ti value, and in the case of multiple tasks with the same Ti value, then make a selection based on the Vi value. Further, the server 104 can read the number of robots (FV) and the number of items (FT) of the four workstations according to the current system state as the basis for sorting. For example, the current system state is: FV = {3, 5, 4, 5}, FT = {15, 13, 17, 16}. Assume that there are three tasks in the task pool to be processed, namely Task1, Task2, and Task3, and the number of items carried by each task is as follows: The picking item distribution of Task1 is {0, 5, 8, 0}, that is, the workstations it involves are S2 and S3; the picking item distribution of Task2 is {3, 5, 2, 0}, involving workstations S1, S2, and S3; the picking item distribution of Task3 is {5, 6, 4, 3}, involving all workstations S1 to S4.
[0106] The server 104 can simulate the changes in the number of robots (FV) and the number of items (FT) of the corresponding workstations if each task is distributed. Taking Task1 as an example, the current FV is {3, 5, 4, 5}, and since it involves S2 and S3, the server 104 can add 1 to the number of robots at these two stations respectively to get FV1 = {3, 6, 5, 5}; at the same time, add 5 to the items at S2 and 8 to the items at S3 to get FT1 = {15, 18, 25, 16}. Subsequently, the server 104 can calculate the standard deviation of FV1 and FT1 respectively to obtain Vi = 1.2583 and Ti = 4.5092.
[0107] Similarly, the server 104 can simulate Task2, adjust the number of robots to FV2 = {4, 6, 5, 5}, adjust the items to FT2 = {18, 18, 19, 16}, and calculate to obtain Vi = 0.8165 and Ti = 1.2583; for Task3, adjust the number of robots to FV3 = {4, 6, 5, 6}, adjust the items to FT3 = {20, 19, 21, 19}, and calculate to get Vi = 0.9574 and Ti = 2.5166.
[0108] Step S306, select the task to be processed as the target task according to the task distribution queue, and determine the target workstation for the target task.
[0109] Exemplarily, the server 104 may sort all tasks in ascending order of the Ti value, so as to select the task to be processed as the target task according to the issued task queue. Continuing with the above example, the sorting result is: Task2 (1.2583) < Task3 (2.5166) < Task1 (4.5092). The server 104 may directly select Task2 with the smallest Ti value as the target task for this issuance, without considering the Vi value anymore. In some embodiments, the server 104 may also select the two tasks with the smallest Ti values after sorting, namely Task2 and Task3, to form a candidate set. At this time, it is necessary to further compare the Vi values of these two tasks, which are 0.8165 (Task2) and 0.9574 (Task3) respectively. Since the Vi of Task2 is smaller, indicating that the distribution of robots is more balanced after its issuance, the server 104 finally selects Task2 as the target task for this issuance, and uses the workstation corresponding to this target task as the target workstation.
[0110] After completing the task issuance, the server 104 may update the current FV and FT states to the states after Task2 is issued, that is, FV = {4, 6, 5, 5}, FT = {18, 18, 19, 16}, and update the task quantity taskNum = 2. Subsequently, enter the second round of sorting, and calculate the Ti and Vi values of the remaining tasks (Task1 and Task3 at this time) in the new state again, and repeat the above sorting and screening logic. At this time, the tasks that have not been scheduled in the system include Task1 and Task3, and the number of queuing robots at the currently updated workstations is FV = {4, 6, 5, 5}, and the corresponding number of pending entries is FT = {18, 18, 19, 16}. The server 104 may simulate the new state that the system will enter if Task1 is issued. The picking entries corresponding to Task1 are {0, 5, 5, 0}, and the target workstations are S2 and S3. Therefore, the server 104 adds 1 to the number of queuing robots at S2 and S3 respectively, and obtains the simulated FV1 = {4, 7, 6, 5}. At the same time, add 5 to the S2 entry and 5 to the S3 entry, and obtain the simulated entry distribution FT1 = {18, 23, 24, 16}. Subsequently, the server 104 may calculate two pieces of identification information corresponding to this task: the first identification information, that is, the standard deviation STD(FV1) is 1.2910, and the second identification information, that is, STD(FT1) is 3.8622.
[0111] Next, the server 104 can perform the same simulation process on Task3. The picking entries of Task3 are {5, 6, 4, 3}, and the target workstations are all four workstations. The server 104 can increment the number of queuing robots of S1 to S4 by 1 respectively, obtaining FV3 = {5, 7, 6, 6}; the number of entries is also incremented one by one, obtaining FT3 = {23, 24, 23, 19}. The corresponding first identification information is STD(FV3) = 0.8165, and the second identification information is STD(FT3) = 2.2174.
[0112] Subsequently, the server 104 can first perform a preliminary sorting of the tasks according to the second identification information. Since the value 2.2174 of T3 is less than 3.8622 of T1, it indicates that the distribution of Task3 has a more beneficial effect on the balance of the system entry load. Therefore, Task3 is ranked before Task1 and becomes the sorting priority. The server 104 can select Task3 as the target task for this round of scheduling, distribute Task3, and update the system status. At this time, the number of robots at the four workstations becomes FV = {5, 7, 6, 6}, and the entries to be processed become FT = {23, 24, 23, 19}. At the same time, the server 104 can increment the total number of tasks taskNum being executed by 1 to become 3. Since the current taskNum has reached the upper limit of task execution maxTaskNum set by the system, the server 104 can determine that the system has reached the scheduling saturation state, so it can pause the subsequent scheduling actions and enter the waiting stage.
[0113] This embodiment realizes the quantitative simulation of the impact of tasks to be distributed. With the goal of minimizing the resource standard deviation, it ensures that the distribution of tasks will not cause extreme concentration of resources at individual workstations, thereby maintaining the dynamic balance of the overall system load. The server 104 can iteratively select only one optimal task for distribution each time and update the status of each workstation in real time, making the entire task scheduling process have both local optimality and maintain the order and stability of the overall scheduling rhythm.
[0114] In an exemplary embodiment, as Figure 5 shown, after the above step S208, it may further include steps S402 to S406. Among them:
[0115] Step S402, in the case where there is a subsequent workstation for the handling robot, schedule the handling robot to execute the target task of the subsequent workstation and update the waiting task data of the subsequent workstation.
[0116] Exemplarily, during the operation of the system, after the server 104 completes the previous stage of task scheduling and execution, it needs to further handle the path allocation problem when the handling robot is in the intermediate state of the task. For the scenario where the robot still needs to go to the next workstation to execute the subsequent task after completing a certain stage of picking task, if the robot has only one subsequent workstation to go to, the server 104 can make no judgment and directly schedule the handling robot to go to the only target workstation to perform the picking operation. At this time, there is no need to perform sorting or path selection logic, and the robot will quickly reach the subsequent workstation according to the predetermined path. The server 104 can simultaneously update the waiting task data of this subsequent workstation, increment the number of queued robots by 1, and accumulate the number of entries of this task on this workstation to the pending entry statistical value of the workstation.
[0117] Step S404, in the case where the handling robot has multiple subsequent workstations, adopt the determination method of the target workstation, and select a new target workstation from the multiple subsequent workstations according to the waiting task data.
[0118] Exemplarily, in the case where the destinations of the remaining tasks of the handling robot are multiple different subsequent workstations, that is, the handling robot has multiple subsequent workstations, the server 104 can adopt the determination method of the target workstation in the above embodiment, analyze the Ti value and Vi value according to the waiting task data, and then select a new target workstation from the multiple subsequent workstations according to the obtained first identification information and second identification information.
[0119] Furthermore, for the multiple subsequent workstations with the same first identification information and second identification information in the above embodiment, they will be selected simultaneously. At this time, it is impossible to directly determine a new target workstation through the above determination method of the target workstation. At this time, a new target workstation can be selected from these subsequent workstations according to the scheduling distance data between the current target workstation and each of the selected subsequent workstations. Exemplarily, when the server 104 selects multiple subsequent workstations by adopting the determination method of the target workstation in the above embodiment, it can obtain the scheduling distance data between the current target workstation and each of the selected subsequent workstations; select a subsequent workstation as the new target workstation according to the scheduling distance data.
[0120] Exemplarily, when there are multiple consecutive workstations for the handling robot, the server 104 can also calculate the number of queuing robots FQi for each consecutive workstation based on the execution status of the current task and the consecutive workstations to which the remaining task entries belong. If the server 104 determines that all the remaining entries belong to only one workstation, it can directly select this workstation as the new target workstation and schedule the robot to execute. However, if there are two or more consecutive workstations, the server 104 can give priority to considering whether the number of queuing robots is lower than the set threshold minWaitNum. The server 104 can screen out all the consecutive workstations with the number of queuing robots less than minWaitNum from multiple consecutive workstations. If there is only one eligible consecutive workstation after screening, it can be directly selected; if there are multiple eligible consecutive workstations, the server 104 can obtain the scheduling distance data between the current target workstation and each of the selected consecutive workstations based on the current position of the robot; and select one consecutive workstation as the new target workstation according to the scheduling distance data.
[0121] Further, if the number of queuing robots at any consecutive workstation in the screening result is not lower than minWaitNum, the server 104 can select the consecutive workstation with the fewest queuing robots from all consecutive workstations. If the value is unique, it can directly determine this consecutive workstation as the new target workstation; if there are multiple consecutive workstations with the same number of queuing robots, the server 104 can compare their relative distances to the robot again, obtain the scheduling distance data between the current target workstation and each of the selected consecutive workstations; and select one consecutive workstation as the new target workstation according to the scheduling distance data.
[0122] Step S406, schedule the handling robot to execute the target task of the new target workstation and update the waiting task data of the new target workstation.
[0123] Exemplarily, the server 104 can immediately schedule the handling robot to go to this destination after the new target workstation is determined and execute the corresponding picking task. At the same time, the server 104 can synchronously update the waiting task data of this target workstation, increase the number of queuing robots and the number of picking entries at this workstation, and ensure that the scheduling status is timely fed back to the system resource management layer.
[0124] In the above embodiment, through the multi-level judgment method, the server 104 realizes the intelligent control of the consecutive task path of the handling robot, ensuring that when the robot faces multiple possible picking paths, it always selects the target workstation with the minimum current system pressure and the optimal scheduling path, thereby effectively improving the overall warehouse operation turnover efficiency, preventing queuing accumulation at the workstation and waste of robot resources, and providing a strong dynamic adaptation ability for the multi-workstation continuous picking task.
[0125] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are sequentially shown as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear description in this article, there is no strict order limit for the execution of these steps, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-described embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.
[0126] Based on the same inventive concept, an embodiment of the present application further provides a robot handling task scheduling device for implementing the above-mentioned robot handling task scheduling method. The solution provided by this device to solve the problem is similar to the solution described in the above method. Therefore, the specific limitations in one or more embodiments of the robot handling task scheduling device provided below can refer to the limitations on the robot handling task scheduling method in the above text, and will not be repeated here.
[0127] In an exemplary embodiment, as Figure 6 shown, a robot handling task scheduling device is provided, including: an information acquisition module 602, a data processing module 604, and a task scheduling module 606, where:
[0128] The information acquisition module 602 is used to acquire one or more tasks to be processed and the waiting task data of each workstation;
[0129] The data processing module 604 is used to select a task set to be issued from one or more tasks to be processed according to the waiting task data; the task set to be issued includes at least one target task;
[0130] The task scheduling module 606 is used to determine a target workstation for each target task, schedule a handling robot to execute the target task, and update the waiting task data of the target workstation; each task to be processed corresponds to a workstation.
[0131] In one of the embodiments, the data processing module 604 is specifically used to: obtain the number of target tasks that have not been completed according to the waiting task data; compare the number of target tasks that have not been completed with a first threshold to determine the task volume that can be issued; and select a task set to be issued from one or more tasks to be processed according to the task volume that can be issued.
[0132] In one embodiment, the data processing module 604 is specifically configured to: obtain the number of target tasks for which the handling robot has not been scheduled to the target workstation according to the waiting task data; compare the number of target tasks for which the handling robot has not been scheduled to the target workstation with a second threshold to determine the task volume that can be assigned; and select a set of tasks to be assigned from one or more tasks to be processed according to the task volume that can be assigned.
[0133] In one embodiment, the apparatus further includes a pause control module, configured to count the number of target tasks that the handling robot has been scheduled to the target workstation and has not executed according to the waiting task data to obtain the delivered quantity; and pause the step of determining the target workstation for each target task when the delivered quantity is greater than or equal to a third threshold.
[0134] In one embodiment, each task to be processed corresponds to one or more entries to be processed; the task scheduling module 606 includes a target workstation determination unit, configured to determine the number of robots waiting to execute the tasks to be processed at each candidate workstation according to the waiting task data; and / or determine the number of entries to be processed at each candidate workstation according to the waiting task data; sort the tasks to be processed in the set of tasks to be assigned according to the number of robots and / or the number of entries to be processed to obtain a task queue for assignment; and select a task to be processed as a target task according to the task queue for assignment and determine a target workstation for the target task.
[0135] In one embodiment, the target workstation determination unit includes:
[0136] A first processing subunit, configured to use the number of robots corresponding to each candidate workstation as first identification information for each task to be processed in the set of tasks to be assigned; and / or simulate the number of entries to be processed after the task to be processed is selected according to the number of entries to be processed currently at each candidate workstation, and use the simulated number of entries to be processed as second identification information.
[0137] A second processing subunit, configured to sort the tasks to be processed in the set of tasks to be assigned according to the first identification information and / or the second identification information to obtain a task queue for assignment.
[0138] In one embodiment, the second processing subunit is specifically configured to: sort the tasks to be processed in the set of tasks to be assigned according to the second identification information; and when there are multiple tasks to be processed with the same second identification information, sort the tasks to be processed with the same second identification information according to the first identification information to obtain a task queue for assignment.
[0139] In one embodiment, the apparatus further includes a loop processing module, configured to re-execute the step of selecting a task to be processed as a target task from the set of tasks to be assigned until all the tasks to be processed in the set of tasks to be assigned are assigned.
[0140] In one embodiment, the device further includes a connection processing module, configured to schedule the handling robot to execute the target task of the connection workstation and update the waiting task data of the connection workstation when there is one connection workstation for the handling robot.
[0141] In one embodiment, the connection processing module is further configured to: when there are multiple connection workstations for the handling robot, adopt the determination method of the target workstation, and select a new target workstation from the multiple connection workstations according to the waiting task data; schedule the handling robot to execute the target task of the new target workstation and update the waiting task data of the new target workstation.
[0142] In one embodiment, the connection processing module is specifically configured to: when multiple connection workstations are selected by adopting the determination method of the target workstation, obtain the scheduling distance data between the current target workstation and each of the selected connection workstations; select one connection workstation as the new target workstation according to the scheduling distance data.
[0143] Each module in the above robot handling task scheduling device can be implemented in whole or in part by software, hardware, and their combination. The above modules can be embedded in the processor in the computer device in the form of hardware or be independent of the processor, or can be stored in the memory in the computer device in the form of software, so as to facilitate the processor to call and execute the operations corresponding to the above modules.
[0144] In an exemplary embodiment, a computer device is provided. The computer device can be a server, and its internal structure diagram can be as Figure 7 shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data such as tasks to be processed and waiting task data. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals through a network connection. When the computer program is executed by the processor, a robot handling task scheduling method is implemented.
[0145] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structural diagram may be as shown in Figure 8 . The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface, the display unit, and the input device are connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals in a wired or wireless manner. The wireless manner can be achieved through WIFI, a mobile cellular network, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements a method for scheduling robot handling tasks. The display unit of the computer device is used to form a visually visible image, which may be a display screen, a projection device, or a virtual reality imaging device. The display screen may be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device may be a touch layer covering the display screen, or a button, a trackball, or a touchpad provided on the housing of the computer device, or an external keyboard, touchpad, or mouse, etc.
[0146] Those skilled in the art can understand that Figure 8 the structure shown in is only a block diagram of some structures related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.
[0147] In an exemplary embodiment, a computer device is provided, including a memory and a processor. A computer program is stored in the memory. When the processor executes the computer program, the following steps are implemented: obtaining one or more tasks to be processed and the waiting task data of each workstation; selecting a set of tasks to be dispatched from the one or more tasks to be processed according to the waiting task data. The set of tasks to be dispatched includes at least one target task; determining a target workstation for each target task, scheduling a handling robot to execute the target task, and updating the waiting task data of the target workstation; each task to be processed corresponds to a workstation.
[0148] In one embodiment, when the processor executes the computer program, the following steps are further implemented: obtaining the number of target tasks that have not been completed according to the waiting task data; comparing the number of target tasks that have not been completed with a first threshold value to determine the task quantity that can be dispatched; and selecting a set of tasks to be dispatched from one or more tasks to be processed according to the task quantity that can be dispatched.
[0149] In one embodiment, when the processor executes the computer program, the following steps are further implemented: obtaining the number of target tasks for which the handling robot has not been scheduled to the target workstation according to the waiting task data; comparing the number of target tasks for which the handling robot has not been scheduled to the target workstation with a second threshold value to determine the task quantity that can be dispatched; and selecting a set of tasks to be dispatched from one or more tasks to be processed according to the task quantity that can be dispatched.
[0150] In one embodiment, when the processor executes the computer program, the following steps are further implemented: counting the number of target tasks that the handling robot has been scheduled to the target workstation and has not been executed according to the waiting task data to obtain the delivered quantity; and suspending the step of determining the target workstation for each target task when the delivered quantity is greater than or equal to a third threshold value.
[0151] In one embodiment, when the processor executes the computer program, the following steps are further implemented: determining the number of robots waiting to execute the tasks to be processed at each candidate workstation according to the waiting task data; and / or determining the number of items to be processed at each candidate workstation according to the waiting task data; sorting the tasks to be processed in the set of tasks to be dispatched according to the number of robots and / or the number of items to be processed to obtain a task dispatch queue; and selecting a task to be processed from the task dispatch queue as a target task and determining a target workstation for the target task.
[0152] In one embodiment, when the processor executes the computer program, the following steps are further implemented: for each task to be processed in the set of tasks to be dispatched, taking the number of robots corresponding to each candidate workstation as first identification information; and / or simulating the number of items to be processed after the task to be processed is selected according to the current number of items to be processed at each candidate workstation, and taking the simulated number of items to be processed as second identification information; sorting the tasks to be processed in the set of tasks to be dispatched according to the first identification information and / or the second identification information to obtain a task dispatch queue.
[0153] In one embodiment, when the processor executes the computer program, the following steps are further implemented: sorting the tasks to be processed in the set of tasks to be dispatched according to the second identification information; and when there are multiple tasks to be processed with the same second identification information, sorting the tasks to be processed with the same second identification information according to the first identification information to obtain a task dispatch queue.
[0154] In one embodiment, when the processor executes the computer program, the following steps are further implemented: re - execute the step of selecting a task to be processed from the tasks to be dispatched as the target task until all the tasks to be processed in the tasks to be dispatched are dispatched.
[0155] In one embodiment, when the processor executes the computer program, the following steps are further implemented: in the case where there is a successor workstation for the handling robot, schedule the handling robot to execute the target task of the successor workstation and update the waiting task data of the successor workstation.
[0156] In one embodiment, when the processor executes the computer program, the following steps are further implemented: in the case where there are multiple successor workstations for the handling robot, adopt the method for determining the target workstation, and select a new target workstation from the multiple successor workstations according to the waiting task data; schedule the handling robot to execute the target task of the new target workstation and update the waiting task data of the new target workstation.
[0157] In one embodiment, when the processor executes the computer program, the following steps are further implemented: in the case where multiple successor workstations are selected by adopting the method for determining the target workstation, obtain the scheduling distance data between the current target workstation and each of the selected successor workstations; select one successor workstation as the new target workstation according to the scheduling distance data.
[0158] In one embodiment, a computer - readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented: obtain one or more tasks to be processed and the waiting task data of each workstation; select a set of tasks to be dispatched from the one or more tasks to be processed according to the waiting task data, and the set of tasks to be dispatched includes at least one target task; determine a target workstation for each target task, schedule the handling robot to execute the target task, and update the waiting task data of the target workstation; each task to be processed corresponds to a workstation.
[0159] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: according to the waiting task data, obtain the number of target tasks that have not been completed; compare the number of target tasks that have not been completed with a first threshold value to determine the task volume that can be dispatched; select a set of tasks to be dispatched from the one or more tasks to be processed according to the task volume that can be dispatched.
[0160] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: according to the waiting task data, obtain the number of target tasks for which the handling robot has not been scheduled to the target workstation; compare the number of target tasks for which the handling robot has not been scheduled to the target workstation with a second threshold value to determine the task volume that can be dispatched; select a set of tasks to be dispatched from the one or more tasks to be processed according to the task volume that can be dispatched.
[0161] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: according to the waiting task data, count the number of target tasks that the handling robot has been scheduled to the target workstation but not executed to obtain the delivered quantity; in the case where the delivered quantity is greater than or equal to the third threshold, suspend the step of determining the target workstation for each target task.
[0162] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: according to the waiting task data, determine the number of robots waiting to execute the tasks to be processed at each candidate workstation; and / or, according to the waiting task data, determine the number of items to be processed at each candidate workstation; sort the tasks to be processed in the task set to be dispatched according to the number of robots and / or the number of items to be processed to obtain a dispatched task queue; select a task to be processed from the dispatched task queue as a target task, and determine a target workstation for the target task.
[0163] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: for each task to be processed in the task set to be dispatched, use the number of robots corresponding to each candidate workstation as the first identification information; and / or, according to the number of items to be processed currently at each candidate workstation, simulate the number of items to be processed after the task to be processed is selected, and use the simulated number of items to be processed as the second identification information; sort the tasks to be processed in the task set to be dispatched according to the first identification information and / or the second identification information to obtain a dispatched task queue.
[0164] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: sort the tasks to be processed in the task set to be dispatched according to the second identification information; in the case where there are multiple tasks to be processed with the same second identification information, sort the tasks to be processed with the same second identification information according to the first identification information to obtain a dispatched task queue.
[0165] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: re - execute the step of selecting a task to be processed from the task set to be dispatched as a target task until all the tasks to be processed in the task set to be dispatched are dispatched.
[0166] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: in the case where the handling robot has a subsequent workstation, dispatch the handling robot to execute the target task of the subsequent workstation, and update the waiting task data of the subsequent workstation.
[0167] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: in the case where there are multiple successive workstations for the handling robot, using the method for determining the target workstation, selecting a new target workstation from the multiple successive workstations according to the waiting task data; scheduling the handling robot to execute the target task of the new target workstation, and updating the waiting task data of the new target workstation.
[0168] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: in the case where multiple successive workstations are selected by using the method for determining the target workstation, obtaining the scheduling distance data between the current target workstation and each of the selected successive workstations; selecting one of the successive workstations as the new target workstation according to the scheduling distance data.
[0169] In one embodiment, a computer program product is provided, including a computer program, which when executed by a processor, implements the following steps: obtaining one or more tasks to be processed and the waiting task data of each workstation; selecting a set of tasks to be dispatched from the one or more tasks to be processed according to the waiting task data, and the set of tasks to be dispatched includes at least one target task; determining a target workstation for each target task, scheduling the handling robot to execute the target task, and updating the waiting task data of the target workstation; each task to be processed corresponds to a workstation.
[0170] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: according to the waiting task data, obtaining the number of target tasks that have not been completed; comparing the number of target tasks that have not been completed with a first threshold to determine the quantity of tasks that can be dispatched; selecting a set of tasks to be dispatched from the one or more tasks to be processed according to the quantity of tasks that can be dispatched.
[0171] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: according to the waiting task data, obtaining the number of target tasks for which the handling robot has not been scheduled to the target workstation; comparing the number of target tasks for which the handling robot has not been scheduled to the target workstation with a second threshold to determine the quantity of tasks that can be dispatched; selecting a set of tasks to be dispatched from the one or more tasks to be processed according to the quantity of tasks that can be dispatched.
[0172] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: according to the waiting task data, counting the number of target tasks that the handling robot has been scheduled to the target workstation and has not been executed to obtain the delivered quantity; in the case where the delivered quantity is greater than or equal to a third threshold, suspending the step of determining the target workstation for each target task.
[0173] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: determining the number of robots waiting to execute the task to be processed at each candidate workstation according to the waiting task data; and / or determining the number of items to be processed at each candidate workstation according to the waiting task data; sorting the tasks to be processed in the task set to be dispatched according to the number of robots and / or the number of items to be processed to obtain a dispatched task queue; selecting a task to be processed as a target task according to the dispatched task queue, and determining a target workstation for the target task.
[0174] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: for each task to be processed in the task set to be dispatched, taking the number of robots corresponding to each candidate workstation as first identification information; and / or simulating the number of items to be processed after the task to be processed is selected according to the number of items to be processed currently at each candidate workstation, and taking the simulated number of items to be processed as second identification information; sorting the tasks to be processed in the task set to be dispatched according to the first identification information and / or the second identification information to obtain a dispatched task queue.
[0175] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: sorting the tasks to be processed in the task set to be dispatched according to the second identification information; in the case where there are multiple tasks to be processed with the same second identification information, sorting the tasks to be processed with the same second identification information according to the first identification information to obtain a dispatched task queue.
[0176] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: re-executing the step of selecting a task to be processed as a target task from the task set to be dispatched until all the tasks to be processed in the task set to be dispatched are dispatched.
[0177] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: in the case where there is one successive workstation for the handling robot, scheduling the handling robot to execute the target task of the successive workstation, and updating the waiting task data of the successive workstation.
[0178] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: in the case where there are multiple successive workstations for the handling robot, adopting the method for determining the target workstation, selecting a new target workstation from the multiple successive workstations according to the waiting task data; scheduling the handling robot to execute the target task of the new target workstation, and updating the waiting task data of the new target workstation.
[0179] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: when a plurality of successive workstations are selected using the target workstation determination method, the scheduling distance data between the current target workstation and each selected successive workstation is obtained; and a successive workstation is selected as a new target workstation according to the scheduling distance data.
[0180] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0181] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0182] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.
Claims
1. A method for scheduling robot handling tasks, characterized in that, The method includes: Obtaining one or more tasks to be processed and the waiting task data of each workstation; Selecting a task set to be dispatched from one or more of the tasks to be processed according to the waiting task data; the task set to be dispatched includes at least one target task; Determining a target workstation for each target task, scheduling a handling robot to execute the target task, and updating the waiting task data of the target workstation; each task to be processed corresponds to one workstation.
2. The robot handling task scheduling method according to claim 1, wherein The selecting the task set to be dispatched from one or more of the tasks to be processed according to the waiting task data includes: Obtaining the quantity of the target tasks that have not been completed and executed according to the waiting task data; Comparing the quantity of the target tasks that have not been completed and executed with a first threshold to determine the quantity of tasks that can be dispatched; Selecting the task set to be dispatched from one or more of the tasks to be processed according to the quantity of tasks that can be dispatched.
3. The robot handling task scheduling method according to claim 1, wherein The selecting the task set to be dispatched from one or more of the tasks to be processed according to the waiting task data includes: Obtaining the quantity of the target tasks for which the handling robot has not been scheduled to the target workstation according to the waiting task data; Comparing the quantity of the target tasks for which the handling robot has not been scheduled to the target workstation with a second threshold to determine the quantity of tasks that can be dispatched; Selecting the task set to be dispatched from the one or more tasks to be processed according to the quantity of tasks that can be dispatched.
4. The robot handling task scheduling method according to claim 1, wherein The method further includes: Counting the quantity of the target tasks that the handling robot has been scheduled to the target workstation and has not been executed according to the waiting task data to obtain the delivered quantity; When the delivered quantity is greater than or equal to a third threshold, suspending the step of determining the target workstation for each target task.
5. The robot handling task scheduling method according to claim 1, wherein Each task to be processed corresponds to one or more items to be processed; the method for determining the target workstation includes: Determining the quantity of robots waiting to execute the task to be processed at each workstation according to the waiting task data; And / or, determining the quantity of items to be processed at each workstation according to the waiting task data; Sorting the tasks to be processed in the task set to be dispatched according to the quantity of robots and / or the quantity of items to be processed to obtain a task queue for dispatching; Selecting the task to be processed as the target task according to the task queue for dispatching and determining the target workstation for the target task.
6. The robot handling task scheduling method according to claim 5, wherein The sorting the tasks to be processed in the task set to be dispatched according to the quantity of robots and / or the quantity of items to be processed to obtain a task queue for dispatching includes: For each task to be processed in the task set to be dispatched, taking the quantity of robots corresponding to each workstation as the first identification information; and / or, simulating the quantity of items to be processed after the task to be processed is selected according to the current quantity of items to be processed at each workstation, and taking the simulated quantity of items to be processed as the second identification information; Sorting the tasks to be processed in the task set to be dispatched according to the first identification information and / or the second identification information to obtain a task queue for dispatching.
7. The robot handling task scheduling method according to claim 6, wherein Sorting the to-be-dispatched tasks in the to-be-dispatched task set according to the first identification information and / or the second identification information to obtain a dispatched task queue, including: Sorting the to-be-dispatched tasks in the to-be-dispatched task set according to the second identification information; When there are multiple to-be-dispatched tasks with the same second identification information, sorting the to-be-dispatched tasks with the same second identification information according to the first identification information to obtain a dispatched task queue.
8. The robot handling task scheduling method according to any one of claims 1 to 7, characterized in that, After updating the waiting task data of the target workstation, further including: Re-executing the step of determining the target workstation for each target task until all the to-be-dispatched tasks in the to-be-dispatched task set are dispatched.
9. The robot handling task scheduling method according to any one of claims 1 to 7, characterized in that, After the handling robot completes the target task, further including: When there is one successive workstation for the handling robot, scheduling the handling robot to execute the target task of the successive workstation and updating the waiting task data of the successive workstation.
10. The robot handling task scheduling method according to any one of claims 5 to 7, characterized in that, After the handling robot completes the target task, further including: When there are multiple successive workstations for the handling robot, using the method for determining the target workstation to select a new target workstation from the multiple successive workstations according to the waiting task data; Scheduling the handling robot to execute the target task of the new target workstation and updating the waiting task data of the new target workstation.
11. The robot handling task scheduling method according to claim 10, characterized in that, The using the method for determining the target workstation to select a new target workstation from the multiple successive workstations according to the waiting task data includes: When multiple successive workstations are selected by using the method for determining the target workstation, obtaining the scheduling distance data between the current target workstation and each of the selected successive workstations; Selecting one of the successive workstations as the new target workstation according to the scheduling distance data.
12. A robot handling task scheduling device, characterized in that, The device includes: An information acquisition module, configured to acquire one or more to-be-dispatched tasks and the waiting task data of each workstation; A data processing module, configured to select a to-be-dispatched task set from the one or more to-be-dispatched tasks according to the waiting task data; the to-be-dispatched task set includes at least one target task; A task scheduling module, configured to determine a target workstation for each target task, schedule the handling robot to execute the target task, and update the waiting task data of the target workstation; each to-be-dispatched task corresponds to one workstation.
13. A computer device, comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, the steps of the robot handling task scheduling method according to any one of claims 1 to 11 are implemented.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the robot handling task scheduling method according to any one of claims 1 to 11 are implemented.
15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, the steps of the robot handling task scheduling method according to any one of claims 1 to 11 are implemented.
Citation Information
Patent Citations
Task allocation method and device
CN112529346A
Task allocation system and task allocation method
CN114282739A
Order processing method and device
CN117408602A
Warehouse system control method, device, equipment, and computer-readable storage medium
JP7066029B1