機械人的定位問題

2021-08-17 02:27:36 字數 3035 閱讀 7192

下面的大部分概念**於《自主移動機械人導論》這本書

信任度表示

機械人必須有乙個在地圖上有關它位置信任度的方法。機械人是否辨識乙個單獨的特定位置作為它的當前位置,或它是否根據一組可能的位置描述它的位置?如果以單個信任度完全表達多個可能位置,那如何將這多個位置排序?這就是信任度表示方法的設計問題

信任度

一般來說機械人並不能直接測量它的真實狀態,只能根據感測器資料,最佳估計它的狀態。所以機械人擁有的關於它狀態的知識只能由資料推測。有關機械人狀態的最好猜測,叫信任度

單假設信任度和多假設信任度

單假設信任度

單假設信任度表示是移動機械人位置最直接可能的假設。給定某個環境地圖,機械人關於位置的信任度表示為地圖上單個獨特的點。主要優點來自以下事實,給定唯一的信任度,位置沒有任意性。這個表示方法的非任意性本質加速了機械人在認知水平上(例如,路徑規劃)的決策。機械人可以簡單地假定,它的信任度是正確的,然後可以根據它唯一的位置,選擇其未來的動作。

機械人的位置更新一般分為兩步

1、在**(或動作)更新期間,機械人利用本體感受式感測器估計它的方位,例如,利用編碼器機械人估計它的運動。在這階段,量程器誤差隨時間積分,有關機械人方位的不確定性增加

2、在感知(或測量)更新期間,機械人利用外感式感測器的資訊,校正**階段所估計的位置。例如,用乙個測距儀測量它離牆的距離,並相應地校正在**階段所估計的位置。在感知階段,機械人的方位不確定性縮小

基於概率地圖定位的兩種不同方法:馬爾可夫定位和卡爾曼濾波器定位

為了解決機械人定位問題,需要以下資訊:

1、初始概率分布在不知道機械人初始位置的情況下,初始信任度對整個姿態是均勻分布的

2、環境地圖

3、資料為了定位,機械人顯然需要使用來自它本體感受式感測器和外感受式感測器資料。一般來講,我們用z表示從外感受式感測器來的當前讀數,稱為觀測值。u表示從本體感受式感測器來的讀數或控制輸入,對差分驅動機械人,u表示來自左輪右輪編碼器讀數

4、概率運動模型從機械人運動學推導而來,x_t = f(x_t-1,u_t) 當前位置由前乙個位置和編碼器讀數組成的函式f計算出

5、概率測量模型從外感受式感測器模型推導出來

定位問題分類

位置跟蹤機械人的當前位置是根據對它以前位置的知識而更新的

全域性定位全域性定位假定機械人的初始位置是不知道的

綁架機械人問題機械人被綁架,並且被移動到其他地方的情況,類似漂移

在說定位問題之前,搞清楚移動機械人中的先驗和後驗先驗是在考慮任何感測器測量之前,對全空間的機械人位置的概率分布,後驗概率p(x|y) 是在納入資料之後計算的

馬爾可夫定位

馬爾可夫定位利用乙個任意概率密度函式表示機械人的位置,跟蹤機械人的信任度狀態。

ps:馬爾可夫定位可以認為是貝葉斯在定位上的乙個應用

在兩種定位方法中,**更新都是基於全概率定理,也就是這個

感知更新基於貝葉斯定理,也就是這個

下面是關於公式對應機械人的解釋

在讀取感測器資料a之後,我們想要知道機械人占有指定位置b的概率p(b|a)。如果機械人早先在那個位置上,我們只要將觀察這些測量的條件概率p(a|b),乘上在讀取感測器資料之前,機械人就在那裡的概率p(b)。結果除以某個規格化因子p(a)。

重要的是,p(a)不依賴於b,p(a)_-1可以寫成為規格化因子η

馬爾可夫假設意味著它們的輸出x_t只是機械人以前位置x_t-1和它的最近動作(量程儀,通常是里程計)u_t和感知z_t的函式。然而在一般情況下,非馬爾可夫情況中,系統狀態依賴於所有它的經歷

卡爾曼濾波定位

對卡爾曼濾波來講,狀態概率密度函式和觀測模型都是高斯分布。

前面所說到的馬爾可夫定位在機械人位置方面可以表示任何概率密度函式,該方法是一般的,但是由於它的通用性所以效能很差。

現在,我們換個角度考慮一下,對機械人定位來講,關鍵需求不是概率密度曲線的精確賦值,而是對魯棒定位至關重要的感測器融合問題。機械人通常包含大量的異質的感測器,各提供關於機械人定位線索。關鍵是,各感測器都經受它自己的失誤模式

下面圖中,系統有乙個控制訊號和作為輸入的系統誤差源。測量裝置能夠測量帶有誤差的某些系統狀態。

卡爾曼濾波器是基於系統的知識和測量裝置,產生系統狀態最優估計的乙個數學機制,是對系統雜訊,測量誤差和動態模型不確定性的描述

其中,系統被假定為是線性並具有高斯白雜訊。然而對於大多數移動機械人,系統並不是線性的。卡爾曼濾波擴充套件到非線性系統,稱為擴充套件卡爾曼濾波

卡爾曼濾波器定位不使用任何密度函式,而是用高斯代表機械人信任度,運動模型和測量模型。

因為高斯簡單地由它的均值和協方差來定義,在**測量(前面的馬爾可夫定位也是這兩個階段)階段這兩個引數被更新。很顯然,由此帶來的問題就是卡爾曼濾波器定位這樣的假設限制了初始信任度以及高斯的選擇。這意味著,*必須以一定的近似知道機械人的初始位置

SLAM 機械人自主定位導航

slam技術作為機械人自主移動的關鍵技術,讓很多人都誤解為 slam 機械人自主定位導航。其實,slam 機械人自主定位導航,不解決行動問題。slam如其名一樣,主要解決的是機械人的地圖構建和即時定位問題,而自主導航需要解決的是智慧型移動機械人與環境進行自主互動,尤其是點到點自主移動的問題,這需要更...

登山機械人問題

這是典型的用貪心演算法求解的問題。根據題意我們不難理解到 我們首先要做的是求到每乙個機械人每走一步所需要的時間,並假設用乙個陣列b n1 n2 表示,這是很easy就可以實現的,用乙個雙層迴圈完了再用前面值減後面值就好了 b i j a i j a i j 1 然後就是正式處理了,明白了上面的內容之...

機械人跳躍問題

機械人正在玩乙個古老的基於dos的遊戲。遊戲中有n 1座建築 從0到n編號,從左到右排列。保證編號為0的建築高度為0個單位。編號為i的建築 i 1,n 的高度為hi個單位。起初,機械人在編號為0的建築處。每一步,它跳到下乙個 右邊 建築。假設機械人在第k個建築,且他現在的能量值是botenergy,...