ROS支持多机互通,一台主机启动roscore,启动Master节点,多台从机直接可以运行其他节点,本文记录主从机配置,实现多机互通。
查看本机IP地址
ifconfig
其中,enp2s0代表有线网卡,lo代表本地回环,wlp5s0代表无线网卡。每个网卡后inet addr后为IP地址,需要记录为后续配置使用,例如,主机IP地址为:192.168.1.1,从机的IP地址为10.134.131.1(两个地址需要在同一个网段下:能够ping到对方的网)。
在主从机中更改hosts文件
sudo gedit /etc/hosts
在文件最后一行,加上主从机的IP信息及Name信息
127.0.0.1 localhost
127.0.1.1 wuzp-HP-ENVY-Notebook
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
//以下为添加内容,分别是主从机信息
192.168.1.1 jjc-desktop-M73B
10.134.131.1 chicken-Thinkpad-E580
注意,主从机均需要添加信息。添加后保存退出。
.bashrc文件配置
主从机都需要更改.bashrc文件,首先在home文件夹下ctrl+h,打开隐藏文件,找到.bashrc文件,双击打开,在文件最后一行添加如下信息
主机:
export ROS_HOSTNAME=主机hostname
export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=主机IP
从机:
export ROS_HOSTNAME=从机hostname
export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=主机IP
修改好.bashrc文件后,保存并退出。此时,主从机设置完成,可以在主机中启动roscore,启动Master节点,从机中运行其他节点。