开(kāi)篇前试想这样两个场景:
在一个(gè)相对较小的地方(如房间),让你快速找某(mǒu)个东西,是不(bú)是(shì)很容易,很清楚自己在哪里,要(yào)怎么(me)拿到他。
然后,把你放到一个大场景(如商场(chǎng)),在不(bú)熟(shú)悉的情况下,是不是有点慌?
这两个场景的典型区别(bié)就在于(yú)场景的(de)大小不同,需要(yào)人处理的(de)信息量(liàng)不同。同理(lǐ),机器人在初次面对的时候也会有点(diǎn)慌。但其实,只要清楚他的“地(dì)图构造”,再(zài)大的场景也不是问(wèn)题。
目前,虽然即时地图构(gòu)建(jiàn)和导航技术已(yǐ)经日益成熟,但是大规模场景下较大的环境面积(jī)及复(fù)杂的(de)场景(jǐng)结构给地图(tú)构(gòu)建带来(lái)了较大挑(tiāo)战。甚(shèn)至在(zài)有些人(rén)眼里(lǐ),这是工作量巨大(dà)的,繁琐的、构建不准确的……但其实(shí),思岚科技的(de)技术可以轻松完成10w+㎡场景下的地图构建,边(biān)走边建图,无需预(yù)先探明地图。
比如,这样(yàng)的:
这样的:
以(yǐ)及这(zhè)样的:
一个典型(xíng)的商用场景特征如下:
针(zhēn)对大场景(jǐng)的地图(tú)构(gòu)建,如果使用激光(guāng)雷达配合SLAM算法进行(háng)建图的(de)话(huà),首先需要使用较远测距半径的激光(guāng)雷达传感器。目前为了适应上(shàng)述(shù)的(de)商用场景,行业内会(huì)使用(yòng)测距半径在(zài)16米(mǐ)以上的激光雷达产品(pǐn),而比(bǐ)较理想的测量半径是25米(mǐ),从而保证能(néng)够应对各(gè)类(lèi)极端条件。
除(chú)了保障传感器的测距半径符合环境需(xū)求外(wài),SLAM算法还需要具备(bèi)闭环检测(cè)能力。比如有些(xiē)场(chǎng)景,长走廊(láng)和环路较多,相似的场景也很多,在SLAM过程中难以形成有效的全局匹配参考,从而很容易导致局部(bù)区(qū)域累计误差无法及(jí)时清除,进而导(dǎo)致回环闭合问题。如下图:
| 由于环(huán)境场景大且(qiě)多为长直走廊,导致SLAM建图中容易出现(xiàn)环路(lù)闭合失败的(de)情况
为了(le)解(jiě)决上述问(wèn)题,行业内的普遍做法(fǎ)有(yǒu)两种:
1.采用粒子滤波的SLAM方法
使用多张平行存在的候选(xuǎn)地图(tú)(粒(lì)子)同时进行(háng)地图构建,并且时刻挑选出其(qí)中(zhōng)概率(lǜ)上更加(jiā)符合真实情况的地图作为当前结果。由于不同的粒子(zǐ)之间建立的地图存在区别,因此从概率上看,当机器人在(zài)环境中行(háng)走(zǒu)完(wán)一个环路后,众多粒子中存(cún)在闭环(huán)地图的(de)可能性相比(bǐ)传统单一建图的模式要高很多。因此这种(zhǒng)方法可(kě)以一定程度的(de)解决(jué)闭(bì)环(huán)问题。
| 采(cǎi)用rbpf(Rao-Blackwellized particle filters)的SLAM算法
采用粒(lì)子滤波的(de)SLAM算法因其可以非(fēi)常(cháng)有效(xiào)的规避因为局部噪声导致(zhì)的(de)建图(tú)失效问题,曾(céng)一(yī)度(dù)成(chéng)为行业(yè)内激光SLAM方(fāng)式的主流方案。然而,这(zhè)种方式的SLAM算法,由于(yú)系统参(cān)数和传(chuán)感器观测等存在不确定(dìng)性,先(xiān)天存在资(zī)源(yuán)消耗大的缺点。
以rbpf-slam为例,实(shí)际应用(yòng)中为了保证较好的鲁棒性,需要维持几十个粒(lì)子数据,每个粒子中(zhōng)都包含了一张当前正在构建的环境地图信息。这样无疑增加了SLAM算(suàn)法的内存消耗。同(tóng)时,每当新的传感(gǎn)器数据进(jìn)入,要(yào)对地图进行更新迭代时,算法(fǎ)需要对每个粒子(zǐ)数据都进行相同的(de)匹配计(jì)算和(hé)数(shù)据(jù)更新(xīn),这也加重了运算负(fù)担。进(jìn)一步的,粒子滤波(bō)的SLAM方式虽然可(kě)以大幅度改善回环闭合问题,但从原理上看它并不能真正意义上解决闭环问题(tí)。对(duì)于特殊的环境下,使用粒子滤(lǜ)波SLAM可能会将粒子收敛到错误的方向,导致建图失败。
| 正确的(de)地图构建(左)和当粒子滤波收敛失败得到的错误地图(右)
2.基于图优化的SLAM方式
基于图(tú)优化的SLAM((Graph-SLAM))方法,由于采用了全局优化处理方法,能(néng)够有效的解决(jué)建图闭环,获(huò)得(dé)更好(hǎo)的建图效果,获(huò)得行业广(guǎng)泛(fàn)关注。
| 基于图优(yōu)化的(de)SLAM框架
相比于rbpf-slam每次直接(jiē)将传感器(qì)数据更(gèng)新进(jìn)入(rù)栅格地图(tú)进行(háng)构(gòu)建的做法,Graph-SLAM存储的是地图构建(jiàn)过程中机(jī)器人位(wèi)姿变化(huà)的拓扑地图(tú)信息,以及诸如(rú)临近数据和闭环(huán)点等数据。
| Graph-SLAM编码了机器人(rén)在SLAM过程中的位姿变(biàn)化拓扑地图(tú),相关的(de)拓扑信息,如(rú):闭环、重(chóng)合数(shù)据也(yě)得到了编码
而当机器人在(zài)建图(tú)中出(chū)现了新的(de)回环后,Graph-SLAM可依赖内部的拓扑图进行主动(dòng)式(shì)的闭环检(jiǎn)测,当发现了新的闭环信息后,Graph-SLAM使用Bundle Adjuestment(BA)等算法对原先的位姿拓扑地(dì)图进行修正(即进(jìn)行图优化),从而(ér)能有效的进行闭环后地图的修(xiū)正。因此(cǐ)相比与(yǔ)粒(lì)子滤(lǜ)波SLAM方式,Graph-SLAM可以实现更加可靠的环境建(jiàn)图。
| Graph-SLAM在检测到原先地(dì)图(左(zuǒ))存在可能得(dé)闭(bì)合路(lù)径后(hòu),对拓扑图进行修正从而得到正(zhèng)确的环境建图(tú)(右)
目(mù)前,SLAMWARE已经采用了最新的图优化方式,配合(hé)激光雷(léi)达逐渐在(zài)商用复(fù)杂环境中(zhōng)开(kāi)始使用。未来,面对机器人应用场景的不断拓(tuò)展,建图技(jì)术必(bì)然(rán)还会遇到更多的(de)问题,而(ér)这些,是(shì)未(wèi)来思岚科技需要和行业一起,共同攻克的(de)问题。