ROS多台电脑间进行联网通信

参考教程: 文章实现多台计算机之间的ROS通讯,笔记本作为主机,放在turtlebot机器人上面。台式机作为监视机,所有指令均在台式机上操作。特别要注意的是多台计算机都必须在一个网络中,比如连接同一个路由器即可。在本文中笔记本连接wifi,台式机通过网线连接路由器。 上述两篇教程需要用到两台计算机的主机名,将主机名写入hosts文件中,在本篇教程中,将不使用主机名,直接用ip地址来进行通信。这样可以更加简洁。 步骤: 1、在笔记本和台式机上分别运行

ifconfig

得到笔记本和台式机的IP地址分别为192.168.1.106和192.168.1.109,其中eno1代表网线,wlan0代表wifi。 2、修改./.bashrc文件 修改笔记本主机的bashrc文件

sudo gedit ./.bashrc

在打开的文件最后添加

export ROS_HOSTNAME=192.168.1.106
# 笔记本主机ip地址
export ROS_MASTER_URI=http://192.168.1.106:11311
# 笔记本主机ip地址

同样修改台式机的bashrc文件

sudo gedit ./.bashrc

在打开的文件最后添加

# export ROS_HOSTNAME=192.168.1.109
# 台式机ip地址
# export ROS_MASTER_URI=http://192.168.1.106:11311
# 笔记本主机ip地址

笔记本主机和台式机修改完以后,都要source一下修改的文件

source ./.bashrc

3、正式开始通讯 相互ping 在台式机下

ping 192.168.1.106

在笔记本主机下

ping 192.168.1.109

得到的结果如下: 这就代表着两台pc电脑的ROS可以相互通信了。 使用的时候,先打开笔记本主机的roscore,然后台式机上不要roscore就可以直接运行ROS操作。 然后分别在两台电脑上运行两个节点,节点直接就能相互通信了。

经验分享 程序员 微信小程序 职场和发展