IP Library Granted Patent US 11,880,203
Granted Patent B2
US 11,880,203 · App. 17/141,850 · Granted Jan 23, 2024

Methods and system for predicting trajectories of uncertain road users by semantic segmentation of drivable area boundaries

Inventor: Gregory Boyd Nichols (Franklin Park, PA)
Assignee: Argo AI, LLC
G05D1/0214B60W60/0027G01C21/3492G01C21/3819G08G1/166B60W2554/4029G05D2201/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,880,203
App. No.
17/141,850
Granted
Jan 23, 2024
Kind
B2
Abstract

Methods and systems for controlling navigation of an autonomous vehicle for traversing a drivable area are disclosed. The methods include receiving information relating to a drivable area that includes a plurality of polygons, identifying a plurality of logical edges that form a boundary of the drivable area, sequentially and repeatedly analyzing concavities of each the plurality of logical edges until identification of a first logical edge that has a concavity greater than a threshold, creating a first logical segment of the boundary of the drivable area. This segmentation may be repeated until each of the plurality of logical edges has been classified. The method may include creating and adding (to a map) a data representation of the drivable area that comprises an indication of the plurality of logical segments, and adding the data representation to a road network map comprising the drivable area.

Claims (79)

1. A method for controlling navigation of an autonomous vehicle for traversing a drivable area, the method comprising, by a processor:

receiving information relating to a drivable area in an environment of the autonomous vehicle, wherein the drivable area comprises a plurality of polygons;

identifying a plurality of logical edges that form a boundary of the drivable area;

sequentially, starting from an initial one of the plurality of logical edges and along the boundary of the drivable area, analyzing concavities of each the plurality of logical edges until identification of a first logical edge that has a concavity greater than a threshold, the threshold being determined based on at least one or more characteristics of a feature included in the drivable area, the one or more characteristics comprising: a type of the feature; a size of the feature; or a degree of curvature of the feature;

upon identification of the first logical edge, creating a first logical segment of the boundary of the drivable area, the first logical segment comprising:

the initial one of the plurality of logical edges,

any logical edge that lies between the initial one of the plurality of logical edges and the first logical edge, and

at least a portion of the first logical edge;

repeating the sequentially analyzing and creating steps until each of the plurality of logical edges has been classified into one of a plurality of logical segments of the boundary of the drivable area, each of the plurality of logical segments representative of a potential goal, on the drivable area boundary, of an actor when traversing the drivable area;

creating a data representation of the drivable area that comprises an indication of the plurality of logical segments;

adding the data representation to a road network map comprising the drivable area; and

using the data representation to control navigation of the autonomous vehicle for traversing the drivable area.

2. The method of claim 1 , wherein using the data representation to control navigation of the autonomous vehicle for traversing the drivable area comprises:

predicting a trajectory of a pedestrian for traversing the drivable area; and

using the trajectory to control navigation of the autonomous vehicle for avoiding collision with the pedestrian while traversing the drivable area.

3. The method of claim 1 , further comprising using the data representation for identifying an entrance into or an exit from an unmapped area of the environment from the drivable area.

4. The method of claim 1 , further comprising identifying the plurality of logical edges by:

identifying one or more shared edges in the drivable area, each of the one or more shared edges being collinear edges of two of the plurality of polygons; and

discarding the identified one or more shared edges.

5. The method of claim 4 , further comprising:

identifying adjacent edges of the two of the plurality of polygons; and

combining the adjacent edges to form a single logical edge.

6. The method of claim 1 , wherein the threshold is about 120° to about 140° and is determined such that a pedestrian can move from one point of a logical segment of the boundary of the drivable area to another point on the logical segment following a shortest path without entering the drivable area for more than a threshold distance.

7. The method of claim 1 , wherein the threshold is determined such that opposite sides of a lane within the drivable area comprise distinct logical segments.

8. The method of claim 1 , wherein:

the environment comprises an area substantially surrounded by the drivable area on all sides; and

the method further includes forming a single logical segment of the boundary of the drivable area when it does not include one or more logical edges that have a concavity greater than the threshold.

9. The method of claim 1 , wherein:

the environment comprises an n-way intersection; and

the method further includes forming n logical segments of the boundary of the drivable area.

10. A system for controlling navigation of an autonomous vehicle for traversing a drivable area, the system comprising:

a processor; and

a non-transitory computer readable medium comprising one or more programming instructions that, when executed by a processor, will cause the processor to:

receive information relating to a drivable area in an environment of the autonomous vehicle, wherein the drivable area comprises a plurality of polygons,

identify a plurality of logical edges that form a boundary of the drivable area,

sequentially, starting from an initial one of the plurality of logical edges and along the boundary of the drivable area, analyze concavities of each the plurality of logical edges until identification of a first logical edge that has a concavity greater than a threshold, the threshold being determined based on at least one or more characteristics of a feature included in the drivable area, the one or more characteristics comprising: a type of the feature; a size of the feature; or a degree of curvature of the feature,

upon identification of the first logical edge, create a first logical segment of the boundary of the drivable area, the first logical segment comprising:

the initial one of the plurality of logical edges,

any logical edge that lies between the initial one of the plurality of logical edges and the first logical edge, and

at least a portion of the first logical edge;

repeat the sequentially analyzing and creating steps until each of the plurality of logical edges has been classified into one of a plurality of logical segments of the boundary of the drivable area, each of the plurality of logical segments representative of a potential goal, on the drivable area boundary, of an actor when traversing the drivable area,

create a data representation of the drivable area that comprises an indication of the plurality of logical segments, and

add the data representation to a road network map comprising the drivable area, and

use the data representation to control navigation of the autonomous vehicle for traversing the drivable area.

11. The system of claim 10 , wherein the programming instructions that, when executed by a processor, will cause the processor to use the data representation to control navigation of the autonomous vehicle for traversing the drivable area comprise programming instructions to cause the processor to:

predict a trajectory of a pedestrian for traversing the drivable area; and

use the trajectory to control navigation of the autonomous vehicle for avoiding collision with the pedestrian while traversing the drivable area.

12. The system of claim 10 , further comprising programming instructions that, when executed by a processor, will cause the processor to use the data representation for identifying an entrance into or an exit from an unmapped area of the environment from the drivable area.

13. The system of claim 10 , further comprising programming instructions that, when executed by a processor, will cause the processor to identify the plurality of logical edges by:

identifying one or more shared edges in the drivable area, each of the one or more shared edges being collinear edges of two of the plurality of polygons; and

discarding the identified one or more shared edges.

14. The system of claim 13 , further comprising programming instructions that, when executed by a processor, will cause the processor to:

identify adjacent edges of the two of the plurality of polygons; and

combine the adjacent edges to form a single logical edge.

15. The system of claim 10 , wherein the threshold is about 120° to about 140° and is determined such that a pedestrian can move from one point of a logical segment of the boundary of the drivable area to another point on the logical segment following a shortest path without entering the drivable area for more than a threshold distance.

16. The system of claim 10 , further comprising programming instructions that, when executed by a processor, will cause the processor to:

identify a portion of the initial logical edge that has a first concavity greater than the threshold; and

upon identification of the portion, divide the initial logical edge into two logical segments.

17. The system of claim 10 , wherein:

the environment comprises an area substantially surrounded by the drivable area on all sides; and

the system further comprises programming instructions that when executed by the processor, will cause the processor to form a single logical segment of the boundary of the drivable area when it does not include one or more logical edges that have a concavity greater than the threshold.

18. The system of claim 10 , wherein:

the environment comprises an n-way intersection; and

the system further comprises programming instructions that when executed by the processor, will cause the processor to form n logical segments of the boundary of the drivable area.

19. A system for controlling navigation of an autonomous vehicle for traversing a drivable area, the system comprising:

a processor; and

a non-transitory computer readable medium comprising one or more programming instructions that, when executed by a processor, will cause the processor to:

receive information relating to a drivable area in an environment of the autonomous vehicle, wherein the drivable area comprises a plurality of polygons,

identify a plurality of logical edges that form a boundary of the drivable area,

sequentially, starting from an initial one of the plurality of logical edges and along the boundary of the drivable area, analyze concavities of each the plurality of logical edges until identification of a first logical edge that has a concavity greater than a threshold,

upon identification of the first logical edge, create a first logical segment of the boundary of the drivable area, the first logical segment comprising:

the initial one of the plurality of logical edges,

any logical edge that lies between the initial one of the plurality of logical edges and the first logical edge, and

at least a portion of the first logical edge;

identify a portion of the initial logical edge that has a first concavity greater than the threshold upon identification of the portion, divide the initial logical edge into two logical segments,

repeat the sequentially analyzing and creating steps until each of the plurality of logical edges has been classified into one of a plurality of logical segments of the boundary of the drivable area, each of the plurality of logical segments representative of a potential goal, on the drivable area boundary, of an actor when traversing the drivable area,

create a data representation of the drivable area that comprises an indication of the plurality of logical segments, and

add the data representation to a road network map comprising the drivable area, and

use the data representation to control navigation of the autonomous vehicle for traversing the drivable area.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2024
From: ARGO AI, LLC
To: VOLKSWAGEN GROUP OF AMERICA INVESTMENTS, LLC
Reel/Frame 069177/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: NICHOLS, GREGORY BOYD
To: ARGO AI, LLC
Reel/Frame 060491/0500 →
Continuity (1)
Related Publication 20220214690A1 · Jul 7, 2022