高翔博士在ORBSLAM基础上增加点云稠密构图模块

1.RGBD数据集模块编译主要参考:

https://blog.csdn.net/oliongs/article/details/79696376

(1)高翔博士的源码没有build.sh文件,因此主要就是在他的第三方库文件Thirdparty里编译DBoW2

(2)编译安装Pangolin

2.编译ROS Examples模块

这个模块的编译主要参考原ORB SLAM2里面的build_ros.sh文件,编译流程如下:

echo "Building ROS nodes"

cd Examples/ROS/ORB_SLAM2
mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make -j

主要参考:https://blog.csdn.net/LOVE1055259415/article/details/79903571

(1)主要找不到pcl相关文件,出现错误如下图所示:

通过RGBD跑数据集和Kinect2在线跑RGBD成功编译高博ORBSLAM2_with_pointcloud_map

/home/truth/ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified/Examples/ROS/ORB_SLAM2/../../../include/pointcloudmapping.h:25:35: fatal error: pcl/common/transforms.h: 没有那个文件或目录
 #include <pcl/common/transforms.h>

说在pointcloudmapping.h中引用的PCL相关头文件找不到,他这个是在当前目录下找相应头文件,可以把整个PCL相关头文件复制过来

sudo cp -r /usr/include/pcl-1.7/pcl/* /home/nvidia/catkin_ws/src/ORBSLAM2_with_pointcloud_map/ORB_SLAM2_modified/include/pcl

然后再:make -j

(2然后又出现关于g2o链接库问题

通过RGBD跑数据集和Kinect2在线跑RGBD成功编译高博ORBSLAM2_with_pointcloud_map

这图片是直接copy上述博客博主的。

Ros Examples编译没连接上g2o,将高博源码编译完的g2o_with_orbslam2复制到Thirdparty文件里,g2o编译出来有31个libg2oxx.so库文件,原始的ORBSLAM2只有一个libg2o.so文件,更改/ROS/ORBSLAM2下的CMakeLists.txt文件:

第一次更改:${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o_with_orbslam2/lib/libg2o*.so 还是出现bug

第二次更改如下图所示:

通过RGBD跑数据集和Kinect2在线跑RGBD成功编译高博ORBSLAM2_with_pointcloud_map

然后编译没有出现这个问题。

(3)然后有出现新的问题,那个问题我忘记记录了,以前编译ORBSLAM2原始源码的时候出现过的问题:

解决方法:

在CMakeLists.txt文件上添加,链接库文件:

target_link_libraries(RGBD boost_system boost_filesystem)

然后就成功了。

 

相关文章: