IP Library Granted Patent US 9,205,886
Granted Patent B1
US 9,205,886 · App. 13/463,596 · Granted Dec 8, 2015

Systems and methods for inventorying objects

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 9,205,886
App. No.
13/463,596
Granted
Dec 8, 2015
Kind
B1
Abstract

The present application discloses systems and methods for inventorying objects. In one embodiment, a robot detects an object and sends identification data and location data associated with the detected object to a cloud computing system. The identification data may include an image of the object and/or information from a tag, code, or beacon associated with the object. In response to receiving the identification data and the location data, the cloud computing system identifies the object. The cloud computing system may also determine or create a first map associated with the identified object and a second map associated with the identified object. The first map may be associated with the current location of the object and the second map may correspond to a past location of the object. The cloud computing server may compare the first and second maps, and then send instructions to the robot based on the comparison.

Claims (66)

1. A method comprising:

determining, by a computing system, a first map of an area;

identifying an object in the area by:

receiving, at the computing system from a robotic device, identification data associated with the object, wherein the robotic device includes at least one sensor;

receiving, at the computing system from the robotic device, a location of the object that is associated with the identification data at a first time; and

identifying the object based on the identification data and the location;

responsive to identifying the object in the area, determining, by the computing system, a likelihood that the identified object has been correctly identified;

determining whether to update the first map of the area based on the determined likelihood;

based on determining whether to update the first map, adjusting, by the computing system, the first map of the area to include the identified object at the location;

determining a second map of the area, wherein the second map includes a historical location of the identified object at a second time that is prior to the first time;

comparing the first map and the second map to determine if the location of the identified object is different than the historical location of the identified object;

responsive to the location of the identified object being different than the historical location of the identified object, sending, by the computing system to the robotic device, instructions to cause the robotic device to retrieve the identified object from the location and to move the identified object to the historical location; and

adjusting, by the computing system, the first map based on the identified object being moved to the historical location.

2. The method of claim 1 , wherein the identification data is one of (i) information read from a code, a tag, or a beacon associated with the object, (ii) an image of the object, (iii) metadata derived from the image of the object, (iv) red, green, blue plus depth (RGB-D) data, and (v) voice data.

3. The method of claim 1 , further comprising:

identifying a timestamp associated with the location of the identified object; and

receiving an updated location when a predefined time has passed since the timestamp associated with the location of the identified object.

4. The method of claim 1 , further comprising:

determining a consumption rate of the identified object; and

based on the consumption rate, determining a number of the identified object to purchase.

5. The method of claim 1 , further comprising applying restrictions to the first map that prevent the robotic device from accessing the first map without authorization.

6. A system comprising:

a non-transitory computer-readable medium; and

program instructions stored on the computer-readable medium and executable by at least one processor to:

determine a first map of an area;

identify an object in the area by:

receiving from a robotic device identification data associated with the object detected by a sensor at the robotic device;

receiving from the robotic device a location of the object that is associated with the identification data at a first time; and

identifying the object based the identification data associated with the object and the location of the object;

responsive to identifying the object in the area, determine a likelihood that the identified object has been correctly identified;

determine whether to update the first map of the area based on the determined likelihood;

based on determining whether to update the first map, adjust the first map of the area to include the identified object at the location;

select a second map of the area, wherein the second map includes a historical location of the identified object at a second time that is prior to the first time;

compare the first map and the second map to determine if the location of the identified object is different than the historical location of the identified object;

responsive to the location of the identified object being different than the historical location of the identified object, send to the robotic device instructions to cause the robotic device to retrieve the identified object from the location and to move the identified object to the historical location; and

adjust the first map based on the identified object being moved to the historical location.

7. The system of claim 6 , further comprising program instructions stored on the computer-readable medium and executable by the at least one processor to:

identify a consumption rate of the identified object; and

based on the consumption rate, determine a number of the identified object to purchase.

8. The system of claim 6 , further comprising program instructions stored on the computer-readable medium and executable by the at least one processor to:

create an inventory of one or more objects associated with the first map; and

send a report of the inventory of the one or more objects to the robotic device.

9. The system of claim 6 , further comprising program instructions stored on the computer-readable medium and executable by the at least one processor to:

determine a frequency of use of the identified object based on a number of times the identified object has moved over a predetermined time period.

10. The system of claim 6 , further comprising program instructions stored on the computer-readable medium and executable by the at least one processor to:

associate a database identifier with the identified object; and

determine a confidence interval that indicates the likelihood that the identified object has been associated with a correct database identifier.

11. A non-transitory computer-readable medium having stored thereon instructions executable by a computing device to cause the computing device to perform functions comprising:

determining a first map of an area;

identifying an object in the area by:

receiving from a robotic device identification data associated with the object detected by the robotic device, wherein the robotic device includes at least one sensor;

receiving from the robotic device a location of the object detected by the robotic device at a first time; and

associating a database identifier with the object detected by the robotic device, wherein the association is based at least in part on at least one of (i) the identification data associated with the object and (ii) the location of the object;

responsive to identifying the object in the area, determining a likelihood that the identified object has been correctly identified;

determining whether to update the first map of the area based on the determined likelihood;

based on determining whether to update the first map, adjusting the first map of the area to include the identified object at the location;

based on the associated database identifier, determining a second map of the area, wherein the second map includes a historical location of the object at a second time that is prior to the first time;

comparing the first map and the second map to determine if the location of the object is different than the historical location of the object;

responsive to the location of the object being different than the historical location of the object, sending executable code to the robotic device to cause the robotic device to move the object from the location to the historical location; and

adjusting the first map based on the identified object being moved to the historical location.

12. The computer readable medium of claim 11 , wherein the instructions further comprise maintaining a plurality of historical locations of the object.

13. The computer readable medium of claim 11 , wherein the first map is associated with a plurality of objects, wherein the second map is associated with a plurality of objects, and wherein the instructions further comprise:

creating an inventory of one or more objects associated with the first map; and

reconciling the inventory of the one or more objects in the first map to an inventory of at least one object in the second map.

14. The computer readable medium of claim 11 , wherein the instructions further comprise determining a frequency of use of the object based on a number of times the object has moved over a predetermined time period.

15. The computer readable medium of claim 11 , wherein the instructions further comprise applying restrictions to the first map and the second map that prevent the robotic device from accessing the first map or the second map without authorization.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: GOOGLE LLC
To: GDM HOLDING LLC
Reel/Frame 071109/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 064658/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTIVE BY NULLIFICATIONTO CORRECT INCORRECTLY RECORDED APPLICATION NUMBERS PREVIOUSLY RECORDED ON REEL 044142 FRAME 0357. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Nov 14, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 047837/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2018
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 047631/0671 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044142/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 039900/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2012
From: HICKMAN, RYAN; KUFFNER, JAMES J., JR.; FRANCIS, ANTHONY G., JR.; GHARPURE, CHAITANYA
To: GOOGLE INC.
Reel/Frame 028186/0609 →