IP Library Granted Patent US 12,275,427
Granted Patent B1
US 12,275,427 · App. 17/137,103 · Granted Apr 15, 2025

Evaluating driving data using autonomous vehicle control system

Inventors: Arun Venkatraman (Mountain View, CA); James Andrew Bagnell (Pittsburgh, PA); Haoyang Fan (Redwood City, CA)
Assignee: GOOGLE LLC
B60W60/001B60W40/09B60W50/0097B60W50/06G05D1/0088B60W2510/18
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,275,427
App. No.
17/137,103
Granted
Apr 15, 2025
Kind
B1
Abstract

Techniques are disclosed for evaluating manual driving data using an AV control system based on differences between data generated using the AV control system and the manual driving data. In many implementations, manual driving data captures action(s) of a vehicle controlled by a manual driver. Additionally or alternatively, an additional AV control system can be trained using the evaluated manual driving data.

Claims (71)

1. A method for evaluating manual driving data using an autonomous vehicle control system by emulating an autonomous vehicle control system response using previously captured historical manual driving data, the method implemented by one or more processors and comprising:

capturing multiple instances of manual driving data, the multiple instances of manual driving data including at least a first instance of manual driving data and a second instance of manual driving data that are captured during control of a vehicle by a manual driver, wherein the second instance of manual driving data is captured succeeding the first instance of manual driving data, and wherein the second instance indicates a next trajectory of the vehicle that followed a trajectory of the vehicle from the first instance;

storing the multiple instances of manual driving data;

subsequent to the storing, for a first iteration of a plurality of iterations:

identifying the first instance of manual driving data from the stored multiple instances of manual driving data, the first instance of manual driving data being previously captured during control of the vehicle by the manual driver and comprising:

first vehicle trajectory data that defines one or more aspects of the trajectory of the vehicle controlled by the manual driver, and

corresponding first environmental data that defines one or more aspects of an environment of the vehicle for the first instance;

emulating the autonomous vehicle control system response using the previously captured manual driving data by processing the first instance of manual driving data as input, using the autonomous vehicle control system, to generate a predicted next instance of autonomous vehicle control system trajectory data defining one or more aspects of a predicted trajectory that is predicted to follow the trajectory from the first instance of manual driving data;

determining manual driving latency based upon the first instance of manual driving data, the second instance of manual driving data and the generated predicted next instance of autonomous vehicle control system trajectory data;

comparing (a) the predicted next instance of autonomous vehicle control system trajectory data to (b) the second instance of manual driving data, the second instance of manual driving data being previously captured during the control of the vehicle by the manual driver, and following the first instance of manual driving data, wherein the second instance of manual driving data comprises second vehicle trajectory data that defines one or more aspects of the next trajectory, of the vehicle controlled by the manual driver, that followed the trajectory from the first instance and wherein the comparing further is based upon the determined manual driving latency;

determining a difference measure based on the comparing; and

evaluating the manual driving data based on the difference measure from the plurality of iterations, comprising:

identifying, based on the difference measure from the plurality of iterations, one or more particular portions of the manual driving data to be excluded from the manual driving data,

and

providing the manual driving data that excludes the one or more particular portions, wherein the providing causes training of an additional autonomous vehicle control system.

2. The method of claim 1 , wherein the plurality of iterations capture manual driving data during control of the vehicle by the same manual driver, and wherein evaluating the manual driving data based on the difference measure from the plurality of iterations comprises evaluating the manual driving data based on the difference measure from the plurality of iterations.

3. The method of claim 1 wherein the training of the additional autonomous vehicle control system comprises training a machine learning model of the additional autonomous vehicle control system with the manual driving data that excludes the one or more particular portions.

4. The method of claim 1 wherein the step of evaluating the manual driving data includes determining at least one evaluation metric.

5. The method of claim 4 wherein the at least one evaluation metric results in exclusion of the one or more particular portions of the manual driving data for the training of the additional autonomous vehicle control system.

6. The method of claim 5 wherein a plurality of evaluation metrics are determined in evaluating the manual driving data.

7. The method of claim 6 wherein one of the plurality of evaluation metrics is a braking metric.

8. The method of claim 1 wherein evaluating the manual driving data includes determining a geographic evaluation metric.

9. The method of claim 8 wherein evaluating the manual driving data includes determining the geographic evaluation metric by evaluating the manual driving data against a plurality of autonomous vehicle control systems.

10. The method of claim 9 wherein each of the plurality of autonomous vehicle control systems are trained with one of a plurality of previously obtained geographically unique manual driving data sets.

11. The method of claim 1 , wherein the corresponding first environmental data that defines one or more aspects of the environment of the vehicle for the first instance is captured using a sensor suite of the vehicle.

12. The method of claim 1 , wherein the first vehicle trajectory data that defines the one or more aspects of the trajectory of the vehicle for the first instance includes one or more aspects of the trajectory of the vehicle for one or more previous instances.

13. The method of claim 1 , wherein the corresponding first environmental data that defines the one or more aspects of the environment of the vehicle for the first instance includes one or more aspects of the environment of the vehicle for one or more previous instances.

14. The method of claim 1 , further comprising:

determining whether to classify the second instance of manual driving data as a deviation, based on the difference measure.

15. The method of claim 14 , wherein the difference measure is further determined using a latency engine to account for delays in the manual driving data and based on latency of the manual driver.

16. The method of claim 14 , wherein determining whether to classify the second instance of manual driving data as a deviation based on the difference measure comprises:

determining a z-score value based on the second instance of manual driving data and the predicted next instance of autonomous vehicle control system trajectory, the predicted next instance of autonomous vehicle control system trajectory being a Gaussian distribution;

determining the z-score value satisfies one or more conditions; and

in response determining the z-score value satisfies the one or more conditions, determining to classify the second instance of manual driving data as a deviation.

17. The method of claim 15 , wherein determining whether to classify the second instance of manual driving data as a deviation based on the difference measure comprises:

determining a z-score value based on the second instance of manual driving data and the predicted next instance of autonomous vehicle control system trajectory, the predicted next instance of autonomous vehicle control system trajectory being a Gaussian distribution;

determining the z-score value does not satisfy one or more conditions; and

in response determining the z-score value does not satisfy the one or more conditions, determining to not classify the second instance of manual driving data as a deviation.

18. The method of claim 15 , wherein determining to classify the second instance of manual driving data as a deviation based on the difference measure comprises:

determining a log likelihood value based on the second instance of manual driving data and the predicted next instance of autonomous vehicle control system trajectory, the predicted next instance of autonomous vehicle control system trajectory being a Gaussian distribution;

determining the log likelihood value satisfies one or more conditions; and

in response determining the log likelihood value satisfies the one or more conditions, determining to classify the second instance of manual driving data as a deviation.

19. The method of claim 1 , wherein the evaluating includes determining if the difference measure excludes instances of manual driving data for being outside of a predetermined threshold delay.

20. A system including one or more processors that execute instructions, stored in an associated memory, the instructions when executed by the one or more processors evaluate manual driving data using an autonomous vehicle control system by emulating an autonomous vehicle control system response using previously captured historical manual driving data, the system comprising:

capturing multiple instances of manual driving data, the multiple instances of manual driving data including at least a first instance of manual driving data and a second instance of manual driving data that are captured during control of a vehicle by a manual driver, wherein the second instance of manual driving data is captured succeeding the first instance of manual driving data, and wherein the second instance indicates a next trajectory of the vehicle that followed a trajectory of the vehicle from the first instance;

storing the multiple instances of manual driving data;

subsequent to the storing, for a first iteration of a plurality of iterations:

identifying the first instance of manual driving data from the stored multiple instances of manual driving data, the first instance of manual driving data being previously captured during control of the vehicle by the manual driver and comprising:

first vehicle trajectory data that defines one or more aspects of the trajectory of the vehicle controlled by the manual driver, and

corresponding first environmental data that defines one or more aspects of an environment of the vehicle for the first instance;

emulating the autonomous vehicle control system response using the previously captured manual driving data by processing the first instance of manual driving data as input, using the autonomous vehicle control system, to generate a predicted next instance of autonomous vehicle control system trajectory data defining one or more aspects of a predicted trajectory that is predicted to follow the trajectory from the first instance of manual driving data;

determining manual driving latency based upon the first instance of manual driving data, the second instance of manual driving data and the generated predicted next instance of autonomous vehicle control system trajectory data;

comparing (a) the predicted next instance of autonomous vehicle control system trajectory data to (b) the second instance of manual driving data, the second instance of manual driving data being previously captured during the control of the vehicle by the manual driver, and following the first instance of manual driving data, wherein the second instance of manual driving data comprises second vehicle trajectory data that defines one or more aspects of the next trajectory, of the vehicle controlled by the manual driver, that followed the trajectory from the first instance and wherein the comparing further is based upon the determined manual driving latency;

determining a difference measure based on the comparing; and

evaluating the manual driving data based on the difference measure from the plurality of iterations, comprising:

identifying, based on the difference measure from the plurality of iterations, one or more particular portions of the manual driving data to be excluded from the manual driving data, and

providing the manual driving data that excludes the one or more particular portions, wherein the providing causes training of an additional autonomous vehicle control system.

21. A non-transitory computer-readable storage medium storing instructions executable by one or more processors of a computing system to evaluate manual driving data using an autonomous vehicle control system by:

capturing multiple instances of manual driving data, the multiple instances of manual driving data including at least a first instance of manual driving data and a second instance of manual driving data that are captured during control of a vehicle by a manual driver, wherein the second instance of manual driving data is captured succeeding the first instance of manual driving data, and wherein the second instance indicates a next trajectory of the vehicle that followed a trajectory of the vehicle from the first instance;

storing the multiple instances of manual driving data;

subsequent to the storing, for a first iteration of a plurality of iterations:

identifying the first instance of manual driving data from the stored multiple instances of manual driving data, the first instance of manual driving data being previously captured during control of the vehicle by the manual driver and comprising:

first vehicle trajectory data that defines one or more aspects of the trajectory of the vehicle controlled by the manual driver, and

corresponding first environmental data that defines one or more aspects of an environment of the vehicle for the first instance;

emulating an autonomous vehicle control system response using the previously captured manual driving data by processing the first instance of manual driving data as input, using the autonomous vehicle control system, to generate a predicted next instance of autonomous vehicle control system trajectory data defining one or more aspects of a predicted trajectory that is predicted to follow the trajectory from the first instance of manual driving data;

determining manual driving latency based upon the first instance of manual driving data, the second instance of manual driving data and the generated predicted next instance of autonomous vehicle control system trajectory data;

comparing (a) the predicted next instance of autonomous vehicle control system trajectory data to (b) the second instance of manual driving data, the second instance of manual driving data being previously captured during the control of the vehicle by the manual driver, and following the first instance of manual driving data, wherein the second instance of manual driving data comprises second vehicle trajectory data that defines one or more aspects of the next trajectory, of the vehicle controlled by the manual driver, that followed the trajectory from the first instance and wherein the comparing further is based upon the determined manual driving latency;

determining a difference measure based on the comparing; and

evaluating the manual driving data based on the difference measure from the plurality of iterations, comprising:

identifying, based on the difference measure from the plurality of iterations, one or more particular portions of the manual driving data to be excluded from the manual driving data, and

providing the manual driving data that excludes the one or more particular portions, wherein the providing causes training of an additional autonomous vehicle control system.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Jun 29, 2021
From: AVIAN U MERGER SUB CORP.; AURORA INNOVATION, INC.
To: AURORA INNOVATION OPCO, INC.
Reel/Frame 056712/0669 →
CHANGE OF NAME Recorded Jun 29, 2021
From: AURORA INNOVATION OPCO, INC.
To: AURORA OPERATIONS, INC.
Reel/Frame 056712/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2021
From: VENKATRAMAN, ARUN; BAGNELL, JAMES ANDREW; FAN, HAOYANG
To: AURORA INNOVATION, INC.
Reel/Frame 054875/0073 →
Continuity (1)
Provisional Application 63013275 · Apr 21, 2020
References Cited (44)
US 8989914B1 · Nemat-Nasser · 2015 [cited by examiner]
US 11034361B2 · Boss et al. · 2021 [cited by applicant]
US 20160285700A1 · Gopalakrishnan · 2016 [cited by examiner]
US 20170286845A1 · Gifford et al. · 2017 [cited by applicant]
US 20180194349A1 · McGill, Jr. · 2018 [cited by examiner]
US 20190009794A1 · Toyoda et al. · 2019 [cited by applicant]
US 20190034794A1 · Ogale · 2019 [cited by examiner]
US 20190049967A1 · Lim et al. · 2019 [cited by applicant]
US 20190057166A1 · Liongosari · 2019 [cited by examiner]
US 20190077414A1 · Garcia · 2019 [cited by examiner]
US 20190111933A1 · Schoeggl · 2019 [cited by examiner]
US 20190118805A1 · Lim · 2019 [cited by examiner]
US 20190129436A1 · Sun · 2019 [cited by examiner]
US 20190161080A1 · Gochev et al. · 2019 [cited by applicant]
US 20190318206A1 · Smith · 2019 [cited by examiner]
US 20200019894A1 · Jin · 2020 [cited by examiner]
US 20200074266A1 · Peake · 2020 [cited by examiner]
US 20200089246A1 · McGill, Jr. · 2020 [cited by examiner]
US 20200269875A1 · Wray et al. · 2020 [cited by applicant]
US 20200272854A1 · Caesar · 2020 [cited by examiner]
US 20200278685A1 · Jang · 2020 [cited by examiner]
US 20200387156A1 · Xu · 2020 [cited by examiner]
US 20200393842A1 · Northcutt · 2020 [cited by examiner]
US 20220188624A1 · Kuehnle et al. · 2022 [cited by applicant]
WO 20170115940 · 2017 [cited by applicant]
WO 20220146721 · 2022 [cited by applicant]
WO 20220146722 · 2022 [cited by applicant]
Z-Score: Definition, Formula and Calculation, 2018, https://www.statisticshowto.com/probability-and-statistics/z-score/ (Year: 2018). [cited by examiner]
International Searching Authority; Search Report and Written Opinion for PCT Application No. PCT/US2021/063989; 17 pages; dated Apr. 14, 2022. [cited by applicant]
International Searching Authority; Search Report and Written Opinion for PCT Application No. PCT/US2021/064022; 14 pages; dated Apr. 11, 2022. [cited by applicant]
Berlincioni, Lorenzo et al; Multiple Future Prediction Leveraging Synthetic Trajectories; Oct. 18, 2020; 8 pages. [cited by applicant]
Makansi, Osama et al; Overcoming Limitations of Mixture Density Netowrks: A Sampling and Fitting Framework for Multimodal Future Prediction; Jun. 8, 2020; 18 pages. [cited by applicant]
Boulton, Freddy A., et al; Motion Prediction Using Trajectory Sets and Self-Driving Domain Knowledge; Jun. 8, 2020; 12 pages. [cited by applicant]
Zhang, Lingyao et al; Map-Adaptive Goal-Based Trajectory Prediction; Nov. 14, 2020; 14 pages. [cited by applicant]
Liang, Junwei et al; The Garden of Forking Paths: Towards Multi-Future Trajectory Prediction; Jun. 13, 2020; 12 pages. [cited by applicant]
United States Patent and Trademark Office, Non-Final Office Action for U.S. Appl. No. 17/137,095 dated May 24, 2022, 59 pages. [cited by applicant]
Carvalho, A.M. (2016); Predictive Control Under Uncertainity for Safe Autonomous Driving: Integrating Data-Driven Forecasts with Control Design, University of California, Berkeley (year 2016). [cited by applicant]
Bansal et al; ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst; Dec. 7, 2018, 20 pages. [cited by applicant]
Gao et al; VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation; May 8, 2020, 9 pages. [cited by applicant]
Haan et al; Causal Confusion in Imitation Learning, 33rd Conference on Neural Information Processing Systems (NeurIPS 2019), Vancouver, Canada, 12 pages. [cited by applicant]
Codevilla et al; Exploring the Limitations of Behavior Cloning for Autonomous Driving, 2019, 10 pages. [cited by applicant]
Google AI Blog; A Novel Neural Network Architecture for Language Understanding, Aug. 31, 2017, 9 pages. [cited by applicant]
United States Patent and Trademark Office, Non-Final Office Action for U.S. App. No. 17/137, 100 dated Jul. 11, 2022, 46 pages. [cited by applicant]
Kumar et al; Interaction-Based Trajectory Prediction Over a Hybrid Traffic Graph; Sep. 27, 2020, 12 pages. [cited by applicant]