恭喜你发现宝藏
前言
终于来到了心心念念的SLAM学习环节,相信看到这篇文章的你也和我一样按耐不住心中的紧张与激动,那就一起开始卷吧!
在本篇我将简单概述SLAM14讲各个环节的最基本的知识,主要是帮你看看14讲都讲了啥。
想要进一步学习还是看书吧!
Let’s 冲冲冲!
第一讲 预备知识
SLAM:Simultaneous Localization and Mapping
中文名:同时定位与地图构建
基本定义:搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。
这里的传感器主要为相机,则为“视觉SLAM”
章节划分
整书分为两大部分:
- 视觉基础篇 1-6讲
- 实践应用篇 7-14讲
第1讲:预备知识
第2讲:SLAM系统概述,介绍SLAM组成模块,各模块具体工作。编程环境搭建以及IDE使用
第3讲:三维刚体运动,主要了解旋转矩阵,欧拉角,四元数,练习使用Eigon
第4讲:学习李群和李代数,定义及使用方式;练习使用Sophus操作
第5讲:针孔相机模型,图像在计算机中的表达;用OpenCV调用相机内外参
第6讲:非线性优化,包括状态估计理论基础,最小二乘问题,梯度下降法;使用Ceres和g2o进行曲线拟合实验
第7讲:基于特征点法视觉里程计,特征提取与匹配,对极几何约束的计算、PnP和ICP等。利用以上方法估计两个图像之间的运动。
第8讲:直接法视觉里程计,学习光流法和直接法原理,利用以上方法实现简单的直接法运动估计。
第9讲:后端优化,主要对Bundle Adjustment(BA)深入讨论,利用稀疏性加速求解过程,利用Ceres和g2o分别书写BA程序。
第10讲:后端优化中的位姿图,介绍SE(3),Sim(3)位姿图,使用g2o对一个位姿球进行优化
第11讲:回环检测,介绍以词袋模型为主的回环检测,使用DBoW3书写字典训练程序和回环检测程序
第12讲:地图构建,使用单目进行稠密深度图的估计,讨论RGB-D的稠密地图构建过程
第13讲:工程实践,搭建双目视觉里程计框架,综合运用之前的知识,利用Kitti数据集测试性能
第14讲:介绍当前开源SLAM方案以及未来的发展方向
需要具备的基础知识
- 高等数学、线性代数、概率论
- C++语言基础
- Linux系统基础
第二讲 初识SLAM
SLAM回答了两个关键问题:
- 我在什么地方?——定位
- 周围环境怎么样?——建图
传感器 Sensors
两类传感器:
安装于环境中的:二维码,GPS,
携带于机器人本体的:
对比激光和相机两大类传感器,激光建图基本上已经研究清楚,视觉SLAM还没有稳定可靠运行
摄像头:轻便、便宜、信息丰富
缺点:遮挡、受光照影响、计算量大、
单目,双目,深度相机(TOF/结构光)
经典视觉SLAM框架
- 传感器信息读取:在视觉SLA