00001 00029 #ifndef SHADOWHAND_PUBLISHER_H_ 00030 #define SHADOWHAND_PUBLISHER_H_ 00031 00032 #include <boost/smart_ptr.hpp> 00033 00034 #include <ros/ros.h> 00035 #include "sr_hand/hand/sr_articulated_robot.h" 00036 00037 using namespace ros; 00038 using namespace shadowrobot; 00039 00040 namespace shadowrobot 00041 { 00051 class SRPublisher 00052 { 00053 public: 00060 SRPublisher( boost::shared_ptr<SRArticulatedRobot> sr_art_robot ); 00061 00063 ~SRPublisher(); 00064 00068 void publish(); 00069 00070 private: 00072 NodeHandle node, n_tilde; 00074 Rate publish_rate; 00075 00077 boost::shared_ptr<SRArticulatedRobot> sr_articulated_robot; 00078 00080 Publisher sr_jointstate_pos_pub; 00082 Publisher sr_jointstate_target_pub; 00084 Publisher sr_pub; 00085 00091 inline double toRad( double deg ) 00092 { 00093 return deg * 3.14159265 / 180.0; 00094 } 00095 }; // end class ShadowhandPublisher 00096 00097 } // end namespace 00098 00099 #endif /* !SHADOWHAND_PUBLISHER_H_ */