ROS Discovery
So I know that ROS’s middleware, which is DDS, is responsible for taking care of discovery. I also know the following steps, taken from here:
Steps
- Node Startup: Nodes announce their presence to others on the same ROS Domain ID using multicast.
- Information Exchange: Nodes respond with info about themselves. Appropriate connections are made so the nodes can communicate.
- Periodic Advertisements: Nodes continuously broadcast presence for new connections.
- Offline Notifications: Nodes broadcast going offline.
Info from here and summarized with ChatGPT.
However, I don’t understand how this this is ACTUALLY implemented. I get the high-level, but not the low-level.
MUST have compatible QoS
Nodes will only establish connections with other nodes if they have compatible Quality of Service settings.
- Ahh, this is why in Rviz, I couldn’t see the topics being published unless I set the right QoS setttings.