Has there been any advancement in this regard?
Specifically I believe there are two issues here, how to handle multiple independent robots on a same physical network, and how to have some sort of multirobot communication.
Regarding the first issue, from the comments above it it looks like either setting a different ROS_DOMAIN_ID or using namespaces might be enough.
But each seems to be either limited or cumbersome when compared to the old “use different ROS_MASTER_URI”.
If we need a separate domain id per physical robot, as more robots are distributed, having non-conflicting domain ids seems extremely difficult.
On the other hand, using a different namespace for each robot’s nodes and topics might do the trick, but in my opinion it needs to be implicitly supported in ROS2, so that it can be transparent to the user after configuring it.
Let’s say you want to distribute an rviz2 configuration for visualizing the tf data of the Robot Foo, you add a display of /tf.
If you have two of these robots in your office, foo-1 and foo-2, in ROS1 you’d export the ROS_MASTER_URI to the corresponding hostname and open rviz.
There needs to be a way of doing this so that when the user opens rviz (or any other tool, or launches a node of it’s own), it doesn’t need to change the topic manually.
Is there anything that I’m missing?