ROS多节点通信
消息发布主机的设置
很多资料提到ROS多节点通信只需要把ROS_MASTER_URI设置为当前主机名的URL就可以了。但是实践中,我发现还得设置ROS_IP为对外的IP才可以。并且每次启动发布消息的节点,都必须保证这两个变量被设置为正确的值,因为默认情况下ROS把主机的IP都设置为了127.0.0.1.
ROS_MASTER_URI=http://yourhostname:11311
ROS_IP=your_external_IP
订阅消息主机的设置
订阅主机要做的是设置好自己的ROS_IP, 然后用roswtf来检查网络配置。如果roswtf有错误提示信息,诸如rostopic echo这样的命令可能就看不到输出的消息了。
有时候对方的主机是个名字,如下图,那么我们就需要去改hosts文件加上来解析它的主机名。
下图中,roswtf发现unknown host,我们就需要解析其中的ubantu_tobor这个主机的ip。