FAQ
I can't find a Measurement I need
Measurements will keep being added, but the current focus is on getting feedback, fixing bugs, documentation and reaching a minimum test coverage.
Create a feature request in Github Discussions...or better, write your plugin and open a Pull Request.
I can't find the Destination I need
You do not need one to exist. The blessed Destination types are the ones DC configures natively from ROS parameters; everything else in Vector's catalog works today through the passthrough — see the question below.
How can I send data to a Destination that isn't blessed?
The Bridge (dc_bridge) renders its Shipper's (Vector) config from plain ROS
parameters for a blessed set of receives: records Destination types only (local
file, another Vector Shipper — see Destinations; S3-compatible
storage is also blessed, but only for receives: files File uploads). Every other sink
in Vector's catalog — including
PostgreSQL, S3-compatible storage for Records, console, and third-party sinks like Kafka,
Kinesis, InfluxDB, webhooks, … — is reachable through the passthrough: list a raw
Vector config snippet (TOML) in the custom_config_files parameter, and consume the
public dc.<tag> route it needs. No DC code, plugin, or extra language required — only
Vector configuration.
Can a passthrough snippet be generated or written in a language other than TOML?
The snippet the Bridge merges in must be Vector's own TOML configuration syntax — DC does not transform it. If you would rather generate that TOML from another language or tool, nothing stops you from doing so as a build or deploy step; the Bridge only reads the resulting file.
My group data is not published on the group topic
This may happen for different reasons:
- The group node is not started, be sure it is (ros2 node list), you will need to enable it in your launch file or using the
group_node:=truewhen launching the bringup - Data is not being published on all topics it subscribes to (use
ros2 topic echoon each to ensure that). A Group waits for every one of itsinputs, so one silent Measurement keeps the whole Group silent. Set the group'ssync_timeoutandon_sync_timeout: "emit_partial"to publish a partial Record with whatever did arrive instead — see Groups → Incomplete sets.message_filtershas no timeout of its own (see this discussion), so DC runs a deadline timer alongside the synchroniser to do this.