LSD-SLAM 编译过程Ubuntu 14.04 + ROS Indigo

原文:http://blog.csdn.net/xueyinhualuo/article/details/48490939

环境:Ubuntu 14.04 + ROS Indigo

LSD-SLAM 安装网址:https://github.com/tum-vision/lsd_slam

数据集:http://vision.in.tum.de/research/vslam/lsdslam?redirect=1

ROS Indigo 安装请参照:http://wiki.ros.org/cn/indigo/Installation/Ubuntu


前言:如果是初次安装Ubuntu并准备作为长期编程平台

建议安装顺序为 OpenCV依赖包-》Nvidia驱动(可选)-》opencv-》ROS

否则容易出现libqt4相关软件包的依赖问题


一. 安装并配置好 ROS Indigo(建议使用ROS官网推荐安装教程)


二. 安装uvc_camera (可选,适用于需要USB摄像头且没有安装过ROS摄像驱动的情况)

此节来自http://www.jb51.cc/article/p-ramzggao-bbn.html,感谢sonictl

  1. $sudoapt-getinstallros-indigo-uvc-camera

或者使用catkin,工作空间构建请参考ROS官网相关教程

  1. $cd~/catkin_ws/src
  2. $gitclonehttps://github.com/ktossell/camera_umd
  3. $cd~/catkin_ws
  4. $catkin_make
  5. $source~/catkin_ws/devel/setup.bash


测试是否安装成功:

开启三个终端:

一个启动ROS服务:

第二个启动驱动:
  1. $rosrunuvc_camerauvc_camera_nodedevice:=/dev/video0
第三个启动视频窗口:
  1. $rosrunimage_viewimage_viewimage:=/image_raw
如果正常显示摄像头视频即成功


三. 安装并运行LSD-SLAM


1. 如果没有rosbuild并且打算使用rosbuild空间的话,执行下列代码

  1. sudoapt-getinstallpython-rosinstall
  2. mkdir~/rosbuild_ws
  3. cd~/rosbuild_ws
  4. roswsinit./opt/ros/indigo
  5. mkdirpackage_dir
  6. roswsset~/rosbuild_ws/package_dir-t.
  7. echo"source~/rosbuild_ws/setup.bash">>~/.bashrc
  8. bash
  9. cdpackage_dir

2. 安装依赖包
  1. sudoapt-getinstallros-indigo-libg2oros-indigo-cv-bridgeliblapack-devlibblas-devfreeglut3-devlibqglviewer-devlibsuitesparse-devlibx11-dev

3. 在你的ROS package path,git clone或者下载LSD-SLAM,LSD-SLAM 安装网址: https://github.com/tum-vision/lsd_slam
  1. gitclonehttps://github.com/tum-vision/lsd_slam.gitlsd_slam


4. 如果你需要openFabMap去闭环检测的话(可选)

  1. lsd_slam_core/CMakeLists.txt
中去掉下列四行注释即可
  1. #add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/openFabMap)
  2. #include_directories(${PROJECT_SOURCE_DIR}/thirdparty/openFabMap/include)
  3. #add_deFinitions("-DHAVE_FABMAP")
  4. #set(FABMAP_LIBopenFABMAP)

需要注意openFabMap需要OpenCv nonfree模块支持,OpenCV3.0以上已经不包含,作者推荐2.4.8版本

其中nonfree模块可以由以下方式安装

  1. $sudoadd-apt-repository--yesppa:xqms/opencv-nonfree
  2. $sudoapt-getupdate
  3. $sudoapt-getinstalllibopencv-nonfree-dev

5. 编译LSD-SLAM

  1. $rosmakelsd_slam

6. 运行LSD-SLAM

开启四个终端窗口

一个启动ROS服务:

第二个启动摄像服务(USB摄像模式):

  1. $rosrunuvc_camerauvc_camera_nodedevice:=/dev/video0
第三个启动LSD-viewer查看点云:
  1. $rosrunlsd_slam_viewerviewer
第四个启动LSD-core:

(1)数据集模式

  1. $rosrunlsd_slam_coredataset_slam_files:=<files>_hz:=<hz>_calib:=<calibration_file>
_files填数据集png包的路径,_hz表示帧率,填0代表认值,_calib填标定文件地址

如:

  1. $rosrunlsd_slam_coredataset_slam_files:=<yourpath>/LSD_room/images_hz:=0_calib:=<yourpath>/LSD_room/cameraCalibration.cfg

(2)USB摄像模式

  1. $rosrunlsd_slam_corelive_slam/image:=<yourstreamtopic>_calib:=<calibration_file>
_calib同上,/image选择视频流

如:

  1. $rosrunlsd_slam_corelive_slam/image:=image_raw_calib:=<yourpath>/LSD_room/cameraCalibration.cfg

运行成功图如下:




相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...