A scheduling method and apparatus, a storage medium, and an electronic device
By estimating the arrival time of self-driven mobile devices and using optimization algorithms to determine the target workstation, 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.
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
In warehouse goods-to-person picking automation systems, unreasonable scheduling of self-driven mobile devices can lead to excessively long waiting times at workstations or equipment queues, reducing picking efficiency.
By estimating the arrival time of self-driven mobile devices at the workstation, an optimization algorithm is used to determine the target workstation and assign tasks to the most suitable device, thereby improving overall picking efficiency.
It effectively reduces workstation idle time and equipment waiting time, improving the overall picking efficiency of all workstations.
Smart Images

Figure CN115249108B_ABST
Abstract
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 sorting efficiency.
[0005] Therefore, how to schedule the self-driving mobile device is a problem 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] determining a to-be-assigned picking task, available self-driving mobile devices, and available workstations;
[0010] for each available workstation, estimating an estimated arrival time of the available self-driving mobile devices when performing the to-be-assigned picking task to arrive at the available workstation;
[0011] determining, according to the estimated arrival times of each of the non-available self-driving mobile devices when performing the respective assigned picking task to arrive at each workstation and the estimated arrival time of the available self-driving mobile device to arrive at the available workstation, a comprehensive picking efficiency of all workstations when the available self-driving mobile device is scheduled to the available workstation to perform the to-be-assigned picking task;
[0012] determining a target workstation in each available workstation by a preset optimization algorithm, taking improving the comprehensive picking efficiency as an optimization target;
[0013] allocating the to-be-allocated picking task to the available self-driven mobile device, and scheduling the available self-driven mobile device to the target workstation to execute the to-be-allocated picking task.
[0014] Optionally, an estimated arrival time when the available self-driven mobile device executes the to-be-allocated picking task to arrive at the available workstation is estimated, and the method specifically comprises:
[0015] The estimated arrival time when the available self-driven mobile device executes the to-be-allocated picking task to arrive at the available workstation is estimated according to the attribute information of the available self-driven mobile device itself and the task route information corresponding to the to-be-allocated picking task.
[0016] Optionally, the comprehensive picking efficiency of all workstations when the available self-driven mobile device is scheduled to the available workstation to execute the to-be-allocated picking task is determined, and the method specifically comprises:
[0017] The processing time length required by the available workstation to process the to-be-allocated picking task is estimated;
[0018] The comprehensive picking efficiency of all workstations when the available self-driven mobile device is scheduled to the available workstation to execute the to-be-allocated picking task is determined according to the estimated arrival time when each non-available self-driven mobile device executes a respective allocated picking task to arrive at each workstation, the processing time length required by each workstation to process each allocated picking task, the estimated arrival time when the available self-driven mobile device arrives at the available workstation, and the processing time length required by the available workstation to process the to-be-allocated picking task.
[0019] Optionally, the comprehensive picking efficiency of all workstations when the available self-driven mobile device is scheduled to the available workstation to execute the to-be-allocated picking task is determined, and the method specifically comprises:
[0020] The idle time length of each workstation when the available self-driven mobile device is scheduled to the available workstation to execute the to-be-allocated picking task is determined.
[0021] The comprehensive picking efficiency of all workstations is determined according to the idle time length of each workstation, and the comprehensive picking efficiency is negatively correlated with the idle time length.
[0022] Optionally, the comprehensive picking efficiency of all workstations when the available self-driven mobile device is scheduled to the available workstation to execute the to-be-allocated picking task is determined, and the method specifically comprises:
[0023] determine a waiting time length that the available autonomous mobile device and each non-available autonomous mobile device need to wait at each workstation when the available autonomous mobile device is dispatched to the available workstation to perform the to-be-assigned picking task;
[0024] determine a comprehensive picking efficiency of all workstations according to the waiting time length of the available autonomous mobile device and each non-available autonomous mobile device, wherein the comprehensive picking efficiency is negatively correlated with the waiting time length.
[0025] Optionally, the available autonomous mobile device is determined specifically by comprising:
[0026] determining an autonomous mobile device that is currently not assigned any picking task as the available autonomous mobile device.
[0027] Optionally, the available workstation is determined specifically by comprising:
[0028] for each workstation, if the number of autonomous mobile devices dispatched to the workstation to perform picking tasks does not exceed a preset threshold, determining the workstation as the available workstation.
[0029] The scheduling apparatus provided in the specification comprises:
[0030] a determining module configured to determine a to-be-assigned picking task, an available autonomous mobile device, and an available workstation;
[0031] an estimating module configured to estimate, for each available workstation, an estimated arrival time of the available autonomous mobile device when performing the to-be-assigned picking task to arrive at the available workstation;
[0032] an optimizing module configured to determine a comprehensive picking efficiency of all workstations when the available autonomous mobile device is dispatched to the available workstation to perform the to-be-assigned picking task according to the estimated arrival time of each non-available autonomous mobile device when performing the respective assigned picking task to arrive at each workstation, and the estimated arrival time of the available autonomous mobile device to arrive at the available workstation, and determine a target workstation in each available workstation by taking the comprehensive picking efficiency as an optimization target through a preset optimization algorithm;
[0033] a scheduling module configured to assign the to-be-assigned picking task to the available autonomous mobile device, and dispatch the available autonomous mobile device to the target workstation to perform the to-be-assigned picking task.
[0034] The computer-readable storage medium provided in the specification stores a computer program, and the computer program is executed by a processor to implement the above-mentioned scheduling method.
[0035] This specification provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the scheduling method described above when executing the program.
[0036] The above-described at least one technical solution adopted in the embodiments of this specification can achieve the following beneficial effects:
[0037] This specification's embodiments assume that an available self-driven mobile device will be scheduled to an available workstation to perform an assigned picking task. The estimated arrival time of the self-driven mobile device at the workstation is estimated, and the overall picking efficiency of all workstations at that time is calculated. Then, an optimization algorithm is used to determine the target workstation to which the self-driven mobile device should be scheduled and the corresponding assigned picking task to be handled, with the goal of improving overall picking efficiency. The self-driven mobile device is then scheduled to the target workstation. This method improves the overall picking efficiency of all workstations when scheduling self-driven mobile devices. Attached Figure Description
[0038] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:
[0039] Figure 1 A schematic diagram illustrating a method for scheduling a self-driven mobile device provided in an embodiment of this specification;
[0040] Figure 2 The timeline of the available workstations provided in the embodiments of this specification;
[0041] Figure 3 This is a schematic diagram of the structure of a scheduling device provided in an embodiment of this specification;
[0042] Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this specification. Detailed Implementation
[0043] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.
[0044] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0045] Figure 1 This is a schematic diagram of a method for scheduling self-driven mobile devices provided in the embodiments of this specification, including:
[0046] S100: Determine the picking tasks to be assigned, available self-driven mobile devices, and available workstations.
[0047] In the embodiments described in this specification, the self-driven mobile device operates in a site with multiple workstations. When performing a picking task, the self-driven mobile device first travels to the inventory container containing the goods corresponding to the picking task. Then, according to the schedule, it moves the inventory container to a workstation, where workers or automated picking equipment (such as a robotic arm) pick the goods from the inventory container to complete the picking task. Finally, the self-driven mobile device also moves the inventory container back to a suitable location (not necessarily the original location).
[0048] Based on the above usage scenario, the embodiments of this specification can determine a picking task to be assigned, each currently available self-driven mobile device, and each currently available workstation.
[0049] Specifically, when determining picking tasks to be assigned, the picking task at the top of the queue can be designated as the task to be assigned. After the task is assigned, it is removed from the queue. Alternatively, other methods can be used, such as selecting any seat from the generated but unassigned picking tasks. The picking tasks to be assigned include both currently unassigned self-driving mobile devices and newly generated picking tasks.
[0050] When determining available self-driven mobile devices, a self-driven mobile device that is not currently assigned any picking tasks can be considered an available self-driven mobile device. That is, a self-driven mobile device that does not currently need to perform any picking tasks is identified as an available self-driven mobile device.
[0051] When determining available workstations, for each workstation, it can be checked whether the number of self-driven mobile devices currently scheduled to perform picking tasks on that workstation exceeds a preset threshold. If so, the workstation is determined to be unavailable; otherwise, it is determined to be available. This preset threshold can be set as needed, for example, to 10, or it can be set to infinity, meaning there is no limit to the number of self-driven mobile devices assigned to a workstation.
[0052] S102: For each available workstation, estimate the estimated arrival time of the available self-driven mobile device when it performs the assigned picking task to that available workstation.
[0053] Once it is determined that there are multiple picking tasks to be assigned, multiple available self-driven mobile devices, and each available workstation, the estimated arrival time of each self-driven mobile device to its corresponding available workstation can be estimated, assuming that these picking tasks to be assigned are distributed to these available self-driven mobile devices and that the available self-driven mobile device is scheduled to the corresponding available workstation when it executes the picking task to be assigned.
[0054] Specifically, based on the attribute information of the available self-driven mobile device and the task route information corresponding to the picking task to be assigned, and under the above assumptions, the estimated arrival time of the available self-driven mobile device to the available workstation can be estimated.
[0055] The attributes of the self-driving mobile device itself may include: the speed information of the self-driving mobile device (such as: maximum speed, maximum / minimum acceleration) and the model of the self-driving mobile device.
[0056] The task route information corresponding to the picking task to be assigned may include: the distance of the task route corresponding to the picking task to be assigned (i.e., the total distance from the self-driven mobile device to the inventory container where the goods corresponding to the picking task to be assigned are located, and then from the inventory container to the available workstation) and the number of turns required in the task route.
[0057] Of course, in addition to estimating the estimated arrival time based on the attribute information of the self-driven mobile device itself and the task route information corresponding to the picking task to be assigned, other information such as the current site environment information can also be used for estimation. The current site environment information may include the number of self-driven mobile devices traveling on the current site or the current site congestion coefficient.
[0058] S104: Based on the estimated arrival time of each non-available self-driven mobile device when it arrives at each workstation to perform its assigned picking task, and the estimated arrival time of the available self-driven mobile device to the available workstation, determine the overall picking efficiency of all workstations when the available self-driven mobile device is scheduled to perform the assigned picking task at the available workstation.
[0059] In the embodiments of this specification, the overall picking efficiency of all workstations can be determined based on the picking efficiency of each workstation. The picking efficiency of a workstation is related to its own idle time, as well as the waiting time and processing time of the respective driving mobile devices scheduled to perform picking tasks at the workstation.
[0060] Specifically, assuming an available self-driven mobile device is scheduled to an available workstation to perform an assigned picking task, for that available workstation, the idle time of the available workstation and the waiting time of each non-available self-driven mobile device scheduled to the workstation to perform its assigned picking task can be determined based on the estimated arrival time of each non-available self-driven mobile device to the workstation, the processing time required for the workstation to process each assigned picking task, the estimated arrival time of the available self-driven mobile device to the workstation, and the processing time required for the workstation to process the assigned picking task. Finally, the picking efficiency of the available workstation is determined based on the determined idle time and waiting time. Figure 2 As shown.
[0061] Figure 2 This is the timeline of the available workstations provided in the embodiments of this specification. Figure 2 In this context, t0 and t2 are the estimated arrival times of two non-available self-driven mobile devices that have been scheduled to the available workstation. The processing time required for the available workstation to handle any picking task can be preset to a fixed value T (this is only an example of a fixed processing time T; the actual processing time can be determined based on the picking speed and number of items picked by the picker or robotic arm, the distribution of picking positions on the inventory containers, etc.). Then, the time periods t0~t1 and t2~t3 are the non-idle time periods of the available workstation, where t1-t0=t3-t2=T. The length of the time period t1~t2 is the idle time of the available workstation.
[0062] For the aforementioned picking task to be assigned and the available self-driven mobile device, assuming t4 is the estimated arrival time of the available self-driven mobile device at the available workstation, since t4 lies between t0 and t1, which is within the non-idle time period of the available workstation, and a workstation can only process one picking task at a time, the start time t4' of the available workstation starting to process the picking task to be assigned can be determined after t1. Therefore, the time period from t4' to t5 can be determined as the non-idle time period for the available workstation to process the picking task to be assigned, where t5 - t4' = T.
[0063] At this time, the idle time period of the available workstation is t5~t2, that is, the idle time is t2-t5.
[0064] The waiting time for the available self-driven mobile device is the length of the time interval between the estimated arrival time t4 of the available self-driven mobile device at the available workstation and the start time t4' of the available workstation when it begins processing the assigned picking task.
[0065] Similarly, for other unavailable self-driven mobile devices, the waiting time for the unavailable self-driven mobile device is also: the length of time between the estimated arrival time of the unavailable self-driven mobile device at the available workstation and the start time of the available workstation starting to process the assigned picking task that has been assigned to the unavailable self-driven mobile device.
[0066] 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 assigned picking task for the unavailable self-driven mobile device with an estimated arrival time of t2, where t3' - t2' = T. In other words, the original t2 to t3 are shifted backwards.
[0067] Therefore, assuming that available self-driven mobile devices are scheduled to an available workstation to perform assigned picking tasks, the idle time period of the available workstation can be determined first based on the estimated arrival time of each non-available self-driven mobile device already scheduled to the available workstation when performing its assigned picking tasks, and the processing time required for the available workstation to process each assigned picking task. Figure 2 (as shown in t1~t2) and non-idle time periods (e.g.) Figure 2 As shown in t0~t1 and t2~t3), based on the estimated arrival time of the available self-driven mobile device to the available workstation and the processing time required for the available workstation to process the assigned picking task, the idle and non-idle time periods of the available workstation are redefined. Finally, the idle duration is determined based on the idle time periods, and for each driven mobile device (including the available self-driven mobile device) scheduled to the available workstation, the idle duration is determined based on the estimated arrival time of the self-driven mobile device to the available workstation (e.g., t0~t1 and t2~t3). Figure 2 As shown in t4), and the start time of when the available workstation begins processing the picking task assigned to the self-driven mobile device (e.g., t4). Figure 2 The waiting time of the self-driven mobile device is determined by t4' (as shown).
[0068] Specifically, when redetermining the idle and non-idle time periods of the available workstation, if the estimated arrival time of the available self-driven mobile device falls within the non-idle time period (e.g., Figure 2 If t4 is located between t0 and t1, then in the adjacent idle period after the non-idle period, the start time of the available workstation to start processing the picking task to be assigned is determined, and the idle and non-idle periods of the available workstation are re-determined based on the start time and the processing time required for the available workstation to process the picking task to be assigned.
[0069] Once the idle time of the available workstation and / or the waiting time of each self-driven mobile device scheduled to the available workstation are determined, the picking efficiency of the available workstation can be determined based on the idle time and the waiting time. The picking efficiency of the available workstation is negatively correlated with both the idle time and the waiting time.
[0070] The above method is for determining the picking efficiency of an available workstation. For other workstations, the above method can be used to determine the picking efficiency of each workstation.
[0071] Once the picking efficiency of each workstation is determined, the overall picking efficiency of all workstations can be determined. For example, the average picking efficiency of each workstation can be used as the overall picking efficiency of all workstations. The overall 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 that workstation; or the negative sum of the idle time of each workstation as a percentage of the total picking time of that workstation; or the sum of the effective picking time of each workstation divided by the picking time of the last workstation completing the picking task; or the negative sum of the idle time of each workstation as a percentage of the picking time of the last workstation completing the picking task, etc.
[0072] S106: Using a preset optimization algorithm, with the goal of improving the overall picking efficiency, a target workstation is determined among the available workstations.
[0073] Since the above determination of the overall picking efficiency of all workstations is based on the assumption that available self-driven mobile devices will be scheduled to an available workstation to execute the assigned picking task, a preset optimization algorithm can be used to determine the target workstation among all available workstations with the goal of improving the overall picking efficiency of all workstations. Specifically, the optimization objective can be to maximize the overall picking efficiency or minimize the idle time percentage, thereby determining the correspondence between self-driven mobile devices, assigned picking tasks, and target workstations, and thus scheduling self-driven mobile devices to move the corresponding assigned picking tasks to the corresponding target workstations.
[0074] The optimization algorithms mentioned above can be genetic algorithms, simulated annealing algorithms, integer programming, etc. This manual will use the following optimization algorithm as an example for explanation.
[0075] Formula (1) can be used as the objective function.
[0076]
[0077] Where, ω ijp(t) represents the weight of the reduced idle time caused by the self-driven mobile device i moving the inventory container j to the corresponding workstation p. This weight is related to the time period of the reduced idle time; the earlier the reduced idle time occurs, the smaller the weight, and the later the reduced idle time occurs, the larger the weight. ′ ijp (t) represents the estimated idle time; y ijp (t) indicates whether the self-driven mobile device i moves the inventory container j to the corresponding workstation p, y ijp (t) = 1 indicates that the self-driven mobile device i moves the inventory container j to the corresponding workstation p, y ijp (t) = 0 indicates that the mobile device i is not driven by itself to move the inventory container j to the corresponding workstation p; t indicates the time step t.
[0078] Formulas (2) to (6) are constraints.
[0079]
[0080] Among them, l p (t) represents the picking tasks currently available for workstation p to be moved and picked. idle AR(t) represents the set of available self-driven mobile devices, W represents the workstations that currently need to be allocated self-driven mobile devices, and AR(t) represents the number of self-driven mobile devices currently allocated by the model; ∪ p∈W l p (t) represents the union.
[0081] Formula (2) indicates that an inventory container can only be moved by one self-driven mobile device. Formula (3) indicates that a workstation can be assigned a maximum of one self-driven mobile device at a time. Formula (4) indicates that a self-driven mobile device can be assigned a maximum of one picking task to be moved. Formula (5) indicates the matching quantity in this allocation. Formula (6) indicates whether it matches, with 0 indicating no match and 1 indicating a match.
[0082] Therefore, at time step t, the above model needs to be solved at least once to reach the upper limit of the number of all self-driven mobile devices, picking tasks to be handled, or self-driven mobile devices that can be controlled by available workstations.
[0083] S108: Assign the picking task to be assigned to the available self-driving mobile device, and schedule the available self-driving mobile device to the target workstation to execute the picking task to be assigned.
[0084] Once the target workstation is identified, the picking task to be assigned can be assigned to an available self-driving mobile device. When the available self-driving mobile device performs the picking task, it is scheduled to the target workstation so that the available self-driving mobile device can move the inventory container containing the goods corresponding to the picking task to the target workstation for picking.
[0085] By using the above method, the overall picking efficiency of all workstations can be maximized when scheduling self-driven mobile devices, while minimizing the idle time of workstations and the waiting time of self-driven mobile devices, thus achieving reasonable scheduling of each self-driven mobile device.
[0086] The above are the scheduling methods provided in the embodiments of this specification. Based on the same idea, this specification also provides corresponding devices, storage media and electronic devices.
[0087] Figure 3 This is a schematic diagram of a scheduling device provided in an embodiment of this specification. The device includes:
[0088] The determination module 301 is used to determine the picking tasks to be assigned, the available self-driven mobile devices, and the available workstations;
[0089] The estimation module 302 is used to estimate the estimated arrival time of the available self-driven mobile device when it performs the assigned picking task to the available workstation for each available workstation.
[0090] The optimization module 303 is used to determine the overall picking efficiency of all workstations when scheduling the available self-driven mobile devices to execute the assigned picking tasks, based on the estimated arrival time of each non-available self-driven mobile device when it arrives at each workstation to execute its assigned picking task, and the estimated arrival time of the available self-driven mobile devices when it arrives at the available workstation. The optimization module 303 is used to determine the target workstation among the available workstations by using a preset optimization algorithm to improve the overall picking efficiency.
[0091] The scheduling module 304 is used to assign the picking task to be assigned to the available self-driving mobile device, and to schedule the available self-driving mobile device to the target workstation to execute the picking task to be assigned.
[0092] Optionally, the estimation module 302 is specifically used to estimate the estimated arrival time of the available self-driven mobile device when it executes the assigned picking task to the available workstation, based on the attribute information of the available self-driven mobile device itself and the task route information corresponding to the picking task to be assigned.
[0093] Optionally, the optimization module 303 is specifically used to: estimate the processing time required for the available workstation to process the picking task to be assigned; and determine the overall picking efficiency of all workstations when the available self-driven mobile devices are scheduled to execute the picking task to be assigned, based on the estimated arrival time of each non-available self-driven mobile device when executing its assigned picking task, the processing time required for each workstation to process its assigned picking task, the estimated arrival time of the available self-driven mobile device when it arrives at the available workstation, and the processing time required for the available workstation to process the picking task to be assigned.
[0094] Optionally, the optimization module 303 is specifically used to: determine the idle time of each workstation when the available self-driven mobile device is scheduled to the available workstation to perform the picking task to be assigned; and determine the overall picking efficiency of all workstations based on the idle time of each workstation, wherein the overall picking efficiency is negatively correlated with the idle time.
[0095] Optionally, the optimization module 303 is specifically used to: determine the waiting time that the available self-driven mobile device and each unavailable self-driven mobile device need to wait at each workstation when scheduling the available self-driven mobile device to the available workstation to perform the picking task to be assigned; and determine the overall picking efficiency of all workstations based on the waiting time of the available self-driven mobile device and each unavailable self-driven mobile device, wherein the overall picking efficiency is negatively correlated with the waiting time.
[0096] Optionally, the determining module 301 is specifically used to determine self-driven mobile devices that are not currently assigned any picking tasks as available self-driven mobile devices.
[0097] Optionally, the determining module 301 is specifically used to determine that a workstation is an available workstation if the number of self-driven mobile devices scheduled to perform picking tasks at that workstation does not exceed a preset threshold.
[0098] 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.
[0099] based on Figure 1 The scheduling method shown in this specification is further provided in the embodiments. Figure 4 The diagram shows the structure of the electronic device. Figure 4At 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.
[0100] 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.
[0101] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, 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, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0102] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0103] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0104] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.
[0105] Those skilled in the art will understand that embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0106] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations 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 processor, 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 a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0107] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0108] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes The steps of the function specified in one or more boxes.
[0109] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0110] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0111] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0112] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0113] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0114] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0115] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0116] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this specification.
Claims
1. A scheduling method, characterized by, The method comprises the following steps: determining to-be-assigned picking tasks, available self-driving mobile devices, and available workstations; for each available workstation, estimating an estimated arrival time of the available self-driving mobile device to arrive at the available workstation when the available self-driving mobile device executes the to-be-assigned picking task, according to attribute information of the available self-driving mobile device itself, task route information corresponding to the to-be-assigned picking task, and environment information of a current site, the environment information comprising a number of self-driving mobile devices currently driving on the current site, and a congestion coefficient of the current site; determining a comprehensive picking efficiency of all workstations when the available self-driving mobile device is dispatched to the available workstation to execute the to-be-assigned picking task, according to the estimated arrival time of each non-available self-driving mobile device to arrive at each workstation when the non-available self-driving mobile device executes a respective assigned picking task, and the estimated arrival time of the available self-driving mobile device to arrive at the available workstation; determining a target workstation in the available workstations by a preset optimization algorithm, taking improving the comprehensive picking efficiency as an optimization objective; assigning the to-be-assigned picking task to the available self-driving mobile device, and dispatching the available self-driving mobile device to the target workstation to execute the to-be-assigned picking task.
2. The method of claim 1, wherein, The method for determining the comprehensive picking efficiency of all workstations when the available self-driving mobile device is dispatched to the available workstation to execute the to-be-assigned picking task comprises the following steps: estimating a processing time length required by the available workstation to process the to-be-assigned picking task; determining the comprehensive picking efficiency of all workstations when the available self-driving mobile device is dispatched to the available workstation to execute the to-be-assigned picking task, according to the estimated arrival time of each non-available self-driving mobile device to arrive at each workstation when the non-available self-driving mobile device executes a respective assigned picking task, the processing time length required by each workstation to process each assigned picking task, the estimated arrival time of the available self-driving mobile device to arrive at the available workstation, and the processing time length required by the available workstation to process the to-be-assigned picking task.
3. The method of claim 2, wherein, The method for determining the comprehensive picking efficiency of all workstations when the available self-driving mobile device is dispatched to the available workstation to execute the to-be-assigned picking task comprises the following steps: determining an idle time length of each workstation when the available self-driving mobile device is dispatched to the available workstation to execute the to-be-assigned picking task; determining the comprehensive picking efficiency of all workstations according to the idle time length of each workstation, wherein the comprehensive picking efficiency is negatively correlated with the idle time length.
4. The method of claim 2, wherein, The method for determining the comprehensive picking efficiency of all workstations when the available self-driving mobile device is dispatched to the available workstation to execute the to-be-assigned picking task comprises the following steps: determining a waiting time length required by the available self-driving mobile device and each non-available self-driving mobile device to wait at each workstation when the available self-driving mobile device is dispatched to the available workstation to execute the to-be-assigned picking task; determining the comprehensive picking efficiency of all workstations according to the waiting time length of the available self-driving mobile device and each non-available self-driving mobile device, wherein the comprehensive picking efficiency is negatively correlated with the waiting time length.
5. The method of claim 1, wherein, determining available self-driven mobile devices, specifically comprising: determining self-driven mobile devices that are currently not assigned any picking task as available self-driven mobile devices.
6. The method of claim 1, wherein, determining available workstations, specifically comprising: for each workstation, determining the workstation as an available workstation if the number of self-driven mobile devices scheduled to perform picking tasks at the workstation does not exceed a preset threshold.
7. A scheduling apparatus characterized by comprising: comprising: a determining module configured to determine picking tasks to be assigned, available self-driven mobile devices, and available workstations; an estimation module configured to, for each available workstation, estimate an estimated arrival time of an available self-driven mobile device at the available workstation when the available self-driven mobile device performs a picking task to be assigned, according to attribute information of the available self-driven mobile device, task route information corresponding to the picking task to be assigned, and environment information of a current site, the environment information comprising the number of self-driven mobile devices traveling on the current site and a congestion coefficient of the current site; an optimization module configured to determine a comprehensive picking efficiency of all workstations when the available self-driven mobile device is scheduled to perform the picking task to be assigned at the available workstation, according to estimated arrival times of each non-available self-driven mobile device at each workstation when the non-available self-driven mobile device performs a respective assigned picking task, and the estimated arrival time of the available self-driven mobile device at the available workstation; determining a target workstation in the available workstations by a preset optimization algorithm, with the comprehensive picking efficiency as an optimization objective; a scheduling module configured to assign the picking task to be assigned to the available self-driven mobile device, and schedule the available self-driven mobile device to perform the picking task to be assigned at the target workstation.
8. The apparatus of claim 7, wherein, The optimization module is specifically configured to estimate a processing duration required by the available workstation to process the picking task to be assigned; and determine the comprehensive picking efficiency of all workstations when the available self-driven mobile device is scheduled to perform the picking task to be assigned at the available workstation, according to the estimated arrival times of each non-available self-driven mobile device at each workstation when the non-available self-driven mobile device performs a respective assigned picking task, the processing duration required by each workstation to process each assigned picking task, the estimated arrival time of the available self-driven mobile device at the available workstation, and the processing duration required by the available workstation to process the picking task to be assigned.
9. The apparatus of claim 8, wherein, The optimization module is specifically configured to determine an idle duration of each workstation when the available self-driven mobile device is scheduled to perform the picking task to be assigned at the available workstation; and determine the comprehensive picking efficiency of all workstations according to the idle duration of each workstation, wherein the comprehensive picking efficiency is negatively correlated with the idle duration.
10. The apparatus of claim 8, wherein, The optimization module is specifically configured to determine a waiting time length that the available self-driven mobile device and each non-available self-driven mobile device need to wait at each workstation when the available self-driven mobile device is dispatched to the available workstation to perform the to-be-assigned picking task; and determine an integrated picking efficiency of all the workstations according to the waiting time length of the available self-driven mobile device and each non-available self-driven mobile device, wherein the integrated picking efficiency is negatively correlated with the waiting time length.
11. The apparatus of claim 7, wherein, The determination module is specifically configured to determine a self-driven mobile device that is currently not assigned any picking task as the available self-driven mobile device.
12. The apparatus of claim 7, wherein, The determination module is specifically configured to, for each workstation, determine the workstation as the available workstation if the number of self-driven mobile devices dispatched to the workstation to perform picking tasks does not exceed a preset threshold.
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.