For some of the wheeled vehicle models of Section 13.1.2,
the shortest path between any pair of configurations was completely
characterized. In this section,
, which
corresponds to the C-space for a rigid body in the plane. For each
model, the path length in
must be carefully defined to retain
some physical significance in the world
in which the
vehicle travels. For example, in the case of the simple car, the
distance in
traveled by the center of the rear axle will be
optimized. If the coordinate frame is assigned appropriately, this
corresponds to optimizing the path length in the
subspace of
while ignoring orientation. Keep in mind that the solutions
given in this section depend heavily on the particular cost functional
that is optimized.
Sections 15.3.1-15.3.3 cover the shortest paths
for the Dubins car, the Reeds-Shepp car, and a differential-drive model,
respectively. In each case, the paths can be elegantly described as
combinations of a few motion primitives. Due to symmetries, it is
sufficient to describe the optimal paths from a fixed initial
configuration
to any goal configuration
. If the optimal path is desired from a different
, then it can be recovered from rigid-body transformations applied
to
and
(the whole path can easily be translated and
rotated without effecting its optimality, provided that
does
not move relative to
). Alternatively, it may be convenient
to fix
and consider optimal paths from all possible
.
Once (or
) is fixed,
can be partitioned into
cells that correspond to sets of placements for
(or
). Inside of each cell, the optimal curve is described by a
fixed sequence of parameterized motion primitives. For example, one
cell for the Dubins car indicates ``turn left,'' ``go straight,'' and
then ``turn right.'' The curves are ideally suited for use as an
LPM in a sampling-based planning
algorithm.
This section mainly focuses on presenting the solutions. Establishing their correctness is quite involved and is based in part on Pontryagin's minimum principle from Section 15.2.3. Other important components are Filipov's existence theorem (see [903]) and Boltyanskii's sufficient condition for optimality (which also justifies dynamic programming) [130]. Substantially more details and justifications of the curves presented in Sections 15.3.1 and 15.3.2 appear in [903,904,923]. The corresponding details for the curves of Section 15.3.3 appear in [64].