天天看點

LSD_SLAM 編譯、安裝到運作demo

LSD_SLAM在Ubuntu12.04 ,ROS fuerte上完成的,對indigo的支援做的不太好。

源碼的系統環境為ubuntu12.04+fuerte+opencv2.4.8+eigen3.2.5;

此處系統環境為ubuntu14.04+indigo+opencv2.4.13+eigen3.2.5;

若使用ubuntu16.04+kinect則需要修改 lsd_slam_core和 lsd_slam_viewer的 cmakelist和 package.xml檔案,具體可以參照 4.1中步驟,但不能保證可運作。

建議步驟:

如果安裝環境和源碼環境一樣,直接按照readme文檔指導操作,不用參照本文。

如果安裝環境與源碼環境不一緻,請按以下步驟操作:

1.安裝eigen3.2.5

    位址:eigen.tuxfamily.org/index.php?title=News:Eigen_3.2.5_released!

    務必保證eigen版本符合要求,否則在運作程式時将出現記憶體報錯,形如:double free or corruption.

2.安裝opencv,使用高于2.4.8版本,但避免3.0以上高版本;

3.在ubuntu14.04系統中安裝配置ros indigo,可以參照 ros wiki的教程;

   如果是初次安裝Ubuntu并準備作為長期程式設計平台,建議安裝順序為 opencv依賴庫->OpenCV->ROS,否則由于ROS自帶opencv容易出現相關軟體包的依賴問題以及opencv調用時的報錯。

4. lsd_slam安裝

    4.1參考http://visbot.blogspot.hk/2014/11/tutorial-building-of-lsd-slam-on-ros.html的教程完成第一步;

    4.2如果上一步正常通過則進入5;

a.若未通過,請按照https://github.com/tum-vision/lsd_slam中 2.2所述安裝 lsd_slam,此時應當能夠使用rosmake完成編譯;完成後進入5;

b.若未能通過 rosmake編譯,在rosbuild_ws (安裝時使用的預設名稱)檔案夾,将其中:src/lsd_slam/lsd_slam_core/src/IOWrapper/ROS/lsd_slam_core

複制到 catkin_ws檔案夾下相同位置處;

c.在 catkin_ws中使用 catkin_make;此時就能順利通過編譯。

5. lsd_slam運作 demo

   為了此後編譯友善,建議不論 4.2.a中是否通過rosmake編譯,都參照 b.c.步驟使用 catkin_make編譯。(~ ̄▽ ̄)~呵呵

   按照教程 依次輸入

roscore

rosrun lsd_slam_viewer viewer 

rosrun lsd_slam_core live_slam image:=/image_rawcamera_info:=/camera_info

rosbag play <path>/LSD_room.bag  

   就能順利運作demo;(如果出現記憶體報錯,請檢查 eigen 版本,務必使用 eigen3.2.5)

LSD_SLAM 編譯、安裝到運作demo