#

SLAM


SLAM

SLAM 是 Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与 地图构建”。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过 程中建立环境的模型,同时估计自己的运动 。如果这里的传感器主要为相机,那就称为 “视觉 SLAM”

推荐书籍

[1] R. Hartley and A. Zisserman, Multiple View Geometry in Computer Vision. Cambridge university press, 2003.
[2] S. Thrun, W. Burgard, and D. Fox, Probabilistic robotics. MIT Press, 2005.
[3] T. Barfoot, “State estimation for robotics: A matrix lie group approach,” 2016.

概览

  • 第一部分为数学基础篇

    • 第二讲为 SLAM 系统概述,介绍一个 SLAM 系统由哪些模块组成,各模块的 具体工作是什么。实践部分介绍编程环境的搭建过程以及 IDE 的使用。
    • 第三讲介绍三维空间运动,你将接触旋转矩阵、四元数、欧拉角的相关知识,并 且在 Eigen 当中使用它们。
    • 第四讲为李群和李代数。如果你现在不懂李代数为何物,也没有关系。你将学 习李代数的定义和使用方式,然后通过 Sophus 操作它们。 - 第五讲介绍针孔相机模型以及图像在计算机中的表达。用 OpenCV 来调取相机的内外参数。
    • 第六讲介绍非线性优化,包括状态估计理论基础、最小二乘问题、梯度下降方法。使用Ceres和g2o进行曲线拟合的实验。
  • 第二部分为 SLAM 技术篇。

    • 第七讲为特征点法的视觉里程计。该讲内容比较多,包括特征点的提取与匹配、 对极几何约束的计算、PnP 和 ICP 等。在实践中,将用这些方法去估计两个图像之间的运动。
    • 第八讲为直接法的视觉里程计。你将学习光流和直接法的原理,然后利用 g2o 实现一个简单的 RGB-D 直接法。
    • 第九讲为视觉里程计的实践章,将搭建一个视觉里程计框架,综合应用先前学过的知识,实现它的基本功能。从中你会碰到一些问题,例如优化的必要性、 关键帧的选择等。
    • 第十讲为后端优化,主要为 Bundle Adjustment 的深入讨论,包括基本的 BA 以及如何利用稀疏性加速求解过程。将用 Ceres 和 g2o 分别书写一个 BA 程 序。
    • 第十一讲主要讲后端优化中的位姿图。位姿图是表达关键帧之间约束的一种更 紧凑的形式。你将用 g2o 和 gtsam 对一个位姿球进行优化。 - 第十二讲为回环检测,我们主要介绍以词袋方法为主的回环检测。你将使用dbow3 书写字典训练程序和回环检测程序。
    • 第十三讲为地图构建。我们会讨论如何使用单目进行稠密深度图的估计(以及 这是多么不可靠) ,然后讨论 RGB-D 的稠密地图构建过程。你会书写极线搜索 与块匹配的程序,然后在 RGB-D 中遇到点云地图和八叉树地图的构建问题。
    • 第十四讲主要介绍当前的开源 SLAM 项目以及未来的发展方向。

文章作者: 王胜鹏
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 王胜鹏 !
评论
 上一篇
非线性优化 非线性优化
非线性优化 状态估计问题 最大后验与最大似然 经典slam模型: {xk=f(xk−1,uk)+wkzk,j=h(yj,xk)+vk,j\begin{cases} \boldsymbol{x}_k=f(\boldsymbol{x}_{k-
2022-01-04
下一篇 
位姿的数学描述 位姿的数学描述
旋转矩阵 相机可以看成三维空间的刚体,于是位置是指相机在空间中的哪个地方,而姿态则是指相机的朝向。 内积可以描述向量间的投影关系。 外积表示向量的旋转。 a×b=[ijka1a2a3b1b2b3]=[a2b3−a3b2a3b1−a1b3a1
2022-01-04
  目录