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.1
Clone and sync
2
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.3
Run the optimizer
data/optimization_history/.4
Inspect the dashboard
Requirements
Why this helps
The only tool in the ROS 2 ecosystem that treats DDS configuration as a black-box optimization problem with an LLM driving the search. Hand it perf targets and a baseline XML, get back a tuned config without reading the FastDDS spec.
Related
qrb-ros-benchmark.mdx— the QRB-aware extension of the sameros2_benchmarkframework this optimizer drives.- Upstream:
qualcomm-qrb-ros/ROS2-DDSConfig-Optimizer.

