AMCL自適應蒙特卡洛原理概述

2021-10-02 05:59:18 字數 1124 閱讀 7344

看到這篇文章,解決了我最近的疑惑,機械人綁架問題,哈哈哈 先轉了

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

1,粒子濾波和蒙特卡洛

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

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

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

舉例,機械人突然被抱走,放到了另外乙個地方。類似這種情況。
4,自適應蒙特卡洛

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

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

5,kld取樣

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

蒙特卡洛原理

基本原理 事件的概率可以用大量實驗中發生的概率來估計,當樣本容量足夠大時,可以認為該事件發生的頻率即為其頻率。因此可以先對影響其可靠度的隨機變數進行大量的隨機抽樣,然後把這些抽樣值一組一組地帶入功能函式式,確定結構是否失效,最後求得結構的失效概率。1 構造或者描述概率過程 對於本身就具有隨機性質的問...

蒙特卡洛理解

蒙特卡羅演算法並不是一種演算法的名稱,而是是一類隨機方法的統稱。這類方法的特點是,可以在隨機取樣上計算得到近似結果,隨著取樣的增多,得到的結果是正確結果的概率逐漸加大,但在 放棄隨機取樣,而採用類似全取樣這樣的確定性方法 獲得真正的結果之前,無法知道目前得到的結果是不是真正的結果。從特性特性來說,我...

蒙特卡洛演算法

從今天開始要研究sampling methods,主要是mcmc演算法 contents 1.蒙特卡洛介紹 2.蒙特卡洛的應用 3.蒙特卡洛積分 1.蒙特卡洛介紹 蒙特卡羅方法 monte carlo method 也稱統計模擬方法,是二十世紀四十年代中期由於科學技術的 發展和電子計算機的發明,而被...