依赖与 ORBSLAM2 的依赖项相同,特别强调此代码只支持Eigen3.1.0版本和pcl1.7.2版本,否则报错。
建立工作空间
创建ros的工作空间
mkdir -p ~/catkin_ws/src // 其中catkin_ws可以换成自己需要的名字
cd ~/catkin_ws/src
catkin_init_workspace //初始化工作空间
cd ~/catkin_ws/
catkin_make
代码连接https://github.com/IATBOMSW/ORB-SLAM2_DENSE.git下载解压
将解压的工程放在ROS工作空间中src下
cd ~/catkin_ws/src/ORB-SLAM2_DENSE/
修改 CMakeLists 中的 PCL 路径为你自己的安装路径,并修改 Eigen3 路径到
usr/local/include/eigen3
将ORB-SLAM2中的Vocabulary文件(下载连接https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2)复制到 ORB-SLAM2_DENSE下, 编译:
chmod +x build.sh
./build.sh
之后执行以下代码
cd ~/catkin_ws/
catkin_make
安装 Octomap 库 此部分参考连接ROS 八叉树地图构建 - 安装 octomap 和 octomap_server 建图包!_登龙的博客-优快云博客
sudo apt-get install ros-<你的ros版本>-octomap
编译安装 OctomapServer 建图包
cd src/
git clone https://github.com/OctoMap/octomap_mapping.git
返回你的工作空间主目录,安装下依赖,然后开始编译:
cd ..
rosdep install octomap_mapping
catkin_make
至此编译工作完成
运行
首先去TUM官网下载ros bag数据集Computer Vision Group - Dataset Download,我用的是rgbd_dataset_freiburg1_room.bag
之后将数据集放入 你的自定义路径 下
修改 ROS功能包中的 两个launch文件(rgbd_launch.launch和tum_pioneer.launch)中涉及到的路径,主要为 Rosbag文件路径 , 配置文件路径 和 词典路径 , 此处一定全要改成自己的路径,一处错下面运行都不出结果。
运行launch文件:
roslaunch orb_slam2_dense tum_pioneer.launch
结果