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 and , Syclop uses the sole edge cost factor
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 search. | |
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
and
,
,
is the number of times
estimates the progress made by the low-level planner in extending the tree from
estimates the tree coverage of the region
estimates the free volume of
search.