1.使主机(计算机1)、从机(计算机2)处于同一个局域网,假设其IP地址及其用户名分别如下:
主机:
用户名:ljs , IP:192.168.169.151
从机:
用户名:zhkai , IP:192.168.169.150
2.两机安装openssh:
sudo apt-get install openssh-server
3.查看ssh服务是否启动:
sudo ps -e |grep ssh
若终端显示类似于 1058 ? 00:00:00 sshd
,则证明安装成功;
4.主机终端输入 ssh zhkai@192.168.169.150
及从机密码,即可控制从机;
5.分别在两台机子的/etc/hosts
文件中,加入对方的IP地址和对应的用户名,即在hosts
文件中添加如下两行:
192.168.169.151 ljs
192.168.169.150 zhkai
6.互相在终端ping对方用户名,看通信是否正常,如:
ping ljs
7.修改两台机器的 ~/.bashrc 文件,特别注意其中的用户名:
主机添加:
export ROS_HOSTNAME=ljs
export ROS_MASTER_URI=http://ljs:11311
从机添加:
export ROS_HOSTNAME=zhkai
export ROS_MASTER_URI=http://ljs:11311
8.source ~/.bashrc
刷新后,即可进行ROS通信;
9.ROS运行小乌龟示例程序进行最终测试:
主机分别运行:
roscore
rosrun turtlesim turtle_teleop_key
从机运行:
rosrun turtlesim turtlesim_node
10.至此,若测试成功,即说明已实现两机之间的ROS通信。
参考链接:
ros分布式多机通信完整教程