1. 程式人生 > >[SLAM](2-3):SLAM數學描述、運動方程、觀測方程

[SLAM](2-3):SLAM數學描述、運動方程、觀測方程

SLAM講解,結合 高翔老師的著作《視覺SLAM十四講:從理論到實踐》內容,加上小白的工程實踐經驗共同完成。建議與 書籍 搭配使用。

 本文以問答及提綱的形式講解,更適合作為 筆記 功能反覆使用。

1.SLAM數學描述

     SLAM過程可總結為兩個基本方程:

  • x_{_{k}}=f(x_{k-1},u_{k},w_{k})    運動方程
  • z_{_{k,j}}=h(y_{j},x_{k},v_{k,j})     觀測方程

     對於不同的感測器,這兩個方程有不同的引數化形式。如果我們保持通用性,把它們取成抽象形式,那麼SLAM過程可總結為上述兩個基本方程。

    這兩個方程描述了最基本的SLAM問題:當我們知道運動測量的讀數 u ,以及感測器的讀數 z 時,如何求解定位問題(估計 x)和建圖問題(估計 y

)?這時,我們把SLAM問題建模成了一個狀態估計問題:如何通過帶有噪聲的測量資料,估計內部的、隱藏著的狀態變數?

     狀態估計問題的求解,與兩個方程的具體形式,以及噪聲服從哪種分佈有關。我們按照運動和觀測方程是否為線性,噪聲是否服從高斯分佈進行分類,分為線性/非線性和高斯/非高斯系統。其中線性高斯系統(LG 系統)最為簡單,他的無偏最優估計可以由卡爾曼濾波器(KF)給出。而在複雜的非線性非高斯系統(NLNG系統)中,我們會使用以擴充套件卡爾曼濾波器(EKF)和非線性優化兩大類方法去求解它。時至今日,主流視覺SLAM使用以圖優化(Graph Optimization)為代表的優化技術進行狀態估計。我們以為優化技術已經明顯優於濾波器技術,只要計算資源允許,我們通常都偏向於使用優化方法。

2.什麼是運動?

    我們要考慮從 K-1 時刻到 K 時刻,機器人的位置 X是如何變化的。

    通常,機器人會攜帶一個測量自身運動的感測器,比如說碼盤或慣性感測器。這個感測器可以測量有關運動的讀數,無論什麼感測器,我們都能使用一個通用的、抽象的數學模型:

                                                            x_{_{k}}=f(x_{k-1},u_{k},w_{k})

    這裡的 u_{k} 是運動感測器的讀數(有時也叫輸入),w_{k}為噪聲。

3.什麼是觀測?

    假設機器人在 K 時刻,於 x_{k} 處探測到了某一個路標 y_{j} ,我們要考慮這件事情是如何用數學語言來描述的。

    當機器人在 x_{k}

 位置上看到某個路標點 y_{j},產生了一個觀測資料 z_{k,j} ,用一個抽象的函式 h 來描述這個關係:

                                                              z_{_{k,j}}=h(y_{j},x_{k},v_{k,j})

     這裡 v_{k,j} 是這次觀測裡的噪聲。

《視覺SLAM十四講:從理論到實踐》 PDF資源

此資源僅供各位研究員試讀,請購買紙質書籍。