IP Library Granted Patent US 11,048,265
Granted Patent B2
US 11,048,265 · App. 16/011,436 · Granted Jun 29, 2021

Occlusion aware planning

Inventors: William Anthony Silva (San Francisco, CA); Dragomir Dimitrov Anguelov (San Francisco, CA); Benjamin Isaac Zwiebel (Burlingame, CA); Juhana Kangaspunta (San Francisco, CA)
Assignee: Zoox, Inc.
G05D1/0238G01S7/4861G01S17/86G01S17/931G05D1/0088G08G1/166G05D2201/0213
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 11,048,265
App. No.
16/011,436
Granted
Jun 29, 2021
Kind
B2
Abstract

Techniques are discussed for controlling a vehicle, such as an autonomous vehicle, based on occluded areas in an environment. An occluded area can represent areas where sensors of the vehicle are unable to sense portions of the environment due to obstruction by another object. An occlusion grid representing the occluded area can be stored as map data or can be dynamically generated. An occlusion grid can include occlusion fields, which represent discrete two- or three-dimensional areas of driveable environment. An occlusion field can indicate an occlusion state and an occupancy state, determined using LIDAR data and/or image data captured by the vehicle. An occupancy state of an occlusion field can be determined by ray casting LIDAR data or by projecting an occlusion field into segmented image data. The vehicle can be controlled to traverse the environment when a sufficient portion of the occlusion grid is visible and unoccupied.

Claims (100)

1. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions executable by the one or more processors, wherein the instructions, when executed, cause the system to perform operations comprising:

capturing LIDAR data using a LIDAR sensor on an autonomous vehicle;

accessing map data representing an environment proximate to the autonomous vehicle, the map data comprising an occlusion grid comprising multiple occlusion fields, wherein an occlusion field of the multiple occlusion fields is associated with an occlusion state and an occupancy state of a portion of the environment;

ray casting a portion of the LIDAR data to determine the occupancy state and the occlusion state of the occlusion field;

determining, based at least in part on the occlusion field, an amount of information associated with the occlusion grid to determine a safe trajectory for the autonomous vehicle to traverse the environment, wherein the amount of information comprises one or more of:

a first number of occlusion fields associated with an unoccupied occupancy state;

a second number of observations associated with the occlusion field and a period of time;

a third number of occlusion fields associated with a visible occlusion state; or

a size of an unoccupied and un-occluded portion of the environment;

determining that the amount of information meets or exceeds a threshold level; and

controlling the autonomous vehicle to traverse the environment in accordance with the safe trajectory.

2. The system of claim 1 , the operations further comprising:

capturing image data using an image sensor on the autonomous vehicle;

performing semantic segmentation on at least a portion of the image data to generate segmented image data identifying at least a driveable surface in the environment;

projecting the occlusion field into the segmented image data;

determining that the occlusion field projects into the driveable surface; and

controlling the autonomous vehicle to traverse the environment based at least in part on the occlusion field projecting into the driveable surface.

3. The system of claim 1 , wherein the multiple occlusion fields discretize a portion of a driveable surface in the environment, wherein the occlusion state of the occlusion field is indicative of a visibility of the occlusion field by the LIDAR sensor.

4. The system of claim 1 , the operations further comprising:

determining a confidence value associated with the occupancy state of the occlusion field based at least in part on:

a fourth number of LIDAR returns associated with the occlusion field; and

a fifth number of discretized regions associated with the occlusion field.

5. The system of claim 4 , wherein a first ratio of the fourth number with respect to the fifth number being below a threshold is indicative of a high confidence of an unoccupied state of the occlusion field, and a second ratio of the fourth number with respect to the fifth number being above the threshold is indicative of a high confidence of an occupied state of the occlusion field.

6. A method comprising:

capturing sensor data using a sensor on a robotic platform;

determining, based at least in part on the sensor data, a location of the robotic platform;

accessing map data representing an environment proximate to the robotic platform at the location, the map data comprising an occlusion grid;

determining an occupancy state of an occlusion field of the occlusion grid, wherein the occupancy state comprises one of an occupied state, an unoccupied state, or an indeterminate state;

determining, based at least in part on the occlusion field, an amount of information associated with the occlusion grid to determine a trajectory to traverse an area of the environment proximate to the occlusion grid, wherein the amount of information comprises one or more of:

a first number of occlusion fields associated with the unoccupied state;

a second number of observations associated with the occlusion field and a period of time; or

a size of an unoccupied portion of the environment;

determining that the amount of information meets or exceeds a threshold value; and

controlling the robotic platform based at least in part on the occupancy state of the occlusion grid and the amount of information.

7. The method of claim 6 , further comprising:

capturing, as the sensor data, LIDAR data using a LIDAR sensor on the robotic platform;

ray casting a portion of the LIDAR data to determine the occupancy state of the occlusion field;

ray casting a portion of the LIDAR data to determine an occlusion state of the occlusion field, the occlusion state comprising one of visible or occluded; and

controlling the robotic platform to traverse the environment based at least in part on the occlusion grid being clear,

wherein the amount of information further comprises a third number of occlusion fields of the occlusion grid that are visible to the LIDAR sensor.

8. The method of claim 7 , wherein the ray casting comprises:

determining a first number of expected LIDAR returns associated with a region above the occlusion field;

determining a second number of actual LIDAR returns associated with the region above the occlusion field;

determining a confidence value associated with the occupancy state of the occlusion field based at least in part on the first number of expected LIDAR returns and the second number of actual LIDAR returns; and

determining that the confidence value meets or exceeds a threshold confidence value.

9. The method of claim 6 , further comprising:

capturing, as the sensor data, image data using an image sensor on the robotic platform;

performing segmentation on at least a portion of the image data to generate segmented image data identifying a driveable surface in the environment;

projecting the occlusion field into the segmented image data;

determining that the occlusion field projects into the driveable surface; and

controlling the robotic platform to traverse the environment based at least in part on the occlusion field projecting into the driveable surface.

10. The method of claim 6 , wherein the robotic platform comprises an autonomous vehicle and the environment proximate to the autonomous vehicle comprises an intersection, the method further comprising:

determining a distance of the intersection for the autonomous vehicle to traverse;

determining a speed limit associated with the intersection; and

determining an extent of the occlusion grid based at least in part on:

the distance of the intersection;

the speed limit; and

a safety factor.

11. The method of claim 10 , further comprising determining the extent of the occlusion grid based at least in part on an expected amount of time for the autonomous vehicle to traverse the distance of the intersection.

12. The method of claim 6 , wherein the occlusion field comprises a temporal logic symbol, the method further comprising:

validating a trajectory based at least in part on evaluating a temporal logic formula comprising the temporal logic symbol; and

controlling the robotic platform to traverse the environment based at least in part on the trajectory.

13. The method of claim 6 , wherein the occlusion grid comprises a plurality of occlusion fields, the method further comprising:

determining that a threshold number of the plurality of occlusion fields are visible to the sensor and are unoccupied prior to controlling the robotic platform to traverse the environment.

14. The method of claim 6 , further comprising:

determining that a portion of the occlusion grid is not visible to the sensor; and

controlling the robotic platform to move to a location to increase the portion of the occlusion grid that is visible to the sensor.

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

receiving sensor data captured using a sensor on a robotic platform;

determining, based at least in part on the sensor data, a location of the robotic platform;

accessing map data representing an environment proximate to the robotic platform at the location, the map data comprising an occlusion grid;

determining an occupancy state of an occlusion field of the occlusion grid;

determining, based at least in part on the occlusion field, an amount of information associated with the occlusion grid to determine a trajectory to traverse an area of the environment proximate to the occlusion grid, wherein the amount of information comprises one or more of:

a first number of occlusion fields associated with an unoccupied occupancy state;

a second number of observations associated with the occlusion field and a period of time; or

a size of an unoccupied portion of the environment;

determining that the amount of information meets or exceeds a threshold value; and

controlling the robotic platform based at least in part on the occupancy state of the occlusion grid and the amount of information.

16. The one or more non-transitory computer-readable media of claim 15 , wherein the sensor data is LIDAR data and wherein the sensor is a LIDAR sensor, the operations further comprising:

ray casting a portion of the LIDAR data to determine the occupancy state and an occlusion state of the occlusion field;

determining, based at least in part on the occupancy state and the occlusion state, the amount of information associated with the occlusion grid, wherein the amount of information further comprises a third number of occlusion fields associated with a visible occlusion state; and

controlling the robotic platform to traverse the environment further based at least in part on the amount of information meeting or exceeding the threshold value.

17. The one or more non-transitory computer-readable media of claim 16 , wherein the ray casting comprises:

determining a first number of expected LIDAR returns associated with a region above the occlusion field;

determining a second number of actual LIDAR returns associated with the region above the occlusion field;

determining a confidence value associated with the occupancy state of the occlusion field based at least in part on the first number of expected LIDAR returns and the second number of actual LIDAR returns; and

determining that the confidence value meets or exceeds a threshold confidence value, wherein the confidence value meeting or exceeding the threshold confidence value indicates that the occlusion field is unoccupied.

18. The one or more non-transitory computer-readable media of claim 15 , capturing, as the sensor data, image data using an image sensor on the robotic platform;

performing segmentation on at least a portion of the image data to generate segmented image data identifying a driveable surface in the environment;

projecting the occlusion field into the segmented image data; and

determining that the occlusion field projects into the driveable surface.

19. The one or more non-transitory computer-readable media of claim 15 , the operations further comprising:

determining that a portion of the occlusion grid is not visible to the sensor; and

controlling the robotic platform to move to a location where an entirety of the occlusion grid is visible to the sensor, wherein a velocity of the robotic platform is below a velocity threshold.

20. The one or more non-transitory computer-readable media of claim 15 , wherein the sensor data is first sensor data, the operations further comprising:

receiving, as the first sensor data, image data captured by an image sensor on the robotic platform;

receiving, as second sensor data, LIDAR data captured by a LIDAR sensor on the robotic platform; and

determining, based at least in part on the first sensor data and the second sensor data, a confidence value associated with the occupancy state of the occlusion field.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2019
From: KANGASPUNTA, JUHANA
To: ZOOX, INC.
Reel/Frame 049451/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2018
From: SILVA, WILLIAM ANTHONY; ANGUELOV, DRAGOMIR DIMITROV; ZWIEBEL, BENJAMIN ISAAC
To: ZOOX, INC.
Reel/Frame 046218/0327 →
Continuity (1)
Related Publication 20190384309A1 · Dec 19, 2019
Cited By (2)
US 12,639,846 US 12,711,751