Fast RTPS Discovery

Does the ROS2 Fast RTPS perform any special default configuration for discovery?

Before diving into using ROS2 on top of DDS, I tried using Fast RTPS in a separate simple program. Overall it was worked well. However, my publisher and subscriber are operating on different computers and sometimes have trouble discovering each other quickly. This was improved by setting the Participant parameters lease duration announcement period to 2 seconds from a default of 250 seconds. Now most of the time the programs discover each other within the first 30 seconds of launch. However, sometimes the programs never discover each other.

Have folks experimented with better tuning for the discovery configuration? The default of 250 seconds to find a new node would be unacceptable in most ROS systems.

Hi @Adam_Stambler,

We don’t currently adjust the discovery settings in Fast-RTPS when using it with ROS 2, but if we see the need to do so we have that capability.

We have done some testing along these lines, but to be honest Fast-RTPS has been improving a lot lately, which is good, but the characteristics have also been changing too. So we intended to “fine tune” the behavior of Fast-RTPS with ROS 2 at some point when things are a bit more stable. We’re also waiting on a feature or two more from Fast-RTPS, like piggyback heartbeat messages before tuning the behavior.

Anyways, any recommendations based on your testing (or anyone else’s testing) is appreciated.