You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, bond relies on sending ReliabilityPolicy::Reliable messages periodically, with managed timers, timeouts, etc. In ROS2 over DDS, these sorts of features are actually built into the RMW in a more efficient way, by using Liveliness QoS, and liveliness event callbacks.
That way, if you just want a heartbeat, it is possible even to simply renew your lease duration periodically, and not even actually publish a message at all, if no data needs to be transmitted.
Motivation
bond uses quite a lot of DDS bandwidth for the task of keeping multiple nodes alive together.
Implementation concerns
Since advanced QoS is not used by most ROS2 users, the common middlewares (FastDDS, CycloneDDS) are inconsistent in their implementation of liveliness qos events at the rclcpp level, from my experience.
The text was updated successfully, but these errors were encountered:
Currently, bond relies on sending
ReliabilityPolicy::Reliable
messages periodically, with managed timers, timeouts, etc. In ROS2 over DDS, these sorts of features are actually built into the RMW in a more efficient way, by using Liveliness QoS, and liveliness event callbacks.That way, if you just want a heartbeat, it is possible even to simply renew your lease duration periodically, and not even actually publish a message at all, if no data needs to be transmitted.
Motivation
bond
uses quite a lot of DDS bandwidth for the task of keeping multiple nodes alive together.Implementation concerns
Since advanced QoS is not used by most ROS2 users, the common middlewares (FastDDS, CycloneDDS) are inconsistent in their implementation of liveliness qos events at the
rclcpp
level, from my experience.The text was updated successfully, but these errors were encountered: