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 threadsSLAM.Shutdown();// Save camera trajectorySLAM.SaveKeyFrameTrajectoryTUM("ORB-SLAM3-KeyFrameTrajectory.txt");// Save camera trajectorySLAM.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参数更新了下,问题解决。。。。。。
还是得花点时间研究一下源码

ORB-SLAM3轨迹保存与evo评测相关推荐

  1. ROS轨迹保存为tum格式,并用evo轨迹绘制

    安装evo evo共有两种安装方式 快捷安装 ,直接安装最新的稳定发行版: pip install evo --upgrade --no-binary evo 源码安装 ,下载源码进行安装:     ...

  2. evo评测VINS-MONO---代码修改、数据格式转换、数据测试

    数据格式(data formal):TUM/EuRoC/Kitti数据集 格式转换 修改VINS-mono轨迹保存代码 由于VINS-Mono保存的轨迹格式与EVO所使用的格式不同,VISNmono输 ...

  3. evo评测VINS-MONO---TUM数据集

    为了想测试室外场景下VINS-MONO定位情况,室外环境的KITTY数据集因无时间戳,EVO测评较困难. 故选择TUM数据集,outdoors1~8(户外):在校园内的室外场景拍摄,但是数据包里只在开 ...

  4. SLAM轨迹测评工具evo使用

    evo主要有以下几种命令: evo_ape : 计算绝对位姿误差 evo_rpe : 计算相对位姿误差 evo_traj : 轨迹管理的主要工具(常用来绘制轨迹) evo_config : 全局设置和 ...

  5. ORB SLAM3加载Vocabulary更快ORBvoc.bin

    最近ORB SLAM3刚开源,跑了跑,发现源代码加载词袋还是ORBvoc.txt,加载时间比较慢,这里教你修改成ORBvoc.bin加载,1秒内完成加载. 1. 将ORBvoc.bin拷贝到Vocab ...

  6. ORB SLAM3——IMU优化部分精读-VertexPose(ImuCamPose)的更新量到底是什么?

    ORB SLAM3--IMU优化部分精读-VertexPose(ImuCamPose)的更新量到底是什么? 先说答案 void ImuCamPose::Update(const double *pu) ...

  7. Part-1 ORB SLAM3初始化-1

    初始化 ORB SLAM3的初始化主要是创建ORB词袋.关键帧数据库.多地图等对象,其步骤如下: 检测配置文件能否打开 加载ORB词袋(ORBVocabulary) 创建关键帧数据库(KeyFrame ...

  8. SLAM 轨迹评估工具EVO

    EVO使用教程 1 EVO环境安装 1.1 二进制安装 1.2 源码安装 2 使用方法 2.1 TUM数据集上使用 2.1.1 计算轨迹的绝对误差(evo_ape) 2.1.2 绘制多条曲线(evo_ ...

  9. 使用evo评测ekf_pose和ndt_pose

    ATE定义 参考link 安装evo 由于ros1使用python2.7,如果需要使用evo里将rosbag转为tum格式的命令,需要安装evo1.12.0.因为更高版本的evo就不支持python2 ...

最新文章

  1. 在 Spring Boot 中,如何干掉 if else!
  2. COM和ATL学习方法
  3. 最短路之 SPFA(判环+负权)
  4. C# 将string 转换为二维码图片,然后转为base64字符串编码 。
  5. 【ArcGIS风暴】ArcGIS 10.8中计算体积的方法总结
  6. SharePoint 2013异常信息的查看
  7. jQuery插件开发全解析(转)
  8. mysql数据库命令大全菜鸟_mysql常用命令
  9. centos 卸载docker_五分钟安装docker并启动第一个docker容器
  10. 《商务与经济统计》学习笔记(七)—各统计分布知识点归纳
  11. mac php开发集成环境,MAC OS X下php集成开发环境mamp
  12. 张正友标定法过程推导笔记
  13. 股票交易接口Java Serializable接口实现问题?
  14. Cisco ACS 5.8 Radius认证服务器安装教程
  15. 如何在命令行中显示五彩斑斓的“黑”
  16. 安卓美化——添加下拉菜单图片或下拉菜单透明
  17. 宏定义 定义一年多少秒
  18. 华为AR路由器策略模板建立ipsec过程
  19. Android listview使用适配器时出现 Attempt to invoke virtual method xxxxxxxx on a null object reference问题解决方法
  20. Kubernetes--自动缩扩容

热门文章

  1. VSCode窗口全部字体大小缩放设置 - 快捷键
  2. 百胜系统连接服务器失败,百胜商店系统常见问题汇总201118.pptx
  3. asterisk srtp
  4. Uipath 认识变量及如何管理变量
  5. 中望CAD二次开发环境配置及使用
  6. 苹果五升级系统无服务器,苹果5如何升级ios7【方法步骤】
  7. Linux创建分区步骤手写,手写笔记应用程序Write,附Write for Linux版的安装说明
  8. 报告称可卷曲OLED 面板成本高三倍
  9. 医院wifi解决方案靠谱吗
  10. 1941年,王洛宾回到兰州的家,有外遇的妻子问他:今晚,你住哪儿