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