開篇前試想這樣兩個(gè)場(chǎng)景:
在一個(gè)相對(duì)較小的地方(如房間),讓你快速找某個(gè)東西,是不是很容易,很清楚自己在哪里,要怎么拿到他。
然后,把你放到一個(gè)大場(chǎng)景(如商場(chǎng)),在不熟悉的情況下,是不是有點(diǎn)慌?
這兩個(gè)場(chǎng)景的典型區(qū)別就在于場(chǎng)景的大小不同,需要人處理的信息量不同。同理,機(jī)器人在初次面對(duì)的時(shí)候也會(huì)有點(diǎn)慌。但其實(shí),只要清楚他的“地圖構(gòu)造”,再大的場(chǎng)景也不是問(wèn)題。
目前,雖然即時(shí)地圖構(gòu)建和導(dǎo)航技術(shù)已經(jīng)日益成熟,但是大規(guī)模場(chǎng)景下較大的環(huán)境面積及復(fù)雜的場(chǎng)景結(jié)構(gòu)給地圖構(gòu)建帶來(lái)了較大挑戰(zhàn)。甚至在有些人眼里,這是工作量巨大的,繁瑣的、構(gòu)建不準(zhǔn)確的……但其實(shí),思嵐科技的技術(shù)可以輕松完成10w+㎡場(chǎng)景下的地圖構(gòu)建,邊走邊建圖,無(wú)需預(yù)先探明地圖。
比如,這樣的:
這樣的:
以及這樣的:
一個(gè)典型的商用場(chǎng)景特征如下:
針對(duì)大場(chǎng)景的地圖構(gòu)建,如果使用激光雷達(dá)配合SLAM算法進(jìn)行建圖的話,首先需要使用較遠(yuǎn)測(cè)距半徑的激光雷達(dá)傳感器。目前為了適應(yīng)上述的商用場(chǎng)景,行業(yè)內(nèi)會(huì)使用測(cè)距半徑在16米以上的激光雷達(dá)產(chǎn)品,而比較理想的測(cè)量半徑是25米,從而保證能夠應(yīng)對(duì)各類極端條件。
除了保障傳感器的測(cè)距半徑符合環(huán)境需求外,SLAM算法還需要具備閉環(huán)檢測(cè)能力。比如有些場(chǎng)景,長(zhǎng)走廊和環(huán)路較多,相似的場(chǎng)景也很多,在SLAM過(guò)程中難以形成有效的全局匹配參考,從而很容易導(dǎo)致局部區(qū)域累計(jì)誤差無(wú)法及時(shí)清除,進(jìn)而導(dǎo)致回環(huán)閉合問(wèn)題。如下圖:
| 由于環(huán)境場(chǎng)景大且多為長(zhǎng)直走廊,導(dǎo)致SLAM建圖中容易出現(xiàn)環(huán)路閉合失敗的情況
為了解決上述問(wèn)題,行業(yè)內(nèi)的普遍做法有兩種:
1.采用粒子濾波的SLAM方法
使用多張平行存在的候選地圖(粒子)同時(shí)進(jìn)行地圖構(gòu)建,并且時(shí)刻挑選出其中概率上更加符合真實(shí)情況的地圖作為當(dāng)前結(jié)果。由于不同的粒子之間建立的地圖存在區(qū)別,因此從概率上看,當(dāng)機(jī)器人在環(huán)境中行走完一個(gè)環(huán)路后,眾多粒子中存在閉環(huán)地圖的可能性相比傳統(tǒng)單一建圖的模式要高很多。因此這種方法可以一定程度的解決閉環(huán)問(wèn)題。
| 采用rbpf(Rao-Blackwellized particle filters)的SLAM算法
采用粒子濾波的SLAM算法因其可以非常有效的規(guī)避因?yàn)榫植吭肼晫?dǎo)致的建圖失效問(wèn)題,曾一度成為行業(yè)內(nèi)激光SLAM方式的主流方案。然而,這種方式的SLAM算法,由于系統(tǒng)參數(shù)和傳感器觀測(cè)等存在不確定性,先天存在資源消耗大的缺點(diǎn)。
以rbpf-slam為例,實(shí)際應(yīng)用中為了保證較好的魯棒性,需要維持幾十個(gè)粒子數(shù)據(jù),每個(gè)粒子中都包含了一張當(dāng)前正在構(gòu)建的環(huán)境地圖信息。這樣無(wú)疑增加了SLAM算法的內(nèi)存消耗。同時(shí),每當(dāng)新的傳感器數(shù)據(jù)進(jìn)入,要對(duì)地圖進(jìn)行更新迭代時(shí),算法需要對(duì)每個(gè)粒子數(shù)據(jù)都進(jìn)行相同的匹配計(jì)算和數(shù)據(jù)更新,這也加重了運(yùn)算負(fù)擔(dān)。進(jìn)一步的,粒子濾波的SLAM方式雖然可以大幅度改善回環(huán)閉合問(wèn)題,但從原理上看它并不能真正意義上解決閉環(huán)問(wèn)題。對(duì)于特殊的環(huán)境下,使用粒子濾波SLAM可能會(huì)將粒子收斂到錯(cuò)誤的方向,導(dǎo)致建圖失敗。
| 正確的地圖構(gòu)建(左)和當(dāng)粒子濾波收斂失敗得到的錯(cuò)誤地圖(右)
2.基于圖優(yōu)化的SLAM方式
基于圖優(yōu)化的SLAM((Graph-SLAM))方法,由于采用了全局優(yōu)化處理方法,能夠有效的解決建圖閉環(huán),獲得更好的建圖效果,獲得行業(yè)廣泛關(guān)注。
| 基于圖優(yōu)化的SLAM框架
相比于rbpf-slam每次直接將傳感器數(shù)據(jù)更新進(jìn)入柵格地圖進(jìn)行構(gòu)建的做法,Graph-SLAM存儲(chǔ)的是地圖構(gòu)建過(guò)程中機(jī)器人位姿變化的拓?fù)涞貓D信息,以及諸如臨近數(shù)據(jù)和閉環(huán)點(diǎn)等數(shù)據(jù)。
| Graph-SLAM編碼了機(jī)器人在SLAM過(guò)程中的位姿變化拓?fù)涞貓D,相關(guān)的拓?fù)湫畔?,如:閉環(huán)、重合數(shù)據(jù)也得到了編碼
而當(dāng)機(jī)器人在建圖中出現(xiàn)了新的回環(huán)后,Graph-SLAM可依賴內(nèi)部的拓?fù)鋱D進(jìn)行主動(dòng)式的閉環(huán)檢測(cè),當(dāng)發(fā)現(xiàn)了新的閉環(huán)信息后,Graph-SLAM使用Bundle Adjuestment(BA)等算法對(duì)原先的位姿拓?fù)涞貓D進(jìn)行修正(即進(jìn)行圖優(yōu)化),從而能有效的進(jìn)行閉環(huán)后地圖的修正。因此相比與粒子濾波SLAM方式,Graph-SLAM可以實(shí)現(xiàn)更加可靠的環(huán)境建圖。
| Graph-SLAM在檢測(cè)到原先地圖(左)存在可能得閉合路徑后,對(duì)拓?fù)鋱D進(jìn)行修正從而得到正確的環(huán)境建圖(右)
目前,SLAMWARE已經(jīng)采用了最新的圖優(yōu)化方式,配合激光雷達(dá)逐漸在商用復(fù)雜環(huán)境中開始使用。未來(lái),面對(duì)機(jī)器人應(yīng)用場(chǎng)景的不斷拓展,建圖技術(shù)必然還會(huì)遇到更多的問(wèn)題,而這些,是未來(lái)思嵐科技需要和行業(yè)一起,共同攻克的問(wèn)題。
關(guān)鍵字:机器人地图构建,构建地图问题