簡單記錄下安裝使用rgbdslamv2遇到的兩個問題解決方法。
使用https://github.com/felixendres/rgbdslam_v2裏面的install.sh一鍵安裝完成後卻運行不了
1、required process[rgbdslam-2] has died”......Iinitiating down
總之就是各種運行不了,UI界面都運行不了,也沒有提示。
解決方法參考https://blog.csdn.net/zhuoyueljl/article/details/78536996
BUG解決
如果您遇到了“required process[rgbdslam-2] has died”......Iinitiating down問題,請不要着急,該問題主要是由於rgbdslam依賴庫g2o和pcl不兼容引起的;
我的解決方法:已測試成功
1 )如果你之前已經安裝了g2o,請將其卸載,卸載方法如下:
解決方法爲:(1)刪除/usr/local/include/g2o,指令爲sudo rm -rf /usr/local/include/g2o;(2)刪除/usr/local/lib下有關libg2o_*.so的庫文件,先進入目錄cd /usr/local/lib,然後挨個(可多個同時)刪除sudo rm -rf libg2o_*.so libg2o_*.so libg2o_*.so(我一個一個刪的我會說……)
2 ) 下載Eigen3庫到rgbdslam_vs/src目錄下
-
$ cd rgbdslam_vs/src
-
$ wget http://bitbucket.org/eigen/eigen/get/3.2.10.tar.bz2
-
$ mkdir eigen
-
$ tar -xvjf 3.2.10.tar.bz2 -C eigen --strip-components 1
3 ) 使用上面下載的eigen3.2配置g2o
編輯g2o包下的cmakelists.txt文件,將第251行
SET(G2O_EIGEN3_INCLUDE ${EIGEN3_INCLUDE_DIR} CACHE PATH "Directory of Eigen3")
改成
SET(G2O_EIGEN3_INCLUDE "你的Eigen3的絕對路徑" CACHE PATH "Directory of Eigen3")
4 ) 下載rgbdslam作者的g2o並利用cmake編譯
-
$ cd rgbdslam_vs/src
-
$ git clone https://github.com/felixendres/g2o.git
-
$ cd ~/rgbdslam/src/g2o
-
$ mkdir build
-
$ cd build
-
$ cmake ..
-
$ make
-
$ sudo make install
5 ) 下載PCL1.8並修改其cmakelist.txt
-
$ cd ~/rgbdslam_vs/src
-
$ wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz
-
$ tar -xvzf pcl-1.8.0.tar.gz
修改cmakelist.txt,在其第146行加入並保存
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
6 )編譯PCL1.8
-
$ cd ~/temp_test_ws/src/pcl-pcl-1.8.0
-
$ mkdir build
-
$ cd build
-
$ cmake ..
-
$ make VERBOSE=1
-
$ sudo make install
7 ) 更改rgbdslam_v2包下的cmakelist.txt文件,並重新編譯
--將rgbdslam_v2包下的cmakelist.txt文件的第79行
find_package(PCL 1.7 REQUIRED COMPONENTS common io)
改成
find_package(PCL 1.8 REQUIRED COMPONENTS common io)
8 )將rgbdslam_ws下的build和devel文件夾刪除,並重新編譯
-
$ cd rgbdslam_ws
-
$ catkin_make
9 ) 至此,bug已解決
2、終於可以運行ui界面了,但是卻沒有效果圖像。
sudo apt-get install ros-kinetic-openni-launch
安裝openni_launch包,運行成功