如何使用Ros进行多机通信
本篇文章实现多台计算机之间的ROS通讯,笔记本作为master,通过笔记本控制台式机
step1:时间同步
在笔记本和台式机上分别运行:
sudo apt-get install chrony
step2:安装ssh服务器(在笔记本和台式机上分别运行)
sudo apt-get install openssh-server
step3:在台式机和笔记本上分别获取各自的ip和hostname
获取ip:
ifconfig
可以看出此处的ip地址为192.168.43.224
同理获取hostname
hostname
step4:修改/etc文件夹下的hosts文件,将两电脑的IP和主机名绑定
首先安装gksu
sudo apt-get install gksu
打开文件
gksu gedit /etc/hosts
以 IP hostname 的形式添加,如下图所示:注意这里ip和hostname的空白不是空格键而是TAB键
同理,在台式机上操作也是如此
step5:修改~/.bashrc文件
本文中将笔记本daniel-Lenovo-Legion-Y7000作为主机master, 通过如下命令编辑~/.bashrc文件
gedit ~/.bashrc
在笔记本这边的~/.bashrc文件最后添加
export ROS_HOSTNAME=daniel-Lenovo-Legion-Y7000
export ROS_MASTER_URI=http://daniel-Lenovo-Legion-Y7000:11311
在台式机上的~/.bashrc文件最后添加
export ROS_HOSTNAME=daniel-Vostro-270s
export ROS_MASTER_URI=http://daniel-Lenovo-Legion-Y7000:11311
step6:正式开始通讯
1.相互ping
在笔记本上ping台式机:
ping daniel-Vostro-270s
同时在台式机上运行
ping daniel-Lenovo-Legion-Y7000
两个屏幕上出现如下图所示,即表示通讯成功2.小例子:用笔记本来控制台式机上的小海鬼运动
在笔记本上运行
roscore
然后在台式机上运行
rosrun turtlesim turtlesim_node
最后在笔记本上运行
rosrun turtlesim draw_square
然后就会发现小海龟在屏幕上画正方形