Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

For clarity I'm going to alias releases to distributions for my answer as releases is an overloaded term.

Nodes from different ROS distibutions are not expected to reliably communicate. The reason for the different distributions is to allow us to have the opportunity to change compatibility.

Having DDS on both sides is not enough to guarantee compatibility. The conventions building on top of DDS can and does change between distributions. There's how we use different DDS components as well as the message types that may change between distributions.

In practice all recent ROS 2 distributions will generally not communicate as we're still adding features and making improvements at the core from distribution to distribution. But from experience with ROS 1 over time as the core matures the rate of change will drop and people have been able to communicate between nodes of different distributions when they have tested it as long as the protocols and messages they're using have not changed. This is not supported but can be found to work sometimes. Designing a system to rely on that compatibility is not recommended as there are no guarantees.