问题描述
在使用 rospy 编程过程中,编写的python程序出现了下面的问题,一直卡着不动了。
【注:这里的localhost可能是你自己设置的机器人节点等一些自定义IP地址】
一开始,我还以为是python编译器出了问题,我尝试了 python2 和 python3 去执行py文件,结果是一样的。这就让我在想为什么会出现这个情况,因为C++代码运行就没问题。
分析原因
1 如果您的异常中,那个IPAddress是 localhost ,很可能是您的roscore没有运行,可以打开新终端,然后运行 roscore 【这个原因一般是因为我们不熟悉ros造成的,但我这里不是这种情况】
2 如果您的异常中,那个IPAddress不是 localhost ,可能是在系统的 .bashrc 文件中,您设置了 ROS_MASTER_URI,即在.bashrc文件中,可能包含下面类似的字眼
export ROS_MASTER_URI=http://$ROBOT_IP:11311
出现此问题的主要原因是在ros的库文件中,有个环境文件 python2.7/dist-packages/rosgraph/rosenv.py,导致rospy在加载过程中,需要在配置文件中加载 ROS_MASTER_URI,如果没有配置,就是默认本机(localhost),这就导致了这个问题的出现。
原因2的解决
1 打开新终端,切换到根目录下, 然后打开 .bashrc 文件,一定确保是在根目录下
文章来源:https://www.toymoban.com/news/detail-544825.html
2 定位到上方的 export ROS_MASTER_URI=http://$ROBOT_IP:11311,注释即可,然后保存该文件
文章来源地址https://www.toymoban.com/news/detail-544825.html
3 在根目录下,输入下方命令,激活当前配置
source .bashrc
4 重新打开一个新的终端,运行出问题的python文件,会发现一切正常了。
到了这里,关于【ROS解决】Unable to register with master node [http://ipaddress:11311/]: master may not be running yet的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!