#ifndef ROSKEYBOARDTELEOPNODE_H #define ROSKEYBOARDTELEOPNODE_H #include #include #include #include #include #include #include #include #include #define KEYCODE_W 0x77 #define KEYCODE_A 0x61 #define KEYCODE_S 0x73 #define KEYCODE_D 0x64 #define KEYCODE_A_CAP 0x41 #define KEYCODE_D_CAP 0x44 #define KEYCODE_S_CAP 0x53 #define KEYCODE_W_CAP 0x57 class RosKeyboardTeleopNode { private: double walk_vel_; double run_vel_; double yaw_rate_; double yaw_rate_run_; geometry_msgs::Twist cmdvel_; ros::NodeHandle n_; ros::Publisher pub_; public: RosKeyboardTeleopNode(); ~RosKeyboardTeleopNode() { } void keyboardLoop(); void stopRobot() { cmdvel_.linear.x = 0.0; cmdvel_.angular.z = 0.0; pub_.publish(cmdvel_); } }; extern int kfd; extern struct termios cooked, raw; extern bool done; extern RosKeyboardTeleopNode* tbk; #endif // ROSKEYBOARDTELEOPNODE_H