IP Library Granted Patent US 10,518,973
Granted Patent B2
US 10,518,973 · App. 16/056,919 · Granted Dec 31, 2019

Inventory management

Inventors: Christopher Hance (Mountain View, CA); Daniel Shaffer (Mountain View, CA)
Assignee: X Development LLC
B65G1/0492B25J5/007B25J19/023B65G1/1373G06Q10/087B65G2201/0267B65G2203/0216B65G2203/041Y10S901/01
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 10,518,973
App. No.
16/056,919
Granted
Dec 31, 2019
Kind
B2
Abstract

An example system includes a robotic device deployed in a warehouse environment including a plurality of inventory items. The system also includes a camera coupled to the robotic device, configured to capture image data. The system also includes a computing system configured to receive the captured image data. The computing system is configured to, based on the received image data, generate a navigation instruction for navigation of the robotic device. The computing system is also configured to analyze the received image data to detect one or more on-item visual identifiers corresponding to one or more inventory items. The computing system is further configured to, for each detected visual identifier, (i) determine a warehouse location of the corresponding inventory item, (ii) compare the determined warehouse location to an expected location, and (iii) initiate an action based on the comparison.

Claims (49)

1. A method comprising:

determining, for each position of a plurality of selectable positions of a camera on a robotic device, a value of one or more on-item visual identifiers expected to be within a field of view of the camera while the camera is positioned at the position and the robotic device navigates along a first route within an environment;

selecting, from the plurality of selectable positions, a position for the camera on the robotic device based on the determined value of the one or more on-item visual identifiers expected to be within the field of view of the camera for each position of the plurality of selectable positions;

receiving image data captured by the camera positioned at the selected position while the first robotic device navigates along the first route within the environment;

analyzing the image data to detect an on-item visual identifier corresponding to an inventory item in the environment;

determining a location of the inventory item corresponding to the detected on-item visual identifier based on the image data;

based on a comparison of the determined location of the inventory item to an expected location of the inventory item, detecting a difference between the expected location and the determined location; and

responsive to detecting the difference between the expected location and the determined location, dispatching a second robotic device to the determined location.

2. The method of claim 1 , further comprising based on the received image data, generating a navigation instruction for navigation of the first robotic device within the environment.

3. The method of claim 2 , wherein generating the navigation instruction based on the received image data and analyzing the received image data to detect the on-item visual identifier occur contemporaneously.

4. The method of claim 2 , further comprising:

determining a target inventory item having a target on-item visual identifier corresponding to a target location, wherein generating the navigation instruction comprises generating an instruction to move the first robotic device to the target location;

causing the first robotic device to move to the target location; and

capturing, by the camera, the target on-item visual identifier.

5. The method of claim 2 , wherein the navigation instruction comprises a first navigation instruction that causes the camera to capture image data including a first number of on-item visual identifiers.

6. The method of claim 5 , wherein the method further comprises:

generating a second navigation instruction that causes the camera to capture image data including a second number of on-item visual identifiers, wherein the second number of on-item visual identifiers is greater than the first number of on-item visual identifiers; and

causing the first robotic device to carry out the second navigation instruction.

7. The method of claim 1 , wherein the selected position of the camera is determined further based on an accuracy of navigation of the first robotic device when the camera is in the selected position.

8. The method of claim 1 , wherein the camera coupled to the first robotic device is a stereo camera.

9. The method of claim 1 wherein the first robotic device and the second robotic device are autonomous guided vehicle (AGVs).

10. The method of claim 1 wherein the environment is a warehouse environment and wherein the inventory item is a pallet.

11. The method of claim 1 , wherein the on-item visual identifier is a barcode.

12. The method of claim 1 , wherein the value of the one or more on-item visual identifiers expected to be within the field of view of the camera is based on how recently the one or more on-item visual identifiers have been scanned.

13. The method of claim 1 , wherein the value of the one or more on-item visual identifiers expected to be within the field of view of the camera is based on a priority of one or more inventory items associated with the one or more on-item visual identifiers.

14. The method of claim 1 , wherein the value of the one or more on-item visual identifiers expected to be within the field of view of the camera is based on a total number of the one or more on-item visual identifiers.

15. A system comprising:

a first robotic device comprising a camera configured to capture image data;

a second robotic device; and

a computing system configured to:

determine, for each position of a plurality of selectable positions of the camera, a value of one or more on-item visual identifiers expected to be within a field of view of the camera while the camera is positioned at the position and the first robotic device navigates along a first route within an environment;

select, from the plurality of selectable positions, a position for the camera on the first robotic device based on the determined value of the one or more on-item visual identifiers expected to be within the field of view of the camera for each position of the plurality of selectable positions;

receive image data captured by the camera positioned at the selected position while the first robotic device navigates along the first route within the environment;

analyze the image data to detect an on-item visual identifier corresponding to an inventory item in the environment;

determine a location of the inventory item corresponding to the detected on-item visual identifier based on the image data;

based on a comparison of the determined location of the inventory item to an expected location of the inventory item, detect a difference between the expected location and the determined location; and

responsive to detecting the difference between the expected location and the determined location, dispatch a second robotic device to the determined location.

16. The system of claim 15 , wherein the environment is a warehouse environment and wherein the first robotic device and the second robotic device are both autonomous fork trucks.

17. The system of claim 15 , wherein the first robotic device is configured to dynamically change a position of the camera to capture a plurality of target on-item visual identifiers during navigation of the first robotic device.

18. The system of claim 15 , wherein the camera on the first robotic device is a stereo camera.

19. The system of claim 15 , wherein the first robotic device and the second robotic device are different types of robotic devices.

20. A non-transitory computer-readable medium having stored therein instructions, that when executed by a computing device, cause the computing device to perform functions comprising:

determining, for each position of a plurality of selectable positions of a camera on a robotic device, a value of one or more on-item visual identifiers expected to be within a field of view of the camera while the camera is positioned at the position and the robotic device navigates along a first route within an environment;

selecting, from the plurality of selectable positions, a position for the camera on the robotic device based on the determined value of the one or more on-item visual identifiers expected to be within the field of view of the camera for each position of the plurality of selectable positions;

receiving image data captured by the camera positioned at the selected position while the first robotic device navigates along the first route within the environment;

analyzing the image data to detect an on-item visual identifier corresponding to an inventory item in the environment;

determining a location of the inventory item corresponding to the detected on-item visual identifier based on the image data;

based on a comparison of the determined location of the inventory item to an expected location of the inventory item, detecting a difference between the expected location and the determined location; and

responsive to detecting the difference between the expected location and the determined location, dispatching a second robotic device to the determined location.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2020
From: X DEVELOPMENT LLC
To: BOSTON DYNAMICS, INC.
Reel/Frame 052790/0062 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: HANCE, CHRISTOPHER; SHAFFER, DANIEL
To: GOOGLE INC.
Reel/Frame 051063/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 051066/0839 →
Cited By (9)
US 12,186,919 US 12,240,105 US 12,251,831 US 12,304,754 US 12,327,371 US 12,415,285 US 12,456,094 US 12,493,855 US 12,661,811