ROS:结点和结点管理器

在ROS中,结点是执行计算的进程。

我是这样理解的,机器人的运动可能包括了很多不同的计算机,比如轨迹规划可能来自中央调度,定位可能来自机器人工控机,运动控制的计算可能来自下位单片机,所以说,机器人的运动其实是一个多计算机系统相互连接的过程,不同的计算机通过通信协议来连接。而ROS就将这些不同的计算机抽象成了不同的结点,以此来模拟不同计算机之间相互通信的过程。

在ROS里面,结点实质上是一个可执行程序,它从一些地方获取信息,然后又向一些地方发送信息。管理结点的工具叫做结点管理器,结点管理器负责处理结点与结点之间的通信问题,没有结点管理器,结点将无法找到彼此。

运行ROS的流程是,先运行结点管理器,再运行相关的结点。

例如在海龟程序中,在命令窗输入命令

roscore

就是启动结点管理器,之后在另外两个命令窗分别输入

rosrun turtlesim turtlesim_node

rosrun turtlesim turtle_teleop_key

这就是打开了两个不同的结点。

猜你喜欢

转载自blog.csdn.net/buaazyp/article/details/80661173