视觉slam14讲学习笔记 (第2讲—初识SLAM)

视觉SLAM14讲——第1讲:前言

本文将的是第2讲内容,内容囊括:

1.SLAM 框架中的模块构成,各模块任务;

2.编程环境搭建;

3.Linux编译程序;

4.cmake基本使用;

 

上一讲中提到过SLAM的任务是定位(明白自身状态)和 建图 (了解外在环境);

涉及定位的传感器可分为如下两类

一、安装于机器人本体;

轮式编码器;(测轮子角度)

相机;

激光;

IMU;(测运动角速度和加速度)

双目;

……

特性:间接测量位置信息,没有对环境提出任何要求,方案适用于未知环境;

二、安装于环境;(这类传感器可直接测量到机器人位置信息)

导轨;

二维码标志;

GPS;

……

特性:简单,直接测量位置信息,受外部环境约束,无法提供通用解决方案;

 

视觉SLAM涉及的传感器主要是指相机解决定位和建图问题;

 按照相机工作方式,相机可分为:单目(Monocular)、双目(Stereo)、深度相机(RGB-D)

其中RGB-D相机可获取每个像素离相机的距离。

相机还有全景相机,Event相机等~

单目相机:只使用一个摄像头进行SLAM 的做法称为单目SLAM(Monocular SLAM)。这种传感器结构特别的简单、成本特别的低,所以单目SLAM 非常受研究者关注。在单目相机中,我们无法通过单个图片来计算场景中物体离我们的距离(远近)。缺陷是通过单张图像无法确定深度;

想要恢复二维图像中目标的三维结构信息,必须移动相机的视角形成视差,因此单目SLAM中必须移动相机才能估计运动,才能估计物体的结构(远近和大小);

尺度不确定性:把相机运动和场景大小同时放大两倍,单目看到的像是一样的,即乘以任意倍数,看到一样的景象,说明单目SLAM估计的轨迹和地图将和真实轨迹地图相差一个因子,即尺度。

总之缺点:无深度信息,尺度不确定性问题;

 

双目相机(stereo)和深度相机:

这两种相机目的在于获取物体深度信息,如果知道距离,场景三维结构可通过单个图像恢复,消除了尺度不确定性。这两种相机测量深度的原理不一样。

双目相机:由两个单目相机组成,两个相机之间的距离(称为基线 Baseline)是事先知道的;基线距离越大,能够测量地越远,距离估计是比较左右眼图像获得的,适用于室内与室外,

缺点配置和标定复杂,深度量程和精度受双目基线与分辨率限值,视差计算耗资源,需GPU和FPGA才能实时输出整图的距离信息。

深度相机(RGB-D)

原理:结构光或者 Time-of-Flight(ToF),像激光一样,通过向物体发射光并接受返回的光,测量物体离相机的距离。通过物理测量手段,相比双目的软件计算方式节省了大量的计算量。属于主动测量,功耗大,深度值较准确。

RGB-D常见产品:Kinect/Kinect V2、Xtion live pro、Realsense等;

缺点:测量范围窄、噪声大、视野小、易受日光干扰、无法测量透射材质等问题;

2.2 经典视觉SLAM框架

1. 传感器信息读取,主要是图像信息,(机器人中海油码盘,惯性传感器等)

2. 视觉里程计(VO),估算相邻图像间相机运动,以及局部地图样子;

   叫它“里程计”是因为它和实际的里程计一样,只计算相邻时刻的运动,而和再往前的过去信息没有关联。只要把相邻时刻的运动串起来,就构成机器人的运动轨迹,解决了定位问题。根据每个时刻相机位置,计算各像素对应的空间点的位置,就得到了地图。然而不可避免出现累计漂移。为了解决漂移问题,需要后端优化和回环检测;该块属于前端,和计算机视觉相关,比如图像特征提取与匹配等;

 

3. 后端优化(Optimization), 接受不同时刻VO测量的相机位姿,以及回环检测信息,得到全局一致的轨迹和地图;处理SLAM中的噪声问题,后端优化要考虑的是如何从带有噪声的数据中,估计整个系统的状态,以及这个状态估计的不确定性有多大——这称为最大后验概率估计(Maximum-a-Posteriori,MAP),这个状态包括机器人自身轨迹也包含地图。该块主要是滤波与非线性优化算法。

4. 回环检测(Loop Closing),判断机器人是否曾经到过先前的位置,如果检测到回环,会把信息提供给后端进行处理;主要解决位置估计随时间偏移的问题,为了实现回环检测,需要让机器人具有识别曾到达过的场景的能力,例如可以判断图像间的相似性来完成回环检测。视觉回环检测实质是一种计算图数据相似性的算法。将“A”和“B”是同一点这信息告诉后端优化算法,后端根据这些信息把轨迹和地图调整到符合回环检测结果的样子,消除累计误差。

5. 建图(Mapping),根据估计的轨迹,建立与任务要求对应的地图;

 地图形式随SLAM应用场合而定,大体可分为:度量地图拓扑地图两种;

度量地图(Metric Map):强调精确表示地图中物体的位置关系,分为稀疏(Sparse)稠密(Dense)稀疏地图选择一部分路标(landmark)来组成地图,忽略其他不相关信息;稠密地图着重建模所有看到的东西;

定位时选择稀疏路标地图;

导航时选稠密地图;

 

拓扑地图(Topological Map):强调地图元素之间的关系,是一个Graph,由节点和边组成,只考虑节点间的连通性。

 

 

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值