大場景下,機器人將如何完成地圖構建及閉環

開篇前試想這樣兩個場景:

在一個相對較小的地方(如房間),讓你快速找某個東西,是不是很容易,很清楚自己在哪裡,要怎麼拿到他。

然後,把你放到一個大場景(如商場),在不熟悉的情況下,是不是有點慌?

這兩個場景的典型區別就在於場景的大小不同,需要人處理的信息量不同。同理,機器人在初次面對的時候也會有點慌。但其實,只要清楚他的“地圖構造”,再大的場景也不是問題。

目前,雖然即時地圖構建和導航技術已經日益成熟,但是大規模場景下較大的環境面積及複雜的場景結構給地圖構建帶來了較大挑戰。甚至在有些人眼裡看來,這是工作量巨大的,繁瑣的、構建不準確的……但其實,我們可以輕鬆完成10w+㎡場景下的地圖構建,邊走邊建圖,無需預先探明地圖。

比如,這樣的:

大場景下,機器人將如何完成地圖構建及閉環

這樣的:

大場景下,機器人將如何完成地圖構建及閉環

以及這樣的:

大場景下,機器人將如何完成地圖構建及閉環

一個典型的商用場景特徵如下:

大場景下,機器人將如何完成地圖構建及閉環

針對大場景的地圖構建,如果使用激光雷達配合SLAM算法進行建圖的話,首先需要使用較遠測距半徑的激光雷達傳感器。目前為了適應上述的商用場景,行業內會使用測距半徑在16米以上的激光雷達產品,而比較理想的測量半徑是25米,從而保證能夠應對各類極端條件。

除了保障傳感器的測距半徑符合環境需求外,SLAM算法還需要具備閉環檢測能力。比如有些場景,長走廊和環路較多,相似的場景也很多,在SLAM過程中難以形成有效的全局匹配參考,從而很容易導致局部區域累計誤差無法及時清除,進而導致迴環閉合問題。如下圖:

大場景下,機器人將如何完成地圖構建及閉環

| 由於環境場景大且多為長直走廊,導致SLAM建圖中容易出現環路閉合失敗的情況

為了解決上述問題,行業內的普遍做法有兩種:

採用粒子濾波的SLAM方法

使用多張平行存在的候選地圖(粒子)同時進行地圖構建,並且時刻挑選出其中概率上更加符合真實情況的地圖作為當前結果。由於不同的粒子之間建立的地圖存在區別,因此從概率上看,當機器人在環境中行走完一個環路後,眾多粒子中存在閉環地圖的可能性相比傳統單一建圖的模式要高很多。因此這種方法可以一定程度的解決閉環問題。

大場景下,機器人將如何完成地圖構建及閉環

| 採用rbpf(Rao-Blackwellized particle filters)的SLAM算法

採用粒子濾波的SLAM算法因其可以非常有效的規避因為局部噪聲導致的建圖失效問題,曾一度成為行業內激光SLAM方式的主流方案。然而,這種方式的SLAM算法,由於系統參數和傳感器觀測等存在不確定性,先天存在資源消耗大的缺點。

以rbpf-slam為例,實際應用中為了保證較好的魯棒性,需要維持幾十個粒子數據,每個粒子中都包含了一張當前正在構建的環境地圖信息。這樣無疑增加了SLAM算法的內存消耗。同時,每當新的傳感器數據進入,要對地圖進行更新迭代時,算法需要對每個粒子數據都進行相同的匹配計算和數據更新,這也加重了運算負擔。進一步的,粒子濾波的SLAM方式雖然可以大幅度改善迴環閉合問題,但從原理上看它並不能真正意義上解決閉環問題。對於特殊的環境下,使用粒子濾波SLAM可能會將粒子收斂到錯誤的方向,導致建圖失敗。

大場景下,機器人將如何完成地圖構建及閉環

| 正確的地圖構建(左)和當粒子濾波收斂失敗得到的錯誤地圖(右)

基於圖優化的SLAM方式

基於圖優化的SLAM((Graph-SLAM))方法,由於採用了全局優化處理方法,能夠有效的解決建圖閉環,獲得更好的建圖效果,獲得行業廣泛關注。

大場景下,機器人將如何完成地圖構建及閉環

| 基於圖優化的SLAM框架

相比於rbpf-slam每次直接將傳感器數據更新進入柵格地圖進行構建的做法,Graph-SLAM存儲的是地圖構建過程中機器人位姿變化的拓撲地圖信息,以及諸如臨近數據和閉環點等數據。

大場景下,機器人將如何完成地圖構建及閉環

| Graph-SLAM編碼了機器人在SLAM過程中的位姿變化拓撲地圖,相關的拓撲信息,如:閉環、重合數據也得到了編碼

而當機器人在建圖中出現了新的迴環後,Graph-SLAM可依賴內部的拓撲圖進行主動式的閉環檢測,當發現了新的閉環信息後,Graph-SLAM使用Bundle Adjuestment(BA)等算法對原先的位姿拓撲地圖進行修正(即進行圖優化),從而能有效的進行閉環後地圖的修正。因此相比與粒子濾波SLAM方式,Graph-SLAM可以實現更加可靠的環境建圖。

大場景下,機器人將如何完成地圖構建及閉環

| Graph-SLAM在檢測到原先地圖(左)存在可能得閉合路徑後,對拓撲圖進行修正從而得到正確的環境建圖(右)

目前,SLAMWARE已經採用了最新的圖優化方式,配合激光雷達逐漸在商用複雜環境中開始使用。未來,面對機器人應用場景的不斷拓展,建圖技術必然還會遇到更多的問題,而這些,是未來企業和行業一起,共同攻克的問題。


分享到:


相關文章: