SLAM轨迹精度评估工具evo使用方法

(evo详细解释参考这里

一、evo_traj: 主要是用来画轨迹、输出轨迹文件、转换数据格式等功能

1. evo_traj 命令

当我们想要比较两个 topic 数据之间的不同时刻之间的偏差是,可以考虑用 evo_traj 命令来绘制轨迹。
evo共支持kitti、tum、euroc这三个公开数据集格式,同时也支持bag文件里的topic。

1.1 针对 bag 文件 使用 evo_traj 命令

evo_traj 的具体语法格式:

evo_traj  bag文件  话题名1 话题名2 ....  话题名n  [参数]

参数选项:参数-p 或 --plot 即可绘制出轨迹的图形两个 topic 对应的坐标曲线。

1.2 针对 kitti、tum、euroc 格式 使用 evo_traj 命令

为了能够得到更加清晰地轨迹曲线,这里输出曲线保存到 pdf 中。pdf 文件中的轨迹清晰度较高。
这里以 tum 格式为例。

evo_traj tum --ref=gt.txt 1.txt 2.txt 3.txt  -a  -p  --save_plot  ./output.pdf

执行上述指令后,运行的 evo_traj 命令结束后,就会在当前目录下生成轨迹文档 output.pdf

2.运行命令并查看效果

笔者主要想利用evo来评估amcl输出位姿的精度,这里以 /odom、/amcl_pose 做演示(仅仅作为演示,实际对位姿的评估一般不是这样来做的),来比较 /odom与 /amcl_pose 之间不同时刻位姿的偏差。

evo_traj bag data_pose_2020-07-25-17-19-16.bag /odom  /amcl_pose  -p

运行效果:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、evo_ape: 计算绝对位姿误差

1.evo_ape 命令 (evo详细解释参考这里

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

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

evo_ape kitti ground_truth.txt laser_odom.txt -r full --plot --plot_mode xyz

命令的含义为:计算考虑平移和旋转部分误差的ape,进行平移和旋转对齐,以详细模式显示,以 xyz 模式画图。
–delta 100表示的是每隔100米统计一次误差

其中-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。

命令运行后得到结果如下图所示:
在这里插入图片描述
在这里插入图片描述

三、evo_rpe: 用于评估相对位姿误差

1.evo_rpe 命令 (evo详细解释参考这里

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

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

evo_rpe kitti ground_truth.txt laser_odom.txt -r full --delta 100 --plot --plot_mode xyz

命令的含义为:计算考虑平移和旋转部分误差的rpe,进行平移和旋转对齐,以详细模式显示,以 xyz 模式画图。
–delta 100表示的是每隔100米统计一次误差

其中-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。

命令运行后得到结果如下图所示
在这里插入图片描述
在这里插入图片描述

参考链接:
[1] evo官方教程 https://github.com/MichaelGrupp/evo/wiki
[2] SLAM轨迹精度评估工具evo安装以及使用方法详细介绍,如何用来评估ORB-SLAM2生成的轨迹精度,评估激光雷达SLAM与视觉SLAM的轨迹精度,量化SLAM的误差 https://blog.csdn.net/u011341856/article/details/104594392#commentBox
[3] SLAM 轨迹评估工具EVO https://blog.csdn.net/crp997576280/article/details/105385240#21_TUM_37
[4 一种SLAM精度评定工具——EVO使用方法详解 https://blog.csdn.net/dcq1609931832/article/details/102465071]

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值