ROS2 (Robot Operating System 2) connects independent processes — nodes — over topics: named channels a node can publish to or subscribe from. Unlike ROS1, there is no central master process; instead, ROS2's default middleware is DDS (Data Distribution Service), a fully decentralized publish-subscribe protocol. Each node runs its own DDS discovery process, broadcasting "who I am and what I publish/subscribe to" so peers can find each other directly and exchange data peer-to-peer.
camera_node --publish--> /camera/image
lidar_node --publish--> /scan
nav_node --subscribe-> /scan, /camera/image
nav_node --publish--> /cmd_vel
motor_node --subscribe-> /cmd_vel
- Publish rate — how many messages per second each active publisher sends down its topics; watch pulses travel faster or slower along the edges.
- Simulate node failure — kills a random live node instantly, the way a process crash or power loss would in the field. Because there is no central broker, every other node keeps discovering and talking to its remaining peers unaffected — the core resilience argument for DDS over ROS1's single point of failure (the master).
- Click a node — opens its publish/subscribe list in the panel on the left.
Real-world relevance: this exact graph — sensor nodes publishing raw data, a navigation/perception node fusing it, an actuator node consuming commands — is the backbone of nearly every ROS2-based robot, from warehouse AMRs to research quadrupeds.