第一讲-引言
SLAM是什么?
Simultaneous Localization and Mapping,即同时定位与地图构建(建图)。指的是搭载特定传感器的主体在没有环境先验信息的情况下与运动过程中建立环境的模型同时估计自己的运动。说的是两件事:1.传感器在空间运动过程中,首先要把自己的运动估计出来,因为传感器不能直接把运动返回给你。2.在空间运动过程中,把环境是什么样子这件事情给描述出来。描述不一定是唯一的。如果是地图也叫地图,但是三维空间中一些离散的点,有时候用这些点来定位,这些点也可以叫做地图。地图模型不一定是固定的。运动模型简单一些,把当前位置在哪里,就可以把轨迹估计出来,这就是估计它的运动。如果同时估计传感器自身的运动,以及环境的先验信息,这件事情就是同时定位与地图构建,即SLAM。
SLAM 的应用环境
机器人,无人机,无人驾驶, AR 增强视觉、增强现实和虚拟现实。因为在很多应用环境里面,我们都希望知道自己在什么地方,这里在什么地方。
相关书籍和课程
- The Bible: Multiple View Geometry in Computer Vision(这个计算机视图中的多视图几何就是一个关于计算机就既有计算机视觉的知识的,也有这个测量几何的知识的啊。这个书写得的非常的全面,但是讲的东西实在是有点太多了,不易看懂,作为一个初学者,你进去之后就可能就迷失在一些细节的海洋里面了,因为它会讲很多细节方面的证明推导,它会讲这些东西,然后对于这个实践方面的指导又是比较有限的。)
- State Estimation for Robotics: A Matrix-Lie-Group Approach(机器人学的状态估计,这个书它对状态估计理论讲得非常清楚,特别是这个线性高斯系统,这个书理论来说理论是比较深的。)
- Probabilistic Robotics(一本经典的书,主要是讲二维的激光,跟视觉还是有一点距离)
配套代码
https://github.com/gaoxiang12/slambook
预备知识
C++的基本语法要知道,Linux需要知道它的一些基本的命令,比如说打开一个Linux,安装一下某个软件,看一下这个大部分Linux教材的那个前几章都会说这些事情都怎么做,也就是打开一个终端,然后一些命令,这个事情都自动的帮你做好了。
不要在 Windows 下面去操作