Solving Silent Data Loss: Matching ROS 2 QoS Profiles
Stop wondering why your ROS 2 subscribers are silent. Learn how to match Reliability and Durability QoS profiles to prevent silent data loss and avoid the pitfalls of head-of-line blocking.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Stop wondering why your ROS 2 subscribers are silent. Learn how to match Reliability and Durability QoS profiles to prevent silent data loss and avoid the pitfalls of head-of-line blocking.
ROS 2's DDS middleware replaces ROS 1's central master with decentralized discovery, but introduces QoS configuration complexity. This architecture note covers domain partitioning, per-topic QoS tuning, silent failure modes, and concrete verification commands for multi-robot deployments.
A concise architecture note that outlines the requirements, minimal design, trust boundaries, operational checks, failure modes, and design‑change triggers for ROS 2’s DDS‑based middleware when configuring QoS for reliable robot‑to‑robot communication.
Goal Determine how ROS2 can guarantee safe rollback after a message schema change without redeploying nodes. Current Constraints ROS message definitions (.msg, .srv, .action) are static; any change requires recompilation of all dependent packages. ROS2 leverages DDS, which supports limited schema evolution (e.g., adding optional fields), but the ROS2 build s
DDS Quality of Service Configuration In ROS 2, the Data Distribution Service (DDS) layer manages communication through Quality of Service (QoS) profiles. When implementing a system where late-joining subscribers must receive the most recent state updates, the Transient Local durability setting is used on the publisher to store messages for future subscribers
Goal: identify FastDDS configuration parameters that minimize the duration of stale participant entries after a node is terminated abruptly without generating excessive multicast traffic. Constraints include variation across DDS implementations (FastDDS vs CycloneDDS), dependence on network latency, and the trade‑off between rapid dead‑node detection and hea