Introduction

Teleoperation refers to operating a machine from a distance. Formant's teleoperation provides a secure peer-to-peer connection that enables operators to control any aspect of a system.

It connects two or more peers in a session where they can communicate peer-to-peer via WebRTC. To achieve the absolute minimum amount of latency during teleoperation sessions, a peer-to-peer, real-time connection is established directly from an authorized operator’s interface to a robot for rich media and operator control inputs. A durable message queue is also maintained that can issue requests to your system either immediately or the next time it’s online and connected to the internet.

A teleoperation session can have three cameras/images or two images and a localization module, two joysticks, five buttons, and five statuses.

Camera
A teleoperation session can have up to two videos/images. These can either be the ones transmitted through the real-time channel or ingested as telemetry images. For performance under low bandwidth, it is highly recommended that a raw image transmitted through the real-time channel be chosen. The raw images are H264 encoded, which good video provide quality at substantially lower bit rates.

Localization/Navigation
Localization can be made a primary view or can be added as a sidebar.

Joystick
Two joysticks can be configured per robot and the specific joystick configuration can be set as part of all the other teleoperation configuration. Any joystick, including gamepads and keyboards, can be used for teleoperating.

Robot health data
The robot health data including CPU, memory, and ping time are displayed by default as part of the footer.

Buttons
Buttons publish real-time boolean messages (commands) to the robot. Buttons are displayed on the view panel below the second image and above the joysticks.

Status
Status subscribes to real-time boolean messages from the robot. These are displayed on the footer along with the robot health.