•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
RRTXstatic.h
Random number generation. An instance of this class cannot be used by multiple threads at once (membe...
Definition: RandomNumbers.h:88
MotionCompare(base::OptimizationObjectivePtr opt, base::ProblemDefinitionPtr pdef)
Constructor.
Definition: RRTXstatic.h:389
std::vector< Motion * > goalMotions_
A list of states in the tree that satisfy the goal condition.
Definition: RRTXstatic.h:524
void setVariant(const int variant)
Set variant used for rejection sampling.
Definition: RRTXstatic.h:347
double getEpsilon() const
Get the threshold epsilon the planner is using.
Definition: RRTXstatic.h:275
std::vector< std::pair< Motion *, bool > > nbh
The set of neighbors of this motion with a boolean indicating if the feasibility of edge as been test...
Definition: RRTXstatic.h:447
double goalBias_
The fraction of time the goal is picked as the state to expand towards (if such a state is available)
Definition: RRTXstatic.h:497
BinaryHeap< Motion *, MotionCompare > q_
Queue to order the nodes to update.
Definition: RRTXstatic.h:536
void setRange(double distance)
Set the range the planner is supposed to use.
Definition: RRTXstatic.h:285
void setup() override
Perform extra configuration steps, if needed. This call will also issue a call to ompl::base::SpaceIn...
Definition: RRTXstatic.cpp:89
bool getKNearest() const
Get the state of using a k-nearest search for rewiring.
Definition: RRTXstatic.h:329
void setNearestNeighbors()
Set a different nearest neighbors datastructure.
Definition: RRTXstatic.h:313
base::OptimizationObjectivePtr opt_
Pointer to the Optimization Objective.
Definition: RRTXstatic.h:415
bool getInformedSampling() const
Get the state direct heuristic sampling.
Definition: RRTXstatic.h:239
bool includeVertex(const Motion *x) const
Test if the vertex should be included according to the variant in use.
Definition: RRTXstatic.cpp:615
void setAlpha(const double a)
Set the value alpha used for rejection sampling.
Definition: RRTXstatic.h:361
void getNeighbors(Motion *motion) const
Gets the neighbours of a given motion, using either k-nearest of radius as appropriate.
Definition: RRTXstatic.cpp:592
void setUpdateChildren(bool val)
Set whether or not to always propagate cost updates to children.
Definition: RRTXstatic.h:335
Representation of a motion (node of the tree)
Definition: RRTXstatic.h:422
Definition of a cost value. Can represent the cost of a motion or the cost of a state.
Definition: Cost.h:111
Motion * lastGoalMotion_
The most recent goal motion. Used for PlannerData computation.
Definition: RRTXstatic.h:521
void calculateRewiringLowerBounds()
Calculate the k_RRG* and r_RRG* terms.
Definition: RRTXstatic.cpp:780
void setRewireFactor(double rewireFactor)
Set the rewiring scale factor, s, such that r_rrg = s \times r_rrg* (or k_rrg = s \times k_rrg*)
Definition: RRTXstatic.h:298
base::Cost costPlusHeuristic(const Motion *m) const
Combines the current cost of a motion and the heuritic to the goal.
Definition: RRTXstatic.h:395
void setSampleRejection(bool reject)
Controls whether heuristic rejection is used on samples (e.g., x_rand)
Definition: RRTXstatic.cpp:701
This class provides an implementation of an updatable min-heap. Using it is a bit cumbersome,...
Definition: BinaryHeap.h:84
void setNumSamplingAttempts(unsigned int numAttempts)
Set the number of attempts to make while performing rejection or informed sampling.
Definition: RRTXstatic.h:254
std::shared_ptr< NearestNeighbors< Motion * > > nn_
A nearest-neighbors datastructure containing the tree of motions.
Definition: RRTXstatic.h:493
void setKNearest(bool useKNearest)
Use a k-nearest search for rewiring instead of a r-disc search.
Definition: RRTXstatic.h:323
bool getSampleRejection() const
Get the state of the sample rejection option.
Definition: RRTXstatic.h:248
void removeFromParent(Motion *m)
Removes the given motion from the parent's child list.
Definition: RRTXstatic.cpp:572
BinaryHeap< Motion *, MotionCompare >::Element * handle
Handle to identify the motion in the queue.
Definition: RRTXstatic.h:450
void setInformedSampling(bool informedSampling)
Use direct sampling of the heuristic for the generation of random samples (e.g., x_rand)....
Definition: RRTXstatic.cpp:665
void getPlannerData(base::PlannerData &data) const override
Get information about the current run of the motion planner. Repeated calls to this function will upd...
Definition: RRTXstatic.cpp:645
unsigned int getNumSamplingAttempts() const
Get the number of attempts to make while performing rejection or informed sampling.
Definition: RRTXstatic.h:260
Defines the operator to compare motions.
Definition: RRTXstatic.h:386
bool getUpdateChildren() const
True if the cost is always propagate to children.
Definition: RRTXstatic.h:341
Motion(const base::SpaceInformationPtr &si)
Constructor that allocates memory for the state. This constructor automatically allocates memory for ...
Definition: RRTXstatic.h:427
double rewireFactor_
The rewiring factor, s, so that r_rrg = s \times r_rrg* > r_rrg* (or k_rrg = s \times k_rrg* > k_rrg*...
Definition: RRTXstatic.h:510
double distanceFunction(const Motion *a, const Motion *b) const
Compute distance between motions (actually distance between contained states)
Definition: RRTXstatic.h:463
bool operator()(const Motion *m1, const Motion *m2) const
Ordering of motions.
Definition: RRTXstatic.h:408
double getRewireFactor() const
Set the rewiring scale factor, s, such that r_rrg = s \times r_rrg* > r_rrg* (or k_rrg = s \times k_r...
Definition: RRTXstatic.h:306
unsigned int numSampleAttempts_
The number of attempts to make at informed sampling.
Definition: RRTXstatic.h:563
void clear() override
Clear all internal datastructures. Planner settings are not affected. Subsequent calls to solve() wil...
Definition: RRTXstatic.cpp:137
base::Cost alphaCostPlusHeuristic(const Motion *m, double alpha) const
Combines the current cost of a motion, weighted by alpha, and the heuritic to the goal.
Definition: RRTXstatic.h:401
base::PlannerStatus solve(const base::PlannerTerminationCondition &ptc) override
Function that can solve the motion planning problem. This function can be called multiple times on th...
Definition: RRTXstatic.cpp:154
double maxDistance_
The maximum length of a motion to be added to a tree.
Definition: RRTXstatic.h:500
bool updateChildren_
Whether or not to propagate the cost to children if the update is less than epsilon.
Definition: RRTXstatic.h:542
Main namespace. Contains everything in this library.
Definition: MultiLevelPlanarManipulatorDemo.cpp:65
std::vector< Motion * > children
The set of motions descending from the current motion.
Definition: RRTXstatic.h:443