This paper describes a fast and efficient approach to nonholonomic motion planning.  A holonomic motion planner is first used to plan a path for the robot ignoring the nonholonomic constraints.  A nonholonomic planner transforms this path into a feasible nonholonomic path, and then optimizes it.  As Latombe notes, this method is a combination of existing planners with a number of improvements to increase the speed of the algorithm.

The holonomic motion planner performs a best-first search in the discretized three dimensional C-space using a potential function to guide the search.  A number of techniques are employed to speed up this planner.  In order to avoid computing a potential function in the full three dimensional configuration space, a weighted combination of potential functions for two control points on the robot is used. Although these component potential functions (which can be computed in the two dimensional workspace) are free of local minima, their comination may not be.  Local minima encountered during the search are dealt with by doing a local search, essentially ``filling up'' the local minimum until a saddle point is found.  One drawback to this algorithm is that it cannot always quickly determine when no path exists.

The nonholonomic planner transforms the holonomic path by recursively attemping to replace segments of the path by collision-free Reeds \& Shepp paths.  This is guaranteed to succeed because a free holonomic path can always be broken into a finite number of subpaths such that the shortest Reeds \& Shepp curves connecting the endpoints also lie in the free space (Taix 1991).  The path is then optimized by randomly selecting two configurations along the path and attempting to replace them with a collision-free Reeds \& Shepp curve.  As much optimization can be done as time allows.  Occasionally, this optimization fails to produce a good path; in these cases the holonomic planner is called upon to generate another path (here, by planning in reverse from the goal to the start).