IP Library Granted Patent US 10,899,006
Granted Patent B2
US 10,899,006 · App. 15/967,805 · Granted Jan 26, 2021

Robot navigation using 2D and 3D path planning

Inventor: Benjamin Holson (Sunnyvale, CA)
Assignee: X Development LLC
B25J9/1666B25J9/1671B25J9/1697Y10S901/01Y10S901/09Y10S901/47
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,899,006
App. No.
15/967,805
Granted
Jan 26, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer-readable storage devices, for robot navigation using 2D and 3D path planning. In the disclosed method, a robot accesses map data indicating two-dimensional layout of objects in a space and evaluates candidate paths for the robot to traverse. In response to determining that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot, the robot evaluates a three-dimensional shape of the robot with respect to a three-dimensional shape of an object in the space. Based on the evaluation of the three-dimensional shapes, the robot determines a collision-free path to traverse through the space.

Claims (67)

1. A method performed by a robot, the method comprising:

accessing, by the robot, map data indicating a two-dimensional layout of objects in a space;

evaluating, by the robot, candidate paths for the robot to traverse the space based on the map data;

determining, by the robot, that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot;

in response to the determination, evaluating, by the robot, a three-dimensional shape of the robot with respect to a three-dimensional shape of an object in the space;

determining, by the robot, a path based on evaluating the three-dimensional shape of the robot with respect to the three-dimensional shape of the object in the space; and

moving, by the robot, along the determined path.

2. The method of claim 1 , wherein the two-dimensional profile of the robot is a minimum two-dimensional profile of the robot.

3. The method of claim 1 , wherein evaluating candidate paths for the robot to traverse the space based on the map data comprises:

determining, by the robot, a location of an object in the space and an area occupied by the object;

generating, by the robot, a path segment for the robot to traverse, wherein the path segment does not intersect the area occupied by the object.

4. The method of claim 3 , wherein determining that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot comprises:

generating, by the robot, a two-dimensional area along the path segment by tracing a two-dimensional profile of the robot along a length of the path segment; and

determining, by the robot, that the area along the path segment intersects the area occupied by the object.

5. The method of claim 1 , wherein:

the three-dimensional shape of the robot is a first three-dimensional shape corresponding to a first configuration of the robot; and

determining a path based on evaluating the three-dimensional shape of the robot with respect to the three-dimensional shape of an object in the space comprises:

based on evaluating the first three-dimensional shape of the robot with respect to the three-dimensional shape of an object in the space, determining, by the robot, that the first three-dimensional shape of the robot intersects the three-dimensional shape of the object; and

in response to the determination, determining a path based on evaluating, by the robot, a second three-dimensional shape of the robot with respect to the three-dimensional shape of the object, the second three-dimensional shape of the robot corresponding to a second configuration of the robot.

6. The method of claim 1 , wherein accessing map data indicating a two-dimensional layout of objects in a space comprises receiving, by the robot, map data from a server over a communication network.

7. The method of claim 1 , wherein:

evaluating candidate paths for the robot to traverse the space based on the map data comprises evaluating, by the robot, more than one candidate path for the robot to traverse the space; and

determining that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot comprises determining, by the robot, that none of the more than one candidate path include a collision-free path across the space.

8. A system comprising:

one or more computers; and

one or more computer-readable media storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

accessing, by the one or more computers, map data indicating a two-dimensional layout of objects in a space;

evaluating, by the one or more computers, candidate paths for a robot to traverse the space based on the map data;

determining, by the one or more computers, that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot;

in response to the determination, evaluating, by the one or more computers, a three-dimensional shape of the robot with respect to a three-dimensional shape of an object in the space;

determining, by the one or more computers, a path based on evaluating the three-dimensional shape of the robot with respect to the three-dimensional shape of the object in the space; and

providing, by the one or more computers, data that instructs or causes the robot to move along the determined path.

9. The system of claim 8 , wherein the two-dimensional profile of the robot is a minimum two-dimensional profile of the robot.

10. The system of claim 8 , wherein evaluating candidate paths for a robot to traverse the space based on the map data comprises:

determining, by the one or more computers, a location of an object in the space and an area occupied by the object;

generating, by the one or more computers, a path segment for a robot to traverse, wherein the path segment does not intersect the area occupied by the object.

11. The system of claim 10 , wherein determining that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot comprises:

generating, by the one or more computers, a two-dimensional area along the path segment by tracing a two-dimensional profile of the robot along a length of the path segment; and

determining, by the one or more computers, that the area along the path segment intersects the area occupied by the object.

12. The system of claim 8 , wherein:

the three-dimensional shape of the robot is a first three-dimensional shape corresponding to a first configuration of the robot; and

determining a path based on evaluating the three-dimensional shape of the robot with respect to the three-dimensional shape of an object in the space comprises:

based on evaluating the first three-dimensional shape of the robot with respect to the three-dimensional shape of an object in the space, determining, by the one or more computers, that the first three-dimensional shape of the robot intersects the three-dimensional shape of the object; and

in response to the determination, determining a path based on evaluating, by the one or more computers, a second three-dimensional shape of the robot with respect to the three-dimensional shape of the object, the second three-dimensional shape of the robot corresponding to a second configuration of the robot.

13. The system of claim 8 , wherein accessing map data indicating a two-dimensional layout of objects in a space comprises receiving, by the one or more computers, map data from a server over a communication network.

14. The system of claim 8 , wherein:

evaluating candidate paths for a robot to traverse the space based on the map data comprises evaluating, by the one or more computers, more than one candidate path for a robot to traverse the space; and

determining that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot comprises determining, by the one or more computers, that none of the more than one candidate path include a collision-free path across the space.

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

accessing, by the one or more computers, map data indicating a two-dimensional layout of objects in a space; evaluating, by the one or more computers, candidate paths for a robot to traverse the space based on the map data;

determining, by the one or more computers, that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot;

in response to the determination, evaluating, by the one or more computers, a three-dimensional shape of the robot with respect to a three-dimensional shape of an object in the space; and

determining, by the one or more computers, a path based on evaluating the three-dimensional shape of the robot with respect to the three-dimensional shape of the object in the space; and

providing, by the one or more computers, data that instructs or causes the robot to move along the determined path.

16. The one or more non-transitory computer-readable media of claim 15 , wherein the two-dimensional profile of the robot is a minimum two-dimensional profile of the robot.

17. The one or more non-transitory computer-readable media of claim 15 , wherein evaluating candidate paths for a robot to traverse the space based on the map data comprises:

determining, by the one or more computers, a location of an object in the space and an area occupied by the object;

generating, by the one or more computers, a path segment for the robot to traverse, wherein the path segment does not intersect the area occupied by the object.

18. The one or more non-transitory computer-readable media of claim 17 , wherein determining that the candidate paths do not include a collision-free path across the space for a two-dimensional profile of the robot comprises:

generating, by the one or more computers, a two-dimensional area along the path segment by tracing a two-dimensional profile of the robot along a length of the path segment; and

determining, by the one or more computers, that the area along the path segment intersects the area occupied by the object.

19. The one or more non-transitory computer-readable media of claim 15 , wherein:

the three-dimensional shape of the robot is a first three-dimensional shape corresponding to a first configuration of the robot; and

determining a path based on evaluating the three-dimensional shape of the robot with respect to the three-dimensional shape of an object in the space comprises:

based on evaluating the first three-dimensional shape of the robot with respect to the three-dimensional shape of an object in the space, determining, by the one or more computers, that the first three-dimensional shape of the robot intersects the three-dimensional shape of the object; and

in response to the determination, determining a path based on evaluating, by the one or more computers, a second three-dimensional shape of the robot with respect to the three-dimensional shape of the object, the second three-dimensional shape of the robot corresponding to a second configuration of the robot.

20. The system of claim 8 , wherein the one or more computers are one or more computers of the robot.

Assignments (3)
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 7, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 064510/0110 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2018
From: HOLSON, BENJAMIN
To: X DEVELOPMENT LLC
Reel/Frame 045685/0693 →