Xbox controller teleop for TurtleBot3, with a brake and haptic feedback (sim + real robot)

A small ROS 2 Jazzy package for driving a TurtleBot3 with a Bluetooth Xbox controller with added haptics feedback.

demo_real

demo_sim

  • Left stick drives, right stick turns, both capped at the real Burger limits (0.22 m/s, 2.84 rad/s).
  • LT or RT acts as a brake.
  • Haptic feedback through the controller’s rumble: it scales with speed, plus an optional lidar proximity warning that ramps up as you drive toward an obstacle.

The haptics use the joy package’s /joy/set_feedback, so no custom driver is needed. The laptop side is the same in simulation and on the real robot; only /cmd_vel and /scan change. It builds on joy, teleop_twist_joy, and the standard turtlebot3 packages.

Repo (demo GIFs, controller guide, setup): GitHub - prakash-aryan/tb3_xbox_teleop: ROS 2 Jazzy package to drive a TurtleBot3 in Gazebo or for real with a Bluetooth Xbox controller: split-stick control, brake, haptic rumble, lidar proximity warning · GitHub

Feedback welcome, especially on tuning the haptics.

2 Likes