多传感器融合定位(1-3D激光里程计)6-实现调用pcl-icp、ndt -3 evo里程计精度评价
参考博客:
从零开始做自动驾驶定位(七): 里程计精度评价
下载evo 工具
pip install evo --upgrade --no-binary evo
evo用法,摘自任老师的知乎
EVO评价数据有两种模式,对应的指令分别是 evo_rpe 和 evo_ape ,前者评价的是每段距离内的误差,后者评价的是绝对误差随路程的累计。
评价每段距离内的误差可以使用如下指令
evo_rpe kitti ground_truth.txt laser_odom.txt -r trans_part --delta 100 --plot --plot_mode xyz
其中–delta 100表示的是每隔100米统计一次误差,这样统计的其实就是误差的百分比,和kitti的odometry榜单中的距离误差指标就可以直接对应了。
执行上一章ICP里程计配准 ,到slam_data/trajectory 目录下可见 ground_truth.txt 、 laser_odom.txt 文件 ,分别为 GNSS(认为真值)、ICP后的里程计(估计位姿)
结果评价:
ICP
ICP RVIZ可视化轨迹图
evo_rpe kitti ground_truth.txt laser_odom.txt -r trans_part --delta 100 --plot --plot_mode xyz
最大误差: 5908.669974%
平均误差: 711.311504%
误差中值:105.818037%
最小误差:0.828498%
RMSE: 1504.886112%
评价总累计误差可以用如下指令
evo_ape kitti ground_truth.txt laser_odom.txt -r full --plot --plot_mode xyz
最大值: 9207.618971
平均值: 1064.460571
RMSE: 1943.251093
其中灰色部分就是累计误差
NDT
NDT RVIZ可视化轨迹图
evo_rpe kitti ground_truth.txt laser_odom.txt -r trans_part --delta 100 --plot --plot_mode xyz
最大误差: 0.281753%
平均误差: 0.036494%
误差中值: 0.036494%
最小误差: 0.036494%
RMSE: 0.036494%
评价总累计误差可以用如下指令
evo_ape kitti ground_truth.txt laser_odom.txt -r full --plot --plot_mode xyz