Overview
The Voysys teleoperation stack consists of three main software components that work together to enable remote vehicle operation:
-
Oden Streamer: Software that runs on the vehicle. It captures video from cameras and streams it to the operator.
-
OdenVR: Software used by the operator. It receives the video from the vehicle and displays it.
-
Bifrost: A cloud-based fleet management system hosted by Voysys that coordinates connections.
While the diagram above shows the basic connection, the full system includes additional parts for safety, control, and user interface.
System Architecture
Core Components
Bifrost (Cloud)
Bifrost manages the entire fleet and coordinates connections between vehicles and operators. It includes two key parts:
-
Fleet Servers: These track which vehicles are online and handle requests to start or stop control sessions.
-
Relays: These provide the initial connection path between the vehicle and operator using a Wireguard-based secure tunnel. Once the connection is active, the system tries to switch to a direct Peer-to-Peer (P2P) connection for lower latency.
Oden Streamer (Vehicle)
Oden Streamer runs on the vehicle and manages video input and control logic. To support a complete teleoperation system, it includes:
-
Fleet Client: Connects to Bifrost to register the vehicle as online and listens for connection requests.
-
Control Pipeline: Handles steering and other control commands sent from the operator. It monitors safety, checks latency, and manages communication with the vehicle’s hardware via a TCP connection. This pipeline also provides telemetry data to the customer’s systems.
OdenVR (Operator)
OdenVR is the software used by the operator to view the video feed and control the vehicle. It includes:
-
Fleet Client: Connects to Bifrost to see available vehicles and request control.
-
Control Pipeline: Captures input from controllers (like gamepads) and sends those commands to the vehicle. It also processes telemetry data received from the vehicle.
-
Webview (Optional): A plugin that displays a custom web-based user interface directly inside OdenVR. This interface can interact with OdenVR via a dedicated API to manage video layouts and send/receive commands. For more details, see the chapter on the Webview API.