The Joystick Control Package is a ROS package developed specifically for ROS Noetic. This package provides a convenient way to interface with a joystick input device and use its positional information for controlling robots or other ROS-enabled systems.
- Read the joystick position (X and Y coordinates).
- increase & decrease the robot's velocity (linear and angular).
- Support for different joystick types (analog, digital).
- Publish the joystick position as ROS messages.
- Easy integration with ROS Noetic.
- Customizable settings and configurations.
-
joy_node official page
-
joy_robot_control
2.1 Subscribed Topics:
- /joy (sensor_msgs/Joy)
2.2 Published Topics:
- /cmd_vel (geometry_msgs/Twist)
2.3 Parameters:
- ~cmd_vel_topic (default: "/cmd_vel")
- ~linear_direction_index (default: "1")
- ~angular_direction_index (default: "0")
- ~linear_speed_increase_index (default: "0")
- ~linear_speed_decrease_index (default: "1")
- ~angular_speed_increase_index (default: "3")
- ~angular_speed_decrease_index (default: "2")
To use the ROS Joystick Control Package, follow these steps:
-
Create a ROS workspace (if you don't have one already):
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make
-
Clone the repository into your ROS workspace's
srcdirectory:cd ~/catkin_ws/src git clone https://github.com/KroNton/joystick_control.git
-
Install any necessary dependencies using ROS package manager:
cd ~/catkin_ws/ rosdep install --from-paths src --ignore-src -r -y
-
Build the ROS package:
cd ~/catkin_ws/ catkin_make
Launching Joystick Node
To launch the joystick node and start reading joystick data, use the following command:
roslaunch joystick_control joystick_control.launchThis will start the joystick node, which reads the joystick position and publishes it as Twist message.
The Joystick Control Package is open source and is distributed under the MIT License. You are free to use, modify, and distribute the package in both personal and commercial projects.
If you encounter any issues or have questions regarding the Joystick Control Package, please open an issue on the GitHub repository. The project maintainers will do their best to assist you.

