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.

%%{init: { 'theme': 'base', 'themeVariables': { 'primaryColor': '#ffffff', 'primaryTextColor': '#01579b', 'primaryBorderColor': '#b3e5fc', 'lineColor': '#546e7a', 'secondaryColor': '#f8f9fa', 'tertiaryColor': '#fff3e0', 'fontSize': '14px', 'fontFamily': 'ui-sans-serif, system-ui, sans-serif' } } }%% graph TD Bifrost(Bifrost) OS[Oden Streamer] OVR[OdenVR] OS <--> Bifrost OVR <--> Bifrost OS <-->|Peer to Peer Connection| OVR classDef cloud fill:#f1f1f1,stroke:#999,stroke-width:1px,stroke-dasharray: 5 5; classDef local fill:#ffffff,stroke:#01579b,stroke-width:2px; class Bifrost cloud; class OS,OVR local;
Figure 1. Overview of the Voysys teleoperation stack

While the diagram above shows the basic connection, the full system includes additional parts for safety, control, and user interface.

System Architecture

%%{init: { 'theme': 'base', 'themeVariables': { 'primaryColor': '#ffffff', 'primaryTextColor': '#01579b', 'primaryBorderColor': '#b3e5fc', 'lineColor': '#546e7a', 'secondaryColor': '#f8f9fa', 'tertiaryColor': '#fff3e0', 'fontSize': '14px', 'fontFamily': 'ui-sans-serif, system-ui, sans-serif' } } }%% graph TD %% Bifrost Cloud Section subgraph Bifrost ["Bifrost (Cloud)"] FS1[Fleet Server 1] FS2[Fleet Server 2] R1((Relay 1)) R2[Relay 2] end %% Oden Streamer Section subgraph OdenStreamerGroup ["Oden Streamer"] FC1[Fleet Client] OS[Oden Streamer] CP1[Control Pipeline] end %% OdenVR Section subgraph OdenVRGroup ["#nbsp;OdenVR#nbsp;"] FC2[Fleet Client] OVR[#nbsp;OdenVR#nbsp;] WV[Webview] CP2[Control Pipeline] end %% External Components CC(Customer Code) CW(UI Website) %% Connections: Oden Streamer (Source) CC <-->|#nbsp;TCP#nbsp;| CP1 CP1 <--> OS OS <--> FC1 %% Streamer to Cloud FC1 <--> FS1 OS <--> R1 %% Peer to Peer OS -.->|#nbsp;P2P Connection#nbsp;| OVR %% Connections: OdenVR (Receiver) OVR <--> R1 OVR <--> FC2 OVR <--> WV OVR <--> CP2 %% VR to Cloud FC2 <--> FS2 WV <--> CW %% Styling classDef cloud fill:#f1f1f1,stroke:#999,stroke-width:1px,stroke-dasharray: 5 5; classDef local fill:#ffffff,stroke:#01579b,stroke-width:2px; classDef external fill:#fff3e0,stroke:#ef6c00,stroke-width:1px; classDef relay fill:#e1f5fe,stroke:#01579b,stroke-width:2px; class Bifrost cloud; class OdenStreamerGroup,OdenVRGroup local; class CC,CW external; class R1 relay;
Figure 2. Detailed 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.