OpenDEStateSpace.cpp
43 ompl::control::OpenDEStateSpace::OpenDEStateSpace(OpenDEEnvironmentPtr env, double positionWeight, double linVelWeight,
156 void ompl::control::OpenDEStateSpace::copyState(base::State *destination, const base::State *source) const
178 if ((b1 != nullptr) && (b2 != nullptr) && (dAreConnectedExcluding(b1, b2, dJointTypeContact) != 0))
188 bool valid = reinterpret_cast<CallbackParam *>(data)->env->isValidCollision(o1, o2, contact[0]);
218 bool ompl::control::OpenDEStateSpace::satisfiesBoundsExceptRotation(const StateType *state) const
233 void ompl::control::OpenDEStateSpace::setLinearVelocityBounds(const base::RealVectorBounds &bounds)
239 void ompl::control::OpenDEStateSpace::setAngularVelocityBounds(const base::RealVectorBounds &bounds)
257 // this function should most likely not be used with OpenDE propagations, but just in case it is called, we need to make
260 void ompl::control::OpenDEStateSpace::interpolate(const base::State *from, const base::State *to, const double t,
272 // we need to make sure any collision information is cleared when states are sampled (just in case this ever
OpenDEEnvironmentPtr env_
Representation of the OpenDE parameters OMPL needs to plan.
Definition: OpenDEStateSpace.h:323
void copyState(base::State *destination, const base::State *source) const override
Copy a state to another. The memory of source and destination should NOT overlap.
Definition: OpenDEStateSpace.cpp:156
Representation of a space in which planning can be performed. Topology specific sampling,...
Definition: StateSpace.h:134
OpenDEStateSpace(OpenDEEnvironmentPtr env, double positionWeight=1.0, double linVelWeight=0.5, double angVelWeight=0.5, double orientationWeight=1.0)
Construct a state space representing OpenDE states.
Definition: OpenDEStateSpace.cpp:43
@ STATE_SPACE_TYPE_COUNT
Number of state space types; To add new types, use values that are larger than the count.
Definition: StateSpaceTypes.h:188
const T * as(unsigned int index) const
Cast a component of this instance to a desired type.
Definition: State.h:159
void setAngularVelocityBounds(const base::RealVectorBounds &bounds)
Set the bounds for each of the angular velocity subspaces.
Definition: OpenDEStateSpace.cpp:239
virtual void readState(base::State *state) const
Read the parameters of the OpenDE bodies and store them in state.
Definition: OpenDEStateSpace.cpp:321
StateSamplerPtr allocDefaultStateSampler() const override
Allocate an instance of the default uniform state sampler for this space.
Definition: StateSpace.cpp:1118
void freeState(base::State *state) const override
Free the memory of the allocated state.
Definition: OpenDEStateSpace.cpp:252
void lock()
Lock this state space. This means no further spaces can be added as components. This function can be ...
Definition: StateSpace.cpp:1163
virtual StateSamplerPtr allocStateSampler() const
Allocate an instance of the state sampler for this space. This sampler will be allocated with the sam...
Definition: StateSpace.cpp:800
OpenDE State. This is a compound state that allows accessing the properties of the bodies the state s...
Definition: OpenDEStateSpace.h:175
base::State * allocState() const override
Allocate a state that can store a point in the described space.
Definition: OpenDEStateSpace.cpp:245
A shared pointer wrapper for ompl::control::OpenDEEnvironment.
void setDefaultBounds()
By default, the volume bounds enclosing the geometry of the environment are computed to include all o...
Definition: OpenDEStateSpace.cpp:69
void setHigh(double value)
Set the upper bound in each dimension to a specific value.
Definition: RealVectorBounds.cpp:47
virtual void writeState(const base::State *state) const
Set the parameters of the OpenDE bodies to be the ones read from state. The code will technically wor...
Definition: OpenDEStateSpace.cpp:356
The definition of a state in SO(3) represented as a unit quaternion.
Definition: SO3StateSpace.h:154
void setLow(double value)
Set the lower bound in each dimension to a specific value.
Definition: RealVectorBounds.cpp:42
void interpolate(const base::State *from, const base::State *to, double t, 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....
Definition: OpenDEStateSpace.cpp:260
base::StateSamplerPtr allocDefaultStateSampler() const override
Allocate an instance of the default uniform state sampler for this space.
Definition: OpenDEStateSpace.cpp:307
This class contains the OpenDE constructs OMPL needs to know about when planning.
Definition: OpenDEEnvironment.h:130
The definition of a state in Rn
Definition: RealVectorStateSpace.h:141
base::StateSamplerPtr allocStateSampler() const override
Allocate an instance of the state sampler for this space. This sampler will be allocated with the sam...
Definition: OpenDEStateSpace.cpp:313
bool satisfiesBoundsExceptRotation(const StateType *state) const
This is a convenience function provided for optimization purposes. It checks whether a state satisfie...
Definition: OpenDEStateSpace.cpp:218
void setVolumeBounds(const base::RealVectorBounds &bounds)
Set the bounds for each of the position subspaces.
Definition: OpenDEStateSpace.cpp:227
virtual bool evaluateCollision(const base::State *state) const
Fill the OpenDEStateSpace::STATE_COLLISION_VALUE_BIT of StateType::collision member of a state,...
Definition: OpenDEStateSpace.cpp:202
ompl::base::CompoundState StateType
Define the type of state allocated by this state space.
Definition: StateSpace.h:641
void setLinearVelocityBounds(const base::RealVectorBounds &bounds)
Set the bounds for each of the linear velocity subspaces.
Definition: OpenDEStateSpace.cpp:233
A shared pointer wrapper for ompl::base::StateSampler.
void addSubspace(const StateSpacePtr &component, double weight)
Adds a new state space as part of the compound state space. For computing distances within the compou...
Definition: StateSpace.cpp:871
std::vector< StateSpacePtr > components_
The state spaces that make up the compound state space.
Definition: StateSpace.h:799
Main namespace. Contains everything in this library.
Definition: MultiLevelPlanarManipulatorDemo.cpp:65
The lower and upper bounds for an Rn space.
Definition: RealVectorBounds.h:111