ROS实战(十一)ROS2之节点

本文主要介绍ROS2上的节点。

关键词:ROS2

节点

机器人是各种功能的综合体,每一项功能就像机器人的一个工作细胞。众多细胞通过一些机制联系到一起,就成为了一个机器人整体。

在ROS中,这些细胞被称为节点。

通信模型

完成的机器人系统可能并不是一个物理上的整体,比如这样的一个机器人:

在机器人身体里搭载了一台计算机A,通过机器人的眼睛——摄像头,获取外界的信息,也可以通过控制机器人的腿——轮子,让机器人一栋栋到想要去的地方。除此之外,还有另外一台计算机B,放在你的桌子上,可以远程监控机器人看到的消息,也可以远程配置机器人的速度和某些参数,还可以连接成为一个摇杆,人为控制机器人左右运动。

这些功能虽然位于不同的计算机中,但是都是机器人的工作细胞,也就是节点,他们共同组成了一个完整的机器人系统。

  • 节点在机器人系统中的职责就是执行某些具体的任务,从操作系统来看,也叫做进程;
  • 每个节点都是一个独立运行的可执行文件,比如执行某一个python程序,或者执行C++编译生成的结果,都是算运行了一个节点;
  • 既然每一个节点都是独立的执行文件,那自然就可以想到,得到这个执行文件的编程语言可以是不同的,比如C++、Python等;
  • 这些节点是功能各不相同的细胞,根据系统设计的不同,可能位于计算机A,也可能位于计算机B