10 #include <pddl_planner/representation/Problem.hpp> 11 #include <pddl_planner/PDDLPlannerTypes.hpp> 12 #include <boost/thread/mutex.hpp> 13 #include <boost/thread.hpp> 156 typedef std::map<std::string, PDDLPlannerInterface*>
PlannerMap;
208 bool isRegistered(
const std::string& name)
const {
return mPlanners.count(name); }
245 PlanResultList
plan(
const std::string& problem,
const std::set<std::string>& planners,
bool sequential =
false,
double timeout =
TIMEOUT);
294 PlannerMap mPlanners;
295 ActionDescriptions mActionDescriptions;
296 DomainDescriptions mDomainDescriptions;
297 std::vector<boost::thread *> mPlanRunners;
306 #endif // PDDL_PLANNER_H boost::mutex mPlannerMutex
Definition: Planning.hpp:301
std::vector< PlanResult > PlanResultList
Definition: Planning.hpp:159
bool isRegistered(const std::string &name) const
Definition: Planning.hpp:208
Definition: Problem.hpp:9
#define TIMEOUT
Definition: Planning.hpp:15
std::string getDomainDescriptions() const
Definition: Planning.cpp:121
void setActionDescription(const std::string &action, const std::string &description)
Definition: Planning.cpp:100
std::map< std::string, std::string > DomainDescriptions
Definition: Planning.hpp:155
PlannerList getRegisteredPlanners() const
Definition: Planning.cpp:88
PDDLPlannerInterface * getPlanner(const std::string &name) const
Definition: Planning.cpp:78
void setDomainDescription(const std::string &domain, const std::string &description)
Definition: Planning.cpp:105
std::pair< PlannerName, PlanCandidates > PlanResult
Definition: Planning.hpp:158
An internal representation of a PDDL domain description.
Definition: Domain.hpp:423
Planning()
Default constructor for planning It will instanciate all associated planners at construction time...
Definition: Planning.cpp:17
Planning provides the main infrastructure to perform planning with different planner implementations...
Definition: Planning.hpp:166
std::string PlannerName
Definition: Planning.hpp:152
std::map< std::string, std::string > ActionDescriptions
Definition: Planning.hpp:154
Definition: PDDLPlannerInterface.cpp:18
std::set< std::string > getAvailablePlanners() const
Definition: Planning.cpp:45
Definition: PDDLPlannerTypes.hpp:66
~Planning()
Definition: Planning.cpp:35
boost::mutex mResultMutex
Definition: Planning.hpp:300
Definition: PDDLPlannerInterface.hpp:9
PlannerMap getPlanners() const
Definition: Planning.hpp:186
void registerPlanner(PDDLPlannerInterface *planner)
Definition: Planning.cpp:60
PlanResultList mPlanResultList
Definition: Planning.hpp:299
PlanResultList plan(const std::string &problem, const std::set< std::string > &planners, bool sequential=false, double timeout=TIMEOUT)
Definition: Planning.cpp:144
std::vector< PDDLPlannerInterface * > PlannerList
Definition: Planning.hpp:157
std::map< std::string, PDDLPlannerInterface * > PlannerMap
Definition: Planning.hpp:156
std::string getActionDescriptions() const
Definition: Planning.cpp:110