Go to the documentation of this file. 1 #ifndef AIKIDO_OMPL_AIKIDOGEOMETRICSTATESPACE_HPP_
2 #define AIKIDO_OMPL_AIKIDOGEOMETRICSTATESPACE_HPP_
4 #include <ompl/base/StateSpace.h>
68 double maxDistanceBetweenValidityChecks);
77 #if OMPL_VERSION_AT_LEAST(1, 0, 0)
87 void enforceBounds(::ompl::base::State* state)
const override;
97 ::ompl::base::State* destination,
98 const ::ompl::base::State* source)
const override;
104 const ::ompl::base::State* state1,
105 const ::ompl::base::State* state2)
const override;
112 const ::ompl::base::State* state1,
113 const ::ompl::base::State* state2)
const override;
122 const ::ompl::base::State* from,
123 const ::ompl::base::State* to,
125 ::ompl::base::State* state)
const override;
131 ::ompl::base::State*
allocState()
const override;
141 void freeState(::ompl::base::State* state)
const override;
Wraps an aikido::statespace::StateSpace::State in an OMPL StateType.
Definition: GeometricStateSpace.hpp:28
distance::DistanceMetricPtr mDistance
Distance metric to compute distance between states in the statespace.
Definition: GeometricStateSpace.hpp:164
StateType(statespace::StateSpace::State *state)
Constructor.
aikido::statespace::ConstInterpolatorPtr getInterpolator() const
Return the interpolator used to interpolate between states in the space.
statespace::ConstStateSpacePtr mStateSpace
The AIKIDO statespace to be exposed to OMPL.
Definition: GeometricStateSpace.hpp:158
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
std::shared_ptr< Projectable > ProjectablePtr
Definition: Projectable.hpp:33
double getMaximumExtent() const override
Get the maximum value a call to distance() can return (or an upper bound).
double distance(const ::ompl::base::State *state1, const ::ompl::base::State *state2) const override
Computes distance between two states using the dmetric.
std::shared_ptr< DistanceMetric > DistanceMetricPtr
Definition: DistanceMetric.hpp:10
bool equalStates(const ::ompl::base::State *state1, const ::ompl::base::State *state2) const override
Check state equality.
void copyState(::ompl::base::State *destination, const ::ompl::base::State *source) const override
Copy the value of one state to another.
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
void interpolate(const ::ompl::base::State *from, const ::ompl::base::State *to, double t, ::ompl::base::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.
GeometricStateSpace(statespace::ConstStateSpacePtr sspace, statespace::ConstInterpolatorPtr interpolator, distance::DistanceMetricPtr dmetric, constraint::SampleablePtr sampler, constraint::ConstTestablePtr boundsConstraint, constraint::ProjectablePtr boundsProjection, double maxDistanceBetweenValidityChecks)
Construct a state space.
std::shared_ptr< Sampleable > SampleablePtr
Definition: Sampleable.hpp:16
statespace::ConstInterpolatorPtr mInterpolator
An aikido interpolator to interpolate between states of the statespace.
Definition: GeometricStateSpace.hpp:161
std::shared_ptr< const Interpolator > ConstInterpolatorPtr
Definition: Interpolator.hpp:12
aikido::constraint::ConstTestablePtr getBoundsConstraint() const
Return the bounds constraint for the statespace.
double getMaxDistanceBetweenValidityChecks() const
Returns the collision checking resolution.
bool satisfiesBounds(const ::ompl::base::State *state) const override
Check if a state satisfies the boundsConstraint.
constraint::ProjectablePtr mBoundsProjection
A Projectable that projects a state within valid bounds of statespace.
Definition: GeometricStateSpace.hpp:173
constexpr double EQUALITY_EPSILON
The maximum distance between two states for them to be considered equal.
Definition: GeometricStateSpace.hpp:21
constraint::SampleablePtr mSampler
State sampler used to sample states in the statespace.
Definition: GeometricStateSpace.hpp:167
statespace::ConstStateSpacePtr getAikidoStateSpace() const
Return the Aikido StateSpace that this OMPL StateSpace wraps.
statespace::StateSpace::State * mState
The wrapped aikido state.
Definition: GeometricStateSpace.hpp:36
Wraps an aikido StateSpace into a space recognized by OMPL.
Definition: GeometricStateSpace.hpp:24
double mMaxDistanceBetweenValidityChecks
Collision checking resolution.
Definition: GeometricStateSpace.hpp:176
unsigned int getDimension() const override
Get the dimension of the space.
Definition: StateSpace.hpp:167
::ompl::base::StateSamplerPtr allocDefaultStateSampler() const override
Allocate an instance of the state sampler for this space.
bool mValid
Indicates whether the state has been initialized to represent a valid state.
Definition: GeometricStateSpace.hpp:43
double getMeasure() const
void freeState(::ompl::base::State *state) const override
Free the memory of the allocated state.
constraint::ConstTestablePtr mBoundsConstraint
Constraint to determine if a state is within statespace bounds.
Definition: GeometricStateSpace.hpp:170
::ompl::base::State * allocState() const override
Allocate a state that can store a point in the described space.
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
std::shared_ptr< const Testable > ConstTestablePtr
Definition: Testable.hpp:13
void enforceBounds(::ompl::base::State *state) const override
Bring the state within the bounds of the statespace using boundsProjection.