《视觉SLAM》学习笔记(一)——ch1预备知识,ch2初识SLAM
课程视频地址【第二版】:https://www.bilibili.com/video/BV1D54y1G7f6
课程视频链接【第一版】:https://www.bilibili.com/video/BV16t411g7FR
课程github地址:https://github.com/gaoxiang12 【第一版、第二版的代码】
电子书下载见《学习笔记(一)》1.2节
【提示】无论使用哪个版本的纸质书,先去github上对照作者给的勘误文件,纠正一下书中的错误。
《视觉SLAM十四讲》学习笔记(二)——ch3 三维空间刚体运动
《视觉SLAM十四讲》学习笔记(三)——ch4 李群与李代数
《视觉SLAM十四讲》学习笔记(四)【敬请期待】
《视觉SLAM十四讲》学习笔记(五)【敬请期待】
…
Cmake官方文档:https://cmake.org/documentation/【选择自己安装的对应版本】
Eigen深入学习:https://eigen.tuxfamily.org/index.php?title=Main_Page
…
一、预备知识
1.1 视觉slam的应用
- 手持设备定位
- 自动驾驶定位
- AR(增强现实)
1.2 参考书目
- 《视觉SLAM十四讲》
- 《Multiple View Geometry in computer vision》
- 《STATE ESTIMATION FOR ROBOTICS》
三本电子书链接: https://pan.baidu.com/s/1JDbQxbHHse5MXHqvrDrZ7w 提取码: tuid
二、SLAM是什么
自主定位两大基本问题:
- 定位:对自身的了解
- 建图:对环境的了解
准确定位组要精确地图,精确地图来自准确定位
2.1 传感器类别
传感器是机器人感知外界的手段
- 内质:感受机器人本体信息——IMU、激光、相机等——自由部署
- 外质:安装于环境中——二维码Marker、GPS、导轨等——GPS需要接收卫星信号;Marker、导轨需要在环境安装使用
2.1.1 相机
相机:以一定速率采集图像、形成视频
分类:
- 单目相机(Monocular):无深度信息,需要借助其他手段估计
- 双目相机/立体相机(Stereo) :通过视差计算深度
- 深度相机(RGB-D) :通过物理方法测量深度
- 其他相机:全景相机、鱼眼相机、Event Camera等
特点:
- 以二维投影形式记录三维世界;缺失距离维度
- 相机运动时,可以通过视差确定深度
2.2 SLAM是什么
2.2.1 视觉slam框架
- 前端:visual odometry
- 后端:optimization
- 回环:loop closing
- 建图:mapping
2.2.2 slam问题的数学描述
- 运动: x k + 1 = f ( x k , u k ) + v k x_{k+1}=f(x_k,u_k)+v_k xk+1=f(xk,uk)+vk
- 测量: z k , j = g ( x k , y k ) + v k , j z_{k,j}=g(x_k,y_k)+v_{k,j} z