VanaStateSpace.h
92 {
113 VanaStateSpace(double turningRadius = 1.0, double maxPitch = boost::math::double_constants::sixth_pi);
135 int flags = ~(STATESPACE_INTERPOLATION | STATESPACE_TRIANGLE_INEQUALITY | STATESPACE_DISTANCE_BOUND |
190 virtual void interpolate(const State *from, const State *to, double t, PathType &path, State *state) const;
200 virtual void interpolate(const State *from, const PathType &path, double t, State *state) const;
@ STATESPACE_DISTANCE_SYMMETRIC
Check whether the distance function is symmetric (StateSpace::distance())
Definition: StateSpace.h:206
bool hasSymmetricDistance() const override
Check if the distance function on this state space is symmetric, i.e. distance(s1,...
Definition: VanaStateSpace.h:185
bool isMetricSpace() const override
Return true if the distance function associated with the space is a metric.
Definition: VanaStateSpace.h:181
void registerProjections() override
Register the projections for this state space. Usually, this is at least the default projection....
Definition: VanaStateSpace.cpp:77
bool decoupled(const State *state1, const State *state2, double radius, PathType &path, DubinsStateSpace::StateType *endSZ) const
Helper function used by getPath.
Definition: VanaStateSpace.cpp:119
unsigned int validSegmentCount(const State *state1, const State *state2) const override
Count how many segments of the "longest valid length" fit on the motion from state1 to state2.
Definition: VanaStateSpace.cpp:202
This namespace contains sampling based planning routines shared by both planning under geometric cons...
Definition: ConstrainedSpaceInformation.h:86
virtual void sanityChecks() const
Convenience function that allows derived state spaces to choose which checks should pass (see SanityC...
Definition: StateSpace.cpp:603
@ STATESPACE_DISTANCE_BOUND
Check whether the StateSpace::distance() is bounded by StateSpace::getExtent()
Definition: StateSpace.h:216
void setBounds(const RealVectorBounds &bounds)
Set the bounds of this state space. This defines the range of the space in which sampling is performe...
Definition: VanaStateSpace.h:205
DubinsStateSpace dubinsSpace_
Definition: VanaStateSpace.h:308
void setTolerance(double tolerance)
Definition: VanaStateSpace.h:224
@ STATESPACE_TRIANGLE_INEQUALITY
Check whether the triangle inequality holds when using StateSpace::interpolate() and StateSpace::dist...
Definition: StateSpace.h:213
An SE(2) state space where distance is measured by the length of Dubins curves.
Definition: DubinsStateSpace.h:126
DubinsStateSpace::StateType * get2DPose(double x, double y, double yaw) const
Allocate a DubinsSpace state and initialize it.
Definition: VanaStateSpace.cpp:111
ompl::base::CompoundState StateType
Define the type of state allocated by this state space.
Definition: StateSpace.h:641
void interpolate(const State *from, const State *to, double t, State *state) const override
Computes the state that lies at time t in [0, 1] on the segment that connects from state to to state....
Definition: VanaStateSpace.cpp:207
bool hasSymmetricInterpolate() const override
Check if the interpolation function on this state space is symmetric, i.e. interpolate(from,...
Definition: VanaStateSpace.h:190
const RealVectorBounds & getBounds() const
Get the bounds for this state space.
Definition: VanaStateSpace.h:218
void sanityChecks() const override
Convenience function that allows derived state spaces to choose which checks should pass (see SanityC...
Definition: VanaStateSpace.h:195
std::optional< PathType > getPath(const State *state1, const State *state2) const
Compute a 3D Dubins path using the model and algorithm proposed by Vana et al.
Definition: VanaStateSpace.cpp:157
double distance(const State *state1, const State *state2) const override
Computes distance between two states. This function satisfies the properties of a metric if isMetricS...
Definition: VanaStateSpace.cpp:195
@ STATESPACE_INTERPOLATION
Check whether calling StateSpace::interpolate() works as expected.
Definition: StateSpace.h:209
State * allocState() const override
Allocate a state that can store a point in the described space.
Definition: VanaStateSpace.cpp:70
The lower and upper bounds for an Rn space.
Definition: RealVectorBounds.h:111