The delivery of products to stores from distribution centers has many steps that are subject to errors and inefficiencies. When the order from the customer is received, at least one pallet is loaded with the specified products according to a “pick list.”
For example, the products may be cases of beverage containers (e.g. cartons of cans and beverage crates containing bottles or cans, etc). There are many different permutations of flavors, sizes, and types of beverage containers delivered to each store. When building pallets, missing or mis-picked product can account for significant additional operating costs.
The loaded pallet(s) are then loaded on a truck, along with pallets for other stores. Misloaded pallets cause significant time delays to the delivery route since the driver will have to rearrange the pallets during the delivery process with potentially limited space in the trailer to maneuver. Extra pallets on trucks can also cause additional loading times to find the errant pallet and re-load it on the correct trailer
At the store, the driver unloads the pallet(s) designated for that location. Drivers often spend a significant amount of time waiting in the store for a clerk to become available to check in the delivered product by physically counting it. During this process the clerk ensures that all product ordered is being delivered. The driver and clerk often break down the pallet and open each case to scan one UPC from every unique flavor and size. After the unique flavor and size is scanned, both the clerk and driver count the number of cases or bottles for that UPC. This continues until all product is accounted for on all the pallets. Clerks are typically busy helping their own customers which forces the driver to wait until a clerk becomes available to check-in product.
The improved delivery system provides improvements to several phases of the delivery process. Although these improvements work well when practiced together, fewer than all, or even any one of these improvements could be practiced alone to some benefit.
The improved delivery system facilitates order accuracy from the warehouse to the store by combining machine learning and computer vision software with a serialized (RFID/Barcode) shipping pallet. Pallet packing algorithms are based on the product mix and warehouse layout.
Electronic order accuracy checks are done while building pallets, loading pallets onto trailers and delivering pallets to the store. When building pallets, the delivery system validates the build to ensure the correct product SKUs are being loaded on the correct pallet according to the pick list. Once the pallet is built the overall computer vision sku count for that specific pallet is compared against the pick list for that specific pallet to ensure the pallet is built correctly. This may be done prior to the pallet being stretch wrapped thus mitigating the cost of unwrapping of the pallet to audit and correct. This also prevents shortages and overages at the delivery point thus preventing the driver from having to bring back excess or make additional trips to deliver missing product.
An optimized queue system may then be used to queue and load pallets onto the trailer in the correct reverse-stop sequence (last stop is loaded onto the trailer first). An electronic visual control showing which pallet is to be loaded on which trailer will be visible to the loader, e.g: Loading pallet #3 on Dock #4 . . . .
The system will also decrease the time for the receiver at the delivery point (e.g. store) to check-in the product through a combination of checks that build trust at the delivery point. This is done through conveyance of the computer vision images of the validated SKUs on the pallet before it left the warehouse and upon delivery to the store. This can be a comparison of single images or a deep machine learning by having the image at the store also electronically identify the product SKUs. Delivery benefits include significantly reducing costs associated with waiting and checking product in at the store level and a verifiable electronic ledger of what was delivered for future audit.
The delivery system will utilize a mobile device that the driver or receiver will have that takes one or more still images of the pallet (for example, 4, i.e. 1 on each side). The image(s) can then be compared electronically to the control picture from the warehouse and physically by the clerk. The clerk can electronically sign off that all product SKUs are there against their pick list. Different levels of receipt will be available for the clerk to approve. Validation at the store can be simple pallet serial scan via RFID/Barcode and GPS coordinates against the delivery, pallet image compare and/or sku validation through a machine learning computer vision algorithm called from the mobile device.
Each distribution center 12 includes one or more pick stations 30 each associated with a validation station 32. Each validation station 32 is associated with a loading station 34, such as a loading dock for loading the trucks 18.
Each distribution center 12 may have a plurality of loading stations 34. Each distribution center 12 includes a DC computer 26. The DC computer 26 receives orders 60 from the stores 16 and communicates with a central server 14. Each DC computer 26 receives orders and generates pick sheets 64, each of which stores SKUs and associates them with pallet ids. Alternatively, the orders 60 can be sent from the DC computer 26 to the central server 14 for generation of the pick sheets 64, which are synched back to the DC computer 26.
Some or all of the distribution centers 12 may include a training station 28 for generating image information and other information about new products 20 which can be transmitted to the central server 14 for analysis and future use.
The central server 14 may include a plurality of distribution center accounts 40, including DC1-DCn, each associated with a distribution center 12. Each DC account 40 includes a plurality of store accounts 42, including store 1-store n. The orders 60 and pick sheets 64 for each store are stored in the associated store account 42. The central server 14 further includes a machine learning model including a plurality of SKU files 44, including SKU 1-SKUn. The model is periodically synched to the DC computers 26.
The SKU files 44 each contain information for a SKU. A “SKU” may be a single variation of a product that is available from the distribution center 12 and can be delivered to one of the stores 16. For example, each SKU may be associated with a particular number of containers (e.g. 12 pack) in a particular form (e.g. can v bottle), with particular packaging (cardboard vs reusable plastic crate, etc), having a particular flavor, and a particular size (e.g. 24 ounces). This information is contained in each SKU file 44 along with the name of the product, a description of the product, dimensions of the product, and image information for the product. Each SKU file 44 may also include the weight of the product. Image information may be further decomposed into text and color information. It is also possible that more than one variation of a product may share a single SKU, such as where only the packaging, aesthetics, and outward appearance of the product varies, but the content and quantity is the same. For example, sometimes promotional packaging may be utilized, which would have different image information for a particular SKU. In general, all the SKU files 44 including their associated image information, may be generated through the training module 28.
Referring also to the flowchart in
Workers place items 20 on the pallets 22 according to the pick sheets 64, and report the palled ids to the DC computer 26 in step 154. The DC computer 26 dictates merchandizing groups and sub groups for loading items 20a, b on the pallets 22 in order to make unloading easier at the store. In the example shown, the pick sheets 64 dictate that products 20a are on one pallet 22 while products 20b are on another pallet 22. For example, cooler items should be grouped, and dry items should be grouped. Splitting of package groups is also minimized to make unloading easer. This makes pallets 22 more stable too.
After one pallet 22 is loaded, the next pallet 22 is brought to the pick station 30, until all of the SKUs required by the pick sheet 64 are loaded onto as many pallets 22 as required by that pick sheet 64. Pallets 22 are then loaded for the next pick sheet 64. The DC computer 26 records the pallet ids of the pallet(s) 22 that have been loaded with particular SKUs for each pick sheet 64. The pick sheet 64 may associate each pallet id with each SKU.
After being loaded, each loaded pallet 22 is validated at the validation station 32, which may be adjacent to or part of the pick station 30. As will be described in more detail below, at least one still image, and preferably several still images or video, of the products 20 on the pallet 22 is taken at the validation station 32 in step 156. The pallet id of the pallet 22 is also read. The images are analyzed to determine the SKUS of the products 20 that are currently on the identified pallet 22 in step 158. The SKUs of the products 20 on the pallet 22 are compared to the pick sheet 64 by the DC computer 26 in step 160, to ensure that all the SKUs associated with the pallet id of the pallet 22 on the pick sheet 64 are present on the correct pallet 22, and that no additional SKUs are present. Several ways are of performing the aforementioned steps are disclosed below.
First, referring to
In one implementation, the camera 68 is recording video (or a continuously changing image), while the turntable 67 is rotating. When the camera 68 detects that the two outer ends of the pallet 22 are equidistant (or otherwise that the side of the pallet 22 facing the camera 68 is perpendicular to the camera 68 view), the camera 68 records a still image. The camera 68 can record four still images in this manner, one of each side of the pallet 22.
The rfid reader 70 (or barcode reader, or the like) reads the pallet id (a unique serial number) from the pallet 22. The wrapper 66a includes a local computer 74 in communication with the camera 68 and rfid reader 70. The computer 74 can communicate with the DC computer 26 (and/or server 14) via a wireless network card 76. The image(s) and the pallet id are sent to the server 14 via the network card 76 and associated with the pick list 64 (
As an alternative, the turntable 67, camera 68, rfid reader 70, and computer 74 of
Alternatively, referring to
Alternatively, referring to
Other ways can be used to gather images of the loaded pallet. In any of the methods, the image analysis and/or comparison to the pick list is performed on the DC computer 26, which has a copy of the machine learning model. Alternatively, the analysis and comparison can be done on the server 14, locally on a computer 74, or on the mobile device 78, or on another locally networked computer.
As mentioned above, the camera 68 (or the camera on the mobile device 78) can be a depth camera, i.e. it also provides distance information correlated to the image (e.g. pixel-by-pixel distance information or distance information for regions of pixels). Depth cameras are known and utilize various technologies such as stereo vision (i.e. two cameras) or more than two cameras, time-of-flight, or lasers, etc. If a depth camera is used, then the edges of the products stacked on the pallet 22 are easily detected (i.e. the edges of the entire stack and possibly edges of individual adjacent products either by detecting a slight gap or difference in adjacent angled surfaces). Also, the depth camera 68 can more easily detect when the loaded pallet 22 is presenting a perpendicular face to the view of the camera 68 for a still image to be taken.
However the image(s) of the loaded pallet 22 are collected, the image(s) are then analyzed to determine the sku of every item 20 on the pallet 22 in step 158 (
The package type of each item 20 is identified by the computer, such as reusable beverage crate, corrugated tray with translucent plastic wrap, or fully enclosed cardboard or paperboard box. The branding of each item 20 is also identified by the computer (e.g. a specific flavor from a specific manufacturer), such as by reading the images/text on the packaging. The packaging may be identified first, thus narrowing the list of possible branding options to be identified. Or vice versa, the branding could be determined and used to narrow the possible packaging options to be identified. Alternatively, the branding and packaging could be determined independently and cross-referenced afterward for verification. In any method, if one technique leads to an identification with more confidence, that result could take precedence over a contrary identification. For example, if the branding is determined with low confidence and the packaging is determined with high confidence, and the identified branding is not available in the identified packaging, the identified packaging is used and the next most likely branding that is available in the identified packaging is then used.
After individual items 20 are identified on each of the four sides of the loaded pallet 22, based upon the known dimensions of the items 20 and pallet 22, duplicates are removed, i.e. it is determined which items are visible from more than one side and appear in more than one image. If some items are identified with less confidence from one side, but appear in another image where they are identified with more confidence, the identification with more confidence is used.
For example, if the pallet 22 is a half pallet, its dimensions would be approximately 40 to approximately 48 inches by approximately 20 to approximately 24 inches, including the metric 800 mm×600 mm Standard size beverage crates, beverage cartons, and wrapped corrugated trays would all be visible from at least one side, most would be visible from at least two sides, and some would be visible on three sides.
If the pallet 22 is a full-size pallet (e.g. approximately 48 inches by approximately 40 inches, or 800 mm by 1200 mm), most products would be visible from one or two sides, but there may be some products that are not visible from any of the sides. The dimensions and weight of the hidden products can be determined as a rough comparison against the pick list. Optionally, stored images (from the SKU files) of SKUs not matched with visible products can be displayed to the user, who could verify the presence of the hidden products manually.
The computer vision-generated sku count for that specific pallet 22 is compared against the pick list 64 to ensure the pallet 22 is built correctly. This may be done prior to the loaded pallet 22 being wrapped thus preventing unwrapping of the pallet 22 to audit and correct. If the built pallet 22 does not match the pick list 64 (step 162), the missing or wrong SKUs are indicated to the worker (step 164), e.g. via a display (e.g.
If the loaded pallet 22 is confirmed, positive feedback is given to the worker (e.g.
After the loaded pallet 22 has been validated, it is moved to a loading station 34 (
A computer (DC computer 26, server 14, or another) determines efficient routes to be driven by each truck 18 to visit each store 16 in the most efficient sequence, the specific loaded pallets 22 that must go onto each truck 18, and the order in which the pallets 22 should be loaded onto the trucks 18.
As shown in
Referring to
When a group of loaded pallets 22 (two or more) is going to the same store 16, the loaded pallets 22 within this group can be loaded onto the truck 18 in any order. The display 82 may indicate the group of loaded pallets 22 and the loaded pallets 22 within this group going to the same store 16 will be approved by the rfid reader 86 and display 82 in any order within the group.
Referring to
Referring to
At each store 16 the driver's mobile device 50 indicates which of the loaded pallets 22 (based upon their pallet ids) are to be delivered to the store 16 (as verified by gps on the mobile device 50). The driver verifies the correct pallet(s) for that location with the mobile device 50 that checks the pallet id (rfid, barcode, etc). The driver moves the loaded pallet(s) 22 into the store 16 with the pallet sled 24.
Referring to
The pallet sled 24 can also assist in tracking the return of the pallets 22 and returnable packaging such as plastic beverage crates 98. If the returnable packaging, such as plastic beverage crates 98, have rfid tags 96, the pallet sled 24 can count the number of crates 98 and the pallets 22 that are being returned to the truck 18. Over time, this can provide asset tracking information. For example, this makes it easy to determine if the number of pallets 22 and crates 98 delivered to a particular store 16 consistently exceeds the number of pallets 22 and crates 98 that are returned from that store 16, thus indicating that the store 16 is experiencing a high rate of asset loss for some reason, which can then be investigated and remedied.
One of several methods can then be followed at the store.
In the first method, the driver removes the wrapping from the loaded pallets 22 and uses the mobile device 50 in the store 16 to take at least one, and preferably several still images or video of the loaded pallet 22 (
If a discrepancy is detected (step 180), the system indicates the specific discrepancy and how to remedy the discrepancy to the driver in step 182. The driver can correct the discrepancy by retrieving products 20 of the missing SKUs from the truck 18 or crediting the missing SKUs to the store account 42 (step 184). Any SKUs detected that do not belong on the pallets 22 can be returned by the driver to the truck 18. On the store worker's mobile device 52 (via an app), the store worker confirms the presence of the loaded pallet 22 and receives a list of SKUs associated with that pallet id from the distribution center computer 26 or the server 14.
If one or more SKUs do not match, the driver is shown the screen of
Referring to
In the second method, the driver images the loaded pallets 22 (again, one or more still images or video of each loaded pallet 22) before unwrapping them. The images 62 are sent from the mobile device 50 to the distribution center computer 26 or server 14. The distribution center computer 26 or central server 14 analyzes the images by identifying the SKUs through the stretch wrapping, which is translucent. Alternatively, rather than a full, fresh identification of the SKUs on the loaded pallet 22, all that is needed is a confirmation that nothing on the previously-validated loaded pallet 22 has been changed. For example, knowing the previous arrangement of each SKU on the pallets 22 and the specific packaging of each SKU (for SKUs that may have more than one possible package), it is easier to identify that those SKUs are still in the same location and arrangement as they were when validated at the DC 12.
Additionally, if images of the loaded pallets 22 were also taken after wrapping, the DC computer 26 and/or server 14 can also verify that the wrapping is relatively undisturbed. Alternatively, determining that the wrapping is undisturbed may be done without identifying the SKUs beneath, and if the wrapping is too disturbed, then the driver is notified to remove the wrapping and to image the loaded pallets 22 unwrapped for a full image analysis. Again, the store worker confirms the presence of the loaded pallet 22 and receives a list of SKUs associated with that pallet id from the distribution center computer 26 or the server 14.
Alternatively, the image(s) can simply be compared as an image to the image(s) taken at the distribution center, without actually identifying the skus in the image(s). If the image(s) at the store are similar enough to the image(s) taken at validation, the accuracy of the delivery can be confirmed. This can be done by comparing the unwrapped images to one another or by comparing the wrapped images to one another. However, this would not enable the driver to correct the missing skus as easily. Therefore, if it is determined that the images are not similar enough to the validation images, then a new SKU identification based upon images of the unwrapped loaded pallet 22 at the store 16 could be initiated at that time.
In a third method, the store worker has gained trust in the overall system 10 and simply confirms that the loaded pallet 22 has been delivered to the store 16, without taking the time to go SKU by SKU and compare each to the list that he ordered and without any revalidation/imaging by the driver. In that way, the driver can immediately begin unloading the products 20 from the pallet 22 and placing them on shelves 54 or in coolers 56, as appropriate. This greatly reduces the time of delivery for the driver.
Each of the cameras 106 or 126 can be a depth camera, i.e. it also provides distance information correlated to the image (e.g. pixel-by-pixel distance information or distance information for regions of pixels). Depth cameras are known and utilize various technologies such as stereo vision (i.e. two cameras) or more than two cameras, time-of-flight, or lasers, etc. If a depth camera is used, then the edges of the product 20 are easily detected.
In one possible implementation of either training station 28 or 28a, shown in
Whichever method is used to obtain the images of the items, the images of the items are received in step 190 of
The virtual pallets are built based upon a set of configurable rules, including, the dimensions of the pallet 22, the dimensions of the products 20, number of permitted layers (such as four, but it could be five or six), layer restrictions regarding which products can be on which layers (e.g. certain bottles can only be on the top layer), etc. The image of each virtual pallet is sized to be a constant size (or at least within a particular range) and placed on a virtual background, such as a warehouse scene. There may be a plurality of available virtual backgrounds from which to randomly select.
The virtual pallet images are sent to the machine learning model 138 along with the bounding boxes indicating the boundaries of each product on the image and the SKU associated with each product. The virtual pallet images along with the bounding boxes and associated SKUs constitute the training data for the machine learning model.
In step 196, the machine learning model 138 analyzes the images of the virtual pallets based upon the location, boundary, and sku tag information. The machine learning model 140 is updated and stored. The machine learning model 142 is deployed and used in conjunction with the validation stations 32 (
In accordance with the provisions of the patent statutes and jurisprudence, exemplary configurations described above are considered to represent preferred embodiments of the inventions. However, it should be noted that the inventions can be practiced otherwise than as specifically illustrated and described without departing from its spirit or scope. Alphanumeric identifiers on method steps are solely for ease in reference in dependent claims and such identifiers by themselves do not signify a required sequence of performance, unless otherwise explicitly specified.
Number | Name | Date | Kind |
---|---|---|---|
5730252 | Herbinet | Mar 1998 | A |
6026378 | Onozaki | Feb 2000 | A |
6626634 | Hwang et al. | Sep 2003 | B2 |
6721762 | Levine | Apr 2004 | B1 |
7097045 | Winkler | Aug 2006 | B2 |
7698179 | Leung | Apr 2010 | B2 |
7739147 | Branigan | Jun 2010 | B2 |
7865398 | Schon | Jan 2011 | B2 |
7882366 | Sen et al. | Feb 2011 | B2 |
8494673 | Miranda | Jul 2013 | B2 |
8892241 | Weiss | Nov 2014 | B2 |
8978984 | Hennick et al. | Mar 2015 | B2 |
9171278 | Kong et al. | Oct 2015 | B1 |
9373098 | Nashif | Jun 2016 | B2 |
9505554 | Kong | Nov 2016 | B1 |
9725195 | Lancaster, III et al. | Aug 2017 | B2 |
9727840 | Berhardt | Aug 2017 | B2 |
9821344 | Zsigmond | Nov 2017 | B2 |
9826213 | Russell | Nov 2017 | B1 |
10005581 | Lancaster, III et al. | Jun 2018 | B2 |
10089509 | Nachtrieb | Oct 2018 | B2 |
10217075 | Ward | Feb 2019 | B1 |
10227152 | Lancaster, III et al. | Mar 2019 | B2 |
10229487 | Goyal et al. | Mar 2019 | B2 |
10346987 | Landman | Jul 2019 | B1 |
10347095 | Mattingly | Jul 2019 | B2 |
10491881 | Russell et al. | Nov 2019 | B1 |
10607182 | Shah | Mar 2020 | B2 |
10616553 | Russell et al. | Apr 2020 | B1 |
10621457 | Schimmel | Apr 2020 | B2 |
10627244 | Lauka | Apr 2020 | B1 |
10643038 | McCalib, Jr. et al. | May 2020 | B1 |
10724973 | Paresi | Jul 2020 | B2 |
10769806 | Driegen et al. | Sep 2020 | B2 |
10796423 | Goja | Oct 2020 | B2 |
10845499 | Paresi | Nov 2020 | B2 |
20040069850 | De Wilde | Apr 2004 | A1 |
20040220694 | Stingel, III et al. | Nov 2004 | A1 |
20050246056 | Marks | Nov 2005 | A1 |
20060187041 | Olsen | Aug 2006 | A1 |
20120057022 | Nechiporenko | Mar 2012 | A1 |
20160110630 | Heusch | Apr 2016 | A1 |
20180273226 | Lancaster, III et al. | Sep 2018 | A1 |
Number | Date | Country |
---|---|---|
20100051156 | Dec 2012 | KR |
2010123458 | Oct 2010 | WO |
Entry |
---|
International Search Report for International Application No. PCT/US2020/016007 dated Apr. 9, 2020. |
Number | Date | Country | |
---|---|---|---|
20200273131 A1 | Aug 2020 | US |
Number | Date | Country | |
---|---|---|---|
62896353 | Sep 2019 | US | |
62810314 | Feb 2019 | US |