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)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TQE1UeVRkYzZ1RaZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jM2MTOwITM1ETMzMDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)