LSD-SLAM 編譯過程(Ubuntu 14.04 + ROS Indigo)

環境: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://blog.csdn.net/sonictl/article/details/48053597,感謝sonictl

  $ sudo apt-get install ros-indigo-uvc-camera

或者使用catkin,工作空間構建請參考ROS官網相關教程

  $ cd ~/catkin_ws/src
  $ git clone https://github.com/ktossell/camera_umd
  $ cd ~/catkin_ws
  $ catkin_make
  $ source ~/catkin_ws/devel/setup.bash


測試是否安裝成功:

開啓三個終端:

第一個啓動ROS服務:

$ roscore
第二個啓動驅動:
$ rosrun uvc_camera uvc_camera_node device:=/dev/video0
第三個啓動視頻窗口:
$ rosrun image_view image_view image:=/image_raw
如果正常顯示攝像頭視頻即成功


三. 安裝並運行LSD-SLAM


1. 如果沒有rosbuild並且打算使用rosbuild空間的話,執行下列代碼

sudo apt-get install python-rosinstall
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

2. 安裝依賴包

sudo apt-get install ros-indigo-libg2o ros-indigo-cv-bridge liblapack-dev libblas-dev freeglut3-dev libqglviewer-dev libsuitesparse-dev libx11-dev

3. 在你的ROS package path,git clone或者下載LSD-SLAM,LSD-SLAM 安裝網址:https://github.com/tum-vision/lsd_slam
git clone https://github.com/tum-vision/lsd_slam.git lsd_slam


4. 如果你需要openFabMap去閉環檢測的話(可選)

lsd_slam_core/CMakeLists.txt
中去掉下列四行註釋即可
#add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/openFabMap)
#include_directories(${PROJECT_SOURCE_DIR}/thirdparty/openFabMap/include)
#add_definitions("-DHAVE_FABMAP")
#set(FABMAP_LIB openFABMAP )

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

其中nonfree模塊可以由以下方式安裝

$ sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
$ sudo apt-get update
$ sudo apt-get install libopencv-nonfree-dev




5. 編譯LSD-SLAM

$ rosmake lsd_slam

6. 運行LSD-SLAM

開啓四個終端窗口

第一個啓動ROS服務:

$ roscore

第二個啓動攝像服務(USB攝像模式):

$ rosrun uvc_camera uvc_camera_node device:=/dev/video0
第三個啓動LSD-viewer查看點雲:

$ rosrun lsd_slam_viewer viewer
第四個啓動LSD-core:

(1)數據集模式

$ rosrun lsd_slam_core dataset_slam _files:=<files> _hz:=<hz> _calib:=<calibration_file>
_files填數據集png包的路徑,_hz表示幀率,填0代表默認值,_calib填標定文件地址

如:

$ rosrun lsd_slam_core dataset_slam _files:=<your path>/LSD_room/images _hz:=0 _calib:=<your path>/LSD_room/cameraCalibration.cfg

(2)USB攝像模式

$ rosrun lsd_slam_core live_slam /image:=<yourstreamtopic> _calib:=<calibration_file>
_calib同上,/image選擇視頻流

如:

$ rosrun lsd_slam_core live_slam /image:=image_raw _calib:=<your path>/LSD_room/cameraCalibration.cfg

運行成功圖如下:





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章