思岚科技CEO陈士凯SLAM是什么?
最近一两年,可能“SLAM”这个单词已经被很多人认识。
SLAM 也是我们公司名字(思岚)的音译,叫同步定位与建图,能进行自主定位和地图构图。不过它本质上并不是简简单单完成定位和导航,SLAM 在模型上可以保证机器人在完成定位和建图之间没有误差。
换句话说,SLAM 和解决机器人的自主定位导航还有比较大的差距,这个差距就在于还要做两件事情——路径规划和运动控制。
路径规划,耳熟能详的是 A STAR 的算法,很多行业都在用,包括即时战略游戏。机器人在目前实际产品中,都会以 A STAR 为主。
除了 A STAR 以外还有随机探测速的方式,是随机的路径探索。这种方式的好处是在一定的概率情况下,可以比 A STAR 更高效的探索空间。但这两种方式只是解决巡路问题,要自主行走还要控制行为,防止机器人绕行,或躲避障碍物。
现在机器人的避障,叫动态窗口化。它更加像人一样,会在每时每刻判断机器人下一时刻可以展开的行动,避开具体的障碍物。除此以外,导航这件事并不是前面看到的从A点到B点这么简单。
另一个应用的点就是中用到的算法,COVERAGE PROBLEM。它是尽可能让机器人覆盖到所有区域,而路径规划或者 A 点到 B 点的行动是让机器人尽可能到达目的地,这代表不同的行为方式。
在实际使用当中,还会有一些看上去比较次要,但应用中又非常关键的技术。比如这里看到的自主充电对接过程,这些过程也和前面说的路径规划算法有一定的并列性。
目前为止,以国内的情况看,的应用分两类。
第一类,家里都会买到的扫地机器人,以及家庭看护、陪伴型机器人。这类的应用场景,一句话概括,零配置。对于消费者使用来说,要做到尽可能极简,买回来就能使用。第二类,在商业场景下,讲究的是一个预先配置过程,并且对于这种方案,讲究的是高的可靠性和可扩展性。
家庭场景需要解决的问题
个人家庭场景导航定位系统要解决的是三方面的问题——功耗、体积、成本。对于消费级别的产品,更关注的是怎么样把同样的功能以更低的代价,这里指的是价格或者开发周期或者使用难易度,变成一个具体的产品。
思岚科技曾经做过一些努力。比如成本问题上,现在低成本激光雷达已经可以一部分解决导航定位使用成本的问题。
除了成本问题以外,还有很多其他亟待解决的问题。
在机器人实际产业化之前,研究机构的机器,都摆脱不了一个共同的特点他们头上都装了一个笔记本电脑或者一个工控主机。这里要解决就是功耗问题。
我们知道目前无论 SLAM 的算法还是路径规划系统,复杂度都比较高。拿现在主流的笔记本电脑跑都有点吃力。目前 SLAM 里面的凸优化算法都不可能在线进行运作,必须靠离线式进行运算。把技术使用到实际产品中的时候就会遇到问题。
比如我们这里给出的是上百瓦的级别,一个扫地机器人,电池本身的容量可能只有20多瓦时的规模。意思是我现在如果让扫地机器人上装一个笔记本跑 SLAM 算法,可能一个小时不到就没有电了,这是完全不被接受的。
思岚科技的解决方式是通过高度算法优化和集成,把导航定位系统的体积和运算性能负荷上做到最小。现在在硬币大的 SLAM WARE 里面可以实现传统信息机和开源算法,在功耗情况下,我们可以在 2 瓦下完成 SLAM 规划所有事情,体积和发热情况都可以有很大的改善。
我们做了一些案例。比如现在最新发布的一个开源参考平台,基于激光雷达和导航定位系统的。这是目前能实现的最小具有激光自主定位导航的机器人,它的特点是只需要干电池就可以供电,并且实现两个小时以上的待机时间。前面功耗的问题就可以达到很大的解决,实际产品中,现在不会让用户使用干电池,很多用户会使用可充电式的锂离子电池,让机器人可以实现 8 小时以上的待机时间。
另一方面,在实际使用场景下,前面说过机器人在家庭情况下要以零配置的使用。对于导航定位问题来说,机器人开机以后对家里的环境构造是完全不知道的,而前面提到的路径规划算法都有一个共同的要求,需要把地图预先绘制出来。
这时候是一个矛盾点,我既希望这个机器人在环境位置的时候展开工作,但一些主流算法还是需要对于地图或者环境有一个预先的构建或者预先的探索,才可以展开一些算法。这里面产业界就需要做一些额外的工作,这是现在 SLAM WARE 系统里支持的路径规划系统,可以在地图甚至完全未知和部分未知就可以展开行动。
这和玩《星际争霸》一样,可以给一个初级的路径规划,随着机器人探索,路径可以逐步进行细化。这个过程在很大程度上可以帮助机器人。除了这个比较基础的功能以外,还需要很快很多的算法进行配合,比如自主环境探索和地图构建,这是目前带有导航定位扫地机器人的标配。因为对于未知环境,必须先把环境进行探索,框定清扫区域。
消费级别机器人还有一个非计算的问题,是心理学上的问题,就是地图怎么呈现。目前使用任何新的技术都会带来成本上升,成本的上升往往伴随着功能溢价,所以厂家必须把新的功能提升到让用户有感知。
如果机器人具备了激光导航和地图构建能力,在使用当中,都会非常希望让用户看到机器人真正的绘制地图。这时候就有一个心理上的问题。一张图是一个人认为机器人绘制的地图效果,但实际上很多时候 SLAM 系统给出的地图虽然不算差,但也称不上很好。如果我展现的是这样的地图,那在用户心理上就会产生很大的障碍。他会觉得这个产品看上去是不是不值这个价格。
在实现导航定位系统的时候,也会关注一件事情,这件事情机器人不会考虑,对于人来说比较注重,对于构图的精细程度。这是目前思岚在尝试努力的方向。
商用场景需要解决的问题
商用场景下或者专业场景下,对于导航定位的应用方式跟消费者完全不一样。机器人在一个商场或者商家真正开始展开行动之前,会有一个预部署行为,这一般是由厂家或者代理商、集成商来帮助客户进行部署,地图在这时候完全构建,并且有很大的机会对地图进行修改。
一般是两种内容,设置POI。我们绘制的地图和业务逻辑,到目前为止还没有完全,比如我绘制一张平面图,机器人可能并不知道平面图中的某一个位置指的是一个餐桌或者入口,还是需要人进行标注,叫POI的标注。
虽然机器人拥有定位导航的能力,但实际使用时,用户心理上还是有不安全感。这时候在地图上进行额外的标注设置区域。
完成这件事情以后就是日常运营,这就比较简单。这时候地图已经已知,更多使用预定的定位导航算法和商家开发的业务逻辑进行使用。这时候还会有后续日常维护,比如环境发生大的变化,发生重新装修,就需要对地图进行重新构建或者标注。
针对商用场景,对于导航系统会有点困难。
第一,商用场景下地图面积都很大,家庭场景一两百平甚至两三百平已经足够。如果一个家里动辄几千平,那肯定是一个土豪,我们就应该卖一个商用版本的。
商用情况下,这样一个环境,在今天GAIR现场,地图会超过上万平米。这时候对于导航定位系统来说,就会有很大的挑战。因为目前来说,这个SLAM系统还是比较消耗内存和运算量。怎么样让它在十万多平的场景下都可以进行工作,这是很大的挑战。
解决方法,是配备比较强大的硬件,对于软件和算法进行更强大的优化。,对于激光导航定位来说,大的环境是需要有更加远距离的激光雷达。我们目前的做法是现在 RPLIDAR 可以实现更远距离,从工业版本的 16 米到今年发布的 T 系列 100 米测量距离,可以涵盖商业和工业场景下的使用。在成本上也会保持很高的领先优势。
除了大地图的问题,全局定位是我们认为目前在商用情况下都普遍要尝试解决的问题。目前在行业中有两种解决思路。第一,借助传统定位方式,比如 UWB,目前有很多商用机器人在这个环境中布置 UWB 的信标或者 WIFI 甚至室外有 GPS 完成定位。但这两年的技术,单独靠激光导航定位系统本身就可以完成一定全局定位的能力。
这是一个商用机器人的案例。它在一开始可以不需要让这个机器人进行位置初始化,给它几秒钟时间,机器人就可以自动恢复到地图上的坐标。这个技术在学术界很早以前就已经展开使用。但部署到实际产品中,会发现它直接使用算法就会出现这样那样的问题。
多传感器融合也是我经常听到的质疑。行业单线激光雷达只能检测一个平面,无人驾驶里,为了解决这个问题,会采用三维激光雷达,对应的问题是带来成本和量产问题。
在机器人行业中,要解决激光雷达的问题,可以用一个很简单的手段,融入更多传感器。比如超声波、视觉传感器。这里展现的是机器人在一个沙龙中进行送餐的画面。单单靠激光雷达,是不可能感知到人的接近并且停下来的,就需要用到多传感器融合技术。
目前一个合格的导航定位系统,我们认为它所应该输入的传感器信号不应该仅仅是一个激光雷达,应该有视觉的传感器和超声波。在导航定位算法上也要进行对应的融合。这个融合,在学术上或者算法上并不是一个非常难的事情,要考虑很多工业化的问题。比如像超声波的传感器,很多时候是非标的产品,对于深度视觉传感器安装位置有很大区别,每一家规格也不一样,怎么样以统一标准化的接口方便客户进行使用,就存在一定挑战。
定位导航技术开发便利性
开发便利性是我们认为除了成本形态以外,一个制约机器人导航定位技术应用的问题。我们的思路是机器人这个产业,并不是一个简简单单通过硬件和机械解决的,更多可以通过软件。通过软件的额外辅助和算法,可以让这些机器人具有更多的功能。
比如前面提到的 POI 能力,在开发调试中可能用到的多图层地图支持,这些开发调试需求,怎么样在实际应用过程中帮到使用开发者。这里面是一些具体的方式,比如对于地图的标注,现在支持两种通过软件辅助的方式,一种叫虚拟墙,还有一个叫虚拟轨道。
多图层和POI,这个过程在软件算法内部会采用一些经典的算法,比如蒙特·卡罗算法,使用多图层就可以在远端观测到工作情况。POI 是软件方式,可以自动把一个现有的 SLAM 地图通过软件标准进行 POI 的设备。
V SLAM 还是 LIDAR SLAM?
讲一下未来导航定位系统的发展趋势。
对于 V SLAM 和 LIDAR SLAM 谁更重要的问题,实际上是一个融合的过程。这两种技术都有优缺点,激光的缺点毋庸置疑,传统激光雷达很贵,第二很多方面不大灵活,目前为止,传感器还不成熟。对环境光影的变化或者室内比较昏暗的场景,V SLAM技术都没办法使用,但如果把这两种 SLAM 技术融合在一起,并且配以目前低成本的传感器,这种融合式的 SLAM 方式会是未来比较重要的趋势。
提取语义信息,也是配合视觉激光做的。目前绘制的地图还比较平级,通过采集图象数据和深度学习,可以主动在地图上进行标记,就可以避开前面提到的人工 POI 标注过程。
前行业中还有一个趋势——深度学习。这一两年,深度学习成为人工智能的代名词。在这个行业,前几年还是以比较传统的概率学,或者控制论的方式进行机器人自主定位导航。但这里展现的是完全通过深度学习,直接通过摄像头数据作为信号输入,再通过神经网络直接产生出机器人的控制信号。其中像 SLAM 的过程、路径规划的过程,完全通过学习的方式就可以进行实现。
我认为这种技术可能会成为未来的一种潮流,不是在有限的将来,在实际产品中进行体现,还是需要给予时日。但不变的是,在行业中取长补短,结合不同新的技术进行融合,这是不会改变的事实。