AMCL相關知識

看了很多資料,講amcl用法的很多,原理和概念能說清的很少,大都是一帶而過稀裏糊塗。這裏,先把概念區分開來,後面將對原理進行講解。

1,粒子濾波和蒙特卡洛

   蒙特卡洛:是一種思想或方法。舉例:一個矩形裏面有個不規則形狀,怎麼計算不規則形狀的面積?不好算。但我們可以近似。拿一堆豆子,均勻的撒在矩形上,然後統計不規則形狀裏的豆子的個數和剩餘地方的豆子個數。矩形面積知道的呀,所以就通過估計得到了不規則形狀的面積。拿機器人定位來講,它處在地圖中的任何一個位置都有可能,這種情況我們怎麼表達一個位置的置信度呢?我們也使用粒子,哪裏的粒子多,就代表機器人在哪裏的可能性高。

      粒子濾波:粒子數代表某個東西的可能性高低。通過某種評價方法(評價這個東西的可能性),改變粒子的分佈情況。比如在機器人定位中,某個粒子A,我覺得這個粒子在這個座標(比如這個座標就屬於之前說的“這個東西”)的可能性很高,那麼我給他打高分。下次重新安排所有的粒子的位置的時候,就在這個位置附近多安排一些。這樣多來幾輪,粒子就都集中到可能性高的位置去了。

2,重要性採樣

     就像轉盤抽獎一樣,原本分數高(我們給它打分)的粒子,它在轉盤上對應的面積就大。原本有100個粒子,那下次我就轉100次,轉到什麼就取個對應的粒子。這樣多重複幾次,仍然是100個粒子,但是分數高的粒子越來越多了,它們代表的東西(比如位姿)幾乎是一樣的。

3,機器人綁架

        舉例,機器人突然被抱走,放到了另外一個地方。類似這種情況。

4,自適應蒙特卡洛

        自適應體現在:1解決了機器人綁架問題,它會在發現粒子們的平均分數突然降低了(意味着正確的粒子在某次迭代中被拋棄了)的時候,在全局再重新的撒一些粒子。

                                  2解決了粒子數固定的問題,因爲有時候當機器人定位差不多得到了的時候,比如這些粒子都集中在一塊了,還要維持這麼多的粒子沒必要,這個時候粒子數可以少一點了。

5,KLD採樣

       就是爲了控制上述粒子數冗餘而設計的。比如在柵格地圖中,看粒子佔了多少柵格。佔得多,說明粒子很分散,在每次迭代重採樣的時候,允許粒子數量的上限高一些。佔得少,說明粒子都已經集中了,那就將上限設低,採樣到這個數就行了。

原文:https://blog.csdn.net/ethan_guo/article/details/81809054 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章