SLAM轨迹测评工具evo使用

evo主要有以下几种命令:

        evo_ape : 计算绝对位姿误差

        evo_rpe : 计算相对位姿误差

        evo_traj : 轨迹管理的主要工具(常用来绘制轨迹)

        evo_config : 全局设置和配置文件操作

        evo_res : 结果比较

1. evo_ape

        绝对位姿误差,常被用作绝对轨迹误差,比较估计轨迹和参考轨迹并计算整个轨迹的统计数据,适用于测试轨迹的全局一致性。

命令语法:命令 格式 参考轨迹 估计轨迹 [可选项]

evo_ape euroc MH_data3.csv pose_graphloop.txt -r full -va --plot --plot_mode xyz --save_plot ./VINSplot --save_results ./VINS.zip

命令含义: 计算考虑平移和旋转部分误差的ape,进行平移和旋转对齐,以详细模式显示,保存画图并保存计算结果。运行结果如下:

其中,命令:就是上边介绍的五种:evo_ape 、evo_rpe 、evo_traj 、evo_config、evo_res

               格式: 数据集的格式,有euroc、tum等

                参考轨迹: 原有的、或者运行出来保存的.txt文件

            【可选项】:

  (1) -r 表示ape所基于的姿态关系    

-r  full                       表示同时考虑旋转和平移误差得到的ape,无单位(unit-less)
-r  trans_part        考虑平移部分得到的ape,单位为m     (如果-r后边什么也不加,则默认为这一项)
-r  rot_part             考虑旋转部分得到的ape,无单位(unit-less)
-r  angle_deg         考虑旋转角得到的ape,单位°(deg)
-r  angle_rad          考虑旋转角得到的ape,单位弧度(rad)

(2)-v表示verbose mode,详细模式

           -a表示采用SE(3) Umeyama对齐

           -s表示尺度对其    

             三者可以单独使用也可以结合使用

(3)-plot表示画图  可以简写为 -p    格式: -p --plot_mode xy

          –plot_mode选择画图模式,二维图或者三维图,可选参数为[xy, xz, yx, yz, zx, zy, xyz],默认为xyz。保存画图结果可以自己手动在窗体上保存,也可以通过–save_plot实现,–save_plot后接保存路径,如./VINSplot, 表示存储在当前路径下的名称为VINSplot的文件中,保存文件的类型可以通过evo_config设置。

(4)– save_results表示存储结果

后面跟随存储路径以及压缩文件名称,存储后得到zip压缩文件。

evo安装包中自带的程序示例:

evo_ape kitti KITTI_00_gt.txt KITTI_00_ORB.txt -r full --plot --plot_mode xyz

 效果图:

 

 2. evo_rpe

        相对位姿误差不进行绝对位姿的比较,相对位姿误差比较运动(姿态增量)。相对位姿误差可以给出局部精度,例如slam系统每米的平移或者旋转漂移量。

命令语法同上:命令 格式 参考轨迹 估计轨迹 [可选项]

evo安装包中自带的程序示例:

evo_rpe kitti KITTI_00_gt.txt KITTI_00_ORB.txt -r full --plot --plot_mode xyz

效果:

 3. evo-traj

        evo_traj可以打开任意多个轨迹,查看统计信息。-v表示以详细模式显示,–full_check可以对轨迹进行检查。

示例:选择了三个轨迹

evo_traj kitti KITTI_00_gt.txt KITTI_00_ORB.txt KITTI_00_SPTAM.txt -v --full_check  -p

效果图省略。

4. evo_config

(1)evo_config show可以查看设置文件中的参数和参数的简要注释。

(2)evo_config set 进行参数设置

常用参数如下表:

 命令使用举例:

evo_config set plot_seaborn_style whitegrid              #将画图背景更改成白色网格
evo_config set plot_fontfamily serif plot_fontscale 1.2  #将字体改为衬线型并调为1.2倍大小
evo_config set plot_reference_linestyle -                #将画图所使用的线型改为 -
evo_config set plot_figsize 10 9                         #将所画图的图像大小调整为10 9(宽 高)
evo_config reset                                         #将参数还原到默认值

5. evo_res

evo_ape/evo_rpe中将结果保存为.zip文件后,可以利用evo_res对不同的结果进行比较。

例如:

evo_res mySLAM.zip  ORB-SLAM2.zip

参考来源:

1. https://github.com/MichaelGrupp/evo/wiki

2.SLAM精度评定工具EVO使用方法详解_wongHome的博客-CSDN博客_evo slam

<think>好的,用户想了解与evo绘图相关的常见订阅话题列表。首先,我需要确认evo是什么。EVO通常指的是evo评估工具包,用于处理SLAM(同步定位与地图构建)算法的性能评估,特别是轨迹评估。它支持多种数据集格式,如TUM、KITTI、Euroc等,并提供多种分析工具,包括轨迹可视化、误差计算和统计报告生成。 接下来,用户需要的是与evo绘图相关的订阅话题。订阅话题可能指的是用户在使用evo时经常关注的功能或常见的使用场景。因此,我需要整理evo绘图的主要功能和常见应用场景。 首先,evo的绘图功能包括轨迹比较、误差分析、速度评估等。常见的订阅话题可能包括: 1. 如何绘制多条轨迹对比图? 2. 如何自定义轨迹颜色和样式? 3. 如何生成绝对位姿误差(APE)和相对位姿误差(RPE)的曲线? 4. 如何导出高清图像或生成PDF报告? 5. 如何处理不同数据格式的轨迹文件? 然后,我需要确保这些话题确实是用户常遇到的。例如,轨迹对比是评估SLAM算法性能的基础,因此用户会经常需要同时显示真实轨迹和估计轨迹。颜色和样式的自定义也是常见的需求,因为不同的论文或报告可能需要特定的格式。误差分析中的APE和RPE是evo的核心指标,用户需要知道如何生成这些曲线并解读结果。导出图像和报告则是为了学术写作或演示,这也是常见需求。数据格式处理方面,用户可能从不同数据集或算法中获得不同格式的轨迹,需要转换才能使用evo进行分析。 此外,可能还包括如何处理大规模轨迹数据、如何集成evo到自动化脚本中,以及常见错误解决方法,比如标对齐问题或时间戳同步问题。这些也是用户在使用evo绘图时可能遇到的挑战。 需要确认是否有官方文档或社区讨论支持这些话题作为常见订阅内容。查阅evo的GitHub仓库和文档,确认其功能覆盖这些方面。例如,evo的官方文档提到了`evo_traj`、`evo_ape`、`evo_rpe`等命令,这些命令支持绘图功能,并且有参数可以调整颜色、线型等。同时,导出图像的功能可以通过`--save_plot`和`--save_results`参数实现。 还需要考虑用户可能的进阶需求,比如三维轨迹可视化、不同尺度的轨迹对齐(使用Umeyama算法)以及与其他工具(如ROS中的rviz)的集成。这些也可能是订阅话题的一部分。 最后,整理这些信息,用清晰的中文列出常见订阅话题,并按照功能分类,确保覆盖绘图的主要应用场景和用户常见问题。</think>### evo绘图常见订阅话题列表 evo作为SLAM轨迹评估工具,其绘图功能主要围绕**轨迹可视化**和**误差分析**展开。以下是用户关注的7个核心订阅话题: 1. **基础绘图功能** - 如何用`evo_traj`命令绘制单条/多条轨迹对比图?[^2] - 三维轨迹可视化时如何调整视角和缩放比例? - 使用`--plot_mode=xy`参数实现二维投影的技巧 2. **样式自定义(高频需求)** ```shell evo_traj tum true_trajectory.txt est_trajectory.txt -p \ --plot_mode=xyz \ --traj_linestyle="- -" \ --legend_loc=upper_left \ --color=red,blue ``` 通过参数调整线宽、颜色、标记样式等可视化元素[^3] 3. **误差可视化分析** - 生成绝对轨迹误差(ATE)热力图的方法 - 使用`evo_ape`绘制误差分布直方图 - 相对位姿误差(RPE)随时间变化曲线的解读 4. **数据预处理** - 时间戳对齐的两种实现方式:插值补偿 vs 时间窗口匹配 - 使用`evo_traj`进行轨迹切片和重采样 - 不同标系间转换的注意事项(SE3与Sim3变换) 5. **高级分析** - 多算法对比时自动生成对比表格的技巧 - 轨迹相似性评估中的尺度因子计算原理 - 融合IMU数据的运动学约束可视化 6. **输出与集成** - 导出 publication-ready 矢量图的参数配置 - 与Jupyter Notebook的集成方法 - 自动化生成PDF评估报告的工作流设计 7. **故障排查** - "No association found"错误的常见成因 - 处理不同时间基准轨迹的同步策略 - 内存不足时大数据量轨迹的处理方案 [^2]: 详见官方文档Trajectory analysis章节 [^3]: 样式配置参考evo/plot.py源码实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值