SLAM
ORB-SLAM3 学习笔记
视觉 SLAM 入门,ORB-SLAM3 的编译配置与 Docker 化部署记录。
什么是 ORB-SLAM3
ORB-SLAM3 是目前最先进的视觉 SLAM 系统之一,支持单目、双目和 RGB-D 相机, 能够同时进行定位与建图。它是 ORB-SLAM2 的重大升级,增加了视觉惯性融合、 多地图复用和鱼眼相机支持。
项目结构
在工作空间中维护了两个版本:
| 目录 | 说明 |
|---|---|
ORB_SLAM3_user/ | 直接编译安装的本地版本 |
orbslam3_docker_user/ | Docker 容器化版本,方便环境迁移 |
依赖项
- Pangolin — 可视化与 GUI
- OpenCV — 图像处理与特征提取
- Eigen3 — 线性代数库
- DBoW2 / g2o — 词袋模型与图优化(源码自带)
编译步骤(本地)
# 安装依赖
sudo apt install libglew-dev libboost-all-dev libeigen3-dev
# 编译
cd ORB_SLAM3_user
chmod +x build.sh
./build.sh
Docker 化部署
Docker 版本的优势在于环境完全隔离,不污染宿主系统, 且可以在不同机器间快速迁移。适用于需要在 M920q 宿舍服务器 和云服务器之间切换的场景。
# 构建镜像
cd orbslam3_docker_user
docker build -t orb-slam3 .
# 运行容器
docker run -it --gpus all -v /path/to/dataset:/data orb-slam3
学习路线
- 理解视觉 SLAM 基本概念(特征点、关键帧、局部建图)
- 在 EuRoC / TUM 数据集上运行 ORB-SLAM3
- 使用自己的相机录制 rosbag 并测试
- 阅读源码理解三大线程:Tracking、Local Mapping、Loop Closing
参考资源
ORB-SLAM3 GitHub、 《视觉 SLAM 十四讲》— 高翔、 ORB-SLAM3 论文