在第一篇文章 ros的安装中提到过ros是一个伪分布式系统,允许多台机器合作计算,这篇文章讲一下ros多台机器通信的配置。
首先要搞清楚两个概念 master和host,说ros是伪分布式的系统,是因为各个节点有主次之分,master的地位无可动摇
Ros的分布式大概是这样的:
- 整个系统有两种节点构成,master和host。
- Host可以有很多,master只能有一个
- Host做完计算后数据通过rosout话题发布到master上,由master对机器人发布,进而控制机器人运动
- Master也是一个host,也可以进行运算
- Host根据bashrc里的配置,通过ip地址找到master
在系统中的相关配置:
- hosts文件的配置
host文件是系统的网络配置文件,相当于本地dns,里面的内容是主机名和地址的键值对,配置host文件是为了确保主机名和ip地址对应,此步骤有点玄学的成分在里面,有时候需要配置,有时候不需要配置
用到的所有电脑:
先用gedit打开host文件
sudo gedit /etc/host
将所有用得到的主机名和地址以文件本来内容的格式写上去即可。
- bashrc文件的配置
用gedit打开bashrc
sudo gedit ~/.bashrc
将以下内容添加到bashrc文件的底部
export RO