SpaceInformation.h
182 {
271 }
311 bool searchValidNearby(State *state, const State *near, double distance, unsigned int attempts) const;
332 unsigned int randomBounceMotion(const StateSamplerPtr &sss, const State *start, unsigned int steps,
345 virtual bool checkMotion(const State *s1, const State *s2, std::pair<State *, double> &lastValid) const
381 virtual unsigned int getMotionStates(const State *s1, const State *s2, std::vector<State *> &states,
403 void samplesPerSecond(double &uniform, double &near, double &gaussian, unsigned int attempts) const;
413 {
void setMotionValidator(const MotionValidatorPtr &mv)
Set the instance of the motion validity checker to use. Parallel implementations of planners assume t...
Definition: SpaceInformation.h:229
A shared pointer wrapper for ompl::base::StateValidityChecker.
virtual unsigned int getMotionStates(const State *s1, const State *s2, std::vector< State * > &states, unsigned int count, bool endpoints, bool alloc) const
Get count states that make up a motion between s1 and s2. Returns the number of states that were adde...
Definition: SpaceInformation.cpp:200
void enforceBounds(State *state) const
Bring the state within the bounds of the state space.
Definition: SpaceInformation.h:188
StateValidityCheckerPtr stateValidityChecker_
The instance of the state validity checker used for determining the validity of states in the plannin...
Definition: SpaceInformation.h:502
virtual bool checkMotion(const State *s1, const State *s2, std::pair< State *, double > &lastValid) const
Incrementally check if the path between two motions is valid. Also compute the last state that was va...
Definition: SpaceInformation.h:406
void setDefaultMotionValidator()
Set default motion validator for the state space.
Definition: SpaceInformation.cpp:108
unsigned int getStateDimension() const
Return the dimension of the state space.
Definition: SpaceInformation.h:271
void setStateValidityCheckingResolution(double resolution)
Set the resolution at which state validity needs to be verified in order for a motion between two sta...
Definition: SpaceInformation.h:253
double averageValidMotionLength(unsigned int attempts) const
Estimate the length of a valid motion. setup() is assumed to have been called.
Definition: SpaceInformation.cpp:361
double getMaximumExtent() const
Get the maximum extent of the space we are planning in. This is the maximum distance that could be re...
Definition: SpaceInformation.h:358
StateSpacePtr stateSpace_
The state space planning is to be performed in.
Definition: SpaceInformation.h:498
void copyState(State *destination, const State *source) const
Copy a state to another.
Definition: SpaceInformation.h:312
void clearValidStateSamplerAllocator()
Clear the allocator used for the valid state sampler. This will revert to using the uniform valid sta...
Definition: SpaceInformation.cpp:126
const MotionValidatorPtr & getMotionValidator() const
Return the instance of the used state validity checker.
Definition: SpaceInformation.h:236
std::function< ValidStateSamplerPtr(const SpaceInformation *)> ValidStateSamplerAllocator
Definition of a function that can allocate a valid state sampler.
Definition: ValidStateSampler.h:195
double probabilityOfValidState(unsigned int attempts) const
Estimate probability of sampling a valid state. setup() is assumed to have been called.
Definition: SpaceInformation.cpp:336
void allocStates(std::vector< State * > &states) const
Allocate memory for each element of the array states.
Definition: SpaceInformation.h:292
double getSpaceMeasure() const
Get a measure of the space (this can be thought of as a generalization of volume)
Definition: SpaceInformation.h:277
void printState(const State *state, std::ostream &out=std::cout) const
Print a state to a stream.
Definition: SpaceInformation.h:194
void samplesPerSecond(double &uniform, double &near, double &gaussian, unsigned int attempts) const
Estimate the number of samples that can be drawn per second, using the sampler returned by allocState...
Definition: SpaceInformation.cpp:400
const StateValidityCheckerPtr & getStateValidityChecker() const
Return the instance of the used state validity checker.
Definition: SpaceInformation.h:221
StateSamplerPtr allocStateSampler() const
Allocate a uniform state sampler for the state space.
Definition: SpaceInformation.h:329
A shared pointer wrapper for ompl::base::MotionValidator.
unsigned int randomBounceMotion(const StateSamplerPtr &sss, const State *start, unsigned int steps, std::vector< State * > &states, bool alloc) const
Produce a valid motion starting at start by randomly bouncing off of invalid states....
Definition: SpaceInformation.cpp:132
double getStateValidityCheckingResolution() const
Get the resolution at which state validity is verified. This call is only applicable if a ompl::base:...
Definition: SpaceInformation.h:263
virtual void printSettings(std::ostream &out=std::cout) const
Print information about the current instance of the state space.
Definition: SpaceInformation.cpp:428
void freeStates(std::vector< State * > &states) const
Free the memory of an array of states.
Definition: SpaceInformation.h:305
void setValidStateSamplerAllocator(const ValidStateSamplerAllocator &vssa)
Set the allocator to use for a valid state sampler. This replaces the default uniform valid state sam...
Definition: SpaceInformation.cpp:120
void setStateValidityChecker(const StateValidityCheckerPtr &svc)
Set the instance of the state validity checker to use. Parallel implementations of planners assume th...
Definition: SpaceInformation.h:207
std::function< bool(const State *)> StateValidityCheckerFn
If no state validity checking class is specified (StateValidityChecker), a std::function can be speci...
Definition: SpaceInformation.h:137
bool satisfiesBounds(const State *state) const
Check if a state is inside the bounding box.
Definition: SpaceInformation.h:176
virtual void printProperties(std::ostream &out=std::cout) const
Print properties of the current instance of the state space.
Definition: SpaceInformation.cpp:443
const StateSpacePtr & getStateSpace() const
Return the instance of the used state space.
Definition: SpaceInformation.h:161
ValidStateSamplerPtr allocValidStateSampler() const
Allocate an instance of a valid state sampler for this space. If setValidStateSamplerAllocator() was ...
Definition: SpaceInformation.cpp:328
A shared pointer wrapper for ompl::base::StateSpace.
unsigned int getCheckedMotionCount() const
Get the total number of motion segments checked by the MotionValidator so far.
Definition: SpaceInformation.h:446
A shared pointer wrapper for ompl::base::StateSampler.
bool searchValidNearby(State *state, const State *near, double distance, unsigned int attempts) const
Find a valid state near a given one. If the given state is valid, it will be returned itself....
Definition: SpaceInformation.cpp:182
A shared pointer wrapper for ompl::base::ValidStateSampler.
bool equalStates(const State *state1, const State *state2) const
Check if two states are the same.
Definition: SpaceInformation.h:170
virtual void setup()
Perform additional setup tasks (run once, before use). If state validity checking resolution has not ...
Definition: SpaceInformation.cpp:57
double distance(const State *state1, const State *state2) const
Compute the distance between two states.
Definition: SpaceInformation.h:182
ValidStateSamplerAllocator vssa_
The optional valid state sampler allocator.
Definition: SpaceInformation.h:512
bool setup_
Flag indicating whether setup() has been called on this instance.
Definition: SpaceInformation.h:509
ParamSet & params()
Get the combined parameters for the classes that the space information manages.
Definition: SpaceInformation.h:473
MotionValidatorPtr motionValidator_
The instance of the motion validator to use when determining the validity of motions in the planning ...
Definition: SpaceInformation.h:506
bool isValid(const State *state) const
Check if a given state is valid or not.
Definition: SpaceInformation.h:155