EVO测试ORB-SLAM3数据集记录

evo可以进行数据格式转化、曲线颜色配置、轨迹导出等多种功能,详细请参考evo在github上的wiki:
https://github.com/MichaelGrupp/evo/wiki

用 python2调用ORB-SLAM3自带的evaluate_ate_scale.py

python2 evaluate_ate.py --save alignedTrajectory_ate.txt --plot ate.png groundtruth.txt KeyFrameTrajectory.txt
python2 evaluate_ate_scale.py MH02_GT.txt f_dataset-MH02_stereo.txt --plot MH02_stereo.pdf

evo函数参数介绍:
-p参数绘制轨迹,
–ref参数指定参考轨迹,
-va参数将两条轨迹进行对齐

1、ORB-SLAM3的需要修改代码,才能导出evo用于轨迹评估的数据格式
参考
对于EuRoc数据
把system.cc里面的Line677和Line685的源码中的1e9*(*lT)变成(*lT)

f << setprecision(6) << (*lT) << " " <<  setprecision(9) << twb.at(0) << " " << twb.at(1) << " " << twb.at(2) << " " << q[0] << " " << q[1] << " " << q[2] << " " << q[3] << endl;

2、将Euroc数据转换为tum数据集格式

evo_traj euroc MH01_data.csv  --save_as_tum

可视化显示轨迹

evo_traj euroc data.csv --plot

3、ATE评估轨迹
说明:
MH01_data.csv文件是MH_01_easy\mav0\state_groundtruth_estimate0\data.csv
f_dataset-MH01_mono.txt是MH_01_easy数据集跑的单目SLAM的轨迹结果

evo_rpe tum MH01_data.tum f_dataset-MH01_mono.txt  -p --plot_mode=xyz -a --correct_scale --save_results ./orb3_rpe01.zip

4、evo结果
对于MH01数据集,我跑的结果跟论文里面的0.016还是有差距
EVO测试ORB-SLAM3数据集记录_第1张图片
EVO测试ORB-SLAM3数据集记录_第2张图片

参考博客:
https://blog.csdn.net/shanpenghui/article/details/109354918
https://blog.csdn.net/ljtx200888/article/details/118148300

你可能感兴趣的:(ORB_SLAM3,自动驾驶,人工智能,机器学习)