本文最后更新于2021年3月18日,已超过 4 个月没更新!

前言

近期,新版iPad Pro悄无声息的发布了...居然连一场发布会都不给,我还是刷油管看到广告才知道的...


图1 iPad Pro 第四代

除了那个让人惊艳的妙控键盘外,另一大最大的升级就是相机,这次搭载了一颗激光雷达(LiDAR)🌚,这个功能就我来说还是比较熟悉的,前段时间研究激光SLAM时,还在用实验室的激光雷达建过图。所以看到苹果搭载激光雷达的时大概知道这是要大力发展AR了,新版iPad pro完全可以作为一个视觉SLAM系统,先进的摄像头+LiDAR+IMU还有强大A12Z处理器。但看看价格,额...这一套配起来不得个小一万🌑...再看看我手上的Air3...嗯,真香!🍡🍹🍨
不管是建图、AR还是无人驾驶这其中少不了就是SLAM算法的运用。那么什么是SLAM呢?

什么是SLAM?

SLAM,Simultaneous LocalizationR.C. Smith及P. Cheeseman对空间资料不确定性的展现与估算 and Mapping,同步定位与地图构建,顾名思义就是机器人在位置环境之中进行环境地图构建和自身同步定位和的一套算法框架。我们可以从下图清晰地看到SLAM功能。


图2 机器人自主导航的三个关键步骤

希望机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。——维基百科

我对SLAM的理解

激光SLAM

SLAM算法起源于1986年R.C. Smith及P. Cheeseman对空间资料不确定性的展现与估算的工作中,之后历经三十多年不温不火的发展(主要应用于军事),在近几年室内机器人、无人驾驶、AR、VR等领域崛起的大浪潮下,SLAM也迎来了属于他的春天,得到了大力发展,16年Google开源的Cartographer更是把激光SLAM算法推向了巅峰,只要你有一个一千来块钱的激光雷达就可以实现准确的室内地图的构建。
目前激光SLAM算法已经非常成熟了,后人能做的工作也比较有限了,无非是修修补补。

视觉SLAM(VSLAM)

目前视觉SLAM成了研究的主流,VSLAM方案有多种,例如单目、双目、VIO等等,根据具体应用场合的特性选择适合方案进行以来实现预期的效果。VSLAM与深度学习(Deeping Learning)的结合让人有无限期待,或许可以解决一些传统视觉难以解决的问题,进而提高算法的鲁棒性和建图的精度。
若在未来VSLAM可以和激光SLAM的精度相媲美,那必定孵化出更多商用产品出现在我们的生活,毕竟摄像头可比激光雷达便宜多了😂。
而在实际工程中,SLAM问题严格来说是一个多传感器融合的问题,为了提高机器人系统的鲁棒性,必然要将多个传感器信息进行融合优化。

语义SLAM(Semantic Mapping)

传统的SLAM提供环境结构信息和自身位置信息太简单,只是点、线、面的几何关系形式,语义级别太低;因此融入物体识别、目标检测、语义分割等技术的语义SLAM能够增加机器人对于内容的理解。


图3 语义SLAM

目前,语义SLAM研究主要分为两部分。
1. 语义信息辅助SLAM定位,例如特征提取、动态物体剔除等,增强SLAM算法鲁棒性,提高定位精度;
2. 语义信息用于构建语义地图,为机器人的人机交互提供高层次的地图,提高机器人自主理解的能力。

现在的工作还比较初步,很多思路还没有打开,但可以预见未来几年工作会越来越多。
语义SLAM的难点在于怎样设计误差函数,将Deep Learning的检测或者分割结果作为一个观测,融入SLAM的优化问题中一起联合优化,并且还要尽可能做到GPU实时。

总结

做SLAM理论方向感觉难度还是很高的,对数学要求很高,最近也在恶补群论的知识(之前从来没学过😞)。
我目前对于SLAM的研究主要还是激光SLAM的应用层面。基于Cartographer SLAM算法、A*全局路径规划算法和DWA 局部路径规划算法搭建机器人自主导航系统,并进行移动机器人实物的搭建,在实地环境下对自主导航系统的性能进行测试,这是我目前的主要工作。
未来硕士阶段如果继续研究SLAM方向的话,我的方向大概率会是深度学习和语义SLAM吧。
怕什么真理无穷,进一步有一步的欢喜。


Try and fail, but don't fail to try.