EVO使用方法详解

摘要:
常见的可以保存为png、pdf等,详见evo中的配置部分。帮助可通过evo_Ape+数据格式+--Help查看更多参数的含义以及如何使用它们。通用命令示例:evo_rpeurocMH_data3.csvpose_graphloop.txt-rangle_deg--delta1-delta_unitm-va--plot--plot_modexyz--save_plot。/VINSplot--保存_结果。/VINS.zip命令的含义是计算每米旋转角度的rpe,以详细模式显示并绘制一张图片d/–delta-u/–delta_该单位一起表示测量局部精度的单位,例如每米、每弧度、每百米等。当您将–all添加到命令_ Pairs时,在计算rpe时,使用位置数据中的所有对,而不是仅使用连续对。此时,可以在对模式下使用-t/–delta_Tol control–all_相对增量容差。需要注意–all_–plot函数不能成对使用。

@

目录

evo_ape 计算绝对位姿误差

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

命令语法:命令 格式 参考轨迹 估计轨迹 [可选项]
其中格式包括euroc、tum等数据格式,可选项有对齐命令、画图、保存结果等。
常用命令示例:

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

命令的含义为:计算考虑平移和旋转部分误差的ape,进行平移和旋转对齐,以详细模式显示,保存画图并保存计算结果。
命令运行后得到结果如下图所示
在这里插入图片描述

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

-r/–pose_relation可选参数 含义
full 表示同时考虑旋转和平移误差得到的ape,无单位(unit-less)
trans_part 考虑平移部分得到的ape,单位为m
rot_part 考虑旋转部分得到的ape,无单位(unit-less)
angle_deg 考虑旋转角得到的ape,单位°(deg)
angle_rad 考虑旋转角得到的ape,单位弧度(rad)

不添加-r/–pose_relation和可选项,则默认为trans_part。

-v表示verbose mode,详细模式

-a表示采用SE(3) Umeyama对齐,其余可选项如下表所示。

-s表示尺度对其

不加表示默认尺度对齐参数为1.0,即不进行尺度对齐。
命令 含义
–align/-a 采用SE(3) Umeyama对齐,只处理平移和旋转
–align --correct_scale/-as 采用Sim(3) Umeyama对齐,同时处理平移旋转和尺度
–correct_scale/-s 仅对齐尺度

采用不同对齐命令效果图
在这里插入图片描述

–plot表示画图

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

– save_results表示存储结果,

后面跟随存储路径以及压缩文件名称,存储后得到zip压缩文件。
作图时修改图像参数请见evo_config。

帮助

可通过 evo_ape +数据格式 + --help查看更多参数的含义以及如何使用。例如
evo_ape euroc --help

evo_rpe 计算相对位姿误差

相对位姿误差不进行绝对位姿的比较,相对位姿误差比较运动(姿态增量)。相对位姿误差可以给出局部精度,例如slam系统每米的平移或者旋转漂移量。
命令语法:命令 格式 参考轨迹 估计轨迹 [可选项]
其中格式包括euroc、tum等数据格式,可选项有对齐命令、画图、保存结果等。
常用命令示例:

evo_rpe euroc MH_data3.csv pose_graphloop.txt -r angle_deg --delta 1 --delta_unit m -va --plot --plot_mode xyz --save_plot ./VINSplot --save_results ./VINS.zip

命令的含义为 求每米考虑旋转角的rpe,以详细模式显示并画图。
命令运行后得到结果如下图所示
在这里插入图片描述

-r表示rpe所基于的姿态关系

-r/–pose_relation可选参数 含义
full 表示同时考虑旋转和平移误差得到的ape,无单位(unit-less)
trans_part 考虑平移部分得到的ape,单位为m
rot_part 考虑旋转部分得到的ape,无单位(unit-less)
angle_deg 考虑旋转角得到的ape,单位°(deg)
angle_rad 考虑旋转角得到的ape,单位弧度(rad)

不添加-r/–pose_relation和可选项,则默认为trans_part。

–d/–delta表示相对位姿之间的增量

–u/–delta_unit表示增量的单位

可选参数为[f, d, r, m],分别表示[frames, deg, rad, meters]。–d/–delta -u/–delta_unit合起来表示衡量局部精度的单位,如每米,每弧度,每百米等。其中–delta_unit为f时,–delta的参数必须为整形,其余情况下可以为浮点型。–delta 默认为1,–delta_unit默认为f。

其他

-v --plot --plot_mode xyz --save_results results/VINS.zip --save_plot等同evo_ape中所讲。

当在命令中加上–all_pairs,则计算rpe时使用位置数据中所有的对而不是仅连续对,此时,可以通过-t/–delta_tol控制–all_pairs模式下的相对增量的容差(relative delta tolerance)。需要注意–all_pairs下不能使用–plot函数。

帮助

可通过 evo_rpe +数据格式 + --help查看更多参数的含义以及如何使用。例如
evo_rpe euroc --help

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

evo_config show可以查看设置文件中的参数和参数的简要注释。如下图所示。
在这里插入图片描述evo_config set 进行参数设置
下面是几个常用的参数,其含义以及可选项
参数 含义 可选项
plot_export_format 输出图像时图像存储格式 常用png,pdf等
plot_linewidth 作图时线的宽度 matplotlib支持的宽度,默认1.5
plot_reference_color 图像中参考轨迹的颜色 black,red,green等
plot_reference_linestyle 参考轨迹的线型 matplotlib支持的线型,默认–
plot_seaborn_style 图像背景和网格 whitegrid,darkgrid,white,dark
plot_split 是否分开显示/存储图像 false/true
plot_figsize 画图的图像大小 默认宽高均为6,可使用其他值
table_export_format 表格数据输出格式 常用 csv,excel,latex,json

例如命令
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 将参数还原到默认值

evo_config generate 将命令行参数转换成–out指定的.json文件
例如:evo_config generate --pose_relation angle_deg --delta 1 --delta_unit m --verbose --plot --out rpe_config.json
在这里插入图片描述当需要再次使用这样的参数配置时,可以通过 -c .json文件来实现。例如
evo_rpe euroc MH_data3.csv pose_graphloop.txt -c rpe_config.json

evo_config show --help
evo_config set --help
evo_config generate --help
evo_config reset --help
可查看evo_config中几个工具的部分相关介绍。

evo_traj 轨迹管理的主要工具

evo_traj可以打开任意多个轨迹,查看统计信息。-v表示以详细模式显示,–full_check可以对轨迹进行检查。
evo_traj euroc MH_data1.csv MH_data3.csv
在这里插入图片描述

evo_traj euroc MH_data1.csv MH_data3.csv -v

在这里插入图片描述

evo_traj euroc MH_data1.csv MH_data3.csv -v --full_check在这里插入图片描述

如果使用的是ROS的bagfile,给出你要使用的.bag文件路径以及topics。例如:
evo_traj bag ROS_example.bag groundtruth ORB-SLAM S-PTAM
利用–all_topics可以加载bagfile中的所有轨迹。
如果需要将轨迹对齐(-a/ --align, -s / --correct_scale, --n_to_align),则需要利–ref指定参考轨迹。例如evo_traj bag ROS_example.bag ORB-SLAM S-PTAM --ref groundtruth -s

evo_traj 将轨迹进行对齐以及画图操作,与前面提到的几部分一样。
evo_traj可以将轨迹转换成其他格式。
–save_as_bag –save_as_kitti –save_as_tum
bag yes yes yes
euroc yes yes yes
kitti no(no timestamps) yes no(no timestamps)
tum yes yes yes

因euroc格式只对euroc数据集的groundtruth数据有意义,所以没有–save_as_euroc。
evo_traj euroc data.csv --save_as_tum

可通过 evo_traj +数据格式 + --help查看更多参数的含义以及如何使用。例如
evo_traj euroc --help

evo_res 进行结果比较

evo_ape/evo_rpe中将结果保存为.zip文件后,可以利用evo_res对不同的结果进行比较。
例如:MH3.zip、MH3_2.zip均由evo_ape得到的,运行命令evo_res MH3.zip MH3_2.zip -v
在这里插入图片描述

evo_res --help可查看可选参数含义。

evo其他常用命令
命令 含义
evo pkg --version 查看evo版本
evo pkg --info 查看evo的简要介绍和描述
evo pkg --pyversion 查看python版本
evo pkg --license 查看许可证
evo pkg --location 查看evo安装路径
evo pkg --logfile 查看日志文件路径
evo pkg --open_log 打开日志文件
evo pkg --clear_log 清除日志文件

参考来源:1.https://github.com/MichaelGrupp/evo/wiki

转自:https://blog.csdn.net/dcq1609931832/article/details/102465071#commentBox

免责声明:文章转载自《EVO使用方法详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于鼠标一上内部图片移动的小效果Win7下安装配置IIS 构建自己的网站下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux 系统 LVM(Logical Volume Manager)逻辑卷管理

一.前言 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到 当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬 盘、重新对硬盘分区,然后恢复数据到新分区。 虽然现在有很多动态...

Vim简明教程【CoolShell】

vim的学习曲线相当的大(參看各种文本编辑器的学习曲线),所以,假设你一開始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。以下的文章翻译自《Learn Vim Progressively》,我认为这是给新手最好的VIM的升级教程了,没有列举全部的命令,仅仅是列举了那些最实用的命令。很不错。 ————————...

MSSQL无落地文件执行Rootkit-WarSQLKit

0x00 前言 在本文中,我们将处理一个很长时间以来一直待解决的问题:MSSQL Rootkit。到目前为止,针对MS-SQL所描述的大多数命令执行都是调用“xp_cmdshell”和“sp_OACreate”存储过程的。因此,如果在没有xp_cmdshell和sp_OACreate存储过程的MSSQL服务器上拥有“sa”帐户或任何具有“sysadmin”...

mstsc命令详解

1: 在xp sp2中用mstsc /console命令可以登录到远程桌面的控制台(和在电脑前以同一用户登录),xp升级到sp3后,不能这样用了。sp3中命令应该换成mstsc /admin。 2: xp sp3中mstsc的参数如下: 3: MSTSC [] [/v:] [/admin] [/f[ullscreen]] [/w:...

Linux 基础教程 33-硬盘分区及挂载

挂载命令     在Windows系统中如果插入了U盘、移动硬盘、光驱等,只要能被Windows系统识别出来,则系统会进行自动挂载并添加盘符,然后我们就可以访问,而这一切均由系统完成,用户并不需要做任何操作即可使用。那么在Linux系统中,虽然一些Linux系统已经做了一部分自动挂载功能,但大部分情况还是需要手动挂载完成。而这一功能则是由命令mount和u...

c++设计模式:命令模式(Command Pattern)

定义: 命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,命令模式也支持可撤销的操作。命令模式可将“动作的请求者”从“动作的执行者”对象中解耦。 场景: 我们要设计一个遥控器,可以通过按动上边的控制按钮控制卧室和厨房的灯,还能控制卧室中的音响的开关。遥控器及时我们的“动作的请求者”,而灯和音响就是我们的“动作的执行者”。当我们...