00001 #ifndef _dummy_pomdp_h_ 00002 #define _dummy_pomdp_h_ 00003 00004 #include "ros/this_node.h" 00005 #include "ros/names.h" 00006 #include "ros/node_handle.h" 00007 #include "ros/rate.h" 00008 00009 #include "mutex.h" 00010 00011 // [publisher subscriber headers] 00012 00013 // [service client headers] 00014 #include "std_srvs/Empty.h" 00015 #include "std_msgs/Int32.h" 00016 #include "iri_wam_common_msgs/wamaction.h" 00017 #include "iri_wam_common_msgs/obs_request.h" 00018 00019 // [action server client headers] 00020 00021 #define NUMPOSES 3 00022 class DummyPomdp 00023 { 00024 private: 00025 CMutex execution_mutex; 00026 bool execution_flag; 00027 00028 ros::NodeHandle node_handle_; 00029 00030 // [publisher attributes] 00031 ros::Publisher focused_obj_label_publisher; 00032 std_msgs::Int32 ObjLabel_msg; 00033 00034 // [subscriber attributes] 00035 00036 // [service attributes] 00037 ros::ServiceServer execution_flow_control_server; 00038 bool execution_flow_controlCallback(std_srvs::Empty::Request &req, std_srvs::Empty::Response &res); 00039 00040 // [client attributes] 00041 ros::ServiceClient obs_client; 00042 iri_wam_common_msgs::obs_request obs_request_srv; 00043 ros::ServiceClient wam_action_client; 00044 iri_wam_common_msgs::wamaction wam_actions_client_srv; 00045 00046 // [action server attributes] 00047 00048 // [action client attributes] 00049 public: 00067 DummyPomdp(); 00068 00081 void mainLoop(void); 00082 00083 }; 00084 #endif 00085