00001 00029 #ifndef SR_DIAGNOSTICER_H_ 00030 #define SR_DIAGNOSTICER_H_ 00031 00032 #include <ros/ros.h> 00033 #include <boost/smart_ptr.hpp> 00034 00035 #include "sr_hand/hand/sr_articulated_robot.h" 00036 00037 using namespace ros; 00038 using namespace shadowrobot; 00039 00040 namespace shadowrobot 00041 { 00042 00051 00052 enum hardware_types 00053 { 00055 sr_hand_hardware, 00057 sr_arm_hardware 00058 }; 00059 00060 class SRDiagnosticer 00061 { 00062 public: 00070 SRDiagnosticer( boost::shared_ptr<SRArticulatedRobot> sr_art_robot, hardware_types hw_type ); 00071 00073 ~SRDiagnosticer(); 00074 00078 void publish(); 00079 00080 private: 00082 static const double palm_numb_msg_const; 00084 static const double palm_msg_rate_const; 00085 00087 boost::shared_ptr<SRArticulatedRobot> sr_articulated_robot; 00088 00090 NodeHandle node, n_tilde; 00092 Rate publish_rate; 00093 00095 Publisher sr_diagnostics_pub; 00096 00098 hardware_types hardware_type; 00099 }; // end class ShadowhandDiagnosticer 00100 00101 } // end namespace 00102 00103 #endif /* !SR_DIAGNOSTICER_H_ */