Trajectory generation using temporal logic and tree search
First Claim
1. A system for implementing a control algorithm for an autonomous vehicle, the system comprising:
- one or more processors; and
one or more computer readable storage media communicatively coupled to the one or more processors and storing instructions that are executable by the one or more processors to;
receive one or more symbols, the one or more symbols including at least one static symbol or at least one dynamic symbol;
determine, based at least in part on the one or more symbols, one or more features;
determine, based at least in part on the one or more symbols or the one or more features, one or more predicates;
determine, based at least in part on the one or more symbols, one or more features, or one or more predicates, one or more linear temporal logic (LTL) formulas;
determine, based at least in part on the one or more LTL formulas, one or more automaton;
utilize a Monte Carlo Tree Search (MCTS) to generate one or more candidate trajectories;
evaluate the one or more candidate trajectories using the one or more automaton, wherein the one or more automaton verifies that the one or more candidate trajectories satisfies the one or more LTL formulas associated with the one or more automaton;
determine, based at least in part on a cost function, a cost associated with a trajectory of the one or more candidate trajectories;
select, as a selected trajectory, the trajectory of the one or more candidate trajectories based at least in part on the cost; and
control the autonomous vehicle based at least in part on the selected trajectory.
1 Assignment
0 Petitions
Accused Products
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.
61 Citations
20 Claims
-
1. A system for implementing a control algorithm for an autonomous vehicle, the system comprising:
-
one or more processors; and one or more computer readable storage media communicatively coupled to the one or more processors and storing instructions that are executable by the one or more processors to; receive one or more symbols, the one or more symbols including at least one static symbol or at least one dynamic symbol; determine, based at least in part on the one or more symbols, one or more features; determine, based at least in part on the one or more symbols or the one or more features, one or more predicates; determine, based at least in part on the one or more symbols, one or more features, or one or more predicates, one or more linear temporal logic (LTL) formulas; determine, based at least in part on the one or more LTL formulas, one or more automaton; utilize a Monte Carlo Tree Search (MCTS) to generate one or more candidate trajectories; evaluate the one or more candidate trajectories using the one or more automaton, wherein the one or more automaton verifies that the one or more candidate trajectories satisfies the one or more LTL formulas associated with the one or more automaton; determine, based at least in part on a cost function, a cost associated with a trajectory of the one or more candidate trajectories; select, as a selected trajectory, the trajectory of the one or more candidate trajectories based at least in part on the cost; and control the autonomous vehicle based at least in part on the selected trajectory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
determining one or more symbols of an environment proximate to an autonomous vehicle; generating a context of the environment based at least in part on the one or more symbols; populating a tree search with one or more candidate trajectories; selecting, as a selected trajectory, a trajectory of the one or more candidate trajectories based at least part on an evaluation of the selected trajectory with respect to one or more temporal logic formulas or on one or more costs; and controlling the autonomous vehicle based at least in part on the selected trajectory. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
one or more processors; and one or more computer readable storage media communicatively coupled to the one or more processors and storing instructions that are executable by the one or more processors to; determine one or more symbols of an environment proximate to an autonomous vehicle; generate a context of the environment based at least in part on the one or more symbols; populate a tree search with one or more candidate trajectories; select, as a selected trajectory, a trajectory of the one or more candidate trajectories based at least part on an evaluation of the selected trajectory with respect to one or more temporal logic formulas or on one or more costs; and control the autonomous vehicle based at least in part on the selected trajectory. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification