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 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评测相关推荐
- ROS轨迹保存为tum格式,并用evo轨迹绘制
安装evo evo共有两种安装方式 快捷安装 ,直接安装最新的稳定发行版: pip install evo --upgrade --no-binary evo 源码安装 ,下载源码进行安装: ...
- evo评测VINS-MONO---代码修改、数据格式转换、数据测试
数据格式(data formal):TUM/EuRoC/Kitti数据集 格式转换 修改VINS-mono轨迹保存代码 由于VINS-Mono保存的轨迹格式与EVO所使用的格式不同,VISNmono输 ...
- evo评测VINS-MONO---TUM数据集
为了想测试室外场景下VINS-MONO定位情况,室外环境的KITTY数据集因无时间戳,EVO测评较困难. 故选择TUM数据集,outdoors1~8(户外):在校园内的室外场景拍摄,但是数据包里只在开 ...
- SLAM轨迹测评工具evo使用
evo主要有以下几种命令: evo_ape : 计算绝对位姿误差 evo_rpe : 计算相对位姿误差 evo_traj : 轨迹管理的主要工具(常用来绘制轨迹) evo_config : 全局设置和 ...
- ORB SLAM3加载Vocabulary更快ORBvoc.bin
最近ORB SLAM3刚开源,跑了跑,发现源代码加载词袋还是ORBvoc.txt,加载时间比较慢,这里教你修改成ORBvoc.bin加载,1秒内完成加载. 1. 将ORBvoc.bin拷贝到Vocab ...
- ORB SLAM3——IMU优化部分精读-VertexPose(ImuCamPose)的更新量到底是什么?
ORB SLAM3--IMU优化部分精读-VertexPose(ImuCamPose)的更新量到底是什么? 先说答案 void ImuCamPose::Update(const double *pu) ...
- Part-1 ORB SLAM3初始化-1
初始化 ORB SLAM3的初始化主要是创建ORB词袋.关键帧数据库.多地图等对象,其步骤如下: 检测配置文件能否打开 加载ORB词袋(ORBVocabulary) 创建关键帧数据库(KeyFrame ...
- SLAM 轨迹评估工具EVO
EVO使用教程 1 EVO环境安装 1.1 二进制安装 1.2 源码安装 2 使用方法 2.1 TUM数据集上使用 2.1.1 计算轨迹的绝对误差(evo_ape) 2.1.2 绘制多条曲线(evo_ ...
- 使用evo评测ekf_pose和ndt_pose
ATE定义 参考link 安装evo 由于ros1使用python2.7,如果需要使用evo里将rosbag转为tum格式的命令,需要安装evo1.12.0.因为更高版本的evo就不支持python2 ...
最新文章
- 在 Spring Boot 中,如何干掉 if else!
- COM和ATL学习方法
- 最短路之 SPFA(判环+负权)
- C# 将string 转换为二维码图片,然后转为base64字符串编码 。
- 【ArcGIS风暴】ArcGIS 10.8中计算体积的方法总结
- SharePoint 2013异常信息的查看
- jQuery插件开发全解析(转)
- mysql数据库命令大全菜鸟_mysql常用命令
- centos 卸载docker_五分钟安装docker并启动第一个docker容器
- 《商务与经济统计》学习笔记(七)—各统计分布知识点归纳
- mac php开发集成环境,MAC OS X下php集成开发环境mamp
- 张正友标定法过程推导笔记
- 股票交易接口Java Serializable接口实现问题?
- Cisco ACS 5.8 Radius认证服务器安装教程
- 如何在命令行中显示五彩斑斓的“黑”
- 安卓美化——添加下拉菜单图片或下拉菜单透明
- 宏定义 定义一年多少秒
- 华为AR路由器策略模板建立ipsec过程
- Android listview使用适配器时出现 Attempt to invoke virtual method xxxxxxxx on a null object reference问题解决方法
- Kubernetes--自动缩扩容