/** \brief An SE(2) state space where distance is measured by the
- length of Dubins curves. Note that this Dubins distance is \b not
- a proper distance metric, so nearest neighbor methods that rely
- on distance() being a metric (such ompl::NearestNeighborsGNAT)
- will not always return the true nearest neighbors or get stuck
- in an infinite loop. This means that if you use any of the RRT-based
- planners (which use GNAT by default), you need to do the following:
-ob::StateSpacePtr stateSpace(new ob::DubinsStateSpace);
-og::RRTConnect* planner = new og::RRTConnect(setup.getSpaceInformation());
+ length of Dubins curves.
+ Note that this Dubins distance is \b not a proper distance metric,
+ so nearest neighbor methods that rely on distance() being a metric
+ (such as ompl::NearestNeighborsGNAT) will not always return the
+ true nearest neighbors or get stuck in an infinite loop.
The notation and solutions in the code are taken from:<br>
A.M. Shkel and V. Lumelsky, “Classification of the Dubins set,”
Robotics and Autonomous Systems, 34(4):179-202, 2001.
+ virtual bool isMetricSpace()
virtual double distance(const State *state1, const State *state2) const;
virtual void interpolate(const State *from, const State *to, const double t,