ORB_SLAM2、ORB_SLAM3跑EuRoc&KITTI数据集及evo评估

本文介绍了如何使用ORB_SLAM2和ORB_SLAM3在EuRoc与KITTI数据集上运行,并通过修改源代码实现与evo评估工具的兼容。针对不同的传感器配置(单目、双目、单目+IMU、双目+IMU),详细阐述了配置过程,包括文件修改、编译和结果保存路径设置。此外,还讨论了Kitti数据集的特殊情况,如需将结果转换为TUM格式以适应evo评估,并提供了相关资源链接。
摘要由CSDN通过智能技术生成

EuRoc数据集

ORB_SLAM2

单目

./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml ../slam_data/RuRoc/MH01/mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/MH01.txt 

双目

./Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml ../slam_data/EuRoc/MH01/mav0/cam0/data ../slam_data/EuRoc/MH01/mav0/cam1/data Examples/Stereo/EuRoC_TimeStamps/MH01.txt

ORB_SLAM3

为使结果能在evo中进行评估,需要修改文件夹下system.cc文件中的第584行、第592行、第638行和第647行(SaveTrajectoryEuroc和SaveKeyFrameTrajectoryEuroc函数),把1e9*(*lT)改成(*lT),1e9*pKF改成pKF,改完示例如下:

f << setprecision(6) << pKF->mTimeStamp << " " <<  setprecision(9) << t.at<float>(0) << " " << t.at<float>(1) << " " << t.at<float>(2) << " " << q[0] << " " << q[1] << " " << q[2] << " " << q[3] << endl;

改完后重新编译(./build.sh)

改对应目标主函数中的结果储存路径可以把结果存在对应的文件夹,示例如下(stereo_inertial_euroc.cc文件):

SLAM.SaveTrajectoryEuRoC("~/Desktop/result-3/EuRoc/stereo+IMU/"+f_file);
SLAM.SaveKeyFrameTrajectoryEuRoC("~/D
  • 8
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值