ORB_SLAM3运行自己的数据集

1. 运行自己的数据集

基于GitHub - thien94/orb_slam3_ros: A ROS implementation of ORB_SLAM3代码运行的自己的数据集,一开始使用的使用的是docker‘Ubuntu20.04使用Docker运行ORB_SLAM3-优快云博客’,但是docker里面显示轨迹不知道为什么没有图片显示,最后换回没有使用docker的环境,直接创建工作空间,在工作空间创建src,再catkin build,例如:

mkdir -p ORBSLAM3/src
catkin build

orb_slam3_ros/launch/ntuviral_mono.launch更改一下话题和配置文件,我的Mono.yaml是复制其它配置文件更改的,在源文件基础上更改也行,注意参数:

2. 保存轨迹

orb_slam3_ros/src/ros_mono.cc文件添加:

    // Save camera trajectory
    pSLAM->SaveKeyFrameTrajectoryEuRoC("/Trajectory/ORB-SLAM3-KeyFrameTrajectory.txt");
    // Save camera trajectory
    pSLAM->SaveTrajectoryEuRoC("/Trajectory/ORB-SLAM3-FrameTrajectory.txt");

 保存完之后重新编译工作空间:

catkin clean
catkin build

3. evo绘制轨迹图

        再次运行之后生成的是txt文件,绘制的时候遇到numpy和scipy版本冲突的问题,升级scipy版本解决。

        因为运行的是自己的数据集,没有真实的轨迹位姿,所以只是evo_traj绘制了一下轨迹。

3.1 evo_traj

主要用于画轨迹图、表格,转换数据格式等等操作。

输出轨迹的相关信息:

evo_traj tum a.txt

轨迹的图形可视化:

evo_traj tum a.txt -p

3.2 evo_ape

用于评估两条轨迹的绝对位姿误差。

evo_ape xxx a.txt b.txt

3.3 evo_rpe

用法该命令用于比较两个轨迹之间的相对轨迹误差。

evo_rpe xxx a.txt b.txt

详细evo使用参考:

Home · MichaelGrupp/evo Wiki · GitHub

evo安装、evo使用方法详细介绍使用教程,SLAM轨迹精度评估工具,如何用来评估ORB-SLAM2生成的轨迹精度,评估激光雷达SLAM与视觉SLAM的轨迹精度,量化SLAM的误差_怎么看evo是否安葬成功-优快云博客

Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM+Gazebo仿真运行ORB-SLAM2+各种相关库的安装_ubuntu使用slam-优快云博客

 SLAM测评工具---evo安装与使用_evo slam-优快云博客

SLAM地图评估指标及EVO评估工具安装使用教程

4. 保存地图

4.1 osa文件格式

保存.osa文件,在yaml前面取消注释:

#System.SaveAtlasToFile: "Session_MH01_MH02_MH03_Mono"

运行时加载osa后缀的地图文件,在yaml前面取消注释:

#System.LoadAtlasFromFile: "Session_MH01_MH02_MH03_Mono"

4.2 pcd文件格式

保存.pcd文件:

参考:

视觉学习笔记4——ORB-SLAM3的地图保存与使用_orbslam3保存地图-优快云博客

ORB SLAM3 点云地图保存_orb-slam3保存点云-优快云博客

【ORB_SLAM3】Ubuntu20.04 ros运行并保存PCD地图文件_ros2加载pcd-优快云博客

Ubuntu18.04:ORB-SLAM3使用数据集构建地图和保存点云地图_orbslam3保存pcd点云图-优快云博客

### ORB_SLAM3 使用 KITTI 数据集 的配置方法 为了成功运行 ORB_SLAM3 并处理 KITTI 数据集,以下是详细的说明: #### 1. 安装依赖项 确保已安装必要的库和工具链。这通常包括 OpenCV、Eigen 和 Pangolin 等基础库[^1]。 ```bash sudo apt-get install libopencv-dev libeigen3-dev libpangolin-dev ``` #### 2. 编译 ORB_SLAM3 下载并解压 ORB_SLAM3 源码后,在 `Thirdparty` 文件夹中放置所需的第三方库(如 DBoW2)。随后执行 CMake 构建过程以完成编译工作: ```bash cd ORB_SLAM3 mkdir build && cd build cmake .. make -j$(nproc) ``` #### 3. 准备 KITTI 数据集 从官方网站获取 KITTI 数据集,并将其存储到指定路径下。对于单目或双目模式,需分别准备对应的图像序列文件夹结构[^2]。 例如,假设数据位于 `/path/to/kitti/sequences/00/image_0` 中,则应满足如下目录布局: ``` /path/to/kitti/ ├── sequences/ │ ├── 00/ │ │ └── image_0/ │ │ └── *.png ... ``` #### 4. 修改参数文件 针对不同的传感器类型 (单目 / 双目),调整相应的 YAML 参数文件内容。这些文件一般存放在 `Examples/Monocular` 或 `Examples/Stereo` 下面[^3]。 - **单目**: 调整相机内参矩阵 (`fx`, `fy`, `cx`, `cy`) 和其他选项; - **双目**: 增加基线距离设置(`mbf`)等内容。 示例部分代码片段展示如何定义摄像头内部参数: ```yaml Camera.fx: 718.856 Camera.fy: 718.856 Camera.cx: 607.1928 Camera.cy: 185.2157 Camera.bf: 0.53716575 ``` #### 5. 执行程序 通过命令行调用对应脚本启动 SLAM 流程。下面给出两个典型场景下的操作指令作为参考[^2]: - 单目版本: ```bash ./mono_kitti vocab.bin ./examples/KITTImono.yaml /path/to/dataset/sequences/00 ``` - 双目版本: ```bash ./stereo_kitti vocab.bin ./examples/KITTIscale.yaml /path/to/dataset/sequences/00 ``` 如果遇到错误提示,请参照特定文档排查原因。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值