使用evo评估ORB-SLAM3 精度(2)-非ros环境下运行orbslam3 tum数据集,并显示轨迹数据

本文介绍非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博客

猜你喜欢

转载自blog.csdn.net/weixin_45834800/article/details/124577680