IP Library Granted Patent US 10,691,127
Granted Patent B2
US 10,691,127 · App. 16/193,801 · Granted Jun 23, 2020

Trajectory generation using temporal logic and tree search

Inventors: Marin Kobilarov (Mountain View, CA); Timothy Caldwell (Mountain View, CA); Vasumathi Raman (San Francisco, CA); Christopher Paxton (Mountain View, CA); Joona Markus Petteri Kiiski (Cupertino, CA); Jacob Lee Askeland (San Jose, CA); Robert Edward Somers (Sunnyvale, CA)
Assignee: Zoox, Inc.
G05D1/0088B60W30/09G01C21/3407G05D1/0055G05D1/0212G05D1/0223G05D1/0272G05D1/0274G06N3/04G06N3/08G05D2201/0213
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,691,127
App. No.
16/193,801
Granted
Jun 23, 2020
Kind
B2
Abstract

Techniques for determining a trajectory for an autonomous vehicle are described herein. In general, determining a route can include utilizing a search algorithm such as Monte Carlo Tree Search (MCTS) to search for possible trajectories, while using temporal logic formulas, such as Linear Temporal Logic (LTL), to validate or reject the possible trajectories. Trajectories can be selected based on various costs and constraints optimized for performance. Determining a trajectory can include determining a current state of the autonomous vehicle, which can include determining static and dynamic symbols in an environment. A context of an environment can be populated with the symbols, features, predicates, and LTL formula. Rabin automata can be based on the LTL formula, and the automata can be used to evaluate various candidate trajectories. Nodes of the MCTS can be generated and actions can be explored based on machine learning implemented as, for example, a deep neural network.

Claims (69)

1. A system comprising:

one or more processors; and

a computer-readable medium storing computer-executable instructions that, when executed, cause the system to perform operations comprising:

generating a plurality of candidate trajectories for an autonomous vehicle;

selecting, based at least in part on an environment proximate to the autonomous vehicle, a temporal logic formula;

evaluating a candidate trajectory of the plurality of candidate trajectories based at least in part on an automaton determined by the temporal logic formula;

selecting, as a selected trajectory, the candidate trajectory based at least part on a result of the evaluating and on a cost associated with the candidate trajectory; and

controlling the autonomous vehicle based at least in part on the selected trajectory.

2. The system of claim 1 , wherein the temporal logic formula is further based at least in part on a symbol representing a portion of the environment proximate to the autonomous vehicle.

3. The system of claim 2 , the operations further comprising one or more of:

receiving the symbol from map data representing the environment; or

determining the symbol based at least in part on sensor data captured by the autonomous vehicle.

4. The system of claim 1 , the operations further comprising:

determining, based at least in part on the symbol, a feature; and

determining, based at least in part on the symbol or the feature, a predicate;

wherein the temporal logic formula is further based at least in part on at least one of the feature or the predicate.

5. The system of claim 1 , the operations further comprising:

generating the automaton based at least in part on the temporal logic formula; and

evaluating the candidate trajectory using the automaton, wherein the automaton comprises at least one of a Rabin automaton, a Büchi automaton, a Streett automaton, a Parity automaton, or a Muller automaton;

wherein selecting the candidate trajectory as the selected trajectory is further based at least in part on evaluating the candidate trajectory using the automaton.

6. The system of claim 1 , the operations further comprising:

populating a tree search with a first snapshot of the environment at a first time, the first snapshot based at least in part on the candidate trajectory;

selecting an action based at least in part on the first snapshot and at least one machine learning algorithm;

evolving the first snapshot over a time step by applying the action to the first snapshot to generate a second snapshot; and

add a node to the tree search based at least in part on a termination condition associated with the action, the node representing a speculative snapshot associated with the environment associated with a second time after the first time.

7. The system of claim 1 , the operations further comprising:

populating a tree search with a plurality of candidate trajectories, the plurality of trajectories comprising at least the candidate trajectory; and

adding at least one node to the tree search based at least in part on a machine learning algorithm comprising a neural network.

8. A method comprising:

generating a plurality of candidate trajectories for an autonomous vehicle;

populating a tree search with a candidate trajectory of the plurality of candidate trajectories;

selecting, based at least in part an environment proximate to the autonomous vehicle a temporal logic formula;

evaluating a candidate trajectory of the plurality of candidate trajectories based at least in part on an automaton determined by the temporal logic formula;

selecting, as a selected trajectory, the candidate trajectory based at least part on a result of the evaluating and on a cost associated with the candidate trajectory; and

controlling the autonomous vehicle based at least in part on the selected trajectory.

9. The method of claim 8 , wherein the temporal logic formula is further based at least in part on symbol representing a portion of the environment proximate to the autonomous vehicle.

10. The method of claim 9 , further comprising one or more of:

receiving the symbol from map data representing the environment; or

determining the symbol based at least in part on sensor data captured by the autonomous vehicle.

11. The method of claim 8 , further comprising:

determining, based at least in part on the symbol, a feature; and

determining, based at least in part on the symbol or the feature, a predicate;

wherein the temporal logic formula is further based at least in part on at least one of the feature or the predicate.

12. The method of claim 8 , wherein the temporal logic formula comprises at least one of a linear temporal logic formula or a signal temporal logic formula.

13. The method of claim 8 , further comprising:

generating the automaton based at least in part on the temporal logic formula; and

evaluating the candidate trajectory using the automaton, wherein the automaton comprises at least one of a Rabin automaton, a Büchi automaton, a Streett automaton, a Parity automaton, or a Muller automaton;

wherein selecting the candidate trajectory as the selected trajectory is further based at least in part on evaluating the candidate trajectory using the automaton.

14. The method of claim 8 , further comprising:

adding at least one node to the tree search based at least in part on a machine learning algorithm comprising a neural network.

15. One or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform operations comprising:

generating, based at least in part on a tree search, a plurality of candidate trajectories for an autonomous vehicle;

selecting, based at least in part an environment proximate to the autonomous vehicle, a temporal logic formula;

evaluating a candidate trajectory of the plurality of candidate trajectories based at least in part on an automaton determined by the temporal logic formula;

selecting, as a selected trajectory, the candidate trajectory based at least part on a result of the evaluating and on a cost associated with the candidate trajectory; and

controlling the autonomous vehicle based at least in part on the selected trajectory.

16. The one or more non-transitory computer-readable media of claim 15 , wherein evaluating the candidate trajectory is based at least in part on the temporal logic formula that is based at least in part on a symbol representing a portion of the environment proximate to the autonomous vehicle.

17. The one or more non-transitory computer-readable media of claim 16 , the operations further comprising one or more of:

receiving the symbol from map data representing the environment; or

determining the symbol based at least in part on sensor data captured by the autonomous vehicle.

18. The one or more non-transitory computer-readable media of claim 16 , wherein the temporal logic formula comprises at least one of a linear temporal logic formula or a signal temporal logic formula.

19. The one or more non-transitory computer-readable media of claim 16 , the operations further comprising:

generating an automaton based at least in part on the temporal logic formula; and

evaluating the candidate trajectory using the automaton, wherein the automaton comprises at least one of a Rabin automaton, a Büchi automaton, a Streett automaton, a Parity automaton, or a Muller automaton;

wherein selecting the candidate trajectory as the selected trajectory is further based at least in part on evaluating the candidate trajectory using the automaton.

20. The one or more non-transitory computer-readable media of claim 15 , the operations further comprising:

determining, based at least in part on the symbol, a feature; and

determining, based at least in part on the symbol or the feature, a predicate;

wherein the temporal logic formula is further based at least in part on at least one of the feature or the predicate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2019
From: KOBILAROV, MARIN; CALDWELL, TIMOTHY; RAMAN, VASUMATHI; PAXTON, CHRISTOPHER; KIISKI, JOONA MARKUS PETTERI; ASKELAND, JACOB LEE; SOMERS, ROBERT EDWARD
To: ZOOX, INC.
Reel/Frame 048775/0851 →
Continuity (3)
Continuation 15632147 · Jun 23, 2017
Provisional Application 62465724 · Mar 1, 2017
Related Publication 20190101919A1 · Apr 4, 2019
Cited By (3)
US 12,280,770 US 12,384,410 US 12,583,107