IP Library Granted Patent US 12,001,210
Granted Patent B2
US 12,001,210 · App. 17/814,738 · Granted Jun 4, 2024

Semantic obstacle recognition for path planning

Inventors: David Millard (San Francisco, CA); Mikael Persson (Sunnyvale, CA)
Assignee: Google LLC
G05D1/0088B25J9/0003B25J9/1666G01C21/20G05D1/0214G05D1/0217G05D1/0221G05D1/024G05D1/0246G05D1/0274G06V20/10G01C21/3453G05D1/0223Y10S901/01Y10S901/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 12,001,210
App. No.
17/814,738
Granted
Jun 4, 2024
Kind
B2
Abstract

Systems, methods, devices, and techniques for planning travel of an autonomous robot. A system identifies one or more obstacles that are located in proximity of at least a portion of a planned route for the autonomous robot. For each obstacle, the system: (i) determines a semantic class of the obstacle, including selecting the semantic class from a library that defines a set of multiple possible semantic classes for obstacles, and (ii) selects a planning policy for the obstacle that corresponds to the semantic class of the obstacle. The system can generate a trajectory along the at least the portion of the planned route using the selected planning policies. The robot can then initiate travel according to the trajectory.

Claims (40)

1. A computer-implemented method, comprising:

identifying, by a computing system, one or more obstacles that are located in proximity of at least a portion of a planned route for an autonomous robot;

for each obstacle:

(i) determining a semantic class of the obstacle, including selecting the semantic class from a library that defines a plurality of possible semantic classes for obstacles, wherein the library comprises a hierarchical representation of the plurality of possible semantic classes and wherein the library includes a database that includes increasingly specialized planning policies for classes represented further down the hierarchy, each planning policy describing at least one constraint with respect to travel of the autonomous robot relative to the obstacle, wherein selecting the semantic class of the obstacle comprises traversing the hierarchical representation of the plurality of possible semantic classes to locate a most-specific semantic class for the obstacle, and

(ii) selecting a planning policy for the obstacle that corresponds to the semantic class of the obstacle;

generating, by the computing system, a trajectory along the at least the portion of the planned route for the autonomous robot, the trajectory being based on the constraints described by the planning policies for the one or more obstacles located in proximity of the at least the portion of the planned route; and

initiating travel of the autonomous robot according to the trajectory.

2. The computer-implemented method of claim 1 , wherein the most-specific semantic class for the obstacle identifies the obstacle as a particular instance of an object within a higher-level semantic class for the obstacle.

3. The computer-implemented method of claim 1 , wherein each semantic class in the hierarchical representation is linked to a corresponding class signature that characterizes one or more features of objects in the semantic class.

4. The computer-implemented method of claim 1 , wherein the library identifies a respective planning policy for each semantic class of the plurality of possible semantic classes, and the respective planning policies for at least a subset of the plurality of possible semantic classes describe different constraints from each other.

5. The computer-implemented method of claim 1 , wherein generating the trajectory along the at least the portion of the planned route for the autonomous robot comprises determining a trajectory that optimizes a trajectory cost function, the trajectory cost function being based on the respective cost functions for the one or more obstacles located in proximity of the at least the portion of the planned route.

6. The computer-implemented method of claim 1 , wherein the semantic class of a first obstacle of the one or more obstacles that are located in proximity of the at least the portion of the planned route for the autonomous robot identifies the first obstacle as a person.

7. The computer-implemented method of claim 6 , wherein the semantic class of a second obstacle of the one or more obstacles that are located in proximity of the at least the portion of the planned route for the autonomous robot identifies the second obstacle as an inanimate object.

8. The computer-implemented method of claim 1 , further comprising:

after initiating travel of the autonomous robot according to the trajectory, but before completing the travel, generating an updated trajectory; and

initiating travel of the autonomous robot according to the updated trajectory before completing the travel of the autonomous robot according to the trajectory.

9. The computer-implemented method of claim 1 , wherein identifying the one or more obstacles that are located in proximity of the at least the portion of the planned route for the autonomous robot comprises detecting the one or more obstacles in a representation of an environment of the autonomous robot, the representation of the environment generated using sensor data from one or more sensors of the autonomous robot, the one or more sensors including at least one of a camera system or a light detection and ranging (LIDAR) system.

10. The computer-implemented method of claim 1 , wherein the at least one constraint comprises a cost function that defines a cost of travel of the autonomous robot as a function of a distance between the autonomous robot and the obstacle.

11. The computer-implemented method of claim 1 , wherein the at least one constraint comprises a cost function that defines a cost of travel of the autonomous robot as a function of a speed of the autonomous robot at various distances from the obstacle during the travel of the autonomous robot.

12. The computer-implemented method of claim 1 , further comprising selecting a semantic class and a corresponding planning policy that applies to a group of obstacles.

13. A computing system, comprising:

one or more processors; and

one or more computer-readable media having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

identifying one or more obstacles that are located in proximity of at least a portion of a planned route for an autonomous robot;

for each obstacle:

(i) determining a semantic class of the obstacle, including selecting the semantic class from a library that defines a plurality of possible semantic classes for obstacles, wherein the library comprises a hierarchical representation of the plurality of possible semantic classes and wherein the library includes a database that includes increasingly specialized planning policies for classes represented further down the hierarchy, each planning policy describing at least one constraint with respect to travel of the autonomous robot relative to the obstacle, wherein selecting the semantic class of the obstacle comprises traversing the hierarchical representation of the plurality of possible semantic classes to locate a most-specific semantic class for the obstacle, and

(ii) selecting a planning policy for the obstacle that corresponds to the semantic class of the obstacle;

generating a trajectory along the at least the portion of the planned route for the autonomous robot, the trajectory being based on the constraints described by the planning policies for the one or more obstacles located in proximity of the at least the portion of the planned route; and

initiating travel of the autonomous robot according to the trajectory.

14. The computing system of claim 13 , wherein the most-specific semantic class for the obstacle identifies the obstacle as a particular instance of an object within a higher-level semantic class for the obstacle.

15. The computing system of claim 13 , wherein each semantic class in the hierarchical representation is linked to a corresponding class signature that characterizes one or more features of objects in the semantic class.

16. The computing system of claim 13 , wherein the library identifies a respective planning policy for each semantic class of the plurality of possible semantic classes, and the respective planning policies for at least a subset of the plurality of possible semantic classes describe different constraints from each other.

17. The computing system of claim 13 , wherein generating the trajectory along the at least the portion of the planned route for the autonomous robot comprises determining a trajectory that optimizes a trajectory cost function, the trajectory cost function being based on the respective cost functions for the one or more obstacles located in proximity of the at least the portion of the planned route.

18. One or more non-transitory computer-readable media having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

identifying one or more obstacles that are located in proximity of at least a portion of a planned route for an autonomous robot;

for each obstacle:

(i) determining a semantic class of the obstacle, including selecting the semantic class from a library that defines a plurality of possible semantic classes for obstacles, wherein the library comprises a hierarchical representation of the plurality of possible semantic classes and wherein the library includes a database that includes increasingly specialized planning policies for classes represented further down the hierarchy, each planning policy describing at least one constraint with respect to travel of the autonomous robot relative to the obstacle, wherein selecting the semantic class of the obstacle comprises traversing the hierarchical representation of the plurality of possible semantic classes to locate a most-specific semantic class for the obstacle, and

(ii) selecting a planning policy for the obstacle that corresponds to the semantic class of the obstacle;

generating a trajectory along the at least the portion of the planned route for the autonomous robot, the trajectory being based on the constraints described by the planning policies for the one or more obstacles located in proximity of the at least the portion of the planned route; and

initiating travel of the autonomous robot according to the trajectory.

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 21, 2023
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 064658/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2022
From: MILLARD, DAVID; PERSSON, MIKAEL
To: X DEVELOPMENT LLC
Reel/Frame 060622/0602 →