Determine the pick pallet build operations and pick sequence

By re-analyzing the weight and strength of the items or item layer from the front to the rear of the warehouse in a warehouse environment, determining the optimal picking sequence is solved, and the problem of low efficiency in the prior art picking pallet construction sequence is achieved, and efficient and solid structure pallet construction is achieved.

CN117501290BActive Publication Date: 2025-05-16LINEAGE LOGISTICS LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280041573.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-05-25
Filing Date
2022-05-25
Publication Date
2025-05-16
Estimated Expiration
2042-05-25

AI Technical Summary

Technical Problem

In warehouse environments, it is difficult for the prior art to efficiently determine the construction order of picking pallets, resulting in low labor efficiency, unsolid pallet structure, and may cause damage to items.

Method used

By reversing the weight and strength of the item or item layer from the front to the rear of the warehouse, the optimal picking sequence is determined to ensure that the pallet is solid and does not crush the underlying item.

Benefits of technology

The construction of efficient picking pallets is achieved, labor and energy efficiency is improved, the structural integrity of the pallets is ensured, and the risk of damage to items is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117501290B_ABST
    Figure CN117501290B_ABST
Patent Text Reader

Abstract

A method and system for determining a pallet building sequence includes: receiving a pick order request; identifying candidate pick items in a warehouse to fulfill the request; grouping the items based on aisles and generating an aisle-based list for each group; and sorting each list based on the location of each of the items in each group from the front to the back of the warehouse. For each list, the method includes: selecting a first item at the top of the list; adding the first item to a bottom layer of a pallet; determining from the list the amount of weight that can be placed on top of the first item; and determining whether the first item can support the determined amount of weight. If the first item can support the determined weight, the first item can be kept in the pick sequence as the bottom layer of the pallet and removed from the list.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This document describes apparatus, systems, and methods related to tray build sequencing determination. Background Art

[0002] A warehouse or other storage facility may be used to store items. Items may be stored for different time periods and under different storage conditions, which may be based on a supplier, customer, or other relevant user. Items may be stored prior to being requested by a relevant user. For example, a customer may request that certain items be picked up and shipped to the customer within a predetermined time frame. Customers may request items of the same type and / or items of different types. When a customer requests items in a pick order request, the customer may also indicate the quantity of each item being requested.

[0003] When a pick order request is received at the warehouse, the warehouse worker can work to implement the request. The warehouse worker can determine the order in which the requested items are picked. Sometimes, the pick order can be random. Sometimes, the pick order can be based on the position of the items in the warehouse relative to each other. When the warehouse worker picks the items, it usually travels to different storage rooms and / or channels in the warehouse to obtain all the items in the pick order request. This travel may require a lot of labor, energy and time, especially when the warehouse worker moves heavy pick trays around the warehouse to collect all the items in the request. It may take a long time to implement the pick order request. In addition, the pick tray may contain all the requested items, but some items may be damaged or crushed based on the order in which the items are picked and stacked on the pick tray. The warehouse worker may not know how much weight some items can support, especially when the warehouse worker is eager to complete the pick order request in a timely manner, and therefore the worker may stack heavy items on top of the items that may not be able to support their weight. The resulting pick tray may not be structurally solid. In addition, customers may receive damaged items, which can lead to dissatisfaction with the warehouse. Summary of the invention

[0004] The document relates to determining an efficient pick pallet building operation in a warehouse environment that can balance various competing objectives, such as labor efficiency in building a pick pallet, the structural integrity of the pallet, and avoiding the possibility of building a pallet that may cause items to be damaged (i.e., items at the bottom of the pallet are crushed by heavy items on the top tier of the pallet). The disclosed technology can also provide for splitting the picking sequence into individual pallets and determining the picking sequence of items on the pallet in a manner that optimizes labor efficiency and produces a structurally strong pick pallet. When items are stacked on top of each other, the pick pallet can be structurally strong without causing items in lower tiers to be crushed or otherwise damaged.

[0005] A forklift or warehouse worker may move from the rear of the warehouse to the front of the warehouse. As the forklift moves from the rear to the front, the forklift may pick up an item or layer of items and place it on a pallet to build a pick pallet that implements the pick sequence request. Thus, the first item or layer of items picked for the base of the pallet may be located at the rear of the warehouse, and the top item or layer of items picked may be located at the front of the warehouse. The disclosed technology may provide for determining an optimal picking sequence by reversely analyzing items or layers of items from the front of the warehouse to the rear of the warehouse. Thus, the disclosed technology may provide for determining whether a layer of items can support the weight of a layer added on top. If a layer can support the added weight, then the layer is less likely to be crushed or otherwise damaged. Thus, a structurally more solid pallet may be built.

[0006] The input may include the number of items (e.g., boxes) of each product that the requesting user requires in his or her pick order request. The goal of the disclosed technology may be to receive this input and determine how many pallets need to be made to meet the request, how to group the pallet build in the most efficient way for warehouse workers, and how to build a structurally solid pallet. Therefore, a more labor- and energy-efficient pallet can be built to meet the pick order request. One or more pallets can be built per channel, thereby reducing the distance, time, and amount of energy required to build the pallet. The first item in the channel can be selected and added to the bottom of the pallet. The disclosed technology can then provide an attempt to add the next item in the channel on top of the bottom layer and determine whether the added item will crush the bottom item. If the added item will not crush the bottom item, the added item can be retained in the pallet build sequence, and the next item in the channel can be selected to perform the same analysis. If the added item will crush the bottom item, the next item in the channel can be selected to determine whether this item will crush the bottom item. This can be an iterative decision process for determining an optimal and efficient pallet build sequence. Any incomplete pallets built per channel can then be combined into a single pallet build.

[0007] The disclosed technology can be applied to both manual warehouses and automated warehouses. The optimal pick sequencing can be determined to efficiently use labor in a warehouse environment and to build a solid pick pallet that will not break or crack. The disclosed technology can be used to determine how to build a pallet and where to pick items from in order to build this pallet. The ordering of items to be picked can also be optimized. A complete layer can be picked first and used as a base or bottom layer on the pallet. This can be a shovel opportunity. When determining how to build a pallet, other items in the pick request that are physically closest to the picked complete layer can be considered next. The items in the pick request can be analyzed to determine whether they can support a layer placed on top while also meeting the height requirements of the pallet.

[0008] While the disclosed inventive concepts include the concepts defined in the appended claims, it should be understood that the inventive concepts can also be defined according to the following embodiments.

[0009] Embodiment 1 is a method for determining a pallet building sequence, the method comprising: receiving a picking order request by a computing system, wherein the picking order request includes a list of items to be picked and the quantity of each of the items to be picked; identifying, by the computing system and based on the picking order request, candidate picking items in a warehouse environment that can be used to implement the picking order request; grouping, by the computing system, the identified candidate picking items based on aisles; generating, by the computing system, an aisle-based list for each of the groups of identified candidate picking items; sorting, by the computing system, each of the aisle-based lists based on the position of each of the identified candidate picking items in each of the groups relative to the front of the warehouse, wherein a first candidate picking item closest to the front of the warehouse is placed at the top of the aisle-based list; for each of the aisle-based lists: selecting, by the computing system, the first candidate picking item at the top of the aisle-based list. item; adding the first candidate picking item to the bottom layer of the tray by the computing system; retrieving strength information of the first candidate picking item by the computing system; determining by the computing system from the channel-based list the amount of weight of the candidate picking item that can be placed on top of the first candidate picking item; determining by the computing system whether the first candidate picking item can support the determined amount of weight based on the determined amount of weight being less than the strength information; in response to determining that the first candidate picking item can support the determined amount of weight, keeping the first candidate picking item in the picking sequence as the bottom layer of the tray by the computing system and removing the first candidate picking item from the channel-based list; and in response to determining that the first candidate picking item cannot support the determined amount of weight, removing the first candidate picking item as the bottom layer of the tray by the computing system from the picking sequence and keeping the first candidate picking item on the channel-based list.

[0010] Embodiment 2 is the method of embodiment 1, further comprising: receiving a request for a new task by the computing system and from a warehouse vehicle; and transmitting the picking sequence for each of the pallets to be built by the computing system and to the warehouse vehicle, wherein the picking sequence lists candidate items to be picked in order from the rear of the warehouse to the front of the warehouse.

[0011] Embodiment 3 is the method of any of embodiments 1-2, further comprising determining, by the computing system and based on the sorted lane-based list, a number of trays to build per lane.

[0012] Embodiment 4 is the method of any one of embodiments 1-3, wherein the strength information includes a maximum weight load that the first candidate pick item can support without being crushed.

[0013] Embodiment 5 is the method of any one of embodiments 1 to 4, wherein the maximum weight load is determined by the computing system and based on: receiving a pallet of the first candidate picking items from a supplier; identifying the number of layers of the first candidate picking items on the pallet; identifying the weight of each layer on the pallet; determining a supplier-provided load on the bottom layer of the pallet, wherein the supplier-provided load is the weight of each layer multiplied by the number of layers on the pallet minus one; and determining the maximum weight load based on applying a margin threshold multiplier to the supplier-provided load.

[0014] Embodiment 6 is the method of any of embodiments 1-5, wherein the margin threshold multiplier is 1.2.

[0015] Embodiment 7 is the method of any of embodiments 1 to 6, further comprising, in response to determining that the first candidate picking item can support the determined amount of weight: selecting, by the computing system, a second candidate picking item at the top of the channel-based list; adding, by the computing system, the second candidate picking item to the bottom layer of the tray below the first candidate picking item; retrieving, by the computing system, strength information of the second candidate picking item; determining, by the computing system, from the channel-based list, an amount of the weight of the candidate picking item that can be placed on top of the first candidate picking item; The computing system determines whether the second candidate picking item is capable of supporting the weight of the first candidate picking item; in response to determining that the second candidate picking item is capable of supporting the weight, the computing system maintains the second candidate picking item in the picking sequence as the bottom layer of the tray and removes the second candidate picking item from the aisle-based list; and in response to determining that the second candidate picking item is not capable of supporting the weight, the computing system removes the second candidate picking item as the bottom layer of the tray from the picking sequence and maintains the second candidate picking item on the aisle-based list.

[0016] Embodiment 8 is the method of any of embodiments 1-7, wherein the first candidate picking item is closest to the front of the warehouse.

[0017] Embodiment 9 is the method of any of embodiments 1 to 8, further comprising: determining, by the computing system, whether the pallet having the first candidate picking item as the bottom layer exceeds a height threshold; in response to determining that the pallet exceeds the height threshold, removing, by the computing system, the first candidate picking item as the bottom layer from the picking sequence and maintaining the first candidate picking item in the channel-based list; and in response to determining that the pallet does not exceed the height threshold, maintaining, by the computing system, the first candidate picking item in the picking sequence as the bottom layer and removing the first candidate picking item from the channel-based list.

[0018] Embodiment 10 is the method of any of embodiments 1-9, wherein the height threshold is 60 inches.

[0019] Embodiment 11 is the method of any of embodiments 1 to 10, further comprising: determining by the computing system whether to generate a picking sequence for a partial pallet based on the channel-based list; and in response to determining that the picking sequence is generated for a partial pallet, generating by the computing system an instruction to combine one or more of the partial pallets.

[0020] Embodiment 12 is the method of any of embodiments 1 to 11, further comprising: identifying, by the computing system and for each of the channel-based lists, a shoveling candidate picking item having at least a minimum threshold number of the candidate picking items to implement the picking sequence request; moving, by the computing system, the shoveling candidate picking item to the picking sequence as the bottom layer of the pallet; removing, by the computing system, the shoveling candidate picking item from the channel-based list; identifying, by the computing system, a first item in the channel-based list as a complete layer; identifying, by the computing system, a second item in the channel-based list as a partial layer items; moving the first item to the top of the aisle-based list by the computing system; moving the second item to the end of the aisle-based list by the computing system; sorting the first items by the computing system based on position from the front to the back of the warehouse; sorting the second items by the computing system based on position from the front to the back of the warehouse; determining, by the computing system and for each of the first item and the second item, a first and second sequence in which the first and second items can be picked to build the pallet with the scoop candidate picking item as the bottom layer.

[0021] Embodiment 13 is the method of any of Embodiments 1 to 12, wherein the minimum threshold quantity of the candidate picking items includes a current available quantity on a source pallet of the candidate picking items, the current available quantity having half or more of the picking quantity of the candidate picking items in the picking order request.

[0022] Embodiment 14 is the method of any of embodiments 1 to 13, further comprising: identifying, by the computing system, a plurality of shoveling candidate picking items from a plurality of source pallets; and selecting, by the computing system, one of the plurality of shoveling candidate picking items from the source pallets of the plurality of shoveling candidate picking items, at least in part based on the selected shoveling candidate picking item having the largest number of the shoveling candidate picking items on the source pallet.

[0023] Embodiment 15 is a system for determining a pallet building sequence, the system comprising: one or more processors; and a memory storing instructions, which when executed by the one or more processors cause the one or more processors to perform operations including: receiving a picking sequence request, wherein the picking sequence request includes a list of items to be picked and the quantity of each of the items to be picked; based on the picking sequence request, identifying candidate picking items in a warehouse environment that can be used to implement the picking sequence request; grouping the identified candidate picking items based on aisles; generating an aisle-based list for each of the groups of identified candidate picking items; sorting each of the aisle-based lists based on the position of each of the identified candidate picking items in each of the groups relative to the front of the warehouse, wherein a first candidate picking item closest to the front of the warehouse is placed at the top of the aisle-based list; and sorting each of the aisle-based lists for each of the groups of identified candidate picking items. Each: selects a first candidate pick item at the top of the channel-based list; adds the first candidate pick item to the bottom layer of the tray; retrieves strength information for the first candidate pick item; determines from the channel-based list an amount of weight of a candidate pick item that can be placed on top of the first candidate pick item; determines whether the first candidate pick item can support the determined amount of weight based on the determined amount of weight being less than the strength information; in response to determining that the first candidate pick item can support the determined amount of weight, maintains the first candidate pick item in the picking sequence as the bottom layer of the tray and removes the first candidate pick item from the channel-based list; and in response to determining that the first candidate pick item cannot support the determined amount of weight, removes the first candidate pick item from the picking sequence as the bottom layer of the tray and maintains the first candidate pick item on the channel-based list.

[0024] Embodiment 16 is the system of embodiment 15, wherein the operation further comprises: receiving a request for a new task from a warehouse vehicle; and transmitting the picking sequence for each of the pallets to be built to the warehouse vehicle, wherein the picking sequence lists the candidate items to be picked in order from the rear of the warehouse to the front of the warehouse.

[0025] Embodiment 17 is the system of any of embodiments 15 or 16, wherein the operations further comprise determining a number of trays to be built per lane based on the sorted lane-based list.

[0026] Embodiment 18 is the system of any of embodiments 15 to 17, wherein the strength information includes a maximum weight load that the first candidate pick item can support without being crushed.

[0027] Embodiment 19 is the system of any of embodiments 15 to 18, wherein the operation further includes determining the maximum weight load based on: receiving a pallet of the first candidate picking item from a supplier; identifying the number of layers of the first candidate picking item on the pallet; identifying the weight of each layer on the pallet; determining a supplier-provided load on the bottom layer of the pallet, wherein the supplier-provided load is the weight of each layer multiplied by the number of layers on the pallet minus one; and determining the maximum weight load based on applying a margin threshold multiplier to the supplier-provided load.

[0028] Embodiment 20 is a system of any of embodiments 15 to 19, wherein the operation further includes, in response to determining that the first candidate pick item is able to support the determined amount of weight: selecting a second candidate pick item at the top of the channel-based list; adding the second candidate pick item to the bottom layer of the tray below the first candidate pick item; retrieving strength information of the second candidate pick item; determining from the channel-based list the amount of weight of the candidate pick item that can be placed on top of the first candidate pick item; determining whether the second candidate pick item is able to support the weight of the first candidate pick item; in response to determining that the second candidate pick item is able to support the weight, keeping the second candidate pick item in the picking sequence as the bottom layer of the tray and removing the second candidate pick item from the channel-based list; and in response to determining that the second candidate pick item is unable to support the weight, removing the second candidate pick item as the bottom layer of the tray from the picking sequence and keeping the second candidate pick item on the channel-based list.

[0029] The devices, systems and techniques described herein may provide one or more of the following advantages. For example, the disclosed technology may provide a method of constructing a pick-up pallet in such a labor- and energy-efficient manner. The pallet may be constructed from the rear of the warehouse to the front of the warehouse. The items used to construct the pallet may be picked up in a sequence that does not require a forklift or warehouse worker to return or traverse different aisles, thereby reducing the amount of time and labor required to construct the pallet. In addition, this may be beneficial in reducing the amount of time a warehouse worker may need to spend in a refrigerated area of ​​a warehouse. The disclosed technology may provide for merging sequences into fewer pallet constructions. Thus, a warehouse worker may enter the refrigerated area once to complete multiple sequences, rather than entering the refrigerated area multiple times to complete each of the sequences. The pallet may also be constructed faster while using less energy. Alternatively, the pallet may be constructed with items located in one aisle. In addition, since the pallet may be constructed from the rear of the warehouse to the front of the warehouse, the construction may be more energy-efficient. This is because a forklift may not be required to transport heavy pallets over long distances and / or to and from one or more different aisles. A pallet initially built at the back of the warehouse can increase in weight as more items are added to the pallet closer to the front of the warehouse. When the pallet reaches the front of the warehouse, the pallet can be at maximum weight load. Thus, despite the pallet's heaviness, it does not need to be moved a great distance to a docking area or other destination location at the front of the warehouse. Less energy and labor is used to move the build pallet to the destination location.

[0030] As another example, the disclosed technology can provide a pallet built on a structurally solid structure. The disclosed technology provides for analyzing the sequencing of pallet construction from the front to the back of the warehouse. In other words, the analysis is performed in the direction opposite to the direction in which the items are actually picked up in real time to build the pallet. Strength and crushability can be determined for each potential layer that can be built on the pallet. For example, the disclosed technology can provide starting from the top layer (e.g., the item at the front of the warehouse, which will be the last item picked up in real time), adding a layer of items below it (e.g., the item adjacent to the front of the warehouse), and determining whether the layer below can support the top layer without being crushed. When the strength and crushability of each potential layer can be evaluated, a pallet that is more solid and sturdy in structure can be built. The disclosed technology can provide for selecting a channel containing items from a picking order request. For the channel, the first item closest to the front of the warehouse can be selected first. Then, the second item can be selected and added below the first item to determine whether the second item can support the weight of the first item without being crushed. Iterative decision making can be performed to determine whether the weight that can be supported on top of the bottom layer of the tray is a weight that the bottom layer can support without being crushed. If the item to be placed on the bottom layer cannot support the weight, another item in the channel can be selected to determine whether it can be supported by the bottom layer.

[0031] The disclosed techniques may also be computationally efficient, thereby allowing more pallet build sequencing decisions to be made in real time. For example, if there are 10 different items on a pick order, then there are 10 factorial (10!=3,628,800) different possible pick and build sequences for a single pallet. Trying to evaluate each of these pick sequences against each other (including simulating and evaluating whether they will be structurally sound, efficient, and will avoid crushing items in the pick order) creates a significant computational burden. And this burden only increases as the number of items on the pick order increases, and also considers different groupings of items on different pallets. Therefore, the disclosed innovation provides a method that can find a good solution that can balance multiple competing factors (i.e., minimize travel and pick times, avoid crushing items, build a pallet that is structurally sound and less likely to tip / tilt) in a manner that is computationally efficient and minimizes the use of computing resources used to find the solution. For example, the disclosed innovation can find a solution by considering only a small subset of all possible combinations, and can do so without having to compare solutions to each other. The disclosed technology may allow picking solutions to be generated in a real-time and highly responsive manner, which is beneficial in warehouse systems that handle a large number of similar requests and need to be able to provide responses with low latency to avoid congestion within the warehouse.

[0032] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] Figure 1 is a conceptual diagram of a system for determining a pick pallet build operation in a warehouse environment.

[0034] Figure 2 is a block diagram for determining what pallets to build per lane in order to fulfill a pick sequence request.

[0035] Figure 3A is a flow chart of a process for determining a picking sequence for aisle pallets.

[0036] Figure 3B It is used to determine Figure 3A Block diagram of the picking sequence.

[0037] Figure 4A 4 to 5 are flow diagrams of a process for determining an optimal pallet build using the techniques described herein.

[0038] Figure 5A to B are flow charts of a process for determining an optimal pallet build using scrap, full, and partial layers.

[0039] Figure 5C It is used to determine Figure 5ABlock diagram of the optimal pallet construction from B.

[0040] Figure 6 is a flow chart of a process for determining the maximum amount of weight that a layer can support.

[0041] Figure 7 is a system diagram of one or more components for performing the techniques described herein.

[0042] Figure 8 is a schematic diagram showing examples of computing devices and mobile computing devices that can be used to perform the techniques described herein.

[0043] Like reference symbols in the various drawings indicate like elements. DETAILED DESCRIPTION

[0044] This document relates to determining optimal and efficient pick pallet building operations in a warehouse environment. The disclosed technology can provide for building pick pallets on an aisle basis. Fewer pallets than the total number produced per aisle can then be combined into mixed pallets. The disclosed technology can also provide for minimizing damage or crushing of items placed in the pick pallet. In addition, the disclosed technology can minimize the labor required to pick items to build the pallet while also minimizing the pick path length.

[0045] The disclosed technology can be applied to manual and automated warehouses. In a manual warehouse, a call can be made to determine a pick pallet build operation when a pick sequence request is received. This call can populate a placeholder task in a task queue to allow labor scheduling and other planning purposes required to fulfill the pick sequence request in a timely manner. Before executing the first picking task, an additional call can be made to determine a pick pallet build operation based on the latest conditions in the warehouse. For each pick pallet to be built, the manual picking operation call can return: (1) a set of SKUs on the pick pallet; (2) for each SKU on the pick pallet, a set of locations that can satisfy the pick (which can also satisfy the first-in-first-out order); (3) the order in which the items should be picked relative to others; and (4) the number of items that need to be picked for each SKU.

[0046] In an automated warehouse (e.g., where there is automated layer picking and / or manual pick to belt operations), a call to determine a pick pallet build operation may also be made upon receipt of a pick sequence request. However, in a manual pick operation, each build sequence for a single pallet may differ from other build lines. In an automated pick operation, all layers with the same build sequence may be interchangeable when building a pallet. Thus, the output from an automated pick operation call may differ from the output from a manual pick operation call. This flexibility in automated pick operation calls may provide an opportunity to determine the best order to perform each layer of picker tasks.

[0047] Now refer to the diagram, Figure 1 1 is a conceptual diagram of a system 100 for determining a pick pallet build operation in a warehouse environment. An example warehouse environment 102 shows current locations of various vehicles (e.g., forklift 104A) as they move throughout the environment 102. The warehouse environment 102 may include various vehicles (e.g., forklift 104A, autonomous vehicles, robots) that are capable of autonomous movement, various warehouse workers that perform operations in the environment 102 and / or control vehicles that operate in the environment 102, and various movable objects that may move throughout the environment 102, such as pallet items 106A-N. The pallet items 106A-N may be stored throughout the environment 102 and may be accessed via aisles 108A and 108B.

[0048] Items 106A-N may be boxes, containers, or cases of items. Items 106A-N may also be complete or partial layers of arranged items. Items 106A-N may be stored and accessed through lanes 108A-B until such items 106A-N are requested by a customer. A customer (e.g., a restaurant, store, or other business owner) may request that one or more of items 106A-N be transported to them. These items 106A-N may be picked up by one or more of vehicles 104A and arranged into outbound pallets 116A and 116B. Once all requested items 106A-N are picked up and stacked on pallets 116A-B, pallets 116A-B may be transported to customers.

[0049] As the pallets 116A-B are being built, the vehicle 104A may be moved from the rear 102B of the warehouse environment 102 to the front 102A of the warehouse environment 102. Thus, the pallets 116A-B may be complete and in their heaviest state once at the front 102A of the environment 102, making it easier and consuming less energy or time to move the pallets 116A-B to a docking area or outbound transport vehicle (e.g., truck, freight container).

[0050] To determine how to build pallets 116A-B, vehicle 104A communicates with computer system 110 via network 112. As described herein, computer system 110 may be configured to determine optimal pick pallet building operations. Computer system 110 may also be part of a warehouse management system (WMS) and / or computer system 110 may communicate with a WMS.

[0051] Computer system 110 may receive a pick request (step A, 126). The pick request may be transmitted to computer system 110 via the WMS. The pick request may also be received from a customer computing device (e.g., a mobile phone, a smartphone, a laptop, a computer, a tablet computer). The pick request may include information 122. Information 122 may indicate the items requested by the customer. Figure 1In the example of , information 122 indicates the item SKU and quantity of each item requested. Here, the customer requests 20 items 106A, 50 items 106B, 40 items 106C, and 60 items 106N. The quantity may be measured as the number of boxes per item, the number of layers per item, the number of items, or any other quantity metric. In addition, the requested items may be listed in information 122 in no particular order.

[0052] The computer system 110 may then determine the number of pallets to be built (step B, 128). This determination may be made based on which of the items 106A-N are located in each of the lanes 108A-B. For example, one or more pallets may be built per lane. This may be advantageous in reducing the amount of travel time for the vehicle 104A. The vehicle 104A may not need to travel between two lanes when carrying a partially built pallet. Traveling between two lanes to pick up items from a pick request may consume time and energy. Alternatively, as described herein, the vehicle 104A may build one or more pallets per lane to reduce the amount of travel time and energy required to pick up all items in a pick request.

[0053] As in Figure 1 , two pallets can be built, pallet 116A and 116B. Pallet 116A can be used for aisle 108A, which includes items 106A, 106B, and 106C. Pallet 116B can be built for aisle 108B, which includes item 106N. Computer system 110 can determine how many pallets to build based on customer preferences, pallet height thresholds, and / or warehouse standards.

[0054] Once the computer system 110 determines the number of pallets to be built, the computer system 110 may determine the picking sequence for pallets 116A and 116B (step C, 130). The computer system 110 may identify all source items in the warehouse environment 102 that may implement the picking order request and prioritize the picking line items. In some embodiments, the computer system 110 may attempt to find as few source items as possible that can satisfy the requested quantity in order to be more computationally efficient. The computer system 110 may also group the source items that can be picked based on location. Source items that are closer to each other in location may be grouped together so that the vehicle 104A may not have to travel throughout the entire range of the warehouse 102 to collect the items.

[0055] As described throughout this disclosure, a picking order may be determined so that items 106A to N are picked from the rear 102B of the warehouse environment 102 to the front 102A of the warehouse 102. This may be advantageous in reducing the travel time and energy consumption of the vehicle 104A. Thus, the vehicle 104A may pick items to build more outbound pallets, thereby improving warehouse efficiency. Items 106A to N may also be sorted in a picking sequence based on the weight that each layer of items 106A to N can support without being crushed. This may be advantageous in avoiding damage to any of the requested items 106A to N. For example, item 106B may be bread. Bread may support very little weight on top of it without being crushed by the weight. Furthermore, because bread is lightweight, the bread may be supported by the layers of items located below it without crushing the bottom layer. Therefore, the computer system 110 may determine that the bread should be placed in a layer on top of other placed items to avoid crushing the bread.

[0056] As further described below, the computer system 110 may determine the picking sequence by evaluating the items 106A through N in an evaluation order 118. The evaluation order 118 may be a top-down or front 102A to back 102B evaluation. In other words, the computer system 110 may select item 106B from the front 102A of the warehouse 102, place item 106B on the pallet 116A, and determine whether item 106B will crush item 106C when item 106C is placed under item 106B, which is the second closest item to the front 102A of the warehouse 102 and is the second closest source item. In the bread example mentioned above, if item 106B is bread and item 106C is an egg carton, the computer system 110 may determine that the bread will not crush the eggs if the eggs are placed under them. Thus, item 106B may be layer 3 of the build of pallet 116A, and item 106C may be layer 2 of the build of pallet 116A. Computer system 110 may then check whether positioning item 106A as the bottom layer will be able to support both items 106B (layer 3) and 106C (layer 2). For example, item 106A may be a cereal box. Computer system 110 may determine that item 106A will not be crushed under the weight of both bread (layer 3) and eggs (layer 2). Thus, computer system 110 may determine a picking sequence 124A for pallet 116A, such as Figure 1 Displayed in.

[0057] The picking sequence 124A lists the items to be picked in the reverse order of the evaluation order 118. The picking order 120 is in reverse order because the items 106A-N are to be picked from the rear 102B of the warehouse 102 to the front 102A of the warehouse 102. Picking the items 106A-N from the rear 102B to the front 102A may help save energy and increase the speed of building the pallets 116A-B. In addition, by traveling from the rear 102B to the front 102A, the vehicle 104A may carry fewer items more efficiently. Therefore, while the items 106A-N are evaluated according to a top-down approach (e.g., the evaluation order 118), the items 106A-B are actually picked according to a back-to-front approach (e.g., the picking order 120). The picking sequence 124A lists the number of 20 items 106A that are picked first, because the items 106A may constitute the bottom layer on the pallet 116A, and the items 106A are at the back 102B of the warehouse 102. Next, 40 items 106B will be picked to constitute the second layer of the pallet 116A. Finally, the last 40 items 106B are picked to constitute the third layer of the pallet 116A, and the items 106B are located at the front 102A of the warehouse 102. The vehicle 104A may travel along the route 114A to pick up the items 106A, 106C, and 106B in sequence.

[0058] As shown in this example, for pallet 116A, only 40 of the requested 50 items 106B may be picked. This may be because computer system 110 may determine that pallet 116A, as built using pick sequence 124A, meets a pallet height threshold. The pallet height threshold may be 60 inches. Once the pallet height threshold is met, no additional items may be added to pallet 116A because pallet 116A will be too high by then. If pallet 116A exceeds the pallet height threshold, then pallet 116A may not be structurally sound. Therefore, additional items that may still need to be picked may be sequenced for another pallet build (e.g., pallet 124B).

[0059] exist Figure 1In the example of FIG. 1 , a picking sequence 124B is determined by the computer system 110 for the pallet 116B. This picking sequence 124B indicates that the vehicle 104A may travel along the route 114B in the aisle 108B to pick up 60 items 106N, which are closer to the back 102B of the warehouse 102 than the front 102A. The vehicle 104A may then pick up the remaining number of items 106B at the front 102A of the warehouse 102 from the aisle 108A. Here, the pallet 116B may be constructed using partial layers, wherein the top layer may not be a complete layer of items 106B, and the top layer may include a certain number of remaining items 106B that cannot fit into the picking sequence 124A of the pallet 116A. Furthermore, as described with reference to determining a picking sequence for tray 116A, computer system 110 may determine that item 106N may support the weight of item 106B, the bread, and therefore item 106N may be placed as a bottom layer of tray 116B.

[0060] Still reference Figure 1 , the computer system 110 may receive a task request from the vehicle 104A (step D, 132). In some embodiments, the computer system 110 may receive a task request at any time while the computer system 110 is performing steps A through C. The task request may indicate that the vehicle 104A has just completed a task in the warehouse environment 102, or is about to complete a task and is ready to complete a new task.

[0061] Thus, the computer system 110 may transmit the picking sequences 124A and 124B for the pallets 116A and 116B to the vehicle 104A (step E, 134). The vehicle 104A may then build the pallets 116A-B. The picking sequences 124A and 124B transmitted to the vehicle 104A may indicate a sequence for picking and building the items 106A-N, which pallets 116A-B the items 106A-N are to be built on, and the routes 114A-B. Thus, the vehicle 104A may receive a series of steps that may be followed in order to build the pallets 116A-B.

[0062] Figure 2 1 is a block diagram for determining what pallets to build per channel in order to fulfill a pick order request. As described herein, this determination may be made by computer system 110 (e.g., reference Figure 1 ) or any other similar computing system.

[0063] Computer system 110 may receive a pick order request list 206. As described herein, list 206 includes items identified by their SKUs and the requested quantity of each item. Here, list 206 includes 20 items 106A, 50 items 106B, 40 items 106C, 20 items 106D, and 40 items 106N.

[0064] Using the list 206, the computer system 110 may separate the candidate items for the pick request into aisles (step A, 200). The computer system 110 may identify candidate items throughout the warehouse that may be picked to satisfy the pick order request. The computer system 110 may narrow down the candidate items to be picked based on their location in the warehouse. For example, if several items from the list 206 are located within a particular aisle, then building a pallet for that aisle may be preferred because multiple items from the list 206 may be implemented in one pallet building operation. This may be advantageous in reducing the amount of time required to implement the pick order request. Figure 2 In an example of , computer system 110 can generate channel-based list 208 .

[0065] List 208 indicates that aisle 1 contains 20 items 106A, 40 items 106B, 40 items 106C, and 40 items 106N. Aisle 2 contains 10 items 106B and 20 items 106D. These aisles may be selected to build a pick pallet because these aisles may have the closest complete quantity of items requested in list 206. For example, aisle 1 contains the complete requested quantity of items 106A, 106C, and 106N. Picking the complete requested quantity in one pallet build operation may be advantageous for reducing the amount of time required to fulfill a pick sequence request. It may be more advantageous than moving around the warehouse to pick items 106A to N that are not in close proximity to each other.

[0066] Once lane-based lists 208 are generated, computer system 110 may use such lists 208 to build pallets for each lane (step B, 202). Using the techniques described herein, computer system 110 may identify lane-based pallet builds 210. In this example, computer system 110 determines that 3 pallets may be built. In lane 1, a pallet identified as pallet 0 may be built with 40 items 106N, 20 items 106C, and 20 items 106A. In lane 1, another pallet identified as pallet 1 may be built with 40 items 106B and 20 items 106C. In lane 2, a pallet identified as pallet 0 may be built with 10 items 106D and 10 items 102B.

[0067] Aisle-based pallet build 210 may list items 106A-N in the order in which they may be picked. Thus, to build pallet 0 in aisle 1, item 106N may be picked first, item 106C may be picked second, and item 106A may be picked last. As described herein, even if items 106A-N are evaluated to be picked from the front to the back of the warehouse, items 106A-N may be picked from the back to the front of the warehouse. Thus, item 106N may be located in aisle 1 near the back of the warehouse, while item 106A may be located in aisle 1 near the front of the warehouse.

[0068] After the computer system 110 generates the aisle-based pallet build 210, the computer system 110 may determine if there is an opportunity to combine pallets from different aisles (step C, 204). An opportunity for combination may exist where one or more pallets per aisle can be built but not complete. In other words, one or more pallets may contain a complete or partial layer of items. One or more pallets may also have a height that is less than the maximum height a pallet can have.

[0069] Thus, the computer system 110 can generate a final tray list 212. The list 212 can indicate complete trays per channel and / or trays that can be combined from different channels. Figure 2 , computer system 110 identifies an opportunity to combine pallet 1 from aisle 1 with pallet 0 from aisle 2. Thus, list 212 may indicate that a first pallet may be built as pallet 0 in aisle 1, and a second, combined pallet may be built to include pallet 0 from aisle 1 and pallet 1 from aisle 2. The resulting two pallets may be the final pallets shipped to the customer in order to fulfill the customer's pick order request.

[0070] Figure 3A is a flow chart of a process 300 for determining a picking sequence for aisle pallets. Figure 3B It is used to determine Figure 3A The process 300 may be performed by the computer system 110 described herein. One or more blocks of the process 300 may also be performed by other computer systems, servers and / or devices. For illustrative purposes, the process 300 is described from the perspective of a computer system.

[0071] refer to Figure 3A In process 300, at 302, a computer system may receive a list of candidate items for a pick request. Figure 3B , candidate item list 320A includes items listed by their SKU and the quantities requested. List 320A indicates that 10 item A is requested, 20 item B is requested, 24 item C is requested, and 10 item D is requested. Upon receiving list 320A, the computer system may not have determined a tray pick order 322A. As the computer system continues with process 300, the tray pick order may be populated / updated.

[0072] When receiving list 320A in 302 (refer to Figure 3A ), the computer system may also receive item information 318. The item information 318 may be received from a customer computing device. For example, a customer making a pick order request may transmit the item information 318 along with the request. In some embodiments, once the pick order request is received at the warehouse, the item information 318 may be retrieved or received from a warehouse management system (WMS).

[0073] Item information 318 may include information about each of the items requested to fulfill the pick order request. For each requested item, item information 318 may include layer strength, layer weight, layer height, and the number of items per layer. Information 318 may include additional or fewer details for each of the requested items. Figure 3B In the example of , item information 318 indicates that item A has a layer strength of 1,000 lb, a layer weight of 250 lb, a layer height of 12", and 10 items per layer. Thus, a layer of item A can support up to 1,000 lb placed on top of it. A layer of 10 items weighs 250 lb, and the layer has a maximum height of 12 inches. Item information 318 indicates that item B has a layer strength of 400 lb, a layer weight of 100 lb, a layer height of 15", and 20 items per layer. Item C has a layer strength of 200 lb, a layer weight of 100 lb, a layer height of 20", and 8 items per layer. Compared to item A, item C can support 800 lb less weight than item A. Finally, item information 318 indicates that item D has a layer strength of 750 lb, a layer weight of 250 lb, a layer height of 15", and 10 items per layer. Item information 318 may include one or more additional information about the items. For example, information 318 may indicate the length and width dimensions of a complete pallet, the gross weight of the items, the net weight of the items, and / or measurements.

[0074] refer to Figure 3A In the process 300 of FIG. 1 , at 304, the computer system may sort the candidate items based on their location from the front to the back of the warehouse (see FIG. 1 ). Figure 3B Step A, 326). As in Figure 3B , an updated candidate item list 320B may be generated by a computer system. Item A may be located at the front of the warehouse, item C may be located second closest to item A and the front of the warehouse, item D may be located second closest to item C and the front of the warehouse, and item B may be located farthest from the front of the warehouse (e.g., at the back of the warehouse). At this point in process 300, pallet picking order 322B may still be empty / undetermined.

[0075] To determine the optimal picking sequence, the computer system may begin at 306 by selecting candidate items from the top of the sorted list and adding the candidate items to the bottom of the pallet build (see Figure 3B Step B, 328). As in Figure 3B , item A at the top of candidate item list 320B may be selected as the bottom layer in tray picking order 322C.

[0076] Then, in 308, the computer system can retrieve strength information for the item added to the bottom of the pallet. For example, the computer system can access item information 318 and identify item A as having a layer strength of 1,000 lb and a layer weight of 250 lb (refer to Figure 3B ). Since 10 items A are needed and one layer contains 10 items, the computer system may determine that only one layer of items A may be added to the bottom of the tray.

[0077] Next, the computer system may determine the weight of the items that may be placed on the pallet at 310. The computer system may make this determination using item information 318. For example, the computer system may determine that one layer of item A weighs 250 lbs.

[0078] At 312, the computer system may determine whether the bottom item is able to support the weight of the other items (see Figure 3B Thus, as in step C, 330 Figure 3B , the computer system may determine whether item C, which is the second closest to item A, can support the weight of item A (refer to candidate item list 320C). A layer of item C has a maximum layer strength of 200 lb, but the weight of a layer of item A is identified as 250 lb. Therefore, the computer system may determine that item C cannot support the weight of item A without being damaged or crushed. The pallet picking order 322D has been updated to indicate that item C, although added on top of item A in the evaluation order 118, cannot withstand the weight of item A if picked in the picking order 120. Therefore, item C is crossed out and removed from the pallet picking order 322E.

[0079] In 314, if the computer system determines that the bottom item is able to support the weight of the item placed above it, the computer system can keep the bottom item on the pallet and remove the item from the sorted list. The computer system can return to block 306 and repeat 306 to 312 until a structurally solid pallet is built with the candidate items.

[0080] In 316, if the bottom item cannot support the weight, the computer system can remove the bottom item from the tray and keep the item on the sorted list. The computer system can return to block 306 and repeat 306 to 312 until a structurally solid tray is built with the candidate items. Figure 3B As shown in the pallet picking order 322D in FIG. 320 , item C is unable to support the weight of item A. Therefore, item C is removed from the pallet picking order 322E and remains in the candidate list 320D.

[0081] The computer system may evaluate the next closest item to item A, which is item D. The computer system may evaluate placing item D below item A, as shown in the pallet pick sequence 322E, to determine whether item D can be added below item A (step D, 332). As described above, the computer system may determine whether item D, which can support up to 750 lbs, can support 250 lbs of item A without being crushed. Since item D can support the weight of item A, item D can remain in the pallet pick sequence as an item picked before item A in the pick sequence 120.

[0082] Item D may be removed from candidate item list 320E, which now includes only items C and B. The computer system may determine that the remaining items C and B are needed to build a second pallet. This determination may depend on whether the first pallet built using pallet pick sequence 322E can be at a maximum height threshold, whether adding any additional layers to the first pallet causes the first pallet to exceed the maximum height threshold, and / or whether the combination of layers of items D and A can support any additional weight without being crushed. Thus, the computer system may build the second pallet using the techniques described herein (step E, 334). A pallet pick sequence 324A may be generated for the second pallet.

[0083] exist Figure 3B In the example of , the pallet picking order 324A indicates that item B can be picked first, which is closer to the back of the warehouse than item C and is used as the bottom layer of the second pallet. Since each layer of item C contains 8 items, 3 layers of item C may be needed. 3 layers of C items may weigh 300lb (refer to item information 318). One layer of item B has a layer strength of 400lb. Therefore, the layer of item B can support the weight of 3 layers of item C without being crushed. Therefore, by placing the layer of item B on the bottom of the pallet and placing 3 layers of item C on top of the layer of item B, the second pallet can be built from the back of the warehouse to the front of the warehouse.

[0084] Figure 4A 4 is a flow chart of a process 400 for determining an optimal pallet build using the techniques described herein. The process 400 may be performed by the computer system 110 described herein. One or more blocks of the process 400 may also be performed by other computer systems, servers, and / or devices. For illustrative purposes, the process 400 is described from the perspective of a computer system.

[0085] refer to Figure 4AContinuing to process 400 depicted in D, at 402, a computer system may receive a pick order request identifying items to be picked. The pick order request may include a sequence number, an owner identifier, an item identifier, a quantity of each requested item, a flag indicating whether the owner is allowed to mix with other owners, and any temperature or other storage conditions. The pick order request may also identify any constraints, such as a pallet type, a maximum width, a maximum height, a maximum weight, and / or an urgent order indicator.

[0086] At 404, the computer system may identify items for picking in the warehouse that may be used to fulfill the pick order request. As described herein, the computer system may identify items that are closest to each other in locations in the warehouse. Items that are closer together may be picked in less time and with less travel, which may improve warehouse efficiency. When identifying items that may be picked, the computer system may also identify, for each item, an owner identifier, an item identifier, an identifier date (e.g., if the item is on a pick line), a location name, a temperature zone, a storage condition, a platform type (e.g., CHEP, GMA, EUR, etc.), a box / item quantity, an indication of whether the item is on a pick line, and / or an indication of whether the item must first be used in a pallet build to satisfy the pick.

[0087] Next, the computer system may separate the identified picked items based on the aisle in which they are located (406). In 408, the computer system may generate an aisle-based list with the identified picked items. As described herein, one or more pallets may be built per aisle. One or more pallets may be built in an aisle from the back of the warehouse to the front of the warehouse in order to improve travel time, energy usage, and overall pallet building operations.

[0088] At 410, each aisle-based list may be sorted from the front to the back of the warehouse. Thus, the identified picked items in each aisle may be sorted such that the items at the top of the aisle-based list are located at the front of the aisle closest to the front of the warehouse, and the items at the bottom of the aisle-based list are located at the back of the aisle closest to the back of the warehouse. As described throughout this disclosure, pallets may be built from the back to the front of the warehouse, however, the computer system may evaluate the order in which the pallets are built by picking the items in reverse order from the front to the back of the warehouse.

[0089] Still reference Figure 4AContinuing to process 400 in D, at 412, the computer system may select one of the sorted aisle-based lists. Once the list is selected, the computer system may start a new pick tray at 414. The computer system may then determine how to order the items in the aisle on the new pick tray. For example, the computer system may add the pick item from the sorted aisle-based list that is second closest to the front of the warehouse to the bottom layer of the pick tray (416). The computer system may add the first item closest to the front of the warehouse to the bottom layer. If an item is already on the tray, the computer system may add the next item closest to the front of the warehouse to the bottom layer.

[0090] In 418, the computer system may determine whether the pre-existing layer above the new layer exceeds a weight threshold for the new layer. The computer system may determine whether the new layer can support the weight of the pre-existing layer. As described herein, each layer may have a maximum amount of weight it can support. When a layer exceeding the maximum weight is placed on top of a layer, the layer may be damaged and / or crushed.

[0091] Thus, if the computer system determines in 418 that a previously existing layer above the new layer would exceed the maximum weight threshold of the new layer, then the computer system may determine that the new layer should not be added to the sequence of layers of the pick pallet in 420. The computer system may return to block 416. The computer system may repeat blocks 416 through 418 for the next picked item that is closest to the first item being evaluated and the front of the warehouse.

[0092] On the other hand, if the computer system determines in 418 that the pre-existing layers above the new layer do not exceed the weight threshold of the new layer, then the computer system can determine that the new layer can potentially be placed under the pre-existing layer without being crushed or otherwise damaged. Therefore, in 422, the computer system can determine whether the addition of the new layer will exceed the height threshold of the picking pallet. The height threshold can be set in the picking order request. The height threshold can be based on customer preferences and / or warehouse standards. As an example, the height threshold can be 60 inches.

[0093] If adding the new layer will cause the pick tray to exceed the height threshold, the computer system may return to block 420. After all, the new layer should not be added to the pick tray. On the other hand, if adding the new layer will not cause the pick tray to exceed the height threshold, the computer system may add the new layer to the sequence of layers for building the pick tray in 424.

[0094] Once the new layer is added to the sequence of layers, the new layer may be removed from the sorted lane-based list at 426. The computer system may determine whether it has reached the end of the sorted lane-based list at 428. In other words, the computer system may determine whether it has evaluated each item in the lane-based list and / or added each item to the sequence of layers for the pick tray.

[0095] If the computer system has not yet reached the end of the sorted channel-based list, the computer system may evaluate the one or more items that remain on the list. Therefore, the computer system may return to block 416. The computer system may add the new item at the top of the list to the bottom layer of the picking tray and perform the evaluations in blocks 418 to 428 for the new item. The computer system may repeat blocks 416 to 428 until the computer system has reached the end of the sorted channel-based list.

[0096] If the computer system has reached the end of the ordered channel-based list, the computer system may determine that it has completed picking the tray in 430. In other words, a picking sequence has been determined for a particular picking tray that contains items from the ordered channel-based list.

[0097] Then, in 432, the computer system may determine if there are any additional pick items on the sorted aisle-based list. In some embodiments, the completed pick tray may not contain all of the items on the aisle-based list. This may occur when the completed pick tray is at a maximum height threshold and / or the layers of the completed pick tray cannot support any additional weight. Therefore, one or more additional trays may be constructed for a particular aisle with any additional pick items in the aisle.

[0098] If there are other pick items on the sorted aisle-based list that are not yet included in the completed pick tray, the computer system can return to block 414 and start a new pick tray. The computer system can repeat blocks 414 to 432 until all additional items in the sorted aisle-based list are arranged in the tray building sequence.

[0099] If there are no other pick items on the sorted aisle-based list, the computer system may determine if there are any more aisle-based lists in 434. If there are more aisle-based lists, the computer system may return to block 412 and select another one of the aisle-based lists. The computer system may then repeat blocks 412 to 434 until there are no more aisle-based lists to build a pallet.

[0100] If there are no more aisle-based lists in 434, the computer system may determine that the pick order request can be completed. After all, all items in the request have been arranged in a pallet build sequence. Therefore, the pallet can be built using the pallet build sequence determined in blocks 412 to 434. Therefore, in 436, the computer system may output a sequence of layers of the picked pallet for each aisle-based list. As described herein, in some embodiments, the computer system may generate one pallet build sequence per aisle. In some embodiments, the computer system may generate multiple pallet build sequences per aisle.

[0101] The output generated at 436 may include a sequence number associated with the pick sequence request, a set of pallets to be built for the pick sequence request, and steps or instructions for building the pallet. For each of the pallets to be built, the output may include the SKUs of the items placed on the pallet, the location of each SKU, the pick / build sequence, the number of items / boxes to be picked for each SKU, any required equipment to build the pallet, and / or the estimated height of the pallet after building.

[0102] In 438, the computer system may also determine whether to combine partial pallets from different lane-based lists. In some embodiments, a pallet may be built for one lane with any remaining items that did not fit on the first pallet of that lane in the past. This may result in a partial pallet. A partial pallet may not have a complete layer. In some embodiments, a partial pallet may have a complete layer, but may not be at the maximum height of the pallet. Therefore, additional layers and / or items may be added to the partial pallet.

[0103] If the computer system determines in 438 that there are no partial pallets in the different channel-based lists that can be combined, then the process 400 can stop. In some embodiments, one or more of the channel-based lists may contain partial pallets, however, the partial pallets may not be combined because the final combined pallet may exceed the maximum height threshold of the pallet. In some embodiments, the partial pallets cannot be combined because one or more of the pallets may not be able to bear the weight of the other pallets. Therefore, one or more of the pallets may be damaged or otherwise crushed. Therefore, combining partial pallets may compromise the structural integrity of the pallets.

[0104] However, if the computer system determines that partial pallets from one or more of the different channel-based lists can be combined, the computer system can generate an output for combining a sequence of partial pallets in 440. The output can indicate a sequence for placing the partial pallets into a final pallet. The output can also indicate a set of coordinates indicating where each partial layer and / or loose item can be placed on the pallet. For example, from the perspective of a warehouse worker or warehouse vehicle building a pallet, the coordinates can start at (0,0) at the lower left corner of the pallet.

[0105] The outputs from blocks 436 and 440 may be provided to a warehouse vehicle and / or a warehouse worker's device. Figure 1 As described, an output may be provided when a warehouse vehicle and / or warehouse worker requests to initiate a new task.

[0106] Figure 5A 1 to 3 are flow diagrams of a process 500 for determining an optimal pallet build using scraped, full, and partial layers. The process 500 may be performed by the computer system 110 described herein. One or more blocks of the process 500 may also be performed by other computer systems, servers, and / or devices. For illustrative purposes, the process 500 is described from the perspective of a computer system. Figure 5C It is used to determine Figure 5A Block diagram of the optimal pallet construction from B.

[0107] refer to Figure 5A In process 500 in C, at 502, the computer system may receive a list of candidate items for a pick order request. Figure 5C , candidate item list 522A may indicate items to be picked up based on their SKUs (e.g., identifiers, barcodes, labels, QR codes). Candidate item list 522A may also indicate the tier type of each of the candidate items. For example, item A is a partial tier, item B is a full tier, item C is a partial tier, item D is a full tier, and item E is a scraping tier.

[0108] At 504, the computer system may identify a scrapping opportunity (see Figure 5C 526). A scrapping opportunity may exist when the number of boxes or items required for a source pallet is greater than 50% of the total number of boxes on the source pallet. Scraping opportunities may also exist in a variety of different scenarios, such as when the number of boxes or items required for a source pallet is greater than 50%, 40%, 30%, 20%, 10%, 5%, etc. of the number remaining on the source pallet. As another example, each physical mixed pallet build may have at most one scrapping item. However, for a particular mixed pallet, there may typically be multiple potential scrapping items. In such cases, the computer system may identify the sequence line item with the highest number and select that item as the scrapping opportunity. As an illustrative example, if there are 50 boxes on source pallet A and 30 are required for the mixed pallet, and there are 100 boxes on source pallet B and 60 are required for the mixed pallet, then the computer system may select source pallet B as the scrapping opportunity. Selecting source pallet B may be beneficial in minimizing the number of boxes that must be moved on source pallet B to build the mixed pallet compared to moving boxes on source pallet A to build the mixed pallet.

[0109] Selecting a scraper as the base or bottom layer of a pallet may be advantageous because it can reduce the time, energy, and amount required to move around the warehouse to collect additional quantities of requested items. Thus, identifying a scraper can improve warehouse efficiency by reducing travel and build time.

[0110] If a scraper is identified, then the scraper can be used to build the pallet, such as in Figure 5C 524A in the pallet pick order 524A. Thus, a scraper may be used as the base or bottom layer of the pallet. Item E is identified as a scraper because it has a certain number of items (e.g., boxes) required for the source pallet that is at least 50% or more of the number of item E on the source pallet. Item E may remain as the bottom layer of the pallet, even though the sequencing of the layers above this scraped item may change.

[0111] In some embodiments, there may not be a scraping opportunity. In such cases, the computer system may proceed to block 508.

[0112] Once the scraping opportunity is identified at 504, the computer system may remove the scraping opportunity from the candidate list at 506. Figure 5C As shown in , candidate list 522B can therefore be updated to include items A to D.

[0113] Next, it may be easier and more efficient to construct a pallet with complete layers on top of each other rather than building pallets with layers of different heights and sizes. Preferably, the complete layer is sequenced above the scraped bottom layer and then the partial layer is sequenced on top of the complete layer. Thus, in 508, the computer system may identify a first item that provides a complete layer. In 510, the computer system may also identify a second item that provides a partial layer. Then, in 512, the computer system may move the first item to the top of the candidate item list (see Figure 5C Similarly, the computer system may move the second item to the end of the candidate item list (514). Figure 5C , candidate item list 522C includes items B and D at the top of list 522C because they are complete layers. Items A and C have been moved to the end of list 522C because they are partial layers.

[0114] At 516, the computer system may sort the first item based on its position from the front to the back of the warehouse. At 518, the computer system may also sort the second item based on its position from the front to the back of the warehouse (see Figure 5CItems may be sorted within their groupings, indicating that as described throughout this disclosure, building pallets from the back to the front of the warehouse may improve warehouse efficiency, reduce travel time, and reduce the time required to build pallets.

[0115] At 520, using the sorted list of candidate items, the computer system may determine a pallet and picking order sequence, as described throughout this disclosure (see Figure 2 4). Therefore, the computer system may first determine the pallet building sequence for the complete layer. Then, the computer system may determine the pallet building sequence for the partial layer (refer to Figure 5C Step D, 532).

[0116] As in Figure 5C , the computer system may determine the pallet picking order 524B. First, item E may be selected because it is a shovel load opportunity. Next, item B may be picked and placed on top of item E because item B is a complete layer and can support the weight of items D, C, and A. Next, item D may be picked and placed on top of item B because item D is a complete layer and can support the weight of items C and A. Next, item C may be picked and placed on top of item D because there are no complete layers left to sequence. In a partial layer, item C may be placed above item D and below item A because item C can support the weight of item A. Finally, item A may be placed on top of the pallet because it is the last remaining partial layer and is the weight that can be supported by items E, B, D, and C. As a reminder, items such as items E and B may also be closest to the back of the warehouse, while item A may be located closest to the front of the warehouse. Thus, the pallet picking sequence 524B ensures that pallets are efficiently built from the back to the front of the warehouse while using minimal travel time and energy.

[0117] Figure 6 600 is a flow chart of a process for determining the maximum amount of weight that a layer can support. The maximum amount of weight can be inferred based on available data, as further described below. In some embodiments, process 600 can be performed for a layer of items at a time. For example, when the layer of items first arrives at the warehouse, flow 600 can be executed. In some embodiments, process 600 can be performed at a predetermined time to determine whether the condition of the layer of items has changed in a way that can change the maximum amount of weight that the layer can support. Then, the maximum amount of weight determined can be stored and used for any picking order request for such items. Process 600 can be performed by the computer system 110 described herein. One or more frames of process 600 can also be performed by other computer systems, servers and / or devices. For illustrative purposes, process 600 is described from the perspective of a computer system.

[0118] Referring to process 600, in 602, a computer system may receive a pallet of items from a supplier. The supplier may send the same number of items on each pallet over time. In such cases, process 600 may be performed once when the pallet is received, rather than each time a pallet is received from a supplier. In some embodiments, a supplier may send pallets with different numbers of items and / or different layers of items. In such cases, the computer system may use a maximum or average value of the received pallets in order to perform process 600. When receiving a pallet of items from a supplier, the computer system may also receive a SKU or other identifier for identifying the items on the pallet. In some embodiments, the computer system may receive additional information, such as the size of each item on the pallet, the weight of each item on the pallet, and the storage conditions of the pallet.

[0119] Then, in 604, the computer system may identify the N number of layers on the pallet. In some embodiments, the computer system may receive information from a supplier indicating the number of layers on the pallet. In some embodiments, imaging techniques may be used to infer the number of layers. For example, once the pallet enters the warehouse, an image of the pallet may be captured. Using image processing techniques, the computer system may determine how many layers appear in the image data. In some embodiments, a warehouse worker may count the number of layers and provide the count to the computer system.

[0120] In 606, the computer system may identify the W weight of each layer on the pallet. As mentioned, weight information may be provided to the computer system by a supplier. For example, the computer system may receive information indicating the weight of each item on the pallet. The computer system may also receive information indicating the total number of items on the pallet. The computer system may multiply the weight of each item by the total number of items to determine the total weight. The total weight may be divided by the number of layers N to determine the W weight of each layer. In some embodiments, the pallet may be weighed upon arrival at the warehouse. The computer system may receive this weight value, divide it by the number of layers N, and subtract the weight of the pallet structure itself to determine the W weight of each layer. In some embodiments, the computer system may receive the W weight of each layer from a supplier and / or a warehouse management system (WMS).

[0121] Next, in 608, the computer system can determine the load provided by the supplier on the bottom layer. This load can be identified using the following equation: (N-1)*W. Therefore, the computer system can determine how much weight the supplier loads on top of the bottom layer on the pallet. This load can be used to determine how much weight any one of the layers can support without being damaged or crushed. After all, if the bottom layer can support the weight of all the layers above it, then any one of the layers can support a maximum of any weight placed on top of the bottom layer.

[0122] As a simple example, a pallet may have 5 layers and each layer may weigh 100 lbs. The bottom layer (layer 1) may have a load of (5-1)*100 provided by the supplier, which is equivalent to 400 lbs. Therefore, the bottom layer (layer 1) can support 400 lbs without being damaged or otherwise crushed. If the top layer (layer 5) on the pallet is swapped with layer 1 to become the new bottom layer, then layer 5 can also support 400 lbs without being damaged or crushed because it can be inferred that the load of each layer is the same.

[0123] Thus, in 610, the computer system may determine a weight maximum based on the bottom layer load. The computer system may determine how much weight any of the layers on the pallet can support without being crushed. The computer system may also determine a weight maximum within a margin parameter. For example, the computer system may multiply the bottom layer load by a weighted margin multiplier to represent the maximum amount of weight that can be placed on top of the layer. In some embodiments, the weighted margin multiplier may be 1.2 or some value less than 2.0. In some embodiments, the weighted margin multiplier may be a percentage. For example, the multiplier may not exceed 10 to 20% of the load provided by the supplier.

[0124] Then, in 612, the computer system may output the maximum weight of the items. Each item on the pallet may have the same maximum weight, as described above. The maximum weight may be used in a subsequent process to determine how much weight a layer of items can support without being damaged or crushed.

[0125] Process 600 may be advantageous because it does not require actually crushing the layer of items in field testing. Process 600 may also be used to dynamically adjust how much weight the layer of items can support based on how the packaging or other characteristics of the layer may change over time. Adjusting the output from process 600 may not require repeating the entire process 600. Instead, only one or more of blocks 602 to 612 may be performed in order to update the determined weight maximum value of the items.

[0126] Figure 7 1 is a system diagram of one or more components for performing the techniques described herein. As described herein, computer system 110 may communicate with one or more components, computing systems, servers, and / or data repositories via network 112 (e.g., wired and / or wireless communications), including warehouse management system (WMS) 700 and warehouse information data repository 722. In some embodiments, computer system 110 and WMS 700 may be the same computer system, computer network, and / or server.

[0127] The WMS 700 may be configured to perform operations to manage a warehouse. For example, the WMS 700 may receive information about inbound and outbound items and pallets. The WMS 700 may receive pick order requests, storage orders, and other operations within the warehouse. The WMS 700 may be configured to update information stored in the warehouse information data repository 722. The WMS 700 may also make determinations about where to store items in the warehouse, profile items, and assign tasks to warehouse workers and warehouse vehicles. The WMS 700 may perform one or more other operations associated with managing tasks and actions within the warehouse.

[0128] In some embodiments, the WMS 700 may receive a pick order request. The WMS 700 may transmit the request to the computer system 110. In some embodiments, the computer system 110 may receive a pick order request from a client computing device.

[0129] As described herein, computer system 110 may be configured to determine optimal pick pallet build operations. Computer system 110 may include pick item identifier 702 , aisle pick item list generator 704 , item maximum weight load determiner 706 , pallet build engine 708 , and pallet build output generator 710 .

[0130] The pick item identifier 702 may be configured to determine which items in the warehouse may be picked to fulfill a pick sequence request (eg, reference Figure 4A 4. In block 404 of FIG. 4 , identifier 702 may identify a source pallet containing items to be picked to fulfill the request. Identifier 702 may also identify the location of such source pallet. Identifier 702 may be configured to identify the source pallet with the largest number of requested items and the source pallets that are closest to each other in location. Thus, pallets may be built more efficiently. Warehouse vehicles may pick up items that are closest to each other, rather than traveling to various different locations throughout the warehouse to collect items. Since items may be picked close to each other, less energy may be used to transport pallets around the warehouse. Additionally, since items may be picked close to each other, less time may be required to build a pallet. It may also be advantageous to pick items that are closest in number to the number of requested items, so that a pallet may be built with as many complete layers as possible. The more complete layers, the fewer partial layers and the fewer resources (e.g., computing resources, time, energy) may be required to build a pallet to fulfill a pick order request.

[0131] The aisle pick item list generator 704 may be configured to generate an aisle based list as described herein (e.g., with reference to Figure 4A406 to 410 in ). Each aisle-based list may include candidate items located within the aisle that may fulfill the picking order request. In addition, the aisle picking list generator 704 may include an aisle sorting engine 712. The aisle sorting engine 712 may be configured to sort the items in the aisle-based list based on their location from the front to the back of the warehouse.

[0132] The item maximum weight load determiner 706 may be configured to infer how much weight a layer of a particular item can support without being damaged or otherwise crushed, such as by referring to Figure 6 600 in . When requesting items in a pick order request, the determiner 706 can determine the maximum load of the items. The determiner 706 can also determine the maximum load at a time before receiving the pick order request (e.g., when the items are delivered to the warehouse by the supplier).

[0133] The pallet build engine 708 may be configured to determine, for each aisle-based list, one or more pallets to be built to fulfill the pick sequence request (e.g., reference Figure 4A The engine 708 may determine the optimal pallet build using the techniques described throughout this disclosure. To determine the pallet build, the engine 708 may also include a weight threshold determiner 714, a height threshold determiner 716, a layer sequencing engine 718, and an aisle picking item list updater 720.

[0134] The weight threshold determiner 714 may be configured to determine how much weight each layer of items can support if placed as the bottom layer on the pallet (eg, reference Figure 3A Boxes 308 to 316 in; Figure 4B 4. (See blocks 418 to 420 in FIG. 4.) Determinator 714 may also identify which layers of items may be stacked on top of each other without causing items on lower layers to become damaged or otherwise crushed.

[0135] The height threshold determiner 716 may be configured to determine how many and which layers may be stacked on a pallet without exceeding a predefined maximum height of the pallet (eg, reference Figure 4B 422 in FIG. 40 ). In some embodiments, the determiner 716 may also determine whether additional pallets need to be built to stack any remaining pallets that would otherwise cause the first pallet to exceed the maximum height.

[0136] The layer sequencing engine 718 may be configured to generate and / or update a picking sequence / order per pallet (e.g., reference Figure 3A 314 to 316 in; see Figure 3B Pallet picking sequence 322A to E, 324A in; reference Figure 4B To blocks 420 and 424 in C; cf. Figure 5CAs described throughout this disclosure, the picking sequence may list items from the back of the warehouse to the front, where items from the back of the warehouse will be picked first and items from the front of the warehouse will be picked last. As described herein, the picking order may be the inverse of the evaluation order (e.g., reference to Figure 1 The evaluation order 118 and picking order 120 in the example.

[0137] The aisle pick item list updater 720 may be configured to update the aisle pick item list whenever an item is removed from the list and added to the layer ordering of the pallet build (e.g., reference Figure 3A Boxes 314 to 316 in; see Figure 3B Candidate item list 320A to E in; reference Figure 4C Box 426 in; reference Figure 5C List of candidate items 522A to C).

[0138] In addition, the pallet build output generator 710 can be configured to generate an output that indicates to a warehouse worker or warehouse vehicle the order in which to pick items and build a pallet (e.g., reference Figure 4D The generator 710 may also collect additional information that may be used to assist a warehouse worker or warehouse vehicle in building a pallet, as described throughout this disclosure.

[0139] The warehouse information data store 722 may store item information 724A-N, channel-based lists 726A-N, and pallet build information 728A-N. For each item, the item information 724A-N may include an identifier 730, a size 732, a weight 734, a maximum weight load 736, and a product 738 (e.g., reference Figure 3B 730 may be a SKU, a barcode, a label, a QR code, or another identifier, as described throughout this disclosure. Size 732, weight 734, and maximum weight load 736 may be determined by one or more components of computer system 110, as described herein. When computer system 110 makes such determinations, computer system 110 may store the determinations of the associated items in warehouse information data repository 722. Additionally, product 738 may identify the type of item.

[0140] The lane-based item lists 726A-N may include information associated with each of the lane-based lists generated by the components of the computer system 110. For example, for each of the lists 726A-N, a picking order identifier 740, a picking item identifier 730A-N, and a storage location 742 may be identified and stored. Thus, the lists 726A-N may include associations between different items 724A-N that may be selected to build a pallet for each of the lanes with each lane. The lists 726A-N may also associate the items in the lane with the picking order request using the identifier 740. The lists 726A-N may also include a storage location 742 that may indicate where the lane is located within the warehouse.

[0141] Finally, pallet build information 728A to N may be generated for each pallet that may be built to fulfill the pick order request. For each pallet build 728A to N, aisle lists 726A to N, a pick order identifier 740, an item identifier 730A to N, a height threshold 744, a weight threshold 746, a layer sequence 748, and a customer identifier 750 may be stored. The pallet build information 728A to N may provide an association with the item information 724A to N and the aisle-based item list 726A to N. The height threshold 744 may indicate the maximum height of the pallet. The height threshold 744 may also indicate the current height of the pallet based on the layer sequence 748. The weight threshold 746 may indicate how much weight each layer may support. The weight threshold 746 may also indicate how much weight is currently on the pallet. Furthermore, components of the computer system 110 may use the pallet build information 728A to N to generate output on how to build a pallet to fulfill the pick order request.

[0142] Figure 8 800 and mobile computing devices that can be used to perform the techniques described herein. Computing device 800 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Mobile computing devices are intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, and other similar computing devices. The components shown here, their connections and relationships, and their functions are intended to be exemplary only, and are not intended to limit implementations of the inventions described and / or claimed in this document.

[0143] The computing device 800 includes a processor 802, a memory 804, a storage device 806, a high-speed interface 808 connected to the memory 804 and a plurality of high-speed expansion ports 810, and a low-speed interface 812 connected to a low-speed expansion port 814 and the storage device 806. Each of the processor 802, the memory 804, the storage device 806, the high-speed interface 808, the high-speed expansion port 810, and the low-speed interface 812 is interconnected using various buses and can be mounted on a common motherboard or installed in other ways as appropriate. The processor 802 can process instructions for execution within the computing device 800 (including instructions stored in the memory 804 or on the storage device 806) to display graphical information of a GUI on an external input / output device (e.g., a display 816 coupled to the high-speed interface 808). In other implementations, multiple processors and / or multiple buses, as well as multiple memories and multiple types of memories, can be used as appropriate. In addition, multiple computing devices can be connected, each of which provides a portion of the necessary operations (e.g., as a server array, a group of blade servers, or a multi-processor system).

[0144] The memory 804 stores information within the computing device 800. In some implementations, the memory 804 is a volatile memory unit. In some implementations, the memory 804 is a non-volatile memory unit. The memory 804 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.

[0145] The storage device 806 is capable of providing mass storage for the computing device 800. In some implementations, the storage device 806 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device or device array, including devices in a storage area network or other configuration. A computer program product may be tangibly embodied in an information carrier. A computer program product may also contain instructions that, when executed, perform one or more methods, such as the methods described above. A computer program product may also be tangibly embodied in a computer or machine-readable medium, such as the memory 804, the storage device 806, or a memory on the processor 802.

[0146] The high-speed interface 808 manages bandwidth-intensive operations of the computing device 800, while the low-speed interface 812 manages less bandwidth-intensive operations. This functional allocation is exemplary only. In some implementations, the high-speed interface 808 is coupled to the memory 804, the display 816 (e.g., through a graphics processor or accelerator), and the high-speed expansion port 810, which can accept various expansion cards (not shown). In an implementation, the low-speed interface 812 is coupled to the storage device 806 and the low-speed expansion port 814. The low-speed expansion port 814, which can include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), can be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner, or a networking device, such as a switch or a router, for example, through a network adapter.

[0147] Computing device 800 may be implemented in a number of different forms, as shown in the figures. For example, it may be implemented as a standard server 820, or multiple times in a group of such servers. Additionally, it may be implemented in a personal computer such as a laptop computer 822. It may also be implemented as part of a rack-mounted server system 824. Alternatively, components from computing device 800 may be combined with other components in a mobile device (not shown), such as mobile computing device 850. Each of such devices may contain one or more of computing device 800 and mobile computing device 850, and the entire system may be composed of multiple computing devices that communicate with each other.

[0148] The mobile computing device 850 includes a processor 852, a memory 864, an input / output device such as a display 854, a communication interface 866, and a transceiver 868, among other components. The mobile computing device 850 may also be provided with a storage device such as a microdrive or other device to provide additional storage. Each of the processor 852, the memory 864, the display 854, the communication interface 866, and the transceiver 868 are interconnected using various buses, and several components may be mounted on a common motherboard or otherwise as appropriate.

[0149] The processor 852 may execute instructions within the mobile computing device 850, including instructions stored in the memory 864. The processor 852 may be implemented as a chipset including individual or multiple analog and digital processors. The processor 852 may, for example, provide coordination of other components of the mobile computing device 850, such as control of a user interface, applications executed by the mobile computing device 850, and wireless communications performed by the mobile computing device 850.

[0150] The processor 852 can communicate with the user through a control interface 858 and a display interface 856 coupled to a display 854. The display 854 can be, for example, a TFT (thin film transistor liquid crystal display) display or an OLED (organic light emitting diode) display or other appropriate display technology. The display interface 856 may include appropriate circuitry for driving the display 854 to present graphics and other information to the user. The control interface 858 can receive commands from the user and convert them for submission to the processor 852. In addition, an external interface 862 can provide communication with the processor 852 to facilitate near-area communication of the mobile computing device 850 with other devices. For example, the external interface 862 can provide wired communication in some embodiments, or wireless communication in other embodiments, and multiple interfaces can also be used.

[0151] The memory 864 stores information within the mobile computing device 850. The memory 864 may be implemented as one or more of a computer-readable medium, a volatile memory unit, or a non-volatile memory unit. An expansion memory 874 may also be provided and connected to the mobile computing device 850 via an expansion interface 872, which may include, for example, a SIMM (Single In Line Memory Module) card interface. The expansion memory 874 may provide additional storage space for the mobile computing device 850, or may also store applications or other information for the mobile computing device 850. Specifically, the expansion memory 874 may include instructions for performing or supplementing the processes described above, and may also include security information. Thus, for example, the expansion memory 874 may be provided as a security module for the mobile computing device 850, and may be programmed with instructions that allow the secure use of the mobile computing device 850. In addition, secure applications and additional information may be provided via a SIMM card, such as placing identification information on the SIMM card in an unbreakable manner.

[0152] The memory may include, for example, flash memory and / or NVRAM memory (non-volatile random access memory), as discussed below. In some implementations, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as the methods described above. The computer program product may be a computer or machine readable medium, such as memory 864, expansion memory 874, or memory on processor 852. In some implementations, the computer program product may be received, for example, in a propagated signal by transceiver 868 or external interface 862.

[0153] The mobile computing device 850 may communicate wirelessly through a communication interface 866, which may include digital signal processing circuitry where necessary. The communication interface 866 may provide for communication in various modes or protocols, such as GSM voice calls (Global System for Mobile Communications), SMS (Short Message Service), EMS (Enhanced Messaging Service) or MMS messaging (Multimedia Messaging Service), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), PDC (Personal Digital Cellular), WCDMA (Wideband Code Division Multiple Access), CDMA2000, or GPRS (General Packet Radio Service), among others. Such communications may occur, for example, through a transceiver 868 using radio frequencies. Additionally, short-range communications may occur, such as using Bluetooth, WiFi, or other such transceivers (not shown). Additionally, a GPS (Global Positioning System) receiver module 870 may provide additional navigation and location-related wireless data to the mobile computing device 850, which may be used appropriately by applications running on the mobile computing device 850.

[0154] The mobile computing device 850 may also communicate audibly using an audio codec 860, which may receive voice information from a user and convert it into usable digital information. The audio codec 860 may likewise generate audible sounds for the user, such as through a speaker, such as in a handset of the mobile computing device 850. Such sounds may include sounds from voice phone calls, may include recorded sounds (e.g., voice messages, music files, etc.), and may also include sounds generated by applications operating on the mobile computing device 850.

[0155] The mobile computing device 850 may be implemented in several different forms, as shown in the figure. For example, it may be implemented as a cellular phone 880. It may also be implemented as part of a smart phone 882, a personal digital assistant, or other similar mobile device.

[0156] Various implementations of the systems and techniques described herein may be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from a storage system, at least one input device, and at least one output device, and to transmit data and instructions to the storage system.

[0157] These computer programs (also referred to as programs, software, software applications, or code) contain machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the terms machine-readable medium and computer-readable medium refer to any computer program product, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term machine-readable signal refers to any signal for providing machine instructions and / or data to a programmable processor.

[0158] To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user, and a keyboard and a pointer device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, voice, or tactile input.

[0159] The systems and techniques described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server) or includes a middleware component (e.g., an application server), or includes a front-end component (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0160] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

[0161] Although this specification contains many specific implementation details, these should not be interpreted as limitations on the scope of the disclosed technology or what may be claimed, but rather as descriptions of features that may be specific to a particular embodiment of a particular disclosed technology. Certain features described in the context of a single embodiment in this specification may also be implemented in combination in a single embodiment, in part or in whole. On the contrary, the various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable sub-combination. In addition, although features may be described herein as working in certain combinations, and / or initially claimed, in some cases, one or more features from the claimed combination may be deleted from the combination, and the claimed combination may point to a sub-combination or a variant of a sub-combination. Similarly, although operations may be described in a particular order, this should not be understood as requiring such operations to be performed in a particular order or in a sequential order, or requiring all operations to be performed to achieve the desired result. Specific embodiments of the subject matter have been described. Other embodiments are within the scope of the appended claims.

Claims

1. A method for determining a pallet building sequence in an automated warehouse, the method comprising: receiving, by a computing system, a pick order request, wherein the pick order request includes a list of items to be picked and a quantity of each of the items to be picked; identifying, by the computing system and based on the picking sequence request, candidate picking items in the automated warehouse that can be used to fulfill the picking sequence request; grouping, by the computing system, the identified candidate picking items based on aisles; generating, by the computing system, a lane-based list for each of the identified groups of candidate pick items; sorting, by the computing system, each of the aisle-based lists based on a location of each of the identified candidate picking items in each of the groups relative to a front of the automated warehouse, wherein a first candidate picking item closest to the front of the automated warehouse is placed at a top of the aisle-based list; For each of the channel-based lists, iteratively perform the following operations: selecting, by the computing system, a first candidate pick item at the top of the aisle-based list; adding, by the computing system, the first candidate pick item to a bottom layer of a tray; retrieving, by the computing system, strength information of the first candidate picking item; determining, by the computing system, from the aisle-based list, an amount of weight of candidate pick items that can be placed on top of the first candidate pick item; determining, by the computing system, whether the first candidate pick-up item can support the determined amount of weight based on the determined amount of weight being less than the strength information; in response to determining that the first candidate pick item is capable of supporting the determined amount of weight, maintaining, by the computing system, the first candidate pick item in a picking sequence as the bottom layer of the tray and removing the first candidate pick item from the aisle-based list; as well as in response to determining that the first candidate pick item is unable to support the determined amount of weight, removing, by the computing system, the first candidate pick item from the picking sequence as the bottom layer of the tray and maintaining the first candidate pick item on the aisle-based list; generating, by the computing system, a pallet build instruction based on the picking sequence of the aisle-based list, wherein the pallet build instruction indicates that a subset of the layers of the pallet have the same build order that allows them to be assembled in interchangeable positions when the pallet is built according to the pallet build instruction; and transmitting data representing the pallet build instructions to an automated layer picker, the instructions, when executed by the automated layer picker, causing the automated layer picker to automatically perform operations including: (i) moving to an aisle in the automated warehouse that has a certain relationship to the aisle-based list; (ii) picking items in the aisle based on a picking sequence of the aisle-based list; and (iii) assembling the picked items on the pallet based on a set of coordinates in the pallet build instructions that indicate a location on the pallet where each of the picked items should be placed; The strength information includes a maximum weight load that the first candidate pick-up item can support without being crushed, wherein the maximum weight load is determined by the computing system in a process comprising the following operations: determining a supplier-supplied load on a bottom layer of a pallet having the first candidate item, wherein the supplier-supplied load is the weight of each layer multiplied by the number of layers on the pallet minus one; and The maximum weight load is determined based on applying a margin threshold multiplier to the supplier-supplied load.

2. The method according to claim 1, further comprising: receiving, by the computing system and from a warehouse vehicle, a request for a new task; as well as The picking sequence for each of the pallets to be built is transmitted by the computing system and to the warehouse vehicle, wherein the picking sequence lists candidate items to be picked in order from a rear portion of the automated warehouse to the front portion of the automated warehouse. 3 . The method of claim 1 , further comprising determining, by the computing system and based on the sorted lane-based list, a number of trays to be built per lane.

4. The method of claim 1 , wherein the maximum weight load is determined by the computing system in a process further comprising: receiving data representing the pallet having the first candidate picking item from a supplier; identifying a number of layers of said first candidate picking items on said pallet based on processing said received data; and The weight of each layer on the pallet is identified based on processing the received data. The method of claim 1 , wherein the margin threshold multiplier is 1.

2.

6. The method of claim 1 , further comprising, in response to determining that the first candidate pick item can support the determined amount of weight: selecting, by the computing system, a second candidate pick item at the top of the aisle-based list; adding, by the computing system, the second candidate pick item to the bottom layer of the tray below the first candidate pick item; retrieving, by the computing system, strength information of the second candidate picking item; determining, by the computing system, from the aisle-based list, an amount of weight of candidate pick items that can be placed on top of the first candidate pick item; determining, by the computing system, whether the second candidate picking item is capable of supporting the weight of the first candidate picking item; in response to determining that the second candidate pick item is capable of supporting the weight, maintaining, by the computing system, the second candidate pick item in the picking sequence as the bottom layer of the tray and removing the second candidate pick item from the aisle-based list; as well as In response to determining that the second candidate pick item is unable to support the weight, removing, by the computing system, the second candidate pick item from the picking sequence as the bottom layer of the tray and maintaining the second candidate pick item on the aisle-based list.

7. The method of claim 1, wherein the first candidate picking item is closest to the front of the automated warehouse.

8. The method according to claim 1, further comprising: determining, by the computing system, whether the pallet having the first candidate pick item as the bottom layer exceeds a height threshold; In response to determining that the tray exceeds the height threshold, removing, by the computing system, the first candidate pick item as the bottom layer from the picking sequence and maintaining the first candidate pick item in the aisle-based list; as well as In response to determining that the tray does not exceed the height threshold, maintaining, by the computing system, the first candidate pick item in the picking sequence as the bottom tier and removing the first candidate pick item from the aisle-based list.

9. The method of claim 8, wherein the height threshold is 60 inches.

10. The method according to claim 1, further comprising: determining, by the computing system, whether to generate a picking sequence for a partial pallet based on the aisle-based list; as well as In response to determining that the picking sequence is generated for partial pallets, instructions are generated by the computing system to combine one or more of the partial pallets.

11. The method according to claim 1, further comprising: identifying, by the computing system and for each in the lane-based list, a scoop candidate pick item having at least a minimum threshold number of the candidate pick items to fulfill the pick order request; moving, by the computing system, the scooping candidate pick item to the pick sequence as the bottom layer of the pallet; removing, by the computing system, the scooping candidate pick-up item from the channel-based list; identifying, by the computing system, a first item in the channel-based list as a complete layer; identifying, by the computing system, a second item in the channel-based list as a partial layer; moving, by the computing system, the first item to the top of the aisle-based list; moving, by the computing system, the second item to an end of the aisle-based list; sorting, by the computing system, the first items based on location from the front to the back of the automated warehouse; sorting, by the computing system, the second items based on location from the front to the back of the automated warehouse; as well as Determining, by the computing system and for each of the first item and the second item, first and second sequences in which the first and second items can be picked to build the pallet having the scoop candidate pick item as the bottom layer.

12. The method of claim 11, wherein the minimum threshold quantity of the candidate picking items comprises a current available quantity on a source pallet of the candidate picking items, the current available quantity having half or more of the picking quantity of the candidate picking items in the picking order request.

13. The method according to claim 11, further comprising: identifying, by the computing system, a plurality of scoop candidate pick-up items from a plurality of source pallets; as well as One of the plurality of scoop candidate pick items is selected, by the computing system, from among the source pallets of the plurality of scoop candidate pick items based at least in part on the selected scoop candidate pick item having a greatest number of the scoop candidate pick items on a source pallet.

14. The method of claim 1, further comprising: generating, by the computing system, pallet build instructions based on a picking sequence of the aisle-based list; and Data representing the pallet building instructions are transmitted to a computing device of a warehouse worker, the instructions, when executed by the computing device, causing the computing device to output the pallet building instructions in a graphical user interface (GUI) display at the computing device, wherein the pallet building instructions include, for each item in the aisle-based list: (i) routing the warehouse worker to a location of an item to be picked based on the picking sequence of the aisle-based list; and (ii) several sets of coordinates indicating where each picked item should be placed on the pallet to assemble the pallet based on the picking sequence.

15. A system for determining a pallet build sequence in an automated warehouse, the system comprising: one or more processors; and A memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: receiving a pick order request, wherein the pick order request includes a list of items to be picked and a quantity of each of the items to be picked; Based on the picking sequence request, identifying candidate picking items in the automated warehouse that can be used to implement the picking sequence request; grouping the identified candidate picking items based on aisles; generating a lane-based list for each of the identified groups of candidate pick-up items; sorting each of the aisle-based lists based on a location of each of the identified candidate picking items in each of the groups relative to a front of the automated warehouse, wherein a first candidate picking item closest to the front of the automated warehouse is placed at a top of the aisle-based list; For each of the channel-based lists, iteratively perform the following operations: selecting a first candidate pick item at the top of the aisle-based list; adding the first candidate picking item to a bottom layer of the tray; Retrieving strength information of the first candidate picking item; determining from the aisle-based list an amount of weight of candidate pick items that can be placed on top of the first candidate pick item; determining whether the first candidate pick-up item can support the determined amount of weight based on the determined amount of weight being less than the strength information; in response to determining that the first candidate pick item is capable of supporting the determined amount of weight, maintaining the first candidate pick item in a picking sequence as the bottom layer of the tray and removing the first candidate pick item from the aisle-based list; as well as in response to determining that the first candidate pick item is unable to support the determined amount of weight, removing the first candidate pick item from the picking sequence as the bottom layer of the tray and maintaining the first candidate pick item on the aisle-based list; generating a pallet build instruction based on the picking sequence of the aisle-based list, wherein the pallet build instruction indicates that a subset of the layers of the pallet have the same build order that allows them to be assembled in interchangeable positions when the pallet is built according to the pallet build instruction; and transmitting data representing the pallet build instructions to an automated layer picker, the instructions, when executed by the automated layer picker, causing the automated layer picker to automatically perform operations comprising: (i) moving to an aisle in the automated warehouse that has a relationship to the aisle-based list; (ii) picking items in the aisle based on a picking sequence of the aisle-based list; and (iii) assembling the picked items on the pallet based on a set of coordinates in the pallet build instructions that indicate a location on the pallet where each of the picked items should be placed; wherein the strength information comprises a maximum weight load that the first candidate picked item can support without being crushed, wherein the maximum weight load is determined by the computing system in a process comprising the following operations: determining a supplier-supplied load on a bottom layer of a pallet having the first candidate item, wherein the supplier-supplied load is the weight of each layer multiplied by the number of layers on the pallet minus one; and The maximum weight load is determined based on applying a margin threshold multiplier to the supplier-supplied load.

16. The system of claim 15, wherein the operations further comprise: receiving a request for a new task from a warehouse vehicle; as well as The picking sequence for each of the pallets to be built is transmitted to the warehouse vehicle, wherein the picking sequence lists candidate items to be picked in order from a rear portion of the automated warehouse to the front portion of the automated warehouse.

17. The system of claim 15, wherein the operations further comprise determining a number of trays to be built per lane based on the sorted lane-based list.

18. The system of claim 15, wherein the operations further comprise determining the maximum weight load based on: receiving data representing the pallet having the first candidate picking item from a supplier; identifying a number of layers of said first candidate picking items on said pallet based on processing said received data; and The weight of each layer on the pallet is identified based on processing the received data.

19. The system of claim 15, wherein the operations further comprise, in response to determining that the first candidate pick item can support the determined amount of weight: selecting a second candidate pick item at the top of the aisle-based list; adding the second candidate pick item to the bottom layer of the tray below the first candidate pick item; retrieving strength information of the second candidate picking item; determining from the aisle-based list an amount of weight of candidate pick items that can be placed on top of the first candidate pick item; determining whether the second candidate picking item is capable of supporting the weight of the first candidate picking item; in response to determining that the second candidate pick item is capable of supporting the weight, maintaining the second candidate pick item in the picking sequence as the bottom layer of the tray and removing the second candidate pick item from the aisle-based list; as well as In response to determining that the second candidate pick item is unable to support the weight, removing the second candidate pick item from the picking sequence as the bottom layer of the tray and maintaining the second candidate pick item on the aisle-based list.

20. The system of claim 15, wherein the operations further comprise: generating pallet build instructions based on a picking sequence of the aisle-based list; and Data representing the pallet building instructions are transmitted to a computing device of a warehouse worker, the instructions, when executed by the computing device, causing the computing device to output the pallet building instructions in a graphical user interface (GUI) display at the computing device, wherein the pallet building instructions include, for each item in the aisle-based list: (i) routing the warehouse worker to a location of an item to be picked based on the picking sequence of the aisle-based list; and (ii) several sets of coordinates indicating where each picked item should be placed on the pallet to assemble the pallet based on the picking sequence.

Citation Information

Patent Citations

  • Warehouse rack space optimization

    CN108292381A

  • Autonomous condensing of pallets of items in a warehouse

    CN109195885A