You are here: Home » About Us » Blogs » ROS 2 Over Wireless Mesh: DDS QoS Settings for Mobile Robot Teams

ROS 2 Over Wireless Mesh: DDS QoS Settings for Mobile Robot Teams

Views: 0     Author: Site Editor     Publish Time: 2026-07-14      Origin: Site

Inquire

facebook sharing button
twitter sharing button
line sharing button
wechat sharing button
linkedin sharing button
pinterest sharing button
whatsapp sharing button
kakao sharing button
snapchat sharing button
sharethis sharing button

Mobile robot teams often communicate reliably in a lab, then develop delayed commands, missing sensor updates, or slow recovery when mesh routes change. A ROS 2 wireless mesh adds fluctuating bandwidth, packet loss, and changing hop counts, while DDS can retransmit or queue data that is already stale. QoS settings help control reliability, history, depth, durability, deadline, and lifespan for each topic, but incompatible publisher and subscriber policies can stop delivery entirely.

The key is knowing which streams need every sample, which need only the newest one, and how to prevent large payloads from overwhelming a recovering link.

Start With the Traffic, Not the QoS Menu

Decide whether freshness or completeness matters more

Begin by asking what happens when a message is lost and what happens when it arrives late. LiDAR scans, camera frames, odometry, localization updates, and motion telemetry are continuously replaced. Losing one sample may be acceptable, while delivering it after several newer samples can corrupt local decisions or waste processing time.

Mission transitions, task assignments, configuration changes, safety events, and some map transfers have different requirements. A missing discrete event may leave robots in inconsistent operating states, so bounded retransmission can be justified. This distinction matters more than payload type alone: a small velocity command can be dangerous when stale, while a large map snapshot may remain useful after a delay.

Classifying traffic by freshness and completeness prevents a common ROS 2 wireless mesh mistake—setting every topic to RELIABLE because reliable sounds safer. Reliable DDS retains unacknowledged samples and retransmits missing data, creating overhead that best-effort communication avoids. The standard ROS 2 sensor-data profile therefore uses best-effort reliability with a smaller queue, where timely delivery generally matters more than receiving every reading.

Give each topic a delivery budget

Each cross-robot topic needs four limits: maximum useful message age, acceptable loss rate, required update frequency, and maximum recovery time after disconnection. These limits turn vague expectations such as “low latency” into testable requirements. A command stream might need an age limit measured in tens of milliseconds, whereas a map snapshot may tolerate seconds if the robot continues operating safely with its local copy.

Estimate offered load from serialized payload size, publication rate, and the number of destinations. Then compare that figure with measured multi-hop goodput rather than a radio’s nominal data rate. Leave capacity for acknowledgements, retransmissions, discovery traffic, route-management traffic, and simultaneous publishers.

Keep robot-internal traffic off the shared mesh

Not every ROS 2 topic should cross robot boundaries. Raw camera feeds, full point clouds, debugging data, and intermediate perception outputs often belong inside the robot that produces them. Publishing only detections, object tracks, local plans, reduced clouds, or map changes lowers shared-channel demand without changing DDS behavior.

This filtering step is especially valuable in a multi-robot ROS 2 wireless mesh, where one unnecessary high-rate stream can consume capacity needed by several coordination topics. Removing traffic usually produces a more predictable system than trying to protect an overloaded link with deeper queues and additional retries.

Practical QoS Profiles for Common Fleet Topics

Sensor streams and frequently refreshed state

High-rate sensor and state topics usually need the newest available sample, not a complete historical sequence. A practical starting profile is BEST_EFFORT, VOLATILE, and KEEP_LAST with a depth between one and five. Depth one suits data that is immediately superseded, while a slightly larger queue may absorb short callback-scheduling delays without building a long backlog.

LIFESPAN can add another safeguard by causing messages to expire after their useful period. DEADLINE serves a different purpose: it expresses the expected interval between messages and can trigger an event when that expectation is missed. Neither policy increases link capacity, but both make stale or interrupted streams easier to detect and handle.

The exact profile should reflect the consumer. A local obstacle-avoidance node may need frequent scans with minimal age, while a fleet dashboard can accept a lower update rate. Sending both through the same ROS 2 wireless mesh does not mean they require identical reliability, depth, or lifespan settings.

Fleet topic

Reliability

Durability

History and depth

Main objective

LiDAR, camera, odometry

Best effort

Volatile

Keep last, 1–5

Preserve freshness

Continuous motion commands

Best effort or carefully bounded reliable

Volatile

Keep last, 1

Prevent stale control

Task and mode events

Reliable

Volatile

Bounded keep last

Deliver valid transitions

Current map or configuration

Reliable

Transient local

Keep last, often 1

Support late joiners

Historical event records

Reliable

Application-specific

Bounded by resources

Preserve required events

Commands and coordination events need different treatment

Continuous commands and discrete coordination events should not share one default profile. Velocity, steering, and formation-correction streams are refreshed repeatedly, so old samples should not queue behind retransmissions. A shallow history, a short lifespan, and an application-level timeout help ensure that a robot stops or enters a defined fallback mode when fresh commands disappear.

Task acceptance, operating-mode changes, and mission transitions may require RELIABLE delivery because each event changes shared state. Even then, history must remain bounded. Replaying a long sequence of superseded commands after a route recovers can be more harmful than reporting the interruption and resynchronizing the current mission state.

DDS reliability is only one layer of protection. Every mobile robot should enforce local command expiry, motion constraints, and loss-of-communications behavior independently of the network. A ROS 2 wireless mesh can improve reach and route resilience, but it cannot decide whether an old command is still safe.

Maps, configuration, and late-joining robots

Use RELIABLE with TRANSIENT_LOCAL when a joining or reconnecting robot needs the most recent published state. Current maps, geofences, shared operating modes, and configuration snapshots often fit this pattern. KEEP_LAST(1) is usually more suitable than retaining every version because only the newest complete snapshot remains operationally relevant.

KEEP_ALL should be reserved for data whose full sequence genuinely matters and whose resource requirements are known. Keep-all storage remains subject to middleware resource limits, so it is not an unlimited guarantee. Transient-local durability also makes the publisher responsible for retaining samples for late-joining subscriptions.

Compatibility must be checked on both sides. A best-effort publisher cannot satisfy a reliable subscriber, and a volatile publisher cannot satisfy a transient-local subscription. Reliable publishers can serve best-effort subscribers, while transient-local publishers can send new messages to volatile subscribers. Retained historical delivery requires compatible transient-local settings.

ROS 2 wireless mesh

Reduce fragmentation before adding retries

Images, occupancy grids, and dense point clouds are divided into multiple transport units before crossing the network. When a large UDP datagram is fragmented at the IP layer, losing one fragment prevents reconstruction of the complete datagram. Remaining fragments can occupy kernel buffers until they expire, making the connection appear stalled and blocking newer traffic.

Large-payload degradation over wireless ROS 2 connections is commonly associated with three connected mechanisms: excessive IP fragmentation, inefficient retransmission timing, and congestive buffer bursts. Standards-compatible DDS parameter changes can reduce these effects without requiring a different application protocol.

Measure the real path MTU across the complete ROS 2 wireless mesh, including encryption, tunnels, virtual interfaces, and every routed segment. Where transport configuration permits, reduce the RTPS or UDP message size enough to avoid network-layer fragmentation. A value calculated from a 1500-byte Ethernet MTU is only a starting hypothesis because headers and encapsulation can reduce the usable size.

Keep history queues smaller than the recovery window

During a route interruption, a reliable publisher can continue producing messages while acknowledgements stop arriving. Unacknowledged samples accumulate in history until resource limits are reached. When connectivity returns, the restored path must carry current publications, control traffic, and the retained backlog at the same time.

Choose history depth from the number of samples that remain useful after reconnection. A 20 Hz state stream with a useful age of 250 milliseconds rarely needs dozens of queued samples; most of them would already be stale. Replaceable state should favor the latest sample, while essential event sequences need a bounded recovery plan.

Large reliable samples require an additional check: can the weakest expected route drain the queue without delaying current traffic? A deep history may reduce immediate data loss, yet it also increases memory use, recovery time, and the probability of a post-outage traffic surge. Excessive retained history can produce buffer bursts that worsen congestion after connectivity returns.

Watch for retransmission bursts

Reliable DDS uses heartbeat and acknowledgement exchanges to identify missing samples and trigger retransmission. Infrequent recovery cycles can allow several losses to accumulate before they are resent, producing short bursts that exceed the link’s momentary capacity. Heartbeat periods, fragmentation, and retransmission intervals also interact closely under lossy wireless conditions.

Test retransmission timing against each topic’s publication interval instead of applying one value fleet-wide. Measure recovery delay, tail latency, jitter, control-packet overhead, and CPU load after every change. Faster recovery signaling may reduce delay and burst size, but excessive control traffic can consume processing and bandwidth.

No timing adjustment can rescue a ROS 2 wireless mesh whose sustained offered load exceeds usable goodput. When the link remains saturated, retries add traffic to an already overloaded path.

Decide when to change the payload instead

QoS tuning should end where application architecture becomes the larger problem. Reduce image resolution, encoding quality, or frame rate when visual streams dominate the channel. Crop or downsample point clouds before transmission, and publish object tracks, traversability results, or local-map updates when teammates do not need raw observations.

Edge processing often provides the cleanest solution. Each robot can retain high-bandwidth sensor data locally and distribute only the information needed for coordination. This is not a compromise in DDS reliability; it is a deliberate decision to match communication demand to the physical capacity of the mobile network.

Test the Profile on Moving Robots, Not Just a Bench Network

Recreate the routes and failures the fleet will encounter

A fixed one-hop test cannot represent a mobile ROS 2 wireless mesh. Validation should include the shortest route, the maximum planned hop count, movement between relay positions, increasing interference, asymmetric traffic, short outages, long outages, reconnection, late joining, and concurrent publishing by several robots.

Record more than average latency. Useful measurements include:

 Received update frequency and message-loss rate.

 Message age, median latency, tail latency, and jitter.

 Discovery or reconnection time after a path change.

 Writer and reader queue growth during interruption.

 Time required to clear useful retained data.

 CPU and memory use on both publishers and subscribers.

Evaluate each result against the delivery budget created earlier. A localization topic may fail because its update frequency falls below the control requirement, even when every sample eventually arrives. Conversely, a map transfer may pass despite higher latency if it completes within the allowed recovery window.

Use mesh telemetry to explain DDS behavior

ROS 2 metrics reveal what the application experiences, while mesh telemetry helps explain why it happened. Compare topic performance with hop count, topology changes, signal strength, signal-to-noise ratio, upload and download traffic, and route-switch timing. Correlating both layers prevents teams from blaming QoS for a radio-path change or blaming the mesh for incompatible publisher and subscriber settings.

WDS MIMOmesh OEM/ODM modules and lightweight airborne units use an all-IP architecture with distributed, centerless dynamic routing and multi-hop relay modes. Their network-management functions provide topology, field strength, SNR, traffic, node-distance, and operating-status information that engineers can compare with ROS 2 latency, loss, and queue behavior.

Product data rates and single-hop delay figures should remain planning references rather than guaranteed application performance. Actual end-to-end behavior also includes route depth, channel occupancy, packet recovery, serialization, middleware queues, and node processing. In a moving ROS 2 wireless mesh, measured goodput on the weakest operational route should drive publication rates and history limits.

Change one variable at a time

Start by confirming topic names, message types, and QoS compatibility. Test discovery separately from data transfer because a node that never discovers its peer has a different failure from a matched endpoint losing packets. Incompatible-QoS events can help applications detect policy mismatches rather than leaving the failure unexplained.

Establish a repeatable route and movement pattern, then adjust one variable per run. Change reliability, depth, durability, lifespan, publication rate, payload size, or fragmentation threshold independently. Repeating the same scenario makes it possible to identify whether an apparent improvement comes from the QoS change or from a better radio path.

Set pass conditions before testing. Examples include a maximum command age, a minimum localization frequency, a maximum time for a reconnecting robot to receive the current map, and a limit on backlog-drain time. The final profile should pass under the weakest realistic route, not merely deliver impressive averages on the test bench.

 

Conclusion

Reliable fleet communication depends on matching DDS behavior to the purpose of each topic. Fresh sensor streams usually need shallow best-effort queues, while mission events and reconnecting robots may require bounded reliability or transient-local durability. Fragmentation, backlog growth, and measured multi-hop goodput should shape the final profile.

For teams building a ROS 2 wireless mesh, Shenzhen Sinosun Technology Co., Ltd. offers MIMOmesh OEM/ODM modules and lightweight airborne radios for mobile, multi-hop deployments. Combined with disciplined QoS testing, these platforms can help reduce stale traffic, shorten recovery, and keep shared bandwidth focused on operationally useful data.

 

FAQ

Q: Is ROS 2 suitable for wireless multi-robot communication?

A: Yes, but wireless links require topic-specific QoS settings. Reliability, queue depth, durability, and payload rate should reflect packet loss, latency, mobility, and available bandwidth.

Q: Which QoS reliability setting works best on a ROS 2 wireless mesh?

A: Use best effort for frequently refreshed sensor streams and bounded reliable delivery for commands, mission events, maps, or configuration data that must not be missed.

Q: Why do ROS 2 publishers and subscribers sometimes fail to connect?

A: Incompatible QoS policies can prevent communication. Common mismatches involve reliability, durability, deadline, or liveliness settings between the publisher’s offered profile and the subscriber’s requested profile.

Q: How should large LiDAR or camera messages be handled over a mesh network?

A: Reduce payload size, avoid IP fragmentation, limit publication rates, and keep queues shallow. Local processing or compressed outputs often perform better than transmitting every raw sensor sample.

Q: What history depth should mobile robot teams use?

A: Choose depth according to message lifetime and recovery needs. Use depth one for replaceable state, while essential events may need a larger but strictly bounded queue.

Quick Links

Product Category

  +86-852-4401-7395
  +86-755-8384-9417
  Room 3A17, South Cangsong Building, Tairan Science Park,Futian District, Shenzhen City, Guangdong Province, P. R. China.
Copyright ©️  2024 Shenzhen Sinosun Technology Co., Ltd. All Rights Reserved. | Support by leadong.com