在跑orb_slam2的时候摄像头没有信息?

在我关闭了它弹出来的摄像头窗口之后,命令行出现这样的提示

这是topic信息

直接用rosrun ORB_SLAM2 RGBD /home/lab213/ROS_academy/ORB_SLAM2/Vocabulary/ORBvoc.txt
/home/lab213/ROS_academy/src/orbslam2_demo/param/Zdzn.yaml
去看的效果,还是没有,是不是demo里面给出的Zdzn.yaml和官方自带的ORBvoc.txt是没有东西的?我看你们给出的orbslam2.launch就是调用这两者的

不是的,正常状态下是有摄像头数据的。检查下自己的环境变量路径是否正确,在安装运行指南中有一个error,没有被及时修改,就是下载orb_slam2包在src下和教程上的环境变量配置路径才是一致的。
如下图:
2018-07-30%2021-28-07%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE

这里后面应该有src/,可以尝试检查是否是这个问题。

1赞

喔~这样啊,我就有点奇怪,刚离开了实验室,我明天看看,谢谢你哈,但是环境变量的问题的话,哪个export语句是什么意思?我没有source 但是有执行到export那步,谢谢你哈

大兄弟,我这个还是不行啊也放进去了,也重新编译一次了,环境也换了

有什么调试的方法吗?摄像头是可以用的,执行rtabmap_robot_mapping.launch,在rviz上可以看得到信息,所名摄像头通信没问题的,是不是这个orbslam2没有订阅这个topic?那要怎么做?是在orbslam2.launch里面修改吗?

但是不知道为什么打开rtabmap_robot_mapping.launch会提示很多错误,但是还是可用的

从你rqt_graph来看,gazebo仿真的图像消息已经被orbslam接收了,这个时候打开rviz再确认一下能否看到图像,如果rviz看得到,但是slam有问题,可能就是orbslam程序或参数的问题了

这里的rviz是可以看到信息的,那应该就是orbslam的问题了。这应该是orbslam2.launch里面的节点和订阅问题吧?我去瞧瞧。这里产生一个问题哈,为什么rviz里面用image就可以显示图像,camera就不能显示东西?都订阅同一个topic,camera的意思是当前rviz里面的camera仿真实体吗?

camera是会去查找tf信息的,必须保证相机的tf连通
image只是显示相机的画面,即使没有tf也能显示

1赞

不知道是不是opencv3.4.1的问题,官方没说可不可行,但是我这里用的是3.4.1,我把ORB_SLAM2下的CMakelists.txt改了find_package(OpenCV 3.4.1 QUIET)
if(NOT OpenCV_FOUND),不知道是不是要换版本才行,你们实验室有用过3.4.1跑过得吗?

没有耶……既然有这个怀疑可以很自然的换个版本试试呗?

楼主问题是否解决?

还没有诶,这两天下tum给出的数据集下不了,实验室里暂时又没有摄像头,郁闷死了,只能先看看源码和看看配置文件是否有问题咯:confused::confused:

每次我关闭orbslam弹出的两个对话框之后,就会出现这个问题,我上网搜了说是线程的问题,也有说是自动调用qt5,后面我在opencv的cmakelists里面查看了一下还是没有问题的,所以就又停滞了,打算下载个数据集来跑跑,好吧,官网也不稳定,下不动,就只能先放一放吧,但是还没尝试是不是opencv3.4.1的问题

今天tum的官网网开一面,终于可以下载数据集了,能跑通,说明不是opencv的问题,估计是orbslam2.launch文件配置的问题,那又有个疑问了,既然上面的图显示出有RGBD这个node,那是不是gazebo中的camera和orbslam的通信出了问题?

如果顺着这个思路的话,可以直接命令行看下相关的topic是不是有预期的msg出来。

你看看,其实都有的,配置也没啥问题吧。。。词典官方提供的,相机参数也没做。我看看rgbd_tum跟那个RGBD两者有什么差别吧,因为我rgbd_tum是可用的,我尝试把rgbd_tum放进去ros的ORB_SLAM2里面,尝试用rgbd_tum代替那个RGBD,也修改了相应的launch文件,没有报错,但是居然连orbslam的两个对话窗口都没弹出来