22 #ifndef __ROS_SKILLER_THREAD_H_ 23 #define __ROS_SKILLER_THREAD_H_ 25 #include <core/threading/thread.h> 26 #include <aspect/blocked_timing.h> 27 #include <aspect/logging.h> 28 #include <aspect/blackboard.h> 29 #include <aspect/configurable.h> 30 #include <plugins/ros/aspect/ros.h> 32 #include <interfaces/SkillerInterface.h> 37 #include <std_msgs/String.h> 38 #include <fawkes_msgs/ExecSkillAction.h> 39 #include <fawkes_msgs/ExecSkillGoal.h> 40 #include <fawkes_msgs/ExecSkillActionGoal.h> 42 #include <actionlib/server/simple_action_server.h> 47 class SkillerInterface;
63 virtual void finalize();
69 typedef actionlib::ActionServer<fawkes_msgs::ExecSkillAction> SkillerServer;
71 void action_goal_cb(SkillerServer::GoalHandle goal);
72 void action_cancel_cb(SkillerServer::GoalHandle goal);
73 void message_cb(
const std_msgs::String::ConstPtr & goal);
76 fawkes_msgs::ExecSkillResult create_result(std::string errmsg);
77 fawkes_msgs::ExecSkillFeedback create_feedback();
79 bool assure_control();
80 void release_control();
87 SkillerServer *server_;
88 ros::Subscriber sub_cmd_;
89 ros::Publisher pub_status_;
91 SkillerServer::GoalHandle as_goal_;
97 unsigned int exec_msgid_;
98 std::string exec_skill_string_;
99 unsigned int loops_waited_;
Thread aspect to access to BlackBoard.
Thread aspect to get access to a ROS node handle.
Fawkes library namespace.
Thread class encapsulation of pthreads.
Thread aspect to use blocked timing.
Accept skiller commands from ROS.
Thread aspect to log output.
Thread aspect to access configuration data.
SkillerInterface Fawkes BlackBoard Interface.