1、设置IP地址,确保底层链路的联通
设置双方的ip地址,保证互相能ping通,通过ifconfig查看master和slave的ip地址。
查询双方的hostname
在sudo vi /etc/hosts中设置双方的ip与hostname
测试ping是否正常。
2、设置ROS_MASTER_URI
在从机端设置ROS_MASTER_URI,让从机找到ROS_MASTER
因为在ROS系统当中只能存在一个ROS_MASTER,所以ROSCORE命令只能运行在一台计算机上,所以需要在另外一台计算机设置一个环境变量,告诉计算机我的ROS_MASTER是运行在哪个地方的。
在master的~/.bashrc 文件末尾增加两行:
#第一行, 主机的ip,第二行,主机的ip
export ROS_HOSTNAME=192.168.101.200
export ROS_MASTER_URI=http://192.168.101.200:11311
在slave的~/.bashrc 文件末尾增加两行:
#第一行, 从机的ip,第二行,主机的ip
export ROS_HOSTNAME=192.168.101.5
export ROS_MASTER_URI=http://192.168.101.200:11311
分别在master个slave下执行source ~/.bashrc。
3、对时
分布式ros机器需要对时,也就是系统运行时间需要对齐,在此使用ubuntu,使用如下自动同步网络时间:
1. 安装ntpdate工具
# sudo apt-get install ntpdate
2. 设置系统时间与网络时间同步
# ntpdate cn.pool.ntp.org
3. 将系统时间写入硬件时间
# hwclock --systohc