LSD SLAM的编译以及depth debug window不存在的问题

在回顾LSD SLAM的过程中,想着再跑跑LSD,结果笔记本上面的源码不能重新编译了,所以就重新过了一遍,给后面对SLAM感兴趣的人一点点参考。

首先需要提醒一下的,因为ros版本的升级,编译方式由原来的rosmake变成了catkin_make,所以在编译安装LSD的时候建议使用catkin的那个分支,github的链接为:https://github.com/tum-vision/lsd_slam/tree/catkin,编译安装的方法可以参考另外一个博客,写的很好,链接为:http://visbot.blogspot.com/2014/11/tutorial-building-of-lsd-slam-on-ros.html。
然后我在运行的时候出现了一个问题。在执行 rosrun lsd_slam_core live_slam的过程中,出现以下的提示:

WAITING for ROS camera calibration!
Received ROS Camera Calibration: fx: 254.326950, fy: 375.934387, cx: 267.381897, cy: 231.599091 @ 640x480
RECEIVED ROS camera calibration!
Started mapping thread!
Started constraint search thread!
Doing Random initialization!
Started optimization thread
started image display thread!
Done Random initialization!
init done
opengl support available
TRACKING LOST for frame 574 (0,00% good Points, which is 16,67% of available points, DIVERGED)!
Backward-Jump in SEQ detected, but ignoring for now.

并且没有depth debug window显示,然后点云图也不显示。


LSD SLAM的编译以及depth debug window不存在的问题_第1张图片

google了一下,发现已经有人在git上提出过相同的问题,链接为:https://github.com/tum-vision/lsd_slam/issues/30
问题的根源就是opencv。我电脑系统是Ubuntu 14.04 ,ros使用的是indigo,opencv使用的版本是2.4.11(作者推荐2.4.8)。Ubuntu自带的是qt4,我后来装了一下qt5,还把opencv的qt部分一块编译了。
解决办法:
重新编译一遍opencv,关闭qt,命令如下:

cd cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make install

来替换原来opencv编译好的库(不需要指定qt,默认是关闭的)

你可能感兴趣的:(SLAM,LSD,SLAM编译,depth,debug,window丢失)