Skip to main content

Remote Teleop

Provides a widget for remotely controlling/joysticking a robot that accepts geometry_msgs/Twist messages, including a low-latency video stream of one or more cameras. This capability establishes a direct connection to the robot using WebRTC, always preferring local connections over proxied ones.

The capability takes as parameters a ROS topic of type geometry_msgs/Twist or a ROS 2 topic of type geometry_msgs/msg/Twist (e.g., often /cmd_vel) and a video source. The video stream is provided via the WebRTC Video capability, more details on the supported video sources can be found there. Once installed, the device page on the Transitive Robotics Portal can be used to select available parameters and obtain an HTML snippet to embed the parameterized widget into other web applications.

The widget can be customized using CSS. In the default configuration the joystick is below the video, which makes it convenient to use as a soft-joystick when walking with the robot, but using CSS it can also be placed as an overlay on the video, e.g., in the lower left or right corner.

Safety Features

  • uses the same connection for video and control, preventing control without working video
  • dead-person switch: only sends movement commands when user actively drags the joystick. Stops when:
    • network drops
    • client-side disruptions occur (e.g., a popup appears)
  • stops sending commands when connection lag increases beyond 500 ms.


Please be aware of the dangers of remotely controlling a robot. By using this capability you assume complete responsibility for the safe operation of the robot you are controlling using this capability and accept and agree to our Terms of Service.

Latest version: 0.1.6, published: 5/11/2023, 5:36:39 PM