IP Library Granted Patent US 12,545,297
Granted Patent B2
US 12,545,297 · App. 17/143,509 · Granted Feb 10, 2026

Methods and systems for generating a longitudinal plan for an autonomous vehicle based on behavior of uncertain road users

Inventors: Scott Julian Varnhagen (Ann Arbor, MI); Alice Kassar (Detroit, MI)
Assignee: Ford Global Technologies, LLC
B60W60/0018B60W30/08G06V20/58B60W2510/18B60W2554/4042B60W2554/4049
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,545,297
App. No.
17/143,509
Granted
Feb 10, 2026
Kind
B2
Abstract

A system includes a computing device of an autonomous vehicle and a computer-readable storage medium that includes one or more programming instructions. The system identifies one or more lead objects located in front of the autonomous vehicle, and, for each of the one or more lead objects that are identified, determines an action type associated with the lead object which is used to generate a longitudinal plan for the autonomous vehicle.

Claims (78)

1 . A method comprising:

by a computing device of an autonomous vehicle:

identifying one or more lead objects located in front of the autonomous vehicle,

for each of the one or more lead objects that are identified, determining an action type associated with the lead object, wherein the action type indicates a type of action for the autonomous vehicle to take with respect to the lead object, wherein the action type comprises a direct action type and an indirect action type,

for each of the one or more lead objects associated with the direct action type, generating one or more constraints associated with the lead object,

for each of the one or more lead objects associated with the indirect action type, generating one or more processing operations associated with the lead object,

generating a constraint set comprising at least a portion of the constraints generated for each of the one or more lead objects associated with the direct action type, wherein the direct action type includes an action taken by the autonomous vehicle to remain a certain distance from the one or more lead objects,

generating a processing operation set comprising at least a portion of the processing operations generated for each of the one or more lead objects associated with the indirect action type, wherein the indirect action type includes an action without directly considering the distance that the autonomous vehicle will remain from the one or more lead objects and

generating a longitudinal plan for the autonomous vehicle based in part on the constraint set associated with the direct action type and the processing operation set associated with the indirect action type; and

causing the autonomous vehicle to adjust its operation based on the longitudinal plan.

2 . The method of claim 1 , wherein causing the autonomous vehicle to adjust its operation based on the longitudinal plan comprises one or more of the following:

causing the autonomous vehicle to limit its positive acceleration, or causing the autonomous vehicle to decelerate.

3 . The method of claim 1 , wherein determining an action type associated with the one or more lead objects comprises:

identifying a stopping authority of the autonomous vehicle; and

determining whether the autonomous vehicle would interact with the one or more lead objects if the autonomous vehicle exercised the stopping authority.

4 . The method of claim 3 , wherein the stopping authority comprises one or more of the following:

a maximum rate of deceleration; or

a maximum rate-of-change of acceleration.

5 . The method of claim 3 , wherein determining whether the autonomous vehicle would interact with the one or more lead objects if the autonomous vehicle exercised the stopping authority comprises:

identifying a safety margin associated with the one or more lead objects, wherein the safety margin represents the certain distance away from the one or more lead objects;

propagating one or more states of the autonomous vehicle over a time period to a complete stop;

for each propagated state, determining whether a distance between the autonomous vehicle in the propagated state at a time in the time period and a predicted position of the one or more lead objects at the time is less than the safety margin; and

in response to determining that the distance between the autonomous vehicle in the propagated state at the time and a predicted position of the one or more lead objects at the time is less than the safety margin, assigning the one or more lead objects the direct action type.

6 . The method of claim 1 , wherein determining an action type associated with the one or more lead objects comprises:

determining a certainty level associated with the lead object; determining a severity of action associated with the one or more lead objects; determining an object type associated with the one or more lead objects;

identifying a rate of deceleration and a rate of jerk associated with the certainty level, the severity of action, and the object type; and

determining whether an interaction with the one or more lead objects can be avoided if the autonomous vehicle exercises the rate of deceleration and the rate of jerk.

7 . The method of claim 6 , wherein determining whether an interaction with the one or more lead objects can be avoided if the autonomous vehicle exercises the rate of deceleration and the rate of jerk comprises:

identifying a safety margin associated with the one or more lead objects, wherein the safety margin represents a distance away from the one or more lead objects;

propagating one or more states of the autonomous vehicle over a time period to a complete stop; and

for each propagated state, determining whether a distance between the autonomous vehicle in the propagated state at a time in the time period and a predicted position of the one or more lead objects at the time is less than the safety margin.

8 . The method of claim 7 , further comprising:

in response to determining that the distance between the autonomous vehicle in the propagated state at the time and a predicted position of the one or more lead objects at the time is less than the safety margin, assigning the one or more lead objects the direct action type.

9 . The method of claim 7 , further comprising:

in response to determining that the distance between the autonomous vehicle in the propagated state at the time and a predicted position of the one or more lead objects at the time is not less than the safety margin, assigning the one or more lead objects the indirect action type.

10 . The method of claim 1 , wherein generating a constraint set comprises combining the at least a portion of the constraints generated for each of the one or more lead objects associated with the direct action type.

11 . The method of claim 1 , wherein generating a processing operation set comprises combining the at least a portion of the processing operations generated for each of the one or more lead objects associated with the indirect action type.

12 . The method of claim 1 , wherein generating a longitudinal plan for the autonomous vehicle comprises providing a most restrictive constraint from the constraint set and a most restrictive processing operation from the processing operation set to a longitudinal controller of the autonomous vehicle.

13 . A system comprising:

a computing device of an autonomous vehicle; and

a computer-readable storage medium, comprising one or more programming instructions that, when executed, cause the computing device to:

identify one or more lead objects located in front of the autonomous vehicle,

for each of the one or more lead objects that are identified, determine an action type associated with the lead object, wherein the action type indicates a type of action for the autonomous vehicle to take with respect to the lead object, wherein the action type comprises a direct action type and an indirect action type,

for each of the one or more lead objects associated with the direct action type, generate one or more constraints associated with the lead object,

for each of the one or more lead objects associated with the indirect action type, generate one or more processing operations associated with the lead object,

generate a constraint set comprising at least a portion of the constraints generated for each of the one or more lead objects associated with the direct action type, wherein the direct action type includes an action taken by the autonomous vehicle to remain a certain distance from the one or more lead objects,

generate a processing operation set comprising at least a portion of the processing operations generated for each of the one or more lead objects associated with the indirect action type, wherein the indirect action type includes an action without directly considering the distance that the autonomous vehicle will remain from the one or more lead objects, and

generate a longitudinal plan for the autonomous vehicle based in part on the constraint set associated with the direct action type and the processing operation set associated with the indirect action type; and

cause the autonomous vehicle to adjust its operation based on the longitudinal plan.

14 . The system of claim 13 , wherein the one or more programming instructions that, when executed, cause the autonomous vehicle to adjust its operation based on the longitudinal plan comprises one or more programming instructions that, when executed, cause the autonomous vehicle to perform one or more of the following:

limit its positive acceleration, or

decelerate.

15 . The system of claim 13 , wherein the one or more programming instructions that, when executed, cause the computing device to determine an action type associated with the one or more lead objects comprises one or more programming instructions that, when executed, cause the computing device to:

identify a stopping authority of the autonomous vehicle; and

determine whether the autonomous vehicle would interact with the one or more lead objects if the autonomous vehicle exercised the stopping authority.

16 . The system of claim 15 , wherein the stopping authority comprises one or more of the following:

a maximum rate of deceleration; or

a maximum rate-of-change of acceleration.

17 . The system of claim 15 , wherein the one or more programming instructions that, when executed, cause the computing device to determine whether the autonomous vehicle would interact with the one or more lead objects if the autonomous vehicle exercised the stopping authority comprises one or more programming instructions that, when executed, cause the computing device to:

identify a safety margin associated with the one or more lead objects, wherein the safety margin represents the certain distance away from the one or more lead objects;

propagate one or more states of the autonomous vehicle over a time period to a complete stop;

for each propagated state, determine whether a distance between the autonomous vehicle in the propagated state at a time in the time period and a predicted position of the one or more lead objects at the time is less than the safety margin; and

in response to determining that the distance between the autonomous vehicle in the propagated state at the time and a predicted position of the one or more lead objects at the time is less than the safety margin, assign the one or more lead objects the direct action type.

18 . The system of claim 13 , wherein the one or more programming instructions that, when executed, cause the computing device to determine an action type associated with the one or more lead objects comprises one or more programming instructions that, when executed, cause the computing device to:

determine a certainty level associated with the one or more lead objects;

determine a severity of action associated with the one or more lead objects; determine an object type associated with the one or more lead objects;

identify a rate of deceleration and a rate of jerk associated with the certainty level, the severity of action, and the object type; and

determine whether an interaction with the one or more lead objects can be avoided if the autonomous vehicle exercises the rate of deceleration and the rate of jerk.

19 . The system of claim 18 , wherein the one or more programming instructions that, when executed, cause the computing device to determine whether an interaction with the one or more lead objects can be avoided if the autonomous vehicle exercises the rate of deceleration and the rate of jerk comprises one or more programming instructions that, when executed, cause the computing device to:

identify a safety margin associated with the one or more lead objects, wherein the safety margin represents a distance away from the one or more lead objects;

propagate one or more states of the autonomous vehicle over a time period to a complete stop; and

for each propagated state, determine whether a distance between the autonomous vehicle in the propagated state at a time in the time period and a predicted position of the one or more lead objects at the time is less than the safety margin.

20 . The system of claim 19 , wherein the computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the computing device to:

in response to determining that the distance between the autonomous vehicle in the propagated state at the time and a predicted position of the one or more lead objects at the time is less than the safety margin, assign the one or more lead objects the direct action type; and

in response to determining that the distance between the autonomous vehicle in the propagated state at the time and a predicted position of the one or more lead objects at the time is not less than the safety margin, assign the one or more lead objects the indirect action type.

21 . The system of claim 13 , wherein the one or more programming instructions that, when executed, cause the computing device to generate a constraint set comprises one or more programming instructions that, when executed, cause the computing device to combine the at least a portion of the constraints generated for each of the one or more lead objects associated with the direct action type.

22 . The system of claim 13 , wherein the one or more programming instructions that, when executed, cause the computing device to generate a processing operation set comprises one or more programming instructions that, when executed, cause the computing device to combine the at least a poltion of the processing operations generated for each of the one or more lead objects associated with the indirect action type.

23 . The system of claim 13 , wherein the one or more programming instructions that, when executed, cause the computing device to generate a longitudinal plan for the autonomous vehicle comprises one or more programming instructions that, when executed, cause the computing device to provide a most restrictive constraint from the constraint set and a most restrictive processing operation from the processing operation set to a longitudinal controller of the autonomous vehicle.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2023
From: ARGO AI, LLC
To: FORD GLOBAL TECHNOLOGIES, LLC
Reel/Frame 063025/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2021
From: VARNHAGEN, SCOTT JULIAN; KASSAR, ALICE
To: ARGO AI, LLC
Reel/Frame 054845/0801 →
Continuity (1)
Related Publication 20220212694A1 · Jul 7, 2022
References Cited (14)
US 9656667B2 · Agnew et al. · 2017 [cited by applicant]
US 10156850B1 · Ansari et al. · 2018 [cited by applicant]
US 10248129B2 · Reed · 2019 [cited by applicant]
US 20180164822A1 · Chu et al. · 2018 [cited by applicant]
US 20190243371A1 · Nister · 2019 [cited by examiner]
US 20190291728A1 · Shalev-Shwartz · 2019 [cited by examiner]
US 20200064851A1 · Wilkinson · 2020 [cited by applicant]
US 20200139967A1 · Beller · 2020 [cited by examiner]
US 20210031760A1 · Ostafew · 2021 [cited by examiner]
US 20210114617A1 · Phillips · 2021 [cited by examiner]
US 20210200212A1 · Urtasun · 2021 [cited by examiner]
US 20220227367A1 · Kario · 2022 [cited by examiner]
US 20220379917A1 · Henke · 2022 [cited by examiner]
CN 110654377A · 2020 [cited by applicant]