发现

节点的发现是通过 ROS 2 的底层中间件自动进行的。 可以总结如下:

  1. 启动节点时,它会将其存在通告给网络上具有相同 ROS 域(使用 ROS_DOMAIN_ID 环境变量设置)的其他节点。 节点会用有关自身的信息来响应此通告,以便可以建立适当的连接并进行通信。

  2. 节点会定期通告其存在,以便即使在初始发现期之后也可以与新发现的实体建立连接。

  3. 节点在离线时向其他节点通告。

节点仅在具有兼容的 服务质量 设置时才会与其他节点建立连接。

talker-listener demo 为例。 在一个终端中运行 C++ 谈话者节点将发布有关某个主题的消息, 而在另一个终端中运行的 Python 侦听器节点将订阅有关同一主题的消息。

您应该会看到这些节点会自动发现彼此,并开始交换消息。