LTLPlanner.h
64 LTLPlanner(const LTLSpaceInformationPtr& si, const ProductGraphPtr& a, double exploreTime = 0.5);
91 std::vector<ProductGraph::State*> getHighLevelPath(const std::vector<base::State*>& path, ProductGraph::State* start = NULL) const;
165 virtual bool explore(const std::vector<ProductGraph::State*>& lead, Motion*& soln, double duration);
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...
Definition: LTLPlanner.cpp:262
A planner for generating system trajectories to satisfy a logical specification given by an automaton...
Definition: LTLPlanner.h:58
const LTLSpaceInformation * ltlsi_
Handle to the control::SpaceInformation object.
Definition: LTLPlanner.h:179
boost::unordered_map< ProductGraph::State *, ProductGraphStateInfo > abstractInfo_
Map of abstraction states to their details.
Definition: LTLPlanner.h:200
unsigned int steps
The number of steps for which the control is applied.
Definition: LTLPlanner.h:122
void getTree(std::vector< base::State *> &tree) const
Helper debug method to access this planner's underlying tree of states.
Definition: LTLPlanner.cpp:106
A boost shared pointer wrapper for ompl::base::StateSampler.
A boost shared pointer wrapper for ompl::control::ControlSampler.
virtual void initAbstractInfo(ProductGraph::State *as)
Initializes the info object for a new high-level state.
Definition: LTLPlanner.cpp:162
virtual double updateWeight(ProductGraph::State *as)
Updates and returns the weight of an abstraction state.
Definition: LTLPlanner.cpp:153
virtual void clear(void)
Clears all datastructures belonging to this LTLPlanner.
Definition: LTLPlanner.cpp:35
PDF< ProductGraph::State * > availDist_
Used to sample nonempty regions in which to promote expansion.
Definition: LTLPlanner.h:185
Encapsulate a termination condition for a motion planner. Planners will call operator() to decide whe...
Definition: PlannerTerminationCondition.h:64
A boost shared pointer wrapper for ompl::control::LTLSpaceInformation.
Random number generation. An instance of this class cannot be used by multiple threads at once (membe...
Definition: RandomNumbers.h:54
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 solutio...
Definition: LTLPlanner.cpp:198
A State of a ProductGraph represents a vertex in the graph-based Cartesian product represented by the...
Definition: ProductGraph.h:74
A class to store the exit status of Planner::solve()
Definition: PlannerStatus.h:48
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 con...
Definition: LTLPlanner.cpp:15
ProductGraphPtr abstraction_
The high level abstaction used to grow the tree structure.
Definition: LTLPlanner.h:182
A boost shared pointer wrapper for ompl::control::ProductGraph.
virtual void buildAvail(const std::vector< ProductGraph::State *> &lead)
Compute a set of high-level states along a lead to be considered for expansion.
Definition: LTLPlanner.cpp:178
virtual ~LTLPlanner(void)
Clears all memory belonging to this LTLPlanner .
Definition: LTLPlanner.cpp:25
Space information containing necessary information for planning with controls. setup() needs to be ca...
Definition: SpaceInformation.h:69
virtual ~Motion(void)
Motion destructor does not clear memory. Deletions should be performed by the LTLPlanner.
Definition: LTLPlanner.cpp:138
A structure to hold measurement information for a high-level state, as well as the set of tree motion...
Definition: LTLPlanner.h:131
ProductGraph::State * abstractState
The high-level state to which this motion belongs.
Definition: LTLPlanner.h:125
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 sequ...
Definition: LTLPlanner.cpp:113
virtual base::PlannerStatus solve(const base::PlannerTerminationCondition &ptc)
Continues solving until a solution is found or a given planner termination condition is met...
Definition: LTLPlanner.cpp:43