【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集

需求

使用Kinectv2-RGBD摄像头测试了RTABMAP和ORBSLAM3这两个算法的视觉里程计精度 ORBSLAM3的里程计精度在视觉SLAM中应该算是相当高的算法了,RTABMAP测试直线走会有很多抖动的地方,ORBSLAM测试下来就几乎是一条直线
但ORBSLAM生成的是稀疏点云,应用场景有限,网上有ORBSLAM2的稠密点云教程,但我现在还是初学者,就先不去改算法的源码部分了
看到RTABMAP可以去结合多种算法运行,就尝试去让RTABMAP结合ORBSLAM3来进行建图、导航、定位这些操作了

环境

Ubuntu版本:18.04
ROS版本:Melodic

实现步骤

ORB_SLAM3环境搭建

这是我配置ORBSLAM2环境时的步骤,测试下来ORBSLAM3好像也没有出错
ORBSLAM2配置安装

安装ORB_SLAM3

我这边工作目录是rtab_ws,其他应用安装位置是softwares

cd ~/rtab_ws/src/
git clone -b v0.4-beta https://github.com/UZ-SLAMLab/ORB_SLAM3.git
cd ORB_SLAM3/
wget https://gist.githubusercontent.com/matlabbe/f5cb281304a1305b2824a6ce19792e13/raw/f8bbc796edc29b9f815cbf3c99a0c3e13e23663d/orbslam3_v4_rtabmap_fix.patch
git apply orbslam3_v4_rtabmap_fix.patch
chmod +x build.sh
./build.sh

ORBSLAM3编译时卡死问题
修改build.sh文件,make -j 改成 make -j4
-jx 表示make时最多运行多少个编译命令同时执行

配置ORB_SLAM3

编译完ORB_SLAM3后,在~/.bashrc文件中添加一行,修改完成后别忘了source

export ORB_SLAM_ROOT_DIR=~/rtab_ws/src/ORB_SLAM3

【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集

安装RTABMAP

rtabmap要安装在工作目录外的地方,这里我装在了softwares文件夹下

cd ~/softwares/
git clone https://github.com/introlab/rtabmap.git
cd rtabmap/build/

配置RTABMAP

这个地方我看到网上的几个教程里都没有说明,导致我照着做到最后一直报错TAT
后来问了RTABMAP的作者,他回复说RTABMAP要使用ORBSLAM,需要先卸载rtabmap binaries这些环境

【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集
sudo apt remove ros-melodic-rtabmap
cmake -DWITH_G2O=OFF -DWITH_ORB_SLAM=ON ..

make -j4

检查cmake结果

【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集
【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集

安装RTABMAP_ROS

上面rtabmap和orbslam都安装配置完成后,开始安装rtabmap的ros包
这个包需要安装在工作目录下

cd ~/rtab_ws/src/
git clone https://github.com/introlab/rtabmap_ros.git rtabmap_ros
cd ..

catkin_make -j4

在~/.bashrc中添加RTABMap_DIR,source

【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集

数据集测试

数据集下载地址:RGBD数据集下载
完成上述步骤后,就成功将RTABMAP和ORBSLAM结合了
运行数据集测试

roscore

roslaunch rtabmap_ros euroc_datasets.launch args:="Odom/Strategy 5 OdomORBSLAM/VocPath /home/rosadmin/rtab_ws/src/ORB_SLAM3/Vocabulary/ORBvoc.txt" MH_seq:=true raw_images_for_odom:=true

rosbag play --clock V1_01_easy.bag

运行成功

【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集

遇到的问题

RTABMAP_ROS catkin_make失败
因为卸载了ros-melodic-rtabmap,catkin_make会报错,需要设置RTABMap_DIR

【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集

报错:OdometryORBSLAM.cpp:1163::computeTransform() RTAB-MAP is not built with ORB_SLAM support!Select another visual odometry approach.
可以检查一下rtabmap有没有检测到orbslam3
cmake的时候显示orbslam是yes也不一定就成功检测到了,要通过
rosrun rtabmap_ros rtabmap –version

【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集
要显示true才算成功检测到

Original: https://blog.csdn.net/Starry_Sheep/article/details/124795862
Author: 天涯望月羊
Title: 【ROS】RTABMAP+ORBSLAM3在ROS环境下测试数据集

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/559538/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球