IP Library Granted Patent US 12,198,100
Granted Patent B2
US 12,198,100 · App. 17/892,478 · Granted Jan 14, 2025

Systems and methods for generating a pick-walk

Inventors: Sakshi Jain (Kanpur, IN); Priyank Vashist (Bengaluru, IN); Abhin Hattikudru (Bangalore, IN); Ankur Kapoor (Bangalore, IN)
Assignee: WALMART APOLLO, LLC
G06Q10/0875G06Q10/047
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,198,100
App. No.
17/892,478
Granted
Jan 14, 2025
Kind
B2
Abstract

A system comprising one or more processors and one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform: receiving requests for at least two pick-walks to fulfill multiple orders; mapping each of the multiple items to respective aisles within at least a single portion of the location; calculating, using core logic, a minimum distance for each one of two or more pick-walks to fulfill the multiple orders, wherein the two or more pick-walks are revised through multiple iterations; generating the at least two pick-walks based on the two or more pick-walks; and transmitting the at least two pick-walks to the at least two pickers. Other embodiments are disclosed.

Claims (106)

1. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform operations comprising:

receiving requests for at least two pick-walks to fulfill multiple orders at a location, wherein each of the multiple orders comprise at least one respective item, wherein the multiple orders comprise multiple items;

mapping each of the multiple items to respective aisles within at least a single portion of the location;

calculating, using core logic, a minimum distance for each one of two or more pick-walks to fulfill the multiple orders based on (i) a respective aisle commonality for each of the two or more pick-walks, (ii) a respective aisle proximity for each of the two or more pick-walks, (iii) a respective volume capacity of each container assigned to each of the two or more pick-walks, and (iv) a respective maximum number of containers assigned to each of the at least two pick-walks, wherein the two or more pick-walks are revised through multiple iterations based on receiving one or more additional items of one or more additional orders until each container assigned to each of the two or more pick-walks is volumetrically maximized with the multiple items of the multiple orders and the one or more additional items of the one or more additional orders;

generating the at least two pick-walks based on the two or more pick-walks, wherein each of the at least two pick-walks identify a respective route for each of at least two pickers to retrieve the multiple items of the multiple orders and the one or more additional items of the one or more additional orders, and wherein each of the at least two pickers retrieve items of a single order of the multiple orders or of the one or more additional orders; and

transmitting the at least two pick-walks to the at least two pickers to cause the at least two pickers to perform the at least two pick-walks, wherein each of the at least two pickers comprise a respective picking robot.

2. The system of claim 1 , wherein:

the operations further comprise:

receiving the multiple orders transmitted in one or more electronic formats, wherein the one or more electronic formats comprise text-based or image-based content;

identifying whether each order of the multiple orders is associated with a time constraint within a predetermined time window, wherein the time constraint comprises a pick-up time; and

prioritizing each order of the multiple orders that exceeds the predetermined time window to be added to the at least two pick-walks based on the time constraint;

the multiple items of the multiple orders are located within the at least the single portion of the location, and

the one or more additional items of the one or more additional orders are located within the at least the single portion of the location.

3. The system of claim 1 , wherein using the core logic comprises:

receiving a list of containers, wherein each container of the list of containers comprises one or more items located on at least one aisle of a set of aisles in the location;

prior to generating a pick-walk of the at least two pick-walks, selecting each container of the list of containers based on at least (i) a minimum number of aisles to retrieve the one or more items in each container and (ii) a minimum relative distance between the minimum number of aisles;

selecting a container of the list of containers based on (i) the respective aisle commonality, and (ii) the respective aisle proximity; and

generating the pick-walk for the at least one aisle of the set of aisles based on selecting the container.

4. The system of claim 3 , wherein the respective aisle commonality comprises:

selecting a container mapped to a subset location of a particular aisle of the set of aisles;

calculating an intersection distance between the subset location and the particular aisle; and

determining a relationship metric between the subset location and the particular aisle, wherein the intersection distance falls below a predetermined threshold.

5. The system of claim 4 , wherein the respective aisle proximity comprises:

determining a proxmity distance between the set of aisles based on a physical layout of the location, wherein the proxmity distance comprises a union of the set of aisles that is less than or equal to a minimum proxmity distance between the set of aisles.

6. The system of claim 1 , wherein calculating the minimum distance for each one of the two or more pick-walks to fulfill the multiple orders comprises:

determining the respective maximum number of containers for each pick-walk of the at least two pick-walks, wherein at least two containers of the respective maximum number of containers are revised in multiple iterations based on receiving the one or more additional items of the one or more additional orders until the at least two containers assigned to each of the two or more pick-walks are volumetrically maximized with the multiple items of the multiple orders and the one or more additional items of the one or more additional orders, and wherein each of the at least two containers volumetrically maximized meets a respective predetermined container volume threshold.

7. The system of claim 1 , wherein the operations further comprise:

prior to generating the at least two pick-walks:

generating, using volumetric logic, a volume of each container assigned to each of the two or more pick-walks based on a respective number of items from each of the multiple orders mapped to a set of aisles, wherein each respective item dimension of the multiple items is aligned with each container dimension of each container assigned to each of the two or more pick-walks to find a maximum quantity of the multiple items to fit each container dimension;

sorting each item of the multiple items in the multiple orders mapped to a respective aisle of the set of aisles until the multiple items of the multiple orders are exhausted; and

when there are one or more items of the multiple orders remaining after the sorting, assigning a new container to exhaust the one or more items of the multiple orders.

8. The system of claim 7 , wherein:

for items of the multiple items ordered in quantities exceeding a size threshold for each container assigned to each of the two or more pick-walks:

determining, using an algorithm, a number of physical configurations in which each item of the items fits into each container dimension of each container assigned to each of the two or more pick-walks;

determining a maximum quantity of the items for each container assigned to each of the two or more pick-walks based on the number of physical configurations, wherein:

when a total volume of each item of the items exceeds a volume threshold of the container then decrease the maximum quantity of the items for each container assigned to each of the two or more pick-walks; and

when the total volume of each item of the items is less than the volume threshold of the container then increase the maximum quantity of the items for each container assigned to each of the two or more pick-walks; and

outputting a minimum container count for the items.

9. The system of claim 1 , wherein the operations further comprise:

prior to generating the at least two pick-walks:

generating, using time window bucketing logic, a bucket metric for a time window, wherein input for generating the bucket metric comprises a timestamp for each container of the respective maximum number of containers, wherein each item of each container of the respective maximum number of containers is part of an order of the multiple orders, and wherein generating the bucket metric for the time window is based on one or more rules;

for each container of the respective maximum number of containers, calculating a respective time window according to a time zone of the location; and

selecting the bucket metric matching the respective time window.

10. The system of claim 1 , wherein generating the at least two pick-walks further comprises:

identifying, using a prioritization logic, a sort order of the two or more pick-walks, wherein input for identifying the sort order comprises a list of pick-walks and a series of parameters;

creating a comparator chain for the sort order, as identified;

sorting the two or more pick-walks based on an output of the comparator chain; and

sequentially assigning each pick-walk of the sort order to the at least two picking robots to retrieve the multiple items of the multiple orders and the one or more additional items of the one or more additional orders based on a time constraint within a predetermined time window.

11. A method being implemented via execution of computing instructions configured to run on one or more processors and stored at one or more non-transitory computer-readable media, the method comprising:

receiving requests for at least two pick-walks to fulfill multiple orders at a location, wherein each of the multiple orders comprise at least one respective item, wherein the multiple orders comprise multiple items;

mapping each of the multiple items to respective aisles within at least a single portion of the location;

calculating, using core logic, a minimum distance for each one of two or more pick-walks to fulfill the multiple orders based on (i) a respective aisle commonality for each of the two or more pick-walks, (ii) a respective aisle proximity for each of the two or more pick-walks, (iii) a respective volume capacity of each container assigned to each of the two or more pick-walks, and (iv) a respective maximum number of containers assigned to each of the at least two pick-walks, wherein the two or more pick-walks are revised through multiple iterations based on receiving one or more additional items of one or more additional orders until each container assigned to each of the two or more pick-walks is volumetrically maximized with the multiple items of the multiple orders and the one or more additional items of the one or more additional orders;

generating the at least two pick-walks based on the two or more pick-walks, wherein each of the at least two pick-walks identify a respective route for each of at least two pickers to retrieve the multiple items of the multiple orders and the one or more additional items of the one or more additional orders, [and] wherein each of the at least two pickers retrieve items of a single order of the multiple orders or of the one or more additional orders; and

transmitting the at least two pick-walks to the at least two pickers to cause the at least two pickers to perform the at least two pick-walks, wherein each of the at least two pickers comprise a respective picking robot.

12. The method of claim 11 , wherein:

the method further comprises:

receiving the multiple orders transmitted in one or more electronic formats, wherein the one or more electronic formats comprise text-based or image-based content;

identifying whether each order of the multiple orders is associated with a time constraint within a predetermined time window, wherein the time constraint comprises a pick-up time; and

prioritizing each order of the multiple orders that exceeds the predetermined time window to be added to the at least two pick-walks based on the time constraint;

the multiple items of the multiple orders are located within the at least the single portion of the location, and

the one or more additional items of the one or more additional orders are located within the at least the single portion of the location.

13. The method of claim 11 , wherein using the core logic comprises:

receiving a list of containers, wherein each container of the list of containers comprises one or more items located on at least one aisle of a set of aisles in the location;

prior to generating a pick-walk of the at least two pick-walks, selecting each container of the list of containers based on at least (i) a minimum number of aisles to retrieve the one or more items in each container and (ii) a minimum relative distance between the minimum number of aisles;

selecting a container of the list of containers based on (i) the respective aisle commonality, and (ii) the respective aisle proximity; and

generating the pick-walk for the at least one aisle of the set of aisles based on selecting the container.

14. The method of claim 13 , wherein the respective aisle commonality comprises:

selecting a container mapped to a subset location of a particular aisle of the set of aisles;

calculating an intersection distance between the subset location and the particular aisle; and

determining a relationship metric between the subset location and the particular aisle, wherein the intersection distance falls below a predetermined threshold, and

wherein the respective aisle proximity comprises:

determining a proxmity distance between the set of aisles based on a physical layout of the location, wherein the proxmity distance comprises a union of the set of aisles that is less than or equal to a minimum proxmity distance between the set of aisles.

15. The method of claim 11 , wherein calculating the minimum distance for each one of the two or more pick-walks to fulfill the multiple orders comprises:

determining the respective maximum number of containers for each pick-walk of the at least two pick-walks, wherein at least two containers of the respective maximum number of containers are revised in multiple iterations based on receiving the one or more additional items of the one or more additional orders until the at least two containers assigned to each of the two or more pick-walks are volumetrically maximized with the multiple items of the multiple orders and the one or more additional items of the one or more additional orders, and wherein each of the at least two containers volumetrically maximized meets a respective predetermined container volume threshold.

16. The method of claim 11 , further comprising:

prior to generating the at least two pick-walks:

generating, using volumetric logic, a volume of each container assigned to each of the two or more pick-walks based on a respective number of items from each of the multiple orders mapped to a set of aisles, wherein each respective item dimension of the multiple items is aligned with each container dimension of each container assigned to each of the two or more pick-walks to find a maximum quantity of the multiple items to fit each container dimension;

sorting each item of the multiple items in the multiple orders mapped to a respective aisle of the set of aisles until the multiple items of the multiple orders are exhausted; and

when there are one or more items of the multiple orders remaining after the sorting, assigning a new container to exhaust the one or more items of the multiple orders.

17. The method of claim 16 , wherein:

for items of the multiple items ordered in quantities exceeding a size threshold for each container assigned to each of the two or more pick-walks:

determining, using an algorithm, a number of physical configurations in which each item of the items fits into each container dimension of each container assigned to each of the two or more pick-walks;

determining a maximum quantity of the items for each container assigned to each of the two or more pick-walks based on the number of physical configurations, wherein:

when a total volume of each item of the items exceeds a volume threshold of the container then decrease the maximum quantity of the items for each container assigned to each of the two or more pick-walks; and

when the total volume of each item of the items is less than the volume threshold of the container then increase the maximum quantity of the items for each container assigned to each of the two or more pick-walks; and

outputting a minimum container count for the items.

18. The method of claim 11 , further comprising:

prior to generating the at least two pick-walks:

generating, using time window bucketing logic, a bucket metric for a time window, wherein input for generating the bucket metric comprises a timestamp for each container of the respective maximum number of containers, wherein each item of each container of the respective maximum number of containers is part of an order of the multiple orders, and wherein generating the bucket metric for the time window is based on one or more rules;

for each container of the respective maximum number of containers, calculating a respective time window according to a time zone of the location; and

selecting the bucket metric matching the respective time window.

19. The method of claim 11 , wherein generating the at least two pick-walks further comprises:

identifying, using a prioritization logic, a sort order of the two or more pick-walks, wherein input for identifying the sort order comprises a list of pick-walks and a series of parameters;

creating a comparator chain for the sort order, as identified;

sorting the two or more pick-walks based on an output of the comparator chain; and

sequentially assigning each pick-walk of the sort order to the at least two picking robots to retrieve the multiple items of the multiple orders and the one or more additional items of the one or more additional orders based on a time constraint within a predetermined time window.

20. One or more non-transitory computer-readable media storing computing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform operations comprising:

receiving requests for at least two pick-walks to fulfill multiple orders at a location, wherein each of the multiple orders comprise at least one respective item, wherein the multiple orders comprise multiple items;

mapping each of the multiple items to respective aisles within at least a single portion of the location;

calculating, using core logic, a minimum distance for each one of two or more pick-walks to fulfill the multiple orders based on (i) a respective aisle commonality for each of the two or more pick-walks, (ii) a respective aisle proximity for each of the two or more pick-walks, (iii) a respective volume capacity of each container assigned to each of the two or more pick-walks, and (iv) a respective maximum number of containers assigned to each of the at least two pick-walks, wherein the two or more pick-walks are revised through multiple iterations based on receiving one or more additional items of one or more additional orders until each container assigned to each of the two or more pick-walks is volumetrically maximized with the multiple items of the multiple orders and the one or more additional items of the one or more additional orders;

generating the at least two pick-walks based on the two or more pick-walks, wherein each of the at least two pick-walks identify a respective route for each of at least two pickers to retrieve the multiple items of the multiple orders and the one or more additional items of the one or more additional orders, and wherein each of the at least two pickers retrieve items of a single order of the multiple orders or of the one or more additional orders; and

transmitting the at least two pick-walks to the at least two pickers to cause the at least two pickers to perform the at least two pick-walks, wherein each of the at least two pickers comprise a respective picking robot.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2023
From: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
To: WALMART APOLLO, LLC
Reel/Frame 063790/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2022
From: JAIN, SAKSHI; VASHIT, PRIYANK; HATTIKUDRU, ABHIN; KAPOOR, ANKUR
To: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
Reel/Frame 060904/0554 →
Continuity (2)
Provisional Application 63244652 · Sep 15, 2021
Related Publication 20230084550A1 · Mar 16, 2023
References Cited (7)
US 10783462B1 · Mo · 2020 [cited by examiner]
US 20190325377A1 · Rajkhowa et al. · 2019 [cited by applicant]
US 20200118061A1 · Jain et al. · 2020 [cited by applicant]
US 20200387154A1 · Sellner · 2020 [cited by examiner]
US 20210032035A1 · Valinsky et al. · 2021 [cited by applicant]
US 20210110334A1 · Singh et al. · 2021 [cited by applicant]
US 20210269244A1 · Ahmann · 2021 [cited by applicant]