AMCL原理概述

2021-08-24 23:21:47 字數 996 閱讀 2001

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

1,粒子濾波和蒙特卡洛

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

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

2,重要性取樣

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

3,機械人綁架

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

4,自適應蒙特卡洛

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

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

5,kld取樣

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

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

看到這篇文章,解決了我最近的疑惑,機械人綁架問題,哈哈哈 先轉了 看了很多資料,講amcl用法的很多,原理和概念能說清的很少,大都是一帶而過稀里糊塗。這裡,先把概念區分開來,後面將對原理進行講解。1,粒子濾波和蒙特卡洛 蒙特卡洛 是一種思想或方法。舉例 乙個矩形裡面有個不規則形狀,怎麼計算不規則形狀...

AMCL相關知識

看了很多資料,講amcl用法的很多,原理和概念能說清的很少,大都是一帶而過稀里糊塗。這裡,先把概念區分開來,後面將對原理進行講解。1,粒子濾波和蒙特卡洛 蒙特卡洛 是一種思想或方法。舉例 乙個矩形裡面有個不規則形狀,怎麼計算不規則形狀的面積?不好算。但我們可以近似。拿一堆豆子,均勻的撒在矩形上,然後...

編譯原理概述

一 編譯過程分析 編譯軟體讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言,並按照作業系統對可執行檔案格式的要求鏈結生成可執行程式.二 編譯流程表 c源程式 c檔案 編輯器 預處理過程 c檔案 編譯 優化過程 s或.asm檔案 編譯器 ...