ORB-SLAM3轨迹保存与evo评测

ORB-SLAM3轨迹保存与evo评测

为了利用evo对ORB-SLAM3进行评测,花了一点时间走了一些弯路,简单记录一下同时也为需要的人提供一点参考。
我主要用的是ROS接口,用单目+imu跑的EuRoC数据集。
主要是参考这篇博客:https://my.oschina.net/u/4404709/blog/4794586
但是这篇博客有些细节有点问题,自己摸索了一下。

1.修改ORB_SLAM3/Examples/ROS/ORB_SLAM3/src下的ros_mono_inertial.cc(或其他你需要的接口的源码文件),在main函数内添加如下内容:

  // Stop all threads
  SLAM.Shutdown();
  // Save camera trajectory
  SLAM.SaveKeyFrameTrajectoryTUM("ORB-SLAM3-KeyFrameTrajectory.txt");
  // Save camera trajectory
  SLAM.SaveTrajectoryTUM("ORB-SLAM3-FrameTrajectory.txt");

在源文件中添加相应内容
2. 在ORB_SLAM3文件夹根目录下重新执行./build_ros.sh
3. 运行结束后Ctrl+c就可以在ORB_SLAM3文件夹根目录下看到保存的两个轨迹文件了结束运行自动保存轨迹文件

4.保存的轨迹是TUM格式,可以直接用evo显示。evo相关使用方法参考官网说明:https://github.com/MichaelGrupp/evo/wiki

相关实验结果后续再做补充


#2020.12.16
对于ORB-SLAM3我实际测试的效果不是很好,特别是在ROS接口容易出现“fail to track lacal map”的情况,而非ROS接口感觉又比实际的播放速度慢很多,感觉帧率很低,而且都没办法达到论文里描述的精度,测试的是EuRoc数据集。我用的是笔记本工作站,i7-9750H,32G运存,按理说配置应该算不错了,而且跑的时候我看资源使用率并不是很高,不知道为什么会出现这种情况。

考虑特征匹配确实会比较耗时,尝试着将rosbag的播放时间降低(rosbag play *** -r 0.5 ;设置成0.5倍速播放)效果好很多。

#2021.12.22
时隔一年再跑ORB-SLAM3,发现播放速度放慢确实有点效果,但是还是会经常出现丢弃地图的问题,跑了euroc的数据发现常速跑也没问题,又琢磨了好一阵,最后重新标定了IMU,把IMU参数更新了下,问题解决。。。。。。
还是得花点时间研究一下源码

  • 11
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值