VanaOwenStateSpace.h
90 };
123 VanaOwenStateSpace(double turningRadius = 1.0, double maxPitch = boost::math::double_constants::sixth_pi);
145 int flags = ~(STATESPACE_INTERPOLATION | STATESPACE_TRIANGLE_INEQUALITY | STATESPACE_DISTANCE_BOUND |
@ 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: VanaOwenStateSpace.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 VanaOwen et al.
Definition: VanaOwenStateSpace.cpp:285
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: VanaOwenStateSpace.h:215
double getTolerance()
Definition: VanaOwenStateSpace.h:239
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
bool isValid(DubinsStateSpace::DubinsPath const &path, StateType const *state) const
Whether a path in SZ space satisfies Dubins path type and pitch constraints.
Definition: VanaOwenStateSpace.cpp:137
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: VanaOwenStateSpace.cpp:337
@ STATESPACE_DISTANCE_BOUND
Check whether the StateSpace::distance() is bounded by StateSpace::getExtent()
Definition: StateSpace.h:216
bool decoupled(const StateType *state1, const StateType *state2, double radius, PathType &path, std::array< DubinsStateSpace::StateType *, 3 > &scratch) const
Helper function used by getPath.
Definition: VanaOwenStateSpace.cpp:153
bool hasSymmetricInterpolate() const override
Check if the interpolation function on this state space is symmetric, i.e. interpolate(from,...
Definition: VanaOwenStateSpace.h:200
const RealVectorBounds & getBounds() const
Get the bounds for this state space.
Definition: VanaOwenStateSpace.h:228
DubinsStateSpace dubinsSpace_
Definition: VanaOwenStateSpace.h:314
void setTolerance(double tolerance)
Definition: VanaOwenStateSpace.h:234
@ 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
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: VanaOwenStateSpace.cpp:330
void registerProjections() override
Register the projections for this state space. Usually, this is at least the default projection....
Definition: VanaOwenStateSpace.cpp:95
ompl::base::CompoundState StateType
Define the type of state allocated by this state space.
Definition: StateSpace.h:641
Complete description of a Dubins path.
Definition: DubinsStateSpace.h:172
DubinsStateSpace::StateType * get2DPose(double x, double y, double yaw) const
Allocate a DubinsSpace state and initialize it.
Definition: VanaOwenStateSpace.cpp:129
bool isMetricSpace() const override
Return true if the distance function associated with the space is a metric.
Definition: VanaOwenStateSpace.h:191
@ STATESPACE_INTERPOLATION
Check whether calling StateSpace::interpolate() works as expected.
Definition: StateSpace.h:209
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: VanaOwenStateSpace.cpp:342
void sanityChecks() const override
Convenience function that allows derived state spaces to choose which checks should pass (see SanityC...
Definition: VanaOwenStateSpace.h:205
State * allocState() const override
Allocate a state that can store a point in the described space.
Definition: VanaOwenStateSpace.cpp:88
The lower and upper bounds for an Rn space.
Definition: RealVectorBounds.h:111