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