LZ的系统是Ubuntu4.04indigoKinect v1.首先RGBD-SLAM需要很多的依赖项如下RGBDSLAMv2 is based on the open source projects, ROS, OpenCV, OpenGL, PCL, OctoMap, SiftGPU, g2o, and more这里LZ假设ros已经成功安装了下面创建新的工作空间LZ因为已经创建过了为了便于管理没有创建新的工作空间小伙伴们各取所需#Prepare Workspace source /opt/ros/indigo/setup.bash mkdir -p ~/rgbdslam_catkin_ws/src cd ~/rgbdslam_catkin_ws/src catkin_init_workspace cd ~/rgbdslam_catkin_ws/ catkin_make source devel/setup.bash #Get RGBDSLAM cd ~/rgbdslam_catkin_ws/src wget -q http://github.com/felixendres/rgbdslam_v2/archive/indigo.zip unzip -q indigo.zip cd ~/rgbdslam_catkin_ws/ #Install rosdep update rosdep install rgbdslam catkin_make这个是README.md里面直接copy过来的也是最理想的情况但是现实是ERROR!一、关于-lsiftgpu的问题/usr/bin/ld: 找不到 -lsiftgpu collect2: error: ld returned 1 exit status make[2]: *** [/home/ros/Downloads/catkin_ws/devel/lib/rgbdslam/rgbdslam] 错误 1 make[1]: *** [rgbdslam_v2/CMakeFiles/rgbdslam.dir/all] 错误 2 make: *** [all] 错误 2 Invoking make -j4 -l4 failed首先会碰到找不到-lsiftgpu这个问题。笔记本上LZ编译过两次rgbdslam一次顺利通过一次卡在这个问题上。解决方案在下载的rgbdslam的external中有对应的SiftGPU这个直接按照正常软件安装步骤mkdir build cd build cmake .. make然后在进行编译就行了二、关于g2o的问题由于系统中会进行图优化使用的是G2O,网上也充斥着各种版本的G2O,如果版本不正确很容易出现undeference的错误各种未定义解决方案卸载原有g2o,执行命令sudo apt-get install ros-indigo-libg2o一步到位三、OpenCV版本的问题会报cvvector之类的问题代码中使用的都是OpenCV2版本的接口 LZ有两个版本的OpenCV所以修改CMAKELists.txtset(OPENCV_DIR /usr/share/OpenCV) #or set it directly here, e.g. #set(OpenCV_DIR /home/endres/ros_indigo/opencv2/build/) #Then activate the following definition #add_definitions(-DCV_NONFREE) IF (NOT ${OpenCV_DIR} EQUAL ) MESSAGE(Using OpenCV from ${OpenCV_DIR}) ENDIF (NOT ${OpenCV_DIR} EQUAL ) find_package(OpenCV 2.4 REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) link_directories(${OpenCV_LIBRARY_DIRS})最后编译通过了运行roslaunch rgbdslam opennirgbdslam.launch还是会报错要安装sudo apt-get install ros-indigo-openni-camera sudo apt-get install ros-indigo-openni-launch再次运行又会出现No devices connected.... waiting for devices to be connected.这个请参考https://blog.csdn.net/felaim/article/details/79579973安装对应的驱动一条条刷指令就行了这差不多是rgbdslam v2编译中碰到的各种高频问题了LZ很幸运都碰到了一遍_最后附张图吧不然该说LZ瞎忽悠了半天还是有挺多缺点的LZ本来是想orbslam进行自主壁障导航但是如果直接把关键帧对应的点云进行拼接效果不是很好高博有一版会出现很多outliersrgbdslam相对建图方面还是比较准确的有稠密地图但是如果使用sift话速度肯定是不行的后续还有很多改进的空间O(∩_∩)O哈