调试LSD-SLAM和问题解决

  

安装的环境是ROS indigo + Ubuntu 14.04

一、打开一个终端,输入指令:sudo apt-get install python-rosinstall,这是后续工作的前提。
在Home文件夹下,依次在终端运行如下指令 mkdir ~/rosbuild_ws cd ~/rosbuild_ws rosws init . /opt/ros/indigo mkdir package_dir rosws set ~/rosbuild_ws/package_dir -t . echo "source ~/rosbuild_ws/setup.bash" >> ~/.bashrc bash cd package_dir

sudo apt-get install ros-indigo-libg2o ros-indigo-cv-bridge liblapack-dev libblas-dev freeglut3-dev libqglviewer-dev libsuitesparse-dev libx11-dev
git clone https://github.com/tum-vision/lsd_slam.git lsd_slam
rosmake lsd_slam

二 碰到问题与解决
在该步骤:
2.3 openFabMap for large loop-closure detection [optional]
出现错误//usr/local/lib/libopencv_nonfree.so: undefined reference to `cv::ocl::integral(cv::ocl::oclMat const&, cv::ocl::oclMat&)' collect2: error: ld returned 1 exit status

解决该问题的两个关键链接
https://github.com/tum-vision/lsd_slam/issues/27
http://stackoverflow.com/questions/26553659/linking-opencv-nonfree-components-sift-features-and-ocl-specifically

其实就是重新编译和安装OpenCV,

将“
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
改为“
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_OPENCL=OFF -D CMAKE_INSTALL_PREFIX=/usr/local ..
然后再“sudo make install”


三、重新编译lsd-slam
回到上面编译lsd-slam的终端,运行:
rosmake lsd_slam
错误将消失。

四、参照readme的内容跑程序。
posted @ 2016-03-14 09:20  huicanlin  阅读(1659)  评论(0编辑  收藏  举报