SLAM笔记

SLAM笔记

    • 第一部分 初识SLAM
      • SLAM是什么? SLAM应用有什么?
      • SLAM问题的数学表述
      • SLAM分类、相关理论知识、学习资源、研究方向
    • 第二部分 视觉SLAM(深蓝)
      • 视觉SLAM传感器
      • 经典视觉SLAM框架
      • 另一种SLAM数学表述的思路
      • 三维空间刚体运动
      • 李群与李代数
      • 相机模型
      • 非线性优化
      • 视觉里程计
        • 特征点法
        • 直接法
      • 后端
      • 回环检测
      • 建图
      • 编程基础
        • cmake
        • Eigen
        • Sophus 李代数
        • OpenCV
    • 第三部分 激光SLAM
      • 概率机器人——滤波理论
        • 概率机器人与递归状态估计
        • 贝叶斯滤波
        • 高斯/参数滤波
        • 非参数滤波
      • 概率机器人——运动与感知
        • 机器人运动——状态转移
        • 机器人感知——测量更新
      • 激光SLAM——概述
      • 激光SLAM——数据处理
        • 里程计运动模型及标定
        • 激光雷达数学模型和运动畸变去除
      • 激光SLAM——前端配准
      • 激光SLAM——后端
      • 激光SLAM——建图
      • 概率基础
    • 参考文献

第一部分 初识SLAM

SLAM是什么? SLAM应用有什么?

  1. SLAM(Simultaneous Localization and Mapping),即同时定位与地图构建。主要解决如下两个问题:
    机器人在哪里
    机器人周围环境如何
  2. SLAM可以用于手持设备定位、AR、自动驾驶等领域。

SLAM问题的数学表述

  1. 机器人与环境的交互包括控制和感知两部分(图2.1)。
  2. 控制数据带来了环境和状态的改变(不确定性的升高),感知数据则收集了环境的暂态信息(增加信息,不确定性的降低)。
  3. 机器人同步定位与建图的过程主要包括(满足马尔科夫假设,图2.2)
    a 通过前一时刻已知状态和当前时刻控制,来推测当前时刻的状态,称为状态转移或运动
    b 通过计算的当前时刻的状态,判断是否符合当前的观测,称为测量更新或观测。
  4. SLAM要做的即是根据控制和测量,估计状态(位姿+环境)
    SLAM笔记_第1张图片SLAM笔记_第2张图片SLAM笔记_第3张图片

SLAM分类、相关理论知识、学习资源、研究方向

  1. 按应用场景分类
    SLAM笔记_第4张图片
    按应用场景主要分为静态环境下的SLAM和动态环境下的SLAM。
    静态环境SLAM中,常见的是度量地图、拓扑地图及其混合地图下的SLAM算法。拓扑地图对于大地图下的路径规划是友好的。用的较多的是度量地图,其中,以滤波和图优化为基础的两类SLAM研究较多。
    基于滤波的SLAM,考虑单一时刻的状态,较大的场景地图下,无法较好地消除误差,以此为基础的gmapping也存在大地图效果一般的情况。基于图优化的SLAM,如cartographer,效果好。
  2. 按传感器类型分类(见计算机视觉公众号life)SLAM笔记_第5张图片
  3. 研究方向(见计算机视觉公众号life)SLAM笔记_第6张图片

第二部分 视觉SLAM(深蓝)

视觉SLAM传感器

  1. 单目相机 Monocular camera
    通过移动相机获取相机本身运动及场景物体结构。方式是:相邻帧的图像,通过运动产生视差,能够获得一个相对的深度,所谓相对是指尺度不确定性。
  2. 双目相机 Binocular camera
    间接获取真实深度信息及场景物体结构。方式是:通过双目间的基线来推算。同时,其标定和配置复杂,占用计算资源大。
  3. 深度相机 RGB-D
    直接获取真实深度信息即场景物体结构。方式是:红外结构或TOF。同时,其测量范围窄、噪声大、光干扰、透射材质以及涉及到多个RGB-D相机时的调制。

经典视觉SLAM框架

SLAM笔记_第7张图片

  1. 传感器数据
    这一块实际上不是SLAM的内容。其中也会包括数据同步的问题。

  2. 视觉里程计(特征点法/直接法)
    相邻时刻图像(传感器数据)→相邻时刻相机运动和场景空间结构→累计漂移(后端问题&回环检测)
    SLAM笔记_第8张图片

  3. 后端优化
    有噪声的数据(来自前端)→估计系统状态(位姿+环境)&状态不确定性(最大后验概率)→全局一致性

  4. 回环检测
    地图漂移、累计误差→认识到重复经过某个位置,辅助构建全局一致的地图,辅助进行重定位

  5. 地图
    度量地图(稀疏sparse/稠密dense/半稠密semi-dense)/拓扑地图,根据实际选择,考虑存储空间、一致性问题、场景等等。

另一种SLAM数学表述的思路

本质是一样的。
SLAM笔记_第9张图片

三维空间刚体运动

  1. 相机的刚体运动
    相机的运动是一个刚体运动,是世界坐标系和相机移动坐标系之间的变换运动,包括平移和旋转两部分。
  2. 平移t
    在这里插入图片描述
  3. 旋转
    SLAM笔记_第10张图片
    SLAM笔记_第11张图片
  4. 欧式变换与齐次坐标
    在这里插入图片描述
  5. 相似变换/仿射变换/射影变换

李群与李代数

  1. 李群与李代数定义
    SLAM笔记_第12张图片
  2. 李群与李代数的转换(指数与对数映射)
    SLAM笔记_第13张图片
  3. 李代数求导与扰动模型
    SLAM笔记_第14张图片
    SLAM笔记_第15张图片
    SLAM笔记_第16张图片SLAM笔记_第17张图片
    SLAM笔记_第18张图片
  4. 李群与李代数的重要数学性质:习题56
    在这里插入图片描述

相机模型

SLAM笔记_第19张图片
SLAM笔记_第20张图片
SLAM笔记_第21张图片

  1. 全局快门/卷帘快门 https://blog.csdn.net/captain_cs/article/details/107913856
  2. 张正友相机单目标定
    借助MATLAB
    标定原理,OpenCV函数解析

非线性优化

SLAM笔记_第22张图片
SLAM笔记_第23张图片
SLAM笔记_第24张图片
SLAM笔记_第25张图片

视觉里程计

特征点法

SLAM笔记_第26张图片
SLAM笔记_第27张图片
SLAM笔记_第28张图片
SLAM笔记_第29张图片
SLAM笔记_第30张图片
SLAM笔记_第31张图片
SLAM笔记_第32张图片

直接法

后端

SLAM笔记_第33张图片
SLAM笔记_第34张图片
SLAM笔记_第35张图片
SLAM笔记_第36张图片

回环检测

SLAM笔记_第37张图片
SLAM笔记_第38张图片
SLAM笔记_第39张图片
SLAM笔记_第40张图片

建图

SLAM笔记_第41张图片
SLAM笔记_第42张图片

编程基础

cmake

SLAM笔记_第43张图片

Eigen

SLAM笔记_第44张图片
SLAM笔记_第45张图片

Sophus 李代数

SLAM笔记_第46张图片

OpenCV

SLAM笔记_第47张图片
SLAM笔记_第48张图片

第三部分 激光SLAM

概率机器人——滤波理论

概率机器人与递归状态估计

SLAM笔记_第49张图片
SLAM笔记_第50张图片

贝叶斯滤波

SLAM笔记_第51张图片

高斯/参数滤波

SLAM笔记_第52张图片
SLAM笔记_第53张图片
SLAM笔记_第54张图片
SLAM笔记_第55张图片
SLAM笔记_第56张图片

非参数滤波

SLAM笔记_第57张图片
SLAM笔记_第58张图片
SLAM笔记_第59张图片

概率机器人——运动与感知

机器人运动——状态转移

SLAM笔记_第60张图片
SLAM笔记_第61张图片
SLAM笔记_第62张图片
SLAM笔记_第63张图片
SLAM笔记_第64张图片
SLAM笔记_第65张图片

机器人感知——测量更新

SLAM笔记_第66张图片
SLAM笔记_第67张图片
SLAM笔记_第68张图片
SLAM笔记_第69张图片
SLAM笔记_第70张图片
SLAM笔记_第71张图片
SLAM笔记_第72张图片

激光SLAM——概述

SLAM笔记_第73张图片
SLAM笔记_第74张图片
SLAM笔记_第75张图片

激光SLAM——数据处理

里程计运动模型及标定

  1. 里程计模型
    SLAM笔记_第76张图片SLAM笔记_第77张图片SLAM笔记_第78张图片
  2. 里程计标定
    在这里插入图片描述

激光雷达数学模型和运动畸变去除

SLAM笔记_第79张图片
SLAM笔记_第80张图片
SLAM笔记_第81张图片
SLAM笔记_第82张图片

激光SLAM——前端配准

激光SLAM——后端

激光SLAM——建图

概率基础

SLAM笔记_第83张图片
SLAM笔记_第84张图片

参考文献

  1. 《概率机器人》 曹玉红 译 Thrun 著 机械工业
  2. 《视觉SLAM十四讲 从理论到实践 2》 高翔 电子工业
  3. 《矩阵论教程 第2版》 张绍飞 机械工业
  4. 《学习OpenCV3》阿丘科技 清华大学

视频

  1. 《激光SLAM》 曹书格 深蓝学院
  2. 《视觉SLAM》 高翔 深蓝学院
  3. 《SLAM与无人驾驶》 小象学院 哔哩哔哩

公众号

  1. 计算机视觉life

文章

  1. cv::Mat初识和它的六种创建方法
  2. 全局快门/卷帘快门
  3. 相机标定 借助MATLAB
  4. 相机标定原理,OpenCV相关函数解析
  5. 关于传感器融合时间同步问题的解释
  6. 非极大值抑制
  7. 角点的响应值,p的t最大值为其响应值

你可能感兴趣的:(SLAM,c++,slam)