Lattice-Based Motion Planning with Optimal Motion Primitives
MetadataShow full item record
In the field of navigation for autonomous vehicles, it is the responsibility of a local planner to compute reference trajectories that are then be followed by a tracking controller. These trajectories should be safe, kinematically feasible, and optimize certain desirable features like low travel time and smoothness/comfort. Determining such trajectories is known as the motion planning problem and is the focus of this work. In general, the motion planning problem is intractable, and simplifications must be made in order to compute reference trajectories quickly and in real time. A common strategy involves adopting a simple kinematic model for the trajectory. However, overly simplified models can lead to references that are infeasible for the vehicle. These are hard for a tracking controller to follow resulting in large tracking error and frequent re-planning. In contrast, lattice-based motion planning simplifies the motion planning problem by restricting the set of allowable motions. In detail, lattice-based motion planning works by discretizing the configuration space of a vehicle into a regularly repeating grid called a lattice. The set of all optimal feasible trajectories between vertices of this lattice are pre-computed and a subset called a control set is selected. Trajectories of this pre-computed subset are then joined together online to form more complex compound maneuvers. Because trajectories between lattice vertices are pre-computed, the complexities of the motion planning problem are considered offline. While not every trajectory is available to a lattice-based planner, every trajectory that is available is feasible and optimal. Selecting a control set is an important step in lattice-based motion planning since the optimality of each element of the control set does not guarantee the optimality of compound maneuvers. These control sets are often selected based on intuition and experience. Broadly, the size of a control set has a positive effect on the quality of computed trajectories, but at the expense of run time performance. A control set is said to t-span a lattice if trajectories between lattice vertices can be approximated to within a factor of t as compound maneuvers of elements of the control set. Given an acceptable allowance t on the sub-optimality of compound maneuvers in a lattice, the problem of computing the smallest control set that t-spans the lattice is called the minimum t-spanning control set problem. In essence, this problem seeks to optimize a trade-off between the quality of compound maneuvers and the time required to compute them. This work details solutions and applications of the minimum t-spanning control set problem in autonomous vehicle navigation. In particular, we first investigate an instance of the problem that can be solved efficiently, provide an intuitive solution, and outline the applications of this instance in the field of any-angle path planning in a two dimensional environment. Next, we provide a novel method to compute trajectories that optimize an adjustable trade-off between certain desirable features. The relative importance of each of these features may differ by user, and the techniques developed here are able to reflect these preferences. The NP-completeness of the general minimum t-spanning control set problem is established here, and we present a mixed integer linear program that encodes the problem. The trajectories we propose in conjunction with the mixed integer linear program, result in a method to compute a minimum t-spanning control set whose elements are kinematically feasible and reflect the preferences of a user if those preferences are known. Finally, we consider the problem of simultaneously learning the preferences of a single user from demonstrations and computing sparse control sets for that user. We propose a technique to solve this problem that leverages a separation principle: first estimate the preferences of the user based on demonstrations, then compute a control set of trajectories that are optimal given the estimated preferences. We show that this approach optimally solves the problem. Combining the work of this thesis results in a method by which tailored control sets that reflect the preferences of a user can be determined from the demonstrations of that user. These control sets have the following beneficial attributes: 1) each element of the control set is optimal for the estimated preferences of the user, and 2) the control set optimizes a trade-off between the quality of compound maneuvers between lattice vertices -- as defined by the estimated preferences of the user -- and time required to compute them.
Cite this version of the work
Alexander Botros (2021). Lattice-Based Motion Planning with Optimal Motion Primitives. UWSpace. http://hdl.handle.net/10012/17817