问题遇到的现象和发生背景
在ssh登录下,进行了初始化节点,然后自己打开新的终端输入rostopic list和用qt调用bash终端输入的结果不一样
问题相关代码,请勿粘贴截图
自己打开终端显示的结果
用qt调用终端,进行同样的操作后再输入rostopic list结果如下
不知道什么原因,下图是qt的源码
在ssh登录下,进行了初始化节点,然后自己打开新的终端输入rostopic list和用qt调用bash终端输入的结果不一样
自己打开终端显示的结果
这种情况一般是由于QT没有导入某些环境变量导致的。
在QT项目中加入相应的环境变量,然后重新编译即可。
需要的环境变量可能是ROS_MASTER_URI和ROS_HOSTNAME
(这两个环境变量是我的猜测,你验证一下是不是这两个变量)
(或者,在qt启动bash后,先在bash中export 环境变量,然后再执行rostopic list)
这两个环境变量来源于下面这篇文章的说明:
ROS多机通讯(unable to communicate with master 解决) - 灰信网(软件开发博客聚合)
ROS多机通讯(unable to communicate with master 解决),灰信网,软件开发博客聚合,程序员专属的优秀博客文章阅读平台。
https://www.freesion.com/article/38291356076/