IP Library Granted Patent US 12,071,160
Granted Patent B2
US 12,071,160 · App. 17/028,203 · Granted Aug 27, 2024

Systems and methods for generating vehicle corridors to improve path planning efficiency

Inventors: Chenggang Liu (Pittsburgh, PA); Daoyuan Jia (Pittsburgh, PA); David McAllister Bradley (Pittsburgh, PA)
Assignee: AURORA OPERATIONS, INC.
B60W60/0011B60W30/095B60W40/10B60W60/0016B60W2554/4041
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,071,160
App. No.
17/028,203
Granted
Aug 27, 2024
Kind
B2
Abstract

The present disclosure is directed to generating vehicle motion corridors for use in generating autonomous vehicle paths. In particular, a computing system can access map data for a geographic area and sensor data for the geographic area around an autonomous vehicle. The computing system can identify, based on the map data and the sensor data, object data describing a position and a size of one or more objects in the geographic area of the autonomous vehicle. The computing system can access path data describing a nominal path through the geographic area. The computing system can determine a plurality of corridor segments associated with the nominal path. The computing system can generate a vehicle motion corridor by aggregating the plurality of corridor segments, wherein the vehicle motion corridor defines an area in which the autonomous vehicle can travel without colliding with the one or more objects.

Claims (94)

1. A computer-implemented method for generating autonomous vehicle paths, the method comprising:

accessing, by a computing system including one or more processors, map data for a geographic area and sensor data for the geographic area around an autonomous vehicle;

identifying, by the computing system and based on the map data and the sensor data, object data describing a position and a size of one or more objects in the geographic area of the autonomous vehicle;

accessing, by the computing system, path data describing a nominal path through the geographic area, wherein the nominal path comprises a single series of points;

determining, by the computing system, a plurality of corridor segments associated with the nominal path, wherein the plurality of corridor segments correspond to a series of locations along the nominal path described in the path data, each location being associated with an expected position of the autonomous vehicle at a particular point in time and a width of each corridor segment is defined by a left offset distance from the location and a right offset distance from the location, wherein determining, by the computing system, the plurality of corridor segments associated with the nominal path comprises:

for at least one respective location in the series of locations:

accessing, by the computing system, the object data for one or more of the objects in the geographic area of the respective location;

for each object described in the object data:

determining, by the computing system, whether the object blocks the nominal path in the respective location; and

in response to determining that the object blocks the nominal path:

determining, by the computing system, a passing side for the nominal path; and

adjusting, by the computing system, the left offset distance to a negative value if a right side is the passing side and adjusting the right offset distance to a negative value if a left side is determined to be the passing side such that at least one point in the single series of points is not within the plurality of corridor segments;

generating, by the computing system, a vehicle motion corridor by aggregating the plurality of corridor segments, wherein the vehicle motion corridor defines an area in which the autonomous vehicle can travel without colliding with the one or more objects; and

controlling, by the computing system, the autonomous vehicle, based at least in part, on the vehicle motion corridor.

2. The computer-implemented method of claim 1 , wherein determining, by the computing system, the plurality of corridor segments associated with the nominal path comprises:

for at least one respective location in the series of locations:

determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of at least one of the one or more objects in the geographic area; and

generating, by the computing system, a corridor segment including the respective location and the right offset distance and the left offset distance.

3. The computer-implemented method of claim 2 , wherein determining, by the computing system, the right offset distance and the left offset distance based on the position and the size of at least one of the one or more objects in the geographic area further comprises:

determining, by the computing system, one or more distance values, each distance value representing a distance from the respective location to at least one of the one or more objects;

determining, by the computing system, a smallest distance value from the one or more distance values; and

generating, by the computing system, the corridor segment including at least the smallest distance value for one of the right offset distance and the left offset distance.

4. The computer-implemented method of claim 3 , wherein determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of at least one of the one or more objects in the geographic area, further comprises:

in response to determining that the object does not block the nominal path, determining, by the computing system, the distance between the object and the respective location;

determining, by the computing system, whether the distance between the object and the respective location exceeds a threshold distance; and

in response to determining that the distance between the object and the respective location exceeds the threshold distance, classifying, by the computing system, the object as ignorable for the respective location.

5. The computer-implemented method of claim 4 , wherein determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of at least one of the one or more objects in the geographic area, further comprises:

in response to determining that the distance between the object and the respective location does not exceed the threshold distance, classifying, by the computing system, the object as non-ignorable for the respective location.

6. The computer-implemented method of claim 5 , wherein determining, by the computing system, the smallest distance value from the one or more distance values further comprises:

selecting, by the computing system, the smallest distance value from the one or more distance values associated with the one or more objects that are classified as non-ignorable as an offset distance.

7. The computer-implemented method of claim 1 , wherein the left offset distance and the right offset distance are initially both positive.

8. The computer-implemented method of claim 7 , wherein determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of the one or more objects in the geographic area, further comprises:

determining, by the computing system and for each object, whether the object is on a left side of the nominal path or a right side of the nominal path.

9. The computer-implemented method of any claim 8 , determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of the one or more objects in the geographic area, further comprises:

identifying, by the computing system, one or more distance values for the one or more objects determined to be on the left side of the nominal path;

selecting, by the computing system, a first smallest distance value from the one or more distance values associated with the one or more objects determined to be on the left side of the nominal path; and

assigning, by the computing system, the first smallest distance value to the left offset distance.

10. The computer-implemented method of claim 8 , determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of the one or more objects in the geographic area, further comprises:

identifying, by the computing system, one or more distance values for the one or more objects determined to be on the right side of the nominal path;

selecting, by the computing system, a second smallest distance value from the one or more distance values associated with the one or more objects determined to be on the right side of the nominal path; and

assigning, by the computing system, the second smallest distance value to the right offset distance.

11. The computer-implemented method of claim 8 , wherein determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of the one or more objects in the geographic area, further comprises:

determining, by the computing system and for each object, whether the nominal path will pass the object on the right side of the object or on a left side of the object.

12. The computer-implemented method of any claim 11 , determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of the one or more objects in the geographic area, further comprises:

identifying, by the computing system, one or more distance values for the one or more objects that are determined to be passed on the left side by the nominal path;

selecting, by the computing system, a first smallest distance value from the one or more distance values associated with the one or more objects that are determined to be passed on the left side by the nominal path; and

assigning, by the computing system, the first smallest distance value to the right offset distance.

13. The computer-implemented method of any claim 11 , determining, by the computing system, the right offset distance and the left offset distance for the respective location based on the position and the size of the one or more objects in the geographic arca, further comprises:

identifying, by the computing system, one or more distance values for the one or more objects that are determined to be passed on the right side by the nominal path;

selecting, by the computing system, a first smallest distance value from the one or more distance values associated with the one or more objects that are determined to be passed on the right side by the nominal path; and

assigning, by the computing system, the first smallest distance value to the left offset distance.

14. The computer-implemented method of claim 1 , wherein, in accordance with a determination that the passing side of the object is a right side, the right offset distance is increased and the left offset distance is set to the negative value; and

in accordance with a determination that the passing side of the object is a left side, the left offset distance is increased and the right offset distance is set to the negative value.

15. The computer-implemented method of claim 1 , wherein determining, by the computing system, the series of locations along the nominal path described in the path data, each location being a fixed distance from a next location further comprises:

determining, by the computing system, velocity data associated with the autonomous vehicle; and

selecting, by the computing system, a number of locations based, at least in part, on the velocity data.

16. A computing system for generating path corridors, the computing system comprising:

one or more processors and a non-transitory computer-readable memory;

wherein the non-transitory computer-readable memory stores instructions that, when executed by the one or more processors, cause the computing system to perform operations, the operations comprising:

accessing map data for a geographic area and sensor data for the geographic area around an autonomous vehicle;

identifying, based on the map data and the sensor data, object data describing a position and size of one or more objects in the geographic area of the autonomous vehicle;

accessing path data describing a nominal path through the geographic area;

determining a series of locations along the nominal path described in the path data, each location being associated with an expected position of the autonomous vehicle at a particular point in time;

for a respective location in the series of locations:

accessing, by the computing system, the object data for one or more of the objects in the geographic area of the respective location;

determining a left offset distance from the respective location and a right offset distance from the respective location for the respective location based on the position and the size of the one or more objects in the geographic area;

for each object described in the object data:

determining whether the object blocks the nominal path in the respective location; and

in response to determining that the object blocks the nominal path, determining a passing side for the nominal path; and

adjusting the left offset distance to a negative value if a right side is the passing side and adjusting the right offset distance to a negative value if a left side is determined to be the passing side; and generating a corridor segment including the respective location and the left offset distance and the right offset distance such that at least one location in the series of locations is not within the corridor segment;

generating a vehicle motion corridor by aggregating a plurality of corridor segments, wherein the vehicle motion corridor defines an area in which the autonomous vehicle can travel without colliding with an object in the one or more objects; and

controlling the autonomous vehicle, based at least in part, on the vehicle motion corridor.

17. The computing system of claim 16 , the operations further comprising:

generating a trajectory for the autonomous vehicle based, at least in part, on the vehicle motion corridor.

18. An autonomous vehicle, comprising:

one or more processors; and

one or more non-transitory computer-readable media that collectively store instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising:

accessing map data for a geographic area and sensor data for the geographic area around the autonomous vehicle;

identifying, based on the map data and the sensor data, object data describing a position and size of one or more objects in the geographic area of the autonomous vehicle;

accessing path data describing a nominal path through the geographic area, wherein the nominal path comprises a single series of points;

determining a plurality of locations along the nominal path described in the path data, each location being associated with an expected position of the autonomous vehicle at a particular point in time;

generating a plurality of corridor segments, each corridor segment associated with a location in the plurality of locations, wherein a width of each corridor segment is defined by a left offset distance from the location and a right offset distance from the location and wherein determining a plurality of corridor segments comprises:

for at least one respective location in the series of locations:

accessing the object data for one or more of the objects in the geographic area of the respective location;

for each object described in the object data:

determining whether the object blocks the nominal path in the respective location;

in response to determining that the object blocks the nominal path, determining a passing side for the nominal path; and

adjusting the left offset distance to a negative value if a right side is the passing side and adjusting the right offset distance to a negative value if a left side is determined to be the passing side such that at least one point in the single series of points is not within the plurality of corridor segments;

generating a vehicle motion corridor by aggregating the plurality of corridor segments, wherein the vehicle motion corridor defines an area in which the autonomous vehicle can travel without colliding with an object in the one or more objects; and

controlling the autonomous vehicle, based at least in part, on the vehicle motion corridor.

19. The autonomous vehicle of claim 18 , wherein the operations for generating the corridor segment for each of the plurality of locations further comprises:

for at least one respective location in the plurality of locations:

determining a left offset distance from the respective location and a right offset distance from the respective location for the respective location based on the position and the size of at least one of the one or more objects in the geographic area; and

generating a corridor segment including the respective location and the left offset distance and the right offset distance.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2024
From: UATC, LLC
To: AURORA OPERATIONS, INC.
Reel/Frame 067733/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2020
From: LIU, CHENGGANG; JIA, DAOYUAN; BRADLEY, DAVID MCALLISTER
To: UATC, LLC
Reel/Frame 054778/0609 →