我正致力于在一个码头容器中运行ROS,并试图在rosnode列表中检查来自另一个容器的信息,这两个容器都位于相同的定制码头网络(非主机)中。
从码头方面来说,我确信其中两个容器可以互相交谈,因为我尝试过从ping container1中提取container2,而不会丢失任何数据包。
container1 IP是172.22.0.2,container2 IP是172.22.0.3。
我已经将这两个容器的配置设置如下:
container1 export ROS_IP=172.22.0.2 export ROS_MASTER_URL=http://172.22.0.2:11311/
container2 export ROS_IP=172.22.0.3 export ROS_MASTER_URL=http://172.22.0.2:11311/
之后,我开始在container1上运行container1,并在container2上输入命令rosnode list,但是显示错误消息的container2:Unable to communicate with master!
看起来就像我为这两个容器安装了container url一样,我仍然无法在容器之间共享相同的roscore。
是不是有什么东西丢失了,或者我做的事情不正确?
发布于 2021-12-23 21:03:50
您需要的环境变量是ROS_MASTER_URI而不是ROS_MASTER_URL。将前者设置为主IP。
https://stackoverflow.com/questions/70466371
复制相似问题