Detailed Description
In general, the present disclosure relates to a method that may be performed by a control system of an automated storage and retrieval system in the event that items in a bin are determined to be unavailable. The method includes identifying a subset of bins of the grid in which an item or a substitute item for the item is stored. The method further includes determining one or more parameter values for each of the identified subsets of bins, and selecting a bin from the subset of bins based on the parameter values. Selecting bins from the subset of bins based on the parameter values allows for evaluation of candidate bins storing items or substitute items to determine the most appropriate bin to remove from the grid.
For example, the one or more parameter values may include an estimated length of time to deliver a bin to a port, a location of the bin within a grid, and/or identify whether the bin is scheduled to be delivered to a port for delivering items in an order being processed in parallel at the port. In these cases, the parameter values may be evaluated in order to select bins that will maintain system throughput and minimize delay at the ports. As another example, the one or more parameter values may include an indication of whether the bin stores the item itself or a replacement item, and/or a priority value for the replacement item stored in the bin (if the bin stores a replacement item). In these cases, the parameter values may be evaluated in order to select the bin that maximizes the customer's preference for the item itself or the alternative item that may be ranked highest.
The method may also evaluate both the parameter values associated with the throughput and the parameter values associated with the customer preferences in order to balance the considerations of throughput and customer preferences. For example, parameter values may be evaluated in order to select bins that include the item itself or the most preferred substitute, provided that delivery of the selected bin does not result in a delay at the port, such that system throughput is maintained. In this way, the automated storage and retrieval system may respond to error conditions of unavailable inventory without sacrificing customer preference.
The method may be implemented by a control system of an automated storage and retrieval system including a plurality of storage locations, each storage location of the plurality of storage locations configured to store a respective bin of a plurality of bins, each bin of the plurality of bins configured to store one or more items, and one or more robots configured to transport bins from the plurality of storage locations to a port. The automated storage and retrieval system may include a storage grid (e.g., a three-dimensional storage grid) that includes a plurality of storage locations. One or more robots may be arranged to traverse the storage grid (e.g., using a rail system arranged on top of the grid).
Automated storage and retrieval System overview
Referring to the embodiment shown in fig. 1, grid 100 includes a frame formed of a plurality of substantially linear adjacent vertical columns 102 formed between vertical frame members 104 and extending in X and Y directions 108, 110. The grid elements may be made of any suitable material, for example, the frame members may be formed of extruded aluminum. The storage containers or bins 112 are stacked one on top of the other in the storage column 102 in the Z direction 114, preferably in a self-supporting manner, forming storage volumes for the storage units of the respective bins 112 extending in the X, Y and Z directions 108, 110, 114.
A track system or network 116 is formed on top of the grid 100 and includes pairs of vehicle tracks or rails 118a, 118b and 120a, 120b extending in the X-and Y-directions 108, 110, respectively. A robotic container handling vehicle or robot 122 is provided that may be of various sizes, shapes, and functions and is configured to travel on rails 118, 120 and transport the bins 112 in both the X and Y directions 108, 110. The robot 122 is also configured to lift/lower the bin 112 from/into the column 102 in the Z-direction 114, the bin 112 optionally being guided by the vertical frame members 104. The robot 122 accesses the bin 112 via an access opening 124 formed above the column 102 and between the rails 118, 120.
Some columns 102 may be used for alternative purposes other than bin storage. For example, the port columns 126, 128 include ports or access columns that allow the boxes 112 to be transferred into and/or out of the grid 100. The port columns 126, 128 provide vertical access for lifting the tank 112 from or lowering the tank 112 to one or more ports 130, 132. The ports 130, 132 are shown in fig. 1 at the lowest level of the grid, however the ports may be located at any vertical position along the columns. The respective port columns 126, 128 may be assigned to remove ("drop") the bin 112 from the grid 100 and/or return or transport ("pick up") the bin to the grid. Thus, ports 130, 132 are configured to allow the box 112 to be removed and (horizontally) reintroduced into the associated port column. Thus, the ports 130, 132 may include a conveyor (not shown in fig. 1) onto which the cassette 112 may be lowered and transported horizontally out of the port column. The port columns 126, 128 include openings or access points through which the tanks 112 may enter and exit the columns.
The bins 112 may be transported by the robot 122 along the top of the grid 100 to and/or from the port columns 126, 128, and from the ports 130, 132 to a location external to the grid 100, which may be an access station (not shown) for processing the bins 112 or their contents, such as a pick-up station for adding or removing contents to or from the bins 112. In alternative examples (not shown), the tank 112 may be transported to a port of another grid on the same level or another level, or to an external facility. Transportation of the tanks 112 to and from the ports 130, 132 may be by any suitable means (not shown), including conveyors, transport vehicles, lifts or robots.
With reference to the embodiment shown in fig. 2, the X-Y configuration 200 of the track system 116, as well as the different types of robots 202, 204, can be seen in more detail. The track system includes tracks 206 that define between them vertical column access openings 124 for accessing the bins 112. The track 206 may be of any suitable type for allowing the robots 202, 204 to travel in the X and Y directions 108, 110, including (not shown) a groove-type track for receiving a vehicle wheel, or a raised-type track for engaging a wheel well. Each track 206 may comprise a single track or a plurality of parallel tracks in each of the X and Y directions 108, 110.
The first "boom" robot 202 is shown in more detail in fig. 3A and includes a main body 300, a set of wheels 302, and a lifting device 304. The body 300 contains operating equipment (not shown) for the robot 202, including a drive system, a power system, and a control system. The wheels 302 allow the robot 202 to move in one of the X-direction and the Y-direction, and an additional set of wheels (not visible in this view) allow movement in the other of the X-direction and the Y-direction, in both cases along the respective track or rail 206. One or both sets of wheels may be raised or lowered to allow selective engagement of the track for movement in a desired direction. The lifting device 304 includes a cantilever member 306 extending in the X-Y plane from the top of the body 300, and a gripping device 308 that can be raised and lowered from the cantilever member 306. The clamping device 308 is configured to clamp or engage the tank 112, for example, by clamping a portion of the tank 112, or by passively or actively engaging a suitably configured portion of the tank 112.
The second "cavity" type robot 204 is shown in more detail in fig. 3B and as an alternative to the cantilevered lift system, includes a cavity 310 within the body 300 and a lift 312 including a gripping device (not shown) is located within the cavity. In this case, the main body 300 includes the operation equipment of the robot and the storage space of the one or more bins 112 for use, for example, in transporting the bins 112.
Fig. 3C shows a perspective side view of the robot of fig. 3B, wherein the first set of wheels 302 of fig. 3B can be seen. An additional set of wheels, mentioned above but not shown in fig. 3B, is shown in fig. 3C as wheels 303. The additional set of wheels 303 is arranged perpendicular to the first set of wheels 302 to allow the robot 204 to move in the X-direction and the Y-direction through the first and second sets of wheels 302, 303, respectively. The first and second sets of wheels 302, 303 shown in fig. 3C may be configured to be independently lowered to engage the track (and conversely raised to disengage from the track) to allow the robot 202 to move in the X-direction and the Y-direction across the track arrangement shown in fig. 2. Although the perspective view shown in fig. 3C has the robot 204 of fig. 3B, it should be understood that a similar vertical wheel arrangement may be applied to the robot 202 of fig. 3A.
Control and monitoring system
Control and monitoring of the automated storage and retrieval system, including monitoring and bin locations and control bin transport, retrieval and transportation, and robot path planning and collision avoidance, is performed by a control system as shown in fig. 4, which is in communication with the robot and/or other controllable system components. The control may be performed locally or remotely and may be implemented by a processing system, for example in the form of a computing device. Thus, the methods described herein may form all or part of a computer-implemented method, or a system configured to perform the methods described herein.
With reference to fig. 4, a processing system 400 suitable for performing the methods described herein will now be described. Fig. 4 illustrates a block diagram of one implementation of a processing system 400 in the form of a computing device within which a set of instructions may be executed to cause the computing device to perform any one or more of the methods described herein. In some implementations, the computing device may be connected (e.g., networked) to other machines in a local area network, an intranet, an extranet, or the internet. The computing device may operate in a client-server network environment with the capacity of a server or client machine, or in a peer-to-peer (or distributed) network environment with the capacity of a peer machine. The computing device may be a Personal Computer (PC), tablet computer, set-top box (STB), personal Digital Assistant (PDA), cellular telephone, web appliance, server, network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Furthermore, while only a single computing device is illustrated, the term "computing device" should also be understood to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies described herein.
The example processing system 400 includes a processor 402, a main memory 404 (e.g., read Only Memory (ROM), flash memory, dynamic Random Access Memory (DRAM) such as Synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 406 (e.g., flash memory, static Random Access Memory (SRAM), etc.), and a secondary memory (e.g., data storage 418), which communicate with each other via a bus 430.
Processor 402 represents one or more general-purpose processors such as a microprocessor, central processing unit, or the like. More specifically, the processor 402 may be a Complex Instruction Set Computing (CISC) microprocessor, a Reduced Instruction Set Computing (RISC) microprocessor, a Very Long Instruction Word (VLIW) microprocessor, a processor implementing other instruction sets, or a processor implementing a combination of instruction sets. Processor 402 may also be one or more special purpose processors such as an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), a network processor, or the like. The processor 402 is configured to execute processing logic (instructions 422) to perform the operations and steps described herein.
Processing system 400 may also include network interface device 408. The processing system 400 may also include any of a video display unit 410 (e.g., a Liquid Crystal Display (LCD) or Cathode Ray Tube (CRT)), an alphanumeric input device 412 (e.g., a keyboard or touch screen), a cursor control device 414 (e.g., a mouse or touch screen), and an audio device 416 (e.g., a speaker).
It is apparent that some of the features of the processing system 400 shown in fig. 4 may not be present. For example, processing system 400 may not require display device 410 (or any associated adapter). This may be the case, for example, for a particular server-side computer device that is used only for its processing power and that is not required to display information to a user. Similarly, user input device 412 may not be necessary. In its simplest form, processing system 400 includes a processor 402 and a main memory 404.
The data storage 418 may include one or more machine-readable storage media (or more particularly one or more non-transitory computer-readable storage media) 428 on which is stored one or more sets of instructions 422 embodying any one or more of the methodologies or functions described herein. The instructions 422 may also reside, completely or at least partially, within the main memory 404 and/or within the processor 402 during execution thereof by the processing system 400, the main memory 404 and the processor 402 also constituting computer-readable storage media 428.
The various methods described herein may be implemented by a computer program. The computer program may comprise computer code arranged to instruct a computer to perform the functions of one or more of the various methods described herein. The computer program and/or code for performing such methods can be provided to a device, such as a computer, on one or more computer readable media or more generally on a computer program product. The computer readable medium may be transitory or non-transitory. The one or more computer-readable media may be, for example, an electronic system, a magnetic system, an optical system, an electromagnetic system, an infrared system, or a semiconductor system, or a propagation medium for data transmission, such as for downloading code via the internet. Alternatively, one or more computer-readable media may take the form of one or more physical computer-readable media, such as semiconductor or solid state memory, magnetic tape, removable computer diskette, random Access Memory (RAM), read-only memory (ROM), rigid magnetic disk, or optical disk such as CD-ROM, CD-R/W or DVD.
The computer program can be executed by the processor 402 to perform the functions of the systems and methods described herein.
In implementations, the modules, components, and other features described herein may be implemented as discrete components or integrated in the functionality of a hardware component (such as ASIC, FPGA, DSP or similar devices).
A "hardware component" is a tangible (e.g., non-transitory) physical component (e.g., a set of one or more processors) that is capable of performing certain operations and that may be configured or arranged in a particular physical manner. A hardware component may include specialized circuitry or logic permanently configured to perform certain operations. The hardware component may be or include a special purpose processor such as a Field Programmable Gate Array (FPGA) or ASIC. The hardware components may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations.
Thus, the phrase "hardware component" should be understood to encompass a tangible entity that can be physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in a particular manner or to perform particular operations described herein.
Furthermore, the modules and components may be implemented as firmware or functional circuitry within hardware devices. Furthermore, modules and components may be implemented in any combination of hardware devices and software components, or in software alone (e.g., code stored in a machine readable medium or in a transmission medium or otherwise embodied in such media).
Operation of automated storage and retrieval systems
In operation, each bin 112 is assigned a unique identifier that may be marked on the bin 112 using a computer readable identifier (e.g., a bar code, a quick response code, or a radio frequency identification tag) to facilitate identification of the bin 112. The database of the processing system 400 stores the location of each bin 112, and optionally the contents of that bin, in association with the unique identifier. When the bin 112 is moved (e.g., when it is removed from the grid 100), the database is updated to record the change in its location.
When it is desired to remove a bin 112 from the grid 100, the robots 202, 204 are guided via the track system 116 to the vertical column 102 comprising storage units in which the bin 112 is positioned according to the database and the lifting means 304, 312 (according to the robot type) are positioned above the corresponding access opening 124, which is adjacent to or below the robots 202, 204, under the control of the processing system 400. The robots 202, 204 lower the gripping device 308 that engages, grips, and lifts the bin 112 to the robots 202, 204. Robots 202, 204 then transport the box 112 to, for example, drop port columns 126, 128 for delivery to ports 130, 132 and subsequent processing outside of the grid 100. In the event that the target or designated bin 112 is below other bins in the stack, then robots 202, 204, or a plurality of robots that may be dedicated to that task, are controlled in a "dig" operation to temporarily or permanently lift and reposition the bin above the target bin 112 in sequence in order to retrieve that target bin. It should be appreciated that other operations associated with the tank 112 may be performed in a similar manner. For example, bins 112 may be transported at ports 130, 132 of pick port columns 126, 128 for storage in grid 100, gripped and lifted by robots 202, 204, and transported to a desired storage unit, if necessary, with bins above the desired location being repositioned as discussed above.
Handling article unavailability in an automated storage and retrieval system
Fig. 5 is a flow chart of a method 500 of controlling one or more robots 202, 204 in the automated storage and retrieval system described above. Specifically, method 500 includes acts performed by the control system described above (e.g., by processing system 400) in response to determining that items in bin 112 are not available.
At S502, an order for one or more items stored in bins 112 in grid 100 is received at the control system. In some examples, the order identifies one or more substitute items for one or more items in the order. For example, some items in the order may be designated for replacement items, but other items in the order may not be designated for replacement items. In the event that a substitute item is identified for an item in an order, the substitute item may have a priority value or ranking that identifies whether one substitute item for a particular item is better than another substitute item for the particular item.
At S504, the control system identifies a first subset of bins 112. Each bin 112 in the first subset of bins 112 stores one of the items in the order. Thus, by commanding robots 202, 204 to deliver each bin 112 in the first subset of bins 112 to a port 130, 132, all items in the intended order will be delivered to the port 130, 132.
At S506, the control system determines that items in bins 112 of the first subset of bins 112 are not available. Upon determining that the items in the bin 112 are not available, the control system may indicate from a picker or other operator (e.g., at ports 130, 132) that the items in the bin 112 are not available. For example, the bins 112 may be transported to the ports 130, 132 by robots 202, 204, and the pickers may find items in the bins 112 damaged, spoiled, missing, etc. Alternatively, upon determining that the items in the bin 112 are not available, the control system may receive an indication from the robots 202, 204 that the items in the bin 112 are not available. For example, robots 202, 204 may include cameras that inspect the contents of the bins 112 after they are removed from grid 100. Robots 202, 204 may determine damage, deterioration, absence, etc. of items in bin 112 by analyzing images captured by cameras. As another example, robots 202, 204 may include scales that determine the weight of bins 112 being removed from grid 100. Robots 202, 204 may determine that bin 112 is empty based on the weight determined by the scale.
As an alternative to receiving an indication that the items in the bin 112 are not available, the control system may determine that the items in the bin 112 are not available by determining that the storage location of the bin 112 is not accessible at S506. For example, if robots 202, 204 fail on track system 116 and prevent access to column 102 storing bins 112, bins 112 will not be accessible until robots 202, 204 are serviced or moved. In this case, the control system may determine that all of the bins 112 in column 102 are not accessible.
At S508, the control system identifies a second subset of bins 112. Each bin 112 in the second subset of bins 112 stores an item or a substitute item for the item. For example, in some cases, the same item may be stored in multiple bins 112, meaning that other bins 112 in grid 100 may store items determined to be unavailable at S506. Further, other bins 112 in the grid 100 may store substitute items in the order that are identified as being suitable for substituting for the item determined to be unavailable at S506.
At S510, the control system determines, for each bin 112 in the second subset of bins 112, one or more parameter values associated with that bin 112. As described in more detail below, the one or more parameter values may include one or more of an estimated amount of time to deliver the bin 112 to the ports 130, 132, a location of the bin 112 within the grid 100, an identification of whether the bin 112 stores the item or a replacement item for the item, whether the bin 112 is scheduled to be delivered to the ports 130, 132 for delivering items in different orders being processed simultaneously at the ports 130, 132, and a priority value for the replacement item stored in the bin 112 (if the bin 112 stores a replacement item for the item).
At S512, the control system selects a bin 112 from the second subset of bins 112 based on the parameter values associated with the bins 112 of the second subset of bins 112. The process for selecting bins 112 from the second bin 112 subset based on the parameter values will be described in more detail below with reference to fig. 6-8.
At S514, the control system instructs the robots 202, 204 to remove the selected bin 112 from the grid 100. The location to which the robots 202, 204 will deliver the removed bins 112 depends on whether the items from the removed bins 112 are added to other items in the order at the ports 130, 132 or are added at a separate alternative station (e.g., at a different location than the ports 130, 132). If items are added to other items in the order at ports 130, 132, the control system instructs robots 202, 204 to deliver the fetched bins 112 to ports 130, 132 at S516. Alternatively, if items are added to other items in the order at a separate alternative station, the control system instructs the robots 202, 204 to transfer the fetched bins 112 to the alternative station at S518.
By determining parameter values for bins 112 in the second subset of bins 112 and selecting bins 112 from the second subset of bins 112 based on the parameter values, candidate bins 112 storing the item or alternate item are evaluated to determine the most suitable bin 112 to be removed from the grid 100. As explained further below, this minimizes delays in orders for which items in the processing box 112 have been determined to be unavailable, while maximizing customer preference.
Selecting boxes from a second set of boxes
Fig. 6 is a flowchart of a method 600 performed by a control system to perform steps S510 and S512 of method 500. In method 600, the one or more parameter values associated with each bin 112 in the second subset of bins 112 include an estimated length of time (ESTIMATED TIME) to deliver the bin 112 to the ports 130, 132, and an identification of whether the bin 112 stores an item or a substitute item for the item.
At S602, the control system determines the parameter value at S510 by determining, for each bin 112 in the second subset of bins 112, an estimated length of time to deliver the bin 112 to the port 130, 132. The estimated time period for delivering the bin 112 to the ports 130, 132 includes the time period required for the robots 202, 204 to remove the bin 112 from the grid 100 and deliver the bin 112 to the ports 130, 132 via one of the port columns 126, 128. That is, the estimated time period for delivering a bin 112 to a port 130, 132 includes the estimated time period required to sequentially lift and reposition any bin 112 above the bin 112 to remove the bin from the grid 100, the estimated time period required to lift the bin 112 from the storage column 102 in which it is located, the estimated time period required for the robot 202, 204 to traverse the rail system 116 between the column 102 in which the bin 112 is removed and the port columns 126, 128 associated with the ports 130, 132, and the estimated time period required to lower the bin 112 to the ports 130, 132 in the port columns 126, 128.
At S604, the control system determines a threshold period of time. The threshold period of time may be a fixed period of time (e.g., two minutes). Alternatively, determining the threshold time period may include determining an estimated order completion time period. Estimating the order completion time period is the amount of time required to complete the delivery of the first set of boxes to ports 130, 132. In this case, the control system may determine the estimated order completion time period as the threshold time period. In another alternative, the threshold period of time may include a fixed (e.g., two minutes) or percentage (e.g., 10%) margin added to the estimated order completion duration to accommodate acceptable delay levels at the ports 130, 132.
At S606, the control system identifies a plurality of bins 112 for which the estimated time period determined at S602 to deliver the bins 112 to the ports 130, 132 is less than the threshold time period determined at S604. Identifying the plurality of bins 112 may include, for each bin 112 in the second subset of bins 112, comparing the estimated time period for delivery of that bin 112 to the ports 130, 132 to a threshold time period. It should be appreciated that if there is only one bin 112, the estimated time period for delivering that bin 112 to the ports 130, 132 is less than the threshold period of time, then that bin 112 is selected at S512. Further, if no bins 112 are delivered to ports 130, 132 for an estimated time period less than the threshold time period of bins 112, the method may return to S604, where the threshold time period may be increased, or the item may be omitted from the order.
At S608, the control system also determines the parameter value at S510 by identifying whether one or more of the plurality of bins 112 identified at S606 stores the item. It should be appreciated that selecting boxes 112 containing customer preference items is preferred over selecting boxes 112 containing alternative items. Thus, the method 600 initially determines whether a bin 112 storing an item may be selected before considering the replacement item.
In response to determining at S608 that one or more bins 112 of the plurality of bins 112 identified at S606 store the item, the control system performs selecting at S512 a bin 112 from the second subset of bins 112 by selecting at S610 a bin 112 storing the item from the plurality of bins 112 identified at S606. It should be appreciated that this selection at S610 is based on two parameter values for each bin 112, the estimated duration of delivery of the bin 112 to the ports 130, 132 (for identifying the plurality of bins 112 at S606), and the identification of whether the bin 112 stores the item or a substitute for the item (for making the determination at S608). If more than one of the bins 112 identified at S606 stores the item, the control system may select the bin 112 having the lowest estimated conveyance length to the ports 130, 132 at S610 (i.e., using the estimated conveyance length calculated at S602).
If one of the plurality of bins 112 identified at S606 does not store the item, the control system proceeds to the bin 112 that considers an alternate item to store the item. For example, selecting the bin 112 at S512 may involve selecting a bin 112 storing a substitute item for the item from the plurality of bins 112 identified at S606. Such selection of alternate items may also take into account the priority values of the alternate items in box 112 (e.g., using the method of fig. 8 described below).
By determining the parameter values of the estimated durations of delivering bins 112 of the second subset of bins 112 to ports 130, 132, bins 112 may be selected at S610 such that system throughput is maintained (i.e., by avoiding or minimizing delays at ports 130, 132). Further, by determining whether the bin 112 stores parameter values for the item or for an alternative item to the item, customer preferences for the item itself may be considered in selecting the bin 112.
As an alternative to comparing the estimated time period for delivering each bin 112 in the second subset of bins 112 to ports 130, 132 with the threshold time period, the control system may simply select the bin 112 from the second subset of bins 112 that has the shortest estimated time period for delivering to ports 130, 132. In this case, a single parameter value for each bin 112 (i.e., the estimated duration of delivering the bin 112 to the ports 130, 132) is considered in selecting the bin 112 at S512.
Instead of determining the estimated time period to deliver each bin 112 in the second subset of bins 112 to the ports 130, 132 at S602, the control system may alternatively calculate only the estimated time periods to deliver bins 112 storing items having priority values above a particular threshold to the ports at S602. Then, if it is determined at S604 that any one of the bins 112 storing items having a priority value above the threshold cannot be delivered to the ports 130, 132 within the threshold period of time, the method 600 may return to S602 to calculate an estimated time period to deliver the bin 112 storing items having a lower priority value. In this case, the one or more parameter values associated with each bin 112 also include a priority value for the substitute item in that bin 112. If bin 112 is not a storage substitute item, it may be assigned a priority value that is higher than the priority value of the highest ranked substitute item. In this case, the one or more parameter values may not necessarily include an identification of whether the bin 112 stores the item or a replacement item for the item (i.e., because such information was captured by the priority value).
Consideration of the number of remaining tanks
Fig. 7 is a flow chart of a method 700 performed by a control system. In method 700, step S702 and step S704 are optional steps that may be performed between steps S506 and S508 of method 500. Depending on the result of step S704, the method 700 may end at S704 without the control system having to perform steps S508 to S518. The control system performs steps S706 and S708 in order to perform steps S510 and S512 of the method 500. In method 700, the one or more parameter values associated with each bin 112 in the second subset of bins 112 include an identification of whether the bin 112 stores an item or a substitute item for the item.
At S702, after performing step S506, the control system determines the number of remaining bins 112 required to complete the delivery of the first bin set to the ports 130, 132. In other words, the control system determines the number of bins 112 that still need to be delivered to the ports 130, 132 in order to complete the order (except for the items identified as not available at S506).
At S704, the control system determines that the number of remaining bins 112 determined at S702 is greater than or equal to the threshold number of bins 112. For example, the threshold number of bins 112 may be two or three. By determining that the number of remaining bins 112 exceeds the threshold, the method proceeds to step S508, where the control system identifies a second subset of bins 112. Alternatively, if the number of remaining bins 112 does not exceed the threshold (e.g., if the bin 112 corresponding to the unavailable item is the bin 112 of the order last delivered to the port 130, 132, or if only one bin 112 is to be delivered to the port 130, 132), the method 700 may simply end without selecting a bin 112 storing the item or an alternate item. In this case, the item is simply omitted from the order.
At S706, after performing step S508, the control system determines the parameter value at S510 by determining whether one or more bins of the second bin 112 subset have an item stored therein or an alternative to the item.
In response to determining at S706 that one of the subset of second bins 112 stores the item, the control system performs the selection at S512 by selecting the bin 112 storing the item from the subset of second bins 112 at S708. If more than one bin 112 in the second subset of bins 112 stores the item, the control system may select the bin 112 having the lowest estimated delivery duration to the ports 130, 132 at S708 (if the determined parameter values also include an estimated duration to deliver the bin 112 to the ports 130, 132). Alternatively, the control system may randomly select a bin 112 from a plurality of bins 112 in a second bin set storing the item, thereby eliminating the need to calculate an estimated conveyance time period for the bins 112 in the second bin 112 subset.
If one of the second subset of bins 112 does not store the item, the control system proceeds to bin 112 that considers an alternate item to store the item. For example, the selection of bins 112 at S512 may involve selecting a bin 112 storing an alternate item of the item from the second subset of bins 112. Such selection of alternate items may also take into account the priority values of the alternate items in box 112 (e.g., using the method of fig. 8 described below).
By considering the threshold number of bins 112, the control system can determine that the number of remaining bins is high enough so that there is enough time to retrieve the bin 112 storing the item or the highest ranked substitute item for the item. In this case, system throughput is guaranteed because the number of bins 112 remaining for delivery to ports 130, 132 is high enough that time or location constraints need not be considered. Further, by determining whether the bin 112 stores an item or a parameter value for an item that is a substitute for the item, customer preferences for the item itself may be considered in selecting the bin 112.
Bin selection based on priority values
Fig. 8 is a flow chart of a method 800 performed by the control system to perform steps S510 and S512 of method 500. In method 800, the one or more parameter values associated with each bin 112 in the second subset of bins 112 include a priority value of the substitute item stored in the bin 112 if the bin 112 stores the substitute item, an identification of whether the bin 112 stores the item or the substitute item for the item, and optionally an estimated length of time to deliver the bin 112 to the ports 130, 132. If the bin 112 stores no substitute items, it may be assigned a higher priority value than the highest ranked substitute item. In this case, the one or more parameter values may not necessarily include the result of identifying whether the bin 112 stores the item or a substitute for the item (i.e., because such information was captured by the priority value).
At S802, the control system determines the parameter value at S510 by determining, for each bin 112 in the second subset of bins 112 that stores the substitute item, a priority value for the substitute item stored in that bin 112. As described above, the control system may also determine a priority value for each bin 112 in the second subset of bins 112 in which items are stored, in which case the priority value will be higher than the highest ranking replacement item. Alternatively, the control system may also determine the parameter value at S510 by identifying whether each bin 112 in the second subset of bins 112 stores an item or a substitute for the item.
At S804, the control system determines whether a tank 112 to be selected from the second subset of tanks 112 is to be delivered to the ports 130, 132. As described above, the selected bin 112 may be delivered to the ports 130, 132 at S516 (i.e., if an item is being added to other items in the order at the ports 130, 132), or to a separate alternative selection station at S518 (i.e., if an item is being added to other items in the order at a later time).
If the box 112 is not delivered to the ports 130, 132, the method 600 proceeds to S814. In this case, the bin 112 storing the item itself or the highest priority substitute item may be selected at S512 because there is no time constraint to deliver the bin 112 to the ports 130, 132 so that the item or substitute item may be added to other items in the order.
If the bin 112 is delivered to the ports 130, 132, there is a time constraint to deliver the bin 112 to the ports 130, 132 such that an item or alternate item may be added to other items in the order. In this case, the method proceeds to S806.
At S806, the control system optionally determines that the number of remaining bins 112 is greater than or equal to the threshold number of bins 112. In this case, the method may proceed to S814 or S808. If the number of remaining bins 112 is high enough to have enough time to retrieve the bin 112 storing the item or highest ranked alternative item, the method may proceed to S814. By proceeding to S814, the requirement to calculate an estimated length of time to deliver the bin 112 to the ports 130, 132 is removed. Alternatively, the method may proceed to S808 such that a threshold period of time (such as an estimated order completion time period) may additionally be considered. This may be appropriate, for example, for more time sensitive order processing. If the number of remaining bins 112 does not exceed the threshold, the method 800 may simply end without selecting bins 112 in which items or alternate items are stored. In this case, the item is simply omitted from the order.
Alternatively, at S806, the control system may determine whether the number of remaining boxes 112 is greater than or equal to the threshold number of boxes 112, and proceed to S814 if the determination is affirmative, or proceed to S808 if the determination is negative. In this case, the threshold number of bins 112 may be used as a coarse filter to identify whether the number of remaining bins 112 is high enough to have enough time to retrieve the bin 112 storing the item or highest ranked replacement item (S814), or whether the estimated time period to deliver each bin 112 to a port 130, 132 should be additionally considered (S808). Multiple threshold numbers of bins 112 may also be implemented at S806. For example, a first threshold number of bins 112 (e.g., two bins) may be used to determine whether the method 800 ends without selecting a bin 112 storing an item or a substitute item, while a second higher threshold number of bins 112 may be used to determine whether the method 800 proceeds to S808 or S814.
At S808, the control system also determines the parameter value at S510 by determining, for each bin 112 in the second subset of bins 112, an estimated length of time to deliver that bin 112 to the ports 130, 132 (e.g., in the same manner as at S602 of the method 600).
At S810, the control system determines a threshold period of time (such as an estimated order completion duration) in the same manner as at S604 of method 600.
At S812, the control system identifies a plurality of bins 112 for which the estimated time period determined at S808 to deliver bins 112 to ports 130, 132 is less than the threshold time period determined at S810, in the same manner as at S606 of method 600. If there is only one bin 112, the estimated time period for delivering that bin 112 to the ports 130, 132 is less than the threshold period of time, then that bin 112 is selected at S512. Further, if no bins 112 are delivered to ports 130, 132 for a time period estimated to be less than the threshold time period of bins 112, method 800 may return to S810, where the threshold time period may be increased, or the item may be omitted from the order.
At S814, the control system determines whether one or more bins of the second subset of bins 112 or one or more bins of the identified plurality of bins 112 have items stored. If the method 800 proceeds directly from S804 to S814 or if the method proceeds directly from S806 to S814, the control system determines whether one or more bins of the second subset of bins 112 have items stored. If a plurality of bins 112 are identified at S812, the control system determines whether one or more of the identified plurality of bins 112 store items. If a priority value is assigned to the bin 112 storing items at S802, the determination at S814 may be based on the priority values of the bin 112 or the identified bins 112 in the second subset of bins 112. Alternatively, the determination at S814 may be based on the result of identifying whether the bin 112 or the identified plurality of bins 112 in the second subset of bins 112 store the item or a substitute item for the item.
If it is determined at S814 that one or more bins of the second subset of bins 112 or one or more bins of the identified plurality of bins 112 store the item, then the bin 112 storing the item is selected at S816 in the same manner as at S610 (for selecting a bin 112 from the plurality of bins 112 identified at S812) or in the same manner as at S708 (for selecting a bin 112 from the second subset of bins 112).
If it is determined at S814 that one or more bins of the second subset of bins 112 or one or more bins of the identified plurality of bins 112 store no such item, then at S818 the bin 112 storing the highest ranked alternative item is selected from the identified plurality of bins 112 or the second subset of bins 112 based on the priority value determined at S802. If more than one of the bins 112 identified at S812 stores the highest ranked substitute item in the identified bin 112 of the plurality of bins 112, the control system may select the bin 112 having the lowest estimated delivery duration to the ports 130, 132 at S818 (i.e., using the estimated delivery duration calculated at S808). Likewise, if more than one bin of bins 112 in the second subset of bins 112 stores the highest ranked replacement item in bins 112 in the second subset of bins 112, the control system may select bin 112 having the lowest estimated delivery duration to ports 130, 132 (if the determined parameter value also includes an estimated duration to deliver bins 112 to ports 130, 132) at S818. Alternatively, the control system may randomly select the bin 112 from the plurality of bins 112 in the second subset in which items are stored, thereby eliminating the need to calculate an estimated conveyance time period for the bins 112 in the second subset of bins 112.
By determining the parameter value of the priority value of the substitute item in bin 112 (and optionally the item itself), and optionally determining whether bin 112 stores the item or the parameter value of the substitute item for the item, customer preference for the item itself or the most preferred substitute item may be considered in selecting bin 112. Further, by determining parameter values for the estimated durations of delivery of bins 112 of the second subset of bins 112 to ports 130, 132, bins 112 may be selected at S818 such that system throughput is maintained when needed (i.e., by avoiding or minimizing delays at ports 130, 132 if the selected bins 112 are to be delivered to ports 130, 132).
Alternative parameter values
As an alternative to calculating the estimated time period for delivering each bin 112 in the second subset of bins 112 to the ports 130, 132 in the method of fig. 6-8, the control system may alternatively (or additionally) determine the location of each bin 112 in the grid 100 in the second subset as a parameter value for each bin 112. The position of the bin 112 may include the position of the bin 112 in the Z direction 114, and optionally the position in the X direction 108 and/or the Y direction 110 (with reference to the coordinate system shown in fig. 1). Alternatively or additionally, the location of the bin 112 may include an indication of the number of bins 112 stacked on top of the bin 112.
Where the locations of bins 112 in grid 100 are considered as an alternative or complement to the estimated time period for delivering bins 112 to ports 130, 132, method 600 may alternatively or additionally determine a location-based threshold at S604, and evaluate the locations of bins 112 in the second subset of bins 112 for the location-based threshold at S606. For example, the location-based threshold may be a specified depth (i.e., in the Z-direction 114) within the grid 100, such as a depth in the Z-direction of no more than three bins 112. Thresholds in the X-direction 108 and Y-direction 110 may also be used. Alternatively or additionally, the location-based threshold may specify a maximum number of bins 112 to be stacked on top of the bins 112. For example, the location-based threshold may specify that the maximum number of bins 112 to be stacked on top of bins 112 is two. In method 800, one or more location-based thresholds may be used in addition to or as an alternative to the threshold time period.
As described above, the one or more parameter values determined at S510 may also include an identification of whether the bin 112 is scheduled to be delivered to the ports 130, 132 in order to deliver items in different orders being processed simultaneously at the ports 130, 132. This parameter value confirms that, in some cases, multiple orders are processed in parallel at ports 130, 132. Thus, if the bin 112 storing an item or a substitute item for the item is subsequently delivered to the ports 130, 132, the item or substitute item may simply be picked up from the bin 112.
A time-based or location-based threshold may also be used in combination with a parameter value of the identification result of whether the bin 112 is scheduled to be delivered to the ports 130, 132 for delivering items in different orders being processed simultaneously at the ports 130, 132. For example, if a bin 112 is being delivered to a port 130, 132 for delivering items in different orders being processed simultaneously, and if the bin is delivered to the port 130, 132 for less than a threshold period of time, such as an estimated order completion time period (or a location-based threshold), the bin 112 may be selected from the second subset of bins 112.
If the bin 112 scheduled to be delivered to the port 130, 132 for delivering an item in a different, concurrently processed order is an alternative item to the item determined to be unavailable at S506, the control system may determine whether a higher priority item or the item itself may be delivered to the port 130, 132 within a threshold period of time, such as an estimated order completion period (or a location-based threshold). For example, the control system may perform steps S808 through S818 of method 800, but only for an item or a bin 112 of an alternate item in the subset of second bins 112 having a storage priority value exceeding the priority value of the alternate item arranged to be delivered to ports 130, 132 for processing another order of bins 112, and/or for a bin 112 having a parameter value identifying that it stores the item instead of the alternate item. If a bin 112 storing a higher priority replacement item or the item itself cannot be found, a bin 112 arranged to be delivered to the ports 130, 132 for processing another order may be selected at S512.
Penultimate comment
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other implementations will be apparent to those of skill in the art upon reading and understanding the above description. Although the present disclosure has been described with reference to particular example implementations, it is to be appreciated that the present disclosure is not limited to the described implementations, but may be practiced with modification and alteration within the spirit and scope of the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. The scope of the disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
The following paragraphs are intended to demonstrate that certain features may be included with other features in one or more embodiments of the disclosed invention. These are only explicit examples of feature combinations and are not exhaustive.
In one or more embodiments, the present invention relates to an automated storage and retrieval system comprising a plurality of storage locations, each storage location of the plurality of storage locations configured to store a respective storage container of the plurality of storage containers, each storage container of the plurality of storage containers configured to store one or more items, one or more robotic container handling vehicles configured to transport storage containers from the plurality of storage locations to a packaging station, and a control system configured to receive an order for one or more items of the one or more storage containers of the plurality of storage containers, identify a first subset of storage containers from the plurality of storage containers, wherein each storage container of the first subset of storage containers stores one or more items of the order, determine that an item of the storage container of the first subset of storage containers is not available, identify a second subset of storage containers from the plurality of storage containers, wherein each storage container of the second subset of storage containers stores an item or an alternative item of the item, select a robotic container of the second subset of storage containers, store the item of the item, and retrieve the second subset of storage containers associated with the first subset of storage containers based on the selected storage containers and the selected robotic container.
The order may identify one or more substitute items for the item, or the order may identify the one or more substitute items in a priority order, and wherein the one or more parameter values associated with the storage container include a priority value for the substitute items stored in the storage container. In any embodiment, the one or more parameter values associated with the storage container include an estimated length of time to convey the storage container to the packaging station.
Selecting a storage container from the second subset of storage containers may include selecting a storage container from the second subset of storage containers that has an estimated length of time to transfer the storage container to the packaging station that is less than a threshold period of time, and wherein the control system may optionally be further configured to determine an estimated order completion time period, wherein the estimated order completion time period is the time period to complete transfer of the first subset of storage containers to the packaging station. The threshold time period may optionally be an estimated order completion time period. Selecting a storage container from the second subset of storage containers may further include identifying a plurality of storage containers having an estimated length of time to transport the storage container to the packaging station less than a threshold period of time, determining whether one or more of the plurality of storage containers store an item, and selecting a storage container storing the item from the identified plurality of storage containers in response to determining that one or more of the plurality of storage containers store the item. Selecting a storage container from the second subset of storage containers may further include selecting a storage container from the identified plurality of storage containers that stores the surrogate item having the highest priority value in response to determining that no storage container from the plurality of storage containers stores the item.
In any embodiment, selecting storage containers from the second subset of storage containers may include determining a number of remaining storage containers required to complete the transfer of the first subset of storage containers to the packaging station, determining whether one or more storage containers in the second subset of storage containers store items in response to determining that the number of remaining storage containers is greater than or equal to a threshold number of storage containers, and selecting storage containers from the second subset of storage containers in which items are stored in response to determining that one or more storage containers in the second subset of storage containers store items. The one or more parameter values associated with the storage container may include a location of the storage container within a plurality of storage locations. The order may be a first order and the one or more robotic container handling vehicles are configured to simultaneously deliver to the packaging station a storage container storing items in the first order and a storage container storing items in the second order, wherein the one or more parameter values associated with the storage container include a value indicating whether the storage container is arranged to be delivered to the packaging station for delivering the one or more items in the second order to the packaging station.
In any embodiment, the control system may be configured to instruct the robotic container handling vehicle to transfer the retrieved storage containers to an alternative selection station different from the packaging station, and wherein selecting a storage container from the second subset of storage containers includes determining whether one or more of the second subset of storage containers store the item, and selecting one storage container from the second subset of storage containers to store the item in response to determining that one or more of the second subset of storage containers store the item. Selecting a storage container from the second subset of storage containers may include selecting a storage container from the second subset of storage containers that stores the alternate item having the highest priority value in response to determining that no storage container in the second subset of storage containers stores the item.
In any embodiment, determining that the items in the storage containers in the first subset of storage containers are not available may include one or more of receiving an indication from a user that the items are not available and receiving an indication from a robotic container handling vehicle of the one or more robotic container handling vehicles that the items are not available or determining that the items in the storage containers in the first subset of storage containers are not available includes determining that a storage location where the storage containers in the first subset of storage containers are stored is not accessible.
In one or more embodiments, the present invention relates to a method of controlling one or more robotic container handling vehicles in an automated storage and retrieval system, the system comprising a plurality of storage locations, each storage location of the plurality of storage locations configured to store a respective storage container of the plurality of storage containers, each storage container of the plurality of storage containers configured to store one or more items, and one or more robotic container handling vehicles configured to transfer storage containers from the plurality of storage locations to a packaging station, wherein the method comprises receiving an order for one or more items stored in one or more storage containers of the plurality of storage containers, identifying a first subset of storage containers from the plurality of storage containers, wherein each storage container of the first subset of storage containers stores one or more items in the order, determining that each item of the storage containers of the first subset of storage containers is unavailable, identifying a second subset of storage containers from the plurality of storage containers, wherein each storage container of the second subset of storage containers has an associated with the robotic container, and determining that each item of the second subset of storage containers has an associated storage container value from the first subset of storage containers and a robotic container has been selected from the first subset of storage containers.
In one or more embodiments, the present invention is directed to a computer readable medium storing instructions that, when executed by one or more processors of a control system of an automated storage and retrieval system according to any of the above embodiments, cause the control system to receive an order for one or more items stored in one or more storage containers of a plurality of storage containers, identify a first subset of storage containers from the plurality of storage containers, wherein each storage container of the first subset of storage containers stores one of the items in the order, determine that the items in the storage containers of the first subset of storage containers are not available, identify a second subset of storage containers from the plurality of storage containers, wherein each storage container of the second subset of storage containers stores the item or a substitute item for the item, determine one or more parameter values associated with the storage container for each storage container of the second subset of storage containers, store the item or the item, store the item, and select the storage container from the second subset of storage containers based on the parameter values associated with the second subset of storage containers, and pick up the vehicle storage containers from the selected subset of storage containers by a machine.
Examples of the present disclosure are set forth in the following numbered clauses.
1. An automated storage and retrieval system comprising:
A plurality of storage locations, each storage location of the plurality of storage locations configured to store a respective storage container of a plurality of storage containers, each storage container of the plurality of storage containers configured to store one or more items;
one or more robotic container handling vehicles configured to transport storage containers from a plurality of storage locations to a packaging station, and
A control system configured to:
Receiving an order for one or more items stored in one or more of the plurality of storage containers;
identifying a first subset of storage containers from the plurality of storage containers, wherein each storage container in the first subset of storage containers stores one of the one or more items in the order;
Determining that the items in the storage containers in the first subset of storage containers are not available;
identifying a second subset of storage containers from the plurality of storage containers, wherein each storage container in the second subset of storage containers stores an item or a substitute item for an item;
For each storage container in the second subset of storage containers, determining one or more parameter values associated with the storage container;
Selecting a storage container from the second subset of storage containers based on the parameter values associated with the second subset of storage containers, and
Commanding a robotic container handling vehicle of the one or more robotic container handling vehicles to retrieve the selected storage container.
2. The system of clause 1, wherein the order identifies one or more substitute items for the item.
3. The system of clause 2, wherein the order identifies one or more substitute items in a priority order, and wherein the one or more parameter values associated with the storage container include a priority value of the substitute items stored in the storage container.
4. The system of clause 1, wherein the one or more parameter values associated with the storage container comprise an estimated length of time to convey the storage container to the packaging station.
5. The system of clause 4, wherein selecting a storage container from the second subset of storage containers comprises selecting a storage container from the second subset of storage containers that has an estimated length of time to deliver the storage container to the packaging station that is less than a threshold period of time, and
Wherein the control system is optionally further configured to:
Determining an estimated order completion time period, wherein the estimated order completion time period is the time to complete the transfer of the first subset of storage containers to the packaging station;
wherein the threshold time period is optionally an estimated order completion time period.
6. The system of clause 3, wherein selecting a storage container from the second subset of storage containers further comprises:
identifying a plurality of storage containers, the estimated length of time for the plurality of storage containers to transport the storage containers to the packaging station being less than a threshold time period;
Determining whether one or more of the plurality of storage containers store an item, and
In response to determining that one or more of the plurality of storage containers store an item, a storage container storing the item is selected from the identified plurality of storage containers.
7. The system of clause 6, wherein selecting a storage container from the second subset of storage containers further comprises:
in response to determining that no storage container of the plurality of storage containers stores an item, a storage container storing a surrogate item having the highest priority value is selected from the identified plurality of storage containers.
8. The system of clause 3, wherein selecting a storage container from the second subset of storage containers comprises:
determining a number of remaining storage containers required to complete the transfer of the first subset of storage containers to the packaging station;
in response to determining that the number of remaining storage containers is greater than or equal to the threshold number of storage containers:
Determining whether one or more storage containers in the second subset of storage containers store items;
In response to determining that one or more of the second subset of storage containers store an item, a storage container storing the item is selected from the second subset of storage containers.
9. The system of clause 1, wherein the one or more parameter values associated with the storage container comprise a location of the storage container within a plurality of storage locations.
10. The system of clause 1, wherein the order is a first order, and wherein the one or more robotic container handling vehicles are configured to simultaneously deliver to the packaging station:
A storage container for storing the items in the first order, and
A storage container storing items in the second order;
Wherein the one or more parameter values associated with the storage container include a value indicating whether the storage container is arranged to be delivered to the packaging station for delivering the one or more items in the second order to the packaging station.
11. The system of clause 3, wherein the control system is configured to instruct the robotic container handling vehicle to transfer the retrieved storage containers to an alternative selection station different from the packaging station, and wherein selecting the storage containers from the second subset of storage containers comprises:
Determining whether one or more storage containers in the second subset of storage containers store items;
In response to determining that one or more of the second subset of storage containers store an item, a storage container storing the item is selected from the second subset of storage containers.
12. The system of clause 8, wherein selecting a storage container from the second subset of storage containers comprises:
In response to determining that no storage container in the second subset of storage containers stores items, a storage container is selected from the second subset of storage containers that stores the alternate item having the highest priority value.
13. The system according to clause 1, wherein:
Determining that the items in the storage containers in the first subset of storage containers are not available includes one or more of:
receiving an indication from a user that the item is not available, and
Receiving an indication from a robotic container handling vehicle of the one or more robotic container handling vehicles that the item is not available, or
Determining that the items in the storage containers in the first subset of storage containers are not available includes determining that the storage locations in which the storage containers in the first subset of storage containers are stored are not accessible.
14. A method of controlling one or more robotic container handling vehicles in an automated storage and retrieval system, the system comprising:
A plurality of storage locations, each storage location of the plurality of storage locations configured to store a respective storage container of a plurality of storage containers, each storage container of the plurality of storage containers configured to store one or more items, and
One or more robotic container handling vehicles configured to transport storage containers from a plurality of storage locations to a packaging station;
the method comprises the following steps:
Receiving an order for one or more items stored in one or more of the plurality of storage containers;
identifying a first subset of storage containers from the plurality of storage containers, wherein each storage container in the first subset of storage containers stores one of the one or more items in the order;
Determining that the items in the storage containers in the first subset of storage containers are not available;
identifying a second subset of storage containers from the plurality of storage containers, wherein each storage container in the second subset of storage containers stores an item or a substitute item for an item;
For each storage container in the second subset of storage containers, determining one or more parameter values associated with the storage container;
Selecting a storage container from the second subset of storage containers based on the parameter values associated with the second subset of storage containers, and
Commanding a robotic container handling vehicle of the one or more robotic container handling vehicles to retrieve the selected storage container.
15. A computer-readable medium storing instructions that, when executed by one or more processors of a control system of an automated storage and retrieval system according to clause 1, cause the control system to:
Receiving an order for one or more items stored in one or more of the plurality of storage containers;
identifying a first subset of storage containers from the plurality of storage containers, wherein each storage container in the first subset of storage containers stores one of the one or more items in the order;
Determining that the items in the storage containers in the first subset of storage containers are not available;
identifying a second subset of storage containers from the plurality of storage containers, wherein each storage container in the second subset of storage containers stores an item or a substitute item for an item;
For each storage container in the second subset of storage containers, determining one or more parameter values associated with the storage container;
Selecting a storage container from the second subset of storage containers based on the parameter values associated with the second subset of storage containers, and
Commanding a robotic container handling vehicle of the one or more robotic container handling vehicles to retrieve the selected storage container.
16. The system of clause 5, wherein selecting a storage container from the second subset of storage containers further comprises:
identifying a plurality of storage containers, the estimated length of time for the plurality of storage containers to transport the storage containers to the packaging station being less than a threshold time period;
Determining whether one or more of the plurality of storage containers store an item, and
In response to determining that one or more of the plurality of storage containers store an item, a storage container storing the item is selected from the identified plurality of storage containers.
17. The system of clause 1, wherein selecting a storage container from the second subset of storage containers comprises:
determining a number of remaining storage containers required to complete the transfer of the first subset of storage containers to the packaging station;
in response to determining that the number of remaining storage containers is greater than or equal to the threshold number of storage containers:
Determining whether one or more storage containers in the second subset of storage containers store items;
In response to determining that one or more of the second subset of storage containers store an item, a storage container storing the item is selected from the second subset of storage containers.
18. The system of clause 1, wherein the control system is configured to instruct the robotic container handling vehicle to transfer the retrieved storage containers to an alternative selection station that is different from the packaging station, and wherein selecting the storage containers from the second subset of storage containers comprises:
Determining whether one or more storage containers in the second subset of storage containers store items;
In response to determining that one or more of the second subset of storage containers store an item, a storage container storing the item is selected from the second subset of storage containers.
19. The system of clause 11, wherein selecting a storage container from the second subset of storage containers comprises:
In response to determining that no storage container in the second subset of storage containers stores items, a storage container is selected from the second subset of storage containers that stores the alternate item having the highest priority value.