解决Docker中ROS通信失败问题

阅读: 评论:0

解决Docker中ROS通信失败问题

解决Docker中ROS通信失败问题

问题分析思路可参考:

本文仅是做了在docker环境中通过脚本实现export ROS_MASTER_URI 和 export ROS_HOSTNAME 的工作:

export ROS_MASTER_URI=主机ip:11311 #11311是默认ROS端口
export ROS_HOSTNAME=主机hostname

即,在~/.bashrc末尾添加如下段落:

# Set envs about ROS_MASTER.
export ROS_MASTER_URI=172.17.0.2:11311ip="a"
while read linex
doip=$linex
done <<< "$(cat /etc/hosts)"hostname=${ip%%       *}
export ROS_HOSTNAME=$hostnameecho "ROS_HOSTNAME="$ROS_HOSTNAME
echo "ROS_MASTER_URI="$ROS_MASTER_URI

解释:

  • 【ROS_MASTER_URI】 打开多个终端的/etc/hosts,观察到其hostname是从172.17.0.2开始编号逐个+1的,因此我将172.17.0.2作为主机(打开首个的终端),后续的作为从机
  • 【ROS_HOSTNAME】 应设置为当前终端的hostname,打开/etc/hosts发现总是最后一行 如下图,因此while循环中取最后一行,然后通过%% *(星号前是tab)的方式截取tab前的内容。

修改后通过source验证一下~ 

最后记得保存至镜像~

本文发布于:2024-01-28 14:45:43,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064243478180.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:通信   Docker   ROS
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23