evo slam评估工具使用方法
evo是一款用于视觉里程计和SLAM问题的轨迹评估工具,它可以绘制轨迹图,计算绝对位姿误差和相对位姿误差,支持多种数据集格式,还可以进行轨迹对齐和尺度缩放等操作。本文将介绍evo的安装和基本使用方法,帮助读者快速上手这个强大的工具。
安装
evo的安装非常简单,只需要使用pip命令即可:
bash
pip install evo --upgrade --no-binary evo
或者从github上下载源码后,使用源码安装:
```bash
git clone https://github.com/MichaelGrupp/evo.git
cd evo
pip install --editable . --upgrade --no-binary evo
安装完毕后,在命令行输入evo,若显示了相关信息,则表明安装成功。若提示"command not found",则需要重启电脑。
绘制轨迹
evo绘制轨迹的指令为:
evo_traj <format> <trajectory_file(s)>
其中<format>
表示数据集的格式,可以是tum
、kitti
、bag
、euroc
等,<trajectory_file(s)>
表示轨迹文件,可以有多个。例如:
evo_traj tum traj1.txt traj2.txt
这个指令只是显示轨迹的基本信息,若要绘制轨迹,则增加可选参数-p
或--plot
:
evo_traj tum traj1.txt -p
如果我们想要将估计轨迹与真实轨迹同时绘制,并进行对齐和尺度缩放,我们可以使用如下指令:
evo_traj tum estTraj.txt --ref realTraj.txt -p -a -s
其中--ref
表示设置参考轨迹,-a
表示进行轨迹的旋转和平移对齐,-s
表示进行轨迹的尺度缩放。
轨迹评估
evo可以评估两条轨迹的误差,主要有两个命令:
evo_ape
:计算绝对位姿误差(absolute pose error),用于评估整条轨迹的全局一致性;evo_rpe
:计算相对位姿误差(relative pose error),用于评估轨迹局部的准确性。
这两个命令也支持evo_traj
的可选参数,如轨迹对齐-a
和尺度缩放-s
。完整指令如下:
evo_ape <format> <reference_trajectory> <estimated_trajectory> -a -s
此时将显示轨迹误差相关结果。若增加可选参数-p
,可以绘制误差相关曲线。
格式转换
evo还支持不同数据集格式之间的转换,例如将tum格式的轨迹转换为kitti格式的轨迹,可以使用如下指令:
evo_traj tum traj.tum --save_as_kitti traj.kitti
类似地,还可以使用其他格式的选项,如--save_as_tum
、--save_as_bag
、--save_as_euroc
等。
总结
本文简要介绍了evo slam评估工具的使用方法,包括安装、绘制轨迹、评估误差和格式