PX4 DDS Source
Node ID: px4DdsSource · Role: Source · Realtime config: no
Description
Subscribes to PX4 uORB topics via the Micro XRCE-DDS agent. Receives sensor_combined IMU data from a PX4 flight controller over Ethernet or UART. Pairs with the PX4 DDS Sink to integrate FusionHub with a PX4 autopilot as a companion-computer navigation stack.
Inputs / Outputs
- Inputs: (none)
- Outputs:
Imu
Config aliases
Px4DdsSource, px4DdsSource, px4Source
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).
| Key | Label | Type | Default | Description / Notes |
|---|---|---|---|---|
namespace | Topic Namespace | string | /fmu | PX4 uXRCE-DDS client namespace. Default ‘/fmu’. For multi-vehicle setups use ‘/px4_1/fmu’ etc. |
bridgeEndpoint | Bridge Endpoint | string | tcp/[::1]:7447 | Zenoh locator of the zenoh-bridge-ros2dds process. Loopback by default; matches the bundled bridge’s listen socket. |
autoSpawnBridge | Auto-spawn Bridge Process | boolean | true | When on, fusionhub spawns the bundled zenoh-bridge-ros2dds process automatically. Turn off if you’re already running it. |
senderId | Sender ID | string | px4 | Value written to ImuData.sender_id on emitted packets. |
subscribeSensorCombined | Subscribe sensor_combined | boolean | true | — |
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": {
"px4DdsSource": {
"outEndpoint": "inproc://px4DdsSource_data",
"settings": {
"autoSpawnBridge": true,
"bridgeEndpoint": "tcp/[::1]:7447",
"namespace": "/fmu",
"senderId": "px4",
"subscribeSensorCombined": true
}
}
}
}
Field reference
| Field | Purpose |
|---|---|
outEndpoint | ZMQ / inproc endpoint this source binds to publish its output. The runtime auto-generates one if omitted. |
settings | All user-configurable fields — see the Properties table above. |
Connections can also be declared at the top-level
connectionsarray whensettings.explicitConnectionsistrue, as an alternative to fillinginputEndpointson each node.