IP Library Granted Patent US 12,469,003
Granted Patent B2
US 12,469,003 · App. 17/673,094 · Granted Nov 11, 2025

Method for maintaining perpetual inventory within a store

Inventors: Durgesh Tiwari (San Francisco, CA); Bradley Bogolea (San Francisco, CA); Jariullah Safi (San Francisco, CA); Kanchan Bahirat (San Francisco, CA)
Assignee: Simbe Robotics, Inc.
G06Q10/087G05D1/0094G06F16/906G06F18/21G06K7/1413G06K7/1447G06V20/10G06V20/52G01S7/41G06K2007/10504G06K19/06028
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,469,003
App. No.
17/673,094
Granted
Nov 11, 2025
Kind
B2
Abstract

One variation of a method for maintaining perpetual inventory within a store includes: accessing a radar scan of an inventory structure within a store; accessing an optical image of the inventory structure; identifying a product type associated with the slot in a region of the optical image; retrieving a volumetric definition of the product type; locating a slot volume defining the slot in the radar scan; extracting a volumetric representation of a set of product units intersecting the slot volume in the radar scan; segmenting the volumetric representation by the volumetric definition to calculate a quantity of the set of product units occupying the slot; and updating a stock record of the store to reflect the quantity of the set of product units occupying the slot.

Claims (96)

1 . A method for maintaining perpetual inventory within a store comprises:

accessing a first radar scan of a first inventory structure within a store;

locating a first slot volume defining a first slot in the first radar scan;

retrieving a first volumetric definition of a first product type expected in the first slot;

extracting a first volumetric representation of a first set of product units intersecting the first slot volume in the first radar scan;

segmenting the first volumetric representation by the first volumetric definition to calculate a first quantity of the first set of product units occupying the first slot; and

updating a stock record of the store to reflect the first quantity of the first set of product units occupying the first slot.

2 . The method of claim 1 , wherein locating the first slot volume defining the first slot in the first radar scan comprises:

detecting in the radar scan:

a first product unit;

a first shelf face below and adjacent the first product unit; and

a second shelf face above the first product unit;

correlating a vertical plane at a distal limit of the radar scan with a back of the shelf;

defining a slot width of the first slot centered on and encompassing a width of the first product unit; and

defining the first slot volume bounded by:

the first shelf face;

the second shelf face;

the slot width; and

the back of the shelf.

3 . The method of claim 1 :

further comprising:

accessing a first optical image of the first inventory structure;

detecting the first shelf tag in the first optical image; and

extracting a first product identifier for the first product type, designated by the first shelf tag, from the first shelf tag; and

wherein locating the first slot volume defining the first slot in the first radar scan comprises:

projecting a location of the first shelf tag in the first optical image onto the first radar scan; and

defining the first slot volume relative to the location of the first shelf tag projected onto the first radar scan.

4 . The method of claim 1 , wherein retrieving the first volumetric definition of the first product type expected in the first slot comprises:

querying a planogram of the store for a product type assigned to the first slot;

receiving a first product identifier, of the first product type, assigned to the first slot by the planogram of the store; and

retrieving the first volumetric definition, associated with the first product identifier, from a database of volumetric definitions.

5 . The method of claim 1 :

wherein extracting the first volumetric representation from the first radar scan comprises extracting a first group of points, intersecting the first slot volume and representing the first set of product units, from the first radar scan; and

wherein segmenting the first volumetric representation by the first volumetric definition comprises:

extracting a first cluster of points representing a first product unit in the first set of product units from the first group of points;

aligning the first cluster of points to the first volumetric definition of the first product type;

calculating a first total error between the first cluster of points and product packaging surfaces defined by the first volumetric definition of the first product type;

calculating a first similarity score between the first product unit and the first product type based on the first total error; and

in response to the first similarity score exceeding a threshold similarity:

identifying the first product unit as of the first product type; and

incrementing the first quantity of product units of the first product type occupying the first slot.

6 . The method of claim 1 :

wherein extracting the first volumetric representation from the first radar scan comprises extracting a first group of points, intersecting the first slot volume and representing the first set of product units, from the first radar scan; and

wherein segmenting the first volumetric representation by the first volumetric definition comprises:

extracting a first cluster of points representing a first product unit in the first set of product units from the first group of points;

aligning the first cluster of points to the first volumetric definition of the first product type;

calculating a first total error between the first cluster of points and product packaging surfaces defined by the first volumetric definition of the first product type;

calculating a first similarity score between the first product unit and the first product type based on the first total error; and

in response to the first similarity score falling below a threshold similarity:

identifying the first product unit as distinct from the first product type; and

flagging the first slot for removal of misstocked product units.

7 . The method of claim 1 , further comprising:

calculating an alignment of the first volumetric representation of the first set of product units to the first slot volume;

identifying the first set of product units as disorderly based on a distance between the volumetric representation of the first set of product units and the first slot volume exceeding a threshold distance;

generating a prompt to reorganize the first set of product units on the first inventory structure; and

transmitting the prompt to a computing device of a store associate.

8 . The method of claim 1 , further comprising:

calculating an empty slot volume based on a difference between the first volumetric representation and the first slot volume;

segmenting the empty slot volume by the first volumetric definition to define a restock quantity of the first product type at the first slot; and

flagging the first slot for restocking in response to the restock quantity exceeding a restock threshold.

9 . The method of claim 1 , wherein segmenting the first volumetric representation by the first volumetric definition to calculate the first quantity of the first set of product units occupying the first slot comprises, for each product unit in the first set of product units:

detecting a border of the product unit in the first radar scan;

calculating a nearest alignment of the first volumetric representation of the first product type to the border of the product unit in the first radar scan;

identifying the product unit as of the first product type in response to a distance between the first volumetric representation of the first product type and the border of the product unit falling below a threshold distance; and

in response to identifying the product unit as of the first product type, incrementing the first quantity of product units of the first product type.

10 . The method of claim 1 :

wherein segmenting the first volumetric representation by the first volumetric definition to calculate the first quantity of the first set of product units occupying the first slot further comprises, for each product unit in the first set of product units:

identifying the product unit of other than the first product type in response to the distance between the first volumetric representation of the first product type and the border of the object exceeding the threshold distance; and

in response to identifying the product unit as of other than the first product type, incrementing a second quantity of product units misstocked in the first slot; and

further comprising updating the stock record to reflect the second quantity of product units misstocked in the first slot.

11 . The method of claim 1 , further comprising, for each product unit in the first set of product units:

detecting an orientation of the product unit in the first slot of the first radar scan; and

in response to the orientation of the product unit differing from a target orientation of the product units in the first slot, generating a prompt to investigate the first set of product units in the first slot.

12 . The method of claim 1 , further comprising:

retrieving a target quantity of the first product type assigned to the first slot;

in response to the quantity of the first product type falling below the target quantity by more than a threshold difference, generating a prompt to restock the first slot in the first inventory structure; and

transmitting the prompt to a computing device affiliated with a store associate.

13 . The method of claim 1 , further comprising:

detecting a first shelf face in the first radar scan;

detecting a first cluster of points representing a front face of the first product unit, in the first set of product units occupying the first slot, in the first radar scan;

calculating a first plane intersecting the first cluster of points;

calculating an angular offset between the first plane and the first shelf face;

in response to the angular offset exceeding a threshold offset:

characterizing the first slot as disorganized; and

generating a prompt to reorganize the first slot in the first inventory structure; and

transmitting the prompt to a computing device of a store associate.

14 . The method of claim 1 , further comprising:

detecting a first cluster of points representing a volume of a first product unit in the first radar scan;

extracting a target cluster of points from the volumetric definition of the first product unit;

projecting the target cluster of points onto the first cluster of points;

calculating a transform between the first cluster of points and the target cluster of points;

calculating a skew offset based on the transform;

in response to the skew offset exceeding a threshold skew offset:

characterizing the first slot as disorganized; and

generating a prompt to reorganize the first slot in the first inventory structure; and

transmitting the prompt to a computing device of a store associate.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jan 4, 2024
From: EASTWARD FUND MANAGEMENT, LLC
To: SIMBE ROBOTICS, INC.
Reel/Frame 066023/0126 →
SECURITY INTEREST Recorded May 17, 2023
From: SIMBE ROBOTICS, INC.
To: EASTWARD FUND MANAGEMENT, LLC
Reel/Frame 063669/0757 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2022
From: TIWARI, DURGESH; BOGOLEA, BRADLEY; SAFI, JARIULLAH; BAHIRAT, KANCHAN
To: SIMBE ROBOTICS, INC.
Reel/Frame 059094/0848 →
Continuity (3)
Continuation 17246077 · Apr 30, 2021
Provisional Application 63017780 · Apr 30, 2020
Related Publication 20220172156A1 · Jun 2, 2022
References Cited (20)
US 7693757B2 · Zimmerman · 2010 [cited by examiner]
US 9367831B1 · Besehanic · 2016 [cited by examiner]
US 9665848B1 · Johnson · 2017 [cited by examiner]
US 11288630B2 · Tiwari · 2022 [cited by examiner]
US 11587031B2 · Nobuoka · 2023 [cited by examiner]
US 20090063307A1 · Groenovelt · 2009 [cited by examiner]
US 20140003655A1 · Gopalakrishnan · 2014 [cited by examiner]
US 20150052029A1 · Wu · 2015 [cited by examiner]
US 20150379366A1 · Nomura · 2015 [cited by examiner]
US 20170032311A1 · Rizzolo · 2017 [cited by examiner]
US 20170124508A1 · Wasilewsky · 2017 [cited by examiner]
US 20170193434A1 · Shah · 2017 [cited by examiner]
US 20170286773A1 · Skaff · 2017 [cited by examiner]
US 20170323251A1 · Bode · 2017 [cited by examiner]
US 20180005173A1 · Elazary · 2018 [cited by examiner]
US 20180293543A1 · Tiwari · 2018 [cited by examiner]
US 20200013007A1 · Bogolea · 2020 [cited by examiner]
US 20200074402A1 · Adato · 2020 [cited by examiner]
US 20200111053A1 · Bogolea · 2020 [cited by examiner]
US 20210110139A1 · Adato · 2021 [cited by examiner]