A scheduling method and apparatus, a storage medium, and an electronic device

By traversing alternative allocation and scheduling methods, estimating equipment arrival times, and using optimization algorithms to determine target allocation and scheduling methods, the problem of unreasonable scheduling of self-driven mobile devices is solved, and the picking efficiency of the warehouse goods-to-person picking system is improved.

CN115249102BActive Publication Date: 2026-03-27BEIJING GEEKPLUS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-25
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In warehouse goods-to-person unpacking and picking automation systems, unreasonable scheduling of self-driven mobile devices can lead to excessively long waiting times at workstations or excessive queues of equipment, thus reducing picking efficiency.

Method used

By traversing the alternative allocation and scheduling methods for each picking task to be assigned, the arrival time of the equipment is estimated, and optimization algorithms are used to improve the overall picking efficiency, determine the target allocation and scheduling method, and rationally allocate and schedule self-driven mobile devices.

Benefits of technology

It improved the overall picking efficiency of all workstations, reduced the idle time of workstations and the waiting time of equipment, and realized the rational scheduling of self-driven mobile equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115249102B_ABST
    Figure CN115249102B_ABST
Patent Text Reader

Abstract

The specification discloses a scheduling method and device, a storage medium and an electronic device. When a trigger condition is met, various candidate allocation manners of allocating each to-be-allocated picking task to a respective self-driven mobile device are traversed, and for each candidate allocation manner, various candidate scheduling manners of scheduling the respective self-driven mobile device to each workstation to execute each to-be-allocated picking task under the candidate allocation manner are traversed, the comprehensive picking efficiency of all workstations under each candidate scheduling manner is calculated, and an optimization algorithm is used to determine a target allocation manner and a target scheduling manner by taking improving the comprehensive picking efficiency as an optimization target. Finally, each to-be-allocated picking task is allocated according to the target allocation manner, and the respective self-driven mobile device is scheduled according to the target scheduling manner. Through the above method, the comprehensive picking efficiency of all workstations can be improved when the self-driven mobile device is scheduled.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present specification relates to the technical field of robots, and in particular, to a scheduling method and device, a storage medium, and an electronic device. BACKGROUND

[0002] Currently, in the warehouse-to-person disassembling and sorting automation solution, self-driving mobile devices such as automatic mobile robots (AMRs) are often used.

[0003] Specifically, the self-driving mobile device needs to first transport the inventory container from the warehouse to the workstation, and then the target goods are picked from the inventory container by the workers or automatic sorting devices at the workstation, and finally the picked target goods are sorted to the seeding wall.

[0004] In actual application scenarios, multiple self-driving mobile devices and multiple workstations are often enabled at the same time, which requires scheduling of multiple self-driving mobile devices, that is, which self-driving mobile device is scheduled to which workstation to perform a task. If the scheduling is unreasonable, either the idle time (i.e., waiting for the self-driving mobile device to transport the inventory container to the workstation) of the workstation is too long, or too many self-driving mobile devices are queued at the same workstation, which will all lead to reduced picking efficiency.

[0005] Therefore, how to schedule the self-driving mobile device is a problem that needs to be solved. SUMMARY

[0006] The embodiments of the present specification provide a calling method, device, storage medium, and electronic device to partially solve the problems existing in the prior art.

[0007] The embodiments of the present specification adopt the following technical solutions:

[0008] The scheduling method provided by the present specification comprises:

[0009] When the trigger condition is met, determining the picking tasks that have not been executed as to-be-assigned picking tasks;

[0010] Determining each alternative assignment mode of assigning each to-be-assigned picking task to each self-driving mobile device;

[0011] For each alternative assignment mode, determining each alternative scheduling mode of scheduling each self-driving mobile device to each workstation to perform each to-be-assigned picking task under the alternative assignment mode;

[0012] For each alternative scheduling mode, under the alternative scheduling mode, estimating the estimated arrival time of each self-driving mobile device to each workstation;

[0013] determine, according to estimated arrival time of each driving mobile device to each workstation, an overall picking efficiency of all workstations under the candidate allocation mode;

[0014] determine, by a preset optimization algorithm, a target allocation mode among the candidate allocation modes and a target scheduling mode among the candidate scheduling modes, with the overall picking efficiency as an optimization objective;

[0015] allocate each to-be-allocated picking task to each driving mobile device according to the target allocation mode, and schedule each driving mobile device to each workstation to perform each to-be-allocated picking task according to the target scheduling mode.

[0016] Optionally, the trigger condition is met, and specifically includes:

[0017] any allocated picking task is completed; and / or

[0018] any picking task is generated; and / or

[0019] there is at least one self-driving mobile device that is not allocated any picking task.

[0020] Optionally, the current picking task that has not been performed is determined as the to-be-allocated picking task, and specifically includes:

[0021] the current allocated picking task that has not been performed and the picking task that has not been allocated are determined as the to-be-allocated picking task.

[0022] Optionally, under the candidate scheduling mode, the estimated arrival time of each driving mobile device to each workstation is estimated, and specifically includes:

[0023] for each self-driving mobile device, the first to-be-allocated picking task that needs to be performed by the self-driving mobile device under the candidate allocation mode is determined as a target picking task, and the target workstation that needs to be arrived by the self-driving mobile device under the candidate scheduling mode is determined;

[0024] the estimated arrival time of the self-driving mobile device to the target workstation when performing the target picking task is estimated.

[0025] Optionally, the estimated arrival time of the self-driving mobile device to the target workstation when performing the target picking task is estimated, and specifically includes:

[0026] the estimated arrival time of the self-driving mobile device to the target workstation when performing the target picking task is estimated according to the attribute information of the self-driving mobile device itself and the task route information corresponding to the target picking task.

[0027] Optionally, the comprehensive picking efficiency of all the workstations under the alternative dispatching manner is determined according to the estimated arrival time of each drive mobile device to each workstation, and specifically includes:

[0028] For each workstation, a target picking task to be executed by each drive mobile device dispatched to the workstation is determined;

[0029] The processing time required by the workstation to process each target picking task is estimated;

[0030] The picking efficiency of the workstation under the alternative dispatching manner is determined according to the estimated arrival time of each drive mobile device dispatched to the workstation to the workstation, and the processing time required by the workstation to process each target picking task;

[0031] The comprehensive picking efficiency of all the workstations under the alternative dispatching manner is determined according to the picking efficiency of all the workstations under the alternative dispatching manner.

[0032] Optionally, the picking efficiency of the workstation under the alternative dispatching manner is determined, and specifically includes:

[0033] The idle time of the workstation under the alternative dispatching manner is determined;

[0034] The picking efficiency of the workstation is determined according to the idle time of the workstation, wherein the picking efficiency is negatively correlated with the idle time.

[0035] Optionally, the picking efficiency of the workstation under the alternative dispatching manner is determined, and specifically includes:

[0036] The waiting time of each drive mobile device dispatched to the workstation under the alternative dispatching manner is determined, which needs to wait at the workstation;

[0037] The picking efficiency of the workstation is determined according to the waiting time, wherein the picking efficiency is negatively correlated with the waiting time.

[0038] The dispatching device provided in the specification comprises:

[0039] The task determination module is configured to determine a picking task that has not been executed as a to-be-assigned picking task when a trigger condition is met;

[0040] The assignment module is configured to determine each alternative assignment manner of assigning each to-be-assigned picking task to each drive mobile device;

[0041] The dispatching module is configured to determine, for each alternative assignment manner, each alternative dispatching manner of dispatching each drive mobile device to each workstation to execute each to-be-assigned picking task under the alternative assignment manner;

[0042] an estimation module configured to, for each of the candidate allocation manners, estimate an estimated arrival time of each of the self-driven mobile devices to each of the workstations under the candidate allocation manner;

[0043] an efficiency determination module configured to determine an overall picking efficiency of all the workstations under the candidate allocation manner according to the estimated arrival time of each of the self-driven mobile devices to each of the workstations;

[0044] an optimization module configured to determine a target allocation manner from the candidate allocation manners and a target scheduling manner from the candidate scheduling manners by using a preset optimization algorithm with the overall picking efficiency as an optimization target;

[0045] an execution module configured to allocate each of the to-be-allocated picking tasks to each of the self-driven mobile devices according to the target allocation manner, and schedule each of the self-driven mobile devices to each of the workstations to perform each of the to-be-allocated picking tasks according to the target scheduling manner.

[0046] The specification provides a computer-readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the scheduling method.

[0047] The specification provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. The processor implements the scheduling method when executing the program.

[0048] The above at least one technical solution adopted by the embodiments of the specification can achieve the following beneficial effects:

[0049] When the embodiments of the specification meet the triggering condition, each of the to-be-allocated picking tasks is allocated to each of the self-driven mobile devices in various candidate allocation manners, and for each of the candidate allocation manners, each of the self-driven mobile devices is scheduled to each of the workstations to perform each of the to-be-allocated picking tasks in various candidate scheduling manners. The overall picking efficiency of all the workstations under each of the candidate scheduling manners is calculated. Then, the target allocation manner and the target scheduling manner are determined by using the optimization algorithm with the overall picking efficiency as the optimization target. Finally, each of the to-be-allocated picking tasks is allocated according to the target allocation manner, and each of the self-driven mobile devices is scheduled according to the target scheduling manner. Through the above method, the overall picking efficiency of all the workstations can be improved when the self-driven mobile devices are scheduled. BRIEF DESCRIPTION OF DRAWINGS

[0050] The accompanying drawings, which are included to provide a further understanding of the specification, constitute a part of the specification, illustrate the illustrative embodiments of the specification and the explanation of the specification, and do not constitute an improper limitation of the specification. In the drawings:

[0051] Figure 1 A method for scheduling self-driving mobile devices provided by an embodiment of the present specification;

[0052] Figure 2 A timeline of a workstation provided by an embodiment of the present specification;

[0053] Figure 3 A structural diagram of a scheduling device provided by an embodiment of the present specification;

[0054] Figure 4 A structural diagram of an electronic device provided by an embodiment of the present specification. DETAILED DESCRIPTION

[0055] For the purpose, technical solutions and advantages of the present specification to be clearer, the technical solutions of the present specification will be described clearly and completely below in combination with the embodiments of the present specification and corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present specification, rather than all the embodiments. Based on the embodiments in the present specification, all other embodiments obtained by a person of ordinary skill in the art without creative labor fall within the scope of protection of the present specification.

[0056] The technical solutions provided by the embodiments of the present specification will be described in detail below in combination with the drawings.

[0057] Figure 1 A method for scheduling self-driving mobile devices provided by an embodiment of the present specification, comprising:

[0058] S100: When a triggering condition is met, determining a picking task that has not been executed as a to-be-assigned picking task.

[0059] In the embodiments of the present specification, the self-driving mobile device runs in a site provided with multiple workstations, and the self-driving mobile device itself can maintain a task queue for adding picking tasks assigned to the self-driving mobile device to the task queue. When performing a picking task, a picking task is first selected from the task queue, and then the self-driving mobile device is driven to a storage container where the goods corresponding to the selected picking task are located, and then the storage container is transported to a workstation according to the scheduling, and the goods in the storage container are picked by the staff or automatic picking equipment (such as a mechanical arm) of the workstation to complete the picking task. Finally, the self-driving mobile device also needs to transport the storage container back to a position (i.e. not necessarily the original position) where the storage container can be placed. The entire task assignment process and the scheduling process of the self-driving mobile device can be performed by a controller.

[0060] Based on the above use scenarios, the embodiments of the present specification aim to allocate appropriate self-driven mobile devices to all unexecuted picking tasks according to the current situation when the trigger condition is met, and dispatch each self-driven mobile device to a suitable workstation to execute the picking task, so as to make the comprehensive picking efficiency of each workstation highest. Therefore, the trigger condition met in the present specification can include at least one of the following: any allocated picking task execution is completed, any picking task is generated, and there is at least one self-driven mobile device which is not allocated any picking task. That is, when any self-driven mobile device executes any picking task allocated to the self-driven mobile device, and / or when a new picking task is generated, and / or when there is no any allocated picking task in the task queue of at least one self-driven mobile device, it is determined that the trigger condition is met.

[0061] Further, when the trigger condition is met, both the currently unexecuted allocated picking tasks (i.e., the picking tasks existing in the task queue of each self-driven mobile device but not yet executed) and the unallocated picking tasks (i.e., the newly generated picking tasks) are determined as the to-be-allocated picking tasks.

[0062] S102: Determine each alternative allocation manner of allocating each to-be-allocated picking task to each self-driven mobile device.

[0063] After determining the to-be-allocated picking task, the controller can traverse all alternative allocation manners of allocating each to-be-allocated picking task to each self-driven mobile device.

[0064] For example, the determined to-be-allocated picking tasks are tasks 1-10, and the self-driven mobile devices include devices A-C, and the controller can traverse all alternative allocation manners of allocating tasks 1-10 to devices A-C.

[0065] S104: For each alternative allocation manner, determine each alternative dispatch manner of dispatching each self-driven mobile device to each workstation to execute each to-be-allocated picking task under the alternative allocation manner.

[0066] For any alternative allocation manner traversed, the controller can traverse all alternative dispatch manners of dispatching each self-driven mobile device to each workstation to execute each to-be-allocated picking task under the alternative allocation manner.

[0067] Continuing with the above example, assuming that one alternative allocation manner is to allocate tasks 1-3 to device A, allocate tasks 4-7 to device B, and allocate tasks 8-10 to device C, and the workstations include station A and station B, the controller can traverse all alternative dispatch manners of dispatching devices A-C to station A and station B.

[0068] S106: For each of the candidate dispatching manners, estimate an estimated arrival time at which each of the self-driving mobile devices is estimated to arrive at each of the workstations under the candidate dispatching manner.

[0069] In the embodiments of the present disclosure, the estimated arrival time at which the self-driving mobile device arrives at each of the workstations can be estimated under the premise that one of the candidate dispatching manners is assumed to be adopted. When determining the estimated arrival time, for each of the self-driving mobile devices, the first to-be-assigned picking task that needs to be executed by the self-driving mobile device under the candidate dispatching manner can be determined as a target picking task, and the target workstation that needs to be arrived at by the self-driving mobile device under the candidate dispatching manner can be determined, and the estimated arrival time at which the self-driving mobile device arrives at the target workstation when executing the target picking task can be estimated.

[0070] Specifically, when estimating the estimated arrival time at which the self-driving mobile device arrives at the target workstation when executing the target picking task, the estimated arrival time at which the self-driving mobile device arrives at the target workstation when executing the target picking task can be estimated according to the attribute information of the self-driving mobile device itself and the task route information corresponding to the target picking task.

[0071] The attribute information of the self-driving mobile device itself can include the speed information (such as the maximum speed, the maximum / minimum acceleration) of the self-driving mobile device itself and the model of the self-driving mobile device, and the like.

[0072] The task route information corresponding to the target picking task can include the distance of the task route corresponding to the target picking task (that is, the total distance from the self-driving mobile device to the inventory container where the goods corresponding to the target picking task are located, and then from the inventory container to the target workstation) and the number of turns needed in the task route, and the like.

[0073] Of course, in addition to estimating the above-mentioned estimated arrival time according to the attribute information of the self-driving mobile device itself and the task route information corresponding to the target picking task, the estimated arrival time can also be estimated according to other information such as the current site environment information, wherein the current site environment information can include the number of self-driving mobile devices driving on the current site or the congestion coefficient of the current site.

[0074] S108: According to the estimated arrival time at which each of the self-driving mobile devices arrives at each of the workstations, determine the comprehensive picking efficiency of all the workstations under the candidate dispatching manner.

[0075] In the embodiments of the present specification, the respective picking efficiencies of each workstation can be determined under the above assumption, and the comprehensive picking efficiency of all workstations can be determined according to the respective picking efficiencies of each workstation. When determining the picking efficiency of a workstation, the target picking tasks to be performed by the respective driving mobile devices dispatched to the workstation can be determined, the processing time required by the workstation to process each target picking task can be estimated, and the picking efficiency of the workstation under the candidate dispatching mode can be determined according to the estimated arrival time of the respective driving mobile devices dispatched to the workstation to the workstation, and the processing time required by the workstation to process each target picking task.

[0076] Since the picking efficiency of a workstation is related to the idle time of the workstation itself, and also related to the waiting time of the respective driving mobile devices dispatched to the workstation to perform picking tasks and the time required to process the picking tasks, when it is assumed that the self-driving mobile devices are dispatched to a workstation to perform target picking tasks, the idle time of the workstation and the waiting time of the respective driving mobile devices dispatched to the workstation to perform picking tasks at the workstation can be determined according to the estimated arrival time of the respective driving mobile devices dispatched to the workstation to perform respective target picking tasks to the workstation, and the processing time required by the workstation to process each target picking task, and finally the picking efficiency of the workstation can be determined according to the determined idle time and waiting time, as shown in Figure 2 .

[0077] Figure 2 is a time axis of a workstation provided by the embodiments of the present specification, in which Figure 2 t0, t2 and t4 are respectively the estimated arrival time of the three self-driving mobile devices A-C dispatched to the workstation to the workstation, and the processing time required by the workstation to process any picking task can be preset as a constant value T (here, only the processing time as a constant value T is taken as an example for illustration, and in fact, the processing time can be determined according to the picking speed of the picking personnel or the mechanical arm, the number of hits, the distribution of the picking position on the inventory container, etc.), and t0-t1, t2-t3 and t4-t5 are three time periods of the non-idle time of the workstation, in which t1-t0=t3-t2=t5-t4=T. The time length of the time period t5-t2 is the idle time of the workstation.

[0078] However, since t4 lies between t0 and t1, and there is some overlap between t0~t1 and t4~t5, meaning that when device B arrives at the workstation, the workstation has not yet finished processing the target picking task for device A. Since a workstation can only process one picking task at a time, the start time t4' of processing the target picking task for device B can be determined after t1. Based on the start time t4' and the processing time T required for the workstation to process the picking task, the end time t5' of processing the target picking task for device B can be determined. Therefore, the time period t4'~t5' is the non-idle time period for the workstation to process the target picking task for device B, where t5'-t4'=T.

[0079] At this time, the idle time period of the workstation is t5' to t2, that is, the idle time is t2-t5'.

[0080] The waiting time for device B is the length of the time interval between the estimated arrival time t4 of device B at the workstation and the start time t4' of the workstation starting to process the target picking task of device B.

[0081] It should be noted that, in Figure 2 If t5 is determined, and if t5 is between t2 and t3, then it is necessary to determine the start time t2' and end time t3' of the target picking task of the workstation starting to process equipment C, where t3' - t2' = T. That is, the original t2 to t3 are shifted to the next time step.

[0082] Therefore, under the above assumptions, the idle time period of the workstation can be determined first based on the estimated arrival time of each driven mobile device scheduled to the workstation to perform its respective target picking task, and the processing time required for the workstation to process each target picking task. Figure 2 (as shown in t5~t2) and non-idle time periods (e.g.) Figure 2 As shown in t0~t1, t2~t3, t4~t5), for each self-driving mobile device, it is determined whether the estimated arrival time of the self-driving mobile device at the workstation falls within the non-idle time period of the workstation processing target picking tasks of other self-driving mobile devices. If so, the idle and non-idle time periods of the workstation are redefined based on the estimated arrival time of the self-driving mobile device at the workstation and the processing time required for the workstation to process the target picking task of the self-driving mobile device. Finally, the idle duration is determined based on the idle time period, and for each self-driving mobile device scheduled to the workstation, the estimated arrival time of the self-driving mobile device at the workstation (e.g., t0~t1, t2~t3, t4~t5) is used. Figure 2 As shown in t4), and the start time when the workstation begins processing the target picking task of the self-driven mobile device (e.g., t4). Figure 2determining the waiting duration of the self-driven mobile device.

[0083] wherein, for a specified self-driven mobile device, if the estimated arrival time of the specified self-driven mobile device is located in a non-idle time period of the workstation processing a target picking task of another self-driven mobile device (e.g. Figure 2 wherein, if t4 is located between t0 and t1, when the idle time period and the non-idle time period of the workstation are re-determined, the start time of the workstation to start processing the target picking task of the specified self-driven mobile device can be determined in the idle time period adjacent to the non-idle time period, and the idle time period and the non-idle time period of the workstation are re-determined according to the start time and the processing duration required by the workstation to process the target picking task.

[0084] After the idle duration of the workstation and / or the waiting duration of each self-driven mobile device dispatched to the workstation are determined, the picking efficiency of the workstation can be determined according to the idle duration and the waiting duration. The picking efficiency of the workstation is negatively correlated with the idle duration and also negatively correlated with the waiting duration.

[0085] After the picking efficiency of each workstation is determined, the comprehensive picking efficiency of all workstations can be determined, for example, by determining the average of the picking efficiency of each workstation as the comprehensive picking efficiency of all workstations. The comprehensive picking efficiency can be, but is not limited to, the average picking efficiency of all workstations, or the sum of the effective picking time of each workstation divided by the total picking time of the workstation, or the negative sum of the idle time of each workstation accounted for the total picking time of the workstation, or the sum of the effective picking time of each workstation divided by the picking time of the last workstation to complete the picking task, or the negative sum of the idle time of each workstation accounted for the picking time of the last workstation to complete the picking task, etc.

[0086] S110: determining the target allocation manner in the alternative allocation manners and the target dispatching manner in the alternative dispatching manners by a preset optimization algorithm, with the comprehensive picking efficiency of all workstations as the optimization target.

[0087] Since the comprehensive picking efficiency of all workstations is determined under the premise of an alternative allocation manner and an alternative dispatching manner, the target allocation manner in the alternative allocation manners and the target dispatching manner in the alternative dispatching manners under the target allocation manner can be determined by a preset optimization algorithm, with the comprehensive picking efficiency of all workstations as the optimization target. Specifically, the target allocation manner in the alternative allocation manners and the target dispatching manner in the alternative dispatching manners under the target allocation manner can be determined, with the maximum comprehensive picking efficiency as the optimization target.

[0088] The optimization algorithm can be a genetic algorithm, a simulated annealing algorithm, integer programming, etc. The following optimization algorithm is described in the specification as an example.

[0089] The objective function can be formula (1).

[0090]

[0091] wherein ω ijp (t) represents the weight of the idle time reduced by the self-driving mobile device i for transporting the inventory container j to the corresponding workstation p, the weight is related to the time period of the reduced idle time, the earlier the reduced idle time in time, the smaller the weight, and the later the reduced idle time in time, the greater the weight; x ′ ijp (t) represents the estimated idle time; y ijp (t) represents whether the self-driving mobile device i transports the inventory container j to the corresponding workstation p, y ijp (t) = 1 represents that the self-driving mobile device i transports the inventory container j to the corresponding workstation p, y ijp (t) = 0 represents that the self-driving mobile device i does not transport the inventory container j to the corresponding workstation p; t represents the time step t; l p (t) represents the workstation p currently allocatable pending allocation picking task, I represents the set of available self-driving mobile devices, and W represents the workstation currently requiring allocation of self-driving mobile devices.

[0092] Formulas (2)-(5) are constraint conditions.

[0093]

[0094] wherein BR(t) represents the number of the current model allocation; ∪ p∈W l p (t) represents the union set.

[0095] Formula (2) represents that one inventory container can be transported by only one self-driving mobile device, formula (3) represents that each time one workstation can allocate at most one self-driving mobile device, formula (4) represents the number of matching this time, and formula (5) represents whether matching, 0 for not matching and 1 for matching.

[0096] Therefore, at the time step t, the above model needs to be solved at least once to allocate all the workstation pending transport picking tasks to all the self-driving mobile devices.

[0097] S112: allocate each to-be-allocated picking task to a respective self-driven mobile device according to the target allocation manner, and schedule the respective self-driven mobile device to each work station to perform each to-be-allocated picking task according to the target scheduling manner.

[0098] After the target allocation manner and the target scheduling manner are determined, each to-be-allocated picking task can be allocated to a respective self-driven mobile device according to the target allocation manner, and the respective self-driven mobile device can be scheduled to each work station to perform the respective picking task according to the target scheduling manner.

[0099] Through the above method, when the self-driven mobile device is scheduled, the comprehensive picking efficiency of all work stations can be maximized, the idle time of the work stations and the waiting time of the self-driven mobile device can be minimized, and the reasonable scheduling of the respective self-driven mobile device is realized.

[0100] The scheduling method provided by the embodiments of the present specification is based on the same idea, and the present specification also provides a corresponding device, a storage medium, and an electronic device.

[0101] Figure 3 A structural schematic diagram of a scheduling device provided by the embodiments of the present specification is shown in FIG. 3. The device includes:

[0102] The task determination module 301 is configured to determine a picking task that has not been performed as a to-be-allocated picking task when a trigger condition is met.

[0103] The allocation module 302 is configured to determine each alternative allocation manner of allocating each to-be-allocated picking task to a respective self-driven mobile device.

[0104] The scheduling module 303 is configured to determine, for each alternative allocation manner, each alternative scheduling manner of scheduling the respective self-driven mobile device to each work station to perform each to-be-allocated picking task under the alternative allocation manner.

[0105] The estimation module 304 is configured to estimate, for each alternative scheduling manner, an estimated arrival time of the respective self-driven mobile device to each work station under the alternative scheduling manner.

[0106] The efficiency determination module 305 is configured to determine, according to the estimated arrival time of the respective self-driven mobile device to each work station, a comprehensive picking efficiency of all work stations under the alternative scheduling manner.

[0107] The optimization module 306 is configured to determine, through a preset optimization algorithm, a target allocation manner in each alternative allocation manner and a target scheduling manner in each alternative scheduling manner, with the comprehensive picking efficiency as an optimization target.

[0108] The execution module 307 is configured to allocate each to-be-allocated picking task to a respective self-driven mobile device according to the target allocation manner, and schedule the respective self-driven mobile device to a respective work station to execute the to-be-allocated picking task according to the target scheduling manner.

[0109] Optionally, the trigger condition is satisfied, and specifically includes:

[0110] Any allocated picking task is executed completely; and / or

[0111] Any picking task is generated; and / or

[0112] There is at least one self-driven mobile device that is not allocated any picking task.

[0113] Optionally, the task determination module 301 is specifically configured to determine, as the to-be-allocated picking task, any allocated picking task that is not executed yet and any picking task that is not allocated yet.

[0114] Optionally, the estimation module 304 is specifically configured to, for each self-driven mobile device, determine, as the target picking task, a first to-be-allocated picking task that needs to be executed by the self-driven mobile device under the candidate allocation manner, and determine a target work station that needs to be arrived at by the self-driven mobile device under the candidate scheduling manner; and estimate an estimated arrival time of the self-driven mobile device to the target work station when the self-driven mobile device executes the target picking task.

[0115] Optionally, the estimation module 304 is specifically configured to estimate the estimated arrival time of the self-driven mobile device to the target work station when the self-driven mobile device executes the target picking task, according to attribute information of the self-driven mobile device itself and task route information corresponding to the target picking task.

[0116] Optionally, the efficiency determination module 305 is specifically configured to, for each work station, determine target picking tasks that need to be executed by respective self-driven mobile devices scheduled to the work station; estimate a processing time length required for the work station to process the target picking tasks; determine, according to the estimated arrival time of the respective self-driven mobile devices to the work station, the processing time length required for the work station to process the target picking tasks, a picking efficiency of the work station under the candidate scheduling manner; and determine, according to the picking efficiencies of all work stations under the candidate scheduling manner, a comprehensive picking efficiency of all work stations under the candidate scheduling manner.

[0117] Optionally, the efficiency determination module 305 is specifically configured to determine an idle time length of the work station under the candidate scheduling manner; and determine, according to the idle time length of the work station, the picking efficiency of the work station, where the picking efficiency is negatively correlated with the idle time length.

[0118] Optionally, the efficiency determination module 305 is specifically used to determine the waiting time required for each driving mobile device scheduled to the workstation under the alternative scheduling mode; and to determine the picking efficiency of the workstation based on the waiting time, wherein the picking efficiency is negatively correlated with the waiting time.

[0119] This specification also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can be used to perform the above-described actions. Figure 1 The provided scheduling method.

[0120] based on Figure 1 The scheduling method shown in this specification, in addition to the embodiments provided, also provides Figure 4 The diagram shows the structure of the electronic device. Figure 4 At the hardware level, this electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for business operations. The processor reads the corresponding computer program from the non-volatile memory into memory and then executes it to achieve the above. Figure 1 The aforementioned scheduling method.

[0121] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0122] In the 1990s, it was quite obvious to distinguish whether an improvement in a technology was in hardware (e.g., improvement in circuit structures of diodes, transistors, switches, etc.) or in software (improvement in method flow). However, as technology has evolved, many improvements in method flow today can be considered as direct improvements in hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structures by programming the improved method flow into hardware circuits. Therefore, it cannot be said that an improvement in a method flow cannot be implemented by hardware entity modules. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. A digital system is "integrated" on a PLD by the designer programming it, rather than by asking a chip manufacturer to design and fabricate a custom integrated circuit chip. Moreover, instead of manually fabricating integrated circuit chips, this programming is now mostly implemented by "logic compiler" software, which is similar to software compilers used in program development, and the original code to be compiled is written in a specific programming language, which is called a hardware description language (HDL), and there are many such languages, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., and the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should be aware that, as long as the method flow is logically programmed in the above-mentioned hardware description languages and programmed into an integrated circuit, a hardware circuit implementing the logical method flow can be easily obtained.

[0123] The controller can be implemented in any suitable way, for example, the controller can take the form of a microprocessor or processor and a computer readable medium storing computer readable program code, such as software or firmware, executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that, in addition to being implemented in pure computer readable program code, the controller can equally well be implemented to perform the same functions using logic gates, switches, an application specific integrated circuit, a programmable logic controller and an embedded microcontroller, etc. by means of a logical programming of the method steps. The controller can thus be considered as a hardware component, and the means comprised therein for performing the various functions can be considered as structures within the hardware component. Alternatively, the means for performing the various functions can even be considered as both a software module implementing the method and a structure within the hardware component.

[0124] The systems, apparatuses, modules or units illustrated by the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0125] For the sake of description, the above apparatuses are described in functional division and are described respectively. Of course, the functions of the units can be implemented in the same or multiple software and / or hardware when implementing the present specification.

[0126] Those skilled in the art will understand that the embodiments of the present specification can be provided as a method, a system or a computer program product. Therefore, the present specification can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware aspects. Moreover, the present specification can take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.

[0127] The specification is presented with reference to flow diagrams and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the specification. It will be understood that each block of the flow diagrams and / or block diagrams, and combinations of blocks in the flow diagrams and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Flow diagrams and / or block diagrams can also present a method, apparatus or computer program product to achieve functions specified in flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Flow diagrams and / or block diagrams can also present a method, apparatus or computer program product to achieve functions specified in flow diagrams and / or block diagrams block or blocks.

[0128] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Flow diagrams and / or block diagrams can also present a method, apparatus or computer program product to achieve functions specified in flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Flow diagrams and / or block diagrams can also present a method, apparatus or computer program product to achieve functions specified in flow diagrams and / or block diagrams block or blocks.

[0129] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the flow diagrams and / or block diagrams block or blocks. Figure 1 The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Flow diagrams and / or block diagrams can also present a method, apparatus or computer program product to achieve functions specified in flow diagrams and / or block diagrams block or blocks. ​ The flow diagrams and / or block diagrams in the specification can present a method, apparatus or computer program product according to embodiments of the specification. Flow diagrams and / or block diagrams can also present a method, apparatus or computer program product to achieve functions specified in flow diagrams and / or block diagrams block or blocks.

[0130] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0131] The memory can include non-persistent memory and / or storage mechanisms such as, for example, random access memory (RAM), non-volatile memory (NVM), and / or a persistent memory such as, for example, read-only memory (ROM) or flash memory. The memory is an example of computer-readable media.

[0132] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.

[0133] It should also be noted that the terms "comprising", "comprising" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or apparatus that includes a list of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus that includes the element.

[0134] Those skilled in the art will appreciate that embodiments of the present specification can be provided as methods, systems or computer program products. Therefore, the present specification can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, the present specification can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0135] The present specification can be described in the general context of computer-executable instructions, such as program modules, executed by computers. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in both local and remote computer storage media, including storage devices.

[0136] The various embodiments described in this specification are described using a numbering of embodiments approach: these are each individually integrated contributions pertaining to different but related aspects of the description. Each of the various embodiments can stand on its own, and each can be combined with the subject matter of other embodiments to produce further embodiments. Where appropriate, therefore, the contents of the specification can be regarded as incorporating text of the detailed description under the heading "Embodiments."

[0137] The above description is embodied only by the embodiments of the specification, and is not used to limit the specification. The specification can have various changes and modifications for those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the specification shall be included in the scope of claims of the specification.

Claims

1. A scheduling method, characterized by, The method comprises the following steps: When the trigger condition is met, determine the picking tasks that have not been executed as the to-be-assigned picking tasks; Determine each candidate assignment mode of assigning each to-be-assigned picking task to each self-driving mobile device; For each candidate assignment mode, determine each candidate scheduling mode of scheduling each self-driving mobile device to each workstation to execute each to-be-assigned picking task under the candidate assignment mode; For each candidate scheduling mode, estimate the estimated arrival time of each self-driving mobile device to each workstation under the candidate scheduling mode, wherein for each self-driving mobile device, determine the first to-be-assigned picking task to be executed by the self-driving mobile device as a target picking task under the candidate assignment mode, and determine the target workstation to be arrived by the self-driving mobile device under the candidate scheduling mode; estimate the estimated arrival time of the self-driving mobile device to the target workstation when the self-driving mobile device executes the target picking task according to the attribute information of the self-driving mobile device itself, the task route information corresponding to the target picking task, and the environment information of the current site, wherein the environment information comprises the number of self-driving mobile devices driving on the current site, and the congestion coefficient of the current site; Determine the comprehensive picking efficiency of all workstations under the candidate scheduling mode according to the estimated arrival time of each self-driving mobile device to each workstation; Determine the target assignment mode in all candidate assignment modes and the target scheduling mode in all candidate scheduling modes by a preset optimization algorithm, taking improving the comprehensive picking efficiency as the optimization target; Assign each to-be-assigned picking task to each self-driving mobile device according to the target assignment mode, and schedule each self-driving mobile device to each workstation to execute each to-be-assigned picking task according to the target scheduling mode.

2. The method of claim 1, wherein, The trigger condition is met, specifically including: Any assigned picking task is executed; Any picking task is generated; and / or There is at least one self-driving mobile device that has not been assigned any picking task.

3. The method of claim 1, wherein, Determine the picking tasks that have not been executed as the to-be-assigned picking tasks, specifically including: Determine the assigned picking tasks that have not been executed and the picking tasks that have not been assigned as the to-be-assigned picking tasks.

4. The method of claim 1, wherein, Determine the comprehensive picking efficiency of all workstations under the candidate scheduling mode according to the estimated arrival time of each self-driving mobile device to each workstation, specifically including: For each workstation, determine the target picking task to be executed by each self-driving mobile device scheduled to the workstation; Estimate the processing time required by the workstation to process each target picking task; Determine the picking efficiency of the workstation under the candidate scheduling mode according to the estimated arrival time of each self-driving mobile device scheduled to the workstation to the workstation, and the processing time required by the workstation to process each target picking task; Determine the comprehensive picking efficiency of all workstations under the candidate scheduling mode according to the picking efficiency of all workstations under the candidate scheduling mode.

5. The method of claim 4, wherein, Determine the picking efficiency of the workstation under the candidate scheduling mode, specifically including: Determine the idle time of the workstation under the candidate scheduling mode; According to the idle time length of the workstation, the picking efficiency of the workstation is determined, wherein the picking efficiency is negatively correlated with the idle time length.

6. The method of claim 4, wherein, The picking efficiency of the workstation under the alternative scheduling mode is determined, specifically including: The waiting time length that each driving mobile device scheduled to the workstation needs to wait at the workstation under the alternative scheduling mode is determined; According to the waiting time length, the picking efficiency of the workstation is determined, wherein the picking efficiency is negatively correlated with the waiting time length.

7. A scheduling apparatus characterized by comprising: including: The task determination module is configured to determine, when the trigger condition is met, a picking task that has not been executed as a to-be-assigned picking task; The assignment module is configured to determine each alternative assignment mode of assigning each to-be-assigned picking task to each driving mobile device; The scheduling module is configured to determine, for each alternative assignment mode, each alternative scheduling mode of scheduling each driving mobile device to each workstation to execute each to-be-assigned picking task under the alternative assignment mode; The estimation module is configured to estimate, for each alternative scheduling mode, an estimated arrival time of each driving mobile device to each workstation under the alternative scheduling mode, wherein for each driving mobile device, the first to-be-assigned picking task to be executed by the driving mobile device under the alternative assignment mode is determined as a target picking task, and the target workstation to be arrived by the driving mobile device under the alternative scheduling mode is determined; and the estimated arrival time of the driving mobile device to the target workstation when the driving mobile device executes the target picking task is estimated according to attribute information of the driving mobile device itself, task route information corresponding to the target picking task, and environment information of the current site, wherein the environment information includes the number of driving mobile devices driving on the current site and a congestion coefficient of the current site. The efficiency determination module is configured to determine, according to the estimated arrival time of each driving mobile device to each workstation, a comprehensive picking efficiency of all workstations under the alternative scheduling mode. The optimization module is configured to determine, by a preset optimization algorithm, a target assignment mode in the alternative assignment modes and a target scheduling mode in the alternative scheduling modes, with the comprehensive picking efficiency as an optimization target. The execution module is configured to assign each to-be-assigned picking task to each driving mobile device according to the target assignment mode, and schedule each driving mobile device to each workstation to execute each to-be-assigned picking task according to the target scheduling mode.

8. The apparatus of claim 7, wherein, The trigger condition is met, specifically including: Any assigned picking task is executed; and / or Any picking task is generated; and / or There is at least one driving mobile device that has not been assigned any picking task.

9. The apparatus of claim 7, wherein, The task determination module is specifically configured to determine, as the to-be-assigned picking task, an assigned picking task that has not been executed and a picking task that has not been assigned.

10. The apparatus of claim 7, wherein, The efficiency determination module is specifically configured to determine, for each workstation, a target picking task to be executed by each driving mobile device scheduled to the workstation; and estimate a processing time length required by the workstation to process each target picking task. According to estimated arrival time of each driving mobile device scheduled to the workstation to arrive at the workstation, and processing duration required by the workstation to process each target picking task, determine picking efficiency of the workstation under the candidate scheduling mode; According to picking efficiency of all workstations under the candidate scheduling mode, determine comprehensive picking efficiency of all workstations under the candidate scheduling mode.

11. The apparatus of claim 10, wherein, The efficiency determining module is specifically configured to determine idle duration of the workstation under the candidate scheduling mode, and determine picking efficiency of the workstation according to the idle duration, wherein the picking efficiency is negatively correlated with the idle duration.

12. The apparatus of claim 10, wherein, The efficiency determining module is specifically configured to determine waiting duration of each driving mobile device scheduled to the workstation to wait at the workstation under the candidate scheduling mode, and determine picking efficiency of the workstation according to the waiting duration, wherein the picking efficiency is negatively correlated with the waiting duration.

13. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, and the computer program is executed by the processor to implement the method in any one of claims 1-6.

14. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor executes the program to implement the method in any one of claims 1-6.