接着上一篇文章:ROS2通讯服务质量Qos介绍与样例

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

当启动一个节点时,它会在同一 ROS 域(使用 ROS_DOMAIN_ID 环境变量设置)上向其他节点广播自己的存在。其他节点会对此广播进行响应,并提供有关自身的信息,以便建立适当的连接并进行通信。

节点会定期广播自己的存在,以确保在初始发现期之后能够与新发现的节点建立连接。

即使在离线时,节点也会向其他节点进行广播,以确保其他节点了解它的存在。

但需要注意的是,只有当节点具有兼容的 Quality of Service(QoS)设置时,它们才会与其他节点建立连接。

如果节点之间的 QoS 设置不兼容,就会导致通信问题,因为它们无法建立有效的连接。