SLAM和里程计评估工具——evo使用方法全解

这篇具有很好参考价值的文章主要介绍了SLAM和里程计评估工具——evo使用方法全解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

        本帖的主要内容是整理evo的使用方法及各种命令,不含安装步骤及过程,还未安装的请移步其他博主。

        evo目前支持的公开数据集格式有:TUM、KITTI、EuRoC以及ROS bagfile。如果使用的数据集格式为这些中的某一种,那么无须额外的数据格式处理,就可以直接使用evo进行精度相关内容评估。

一、evo_traj 轨迹管理

        可以打开任意多个轨迹,查看统计信息,并且可以统计当前文件中所对应的轨迹长度。

evo_traj tum results.txt groundtruth.txt -v -p --full_check

        [-v]:以详细模式显示;[--full_check]:可以对轨迹进行检查。(详见二、evo_ape中的可选项补充)

evo_traj tum results.txt --ref=groundtruth.txt -va -p --save_plot traj_va_results.pdf

        [-a]:位姿对齐;[-s]:尺度对齐;[--plot_mode=xy]:画图模式为xy二维图。(详见二、evo_ape中的可选项补充)

        补充:转换轨迹格式

evo_traj tum data.csv --save_as_kitti
* –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

二、evo_ape 计算绝对轨迹误差

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

        1、十四讲中的定义:    

                (1)位姿均方根误差:

SLAM和里程计评估工具——evo使用方法全解

                 (2)平移均方根误差:

SLAM和里程计评估工具——evo使用方法全解

         说明:假设估计位姿和实际位姿时间戳对齐,总帧数都为n;算法估计位姿 P1 , P2 , … , Pn ∈ SE(3) ;真实位姿 Q1 , Q2 , … , Qn ∈ SE(3)。

        2、实际情况:

        估计位姿和groundtruth通常不在同一坐标系中,因此我们需要先将两者对齐。对于双目SLAMRGB-D SLAM,尺度统一,因此我们需要通过最小二乘法计算一个从估计位姿到真实位姿的转换矩阵S ∈ SE(3);对于单目相机,具有尺度不确定性,我们需要计算一个从估计位姿到真实位姿的相似转换矩阵S ∈ Sim(3)。
        进而,实际上每一帧对应的位姿误差为:

SLAM和里程计评估工具——evo使用方法全解

         对应的位姿误差和平移误差变为:

SLAM和里程计评估工具——evo使用方法全解

         3、命令:

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

数据集格式包括euroc、tum等数据格式;

参考和估计轨迹中填入txt或csv格式文件;

可选项有对齐命令、画图、保存结果等。

        可选项补充:

        (1)-r/–pose_relation可选参数:选择平移还是旋转误差

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

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

        (2)  -v、-a、-s可选项:对齐方式选择(可以任意组合,例如:-va、-vas等)

命令 含义
-v verbose mode,以详细模式
-a / –align 采用SE(3) Umeyama对齐,只处理平移和旋转
-as / –align --correct_scale 采用Sim(3) Umeyama对齐,同时处理平移旋转和尺度
-s / –correct_scale 仅对齐尺度

        对齐效果(摘自参考文献):

SLAM和里程计评估工具——evo使用方法全解

         (3)绘图、保存文件及帮助可选项:

        示例:使用TUM数据集,计算考虑平移部分误差的ape,进行平移和旋转和尺度对齐,以详细模式显示,保存画图结果为PDF文件并保存计算结果为zip文件。

 evo_ape tum groundtruth.txt results_new.txt -r trans_part -vas --plot --save_plot ape_trans_vas.pdf --save_results ape_trans_vas.zip

 三、evo_rpe计算相对轨迹误差

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

 1、十四讲中的定义:    

                (1)相对轨迹误差:

SLAM和里程计评估工具——evo使用方法全解

                (2)只取平移部分(△-固定时间差):

SLAM和里程计评估工具——evo使用方法全解

         说明:假设估计位姿和实际位姿时间戳对齐,总帧数都为n;算法估计位姿 P1 , P2 , … , Pn ∈ SE(3) ;真实位姿 Q1 , Q2 , … , Qn ∈ SE(3)。

        2、实际情况:

        每一帧对应的相对位姿误差为:

SLAM和里程计评估工具——evo使用方法全解

         相当于直接测量里程计的误差。Δ的选取直接影响RMSE的结果,为了能综合衡量算法表现,可以遍历 Δ 的所有取值如下:

SLAM和里程计评估工具——evo使用方法全解

        3、命令:

evo_rpe tum groundtruth.txt results.txt -r trans_part -d 1 -u m -va -p --save_plot rpe_trans_va.pdf --save_results rpe_trans_va.zip

        –d/–delta:表示相对位姿之间的增量;–u/–delta_unit:表示增量的单位,可选参数为[f, d, r, m],分别表示[frames, deg, rad, meters];合起来表示每米、每百米等。–d 默认为1,–u默认为f。

四、evo_res 结果比较

evo_res results1.txt results2.txt -v -p --save_plot comparsion.pdf

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

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 将参数还原到默认值
参数 含义 可选项
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

        

参考链接:

        1、SLAM精度评定工具EVO使用方法详解_evo slam_wongHome的博客-CSDN博客

        2、一种SLAM精度评定工具——EVO使用方法详解_dcq1609931832的博客-CSDN博客

        3、SLAM和里程计评估工具——evo - 灰信网(软件开发博客聚合)

        4、ORBSLAM数据集、evo评估工具介绍_orbslam evo_Z-way的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-479294.html

到了这里,关于SLAM和里程计评估工具——evo使用方法全解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2022最新!视觉SLAM综述(多传感器/姿态估计/动态环境/视觉里程计)

    目录 摘要 视觉SLAM算法的发展 相关综述 VSLAM 设置标准 传感器和数据采集 目标环境 视觉特征处理 系统评估 语义等级 基于主要目标的VSLAM方法 目标一:多传感器处理 目标二:姿态估计 目标三:现实世界可行性 目标四:资源限制 目标五:弹性化(Versatility) 目标六:视觉里

    2023年04月20日
    浏览(53)
  • 3D激光SLAM:LeGO-LOAM论文解读---激光雷达里程计与建图

    激光雷达里程计模块的功能就是 :估计相邻帧之间的位姿变换。 估计的方式 :在相邻帧之间做点到线的约束和点到面的约束 具体的方式和LOAM一样 针对LOAM的改进 1 基于标签的匹配 在特征提取部分提取的特征点都会有个标签(在点云分割时分配的) 因此在找对应点时,标签

    2023年04月09日
    浏览(82)
  • 对于SLAM定位中各类坐标系的理解(坐标系,里程计坐标系,基座坐标系与雷达坐标系)

    最近系统性学习了一遍LIO-SAM,开始的时候一直搞不懂里程计坐标系,经过不断学习才有了一点自己的拙见。 引言 :首先我们搞清楚SLAM算法主要是解决建图与定位问题,其更 侧重定位 ,即让机器人知道自己在全局地图的哪个位置,只有这样才能继续后续的预测、感知、控制

    2024年02月03日
    浏览(48)
  • 【视觉SLAM入门】5.1. (基于特征点的视觉里程计)特征提取和匹配--FAST,ORB(关键点描述子),2D-2D对极几何,本质矩阵,单应矩阵,三角测量,三角化矛盾

    为什么重要?我们是在做什么事? 特征提取和匹配: 首先是两幅图像的特征提取,然后是对应特征点的匹配。接下来的工作是根据得到的匹配点对,估计相机的运动,具体根据相机分为三种方法: 单目相机:2D-2D: 对极几何 方法 双目或者RGBD相机: 3D-3D: ICP 方法 一个3D点

    2024年02月10日
    浏览(37)
  • 视觉里程计(1):什么是视觉里程计

    1.概念:什么是里程计? 在里程计问题中,我们希望测量一个运动物体的轨迹。这可以通过许多不同的手段来实现。例如,我们在汽车轮胎上安装计数码盘,就可以得到轮胎转动的距离,从而得到汽车的估计。或者,也可以测量汽车的速度、加速度,通过时间积分来计算它的

    2024年02月07日
    浏览(39)
  • 视觉里程计学习笔记

    一、相机 1、双目相机的 D、P、K、R矩阵 是相机标定时得到的一组重要参数,它们分别代表以下含义: D矩阵 : 畸变矫正参数矩阵 。它包含了 相机图像坐标系下的径向畸变和切向畸变系数,用于将畸变像素坐标转化为无畸变的像素坐标 。对每个相机而言都有一个D矩阵。 P矩

    2024年02月03日
    浏览(35)
  • 基于ROS发布里程计信息

    参考文档: navigationTutorialsRobotSetupOdom 参考博客: (1)ROS机器人里程计模型 (2)ROS里程计消息nav_msgs/Odometry的可视化方法 1 常用坐标系系统模型 世界坐标系是描述机器人全局信息的坐标系;机器人坐标系是描述机器人自身信息的坐标系;传感器坐标系是描述传感器信息的坐

    2024年02月08日
    浏览(40)
  • IMU惯性里程计解算(附代码实现)

    一、系统概述 IMU是机器人常用的传感器之一,IMU对机器人的定位功能实现非常重要,其优点在于是内源传感器对外部环境变化不明显,输出频率高,缺点在于存在累积误差。本文主要记录一下在机器人定位中对IMU的使用和对惯性导航里程计的理解和实现。 本文代码主要依赖

    2023年04月15日
    浏览(37)
  • 差速驱动机器人的车轮里程计模型

            车轮测程法是指使用旋转编码器(即连接到车轮电机以测量旋转的传感器)的测程法(即估计运动和位置)。这是轮式机器人和自动驾驶汽车定位的有用技术。         在本文中,我们将通过探索差速驱动机器人的

    2024年02月15日
    浏览(45)
  • 经典文献阅读之--VoxelMap(体素激光里程计)

    作为激光里程计,常用的方法一般是特征点法或者体素法,最近Mars实验室发表了一篇文章《Efficient and Probabilistic Adaptive Voxel Mapping for Accurate Online LiDAR Odometry》,同时还开源了代码在Github上。文中为雷达里程计提出了一种高效的概率自适应体素建图方法。地图是体素的集合,

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包