本文介绍非ros环境下运行orbslam3 tum数据集,并显示轨迹数据。总体而言,这个部分都是orbslam3写好的代码,实现它比较简单。在ros下,可参考博客
ORB-SLAM3轨迹保存与evo评测_Barry_123的博客-CSDN博客_orbslam3保存地图
1.运行代码,生成轨迹文件
下载数据集,运行(此部分略)
我运行的是双目+IMU,注意 \orb_slam3-master\Examples\Stereo-Inertial\stereo_inertial_tum_vi.cc中
// Stop all threads
SLAM.Shutdown();
// Save camera trajectory
std::chrono::system_clock::time_point scNow = std::chrono::system_clock::now();
std::time_t now = std::chrono::system_clock::to_time_t(scNow);
std::stringstream ss;
ss << now;
if (bFileName)
{
const string kf_file = “kf_” + string(argv[argc-1]) + “.txt”;
const string f_file = “f_” + string(argv[argc-1]) + “.txt”;
SLAM.SaveTrajectoryEuRoC(f_file);
SLAM.SaveKeyFrameTrajectoryEuRoC(kf_file);
}
else
{
SLAM.SaveTrajectoryEuRoC(“CameraTrajectory.txt”);
SLAM.SaveKeyFrameTrajectoryEuRoC(“KeyFrameTrajectory.txt”);
}
orbslam3默认输出了轨迹,因此不用改任何东西。即可在路径~\orb_slam3-master\Examples中生成轨迹文件.txt(euro数据集路径貌似不同,在~\orb_slam3-master\目录下)
2、evo显示orbsalm轨迹
生成的txt轨迹是tum类型数据集,可以由evo直接画出来。比如,在路径~\orb_slam3-master\Examples\下,运行evo_traj tum xxx.txt –plot 即可显示单个路径,其他可参考别的命令格式。
未完,后续见如下链接
1. 使用evo评估ORB-SLAM3 精度(3)–TUM数据集APE、RPE分析_Terry Cao 漕河泾的博客-CSDN博客