ompl::control::LTLPlanner Class Reference
A planner for generating system trajectories to satisfy a logical specification given by an automaton, the propositions of which are defined over a decomposition of the system's state space. More...
#include <ompl/control/planners/ltl/LTLPlanner.h>
Inheritance diagram for ompl::control::LTLPlanner:

Classes | |
struct | Motion |
Representation of a motion. More... | |
struct | ProductGraphStateInfo |
A structure to hold measurement information for a high-level state, as well as the set of tree motions belonging to that high-level state. Exactly one ProductGraphStateInfo will exist for each ProductGraph::State. More... | |
Public Member Functions | |
LTLPlanner (const LTLSpaceInformationPtr &si, const ProductGraphPtr &a, double exploreTime=0.5) | |
Create an LTLPlanner with a given space and product graph. Accepts an optional third parameter to control how much time is spent promoting low-level tree exploration along a given high-level lead. | |
virtual | ~LTLPlanner (void) |
Clears all memory belonging to this LTLPlanner . | |
void | getTree (std::vector< base::State * > &tree) const |
Helper debug method to access this planner's underlying tree of states. | |
std::vector < ProductGraph::State * > | getHighLevelPath (const std::vector< base::State * > &path, ProductGraph::State *start=NULL) const |
Helper debug method to return the sequence of high-level product graph states corresponding to a sequence of low-level continous system states, beginning from an optional initial high-level state. | |
ompl::base::Planner Interface | |
virtual void | setup (void) |
Initializes LTLPlanner data structures. | |
virtual void | clear (void) |
Clears all datastructures belonging to this LTLPlanner. | |
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 a solution was found. | |
Protected Member Functions | |
virtual double | updateWeight (ProductGraph::State *as) |
Updates and returns the weight of an abstraction state. | |
virtual void | initAbstractInfo (ProductGraph::State *as) |
Initializes the info object for a new high-level state. | |
virtual void | buildAvail (const std::vector< ProductGraph::State * > &lead) |
Compute a set of high-level states along a lead to be considered for expansion. | |
virtual bool | explore (const std::vector< ProductGraph::State * > &lead, Motion *&soln, double duration) |
Expand the tree of motions along a given lead for a given duration of time. Returns true if a solution was found, in which case the endpoint of the solution trajectory will be stored in the given Motion pointer. Otherwise, returns false. | |
virtual double | abstractEdgeWeight (ProductGraph::State *a, ProductGraph::State *b) const |
Returns the weight of an edge between two given high-level states, which we compute as the product of the reciprocals of the weights of the two states. | |
Protected Attributes | |
base::StateSamplerPtr | sampler_ |
State sampler. | |
ControlSamplerPtr | controlSampler_ |
Control sampler. | |
const LTLSpaceInformation * | ltlsi_ |
Handle to the control::SpaceInformation object. | |
ProductGraphPtr | abstraction_ |
The high level abstaction used to grow the tree structure. | |
PDF< ProductGraph::State * > | availDist_ |
Used to sample nonempty regions in which to promote expansion. | |
RNG | rng_ |
A random number generator. | |
std::vector< Motion * > | motions_ |
Set of all motions. | |
ProductGraph::State * | prodStart_ |
Start state in product graph. | |
double | exploreTime_ |
Time to spend exploring each lead. | |
boost::unordered_map < ProductGraph::State *, ProductGraphStateInfo > | abstractInfo_ |
Map of abstraction states to their details. |
Detailed Description
A planner for generating system trajectories to satisfy a logical specification given by an automaton, the propositions of which are defined over a decomposition of the system's state space.
Definition at line 58 of file LTLPlanner.h.
The documentation for this class was generated from the following files:
- ompl/control/planners/ltl/LTLPlanner.h
- ompl/control/planners/ltl/src/LTLPlanner.cpp