# monoORBSLAM3 **Repository Path**: SecondR/mono-orbslam3 ## Basic Information - **Project Name**: monoORBSLAM3 - **Description**: 参照 ORB-SLAM3 在新的开发环境重写单目版本算法,但不包含回环检测、重定位和多地图融合模块 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-11-17 - **Last Updated**: 2023-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # monoORBSLAM3 ### 介绍 个人参照 ORB-SLAM3 官方代码,在 Ubuntu 20.04 上使用较新的 c++ 库和 c++17 标准重新写的单目版本,另外未撰写回环检测、多地图融合和重定位模块;同时对惯性初始化模块、视觉惯性联合优化做了一些调整。 ### 依赖包 ##### 1. Eigen3 Eigen3 笔者使用的是 Ubuntu 20.04 官方库版本(版本号 3.3.7),安装命令如下: ```bash sudo apt-get update sudo apt-get install libeigen3-dev ``` ##### 2. OpenCV4 OpenCV4 同样也使用 Ubuntu 20.04 官方库版本(版本号 4.2.0),安装命令如下: ```bash sudo apt-get update sudo apt-get install libopencv-dev ``` ##### 3. g2o g2o 开源地址为 `https://github.com/RainerKuemmerle/g2o/tree/20201223_git` (这里选择与 eigen、opencv 发布年代相近的分支版本),安装编译命令如下: ```bash sudo apt-get update sudo apt-get install libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev-qt5 # 可选依赖 # 切换到 g2o 下载目录,编译并安装 mkdir build && cd build cmake .. make -j 8 sudo make install ``` ##### 4. pangolin 可视化库使用 [pangolin-v0.6](https://github.com/stevenlovegrove/Pangolin/tree/v0.6) ,安装编译命令如下: ```bash # 切换到 pangolin 下载目录 mkdir build && cd build cmake .. make -j 8 sudo make install ``` ### 编译运行 #### 第三方库 DBoW2 编译 ORB-SLAM2 需要使用词袋模型进行参考关键帧跟踪定义,以及局部建图模块关键帧匹配,三角化新的地图点,编译命令如下: ```bash cd thirdParty/DBoW2 mkdir build && cd build cmake .. make -j 8 ``` #### monoORBSLAM3 编译 ```bash # monoORBSLAM3 目录下 mkdir build && cd build cmake .. make -j 8 ``` #### KITTI 数据运行 KITTI 数据由汽车采集,速度较快,难以稳定运行。ORB-SLAM3 官方代码未在 KITTI 的单目惯性数据上进行测试验证,这里改进了 ORB-SLAM3 的惯性初始化过程和视觉惯性联合跟踪定位,在部分 KITTI 数据上可以运行。 KITTI 原始数据的处理脚本在 scripts 目录下: ```bash cameraTime.py # 相机时间戳整理 gps.py # GPS 定位数据整理 imu.py # IMU 数据整理 ``` 运行命令为: ```bash test/kitti_demo setting.yaml vocabulary_file data_folder trajectory_save_path ``` 如下图为 monoORBSLAM3 在 [2011_09_30_dirve_0018](https://s3.eu-central-1.amazonaws.com/avg-kitti/raw_data/2011_09_30_drive_0018/2011_09_30_drive_0018_extract.zip) 跟踪定位轨迹与 GPS 定位轨迹统一变换到 ENU 坐标系下。