1 #ifndef joystick_controller_h
2 #define joystick_controller_h
5 #include "geometry_msgs/Twist.h"
6 #include "sensor_msgs/Joy.h"
7 #include "std_srvs/Empty.h"
8 #include "keyboard/Key.h"
12 #include <sys/select.h>
14 #define BUTTON_ERROR 0.01
ButtonStatus COUNTER_CLOCKWISE_ROTATION
bool isControllerPaused()
void keyboardButtonReleasedCallback(const keyboard::KeyConstPtr &_msg)
double rotational_rate_multiplier_max
ButtonStatus LINEAR_SPEED_INCREASE
std::unique_ptr< ros::NodeHandle > nodeHandle
void changeRotationalMultiplier(bool _increase)
geometry_msgs::Twist twist_command_message
@ KEY_COUNTER_CLOCKWISE_ROTATION
@ KEY_ANGULAR_RATE_INCREASE
@ KEY_ANGULAR_RATE_DECREASE
@ KEY_LINEAR_SPEED_DECREASE
@ KEY_LINEAR_SPEED_INCREASE
ButtonStatus CLOCKWISE_ROTATION
ButtonStatus ANGULAR_RATE_INCREASE
ros::Subscriber joystick_subscriber
void keyboardButtonPressedCallback(const keyboard::KeyConstPtr &_msg)
double linear_rate_multiplier_min
bool readyToChangeRotationalMultiplier()
ros::Publisher twist_command_publisher
void joystickCallback(const sensor_msgs::JoyConstPtr &_msg)
ButtonStatus ANGULAR_RATE_DECREASE
double linear_rate_multiplier_step
double minimum_seconds_between_limit_change
double rotational_rate_multiplier_min
double rotational_rate_multiplier
bool readyToChangeLinearMultiplier()
void publishTwistCommand()
void changeLinearMultiplier(bool _increase)
double rotational_rate_multiplier_step
double time_of_last_rotational_limit_change
ros::Subscriber keyboard_button_pressed_subscriber
ButtonStatus LINEAR_SPEED_DECREASE
double linear_rate_multiplier_max
double time_of_last_linear_limit_change
virtual ~JoystickController()
ros::Subscriber keyboard_button_released_subscriber
double linear_rate_multiplier
Eigen::Matrix< double, 6, 1 > Twist