一、安裝RGBD-SLAM V2
1、創建ros工作空間
mkdir -p ~/rgbdslam_catkin_ws/src
cd ~/rgbdslam_catkin_ws/src
catkin_init_workspace
cd ~/rgbdslam_catkin_ws/
catkin_make
source devel/setup.bash
二、測試
三、報錯處理
報錯一:在運行 roslaunch rgbdslam rgbdslam.launch 時報錯
報錯信息如下:
ubuntu16@ubuntu16:~$ roslaunch rgbdslam rgbdslam.launch
... logging to /home/ubuntu16/.ros/log/d425a142-8ec0-11ea-856f-e09d31fca5a8/roslaunch-ubuntu16-3448.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://ubuntu16:38461/
SUMMARY
========
PARAMETERS
* /rgbdslam/config/backend_solver: pcg
* /rgbdslam/config/cloud_creation_skip_step: 2
* /rgbdslam/config/cloud_display_type: POINTS
* /rgbdslam/config/detector_grid_resolution: 3
* /rgbdslam/config/feature_detector_type: ORB
* /rgbdslam/config/feature_extractor_type: ORB
* /rgbdslam/config/max_keypoints: 600
* /rgbdslam/config/max_matches: 300
* /rgbdslam/config/min_sampled_candidates: 4
* /rgbdslam/config/neighbor_candidates: 4
* /rgbdslam/config/optimizer_skip_step: 1
* /rgbdslam/config/pose_relative_to: largest_loop
* /rgbdslam/config/predecessor_candidates: 4
* /rgbdslam/config/ransac_iterations: 100
* /rgbdslam/config/topic_image_depth: /camera/depth_reg...
* /rgbdslam/config/topic_image_mono: /camera/rgb/image...
* /rgbdslam/config/topic_points:
* /rosdistro: kinetic
* /rosversion: 1.12.14
NODES
/
rgbdslam (rgbdslam/rgbdslam)
ROS_MASTER_URI=http://localhost:11311
process[rgbdslam-1]: started with pid [3465]
================================================================================REQUIRED process [rgbdslam-1] has died!
process has died [pid 3465, exit code -11, cmd /home/ubuntu16/rgbdslam_ws/devel/lib/rgbdslam/rgbdslam __name:=rgbdslam __log:=/home/ubuntu16/.ros/log/d425a142-8ec0-11ea-856f-e09d31fca5a8/rgbdslam-1.log].
log file: /home/ubuntu16/.ros/log/d425a142-8ec0-11ea-856f-e09d31fca5a8/rgbdslam-1*.log
Initiating shutdown!
================================================================================
[rgbdslam-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
原因分析:PCL與g2o不兼容導致,下載pcl1.8版本替換系統的1.7
解決辦法如下:
cd 到某個路徑,存放pcl
wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz
tar -zxvf pcl-1.8.0.tar.gz
cd pcl-pcl-1.8.0/
vim CMakeLists.txt
在146行加插入 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
mkdir build&&cd build
cmake ..
make VERBOSE=1 -j8
sudo make install
# 2000 years later
接下來做以下操作:
- 修改rgbdslam_v2的 :修改第 79 行:find_package(PCL 1.7 REQUIRED COMPONENTS common io) 爲 find_package(PCL 1.8 REQUIRED COMPONENTS common io)
- 修改 /opt/ros/kinetic/share/pcl_ros/cmake/pcl_rosConfig.cmake文件,將所有/usr/lib/x86_64-linux/libpcl開頭的內容改成/usr/local/lib/libpcl
修改完成之後重新source install.sh 編譯一下
再次運行roslaunch rgbdslam rgbdslam.launch
會出現以下界面(這就說明你已經安裝成功了):