【ROS基础】多机器人通信(2)-ROS机器人从机改回主机

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处


接着上一篇,我将机器人上ROS操作系统作为从机,台式机上的ROS作为主机,经过ROS_Master_URI设置后,实现了通信和主题分享。
接下来我准备将机器人上的ROS操作系统改回主机的过程中,碰到了一些报错,经过多次查阅相关博客,最终解决了。
在这里插入图片描述

一、报错: unable to contact my own server at [http://]

首先是在未任何改动的情况下,在从机上输入roscore,出现找不到master的报错,如下图所示:
在这里插入图片描述

二、lose经历

第一次尝试:清除从机上的ROS_Master_URI设置

原因很简单,master被设置在了台式机上,因此无法在机器人上运行master,从侧面也说明ROS_Master_URI设置主从机没有问题。
之后,下意识觉得只要清除从机上的.basher文件最后加上去的两行,也就是ROS_Master_URI设置,就应该能恢复为主机,但是结果还是不行,报错情况没有改变。

第二次尝试:登录http://www.ros.org/wiki/ROS/NetworkSetup
在这里插入图片描述
根据官网上所说的,要在环境变量里面设置以下两行命令:

export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311

官网的要求没有问题,但是没有明确指出是具体在哪种情况下进行上述设置。
而且只是在终端输入的话只能暂时解决找到master的问题,打开一个新的终端依旧会报错。

第三次尝试:直接在.basher文件最后添加
也就是将原来台式机的机名和地址改成从机的,但是还是不行。

三、success

最后方法相似,但是进入.bashe的方式不同。输入以下命令进入。

vim ~/.bashrc

出现以下界面,这明显跟直接打开.bashrc文件夹的不同,而是在终端打开。
在这里插入图片描述
然后在其中输入,保存后退出。

export ROS_MASTER_URI=http://本机IP:11311
export ROS_HOSTNAME=本机名

再打开一个终端输入roscore,成功运行。打开小乌龟节点也没问题,说明从机改成为主机了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
改回来后,两台机器人还是能进行互ping。

检查ip地址是否变动过,如果变动了,在.basher文件里面修改以下ip地址即可。

失败了很多次总算找到了成功的方法,很欣慰,值得记录一下,希望对碰到同样问题的朋友有帮助!!!

续篇:

ROS学习笔记-多机器人通信(3)报错(ssh: connect to host hostname port 22: No route to host)解决后远程访问终于实现。
ROS学习-多机器人通信(4)-远程打开rviz

reference

感谢以下参考博客的分享。
ROS运行错误:无法连接到ROS master,ERROR: unable to contact ROS master at [http://192.168.0.20:11311]

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌小超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值