IP Library › Granted Patent US 12,576,865
Granted Patent B2
US 12,576,865 · App. 18/071,463 · Granted Mar 17, 2026

Control system testing utilizing rulebook scenario generation

Inventors: Shakiba Yaghoubi (Cambridge, MA); Calin Belta (Sherborn, MA); Noushin Mehdipour (Allston, MA); Radboud Duintjer Tebbens (Newton Center, MA)
Assignee: Motional AD LLC
B60W50/06B60W60/0011B60W60/0015B60W2554/4026B60W2554/4029B60W2554/4046B60W2554/408
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,576,865
App. No.
18/071,463
Granted
Mar 17, 2026
Kind
B2
Abstract

Provided are methods for testing of a control system of a vehicle using generated rulebook based scenarios, which can include determining a simulated environment, receiving a hierarchical plurality of autonomous vehicle rules, determining a trajectory of a simulated vehicle within the simulated environment, generating a plurality of simulated scenarios for the simulated vehicle, identifying at least one violation of at least one autonomous vehicle rule by the simulated vehicle in a set of the simulated scenarios, determining a scenario score for each simulated scenario based on the violations, and identifying at least one simulated scenario for a trained neural network of a vehicle based on the scenario scores.

Claims (64)

1 . A method comprising:

determining, with at least one processor, a simulated environment, wherein the simulated environment includes a plurality of simulated environmental parameters and at least one simulated agent, wherein the at least one simulated agent comprises at least one agent parameter;

receiving a plurality of autonomous vehicle rules and a hierarchy for the plurality of autonomous vehicle rules;

determining, with the at least one processor, a trajectory of a simulated autonomous vehicle within the simulated environment;

generating a plurality of simulated scenarios for the simulated autonomous vehicle, wherein generating a particular simulated scenario of the plurality of simulated scenarios comprises modifying the at least one agent parameter of the at least one simulated agent;

identifying at least one violation of at least one autonomous vehicle rule by the simulated autonomous vehicle in a set of simulated scenarios of the plurality of simulated scenarios, wherein the at least one violation of the at least one autonomous vehicle rule is based on a response of the simulated autonomous vehicle to the set of simulated scenarios;

determining a set of rule violation priorities for the set of simulated scenarios, the set of rule violation priorities comprising a respective rule violation priority for each respective simulated scenario of the set of simulated scenarios based on the at least one violation of at least one autonomous vehicle rule and a position of the at least one autonomous vehicle rule within the hierarchy for the plurality of autonomous vehicle rules;

comparing the set of rule violation priorities;

based on comparing the set of rule violation priorities, determining that a simulated scenario of the set of simulated scenarios is more likely, as compared to other simulated scenarios of the set of simulated scenarios, to cause a trained neural network of an autonomous vehicle to identify a first trajectory of the autonomous vehicle that violates a first autonomous vehicle rule of the plurality of autonomous vehicle rules with a first rule violation priority instead of a second autonomous vehicle rule of the plurality of autonomous vehicle rules with a second rule violation priority, wherein the first rule violation priority exceeds the second rule violation priority;

in response to determining that the simulated scenario is more likely to cause the trained neural network to identify the first trajectory that violates the first autonomous vehicle rule instead of the second autonomous vehicle rule, selecting the simulated scenario from the set of simulated scenarios to test a response of the trained neural network to the simulated scenario;

providing the simulated scenario to a computing device associated with the trained neural network based on selecting the simulated scenario, wherein the trained neural network is configured to respond to the simulated scenario by identifying a respective trajectory of the autonomous vehicle based on the simulated scenario; and

adjusting and implementing a control strategy of a control system of the autonomous vehicle based on the response of the trained neural network to the simulated scenario such that the simulated scenario causes the trained neural network to identify a second trajectory of the autonomous vehicle that violates the second autonomous vehicle rule instead of the first autonomous vehicle rule.

2 . The method of claim 1 , wherein the at least one agent parameter comprises at least one location of the at least one simulated agent within the simulated environment.

3 . The method of claim 1 , wherein the at least one simulated agent comprises at least one of a pedestrian, a bicyclist, or a passenger or driver of another vehicle.

4 . The method of claim 1 , wherein the at least one agent parameter comprises at least one action of the at least one simulated agent, wherein the at least one action comprises at least one of walking on a sidewalk, entering a lane, entering a crosswalk, changing lanes, accelerating, parking, braking, or turning.

5 . The method of claim 1 , wherein the at least one agent parameter comprises at least one location of the at least one simulated agent within the simulated environment, wherein the at least one location comprises at least one of a location in a street, a location in a crosswalk, or a location in a sidewalk.

6 . The method of claim 1 , wherein the at least one agent parameter comprises a nature of the at least one simulated agent, wherein the nature of the at least one simulated agent comprises an aggressive nature or a passive nature.

7 . The method of claim 1 , wherein modifying the at least one agent parameter of the at least one simulated agent comprises at least one of:

adding or removing at least one parameter from the at least one agent parameter; or

modifying at least one value for the at least one agent parameter.

8 . The method of claim 1 , further comprising:

generating a test for the trained neural network, wherein the test is based on the simulated scenario; and

implementing the test, wherein the response of the trained neural network is based on the implementation of the test.

9 . The method of claim 1 , further comprising:

generating a test for the trained neural network, wherein the test is based on the simulated scenario;

implementing the test, wherein the response of the trained neural network is based on implementation of the test; and

transmitting a message to the control system of the autonomous vehicle to operate the autonomous vehicle based on the implementation of the test.

10 . The method of claim 1 , further comprising:

generating a test for the trained neural network, wherein the test is based on the simulated scenario; and

implementing the test, wherein the trained neural network is configured to identify the respective trajectory of the autonomous vehicle using at least one of minimum-violation planning or a model predictive control, wherein the response is based on implementation of the test.

11 . The method of claim 1 , wherein the plurality of simulated environmental parameters comprises static parameters and the at least one agent parameter comprises at least one of a static parameter or a dynamic parameter.

12 . The method of claim 1 , further comprising training the trained neural network to represent the control system of the autonomous vehicle.

13 . The method of claim 1 , wherein implementation of the trajectory of the simulated autonomous vehicle in the simulated environment based on the simulated scenario causes a violation of the first autonomous vehicle rule, wherein implementation of the trajectory of the simulated autonomous vehicle in the simulated environment based on another simulated scenario causes a violation of the second autonomous vehicle rule, wherein the first autonomous vehicle rule identifies that the simulated autonomous vehicle is to maintain a distance from a simulated parked vehicle and the second autonomous vehicle rule identifies that the simulated autonomous vehicle is to reach a destination or that the simulated autonomous vehicle is to stay in a simulated lane.

14 . The method of claim 1 , wherein each autonomous vehicle rule of the plurality of autonomous vehicle rules has a respective priority with respect to each other autonomous vehicle rule of the plurality of autonomous vehicle rules.

15 . The method of claim 1 , wherein determining the trajectory of the simulated autonomous vehicle comprises selecting the trajectory of the simulated autonomous vehicle from a set of trajectories based on at least one of a spatial length of the trajectory, a type of the trajectory, or a time period corresponding to the trajectory.

16 . The method of claim 1 , wherein selecting the simulated scenario is based on at least one of brute force optimization, simulated annealing, or particle swarm optimization.

17 . The method of claim 1 , further comprising selecting the simulated environment from a set of simulated environments, wherein the set of simulated environments comprises at least one of a simulated environment including a two lane road, a simulated environment including a one lane road, a simulated environment including a bridge, or a simulated environment including a tunnel.

18 . The method of claim 1 , further comprising assigning a rule score to each of the plurality of autonomous vehicle rules based on the hierarchy for the plurality of autonomous vehicle rules.

19 . A system, comprising:

at least one processor, and

at least one non-transitory storage media storing instructions that, when executed by the at least one processor, cause the at least one processor to:

determine a simulated environment, wherein the simulated environment includes a plurality of simulated environmental parameters and at least one simulated agent, wherein the at least one simulated agent comprises at least one agent parameter;

receive a plurality of autonomous vehicle rules and a hierarchy for the plurality of autonomous vehicle rules;

determine a trajectory of a simulated autonomous vehicle within the simulated environment;

generate a plurality of simulated scenarios for the simulated autonomous vehicle, wherein to generate a particular simulated scenario of the plurality of simulated scenarios, execution of the instructions by the at least one processor, causes the at least one processor to modify the at least one agent parameter of the at least one simulated agent;

identify at least one violation of at least one autonomous vehicle rule by the simulated autonomous vehicle in a set of simulated scenarios of the plurality of simulated scenarios, wherein the at least one violation of the at least one autonomous vehicle rule is based on a response of the simulated autonomous vehicle to the set of simulated scenarios;

determine a set of rule violation priorities for the set of simulated scenarios, the set of rule violation priorities comprising a respective rule violation priority for each respective simulated scenario of the set of simulated scenarios based on the at least one violation of at least one autonomous vehicle rule and a position of the at least one autonomous vehicle rule within the hierarchy for the plurality of autonomous vehicle rules;

compare the set of rule violation priorities;

based on comparing the set of rule violation priorities, determine that a simulated scenario of the set of simulated scenarios is more likely, as compared to other simulated scenarios of the set of simulated scenarios, to cause a trained neural network of an autonomous vehicle to identify a first trajectory of the autonomous vehicle that violates a first autonomous vehicle rule of the plurality of autonomous vehicle rules with a first rule violation priority instead of a second autonomous vehicle rule of the plurality of autonomous vehicle rules with a second rule violation priority, wherein the first rule violation priority exceeds the second rule violation priority;

in response to determining that the simulated scenario is more likely to cause the trained neural network to identify the first trajectory that violates the first autonomous vehicle rule instead of the second autonomous vehicle rule, select the simulated scenario from the set of simulated scenarios to test a response of the trained neural network to the simulated scenario;

provide the simulated scenario to a computing device associated with the trained neural network based on selecting the simulated scenario, wherein the trained neural network is configured to respond to the simulated scenario by identifying a respective trajectory of the autonomous vehicle based on the simulated scenario; and

adjust and implement a control strategy of a control system of the autonomous vehicle based on the response of the trained neural network to the simulated scenario such that the simulated scenario causes the trained neural network to identify a second trajectory of the autonomous vehicle that violates the second autonomous vehicle rule instead of the first autonomous vehicle rule.

20 . At least one non-transitory storage media storing instructions that, when executed by a computing system comprising a processor, cause the computing system to:

determine a simulated environment, wherein the simulated environment includes a plurality of simulated environmental parameters and at least one simulated agent, wherein the at least one simulated agent comprises at least one agent parameter;

receive a plurality of autonomous vehicle rules and a hierarchy for the plurality of autonomous vehicle rules;

determine a trajectory of a simulated autonomous vehicle within the simulated environment;

generate a plurality of simulated scenarios for the simulated autonomous vehicle, wherein to generate a particular simulated scenario of the plurality of simulated scenarios, execution of the instructions by the computing system, causes the computing system to modify the at least one agent parameter of the at least one simulated agent;

identify at least one violation of at least one autonomous vehicle rule by the simulated autonomous vehicle in a set of simulated scenarios of the plurality of simulated scenarios, wherein the at least one violation of the at least one autonomous vehicle rule is based on a response of the simulated autonomous vehicle to the set of simulated scenarios;

determine a set of rule violation priorities for the set of simulated scenarios, the set of rule violation priorities comprising a respective rule violation priority for each respective simulated scenario of the set of simulated scenarios based on the at least one violation of at least one autonomous vehicle rule and a position of the at least one autonomous vehicle rule within the hierarchy for the plurality of autonomous vehicle rules;

compare the set of rule violation priorities;

based on comparing the set of rule violation priorities, determine that a simulated scenario of the set of simulated scenarios is more likely, as compared to other simulated scenarios of the set of simulated scenarios, to cause a trained neural network of an autonomous vehicle to identify a first trajectory of the autonomous vehicle that violates a first autonomous vehicle rule of the plurality of autonomous vehicle rules with a first rule violation priority instead of a second autonomous vehicle rule of the plurality of autonomous vehicle rules with a second rule violation priority, wherein the first rule violation priority exceeds the second rule violation priority;

in response to determining that the simulated scenario is more likely to cause the trained neural network to identify the first trajectory that violates the first autonomous vehicle rule instead of the second autonomous vehicle rule, select the simulated scenario from the set of simulated scenarios to test a response of the trained neural network to the simulated scenario;

provide the simulated scenario to a computing device associated with the trained neural network based on selecting the simulated scenario, wherein the trained neural network is configured to respond to the simulated scenario by identifying a respective trajectory of the autonomous vehicle based on the simulated scenario; and

adjust and implement a control strategy of a control system of the autonomous vehicle based on the response of the trained neural network to the simulated scenario such that the simulated scenario causes the trained neural network to identify a second trajectory of the autonomous vehicle that violates the second autonomous vehicle rule instead of the first autonomous vehicle rule.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2023
From: YAGHOUBI, SHAKIBA; BELTA, CALIN; MEHDIPOUR, NOUSHIN; TEBBENS, RADBOUD DUINTJER
To: MOTIONAL AD LLC
Reel/Frame 064612/0235 →
Continuity (2)
Provisional Application 63371855 · Aug 18, 2022
Related Publication 20240059302A1 · Feb 22, 2024
References Cited (17)
US 9645577B1 · Frazzoli · 2017 [cited by examiner]
US 11577741B1 · Reschka · 2023 [cited by examiner]
US 11891088B1 · Kobilarov · 2024 [cited by examiner]
US 12060060B1 · Costantino · 2024 [cited by examiner]
US 20200192391A1 · Vora · 2020 [cited by examiner]
US 20200356849A1 · Xu et al. · 2020 [cited by applicant]
US 20220187837A1 · Tebbens et al. · 2022 [cited by applicant]
US 20240034353A1 · Cao · 2024 [cited by examiner]
US 20240143491A1 · Peters · 2024 [cited by examiner]
WO WO2024065671A1 · 2024 [cited by examiner]
Lei Yang, An Adaptive Cruise Control Method Based on Improved Variable Time Headway Strategy and Particle Swarm Optimization Algorithm, Sep. 24, 2020, IEEE, IEEE Access vol. 8 (Year: 2020). [cited by examiner]
SAE On-Road Automated Vehicle Standards Committee, “SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles”, Jun. 2018, in 35 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2023/072283, mailed Nov. 17, 2023. [cited by applicant]
Dolgov, D. et al., “Practical Search Techniques in Path Planning for Autonomous Driving”, American Association for Artificial Intelligence, 2008, pp. 1-6. [cited by applicant]
Hoel, C.-J. et al., “Combining Planning and Deep Reinforcement Learning in Tactical Decision Making for Autonomous Driving”, IEEE Transactions on Intelligent Vehicles, vol. 5, No. 2, 2019, pp. 1-12. [cited by applicant]
Liu, C. et al., “Path Planning for Autonomous Vehicles Using Model Predictive Control”, 2017 IEEE Intelligent Vehicles Symposium, 2017, pp. 1-6. [cited by applicant]
Paden, B. et al., “A Survey of Motion Planning and Control Techniques for Self-Driving Urban Vehicles”, IEEE Transactions on Intelligent Vehicles, vol. 1, No. 1, 2016, pp. 1-27. [cited by applicant]