  Lattice-based planning techniques simplify the motion planning problem for
autonomous vehicles by limiting available motions to a pre-computed set of
primitives. These primitives are then combined online to generate more complex
maneuvers. A set of motion primitives t-span a lattice if, given a real number
t at least 1, any configuration in the lattice can be reached via a sequence of
motion primitives whose cost is no more than a factor of t from optimal.
Computing a minimal t-spanning set balances a trade-off between computed motion
quality and motion planning performance. In this work, we formulate this
problem for an arbitrary lattice as a mixed integer linear program. We also
propose an A*-based algorithm to solve the motion planning problem using these
primitives. Finally, we present an algorithm that removes the excessive
oscillations from planned motions -- a common problem in lattice-based
planning. Our method is validated for autonomous driving in both parking lot
and highway scenarios.
