IP Library Granted Patent US 12,522,452
Granted Patent B2
US 12,522,452 · App. 17/944,606 · Granted Jan 13, 2026

Methods and apparatus for automatic item placement

Inventors: Kunlei Lian (Bentonville, AR); Cai Gao (Sunnyvale, CA); Cong Guo (San Ramon, CA); Mingang Fu (Palo Alto, CA)
Assignee: Walmart Apollo, LLC
B65G65/005B65G57/22B65G2201/025B65G2203/0225B65G2203/0233
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,522,452
App. No.
17/944,606
Granted
Jan 13, 2026
Kind
B2
Abstract

This application relates to automated processes for assigning item containers, such as boxes, to a location on a shipping container, such as a pallet. For example, a computing device may receive an item assignment request identifying a plurality of item containers, and determines a subset of the plurality of item containers for assigning to a layer of a shipping container. Further, the computing device determines a plurality of positions and a plurality of orientations for each of the subset of the plurality of item containers. The computing device also assigns the subset of the plurality of item containers to the layer of the shipping container based on the plurality of positions and the plurality of orientations. The computing device further generates an item assignment response identifying the assignments of the plurality of item containers, and transits the item assignment response for display.

Claims (77)

1 . A system comprising:

at least one processor; and

a non-transitory machine readable medium storing instructions that, when executed, cause the at least one processor to:

receive, from a remote device over a network, an item assignment request identifying a plurality of item containers to be assigned to a shipping container;

in response to receiving the item assignment request:

receive, from a database, item container data characterizing a plurality of attributes of the plurality of item containers;

generate a first node identifying a configuration of a first layer of a plurality of layers for the shipping container based on an initial position of a plurality of positions and an initial orientation of a plurality of orientations of the plurality of item containers;

generate a plurality of neighboring nodes identifying corresponding configurations of the first layer based on adjusting at least one of the plurality of positions and the plurality of orientations;

generate, for each configuration of the first layer identified by the first node and the plurality of neighboring nodes, a fitness value based on an amount of gap space and a height range of the configuration;

select a configuration of the first layer identified by the first node and the plurality of neighboring nodes based on the fitness values;

determine a first weight of the first layer based on at least a first of the plurality of attributes of the plurality of item containers;

determine a first strength of the first layer based on at least a second of the plurality of attributes of the plurality of item containers;

determine an order of the first layer and a second layer of the plurality of layers based on the first weight, the first strength, a second weight of the second layer, and a second strength of the second layer;

generate assignment data characterizing an assignment of the plurality of item containers to the first layer of the shipping container based on the selected configuration, wherein the assignment data comprises; a position of the plurality of positions and an orientation of the plurality of orientations for each of the plurality of item containers, and the order of the first layer and the second layer of the plurality of layers; and

transmit, over the network, the assignment data for displaying, at the remote device, the position and the orientation for each of the plurality of item containers for stacking the layer of the shipping container.

2 . The system of claim 1 , wherein the computing device is configured to generate the fitness values based on an amount of gap space in each configuration.

3 . The system of claim 1 , wherein the computing device is configured to:

determine a height range of each of the plurality of neighboring nodes; and

generate the fitness values based on the height range.

4 . The system of claim 3 , wherein the computing device is configured to:

determine that the height range corresponding to at least one of the plurality of neighboring nodes exceeds a predetermined threshold; and

assign the plurality of item containers to the layer of the shipping container in accordance with another of the plurality of neighboring nodes.

5 . The system of claim 1 , wherein the computing device is configured to:

generate item assignment data identifying the assignments of the plurality of item containers; and

store the item assignment data in a data repository.

6 . The system of claim 5 , wherein the computing device is configured to:

receive an item assignment request identifying the plurality of item containers;

in response to the item assignment request, transmit an item assignment response that includes the item assignment data.

7 . A method by at least one processor comprising:

receiving, from a remote device over a network, an item assignment request identifying a plurality of item containers to be assigned to a shipping container;

in response to receiving the item assignment request:

receiving, from a database, item container data characterizing a plurality of attributes of the plurality of item containers;

generating a first node identifying a configuration of a first layer of a plurality of layers for the shipping container based on an initial position of a plurality of positions and an initial orientation of a plurality of orientations of the plurality of item containers;

generating a plurality of neighboring nodes identifying corresponding configurations of the first layer based on adjusting at least one of the plurality of positions and the plurality of orientations;

generating, for each configuration of the first layer identified by the first node and the plurality of neighboring nodes, a fitness value based on an amount of gap space and a height range of the configuration;

selecting a configuration of the first layer identified by the first node and the plurality of neighboring nodes based on the fitness values;

determining a first weight of the first layer based on at least a first of the plurality of attributes of the plurality of item containers;

determining a first strength of the first layer based on at least a second of the plurality of attributes of the plurality of item containers;

determining an order of the first layer and a second layer of the plurality of layers based on the first weight, the first strength, a second weight of the second layer, and a second strength of the second layer;

generating assignment data characterizing an assignment of the plurality of item containers to the first layer of the shipping container based on the selected configuration, wherein the assignment data comprises: a position of the plurality of positions and an orientation of the plurality of orientations for each of the plurality of item containers, and the order of the first layer and the second layer of the plurality of layers; and

transmitting, over the network, the assignment data for displaying, at the remote device, the position and the orientation for each of the plurality of item containers for stacking the layer of the shipping container.

8 . The method of claim 7 , comprising generating the fitness values based on an amount of gap space in each configuration.

9 . The method of claim 7 , comprising:

determining a height range of each of the plurality of neighboring nodes; and

generating the fitness values based on the height range.

10 . The method of claim 9 , comprising:

determining that the height range corresponding to at least one of the plurality of neighboring nodes exceeds a predetermined threshold; and

assigning the plurality of item containers to the layer of the shipping container in accordance with another of the plurality of neighboring nodes.

11 . The method of claim 7 , comprising:

generating item assignment data identifying the assignments of the plurality of item containers; and

storing the item assignment data in a data repository.

12 . The method of claim 11 , comprising:

receiving an item assignment request identifying the plurality of item containers;

in response to the item assignment request, transmitting an item assignment response that includes the item assignment data.

13 . A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by at least one processor, cause a device to perform operations comprising:

receiving, from a remote device over a network, an item assignment request identifying a plurality of item containers to be assigned to a shipping container;

in response to receiving the item assignment request:

receiving, from a database, item container data characterizing a plurality of attributes of the plurality of item containers;

generating a first node identifying a configuration of a first layer of a plurality of layers for the shipping container based on an initial position of a plurality of positions and an initial orientation of a plurality of orientations of the plurality of item containers;

generating a plurality of neighboring nodes identifying corresponding configurations of the first layer based on adjusting at least one of the plurality of positions and the plurality of orientations;

generating, for each configuration of the first layer identified by the first node and the plurality of neighboring nodes, a fitness value based on an amount of gap space and a height range of the configuration;

selecting a configuration of the first layer identified by the first node and the plurality of neighboring nodes based on the fitness values;

determining a first weight of the first layer based on at least a first of the plurality of attributes of the plurality of item containers;

determining a first strength of the first layer based on at least a second of the plurality of attributes of the plurality of item containers;

determining an order of the first layer and a second layer of the plurality of layers based on the first weight, the first strength, a second weight of the second layer, and a second strength of the second layer;

generating assignment data characterizing an assignment of the plurality of item containers to the first layer of the shipping container based on the selected configuration, wherein the assignment data comprises; a position of the plurality of positions and an orientation of the plurality of orientations for each of the plurality of item containers, and the order of the first layer and the second layer of the plurality of layers; and

transmitting, over the network, the assignment data for displaying, at the remote device, the position and the orientation for each of the plurality of item containers for stacking the layer of the shipping container.

14 . The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the at least one processor, cause the device to perform operations comprising generating the fitness values based on an amount of gap space in each configuration.

15 . The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the at least one processor, cause the device to perform operations comprising:

determining a height range of each of the plurality of neighboring nodes; and

generating the fitness values based on the height range.

16 . The non-transitory computer readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the device to perform operations comprising:

determining that the height range corresponding to at least one of the plurality of neighboring nodes exceeds a predetermined threshold; and

assigning the plurality of item containers to the layer of the shipping container in accordance with another of the plurality of neighboring nodes.

17 . The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the at least one processor, cause the device to perform operations comprising:

generating item assignment data identifying the assignments of the plurality of item containers; and

storing the item assignment data in a data repository.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2022
From: LIAN, KUNLEI; GAO, CAI; GUO, CONG; FU, MINGANG
To: WALMART APOLLO, LLC
Reel/Frame 061097/0395 →
Continuity (1)
Related Publication 20240083698A1 · Mar 14, 2024
References Cited (37)
US 5908283A · Huang · 1999 [cited by examiner]
US 7266422B1 · DeMotte · 2007 [cited by examiner]
US 8560461B1 · Tian et al. · 2013 [cited by applicant]
US 11136149B2 · Que et al. · 2021 [cited by applicant]
US 11305430B2 · Fu et al. · 2022 [cited by applicant]
US 11514386B1 · Soles et al. · 2022 [cited by applicant]
US 11681973B1 · Soles et al. · 2023 [cited by applicant]
US 11907889B2 · Soles et al. · 2024 [cited by applicant]
US 12136057B2 · Soles et al. · 2024 [cited by applicant]
US 20070067146A1 · Devarajan et al. · 2007 [cited by applicant]
US 20090169352A1 · Knipfer et al. · 2009 [cited by applicant]
US 20090299790A1 · Devarajan et al. · 2009 [cited by applicant]
US 20150254758A1 · Wadhawan et al. · 2015 [cited by applicant]
US 20190193956A1 · Morland et al. · 2019 [cited by applicant]
US 20190236690A1 · Wadhawan et al. · 2019 [cited by applicant]
US 20200039668A1 · Que et al. · 2020 [cited by applicant]
US 20200334582A1 · Yu · 2020 [cited by examiner]
US 20210012522A1 · Wang et al. · 2021 [cited by applicant]
US 20210150475A1 · Huang et al. · 2021 [cited by applicant]
US 20210276804A1 · Peck · 2021 [cited by applicant]
US 20210354922A1 · Gravelle et al. · 2021 [cited by applicant]
US 20210403254A1 · Ito et al. · 2021 [cited by applicant]
US 20220102133A1 · Dziekonski · 2022 [cited by examiner]
US 20220402133A1 · Pidaparthi et al. · 2022 [cited by applicant]
US 20230042127A1 · Anand P.S et al. · 2023 [cited by applicant]
US 20230241776A1 · Kuck · 2023 [cited by examiner]
US 20230245034A1 · Tomar et al. · 2023 [cited by applicant]
US 20230274218A1 · Soles et al. · 2023 [cited by applicant]
US 20230281557A1 · Tomar et al. · 2023 [cited by applicant]
US 20240002093A1 · Kalus et al. · 2024 [cited by applicant]
US 20240083698A1 · Lian et al. · 2024 [cited by applicant]
US 20240220912A1 · Soles et al. · 2024 [cited by applicant]
CN 103218667A · 2013 [cited by applicant]
CN 113298466A · 2021 [cited by applicant]
CN 113222291B · 2022 [cited by applicant]
R. Alvarez-Valdes et al., “A tabu search algorithm for the pallet loading problem,” Or Spectrum 27(1), (2005), 19 pages. [cited by applicant]
A. Bortfeldt et al., “Applying Tabu Search to Container Loading Problems,” Operations Research Proceedings 1997, Springer, Berlin, Heidelberg, 1998, 8 pages. [cited by applicant]