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