For several vehicle models it is possible to compute the optimal
(i.e., shortest) path between a start and end state. The two
most commonly studied vehicle models are the Dubins car and the
Reeds-Shepp car. Both are first-order models. The Dubins car’s
controls are: go straight, turn left, and turn right. The Reeds-
Shepp car has the same controls, but can also execute them in
reverse. The optimal paths for these vehicles can be computed
analytically and consist of 3 to 5 circle and straight-line
segments. In OMPL we could model cars with a system of
differential equations and use a control-based planner. For the
Dubins and Reeds-Shepp cars, however, we simply use a geometric
planner and plan in SE(2). Rather than straight-line
interpolation between states, we’d like to use the appropriate
optimal path in our local planner. This is done by creating two
new state spaces, ompl::base::DubinsStateSpace and
ompl::base::ReedsSheppStateSpace, that override the distance and
interpolate member functions. The distance i