00001 00033 #ifndef SHADOWHAND_PUBLISHER_H_ 00034 #define SHADOWHAND_PUBLISHER_H_ 00035 00036 #include <boost/smart_ptr.hpp> 00037 00038 #include <ros/ros.h> 00039 #include "sr_hand/hand/sr_articulated_robot.h" 00040 00041 using namespace ros; 00042 using namespace shadowrobot; 00043 00044 namespace shadowrobot 00045 { 00055 class SRPublisher 00056 { 00057 public: 00064 SRPublisher( boost::shared_ptr<SRArticulatedRobot> sr_art_robot ); 00065 00067 ~SRPublisher(); 00068 00072 void publish(); 00073 00074 private: 00076 NodeHandle node, n_tilde; 00078 Rate publish_rate; 00079 00081 boost::shared_ptr<SRArticulatedRobot> sr_articulated_robot; 00082 00084 Publisher sr_jointstate_pos_pub; 00086 Publisher sr_jointstate_target_pub; 00088 Publisher sr_pub; 00089 00095 inline double toRad( double deg ) 00096 { 00097 return deg * 3.14159265 / 180.0; 00098 } 00099 }; // end class ShadowhandPublisher 00100 00101 } // end namespace 00102 00103 #endif /* !SHADOWHAND_PUBLISHER_H_ */