1
$\begingroup$

I found these links addressing the intention and the design of the QoS policies:

But I'm not sure how I should approach this in practice. Is Best Effort something you would default to in certain cases (if so: what cases?), or would you always start off with Reliable policy and only change once you run into trouble (if so: how would this trouble manifest)?

I worked with ROS1 before, and so far, using TCPROS was never a problem for my typical applications. If in doubt, should I default to anything other than Reliable policy when starting out with ROS 2 ?

$\endgroup$

1 Answer 1

1
$\begingroup$

Best Effort could be used in high-frequency data, and missing some of them is acceptable for your application.

One example is LiDAR data, which can be used to build a map or do a localization. Depending on the LiDAR and network specification, there could be missing data, but the map could be built successfully.

Vice versa, a Reliable QoS could be used in low-frequency data, and every one of them is necessary. The application for this could be in a medical field or critical situation where safety is the priority.

$\endgroup$
1
  • $\begingroup$ Thanks for your answer! While it addresses the theory / intention behind the setting, it doesn't address the practical guideline I was asking for. That is, how do I recognize a situation where I should step away from the system default QoS (which is Reliable). But also, if, in practice, one would decide about this setting based on "the acceptability of potential message loss" alone, or based on "the actual reliability / robustness of the network connection", too. $\endgroup$
    – moooeeeep
    Apr 11 at 7:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.