ORB-SLAM2 稠密点云地图

ORB-SLAM2构建的是稀疏点云图,这篇文章是复现高博关于ORB-SLAM2的稠密点云地图。(深度相机中实现

参考:ORB SLAM 2 + 构建点云地图 复现 - 简书 (jianshu.com)https://www.jianshu.com/p/5e7b8358893f

 关于代码下载参考上面文章,主要是在编译的时候遇到一些问题。(编译前把ORB-SLAM2中的Vocabulary文件夹和他里边的 ORBvoc.txt.tar.gz文件拷贝过来 )

首先把 ORB_SLAM2_modified/Thirdparty/DBoW2/buildORB_SLAM2_modified/Thirdparty/g2o/build 这两个 build 文件夹删掉,然后运行 ORB_SLAM2_modified 中的 build.sh

chmod +x build.sh

./build.sh

 由于我是虚拟机中运行的ubuntu,编译的时候电脑特别卡,对这部分采用单独编译的方法。单独编译就是打开build.sh 按照里边的命令依次编译。

前两个是关于Dbow2和g2o库的安装(这里没遇到错)

cd Thirdparty/DBoW2
mkdir build
cd build
cmake ..
make

cd Thirdparty/g2o
mkdir build
cd build
cmake ..
make

但是在编译ORB-SLAM2的时候遇到错误:

/usr/bin/ld: 找不到 -lEigen3::Eigen
collect2: error: ld returned 1 exit status

但是和eign3库没关系,其实在 cmake..  的时候就已经报错了

Pangolin could not be found because dependency Eigen3 could not be found

错误原因:是因为pangolin的版本太高了,orbslam2这里要求pangolin的版本是0.5

原文链接

解决方法: ①删除pangolin,需要彻底删除干净。参考这篇博客,解决方法在文章的后边

                   ② 安装pangolin 0.5版本,参考这篇文博  ,博主给出了百度网盘资源,下载安装即可。最后记得   sudo make install

编译ORB-SLAM2的错误就解决了, build.sh 还有关于 Vocabulary 的编译,没有遇到问题。

到这里关于项目的编译就完成了,之后就是项目运行。

参考:

1.ORB_SLAM2安装Pangolin报错缺少Eigen3_陨越的博客-CSDN博客_orbslam2找不到eigen3https://blog.csdn.net/qq_40675934/article/details/122326356

2.【在ROS下编译ORB_SLAM2遇到错误,】pangolin could not be found because dependency Eigen3 could not be found_瞲_大河弯弯的博客-CSDN博客https://blog.csdn.net/qq_33950926/article/details/121129028



稠密点云地图运行命令:

①RGB-D TUM数据集

./bin/rgbd_tum  Vocabulary/ORBvoc.bin Examples/RGB-D/TUM1.yaml /home/hope/Downloads/TUM/rgbd_dataset_freiburg2_xyz /home/hope/Downloads/TUM/rgbd_dataset_freiburg2_xyz/associate.txt

ROS环境 RGB-D TUM数据集:

roscore 
 
rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml

rosbag play /home/hope/Downloads/TUM/rgbd_dataset_freiburg2_xyz.bag /camera/rgb/image_color:=/camera/rgb/image_raw /camera/depth/image:=/camera/depth_registered/image_raw

灰度图变为彩色图以及点云地图的保存参考这篇博客

ORB SLAM 2 + 构建点云地图 复现 - 简书 (jianshu.com)https://www.jianshu.com/p/5e7b8358893f



使用USB深度RGB-D相机在ROS中运行ORB-SLAM2稠密图

关于项目的编译以及ROS环境的加入参考上面文章,用的相机是乐视深度相机

在三个终端分别运行下面命令:

roscore

roslaunch openni2_launch openni2.launch

rosrun ORB_SLAM2 RGBD /home/hope/orbslam2_dense_mapping/src/ORB_SLAM2_modified/Vocabulary/ORBvoc.txt /home/hope/orbslam2_dense_mapping/src/ORB_SLAM2_modified/Examples/ROS/ORB_SLAM2/Asus.yaml

你可能感兴趣的:(slam)