Skip to main content

Control Raph Rover with a Gamepad Controller

Raph Rover can be controlled using a gamepad controller either through the Web UI or by using the joy_teleop node from raph_teleop ROS package.

Running the teleop node​

To control Raph Rover using a gamepad controller with the joy_teleop node, you will need to have ROS 2 installed and set up on your system. You will need raph_teleop and raph_interfaces packages installed:

sudo apt install ros-${ROS_DISTRO}-raph-teleop ros-${ROS_DISTRO}-raph-interfaces

Once you have the necessary packages installed, you can run the joy_teleop node using the following command:

ros2 launch raph_teleop joy_teleop.launch.xml

Provided that your gamepad controller is properly connected and recognized by your system, you should be able to control Raph Rover using the gamepad inputs.

info

You can launch joy_teleop node with custom configuration. You can see all the available parameters here.

To launch the node with a custom configuration file, use the following command:

ros2 launch raph_teleop joy_teleop.launch.xml joy_config_file:=/path/to/your/config.yaml

Using the gamepad in the Web UI​

The Web UI allows the gamepad to connect automatically when an input is detected. To use the gamepad in the Web UI, simply connect your gamepad controller to your computer and interact with it.

info

After your first input from the gamepad, you should see a Gamepad connected message in the Web UI.

The Web UI will recognize the gamepad inputs and allow you to control Raph Rover accordingly. Once you click Enable driving button in the menu the commands from the gamepad will be sent to the rover and you can start driving it around.

Gamepad button mappings​

note

Gamepad button mappings are the same for both the Web UI and the joy_teleop node.

Button mapping diagram using Xbox One controller as an example
Button mapping diagram using Xbox One controller as an example
info

If you are using a different gamepad controller than the Xbox One, the button mappings may differ. However for most controllers, the corresponding buttons should be in the same positions as on the diagram above.

warning

When using Xbox controller on Linux with Firefox browser, X and Y buttons are swapped due to an existing bug in Firefox.