Susi Server

ROS Vehicle Source

Node ID: rosVehicleSource · Role: Source · Realtime config: no

Description

Subscribes to a ROS2 UnifiedVehicleState topic via zenoh-bridge-ros2dds. Converts per-wheel speeds (rad/s) to linear velocity (m/s) and emits VehicleSpeed.

Inputs / Outputs

Config aliases

RosVehicleSource, rosVehicleSource

Properties

The following fields are exposed in the node’s Properties panel in the UI. Types map to UI widgets (e.g. string → text input, number → numeric, boolean → toggle, select → dropdown, json → JSON editor).

KeyLabelTypeDefaultDescription / Notes
zenohKeyZenoh Keystringunified_vehicle_state
bridgeEndpointBridge Endpointstringtcp/[::1]:7447
autoSpawnBridgeAuto-spawn Bridgebooleantrue
bridgeRosDomainIdBridge ROS_DOMAIN_IDnumber0ROS_DOMAIN_ID env var passed to the spawned bridge. Must match the value used by your ROS 2 nodes.
bridgeCyclonedssUriBridge CycloneDDS URI (advanced)string""Optional. Path or file:// URI to a CycloneDDS XML config. Overrides static peers and network interface below.
bridgeStaticPeersBridge Static Peers (comma-separated IPs)string127.0.0.1Comma-separated IPs of remote DDS participants for unicast SPDP discovery.
bridgeNetworkInterfaceBridge Network Interface (IP)string127.0.0.1IP of the network interface CycloneDDS should bind to.
wheelRadiusWheel Radius (m)number0.3
senderIdSender IDstringros_vehicle

Example node definition

A full node definition in config.json looks like the block below. Paste it under the sources key of your config, keyed by the node’s instance name (any identifier; it doesn’t have to match the node ID).

{
  "sources": {
    "rosVehicleSource": {
      "outEndpoint": "inproc://rosVehicleSource_data",
      "settings": {
        "autoSpawnBridge": true,
        "bridgeCyclonedssUri": "",
        "bridgeEndpoint": "tcp/[::1]:7447",
        "bridgeNetworkInterface": "127.0.0.1",
        "bridgeRosDomainId": 0,
        "bridgeStaticPeers": "127.0.0.1",
        "senderId": "ros_vehicle",
        "wheelRadius": 0.3,
        "zenohKey": "unified_vehicle_state"
      }
    }
  }
}

Field reference

FieldPurpose
outEndpointZMQ / inproc endpoint this source binds to publish its output. The runtime auto-generates one if omitted.
settingsAll user-configurable fields — see the Properties table above.

Connections can also be declared at the top-level connections array when settings.explicitConnections is true, as an alternative to filling inputEndpoints on each node.

Loading documentation…