日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通俗易通解释SLAM问题的数学描述:运动方程和观测方程

發布時間:2023/12/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通俗易通解释SLAM问题的数学描述:运动方程和观测方程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

高翔博士在他的《視覺SLAM十四講》中把SLAM問題的數學描述抽象成了兩個數學方程,以下對此做個總結,并且對此做一些通俗易懂的解釋:

一、方程的總體形式

作為理性層次的描述,我們引入數學方程來描述SLAM過程,其中第一個方程叫做運動方程、第二個方程叫做觀測方程,想象一下我們在研究SLAM的時候肯定需要觀測機器人(無人汽車、無人機等都可以統稱為機器人)的運動(畫面感很強哈哈),這樣很容易理解并且記憶這兩個方程的名稱和意義:

二、變量的含義

我們看到,這兩個方程中有大量的英文字母作為變量存在其中,下面介紹一下各個變量的含義:

  • x\textbf{x}x:加粗的x\textbf{x}x表示一個向量,這個向量表示這機器人的位置坐標,在三維坐標系中可以使用[x1,x2,x3]T[x_1,x_2,x_3]^T[x1?,x2?,x3?]T來表示。
  • yj\textbf{y}_jyj?:加粗的y\textbf{y}y也表示一個向量,表示某一個路標點的位置,注意到y\textbf{y}y通常帶有下標jjj,這個jjj表示路標的編號,我們假設一共有NNN個路標,則用y1,y2...yj...yN,\textbf{y}_1,\textbf{y}_2...\textbf{y}_j...\textbf{y}_N,y1?,y2?...yj?...yN?,分別表示它們。

有趣的是,我們研究SLAM,無非是研究定位(Localization)問題和建圖(Mapping)問題,而對 x\textbf{x}x的估計就對應著定位問題(L),對y\textbf{y}y的估計對應著建圖問題(M)。

  • u\textbf{u}u:加粗的u\textbf{u}u表示運動量,即機器人內部運動傳感器讀數,比如IMU+GPS等的讀數(嚴格來說,這是一種觀測量,但是我們把它和攝像頭的觀測量區分開來)。比如我們可以使用位移傳感器和IMU測得[Δx1,Δx2,Δθ]T[\Delta x_1,\Delta x_2,\Delta\theta]^T[Δx1?,Δx2?,Δθ]T,作為某個時刻的運動量u\textbf{u}u
  • z\textbf{z}z:加粗的z\textbf{z}z表示另外一種傳感器讀數——觀測量,通常這個量有雙目攝像頭、激光雷達等獲得,因為這是對觀測路標的測量,而路標即yyy有N個,因此我們需要使用腳標zj\textbf{z}_jzj?來表示對第jjj個路標的觀測量。

我們可以認為u\textbf{u}u是對自身(內部)的測量, z\textbf{z}z是對環境(外部)的測量,這樣由內而外的測量可以我們區分這兩種傳感器的類別和意義。

  • w\textbf{w}wv\textbf{v}v:不可避免的,我們的傳感器是存在誤差的,我們用 w\textbf{w}wv\textbf{v}v這兩個看起來同根同源的字母來分別表示u\textbf{u}uz\textbf{z}z的測量誤差。
  • kkk:小寫的表示時間序列編號,我們在工程中都是使用離散時間序列的,這樣產生了t=1,2,3,...,Kt=1,2,3,...,Kt=1,2,3,...,K個時間點,注意大小寫的意義是不一樣的,大寫的KKK表示一共有多少個時間點。我們可以對上邊的所有字母都加上下角標kkk看來表示這是k時刻的物理量。

三、具體化運動方程和觀測方程

開篇的公式過于抽象,下面將函數具體化,簡單起見,我們在這里使用二維情況下的位姿表示(兩個位置坐標x1x_1x1?x2x_2x2?和一個姿態坐標θ\thetaθ),這樣理解起來比較容易。假設在k?1k-1k?1時刻,機器人的位置坐標為 xk?1\textbf{x}_{k-1}xk?1?,而在kkk時刻,內部運動傳感器測得運動位移量[Δx1,Δx2]kT[\Delta x_1,\Delta x_2]^T_{k}[Δx1?,Δx2?]kT?,那么我們可以通過他們計算kkk時刻的位置xk\textbf{x}_{k}xk?,這個就是運動方程,我們可以寫成以下表達式:

對于觀測方程,我們假設使用激光傳感器測量到了機器人和某個路標yjy_jyj?之間的距離rrr和夾角?\phi?,那么觀測量zk,j=[rk,j,?k,j]T\textbf{z}_{k,j}=[r_{k,j},\phi_{k,j}]^Tzk,j?=[rk,j?,?k,j?]T可以表示成一下形式:

四、狀態估計問題

我們在上文提到了,SLAM的最終問題是解決定位問題(Localization)和建圖問題(Mapping),從我們的模型來看,就是對x\textbf{x}xy\textbf{y}y的估計問題,我們把這類的問題稱為狀態估計問題。也就是通過觀測量(包括內部傳感器的讀數u\textbf{u}u,和外部傳感器的讀數z\textbf{z}z),來計算出最優的x\textbf{x}xy\textbf{y}y

用下圖可以直觀的把以上公式模塊化:

總結

以上是生活随笔為你收集整理的通俗易通解释SLAM问题的数学描述:运动方程和观测方程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。