Method and device for scheduling delivery robot, computer device and storage medium
By establishing a time matrix table using the Dijkstra algorithm and a task priority table, and combining it with preset scheduling strategies and tolerance time adjustments, the limitations of existing delivery robot scheduling systems are overcome, achieving efficient task allocation and improved delivery efficiency.
Patent Information
- Application Number
- CN202510823242.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-19
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2045-06-19
AI Technical Summary
Existing delivery robot scheduling systems struggle to achieve comprehensive planning of the global task pool, resulting in some robots being overloaded or idle. They lack dynamic perception and response to task urgency and time requirements, making optimal assignment impossible and reducing warehouse operation efficiency.
By employing the Dijkstra algorithm in conjunction with a task priority table, a time matrix table is established. The target robot is determined through a preset scheduling strategy, high-priority tasks are processed first, and tasks are scheduled according to the shortest delivery time. A time error compensation mechanism and a dynamic priority adjustment rule are set to improve the flexibility of the scheduling system.
This improves the flexibility and efficiency of delivery robot scheduling, avoids situations where tasks cannot be completed on time, and enhances the overall efficiency of the logistics and warehousing system.
Smart Images

Figure CN120338450B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a scheduling method, apparatus, computer equipment, and storage medium for a delivery robot. Background Technology
[0002] With the rapid development of intelligent manufacturing and smart logistics, automated logistics warehousing systems have become a core link in the modern supply chain. Delivery robots, with their advantages of high efficiency, precision, and 24 / 7 operation, are widely used in various warehousing scenarios, playing a vital role from goods sorting in e-commerce warehouses to parcel transfer in express delivery centers. Currently, most delivery robot systems are equipped with built-in scheduling systems designed to achieve path planning, task allocation, and operational management of robots within the warehouse, ensuring the orderly conduct of warehousing operations.
[0003] However, existing delivery robot scheduling systems have significant limitations. On the one hand, their scheduling logic is usually based on local task information or the robot's own operating status, making it difficult to perform global analysis and overall planning of the task pool in the entire logistics and warehousing system. This leads to the inability to achieve optimal assignment of delivery robots when faced with a large number of complex tasks, easily resulting in some robots being overloaded and busy for extended periods while others are idle, reducing the overall efficiency of warehousing operations. On the other hand, existing scheduling systems lack a dynamic perception and response mechanism for task tolerance time, and cannot flexibly adjust priorities according to the urgency and time requirements of tasks. With the explosive growth of order volume in the logistics industry and the continuous improvement of customers' requirements for delivery timeliness, breaking through the limitations of existing delivery robot scheduling systems and building more efficient and intelligent scheduling solutions has become the key to improving the competitiveness of automated logistics and warehousing systems. Summary of the Invention
[0004] This invention provides a scheduling method, apparatus, computer equipment, and storage medium for delivery robots, aiming to solve the problem of low scheduling flexibility of delivery robots and thereby improve delivery efficiency.
[0005] In a first aspect, embodiments of the present invention provide a scheduling method for delivery robots, comprising: acquiring coordinate data of a storage space and location information of each robot; calculating the delivery time corresponding to each robot executing a delivery task in the task priority table according to the Dijkstra algorithm and a pre-built task priority table; establishing a time matrix table based on the delivery task and the delivery time; determining a target robot for the delivery task according to a preset scheduling strategy and the time matrix table; and issuing the delivery task to the target robot.
[0006] Secondly, embodiments of the present invention also provide a scheduling device for a delivery robot, which includes a unit for performing the above-described method.
[0007] Thirdly, embodiments of the present invention also provide a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the above-described method.
[0008] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, the computer program including program instructions that, when executed by a processor, can implement the above-described method.
[0009] This application provides a scheduling method, apparatus, computer equipment, and storage medium for delivery robots, applied in a logistics system. This application uses the coordinate data and robot location information, employing the Dijkstra algorithm, to calculate the delivery time for each robot to execute the delivery tasks in the task priority table, thereby establishing the time matrix table. Based on a preset scheduling strategy and the time matrix table, the target robot is determined for each delivery task. This allows for task scheduling of the robots according to the task priority and the time matrix table, enabling the robots to prioritize delivery tasks with higher priority to avoid late delivery. Furthermore, the robots can execute delivery tasks based on their shortest delivery time, thereby improving the scheduling system's flexibility and delivery efficiency. Attached Figure Description
[0010] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 A schematic flowchart illustrating the scheduling method for delivery robots provided in an embodiment of the present invention;
[0012] Figure 2 A schematic diagram of a sub-process of the scheduling method for delivery robots provided in an embodiment of the present invention;
[0013] Figure 3 A schematic diagram of a sub-process of the scheduling method for delivery robots provided in an embodiment of the present invention;
[0014] Figure 4 A schematic diagram of a sub-process of the scheduling method for delivery robots provided in an embodiment of the present invention;
[0015] Figure 5 A schematic diagram of a sub-process of the scheduling method for delivery robots provided in an embodiment of the present invention;
[0016] Figure 6 A schematic diagram of a sub-process of the scheduling method for delivery robots provided in an embodiment of the present invention;
[0017] Figure 7 A schematic diagram of a sub-process of the scheduling method for delivery robots provided in an embodiment of the present invention;
[0018] Figure 8 A schematic block diagram of a dispatching device for a delivery robot provided in an embodiment of the present invention;
[0019] Figure 9 A schematic block diagram of a computer device provided for an embodiment of the present invention. Detailed Implementation
[0020] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0021] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0022] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.
[0023] It should also be further understood that the term "and / or" as used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0024] Please see Figure 1This is a schematic flowchart illustrating the scheduling method for delivery robots provided in this embodiment of the invention. In this application, the scheduling method for delivery robots is applied to a logistics system, particularly in production and warehousing scenarios. By prioritizing delivery tasks and using a time matrix table for each delivery task, the delivery tasks are assigned to the delivery robots, thereby improving the flexibility of the scheduling system in scheduling delivery tasks and ultimately increasing delivery efficiency. For example, in the process of warehousing and shipping finished beer, robots are used for handling in and out of the warehouse. Based on priority and a time matrix, the most appropriate task is assigned to the robot, resulting in a 10% increase in material handling efficiency, meeting the planned efficiency requirements and effectively improving the overall utilization rate of the equipment.
[0025] The method is also applicable to food delivery and express logistics scenarios.
[0026] This application provides a scheduling method, apparatus, computer equipment, and storage medium for delivery robots, applied in a logistics system. The scheduling method for delivery robots includes: acquiring coordinate data of the storage space and the location information of each robot; calculating the delivery time corresponding to the delivery task in the task priority table for each robot to execute the delivery task in the task priority table according to the Dijkstra algorithm and a pre-built task priority table; establishing a time matrix table based on the delivery task and the delivery time; determining the target robot for the delivery task according to a preset scheduling strategy and the time matrix table; and issuing the delivery task to the target robot.
[0027] This application uses the coordinate data and the robot's position information to calculate the delivery time for each robot to execute the delivery task in the task priority table using the Dijkstra algorithm, thereby establishing the time matrix table. Based on a preset scheduling strategy and the time matrix table, the application determines the target robot for the delivery task. This allows for task scheduling of the robots according to the task priority and the time matrix table, enabling the robots to prioritize delivery tasks with higher priority to avoid late delivery. Furthermore, the application allows the robots to execute the delivery task with the shortest delivery time, thus improving the scheduling system's flexibility and delivery efficiency.
[0028] Figure 1 This is a flowchart illustrating the scheduling method for delivery robots provided in an embodiment of the present invention. Figure 1 As shown, the method includes the following steps S110-S120.
[0029] S110. Obtain the coordinate data of the storage space and the position information of each robot. Calculate the delivery time corresponding to the delivery task in the task priority table for each robot to perform the delivery task in the task priority table according to the Dijkstra algorithm and the pre-built task priority table. Establish a time matrix table based on the delivery task and the delivery time.
[0030] In this embodiment, the delivery robot delivers items in the logistics process, moving the corresponding items from the starting point of the task to the end point of the task. The scheduling system in this embodiment schedules the delivery tasks according to the delivery time of each robot for each delivery task and the preset scheduling strategy, so as to improve delivery efficiency.
[0031] The coordinate data of the warehouse space refers to the path coordinate data of each robot running to each delivery task. That is, in the coordinate data of the warehouse space, each robot has a corresponding delivery path to a certain delivery task, and the robot moves along the delivery path when delivering the delivery task. The location information refers to the current location coordinate information of the robot. The Dijkstra algorithm is a classic algorithm for solving the single-source shortest path problem in a directed or undirected graph with non-negative weights. The task priority table is the delivery priority table of each delivery task. The higher the priority, the more urgent the delivery task needs to be delivered. The task priority table is pre-built in the system.
[0032] The scheduling system obtains the coordinate data of the warehouse space based on the coordinate topology map of the warehouse space, and obtains the location information of each robot based on the positioning device of each robot. Therefore, the Dijkstra algorithm can be used to calculate the delivery time of each robot to each delivery task. Furthermore, based on the priority of the delivery tasks in the pre-built task priority table, a time matrix table is established for each robot, corresponding to the delivery task and the delivery time. This time matrix table is associated with the task priority table, allowing subsequent steps to perform deliveries according to the delivery time.
[0033] In one embodiment, such as Figure 2 As shown, step S110 includes steps S111-S112.
[0034] S111. Calculate the shortest path distance D from each robot to each delivery task, using the formula D = D1 + D2 + D3, where D1 is the distance from the robot's current position to the end point of the current task; D2 is the distance from the end point of the current task to the starting point of the next delivery task; and D3 is the distance from the starting point of the delivery task to the end point.
[0035] S112. Calculate the delivery time T1 = D / V*α, where V is the robot's moving speed and α is a correction coefficient.
[0036] Specifically, among all robots, the robots are divided into busy and idle states. A robot in a busy state is still executing its current task and will need some time to complete it before it can execute the next delivery task based on the assigned delivery task. A robot in an idle state is one that has completed its current task and reported the delivery completion information to the scheduling system, and is about to execute the next delivery task. Therefore, when calculating the shortest path distance D from each robot to each delivery task using the Dijkstra algorithm based on the coordinate data and location information, it includes three distances: D = D1 + D2 + D3. Here, D1 represents the distance from the robot's current location to the endpoint of the current task; D2 represents the distance from the endpoint of the current task to the starting point of the next delivery task; and D3 represents the distance from the starting point of the next delivery task to its endpoint, thus obtaining the shortest path distance from each robot to each delivery task.
[0037] Then, based on the shortest path distance and the moving speed of each robot, the delivery time T1 for each robot to deliver each delivery task is calculated using the formula: T1 = D / V*α, where V is the moving speed of the robot and α is a correction coefficient. This allows for the calculation of the predicted delivery time for each robot to deliver to each delivery task, with high accuracy. Therefore, a time matrix table can be established based on the delivery task and the delivery time corresponding to each robot.
[0038] More specifically, step S112 also includes step S1121.
[0039] S1121. Establish a time prediction error compensation mechanism, the specific formula being α=α0+β×(T) real -T pred ) / T real Where α0 = 1.2, β is the learning rate (default is 1), and T real T refers to the actual time it takes for the robot to complete the delivery task. pred This refers to the time the robot predicts will take to complete the delivery task.
[0040] Specifically, since the robot may experience some abnormalities during operation, in order to improve the tolerance for errors, α is set to compensate for errors in the prediction of the delivery time, thereby improving the accuracy of the delivery time.
[0041] In this embodiment, a time prediction error compensation mechanism is established, specifically using the formula α = α0 + β × (T)real -T pred ) / T real Where α0 = 1.2, β is the learning rate (default is 1), and T real T refers to the actual time it takes for the robot to complete the delivery task. pred This refers to the robot's predicted delivery time. Calculating α and then applying it to the delivery time calculation can further improve the accuracy of the calculation.
[0042] In one embodiment, such as Figure 3 As shown, step S110 also includes steps S113-S114.
[0043] S113. Calculate the tolerance time T for each delivery task, using the formula T = T target -T task -T current -T0, where T target T is the target completion time. task T represents the time required to perform the task. current T0 is the current time, and T1 is the error time.
[0044] S114. Update the task priority table according to the tolerance time and priority adjustment rules.
[0045] Specifically, the task priority table is constructed by prioritizing each delivery task according to its tolerance time and priority adjustment rules; the tolerance time is also the remaining time of the delivery task, and the tolerance time T is based on the target completion time T. target The time T required to execute the task task Current time T current The error time T0 is calculated using the formula: T = T target -T task -T current -T0, where the target completion time T target Based on the time issued by the business system, such as manual entry or input from other systems or modules, all delivery tasks have a target completion time. For example, the target completion time for a stock preparation task can be the estimated delivery time on the delivery note, and the target completion time for a production and warehousing task can be the pallet production time that the remaining buffer space at the production line can handle. More specifically, the target completion time may change with certain conditions, and the target completion time of each delivery task in the scheduling system can be flexibly adjusted accordingly. For example, if a truck that was originally expected to arrive at 4 pm arrives at 1 pm, the estimated completion time of the corresponding stock preparation task is adjusted from 3:40 pm to 1:15 pm. Therefore, the target completion time may change under special circumstances, thereby affecting the tolerance time of the corresponding delivery task.
[0046] The time required to execute the task is a preset value, calculated based on the pickup (starting point) and drop-off (ending point) locations of the corresponding delivery task. The current time refers to the current time. As the current time progresses, the tolerance time gradually decreases, meaning the delivery task gets closer to its target completion time, thus gradually increasing its priority. The error time is a preset value that can be adjusted according to actual conditions, typically set to 1 minute.
[0047] Since the target completion time may change, and the current time is also dynamically changing, the tolerance time will vary with these changes. Therefore, prioritizing delivery tasks based on the tolerance time can dynamically adjust their priorities, allowing for more flexible delivery and preventing delays. When the tolerance time is less than or equal to 0, the corresponding delivery task is the highest priority, indicating that the closer the delivery task is to or beyond the target completion time, the more urgent it needs to be. It must be dispatched to the delivery robot for handling; otherwise, the delivery task cannot be completed on time.
[0048] Simultaneously, the task priority table is updated according to the tolerance time and priority adjustment rules. The priority adjustment rules refer to rules preset by the system based on actual conditions. Each delivery task has its own priority adjustment rule, which can be the range of tolerance time for the delivery task at a specified priority. For example, in a delivery task with an initial priority of level 1, the priority adjustment rule stipulates that if T is in the range of 60-20, the priority is increased to level 2; in the range of 20-10, it is increased to level 3; in the range of 10-5, it is increased to level 4, and so on. As time progresses, if the tolerance time T of a delivery task changes to 15, then the priority of that delivery task needs to be increased to level 3. Therefore, the scheduling system can update the task priority table in real time according to the tolerance time and priority adjustment rules to make the priority of each delivery task more in line with actual needs, avoiding the phenomenon of missing high-priority delivery tasks and thus failing to complete deliveries.
[0049] In one embodiment, such as Figure 4 As shown, step S114 includes steps S1141-S1142.
[0050] S1141. If multiple delivery tasks have the same priority, they are sorted according to the size of the tolerance time, with the smaller the tolerance time, the higher the ranking.
[0051] S1142. If multiple delivery tasks have the same priority and tolerance time, then sort the tasks according to the task number or task creation time.
[0052] Specifically, in a delivery task, there may be multiple delivery tasks with the same priority. When the multiple delivery tasks have the same priority, they are sorted according to the tolerance time corresponding to the delivery task. The smaller the tolerance time, the higher the risk of failure to complete the delivery. Therefore, the smaller the tolerance time, the higher the priority, so that the scheduling system dispatches the delivery task with the higher priority first.
[0053] Meanwhile, if multiple delivery tasks have the same priority and tolerance time, the multiple delivery tasks are sorted according to the task number or task creation time, with the earlier created delivery task having a higher ranking and being dispatched first.
[0054] Therefore, this embodiment uses a three-level sorting mechanism (from priority to tolerance time to task number / task creation time) to further sort the delivery tasks, thereby improving the accuracy of the scheduling system and avoiding the risk of failure to deliver on time.
[0055] S120. Determine the target robot for the delivery task according to the preset scheduling strategy and the time matrix table, and send the delivery task to the target robot;
[0056] In this embodiment, the preset scheduling strategy refers to the scheduling strategy for each delivery task and each robot pre-set in the scheduling system, which can be adjusted according to actual needs. The time matrix table contains the delivery time for each delivery task corresponding to each robot, and the time matrix table also contains the priority of the delivery task. That is, the time matrix table is associated with the task priority table. Therefore, the target robot is determined for the delivery task according to the preset scheduling strategy and the time matrix table. In this embodiment, the scheduling system can select the target robot from two dimensions: task priority and delivery time, so as to issue the delivery task to the target robot, thereby enabling the target robot to deliver the delivery task, thereby improving the scheduling flexibility and thus improving the delivery efficiency of the delivery robot. At the same time, since the task priority table is a dynamically changing table, the scheduling system can further improve the flexibility of scheduling delivery tasks and further improve delivery efficiency.
[0057] In one embodiment, such as Figure 5 As shown, step S120 may include steps S121-S122.
[0058] S121. Determine whether a top-level task exists in the time matrix table;
[0059] S122. If a top-level task exists, the robot with the shortest delivery time corresponding to the top-level task is selected as the target robot, and the top-level task is delivered first.
[0060] Specifically, since the time matrix table is associated with the task priority table, each delivery task in the time matrix table contains its corresponding priority information. The highest-level task refers to a delivery task with a tolerance time of less than or equal to 0. The highest-level task indicates that the delivery task needs to be delivered immediately, otherwise the task will not be completed on time, thus affecting the next process or user experience.
[0061] Therefore, the system determines whether a top-level task exists based on the time matrix table. If a top-level task exists in the time matrix table, it needs to be delivered immediately. When the top-level task is found among the delivery tasks in the time matrix table, the robot with the shortest delivery time corresponding to the top-level task is selected as the target robot, and the top-level task is assigned to the target robot. The target robot then delivers the top-level task, thus prioritizing its delivery. This improves the flexibility of the scheduling system, ensures timely delivery of the top-level task, avoids delays, and improves work efficiency.
[0062] More specifically, if the target robot is an idle robot, which refers to a robot that is currently idle and has no delivery tasks, then the highest-level task is directly assigned to the idle robot to expedite the delivery of the highest-level task.
[0063] If the target robot is not the idle robot, then calculate the first distance from each robot to the end of its current task, the second distance from the end of the current task to the starting point of the highest-level task, and the third distance from the starting point of the highest-level task to the end of the highest-level task. The first distance, the second distance, and the third distance are added together to form the delivery distance. The delivery time of each delivery robot to the highest-level task is obtained based on the delivery distance and the corresponding movement speed of each delivery robot. The delivery robot with the shortest delivery time is selected as the target robot, and the highest-level task is issued to it.
[0064] In one embodiment, such as Figure 6 As shown, step S121 may include steps S1211-S1212.
[0065] S1211. Determine the difference between the tolerance time and the preset time for each delivery task;
[0066] S1212. If the tolerance time is less than or equal to the preset time, the corresponding delivery task is the highest-level task.
[0067] Specifically, the tolerance time is also the remaining time for the delivery task, and the tolerance time T is based on the target completion time T. target The time T required to execute the task task Current time T current The error time T0 is calculated using the formula: T = T target -T task -T current -T0; The preset time refers to a time value preset by the user according to actual needs, which can be adjusted according to the actual situation. In this embodiment, the preset time refers to 0.
[0068] The tolerance time of the delivery task is compared with the preset time. If the tolerance time is less than or equal to the preset time, it indicates that the tolerance time of the delivery task is too small and there is a risk of delivery delay. Therefore, the delivery task is set as the highest priority task and then the highest priority task is sent to the target robot so that the delivery of the highest priority task is given priority and delivery delay is avoided.
[0069] In one embodiment, such as Figure 7 As shown, step S120 also includes steps S123-S124.
[0070] S123. Determine whether there is an idle robot among all the robots;
[0071] S124. If it exists, then filter the target task with the shortest delivery time corresponding to each of the idle robots according to the time matrix table, and send the target task to the corresponding idle robot.
[0072] If all robots are busy, after a robot completes its current task and reports delivery to the scheduling system, the robot becomes idle. This idle robot has no current task to execute. Therefore, the scheduling system needs to assign the next task to the idle robot according to the time matrix table to avoid the idle robot remaining idle and thus reducing delivery efficiency.
[0073] The scheduling system first needs to determine whether there is an idle robot among all the robots. If there is, it then filters out the target task with the shortest delivery time corresponding to the idle robot based on the data in the time matrix table, and sends the target task to the corresponding idle robot so that the idle robot can deliver the target task. When the idle robot delivers the target task, its delivery time is the shortest, thereby improving delivery efficiency.
[0074] This application uses the coordinate data and the robot's position information to calculate the delivery time for each robot to execute the delivery task in the task priority table using the Dijkstra algorithm, thereby establishing the time matrix table. Based on a preset scheduling strategy and the time matrix table, the application determines the target robot for the delivery task. This allows for task scheduling of the robots according to the task priority and the time matrix table, enabling the robots to prioritize delivery tasks with higher priority to avoid late delivery. Furthermore, the application allows the robots to execute the delivery task with the shortest delivery time, thus improving the scheduling system's flexibility and delivery efficiency.
[0075] Figure 8 This is a schematic block diagram of a dispatching device 300 for a delivery robot provided in an embodiment of the present invention. Figure 8 As shown, corresponding to the above-described delivery robot scheduling method, the present invention also provides a delivery robot scheduling device 300. This delivery robot scheduling device includes a unit for executing the above-described delivery robot scheduling method, and the device can be configured in a computer device. Specifically, please refer to... Figure 8 The dispatching device 300 for the delivery robot includes an acquisition unit 301, a calculation unit 302, a distribution unit 303, and a judgment unit 304.
[0076] Acquisition unit 301 acquires the coordinate data of the storage space and the position information of each robot;
[0077] The calculation unit 302 calculates the delivery time corresponding to each robot's execution of the delivery task in the task priority table according to the Dijkstra algorithm and the pre-built task priority table, and establishes a time matrix table based on the delivery task and the delivery time; if the tolerance time is less than or equal to the preset time, the corresponding delivery task is the highest-level task; calculates the shortest path distance D from each robot to each delivery task, with the formula D=D1+D2+D3, where D1 is the distance from the robot's current position to the end point of the current task; D2 is the distance from the robot's end point of the current task to the start point of the next delivery task; D3 is the distance from the robot's start point to the end point of the delivery task; calculates the delivery time T1=D / V*α, where V is the robot's moving speed and α is a correction coefficient; calculates the tolerance time T for each delivery task, with the formula T=T target -T task -T current -T0, where T target T is the target completion time. task T represents the time required to perform the task. current T0 is the current time and T0 is the error time; the task priority table is updated according to the tolerance time and priority adjustment rules; if multiple delivery tasks have the same priority, they are sorted according to the size of the tolerance time, and the smaller the tolerance time, the higher the ranking; if multiple delivery tasks have the same priority and tolerance time, they are sorted according to task number or task creation time.
[0078] The dispatching unit 303 determines the target robot for the delivery task according to the preset scheduling strategy and the time matrix table, and dispatches the delivery task to the target robot; if there is a top-level task, the robot with the shortest delivery time corresponding to the top-level task is selected as the target robot, and the top-level task is delivered first; if there is, the target task with the shortest delivery time corresponding to each idle robot is selected according to the time matrix table, and the target task is dispatched to the corresponding idle robot.
[0079] The judgment unit 304 determines whether there is a highest-level task in the time matrix table; determines the magnitude of the tolerance time of each delivery task and the preset time; and determines whether there is an idle robot among all the robots.
[0080] It should be noted that those skilled in the art can clearly understand that the specific implementation process of the dispatching device and each unit of the above-mentioned delivery robot can be referred to the corresponding description in the foregoing method embodiments. For the sake of convenience and brevity, it will not be repeated here.
[0081] The dispatching device 300 for the aforementioned delivery robot can be implemented as a computer program, which can, for example... Figure 9 It runs on the computer device shown.
[0082] Please see Figure 9 , Figure 9 This is a schematic block diagram of a computer device provided in an embodiment of this application. The computer device 500 can be a terminal or a server. The terminal can be an electronic device with communication functions, such as a smartphone, tablet, laptop, desktop computer, personal digital assistant, or wearable device. The server can be a standalone server or a server cluster composed of multiple servers.
[0083] See Figure 9 The computer device 500 includes a processor 502, a memory, and a network interface 505 connected via a system bus 501. The memory may include a non-volatile storage medium 503 and internal memory 504.
[0084] The non-volatile storage medium 503 may store an operating system 5031 and a computer program 5032. The computer program 5032 includes program instructions that, when executed, cause the processor 502 to perform a scheduling method for a delivery robot.
[0085] The processor 502 provides computing and control capabilities to support the operation of the entire computer device 500.
[0086] The internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503. When the computer program 5032 is executed by the processor 502, the processor 502 can execute a scheduling method for a delivery robot.
[0087] This network interface 505 is used for network communication with other devices. Those skilled in the art will understand that... Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device 500 to which the present application is applied. The specific computer device 500 may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0088] The processor 502 is used to run the computer program 5032 stored in the memory to implement the steps of the above-described delivery robot scheduling method.
[0089] It should be understood that in the embodiments of this application, the processor 502 may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0090] It will be understood by those skilled in the art that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program includes program instructions and can be stored in a storage medium, which is a computer-readable storage medium. The program instructions are executed by at least one processor in the computer system to implement the process steps of the embodiments of the above methods.
[0091] Therefore, the present invention also provides a storage medium. This storage medium can be a computer-readable storage medium. The storage medium stores a computer program, wherein the computer program includes program instructions. When executed by a processor, the program instructions cause the processor to perform the steps of the above-described delivery robot scheduling method.
[0092] The storage medium can be any computer-readable storage medium capable of storing program code, such as a USB flash drive, portable hard drive, read-only memory (ROM), magnetic disk, or optical disk.
[0093] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0094] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For example, the division of each unit is merely a logical functional division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.
[0095] The steps in the method of this invention can be adjusted, merged, or reduced in order according to actual needs. The units in the device of this invention can be merged, divided, or reduced according to actual needs. Furthermore, the functional units in the various embodiments of this invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0096] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a terminal, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.
Claims
1. A scheduling method for delivery robots, characterized in that, The method is applied to a logistics system, and the method comprises the following steps: Obtaining coordinate data of a storage space and position information of each robot, calculating a delivery time corresponding to a delivery task in a task priority table for each robot to execute the task priority table according to a Dijkstra algorithm and the pre-constructed task priority table, and establishing a time matrix table based on the delivery task and the delivery time; Determining a target robot for the delivery task according to a preset scheduling strategy and the time matrix table, and assigning the delivery task to the target robot; The step of determining the target robot for the delivery task according to the preset scheduling strategy and the time matrix table and assigning the delivery task to the target robot comprises the following steps: Judging whether there is a highest-level task in the time matrix table; If the highest-level task exists, obtaining the robot corresponding to the shortest delivery time of the highest-level task as the target robot, and preferentially delivering the highest-level task; The step of obtaining the coordinate data of the storage space and the position information of each robot, calculating the delivery time corresponding to the delivery task in the task priority table for each robot to execute the task priority table according to the Dijkstra algorithm and the pre-constructed task priority table, and establishing the time matrix table based on the delivery task and the delivery time comprises the following steps: Calculating the shortest path distance D of each robot to each delivery task, and the formula is D=D1+D2+D3, wherein D1 is the distance from the current position of the robot to the end point of the current task, D2 is the distance from the end point of the current task to the start point of the next delivery task, and D3 is the distance from the start point of the delivery task to the end point of the delivery task; The delivery time T1 is calculated as T1=D / V*α, where V is the moving speed of the robot, and α is a correction coefficient, and a time prediction error compensation mechanism is established, and the specific formula is α=α0+β×(T real -T pred ) / T real , where α0=1.2, β is a learning rate, and the default value is 1, T real refers to the actual time for the robot to complete the delivery task, and T pred refers to the time for the robot to predict the completion of the delivery task. The step of obtaining the coordinate data of the storage space and the position information of each robot, calculating the delivery time corresponding to the delivery task in the task priority table for each robot to execute the task priority table according to the Dijkstra algorithm and the pre-constructed task priority table, and establishing the time matrix table based on the delivery task and the delivery time further comprises the following steps: The tolerance time T of each distribution task is calculated, and the formula is T=T target -T task -T current -T0, wherein T target is a target completion time, T task is a time length required for executing the task, T current is a current time, and T0 is an error time. Updating the task priority table according to the tolerance time and the priority adjustment rule; The step of updating the task priority table according to the tolerance time and the priority adjustment rule comprises the following steps: If the priorities of multiple delivery tasks are consistent, the tolerance time is sorted according to the size, and the smaller the tolerance time is, the higher the sorting is; If the priority and the tolerance time of multiple delivery tasks are consistent, the tasks are sorted according to the task number or the task creation time.
2. The method of claim 1, wherein, The step of judging whether there is the highest-level task in the time matrix table comprises the following steps: Judging the size of the tolerance time of each delivery task and a preset time; If the tolerance time is less than or equal to the preset time, the corresponding delivery task is the highest-level task.
3. The method of claim 1, wherein, The step of determining the target robot for the delivery task according to the preset scheduling strategy and the time matrix table and assigning the delivery task to the target robot comprises the following steps: Judging whether there is an idle robot in all the robots; If there is, the target task corresponding to the shortest delivery time of each idle robot is screened according to the time matrix table, and the target task is assigned to the corresponding idle robot.
4. A dispatching apparatus of a delivery robot characterized by comprising: The computer device comprises a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method according to any one of claims 1-3.
5. A computer device, comprising: The storage medium stores a computer program, wherein the computer program comprises program instructions, and the program instructions, when executed by a processor, can implement the method according to any one of claims 1-3.
6. A storage medium, characterized by
Citation Information
Patent Citations
Robot delivery method and device, storage medium and electronic equipment
CN113011820A
Multi-AGV task scheduling method based on double-layer strategy
CN114692939A
Multi-AGV collaborative distribution method and system
CN118485364A