00001
00032 #ifndef SHADOWHAND_SUBSCRIBER_H_
00033 #define SHADOWHAND_SUBSCRIBER_H_
00034
00035 #include <ros/ros.h>
00036 #include <vector>
00037 #include <string>
00038 #include <map>
00039
00040 #include <boost/smart_ptr.hpp>
00041
00042
00043 #include <sr_robot_msgs/joints_data.h>
00044 #include <sr_robot_msgs/joint.h>
00045 #include <sr_robot_msgs/contrlr.h>
00046 #include <sr_robot_msgs/sendupdate.h>
00047 #include <sr_robot_msgs/config.h>
00048 #include <sr_robot_msgs/reverseKinematics.h>
00049
00050 #include "sr_hand/hand/sr_articulated_robot.h"
00051
00052 using namespace ros;
00053 using namespace shadowrobot;
00054
00055 namespace shadowrobot
00056 {
00057
00062 class SRSubscriber
00063 {
00064 public:
00070 SRSubscriber( boost::shared_ptr<SRArticulatedRobot> sr_art_robot );
00071
00073 ~SRSubscriber();
00074
00075 private:
00077 NodeHandle node, n_tilde;
00078
00080 boost::shared_ptr<SRArticulatedRobot> sr_articulated_robot;
00081
00083 void init();
00084
00086
00088
00095 void sendupdateCallback( const sr_robot_msgs::sendupdateConstPtr& msg );
00097 Subscriber sendupdate_sub;
00098
00104 void contrlrCallback( const sr_robot_msgs::contrlrConstPtr& msg );
00106 Subscriber contrlr_sub;
00107
00112 void configCallback( const sr_robot_msgs::configConstPtr& msg );
00114 Subscriber config_sub;
00115 };
00116
00117 }
00118
00119 #endif