Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteSome links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Use reliable QoS when losing a message could cause a wrong decision; use best-effort QoS when a fresh replacement matters more than delivering every sample. Reliable delivery can retry samples, but retries consume bandwidth, increase buffering and add delay on a congested link. Best effort keeps a stream moving with less overhead, while accepting that samples may disappear.
That choice is only one part of a ROS 2 Quality of Service (QoS) profile. History, depth, durability, deadline, lifespan and liveliness also affect whether endpoints connect and how they behave. The most common compatibility failure is a best-effort publisher paired with a subscription that requests reliable delivery.
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →What is the difference between reliable and best-effort QoS in ROS 2?
Reliability describes what a middleware implementation should do when a published sample does not reach a subscriber. A reliable endpoint attempts to ensure delivery, commonly by retaining and retransmitting samples. A best-effort endpoint sends without promising recovery when a sample is lost.
Reliable delivery
Reliable QoS is appropriate when every message can change the robot’s behavior. If a command, configuration update or lifecycle transition disappears, the receiver may continue with an unsafe or incorrect state. Retransmission and acknowledgement traffic improve delivery on a healthy network, but they can also create extra traffic and queues when the path is lossy or congested.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Those queues have a practical consequence: a reliable stream can arrive later than a best-effort stream during an outage or burst of contention. A backlog may contain old samples that are no longer useful, yet the middleware still has to process them according to the rest of the profile.
Best-effort delivery
Best effort prioritizes progress and freshness. A lost sample is not retried as a delivery obligation, so the receiver can move on to newer data. This is usually acceptable for a high-rate sensor stream in which the next camera frame, lidar scan or IMU reading supersedes the previous one.
Recommended Free Tools
Best effort is not a guarantee that loss will occur; it is permission for the middleware to avoid recovery work. On a quiet wired network, a best-effort stream may appear lossless. Your design still needs to tolerate missing samples because that behavior is allowed under the policy.
Why will a ROS 2 publisher and subscriber not connect?
ROS 2 requires QoS compatibility between the publisher’s offered policies and the subscriber’s requested minimum. A best-effort publisher cannot satisfy a subscription that requests reliable delivery. A reliable publisher can serve a best-effort subscription because it offers at least the requested reliability.
| Publisher offers | Subscriber requests | Compatibility | What it means |
|---|---|---|---|
| Reliable | Reliable | Compatible | Both sides require delivery attempts. |
| Reliable | Best effort | Compatible | The subscriber accepts the publisher’s stronger offer. |
| Best effort | Reliable | Incompatible | The publisher cannot meet the subscriber’s minimum. |
| Best effort | Best effort | Compatible | Both sides accept possible sample loss. |
Reliability is not the only compatibility gate. Different durability, deadline, liveliness, history or depth settings can also prevent communication, depending on the combination and the DDS implementation. Matching reliability while overlooking another policy therefore does not prove that two endpoints can communicate.
Offered versus requested is the key direction
Think of a publisher as advertising what it can provide and a subscription as stating the minimum it needs. The subscriber does not ask the publisher to become more capable. This is why changing a reliable subscription to best effort often fixes a sensor topic immediately, while changing only the publisher is not always possible when it comes from a driver or another package.
Should sensor topics use best effort or reliable QoS?
High-rate camera, lidar, IMU and similar streams normally use best effort when a current reading is more valuable than recovering an old one. ROS 2’s predefined sensor-data profile uses best effort for this reason: timely readings are preferred over guaranteeing delivery of every reading.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Camera and image streams
A vision pipeline usually wants the newest frame it can process. Retrying several delayed frames can increase latency and memory pressure, making the display or detector work on stale images. Best effort is a sensible default when occasional frame loss does not invalidate the next frame.
Lidar and depth scans
Scans are similarly time-sensitive. If a scan is dropped, the next rotation can refresh the obstacle map. Use reliable only when your algorithm or safety case explicitly requires every scan and the network and queues can support retransmission.
IMU and other high-frequency data
For rapidly sampled data, an occasional missing value is often less harmful than a delayed sequence. The consumer should account for gaps using timestamps and its estimator’s handling of missing measurements rather than assuming that best effort means a fixed delivery rate.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Which ROS 2 topics should use reliable QoS?
Choose reliable when a lost sample could leave the robot in the wrong mode, omit an instruction or create an incorrect configuration. Reliable is a delivery policy, not a safety certification; you still need timeouts, validation and a defined response when delivery cannot complete.
Commands and actuation requests
Velocity commands, trajectory updates, gripper actions and other control messages may justify reliable delivery when each message represents a required state change. Consider whether the command should expire: a reliable queue can deliver an old command after a delay unless the message includes its own timestamp or the profile uses an appropriate lifespan.
Mission state and configuration
Mission transitions, parameter updates, maps, calibration values and mode changes are generally less frequent and more consequential than sensor frames. Reliable delivery helps ensure that the receiving node does not silently miss the update, especially when the sender cannot simply publish the same state continuously.
Lifecycle and coordination messages
Startup, shutdown and coordinated state transitions often need reliable communication so that participating nodes observe the same event. Add explicit acknowledgement or state reporting at the application level when the system must prove that a transition completed; QoS alone does not describe the business meaning of a command.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
What policies are included in a ROS 2 QoS profile?
Reliability is one policy inside a larger profile. Evaluate the complete set because the policies interact: a profile that delivers every sample may still be unusable if it retains too little history, expires data too quickly or declares an incompatible liveliness requirement.
| Policy | What it controls | Questions to ask |
|---|---|---|
| Reliability | Whether the middleware attempts recovery of lost samples. | Is losing a sample acceptable, or is freshness more important? |
| History | Which samples are retained for delivery. | Should the queue keep all available samples or only the most recent ones? |
| Depth | The queue size used with the selected history behavior. | Can memory hold the queue during bursts, and what happens when it fills? |
| Durability | Whether samples are retained for subscribers that join later. | Must a late-joining node receive previously published state? |
| Deadline | The expected maximum interval between samples. | How should a missed update be detected or reported? |
| Lifespan | How long a sample remains valid before expiration. | Would a delayed command or measurement be harmful? |
| Liveliness | How endpoint presence is asserted and detected. | How quickly should peers know that a publisher or node is no longer active? |
History and depth are not interchangeable
History determines the retention rule, while depth limits how many samples can be queued under the applicable history setting. A shallow queue can drop data during a burst even when reliability is enabled. A deep queue consumes more memory and can increase latency if consumers cannot keep up.
Durability matters for late joiners
A volatile publisher does not retain data for a subscriber that arrives later. A durable arrangement can make previously published state available to late joiners, but the durability offered and requested must be compatible. This is useful for configuration or state, not automatically for an unbounded sensor stream.
Deadlines, lifespan and liveliness describe time
Deadline expresses an expected publishing interval; it can expose a missed update even if no sample was lost at the transport layer. Lifespan prevents stale data from being delivered after its useful period. Liveliness helps nodes detect that an endpoint has stopped asserting that it is alive. These policies should match the robot’s fault-detection and recovery design.
How do I diagnose a ROS 2 QoS mismatch?
Start at the endpoints, not at the application callback. Confirm that the topic names and message types match, then inspect the offered and requested QoS values on both sides.
- Identify every endpoint. Check the exact topic name, namespace and message type. Remappings can make a publisher and subscriber appear to use the same conceptual topic while they are actually separated by a spelling or namespace difference.
- Inspect the topic’s verbose information. Run
ros2 topic info /your_topic --verboseon the robot or test system. The available fields and formatting vary by ROS 2 distribution, but verbose output should reveal publishers, subscriptions and their QoS policies.
- Compare reliability first. If the publisher offers best effort and the subscription requests reliable, change the subscription to best effort or change the publisher if you control it. Do not infer reliability from a topic’s name or message type.
- Compare durability next. A late-joining subscriber may need a retained sample, while a volatile pairing will not provide one. Make the publisher’s offered durability and the subscriber’s requested durability intentional.
- Check deadline, liveliness, history and depth. Look for a policy that is stricter on the subscription than the publisher can offer. Also check whether a queue is overflowing or whether a deadline event is being interpreted as a connection failure.
- Test with a matching command-line subscriber. Where supported by your ROS 2 distribution, try
ros2 topic echo /your_topic --qos-reliability best_effortor the reliable setting. This isolates the driver from your application node and can show whether one policy connects while the other does not.
- Check the middleware and network path. ROS 2 QoS is implemented through a DDS layer, and behavior under loss, discovery and congestion depends on that implementation and the path between hosts. Verify that the nodes can discover one another before tuning queues or retransmission.
- Retest under the real load. A profile that connects on a quiet bench network may build a backlog when cameras, lidars and control traffic share a wireless link. Observe freshness, memory use and missed-deadline behavior during the conditions that matter.
How should I choose a QoS profile for a robot?
Choose from the consequence of loss, the value of freshness and the conditions of the network. The following starting points are practical defaults, not substitutes for an application’s safety and timing analysis.
| Use case | Typical starting reliability | Reasoning | Additional checks |
|---|---|---|---|
| Camera, lidar or depth stream | Best effort | New readings supersede delayed ones. | Set a queue that bounds memory and verify the consumer handles gaps. |
| High-rate IMU | Best effort | Fresh samples usually matter more than retransmitting old samples. | Use timestamps and verify estimator behavior when data is missing. |
| Motion or mission command | Reliable | Missing a command can create an incorrect state. | Use expiry, acknowledgements or a watchdog for delayed or absent commands. |
| Configuration and calibration | Reliable | The receiver should not silently miss an update. | Consider durability when nodes can join after publication. |
| Lifecycle transition | Reliable | Coordinated nodes need to observe the transition. | Report completion at the application level. |
| Mixed or unknown endpoints | Match the existing publisher | Compatibility is required before callbacks can run. | Inspect the actual offered and requested profiles rather than guessing. |
Use the least demanding subscription that meets the requirement
If a sensor publisher is best effort, a subscription that requests reliable is guaranteed to be incompatible. If your algorithm can tolerate loss, request best effort and document that choice. If it cannot, the publisher, network and buffering design must be changed together; simply demanding reliable on the subscriber cannot create reliability at the source.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Separate data classes when one topic has conflicting needs
A robot may need a best-effort stream for a live display and a reliable, lower-rate stream for recorded or safety-critical events. Do not force one profile to satisfy both goals. Publish a suitable representation for each consumer when the consequences and timing requirements differ.
What happens to latency and bandwidth on a congested link?
Reliable transport can spend bandwidth on retries and retain unacknowledged samples. Under congestion, that work competes with new samples and can increase jitter, queue depth and end-to-end delay. The result is not a fixed penalty: it depends on loss, traffic, middleware behavior, message size and the rest of the profile.
Best effort avoids making retransmission a requirement, so it can preserve a fresher view of a stream when packets are dropped. The trade-off is that the receiver has no guarantee that a particular sample will arrive. Design consumers to detect missing timestamps or sequence information where that matters.
Why a deeper queue is not always safer
Increasing depth can absorb a short burst, but it also increases memory use and the amount of stale data waiting to be processed. For a live sensor display, dropping old readings may be preferable to delivering a complete but delayed history. For a command channel, retaining data may be appropriate only when commands have explicit validity and ordering rules.
How do ROS 2 QoS settings interact with real-time requirements?
ROS 2 QoS is designed to support both lossy wireless environments and systems with real-time deadline requirements. Reliability should therefore be evaluated alongside deadlines, liveliness and bounded queues, not selected from a generic “always reliable” rule.
Free tools Windows power users keep installed
One-click scans. No signup required.
For a real-time path, define the maximum acceptable age of a sample, the response to a missed deadline and the memory available for queues. A reliable policy that causes unbounded backlog can violate a freshness requirement even though it improves eventual delivery. A best-effort policy can meet a timing budget while requiring the application to handle missing measurements explicitly.
What are the most common ROS 2 QoS mistakes?
- Assuming the message type determines QoS: The same message type can be published with different profiles. Inspect the endpoints.
- Making every subscription reliable: This breaks compatibility with best-effort sensor publishers and can add avoidable delay.
- Changing reliability but ignoring durability: A late-joining state subscriber may still receive nothing if the publisher does not retain samples.
- Using a large depth to hide overload: The queue may turn overload into stale data and memory pressure.
- Treating a connection as proof of correct timing: An endpoint can connect yet miss deadlines, expire samples or fall behind under load.
- Testing only on a perfect network: Loss and congestion reveal the trade-offs that are invisible on a quiet wired link.
- Expecting QoS to replace application safeguards: Watchdogs, command expiry, timestamps, validation and explicit acknowledgements may still be necessary.
What is the practical decision rule?
Start with the consequence of losing one sample. If loss can cause an unsafe or incorrect decision, select reliable and verify that the network, memory and timing budget can tolerate retries and backlog. If an old sample has little value once a newer one exists, select best effort, usually with the ROS 2 sensor-data profile for high-rate streams.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Then verify the complete profile at both endpoints: reliability, durability, deadline, liveliness, history and depth. Finally, test under the actual middleware and network conditions, because compatibility and performance depend on the endpoint pairing and the path between them.
Frequently Asked Questions
Can a reliable ROS 2 publisher communicate with a best-effort subscriber?
Yes. Reliability compatibility is directional: a reliable publisher offers at least what a best-effort subscriber requests. The subscriber still receives behavior governed by the rest of its profile, so durability or timing mismatches can remain a problem.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →How can I tell whether a topic is using the sensor-data QoS profile?
Use verbose topic inspection and compare the endpoint’s policies rather than relying on the topic name. A sensor-data-style endpoint normally shows best-effort reliability, but history, depth and other policies should be checked as well.
Does reliable QoS guarantee that a robot command will be acted on?
No. It concerns transport delivery attempts between ROS 2 endpoints. The receiving node may reject, delay or supersede a command, so applications still need validation, timestamps, expiry rules or acknowledgements when execution must be confirmed.
Should I change a publisher or subscriber when QoS is incompatible?
Change the side you control without weakening a requirement that the application genuinely needs. For a best-effort sensor source, making a tolerant subscriber best effort is usually safer than pretending the source can provide reliable recovery; otherwise redesign the source and link together.
Can QoS settings differ between ROS 2 distributions or DDS vendors?
The core policies and compatibility concept are shared, but command-line options, diagnostics and edge-case behavior can vary by ROS 2 distribution and DDS implementation. Confirm the available inspection commands and test the chosen profile with the middleware used on the robot.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

