发现
节点的发现是通过 ROS 2 的底层中间件自动进行的。 可以总结如下:
#. 启动节点时,它会将其存在通告给网络上具有相同 ROS 域(使用 ROS_DOMAIN_ID 环境变量设置)的其他节点。 节点会用有关自身的信息来响应此通告,以便可以建立适当的连接并进行通信。 #. 节点会定期通告其存在,以便即使在初始发现期之后也可以与新发现的实体建立连接。 #. 节点在离线时向其他节点通告。
节点只有在具有兼容的 ROS 域时才会与其他节点建立连接 Quality of Service 设置。
采取 talker-listener demo 例如。 在一个终端中运行 C++ talker 节点将发布有关某个主题的消息, 而在另一个终端中运行的 Python listener 节点将订阅有关同一主题的消息。
您应该看到这些节点会自动发现彼此,并开始交换消息。