IP Library Granted Patent US 10,795,804
Granted Patent B1
US 10,795,804 · App. 16/107,023 · Granted Oct 6, 2020

Collision evaluation for log-based simulations

Inventors: Carl Nygaard (Sunnyvale, CA); Alexander Ruben Stacey McCarthy (San Francisco, CA); James Stout (Mountain View, CA)
Assignee: Waymo LLC
G06F11/3664G06F11/3684
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 10,795,804
App. No.
16/107,023
Granted
Oct 6, 2020
Kind
B1
Abstract

The disclosure relate to testing software for operating an autonomous vehicle. For instance, a first simulation may be run. The simulation may be run using the software to control a simulated vehicle and at least one agent. During the running of the first simulation, whether a particular type of interaction between the simulated vehicle and the at least one agent has occurred may be determined. In response to this determination, a second simulation may be run using the log data by replacing the at least one agent with a model agent that simulates a road user capable of responding to actions performed by the simulated vehicle. The second simulation may be used to determine in order to determine whether the software is able to complete the second simulation without the particular type of interaction between a second simulated vehicle and the model agent occurring.

Claims (42)

1. A method of testing software for operating a vehicle in an autonomous driving mode, the method comprising:

accessing, from a storage system, log data collected by a vehicle operating in an autonomous driving mode,

running, by one or more processors, a first simulation using the log data,

wherein the first simulation is run using the software to control a first simulated vehicle, and

wherein the log data identifies at least one agent included in the first simulation;

during the running of the first simulation, determining, by the one or more processors, that a particular type of interaction between the first simulated vehicle and the at least one agent has occurred;

in response to the determining that the particular type of interaction between the first simulated vehicle and the at least one agent has occurred, running, by the one or more processors, a second simulation using the log data by replacing the at least one agent with a model agent that simulates a road user capable of responding to actions performed by simulated vehicles,

wherein the second simulation is run using the software to control a second simulated vehicle; and

determining, by the one or more processors, whether the particular type of interaction between the second simulated vehicle and the model agent has occurred in order to determine whether the software is able to complete the second simulation without the particular type of interaction between the second simulated vehicle and the model agent having occurred.

2. The method of claim 1 , wherein the particular type of interaction is a collision, and the method further comprises, when a collision between the second simulated vehicle and the model agent is determined to have occurred, flagging the second simulation for further review.

3. The method of claim 1 , further comprising:

when the software is determined to be not able to complete the second simulation without a collision, determining that the particular type of interaction between the second simulated vehicle and a second agent during the second simulation, the second agent being identified in the log data and included in the first simulation;

in response to determining the particular type of interaction between the second simulated vehicle and the second agent has occurred, running a third simulation using the log data by replacing the second agent with a second model agent that simulates a road user capable of responding to actions performed by simulated vehicles, and wherein the third simulation is run using the software to control a third simulated vehicle; and

monitoring the third simulation to determine whether the particular type of interaction between the second simulated vehicle and the second model agent has occurred in order to determine whether the software is able to complete the third simulation without the particular type of interaction between the third simulated vehicle and model agent having occurred.

4. The method of claim 3 , further comprising, continuing to run additional simulations by replacing additional agents identified in the log data with model agents until a predetermined number of model agents is included in one of the additional simulations.

5. The method of claim 4 , further comprising, when the particular type of interaction between the simulated vehicle and at least one model agent is determined for each of the additional simulations, flagging one or more of the first simulation, the second simulation, the third simulation, or the additional simulations for further review.

6. The method of claim 3 , wherein the particular type of interaction is a collision, and the method further comprises, when a collision between the third simulated vehicle and the second model agent is determined, flagging the third simulation for further review.

7. The method of claim 1 , further comprising, before running the second simulation, selecting the model agent from a plurality of different model agents based on a type of at least one agent.

8. The method of claim 1 , further comprising:

identifying a particular action of the first simulated vehicle during the first simulation; and

in response to identifying the particular action, running a second simulation using the log data by adding a second model agent, wherein the second model agent is a model that simulates a road user capable of responding to actions performed by simulated vehicles.

9. The method of claim 8 , wherein the particular action includes partially exiting and re-entering a lane.

10. The method of claim 8 , wherein the particular action includes decelerating a predetermined amount over a predetermined period of time.

11. The method of claim 8 , wherein the particular action includes swerving within a lane.

12. The method of claim 8 , wherein running the third simulation includes placing the second model agent at a location through which the simulated vehicle passes at a time when the simulated vehicle performed the particular action during the first simulation.

13. The method of claim 1 , wherein the second simulated vehicle in the second simulation is a same simulated vehicle as the first simulated vehicle in the first simulation.

14. A method of testing software for operating a vehicle in an autonomous driving mode, the method comprising:

accessing, from a storage system, log data collected by a vehicle operating in an autonomous driving mode,

running, by one or more processors, a first simulation using the log data,

wherein the first simulation is run using the software to control a first simulated vehicle, and

wherein the log data identifies at least one agent included in the first simulation;

during the running of the first simulation, identifying, by the one or more processors, a particular action of the first simulated vehicle;

in response to the identifying the particular action, running, by the one or more processors, a second simulation using the log data by adding a model agent,

wherein the model agent is a model that simulates a road user capable of responding to actions performed by simulated vehicles, and

wherein the second simulation is run using the software to control a second simulated vehicle; and

determining, by the one or more processors, whether a particular type of interaction between the second simulated vehicle and the model agent has occurred in order to determine whether the software is able to complete the second simulation without the particular type of interaction between the second simulated vehicle and the model agent having occurred.

15. The method of claim 14 , wherein the particular type of action is a collision and the method further comprises, when a particular type of interaction between the simulated vehicle and with the second model agent occurs, flagging the second simulation for further review.

16. The method of claim 14 , wherein the particular action includes partially exiting and re-entering a lane.

17. The method of claim 14 , wherein the particular action includes decelerating a predetermined amount over a predetermined period of time.

18. The method of claim 14 , wherein the particular action includes swerving within a lane.

19. The method of claim 14 , wherein running the second simulation includes placing the second model agent at a location through which the simulated vehicle passes at a time when the simulated vehicle performed the particular action during the first simulation.

20. The method of claim 19 , wherein the second simulated vehicle in the second simulation is a same simulated vehicle as the first simulated vehicle in the first simulation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2018
From: NYGAARD, CARL; MCCARTHY, ALEXANDER RUBEN STACEY; STOUT, JAMES
To: WAYMO LLC
Reel/Frame 046740/0063 →
Cited By (2)
US 12,189,516 US 12,651,101