ROS配置多主机通讯

不知道什么原因,个人按照网络上别人配置ROS多主机通讯的一般方法没有成功,经尝试后,发现一种配置方法可以成功实现多主机的通讯,所以分享一下。
多主机通讯分为主机和从机,并且两台机子需要在同一局域网下
为了方便浏览,两台机器的信息如下
主机IP:192.168.1.101,机器名:fast02-NUC11TNKi7
从机IP:192.168.1.102,机器名:BIGPOT

一 从机配置

1.ifconfig 查看本机IP ,以192.168.1.102为例
2.sudo gedit /etc/hosts 进入hosts文件,将192.168.1.102替换到第二行
在这里插入图片描述
3.添加主机IP,在主机上输入ifconfig查看IP,以192.168.1.101为例。主机输入hostname查看机器名,以fast02-NUC11TNKi7为例。
另起一行,将这两项填入,中间用Tab键分割,不是空格。
在这里插入图片描述
4在.bashrc中添加如下
export ROS_HOSTNAME=BIGPOT #从机机器名
export ROS_IP=192.168.1.102#从机IP地址
export ROS_MASTER_URI=http://fast02-NUC11TNKi7:11311 #主机机器名

二 主机配置

和从机配置类似,将自己的IP值替换到hosts文件的第二行,同时将从机的IP和机器名另起一行填入hosts文件,不同的是.bashrc文件。
做完上述步骤后,在.bashrc文件填入以下三行
export ROS_HOSTNAME=fast02-NUC11TNKi7 #主机机器名
export ROS_IP=192.168.1.101#主机IP地址
export ROS_MASTER_URI=http://fast02-NUC11TNKi7:11311 #主机机器名

三 测试

以上步骤完成后可以运行官方的乌龟GUI节点和键盘控制节点进行测试多主机通讯是否配置成功。
首先主机启动roscore
然后任意一个机器启动GUI节点rosrun turtlesim turtlesim_node
之后另外的一个机器启动键盘控制节点rosrun turtlesim turtle_teleop_key,键盘上下左右控制,即可在另一台机器上看到乌龟运动。

四 其它事项

如果平时不需要多主机通讯,可以在.bashrc文件中将之前的三行注释,改为以下内容
export ROS_MASTER_URI=http://127.0.0.1:11311
export ROS_IP=127.0.0.1

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值