00001 #ifndef __TELEOP_JOY_H__ 00002 #define __TELEOP_JOY_H__ 00003 00029 #include <ros/ros.h> 00030 00031 // messages 00032 #include <geometry_msgs/Twist.h> 00033 #include <sensor_msgs/Joy.h> 00034 #include <std_msgs/Bool.h> 00035 00036 class TeleopJoy { 00037 public: 00041 TeleopJoy(); 00042 00046 ~TeleopJoy(); 00047 00048 private: 00054 void joy_callback(const sensor_msgs::Joy::ConstPtr& joy); 00055 00056 // node 00057 ros::NodeHandle _nh; 00058 00059 int axis_analog_linear, axis_analog_angular; 00060 int axis_digital_linear, axis_digital_angular; 00061 double scale_linear, scale_angular; 00062 00063 // base publisher 00064 ros::Publisher _vel_pub; 00065 00066 // arms publishers 00067 ros::Publisher _right_arm_vel_pub; 00068 ros::Publisher _left_arm_vel_pub; 00069 00070 // neck publishers 00071 ros::Publisher _neck_pan_vel_pub; // movement around the z axis 00072 ros::Publisher _neck_tilt_vel_pub; // movement around the y axis 00073 00074 // joy subscriber 00075 ros::Subscriber _joy_sub; 00076 }; 00077 00078 #endif