前言
什么是SLAM?SLAM,也称为CML, 即时定位与地图构建,或并发建图与定位。我们都知道机器人在未知环境中,要实现智能化需要完成三个任务,第一个是定位(Localization),第二个是建图(Mapping),第三个则是随后的路径规划(Navigation)。
实际生活中的SLAM都是和激光雷达或者单目/双目摄像头结合的形式出现在我们面前的,有时甚至跟更多的传感器融合,这让很多人觉得这个技术不是一两句话能概括清楚的,但当我们熟悉完它在每一个领域的应用啊,就会明白SLAM,原来是这样一个东西,而且会比我们所想象的要重要的多。
两年前,扫地机是它的代言人
若是两年前有人跟我们提SLAM技术的话,很多人的印象是那个是用在室内移动机器人上的技术,如果非要找个刚需场景的话,扫地机那边画图边扫地的样子简直是最好像向陌生人解释这东西有多牛掰的神器。
但是,谁也没料到,两年后,因为计算机视觉技术的快速发展,用夸张点的说法,就像移动互联网时代的手机地图定位一样,只要是跟位置相关的生意,谁抛弃了这张地图,谁将抛弃了自己的未来。
SLAM的世纪意义
至于SLAM技术为什么这么重要,用SLAM技术发烧友Guang Ling的话说。
一个机器人也好,无人汽车也好,其中最核心,最根本的问题有四个,定位技术(Localization), 跟踪技术(Tracking), 路径规划技术(Path Planning), 还有就是控制技术(Controlling)。
若是手机离开了WIFI和数据网络,就像无人车和机器人,离开了SLAM一样。但对于AR和AI来说,因为这两个品类非常宽泛,所以,SLAM对其影响,就相对比较有限。
它正在入侵这些领域
一个技术重要的最好证据,就是看见它正在在各个领域深入应用,并且各个领域都视它为未来,下面我们从这四个时下最热的领域一窥它的火爆。
1)室内机器人
扫地机要算机器人里最早用到SLAM技术这一批了,国内的科沃斯、塔米扫地机通过用SLAM算法结合激光雷达或者摄像头的方法,让扫地机可以高效绘制室内地图,智能分析和规划扫地环境,从而成功让自己步入了智能导航的阵列。
2)AR
目前基于SLAM技术开发的代表性产品有微软的Hololens,谷歌的Project Tango以及同样有名的Magic Leap,后者4月20号公布它的新一代水母版demo后,国内的AR公司更加看到了这个趋势,比如进化动力近期就公布了他们的SLAM demo, 用一个小摄像头实现VR头显空间定位。很多VR应用需要用到SLAM技术,定位只是一个feature,路径记录、3D重构、地图构建都可以是SLAM技术的输出。
3)无人机
国内大家非常熟悉的大疆精灵四避障用的双目视觉+超声波,一位大疆工程师徐枭涵坦率承认:“P4里面呈现的主动避障功能就是一种非常非常典型的Slam的弱应用,无人机只需要知道障碍物在哪,可以进行 Planning,绕开障碍物。”
而近期另一个号称刷爆美国朋友圈的hover camera无人机,因为其创始人的的计算机视觉背景,正式把SLAM技术应用进来了,在介绍他们无人机的主要产品技术时,提到了SLAM(即时定位与地图构建):通过感知自身周围环境来构建3D增量式地图,从而实现自主定位和导航。
SLAM技术在AR上的应用 跟机器人不一样吗?
既然SLAM技术如文章SLAM的世纪意义所说,它对于机器人是个通用技术,要更深入的了解它,你只能通过它在不同领域应用的异同来比较,你才会知道它到底是个什么东西。
关于SLAM技术在AR行业的应用,跟在机器人上使用时有什么不同的地方。Watchhhh Slam创始人刘博士在接受arinchina采访的时候曾给出了很好的答案,这里就不重复了:请加工业智能化微信号:robotinfo 学习工业智能化知识
1) 精度上,AR一般更关注于局部精度,要求恢复的相机运动避免出现漂移、抖动,这样叠加的虚拟物体才能看起来与现实场景真实地融合在一起;机器人一般更关注全局精度,需要恢复的整条运动轨迹误差累积不能太大,循环回路要能闭合,而在某个局部的漂移、 抖动等问题往往对机器人应用来说影响不大。
2) 效率上,AR需要在有限的计算资源下实时求解,人眼的刷新率为24帧,所以AR的计算效率通常需要到达30帧以上; 机器人本身运动就很慢,可以把帧率降低,所以对算法效率的要求相对较低。
3) 配置上,AR对硬件的体积、功率、成本等问题比机器人更敏感,比如机器人上可以配置鱼眼、双目或深度摄像头、高性能CPU等硬件来降低SLAM的难度,而AR应用更倾向于采用更为高效、鲁邦的算法达到需求。
* 关于SLAM技术在AR行业的应用,跟在无人机行业的应用有什么不同的地方。无人机范围大,精度要求没那么高,有其他的光流、超声波传感器的辅助;而应用在AR的话,AR的帧率要求高,定位要求更高,对体验也要求更高。
关于SLAM技术在无人机行业的应用,跟在无人车行业的应用有什么不同的地方。Velodyne激光雷达的老翁接着表示:关于无人车和无人机中,Slam的区别,最大的区别是二维和三维。无人车是二维,无人机是三维。SLAM在二维世界中,有三个量,x轴,y轴,和方向角。三维世界中,会复杂很多,有6个量,x,y,z,roll,yaw,pitch。就是说,在确定位置时,无人机要多确定三个量,相应的计算量会大很多。但是原理仍然是一样的。
关于SLAM技术在机器人行业的应用,跟在无人车行业的应用有什么不同的地方。Velodyne激光雷达的老翁表示:SLAM在无人驾驶中的应用和移动机器人中的应用,从原理上讲,没有任何区别,无人驾驶汽车,就是移动机器人中的一种。sabastian教授的《Aritificial Inteligence for Robot》教程中,直接把无人驾驶汽车,叫做移动机器人。
用摄像头和激光雷达 区别在哪里?
很多人注意到,同一个行业的SLAM应用,有人用相对传统的激光雷达技术,有人用号称必定是未来趋势的计算机视觉技术(单目+双目摄像头),以室内机器人为例,它们的区别在哪里呢?
区别应该从传感器分,再从算法上分,他们精度上目前能做到差不多,激光相对要稳定一些,而帧数,视觉要快很多,比如比30针(人眼上限)要快很多,毕竟每秒出数不同,配置的话,现在激光雷达也有平价华的方案了,配置要求都不是那么高。
而以无人机为例,不管精灵四还是Hover camera的SLAM,各家都要在SLAM技术上结合额外的超声波或者光流技术定位,雷锋网问邱纯鑫这是不是表明纯SLAM技术有硬伤,邱纯鑫表示:纯SLAM算法是有些问题的,比如基于已经地图的SLAM还是基于未知环境的SLAM,后者就有难度。
小结:
从上面SLAM在各大领域的小荷才露尖尖角,我们已经嗅到了SLAM将在各个领域全面入侵的苗头。
有了它,将让真正的智能机器人触手可及。
有了它,无人机将不再依赖于鸡肋的色块识别。
有了它,Magic Leap 这样的AR神话将变成现实。
……
如果仅仅是一个无人机行业,借用大疆那位工程师的经典点评“所有的关于无人机的梦想都建立在SLAM之上”,那其它行业SLAM将带给我们怎样的震撼,你能预见吗?