使用EuRoC数据集​测试ORB-SLAM3

ORB-SLAM3编译安装请参考

ORB-SLAM3的CMake与ROS编译以及测试(亲自总结,亲测可用)_RobotsRuning的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/u014374826/article/details/132013820?spm=1001.2014.3001.5502 本文主要讲使用EuRoC数据集​对ORB-SLAM3的测试

ORB-SLAM3支持的传感器模式如下:

1. 单目(已测试,未通过)

2. 单目-IMU(已测试,未通过)

3. 双目(已测试,并通过)

4. 双目-IMU(已测试,并通过)

5. RGB-D(未测试)

6. RGB-D-IMU(未测试)

 1. EuRoC数据集

        这里我们使用EuRoC数据集对ORB-SLAM3进行测试,数据集如下图所示。

        对于常规CMake生成的可执行文件,我们使用的是ASL格式的数据。下载完成后解压即可。以EuRoC MH—04-difficult为例。

        因为众所周知的原因,可能数据下载不下来,下面给出百度网盘数据集的链接

链接:https://pan.baidu.com/s/1MA9W7fXQJnz17w41G1kONg 
提取码:SLAM 

2. 双目模式使用EuRoC数据集对ORB-SLAM3进行测试

2.1 解压字典

        首先,我们需要把源码根目录下的Vocabulary文件夹下的字典文件解压一下,得到一个ORBvoc.txt文件。

2.2 对数据集的预处理

        按照ORB-SLAM3双目启动参数的要求,需要以下参数:

终端输入:

./stereo_euroc path_to_vocabulary(字典文件路径) path_to_settings(参数设置文件路径) path_to_sequence_folder_1(影像序列文件夹路径) path_to_times_file_1(对应的时间戳文件路径) save_file_name(SLAM结果的保存文件名)

这是一个命令行的使用方法,需要提供以下参数:

  1. path_to_vocabulary:ORB-SLAM3使用的词汇文件的路径。词汇文件是在训练阶段生成的,包含了ORB特征的描述子,用于在实时定位和建图中进行特征匹配。

  2. path_to_settings:ORB-SLAM3的配置文件路径。配置文件包含了ORB-SLAM3的各种参数设置,如相机参数、特征提取和匹配的参数等。

  3. path_to_sequence_folder_1:欧洲机器人竞赛(Euroc)数据集中第一个序列的文件夹路径。ORB-SLAM3可以使用Euroc数据集进行定位和建图的测试。

  4. path_to_times_file_1:欧洲机器人竞赛(Euroc)数据集中第一个序列的时间戳文件路径。时间戳文件包含了图像帧的时间戳信息,用于时间同步和数据对齐。

  5. save_file_name:保存结果的文件名。ORB-SLAM3运行后,会将定位和建图的结果保存到指定的文件中(如果不写就以默认名称CameraTrajectory.txtKeyFrameTrajectory.txt保存)。

        我们需要字典文件、参数设置文件、影像序列文件夹路径、对应的时间戳文件以及SLAM结果的保存文件名(保存文件名如果不写就以默认名称 CameraTrajectory.txtKeyFrameTrajectory.txt保存)。这里可以发现,前三个参数都很容易得到,但直接下载下来的EuRoC数据集里并没有时间戳文件,不要担心,ORB-SLAM3已经贴心地为我们准备好了时间戳文件。

​        EuRoC_TimeStamps 里放的是相机的时间戳。关于这些参数的更详细的说明和使用,直接查看对应Example的源码即可,都非常简单,基本一看就懂了。

        另外一个非常重要的点是,在代码中,是有mav0这个文件夹的。意思就是,对于下载的MH_04_difficult.zip文件,如果右键,在Ubuntu下直接解压(提取到此处)得到的是一个mav0文件夹,里面是cam0cam1、imu0、leica0、state_groundtruth_estimate0、body.yaml文件。这时一定不要直接把mav0修改成其它名字,而是应该新建一个文件夹,然后将mav0整体放进去,对新建的文件夹改名字。不然程序一启动就会卡住,也不会报错。原因就在于他在代码里是这样写的,如下。 

​2.3 程序运行

./stereo_euroc ../../Vocabulary/ORBvoc.txt ./EuRoC.yaml /home/fairlee/MH_04_difficult ./EuRoC_TimeStamps/MH04.txt mh04_results 

运行界面如下:

​2.4 运行结果

 在这么黑暗的条件下都可以提取特征,这个算法还是牛啊。

3. 双目-IMU模式使用EuRoC数据集对ORB-SLAM3进行测试

3.1 程序运行——运行命令如下

./stereo_inertial_euroc_old ../../Vocabulary/ORBvoc.txt ./EuRoC.yaml /home/fairlee/MH_04_difficult ./EuRoC_TimeStamps/MH04.txt mh04_results 

        上面的程序运行命令不知道为什么只针对Examples_old文件夹下的可执行文件有效,对Examples文件夹下的可执行文件无效!

3.2 运行结果如下 

        而且我们也得到了两个txt文件,一个是每一帧的位姿,一个是关键帧的位姿。至此,双目-IMU的ORB-SLAM3的运行就完成了。其它配置模式的运行其实都是类似的,会了这一个其它也基本不会有问题了。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值