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:

List of all members.

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 LTLSpaceInformationltlsi_
 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::StateprodStart_
 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.

TODO cite papers

Definition at line 58 of file LTLPlanner.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines