This PR introduces the new gamepad mode to the stretch driver
Gamepad mode enables the provided gamepad with stretch to control the robot's motions with ros2 Stretch Driver. If the gamepad USB dongle is plugged out, the robot will stop making any motions in this mode and can be plugged back in real-time.
Activate Gamepad Mode by calling the /switch_to_gamepad_mode service when the stretch driver is running.
Alternatively, in this mode, stretch driver also listens to /gamepad_joy topic for a valid Joy-type message from a remote gamepad to control stretch remotely in the network. The Joy message formats and helper functions are provided in the gamepad_conversion.py
Added the remote_gamepad.py which allows a user to plug-in the provided gamepad USB dongle to a remote workstation in network and teleop the robot remotely through ROS2.
Remote Gamepad Teleop
First on the robot side start Stretch Driver in gamepad mode
This PR introduces the new
gamepad
mode to the stretch driverGamepad mode enables the provided gamepad with stretch to control the robot's motions with ros2 Stretch Driver. If the gamepad USB dongle is plugged out, the robot will stop making any motions in this mode and can be plugged back in real-time. Activate Gamepad Mode by calling the
/switch_to_gamepad_mode
service when the stretch driver is running.Alternatively, in this mode, stretch driver also listens to
/gamepad_joy
topic for a valid Joy-type message from a remote gamepad to control stretch remotely in the network. The Joy message formats and helper functions are provided in the gamepad_conversion.pyAdded the remote_gamepad.py which allows a user to plug-in the provided gamepad USB dongle to a remote workstation in network and teleop the robot remotely through ROS2.
Remote Gamepad Teleop
Published topics
/stretch_gamepad_state
: Gamepad Joystick states/is_gamepad_dongle
: Check if the gamepad dongle is present in the robotJoy Message Reference Index Table
Axes
Buttons