fkie / multimaster_fkie

ROS stack with FKIE packages for multi-robot (discovering, synchronizing and management GUI)
BSD 3-Clause "New" or "Revised" License
267 stars 107 forks source link

Can see advertised topic, cannot receive messages #165

Closed methylDragon closed 2 years ago

methylDragon commented 2 years ago

I'm leaving this issue here because I'm not sure if I'm using master_discovery and master_sync correctly.

Setup

All my robots and computers are running ROS Melodic. I have 5 computers:

For computer connections:

Each master_sync node is set up to sync to hosts A, B1, and B2 using sync_hosts.

Additionally, I've set up network routing such that B1 and B2 are used as gateways to C1 and C2 respectively. I can directly SSH into C1 and C2 from A, and vice-versa)

All hosts are listed correctly in /etc/hosts. All master_discovery nodes are pointed to the same multicast address (226.0.0.0) and are listening to and sending multicast messages.

Important: sync_remote_nodes and sync_topics_on_demand are set to True on A, B1, and B2's master_sync.

Behaviour

I have some unexpected behaviours, and I'm not sure if I'm setting up the multimaster correctly.

The most confusing one

Finally, if B1 or B2 use topic_tools' relay node to relay topics, their respective C computers can hear the relayed topics.

E.g. A publishes a message, B1 uses a relay to republish it on its own ROS network under the same topic name, C1 can now receive the message.

I'm not sure if this last method is the correct solution, since it'll accrue extra network load (right?)

Questions

What is the "correct" way to get C1 and C2 to hear messages from other ROS networks?

Cheers!

methylDragon commented 2 years ago

Apologies, seems I missed out some hosts in /etc/hosts... I'll close the issue