ROS2-DDSConfig-Optimizer is an LLM-driven auto-tuner for FastDDS configuration. You hand it performance targets (latency, throughput, reliability, CPU, memory) plus a baseline DDS XML, and it iteratively runs your application, benchmarks it, and mutates DDS parameters until the targets are met.
Qualcomm-built, but SoC-agnostic — it runs on any Ubuntu host with ROS 2 Humble or Jazzy, no Qualcomm hardware required. Listed in this section because it’s part of the QRB ROS ecosystem and signals Qualcomm’s investment in broadly-useful ROS 2 tooling, not just silicon plumbing.
Why DDS tuning is a problem worth automating
DDS exposes hundreds of knobs — reliability QoS, history depth, heartbeat periods, socket buffers, participant discovery, transport descriptors. Most teams either leave the defaults in place and eat the latency, or hand-tune for weeks per workload. This tool treats DDS configuration as a black-box optimization problem and delegates the parameter search to an LLM driving FastDDS XML.Quick start
Uses
uv (≥ 0.7.8) for Python env management.Provide targets and a baseline config
Fill in
user_requirements_template.xml with your latency / throughput / reliability / resource targets, and fastdds_config_template.xml with your baseline DDS config.Inspect the dashboard
Requirements
| Item | Requirement |
|---|---|
| OS | Ubuntu |
| ROS 2 | Humble or Jazzy |
| DDS | FastDDS |
| Python env | uv ≥ 0.7.8 |
| Benchmark harness | ros2_benchmark |
Why this helps
| Alternative | Short take |
|---|---|
| Manual FastDDS XML editing | Full control, but requires reading hundreds of pages of spec; no automated search; weeks of tuning per workload. |
ROS 2 built-in QoS profiles (sensor_data, etc.) | Sensible presets but only ~7 of them; covers a small subset of DDS knobs. |
iceoryx / rmw_iceoryx | Different problem (shared-memory transport backend); doesn’t tune QoS. |
| Hand-rolled benchmark loops + parameter sweeps | Works, but doesn’t transfer between workloads — every project pays the engineering cost again. |
Related
qrb-ros-benchmark.mdx— the QRB-aware extension of the sameros2_benchmarkframework this optimizer drives.- Upstream:
qualcomm-qrb-ros/ROS2-DDSConfig-Optimizer.

