IP Library › Granted Patent US 11,568,100
Granted Patent B2
US 11,568,100 · App. 16/457,745 · Granted Jan 31, 2023

Synthetic scenario simulator based on events

Inventor: Bryan Matthew O'Malley (Oviedo, FL)
Assignee: Zoox, Inc.
G06F30/20G05D1/0088G07C5/02G05D2201/0213G06F30/333
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,568,100
App. No.
16/457,745
Granted
Jan 31, 2023
Kind
B2
Abstract

A vehicle can capture data that can be converted into a synthetic scenario for use in a simulator. Objects can be identified in the data and attributes associated with the objects can be determined. The data can be used to generate a synthetic scenario of a simulated environment. The scenarios can include simulated objects that traverse the simulated environment and perform actions based on the attributes associated with the objects, the captured data, and/or interactions within the simulated environment. In some instances, the simulated objects can be filtered from the scenario based on attributes associated with the simulated objects and can be instantiated and/or destroyed based on triggers within the simulated environment. The scenarios can be used for testing and validating interactions and responses of a vehicle controller within the simulated environment.

Claims (109)

1. A system comprising:

one or more processors; and

one or more computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform operations comprising:

receiving simulation instructions associated with log data that is generated by an autonomous vehicle traversing an environment;

generating, based at least in part on the simulation instructions, a simulated scenario comprising a simulated environment;

generating, based at least in part on the simulation instructions, an instantiation region that is associated with a simulated object in the simulated environment, the simulated object associated with an object that is represented in the log data;

determining, based at least in part on the log data, a termination attribute associated with the simulated object;

determining a position associated with a simulated autonomous vehicle traversing the simulated environment;

instantiating, based at least in part on determining that the position is associated with the instantiation region and independent of the log data, the simulated object in the simulated environment;

determining, based at least in part on the simulation instructions, an initial trajectory associated with the simulated object;

determining a waypoint associated with the initial trajectory;

determining a simulation cost associated with the waypoint;

controlling, based at least in part on a simulated object controller, the initial trajectory, the simulation cost, and the termination attribute, the simulated object in the simulated environment; and

controlling, based at least in part on simulation data that represents a response of an autonomous vehicle controller operating in the simulated environment, the simulated autonomous vehicle in the simulated environment.

2. The system of claim 1 , wherein controlling the simulated object comprises:

generating a candidate trajectory associated with the simulated object;

determining a candidate cost that indicates a difference between the waypoint and the candidate trajectory; and

modifying the candidate trajectory to minimize the candidate cost.

3. The system of claim 2 , wherein the position is a first position, the operations further comprising:

determining a second position associated with the simulated autonomous vehicle,

wherein generating the candidate trajectory is based at least in part on the second position.

4. The system of claim 2 , wherein the difference is a first difference, and wherein the waypoint is associated with a simulated object attribute comprising at least one of:

an object position;

an object velocity;

an object acceleration; or

an object arrival time, and

wherein determining the candidate cost comprises:

determining a second difference between the simulated object attribute and the candidate trajectory.

5. The system of claim 1 , wherein the position is a first position, the operations further comprising:

determining a second position associated with the simulated autonomous vehicle;

generating, based at least in part on the simulation instructions, a destruction region that is associated with the simulated object in the simulated environment; and

destroying, based at least in part on determining that the second position is associated with the destruction region, the simulated object.

6. A method comprising:

receiving log data that is generated by a vehicle traversing an environment;

generating, based at least in part on the log data, a simulated scenario comprising a simulated environment;

generating, based at least in part on the log data, an instantiation region that is associated with a simulated object in the simulated environment;

determining, based at least in part on the log data, a termination attribute associated with the simulated object,

instantiating, based at least in part the instantiation region and a position of a simulated vehicle and independent of the log data, the simulated object;

determining a waypoint associated with the simulated object;

determining a simulation cost associated with the waypoint;

controlling, based at least in part on a simulated object controller, the waypoint, the simulation cost, and the termination attribute, the simulated object in the simulated environment; and

controlling, based at least in part on simulation data that represents a response of an autonomous vehicle controller operating in the simulated environment, the simulated vehicle in the simulated environment.

7. The method of claim 6 , wherein instantiating the simulated object comprises:

determining the position of the simulated vehicle; and

determining that the position is within the instantiation region.

8. The method of claim 6 , wherein controlling the simulated object comprises:

generating a candidate trajectory associated with the simulated object;

determining a candidate cost that indicates a difference between the waypoint and the candidate trajectory; and

modifying the candidate trajectory to minimize the candidate cost.

9. The method of claim 8 , further comprising:

determining an attribute associated with the simulated vehicle; and

wherein generating the candidate trajectory is based at least in part on the attribute.

10. The method of claim 9 , wherein the attribute comprises at least one of:

a vehicle position;

a vehicle velocity;

a vehicle acceleration; or

a vehicle action.

11. The method of claim 8 , wherein the difference is a first difference, and wherein the waypoint is associated with a simulated object attribute comprising at least one of:

an object position;

an object velocity;

an object acceleration; or

an object arrival time, and

wherein determining the candidate cost comprises:

determining a second difference between the simulated object attribute and the candidate trajectory.

12. The method of claim 6 , wherein the position is a first position, the method further comprising:

determining a second position associated with the simulated vehicle;

generating, based at least in part on the log data, a destruction region that is associated with the simulated object; and

destroying, based at least in part on the destruction region and the second position, the simulated object.

13. A non-transitory computer-readable medium storing instructions executable by a processor, wherein the instructions, when executed, cause the processor to perform operations comprising:

receiving data that is based at least in part on sensor data captured by a vehicle traversing an environment;

generating, based at least in part on the data, a simulated scenario comprising a simulated environment;

determining, based at least in part on the data, a region that is associated with a simulated object in the simulated environment;

instantiating, based at least in part the region and a position of a simulated vehicle and independent of log data, the simulated object;

determining, based at least in part on the log data, a termination attribute associated with the simulated object;

determining a waypoint associated with the simulated object;

controlling, based at least in part on simulation data that represents a response of a simulated object controller operating in the simulated environment, the waypoint, and the termination attribute, the simulated object in the simulated environment; and

controlling, based at least in part on a vehicle controller, the simulated vehicle in the simulated environment.

14. The non-transitory computer-readable medium of claim 13 , wherein instantiating the simulated object comprises:

determining the position associated with the simulated vehicle; and

determining that the position is within the region.

15. The non-transitory computer-readable medium of claim 13 , wherein controlling the simulated object comprises:

generating a candidate trajectory associated with the simulated object;

determining a candidate cost that indicates a difference between the waypoint and the candidate trajectory; and

modifying the candidate trajectory to reduce the candidate cost.

16. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

determining an attribute associated with the simulated vehicle; and

wherein generating the candidate trajectory is based at least in part on the attribute.

17. The non-transitory computer-readable medium of claim 16 , wherein the attribute comprises at least one of:

a vehicle position;

a vehicle velocity;

a vehicle acceleration; or

a vehicle action.

18. The non-transitory computer-readable medium of claim 15 , wherein:

the difference is a first difference;

the waypoint is associated with a simulated object attribute comprising at least one of:

an object position;

an object velocity;

an object acceleration; or

an object arrival time, and

determining the candidate cost comprises:

determining a second difference between the simulated object attribute and the candidate trajectory.

19. The non-transitory computer-readable medium of claim 13 , wherein the region is a first region, the operations further comprising:

determining a second region that is associated with the simulated object; and

destroying, based at least in part on the second region, the simulated object.

20. The non-transitory computer-readable medium of claim 19 , wherein the position is a first position, and wherein determining the second region comprises:

determining at least one of a:

a second position of the simulated vehicle;

a third position of the simulated object; or

a classification associated with the simulated object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2019
From: O'MALLEY, BRYAN MATTHEW
To: ZOOX, INC.
Reel/Frame 050348/0001 →
Continuity (1)
Related Publication 20200410063A1 · Dec 31, 2020
Cited By (1)
US 12,626,517