Motion planning might be the area of autonomous vehicle development that is most open to new discovery right now.
As part of the Udacity Self-Driving Car Nanodegree Program we teach a one-month module on Path Planning that covers environmental prediction, behavioral planning, and trajectory generation. These are the three key components of a planner.
Of these three components, trajectory generation is well understood, and environmental planning involves so much uncertainty that basic estimates are fine.
But behavioral planning remains an unsolved problem. How do you best determine which maneuver to make when cars and bikes and pedestrians are moving around?
One approach is to build a finite-state machine. This is in fact what we and our partners at Mercedes-Benz teach in the Nanodegree Program. Finite state machines work well for highway driving, which is structured. But it can break down in the chaos of urban driving; urban driving requires so many states.
So what other options are available?
Wikipedia’s entry on Motion Planning actually provides a pretty thorough high-level overview.
There are so many options! If you’re interested in becoming a path planner, it’s worth a quick read.