24 #ifndef _PLUGINS_PDDL_PLANNER_THREAD_H_ 25 #define _PLUGINS_PDDL_PLANNER_THREAD_H_ 27 #include <aspect/blackboard.h> 28 #include <aspect/blocked_timing.h> 29 #include <aspect/configurable.h> 30 #include <aspect/logging.h> 31 #include <blackboard/interface_listener.h> 32 #include <core/threading/thread.h> 33 #include <interfaces/PddlPlannerInterface.h> 34 #include <plugins/robot-memory/aspect/robot_memory_aspect.h> 62 std::vector<std::string> args;
64 fawkes::PddlPlannerInterface *plan_if_;
65 std::string cfg_descripton_path_;
66 std::string cfg_result_path_;
67 std::string cfg_domain_path_;
68 std::string cfg_problem_path_;
69 std::string cfg_fd_options_;
70 std::string cfg_collection_;
72 std::vector<action> action_list_;
74 std::function<void()> planner_;
79 mongo::BSONObj BSONFromActionList();
80 static size_t find_nth_space(
const std::string &s,
size_t nth);
81 void print_action_list();
82 std::string run_planner(std::string command);
virtual void init()
Initialize the thread.
Thread aspect to get access to a the RobotMemory.
Thread aspect to access to BlackBoard.
Base class for all messages passed through interfaces in Fawkes BlackBoard.
virtual void run()
Stub to see name in backtrace for easier debugging.
Thread class encapsulation of pthreads.
Base class for all Fawkes BlackBoard interfaces.
PddlPlannerThread()
Constructor.
Starts a pddl planner and writes the resulting plan into the robot memory.
const char * name() const
Get name of thread.
Thread aspect to log output.
virtual void finalize()
Finalize the thread.
Thread aspect to access configuration data.
virtual void loop()
Thread is only waked up if there was a new interface message to plan.
BlackBoard interface listener.