Loading...
Searching...
No Matches
Syclop.h
117 Planner::declareParam<double>("prob_abandon_lead_early", this, &Syclop::setProbAbandonLeadEarly,
122 Planner::declareParam<double>("prob_shortest_path_lead", this, &Syclop::setProbShortestPathLead,
426 void sampleFullState(const base::StateSamplerPtr & /*sampler*/, const std::vector<double> & /*coord*/,
Random number generation. An instance of this class cannot be used by multiple threads at once (membe...
Definition RandomNumbers.h:58
Encapsulate a termination condition for a motion planner. Planners will call operator() to decide whe...
Definition PlannerTerminationCondition.h:64
A shared pointer wrapper for ompl::base::SpaceInformation.
A shared pointer wrapper for ompl::control::Decomposition.
virtual int getDimension() const
Returns the dimension of this Decomposition.
Definition Decomposition.h:83
virtual const base::RealVectorBounds & getBounds() const
Returns the bounds of this Decomposition.
Definition Decomposition.h:89
A GridDecomposition is a Decomposition implemented using a grid.
Definition GridDecomposition.h:54
Space information containing necessary information for planning with controls. setup() needs to be ca...
Definition SpaceInformation.h:71
Representation of an adjacency (a directed edge) between two regions in the Decomposition assigned to...
Definition Syclop.h:322
std::set< int > covGridCells
The cells of the underlying coverage grid that contain tree motions originating from direct connectio...
Definition Syclop.h:333
bool empty
This value is true if and only if this adjacency's source and target regions both contain zero tree m...
Definition Syclop.h:347
int numLeadInclusions
The number of times this adjacency has been included in a lead.
Definition Syclop.h:341
int numSelections
The number of times the low-level tree planner has selected motions from the source region when attem...
Definition Syclop.h:344
Motion(const SpaceInformation *si)
Constructor that allocates memory for the state and the control.
Definition Syclop.h:262
Representation of a region in the Decomposition assigned to Syclop.
Definition Syclop.h:279
std::set< int > covGridCells
The cells of the underlying coverage grid that contain tree motions from this region.
Definition Syclop.h:298
PDF< int >::Element * pdfElem
The Element corresponding to this region in the PDF of available regions.
Definition Syclop.h:316
double alpha
The coefficient contributed by this region to edge weights in lead computations.
Definition Syclop.h:310
double weight
The probabilistic weight of this region, used when sampling from PDF.
Definition Syclop.h:308
unsigned int numSelections
The number of times this region has been selected for expansion.
Definition Syclop.h:314
const Region & getRegionFromIndex(const int rid) const
Returns a reference to the Region object with the given index. Assumes the index is valid.
Definition Syclop.h:358
void setup() override
Perform extra configuration steps, if needed. This call will also issue a call to ompl::base::SpaceIn...
Definition Syclop.cpp:49
double getProbAbandonLeadEarly() const
Get the probability [0,1] that a lead will be abandoned early, before a new region is chosen for expa...
Definition Syclop.h:223
void setNumTreeExpansions(int treeExpansions)
Set the number of calls to selectAndExtend() in the low-level tree planner for a given lead and regio...
Definition Syclop.h:216
void setNumFreeVolumeSamples(int numSamples)
Set the number of states to sample when estimating free volume in the Decomposition.
Definition Syclop.h:160
void setProbShortestPathLead(double probability)
Set the probability [0,1] that a lead will be computed as a shortest-path instead of a random-DFS.
Definition Syclop.h:174
std::function< double(int, int)> EdgeCostFactorFn
Each edge weight between two adjacent regions in the Decomposition is defined as a product of edge co...
Definition Syclop.h:96
void clear() override
Clear all internal datastructures. Planner settings are not affected. Subsequent calls to solve() wil...
Definition Syclop.cpp:64
double probKeepAddingToAvail_
The probability that the set of available regions will be augmented.
Definition Syclop.h:370
double probShortestPath_
The probability that a lead will be computed as a shortest-path instead of a random-DFS.
Definition Syclop.h:367
virtual void selectAndExtend(Region ®ion, std::vector< Motion * > &newMotions)=0
Select a Motion from the given Region, and extend the tree from the Motion. Add any new motions creat...
void clearEdgeCostFactors()
Clears all edge cost factors, making all edge weights equivalent to 1.
Definition Syclop.cpp:228
Syclop(const SpaceInformationPtr &si, DecompositionPtr d, const std::string &plannerName)
Constructor. Requires a Decomposition, which Syclop uses to create high-level leads.
Definition Syclop.h:103
void addEdgeCostFactor(const EdgeCostFactorFn &factor)
Adds an edge cost factor to be used for edge weights between adjacent regions.
Definition Syclop.cpp:223
int numTreeSelections_
The number of calls to selectAndExtend() in the low-level tree planner for a given lead and region.
Definition Syclop.h:377
double getProbAddingToAvailableRegions() const
Get the probability [0,1] that the set of available regions will be augmented.
Definition Syclop.h:181
virtual Motion * addRoot(const base::State *s)=0
Add State s as a new root in the low-level tree, and return the Motion corresponding to s.
double probAbandonLeadEarly_
The probability that a lead will be abandoned early, before a new region is chosen for expansion.
Definition Syclop.h:381
int getNumFreeVolumeSamples() const
Get the number of states to sample when estimating free volume in the Decomposition.
Definition Syclop.h:153
void setProbAddingToAvailableRegions(double probability)
Set the probability [0,1] that the set of available regions will be augmented.
Definition Syclop.h:188
double getProbShortestPathLead() const
Get the probability [0,1] that a lead will be computed as a shortest-path instead of a random-DFS.
Definition Syclop.h:167
void setNumRegionExpansions(int regionExpansions)
Set the number of times a new region will be chosen and promoted for expansion from a given lead.
Definition Syclop.h:202
int numRegionExpansions_
The number of times a new region will be chosen and promoted for expansion from a given lead.
Definition Syclop.h:373
int getNumTreeExpansions() const
Get the number of calls to selectAndExtend() in the low-level tree planner for a given lead and regio...
Definition Syclop.h:209
std::function< void(int, int, std::vector< int > &)> LeadComputeFn
Leads should consist of a path of adjacent regions in the decomposition that start with the start reg...
Definition Syclop.h:100
void setProbAbandonLeadEarly(double probability)
The probability that a lead will be abandoned early, before a new region is chosen for expansion.
Definition Syclop.h:230
void setLeadComputeFn(const LeadComputeFn &compute)
Allows the user to override the lead computation function.
Definition Syclop.cpp:218
int numFreeVolSamples_
The number of states to sample to estimate free volume in the Decomposition.
Definition Syclop.h:364
DecompositionPtr decomp_
The high level decomposition used to focus tree expansion.
Definition Syclop.h:387
base::PlannerStatus solve(const base::PlannerTerminationCondition &ptc) override
Continues solving until a solution is found or a given planner termination condition is met....
Definition Syclop.cpp:75
int getNumRegionExpansions() const
Get the number of times a new region will be chosen and promoted for expansion from a given lead.
Definition Syclop.h:195
Main namespace. Contains everything in this library.
Definition MultiLevelPlanarManipulatorDemo.cpp:66
STL namespace.
bool approximateSolutions
Flag indicating whether the planner is able to compute approximate solutions.
Definition Planner.h:195
A class to store the exit status of Planner::solve()
Definition PlannerStatus.h:49
Contains default values for Syclop parameters.
Definition Syclop.h:238