6 #include <drive_msgs/drive_param.h> 7 #include <sensor_msgs/Joy.h> 10 #include <dynamic_reconfigure/server.h> 11 #include <teleoperation/joystick_controllerConfig.h> 34 float m_acceleration_scaling_factor = 0.35f;
40 float m_deceleration_scaling_factor = 0.35f;
46 float m_steering_scaling_factor = 0.8f;
48 struct JoystickMapping
53 int enableManualButton;
54 int enableAutonomousButton;
58 const struct JoystickMapping joystick_mapping_ps3 = { 0, 13, 12, 14, 13,
"ps3" };
59 const struct JoystickMapping joystick_mapping_xbox360 = { 0, 4, 5, 0, 1,
"xbox360" };
60 const struct JoystickMapping joystick_mapping_xboxone = { 0, 5, 2, 0, 1,
"xbone" };
61 const struct JoystickMapping joystick_mapping_default = joystick_mapping_xbox360;
67 dynamic_reconfigure::Server<teleoperation::joystick_controllerConfig> m_dyn_cfg_server;
69 ros::NodeHandle m_node_handle;
70 ros::Publisher m_drive_parameter_publisher;
71 ros::Subscriber m_joystick_subscriber;
72 ros::Publisher m_enable_manual_publisher;
73 ros::Publisher m_enable_autonomous_publisher;
75 JoystickMapping m_joystick_map;
81 bool m_acceleration_locked;
82 bool m_deceleration_locked;
91 void joystickCallback(
const sensor_msgs::Joy::ConstPtr& joystick);
99 void publishDriveParameters(
double velocity,
double steering_angle);
104 void selectJoystickMapping();
109 void updateDynamicConfig();
JoystickController()
Construct a new Remote Joy:: Remote Joy object.
constexpr const char * TOPIC_HEARTBEAT_AUTONOMOUS
constexpr const char * TOPIC_DRIVE_PARAMETERS
constexpr const char * PARAMETER_JOYSTICK_TYPE
constexpr const char * TOPIC_HEARTBEAT_MANUAL
constexpr const char * PARAMETER_JOYSTICK_DECELERATION_AXIS
constexpr const char * PARAMETER_JOYSTICK_ACCELERATION_AXIS
constexpr const char * PARAMETER_JOYSTICK_ENABLE_MANUAL_BTN
constexpr const char * PARAMETER_JOYSTICK_ENABLE_AUTONOMOUS_BTN
constexpr const char * PARAMETER_JOYSTICK_STEERING_AXIS