视觉SLAM14讲学习笔记(持续更新中)

文章目录:

第一讲 预备知识

第二讲 初始SLAM

第三讲 三维空间刚体运行


第一讲 预备知识

书的简介以及书中约定的一些描述等

再漂亮的数学理论,如果不能转化为可以运行的代码,那就仍是可望而不可即的空中楼阁,没有实际意义。

轮式编码器会测到轮子转到的速度,IMU测量运动的角速度和加速度,相机和激光传感器则读取外部环境的某种观测数据。

SLAM特指:特指搭载传感器的主体,在没有环境先验的信息情况下,在运动过程中建立环境模型,通过估计自己的运动。

SLAM的目的是解决两个问题:1、定位 2、地图构建

本书代码例子 :https://github.com/gaoxiang12/slambook

第二讲 初始SLAM

相机的种类分为: 单目(Monocular)、双目(Stereo)、深度相机(RGB-D)

单目相机 只使用一个摄像头进行SLAM的做法叫做单目SLAM(Monocular SLAM),结构简单,成本低。

单目SLAM 估计的轨迹和地图,与真实的轨迹和地图之间相差一个因子,这就是所谓的尺度(scale)由于,单目SLAM无法凭借图像来确定真实的尺度,又称为尺度不确定

单目SLAM 的缺点:1、只有平移后才能计算深度 2、无法确定真实的尺度。

 

双目相机和深度相机的目的是,通过某种手段测量物体离我们之间的距离。如果知道这个距离,场景的三维结构就可以通过这个单个图像恢复出来,消除了尺度不确定性。

视觉SLAM14讲学习笔记(持续更新中)_第1张图片

 

视觉slam的路程分成以下几步:

1、传感器信息的读取。

2、视觉里程计(Visual Odometry,VO)视觉里程计的任务是,估算相邻图像之间相机的运动,以及局部地图。VO也称为前端(Front End).

3、后端优化(Optimization)后端是接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息。(Back End)

4、回环检测(loop Closing)。回环检测是判断机器人是否或者曾经到达过先前的位置。如果检测到回环,它会吧信息提供给后端进行处理

5、建图(Mapping),他根据估计出的轨迹,建立与任务要求的对应的地图。

在Linux中,库文件分为静态库和共享库两种,静态库以.a作为后缀名,共享库以.so结尾。所有库都是一些函数打包后的集合,差别在于静态库每次被调用都会生成一个副本,而共享库则只有一个副本,更省空间。

第三讲 三维空间刚体运行

旋转矩阵可以描述相机的旋转。

 

你可能感兴趣的:(学习笔记)