SLAM历史介绍
“舟师识地理,夜则观星,昼则观日,阴晦观指南针”,几个世纪以前的古人便利用观星术和指南针实现了大航海中位置和航向的标定,走出世代居住的大陆走向广袤的大海,探索新大陆。
上个世纪七十年代由美军研制并投入使用的GPS系统,实现了全球范围内10米的定位精度,综合定位精度在军用领域可达到厘米级和毫米级。
有着出色定位性能的GPS技术,在室内却无能为力。由于建筑物遮挡,配备GPS的手机在室内基本无法获取定位信息,更不用谈定位精度。
这就为室内SLAM带来了巨大挑战,各种室内定位和导航技术应运而生。
目前较为成熟的室内机器人SLAM方案
室内SLAM方案则根据其技术选型而有众多区别。在日常生活中,大家经常接触的多是iBeacon和WiFi室内定位两种技术,这两种方案均是基于2.4G射频技术,根据射频场强随距离衰减的模型计算距离,因为射频信号传播本身就受环境干扰不稳定。所以基于这个原理的测距也不会精确。针对iBeacon,苹果也是把结果放在一个大概范围内,分成Immediate、Near和Far三种。根据测试结果在3米内精度尚可,3米后基本无效。所以也多是用在仓储、商场、购物中心做粗略的楼层或位置判断。
若应用在室内机器人行走,则因为精度问题以及需要提前布置无线基站,实际效果与成本非常不尽人意。
2009年,成立于2005年的扫地机厂商Neato发布了一款成本极低的激光雷达,利用激光发射器与接收器之间的三角测距方法测得与障碍物之间的距离,激光测距传感器安装在电机上,通过旋转测得一圈360°范围内的距离,并基于此绘制室内地图。测距范围从20cm到6m,最大误差只有3cm,以30美金的超低价格在机器人圈中引起不小的轰动。
而在此之前,市面上诸多高精度的测距传感器价格(如图6)高达几千美金,用于无人车自动驾驶领域的激光雷达更是高达几万美金,致使激光雷达一直存在于各大科研院所的实验室中,未能真正进入大众的生活。
Neato一百美金的的激光雷达满足了机器人对测距传感器高性价比的需求,在此之后的几年内,国内诞生了众多基于此的激光雷达方案商。
从上图很容易发现,Neato采用的旋转式激光雷达采用的皮带传动,很容易老化,且激光测距模块位于旋转部件顶部,长时间转动磨损较为严重,而Neato在Amazon的用户评论也恰好证明了这一点:
按扫地机每天工作时间为2小时,则三年总计工作时间约为2000小时,即使行业内最早做室内机器人SLAM方案的Neato公司,其产品寿命也仅为两三千小时,满足室内机器人的高强度长时间运行似乎有些困难。
针对室内机器人SLAM方案,其他机器人厂商是怎么解决的
由MIT人工智能实验室的几位学生在1990年创立的iRobot,从2002年九月份推出第一款扫地机后在短短的两年内已卖出1百万台,截止到2012年,已卖出近8百万的家用机器人,这样一家行业巨头,在家用机器人上又是采用什么样的SLAM方案呢?
Roomba 980 是iRobot于2015年12月推出的最新一款采用vSLAM方案的扫地机,在扫地机顶部一颗斜向上45°的摄像头,摄像头通过vSLAM算法拾取和记录沙发中的大量特征点(尤其是物体的边角),并在运动过程中不断追踪这些特征点,同时不断检测新的特征点,由此建立一个环境地图。但是,为了定位自己当前的位置,必须要结合其他测距传感器,诸如陀螺仪、惯性导航设备等。
Virtual Wall 技术多出现于传统的非智能扫地机中,多是因为传统扫地机无法识别家庭环境,并建立一套行之有效的房间地图,当卧室或厨房或儿童房等某个房间不需要扫地机清扫时则可在其门口设立这样一个Virtual Wall模组,待扫地机行走到此处时,自动避开,人或动物则可畅通无阻。然而Roomba 980 不能依靠原有的vSLAM实现相关技术,而需另选Virtual Wall配件,则可见其vSLAM技术并没有建立真正的室内地图。
此外,vSLAM这种依托被动光源的导航方案,对光线要求较高,若光照条件不足,则会丧失导航的功能,进入到盲扫的状态。
在采用被动光源的vSLAM相关技术领域中,由于需要通过处理大量包含rgb信息的图像信息,一方面移动处理器的性能问题,另一方面相关算法的成熟度,不仅功耗较高,不适合移动机器人平台,并且精度十分有限,甚至无法识别近处的较为细小的桌腿等障碍物。
另一种方案来自Intel。在半年之前的CES展览上,生产3D深度传感器Realsense的Intel可谓煞费苦心,现场演示基于Realsense进行物体跟踪与视觉壁障的无人机,但很快即被吐槽其采用电影特效中常用的标记点方式作弊,究其根本原因还是Realsense这类3D视觉传感器处理数据时的高性能要求的同时产生的较高功耗。官方标称其最低支持的CPU为第四代英特尔酷睿处理器,而此处理器在运行3D视觉运算时的功耗则达15W甚至更高,虽然对于随随便便功耗就能到50W的笔记本电脑来说无足轻重,但是对于最大功率只有28W的室内扫地机器人来说有些十分奢侈。
让家家都有机器人
从上面的分析可以发现,为了能让智能机器人进入每个家庭,不仅需要一套完善且成熟的SLAM导航方案,还需要较为低廉的成本,然后究竟哪一种方案最为适合室内机器人,尤其是扁平化的扫地机呢?
表1 主流的两家扫地机厂商Neato、iRobot与Robotleo 2D Depth camera的参数对比
从表1不难发现,SLAM方案常见的几个参数中,Robotleo 2D Depth Camera均略占优势。
上图便是刚才提到的为机器人提供三维SLAM方案的Realsense,辅助进行物体识别、物体抓取等操作,配合Oculus Rift甚至能实现虚拟与现实世界的真实交互。
从图14和图15对比可以发现2D Depth Camera的优势。
-
2D Depth Camera所采用的线性结构光相较于Realsense所打出的面结构光:
- 首先从计算量上降低了很多,只需要廉价的芯片即可完成图形处理与距离计算;
- 其次采用市面上早已成熟的标准的线性结构光器件与摄像头模组,大大降低了相关的元器件成本,这也从根本上让2D Depth Camera从几百美金降到了只有几十美金,甚至在将来技术方案成熟后,成本将会进一步下降;
- 再者,中间的RGB摄像头通过特征点拾取帮助识别如鞋子、玩具等低矮的障碍物,让扫地机拥有真正的智能。
相较于Neato旋转激光雷达的方案,2D Depth Camera在稳定性与使用寿命方面得到了大幅提升,不再为SLAM模组的售后而担心。
也许很快,你买回家的扫地机将会是一台真正的智能机器人,而你只需要告诉它去卧室或厨房,它便会自己前往,完成特定区域特定时间的清扫工作,不再为它的傻萌而担心。
作者简介:王永涛,现就职于雷动云合,致力于让真正的智能机器人走入每个家庭,技术问题交流:[email protected]。