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:

  1. 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:=true when launching the bringup
  2. Data is not being published on all topics it subscribes to (use ros2 topic echo on each to ensure that). A Group waits for every one of its inputs, so one silent Measurement keeps the whole Group silent. Set the group's sync_timeout and on_sync_timeout: "emit_partial" to publish a partial Record with whatever did arrive instead — see Groups → Incomplete sets. message_filters has no timeout of its own (see this discussion), so DC runs a deadline timer alongside the synchroniser to do this.