ORB-SLAM3命令——自用
1.基于MH01单目示例:
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./Datasets/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono
MH01单目+IMU
./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml ./Datasets/MH01 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/MH01.txt
2.EVO资料链接:https://www.sohu.com/a/454515561_100007727?_trans_=000019_wzwza
EVO分析MH01指令:
evo_ape euroc MH01-GT.csv f_dataset-MH01_mono.txt -va --plot --plot_mode xyz --save_results a.zip
evo_ape euroc MH01-GT.csv KeyFrameTrajectory2.txt -va --plot_mode xyz --save_results a.zip
.csv文件转换成tum格式:
evo_traj euroc MH01-GT.csv --save_as_tum
绘制轨迹:
evo_traj tum KeyFrameTrajectory2.txt --ref=MH01-GT.tum -p --plot -s --correct_scale -a --align
evo_traj tum KeyFrameTrajectory2.txt --ref=MH01-GT.tum -s --correct_scale -a --align
评估位姿误差:
evo_ape tum MH01_ORB2.txt MH01_gt.tum -p --plot -s --correct_scale -a --align -v --save_results MH01_ape.zip
对多个结果进行比较:
evo_res a.zip b.zip -v
3. Pangolin无法在ssh端可视化:
把ORB_SLAM3/Examples/Monocular/mono_tum.cc中50行改成false;命令行里用哪个Examples对应的就修改哪个里面的.cc,比如单目+IMU就是修改Monocular-Inertial里面的
改完一定要记得重新编译
// Create SLAM system. It initializes all system threads and gets ready to process frames.
ORB_SLAM2::System SLAM(argv[1],argv[2],ORB_SLAM2::System::MONOCULAR,false);