EVO——视觉里程计/SLAM轨迹评估工具

EVO——SLAM轨迹精度评估软件

EVO简介

evo是一款用于视觉里程计VIO和slam轨迹评估 Python 包(Linux / macOS / Windows / ROS)。能够绘制轨迹评估轨迹与真值的误差。支持多种数据集的轨迹格式(TUM、KITTI、EuRoC的Mav、ROSbag),同时支持这些数据格式之间进行相互转换。
Github网址:https://github.com/MichaelGrupp/evo

EVO支持的文件格式:

TUM 的轨迹文件

KITTI 的pose文件

EuRoC 的MAV(.csv groundtruth 和 TUM 轨迹文件)

ROSbag 包文件

集中常用的公开数据集的文件格式后面再写,大家个参考其他的博客!

安装

我用的是Ubuntu16.04系统,系统默认的是python2.7
EVO支持 Python 3.6+。最后一个支持 Python 2.7 的 EVO版本是 1.12.0。如果你想使用 ROS bagfile 接口,首先检查你的 ROS 安装使用的是哪个 Python 版本并进行相应的安装。版本不兼容会导致很大的问题!

EVO主要由两种安装方式

1.pip安装

参考其他博客

1.源码安装

参考其他博客

使用

evo工具主要有如下六个常用命令:

evo_ape - 用于评估绝对位姿误差;
evo_rpe - 用于评估相对位姿误差;
evo_traj - 这个主要是用来画轨迹、输出轨迹文件、转换数据格式等功能;
evo_res - 比较来自evo_ape或evo_rpe生成的一个或多个结果文件的工具;
evo_fig - (实验)工具,用于重新打开序列化图(使用–serialize_plot保存);
evo_config - 这个主要用于evo工具全局设置和配置文件操作。

-p 表示绘图;
--plot_mode=xyz - 表示绘图模式为xyz三维;
--save_results - 表示保存结果,后面为文件保存路径及文件名。

TUM数据的评估方法

Euroc Bag文件的评估方法

1.评估绝对轨迹误差APE

evo_ape euroc  data.csv b.csv

euroc 是数据类型标识,标识后面的两个文件都是euroc格式的数据;
第一个文件 data.csv 表示地面轨迹真值groundtrue数据;
第二个文件 b.csv 表示某个SLAM代码计算的结果;

不同数据源的绘图方法相同,命令略有差异

KITTI数据的评估方法

0.绘制轨迹

evo_traj tum abc.txt -p

abc.txt 是计算出来的结果;

在这里插入图片描述

1.评估绝对轨迹误差APE

 evo_ape kitti a.txt b.txt

kitti 是数据类型标识,标识后面的两个文件都是kitti格式的数据;
第一个文件 a.txt 表示地面轨迹真值groundtrue数据;
第二个文件 b.txt 表示某个SLAM代码计算的结果;

2.相对轨迹误差RPE

evo_rpe tum vio_GPS_global.txt kitti_10_gt.txt -p --plot_mode=xyz -a -s -v --save_results /home/lee/output/rpe.zip

tum 是数据类型标识,标识后面的两个文件都是kitti格式的数据;
第一个文件 vio_GPS_global.txt 表示SLAM软件计算的结果(此处为VINS);
第二个文件 kitti_10_gt.txt 表示kitti数据集10 的地面真实轨迹数据;

相对轨迹误差
轨迹图

###VINS计算结果转为tum格式
由于VINS输出结果并不能直接使用EVO读取,还需要进行格式转换!可参考博文:

待续!!!

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SLAM精度评估中的EVO是指使用EVO工具评估SLAM系统的轨迹误差。EVO是一个开源的工具,用于评估SLAM系统的性能。它提供了一系列命令和功能,可以计算和可视化SLAM系统的轨迹误差。 在EVO中,有几个常用的命令可以用来评估SLAM系统的轨迹误差。其中,evo_traj命令用于评估轨迹误差,可以使用手写的ATE(绝对位姿误差)和RPE(相对位姿误差)来比较SLAM系统的性能。\[1\] 相对位姿误差主要用于比较运动(姿态增量),而不是进行绝对位姿的比较。相对位姿误差可以给出局部精度,例如SLAM系统每米的平移或旋转漂移量。可以使用evo_rpe命令来计算相对位姿误差,并通过设置参数来进行可视化和保存结果。\[2\] 另外,evo_ape命令可以用于计算ATE(绝对位姿误差),并提供了可视化和保存结果的功能。可以使用该命令来评估SLAM系统在KITTI数据集上的性能。\[3\] 总之,EVO是一个用于评估SLAM系统性能的工具,可以通过计算和可视化轨迹误差来评估SLAM系统的精度。可以使用evo_traj、evo_rpe和evo_ape等命令来进行评估和分析。 #### 引用[.reference_title] - *1* *2* [SLAM精度测评——EVO进阶](https://blog.csdn.net/Darlingqiang/article/details/123534388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ros中SLAMEVO、APE测评——SLAM精度测评(一)](https://blog.csdn.net/Yangy_Jiaojiao/article/details/124419966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值