Class SyclopRRT
Defined in File SyclopRRT.h
Inheritance Relationships
Base Type
public ompl::control::Syclop
(Class Syclop)
Class Documentation
-
class SyclopRRT : public ompl::control::Syclop
SyclopRRT is Syclop with RRT as its low-level tree planner. .
Public Functions
-
inline SyclopRRT(const SpaceInformationPtr &si, const DecompositionPtr &d)
Constructor. Requires a Decomposition, which Syclop uses to create high-level leads.
-
inline ~SyclopRRT() override
-
virtual void setup() override
Perform extra configuration steps, if needed. This call will also issue a call to ompl::base::SpaceInformation::setup() if needed. This must be called before solving.
-
virtual void clear() override
Clear all internal datastructures. Planner settings are not affected. Subsequent calls to solve() will ignore all previous work.
-
virtual void getPlannerData(base::PlannerData &data) const override
Get information about the current run of the motion planner. Repeated calls to this function will update data (only additions are made). This is useful to see what changed in the exploration datastructure, between calls to solve(), for example (without calling clear() in between).
-
inline void setRegionalNearestNeighbors(bool enabled)
If regionalNearestNeighbors is enabled, then when computing the closest Motion to a generated state in a given Region, SyclopRRT will perform a linear search over the current Region and its neighbors instead of querying a NearestNeighbors datastructure over the whole tree. This approach is enabled by default, and should be disabled if there exist Regions of the Decomposition that will be extremely densely populated with states - in such cases, querying a global NearestNeighbors datastructure will probably be faster.
-
template<template<typename T> class NN>
inline void setNearestNeighbors() Set a different nearest neighbors datastructure.
Protected Functions
-
virtual Syclop::Motion *addRoot(const base::State *s) override
Add State s as a new root in the low-level tree, and return the Motion corresponding to s.
-
virtual void selectAndExtend(Region ®ion, std::vector<Motion*> &newMotions) override
Select a Motion from the given Region, and extend the tree from the Motion. Add any new motions created to newMotions.
-
void freeMemory()
Free the memory allocated by this planner.
-
inline double distanceFunction(const Motion *a, const Motion *b) const
Compute distance between motions (actually distance between contained states)
Protected Attributes
-
base::StateSamplerPtr sampler_
-
DirectedControlSamplerPtr controlSampler_
-
std::shared_ptr<NearestNeighbors<Motion*>> nn_
-
bool regionalNN_
-
Motion *lastGoalMotion_
The most recent goal motion. Used for PlannerData computation.
-
inline SyclopRRT(const SpaceInformationPtr &si, const DecompositionPtr &d)