发现

节点的发现是通过 ROS 2 的底层中间件自动完成的,可以概括如下:

  1. 当一个节点启动时,它会向网络上具有相同 ROS 域(通过 ROS_DOMAIN_ID 环境变量设置)的其他节点发出自己存在的广告。节点会对该广告作出回应,提供有关自己的信息,以便建立适当的连接和进行通信。

  2. 节点会定期公布自己的存在,以便与新发现的实体建立连接,即使在最初的发现期之后也是如此。

  3. 节点离线时,会向其他节点发布广告。

节点只有在与其他节点具有兼容的 服务质量 设置

采取 对话者-听众演示 例如在一个终端运行 C++ talker 节点将发布主题消息,在另一个终端运行 Python 监听器节点将订阅同一主题的消息。

您会发现这些节点会自动发现对方,并开始交换信息。