Teleop

Drive the robot with an on-screen joystick, or with a Bluetooth or USB gamepad.

  • Publishes geometry_msgs/Twist on the velocity topic chosen when you create the tab (/cmd_vel by default) at a steady rate (10 Hz). Turn on Use TwistStamped for controllers that expect it (for example diff_drive_controller on Jazzy).

  • Settings (gear button): maximum linear speed (0.05–3 m/s, 0.5 by default), maximum angular speed (0.1–6 rad/s, 1.0 by default), the control preset and axis inversion.

  • Presets: Differential (forward + turn), Holonomic (forward + strafe) or Custom, where each stick axis can drive any linear or angular axis, inverted if you like.

  • Gamepad: the sticks drive and the B button is STOP.

Safety

  • STOP sends zero velocity and locks the joystick until you release it and touch it again.

  • When you let go of the stick, the robot gets zero velocity three times and then publishing stops.

  • If the screen freezes for more than half a second, the robot is stopped.

  • Stop if the connection is lost while driving (on by default) stops the robot if the network or the gamepad goes away; tap the banner to continue.

  • Teleop never publishes while the app is in the background.