1、二进制安装(安装失败就加上清华源试试)
pip3 install evo --upgrade --no-binary evo --index-url https://pypi.tuna.tsinghua.edu.cn/simple
2、源码安装
git clone https://github.com/MichaelGrupp/evo.git
cd evo
pip3 install --editable . --upgrade --no-binary evo
同上,如果失败加上清华源:--index-url https://pypi.tuna.tsinghua.edu.cn/simple
3、evo_ape 计算绝对位姿误差
绝对位姿误差,常被用作绝对轨迹误差,比较估计轨迹和参考轨迹并计算整个轨迹的统计数据,适用于测试轨迹的全局一致性。
命令语法:命令 格式 参考轨迹 估计轨迹 [可选项]
其中格式包括euroc、tum等数据格式,可选项有对齐命令、画图、保存结果等。
常用命令示例:
euroc 格式
evo_ape euroc MH_data3.csv pose_graphloop.txt -r full -va --plot --plot_mode xyz --save_plot ./VINSplot --save_results ./VINS.zip
tum 格式:
evo_ape tum MH_data3.csv pose_graphloop.txt -r full -va --plot --plot_mode xyz --save_plot ./VINSplot --save_results ./VINS.zip
命令的含义为:计算考虑平移和旋转部分误差的ape,进行平移和旋转对齐,以详细模式显示,保存画图并保存计算结果。
命令运行后得到结果如下图所示:
其中-r表示ape所基于的姿态关系
不添加-r/–pose_relation和可选项,则默认为trans_part。
-v表示verbose mode,详细模式,-a表示采用SE(3) Umeyama对齐,其余可选项如下表所示。不加-s表示默认尺度对齐参数为1.0,即不进行尺度对齐。
采用不同对齐命令效果图
–plot表示画图,–plot_mode选择画图模式,二维图或者三维图,可选参数为[xy, xz, yx, yz, zx, zy, xyz],默认为xyz。
保存画图结果可以自己手动在窗体上保存,也可以通过–save_plot实现,–save_plot后接保存路径,如./VINSplot, 表示存储在当前路径下的名称为VINSplot的文件中,保存文件的类型可以通过evo_config设置。常见的可以保存成png,pdf等,详见evo_config部分。
– save_results表示存储结果,后面跟随存储路径以及压缩文件名称,存储后得到zip压缩文件。
作图时修改图像参数请见evo_config。
可通过 evo_ape +数据格式 + --help查看更多参数的含义以及如何使用。例如
evo_ape euroc --help
4、evo_rpe 计算相对位姿误差
相对位姿误差不进行绝对位姿的比较,相对位姿误差比较运动(姿态增量)。相对位姿误差可以给出局部精度,例如slam系统每米的平移或者旋转漂移量。
命令语法:命令 格式 参考轨迹 估计轨迹 [可选项]
其中格式包括euroc、tum等数据格式,可选项有对齐命令、画图、保存结果等。
常用命令示例:
evo_rpe tum example_data/groundtruth.txt example_data/estimated.txt -r trans_part --delta 1 --plot
evo_rpe euroc MH_data3.csv pose_graphloop.txt -r angle_deg --delta 1 --delta_unit m -va --plot --plot_mode xyz --save_plot ./VINSplot --save_results ./VINS.zip
5、evo_traj 轨迹管理的主要工具
evo_traj可以打开任意多个轨迹,查看统计信息,并且可以统计当前文件中所对应的轨迹长度。-v
表示以详细模式显示,–full_check
可以对轨迹进行检查。
evo_traj tum example_data/groundtruth.txt example_data/estimated.txt -p --plot_mode=xyz
evo_traj euroc MH_data1.csv MH_data3.csv
evo_traj euroc MH_data1.csv MH_data3.csv -v
evo_traj euroc MH_data1.csv MH_data3.csv -v --full_check