ROS

Last validated: 2026-05-05

Use ROS when the vehicle control stack already exposes commands, state, or autonomy interfaces through ROS.

Oden does not require ROS. The recommended pattern is to keep Oden Control Pipeline as the Oden-facing transport and run a small bridge process that translates between OCP TCP/JSON and ROS topics, services, or actions.

OdenVR
  -> OCP over Oden links
  -> Oden Streamer
  -> vehicle-side OCP TCP client
  -> ROS bridge
  -> ROS 1 / ROS 2 vehicle stack

The ROS bridge should:

  • Connect to the Streamer OCP TCP server.

  • Read OcpControlMessage frames.

  • Validate faults and command freshness.

  • Publish safe, project-specific ROS commands.

  • Read ROS telemetry.

  • Return VehicleResponseMessage frames with ack_time, ack_time_mac, and vehicle user data.

Repository

Voysys should publish and link the maintained ROS bridge repository from this page. Until that public link exists, treat ROS integration as a support-guided path.

The bridge should be kept small and auditable. Vehicle safety limits should still live in the vehicle controller or safety layer, not only in the bridge.

See Vehicle-Side Control for the OCP TCP protocol.