SLAM测评工具—evo安装与使用

  • Post author:
  • Post category:其他




evo简介

evo是一个很好的测评工具,它可以根据时间戳将轨迹进行对齐,同时可以将不同尺度的轨迹按照你指定的标准轨迹进行拉伸对齐,并可以算出均方差等评定参数,用于测评slam算法性能

目前支持 TUM KITTI Euroc 等格式。evo工具提供了:

3种误差评估方式:

evo_ape -absoulte pose error
evo_rpe -relative pose error
evo_rpe -for-each -sub-sequence-wise averaged pose error

4种工具:

evo_traj - tool for analyzing, plotting or exporting one or more trajectories
evo_res - tool for comparing one or multiple result files from evo_ape or evo_rpe
evo_fig - (experimental) tool for re-opening serialized plots (saved with –serialize_plot)
evo_config - tool for global settings and config file manipulation



evo安装


1.切换python版本


新版evo的安装只支持python 3.6+

Ubuntu18.04默认python2.7(catkin_make支持python2.7版本,即默认版本),需要切换

sudo update-alternatives --config python


2.安装pip3

sudo apt install python3-pip

查看版本:

pip3 -V

注:如果报下面错误,很可能是没有安装pip3,尤其是刚切换了python3,大概率是没有安装,安装后就不报错了,可以正常进行第三步evo的安装

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'


3.安装evo

sudo pip install evo --upgrade --no-binary evo


4.自带test测试

cd test/data
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xyz

报错:

ModuleNotFoundError: No module named 'tkinter'
[ERROR] evo module evo.main_traj crashed - no logfile written (disabled)

解决:

sudo apt-get install tcl-dev tk-dev python3-tk

完成。

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



evo使用

绝对误差

//二维
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz
//三维
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xyz

在这里插入图片描述

相对误差(地图用颜色深浅表示)

evo_ape kitti KITTI_00_gt.txt KITTI_00_ORB.txt   -va -p 

在前面的是gt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用ape的时候无需给出–ref 的文件,tum 后第一个文件即为标准文件,

这里标准文件为data.txt

其他参数

将文件保存为其他类型的文件,可以使用如下句柄

--save_as_tum         save trajectories in TUM format (as *.tum)
--save_as_kitti          save poses in KITTI format (as *.kitti)
--save_as_bag         save trajectories in ROS bag as <date>.bag

保存图片

--save_plot “保存的路径”

合并轨迹

--merge

给出数据的最大时间戳差异

--t_max_diff “具体差异”

具体其他参数请参考不同工具后的-h(–help)



版权声明:本文为xiaojinger_123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。