Skip to content

关于节点

节点(node)是 ROS 2 图(graph)中的一个参与者,它使用客户端库与其他节点进行通信。

节点可以与同一进程中的其他节点、不同进程中的节点,或不同机器上的节点进行通信。

节点通常是 ROS 图中的计算单元;每个节点应该只负责一项逻辑功能。

节点可以发布(publish)到命名的话题(topic),将数据传递给其他节点;也可以订阅(subscribe)命名的话题,从其他节点获取数据。

节点还可以作为 服务客户端(service client),请求其他节点执行计算;或者作为 服务端(service server),为其他节点提供功能。

对于长时间运行的计算,节点可以作为 Action 客户端(action client),委托其他节点执行;或者作为 Action 服务端(action server),为其他节点提供功能。

节点还可以提供可配置的 参数,以便在运行时改变行为。

节点通常是发布者(publisher)、订阅者(subscriber)、服务端(service server)、服务客户端(service client)、Action 服务端(action server)和 Action 客户端(action client)的复杂组合,所有这些角色可以同时存在。

节点之间的连接是通过分布式的发现机制(discovery)来建立的。