Susi Server

Isaac ROS VO Source

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

Description

Subscribes to a ROS 2 nav_msgs/Odometry topic - typically ‘/visual_slam/tracking/odometry’ from NVIDIA Isaac ROS Visual SLAM. Emits OdometryData with body-frame twist (the fusion-relevant signal) plus world-frame pose. Feeds visual-odometry updates into the GNSS-IMU fusion filter to bridge GNSS outages and densify velocity observations.

Inputs / Outputs

Config aliases

IsaacVoSource, isaacVoSource, visualOdometrySource

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
topicTopicstring/visual_slam/tracking/odometryROS 2 topic publishing nav_msgs/Odometry. Isaac ROS Visual SLAM default is ‘/visual_slam/tracking/odometry’.
bridgeEndpointBridge Endpointstringtcp/[::1]:7447Zenoh locator of the zenoh-bridge-ros2dds process. Loopback by default; matches the bundled bridge’s listen socket.
autoSpawnBridgeAuto-spawn Bridge ProcessbooleantrueWhen on, fusionhub spawns the bundled zenoh-bridge-ros2dds process automatically. Turn off if you’re already running it.
senderIdSender IDstringisaac_voValue written to OdometryData.sender_id on emitted packets.
qosDepthQoS History Depth (informational)number10

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": {
    "isaacVoSource": {
      "outEndpoint": "inproc://isaacVoSource_data",
      "settings": {
        "autoSpawnBridge": true,
        "bridgeEndpoint": "tcp/[::1]:7447",
        "qosDepth": 10,
        "senderId": "isaac_vo",
        "topic": "/visual_slam/tracking/odometry"
      }
    }
  }
}

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…