Classes |
Public Types |
Public Member Functions |
Protected Member Functions |
Protected Attributes
ompl::control::Syclop Class Reference
Synergistic Combination of Layers of Planning. More...
#include <ompl/control/planners/syclop/Syclop.h>
Inheritance diagram for ompl::control::Syclop:

Classes | |
class | Adjacency |
Representation of an adjacency (a directed edge) between two regions in the Decomposition assigned to Syclop. More... | |
class | CoverageGrid |
Syclop uses a CoverageGrid to estimate coverage in its assigned Decomposition. The CoverageGrid should have finer resolution than the Decomposition. | |
struct | Defaults |
Contains default values for Syclop parameters. More... | |
class | Motion |
Representation of a motion. More... | |
class | Region |
Representation of a region in the Decomposition assigned to Syclop. More... | |
Public Types | |
typedef boost::function < double(int, int)> | EdgeCostFactorFn |
Each edge weight between two adjacent regions in the Decomposition is defined as a product of edge cost factors. By default, given adjacent regions ![]() ![]()
where for any region
| |
typedef boost::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 region and end at the end region. Default is ![]() | |
Public Member Functions | |
Syclop (const SpaceInformationPtr &si, const DecompositionPtr &d, const std::string &plannerName) | |
Constructor. Requires a Decomposition, which Syclop uses to create high-level leads. | |
ompl::base::Planner Interface | |
virtual void | setup () |
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 () |
Clear all internal datastructures. Planner settings are not affected. Subsequent calls to solve() will ignore all previous work. | |
virtual base::PlannerStatus | solve (const base::PlannerTerminationCondition &ptc) |
Continues solving until a solution is found or a given planner termination condition is met. Returns true if solution was found. | |
Tunable parameters | |
void | setLeadComputeFn (const LeadComputeFn &compute) |
Allows the user to override the lead computation function. | |
void | addEdgeCostFactor (const EdgeCostFactorFn &factor) |
Adds an edge cost factor to be used for edge weights between adjacent regions. | |
void | clearEdgeCostFactors () |
Clears all edge cost factors, making all edge weights equivalent to 1. | |
int | getNumFreeVolumeSamples () const |
Get the number of states to sample when estimating free volume in the Decomposition. | |
void | setNumFreeVolumeSamples (int numSamples) |
Set the number of states to sample when estimating free volume in the Decomposition. | |
double | getProbShortestPathLead () const |
Get the probability [0,1] that a lead will be computed as a shortest-path instead of a random-DFS. | |
void | setProbShortestPathLead (double probability) |
Set the probability [0,1] that a lead will be computed as a shortest-path instead of a random-DFS. | |
double | getProbAddingToAvailableRegions () const |
Get the probability [0,1] that the set of available regions will be augmented. | |
void | setProbAddingToAvailableRegions (double probability) |
Set the probability [0,1] that the set of available regions will be augmented. | |
int | getNumRegionExpansions () const |
Get the number of times a new region will be chosen and promoted for expansion from a given lead. | |
void | setNumRegionExpansions (int regionExpansions) |
Set the number of times a new region will be chosen and promoted for expansion from a given lead. | |
int | getNumTreeExpansions () const |
Get the number of calls to selectAndExtend() in the low-level tree planner for a given lead and region. | |
void | setNumTreeExpansions (int treeExpansions) |
Set the number of calls to selectAndExtend() in the low-level tree planner for a given lead and region. | |
double | getProbAbandonLeadEarly () const |
Get the probability [0,1] that a lead will be abandoned early, before a new region is chosen for expansion. | |
void | setProbAbandonLeadEarly (double probability) |
The probability that a lead will be abandoned early, before a new region is chosen for expansion. | |
Protected Member Functions | |
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. | |
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 created to newMotions. | |
const Region & | getRegionFromIndex (const int rid) const |
Returns a reference to the Region object with the given index. Assumes the index is valid. | |
Protected Attributes | |
int | numFreeVolSamples_ |
The number of states to sample to estimate free volume in the Decomposition. | |
double | probShortestPath_ |
The probability that a lead will be computed as a shortest-path instead of a random-DFS. | |
double | probKeepAddingToAvail_ |
The probability that the set of available regions will be augmented. | |
int | numRegionExpansions_ |
The number of times a new region will be chosen and promoted for expansion from a given lead. | |
int | numTreeSelections_ |
The number of calls to selectAndExtend() in the low-level tree planner for a given lead and region. | |
double | probAbandonLeadEarly_ |
The probability that a lead will be abandoned early, before a new region is chosen for expansion. | |
const SpaceInformation * | siC_ |
Handle to the control::SpaceInformation object. | |
DecompositionPtr | decomp_ |
The high level decomposition used to focus tree expansion. | |
RNG | rng_ |
Random number generator. |
Detailed Description
Synergistic Combination of Layers of Planning.
- Short description
- Syclop is a multi-layered planner that guides a low-level sampling-based tree planner through a sequence of sequence of discrete workspace regions from start to goal. Syclop is defined as an abstract base class whose pure virtual methods are defined by the chosen low-level sampling-based tree planner.
- External documentation
- E. Plaku, L.E. Kavraki, and M.Y. Vardi, Motion Planning with Dynamics by a Synergistic Combination of Layers of Planning, in IEEE Transactions on Robotics, 2010. DOI: [10.1109/TRO.2010.2047820](http://dx.doi.org/10.1109/TRO.2010.2047820)
The documentation for this class was generated from the following files:
- ompl/control/planners/syclop/Syclop.h
- ompl/control/planners/syclop/src/Syclop.cpp