1. 安装:
pip install evo --upgrade --no-binary evo
2. 使用
evo_ape - 用于评估绝对位姿误差;
evo_rpe- 用于评估相对位姿误差;
evo_traj - 这个主要是用来画轨迹、输出轨迹文件、转换数据格式等功能;
evo_res- 比较来自evo_ape或evo_rpe生成的一个或多个结果文件的工具;
evo_fig - (实验)工具,用于重新打开序列化图(使用–serialize_plot保存);
evo_config - 这个主要用于evo工具全局设置和配置文件操作。
原文链接:https://blog.csdn.net/u011341856/article/details/104594392(1)evo_ape:绝对位姿误差
evo_ape tum ndt_pose.txt ground_truth.txt
max
:表示最大误差;mean
:平均误差;median
:误差中位数;min
:最小误差;rmse
:均方根误差;sse
:和方差、误差平方和;std
:标准差。参数:
-a ---- 对齐
-p ----绘图
--n_to_align N_TO_ALIGN 10000 用于对齐的点数,默认全部
evo_ape tum ndt_pose.txt ground_truth.txt -a -p --n_to_align 5000
--align_origin
-p, --plot show plot window
--plot_mode {xy,xz,yx,yz,zx,zy,xyz}
the axes for plot projection
--plot_colormap_max PLOT_COLORMAP_MAX
the upper bound used for the color map plot (default:
maximum error value)颜色图的最大值,0.1则表示绝对误差大于0.1的点都被标红;
evo_ape tum ndt_pose.txt ground_truth.txt -a --n_to_align 5000 --align_origin --plot --plot_colormap_max 0.1
--plot_colormap_min PLOT_COLORMAP_MIN
the lower bound used for the color map plot (default:
minimum error value)
--plot_colormap_max_percentile PLOT_COLORMAP_MAX_PERCENTILE
percentile of the error distribution to be used as the
upper bound of the color map plot (in %, overrides
--plot_colormap_max)
--plot_full_ref plot the full, unsynchronized reference trajectory
--ros_map_yaml ROS_MAP_YAML
yaml file of an ROS 2D map image (.pgm/.png) that will
be drawn into the plot可导入ROS栅格地图;
--save_plot SAVE_PLOT
path to save plot
--serialize_plot SERIALIZE_PLOT
path to serialize plot (experimental)
--save_results SAVE_RESULTS
.zip file path to store results注意为zip格式;
--logfile LOGFILE Local logfile path.
(2) evo_rpe:相对位姿误差
该命令用于比较两个轨迹之间的相对轨迹误差,也就是两个时间戳相同时刻的轨迹轨迹误差,更具体来说,两组轨迹持续时间相同,但是采样频率不同,那么之间就会有一些少量的相同时间戳,那么这些相同的时间戳就可以进行一对一比较误差。同样的这些误差也会有平均误差、最大、最小误差等等结果。命令使用方法如下:
evo_rpe tum ground_truth.txt ndt_pose.txt
optional arguments:
-h, --help show this help message and exit
--t_max_diff T_MAX_DIFF
maximum timestamp difference for data association
--t_offset T_OFFSET constant timestamp offset for data association
--t_start T_START only use data with timestamps greater or equal this
start time
--t_end T_END only use data with timestamps less or equal this end
timealgorithm options:
-r {full,trans_part,rot_part,angle_deg,angle_rad,point_distance}, --pose_relation {full,trans_part,rot_part,angle_deg,angle_rad,point_distance}
pose relation on which the RPE is based
-a, --align alignment with Umeyama's method (no scale)
-s, --correct_scale correct scale with Umeyama's method
--n_to_align N_TO_ALIGN
the number of poses to use for Umeyama alignment,
counted from the start (default: all)
--align_origin align the trajectory origin to the origin of the
reference trajectory
-d DELTA, --delta DELTA
delta between relative poses
-t DELTA_TOL, --delta_tol DELTA_TOL
relative delta tolerance for all_pairs mode
-u {f,d,r,m}, --delta_unit {f,d,r,m}
unit of delta - `f` (frames), `d` (deg), `r` (rad),
`m`(meters)
--all_pairs use all pairs instead of consecutive pairs (disables
plot)
(3) evo_traj用法:用于画轨迹图、表格,转换数据格式等等操作
evo_traj tum ndt_pose.txt imu_odom.txt -a -p --align_origin --ref ground_truth.txt