那麼你應該閱讀卡爾曼濾波器。基本上,它所做的是分別通過其均值和方差估計一個狀態。國家可以是任何你想要的。您可以在您的狀態中擁有本地座標,但也可以擁有全局座標
請注意,後者肯定會導致非線性系統動力學,在這種情況下,您可以使用擴展卡爾曼濾波器,或者更正確的連續離散卡爾曼濾波器,您可以連續處理系統動力學,在離散時間的測量。
例與全局座標:
假設你有一個小的立方體塊,其可以以速度v向前行駛,您可以簡單地在本地座標的動力學模型只是,你的狀態s將s = [v]
,這是一個。線性模型。但是,假設我們只在一個平面上移動,你也可以包含全局座標x和y。那麼你會有s = [x, y, phi, v]'
。我們需要phi
來跟蹤當前的方向,因爲立方體只能沿其方向前進。讓我們將phi
定義爲立方體的正向和x
軸之間的角度。或換句話說:使用phi=0
立方體將沿着x軸移動,其中phi=90°
它將沿着y軸移動。
的非線性系統動力學與全球座標然後可以寫成
s_dot = [x_dot, y_dot, phi_dot, v_dot]'
與
x_dot = cos(phi) * v
y_dot = sin(phi) * v
phi_dot = ...
v_dot = ... (Newton's Law)
在EKF(擴展卡爾曼濾波器)預測步驟你可以使用(離散)方程來預測第一步中狀態的均值以及預測方差的線性化(和離散化)方程。
有兩件事情要記住,當你決定你的狀態向量s
應該是什麼樣子:
- 你也許會用我的線性例如
s = [v]
然後速度卡爾曼濾波器之外整合以獲得全球座標估計值。這可行,但你會失去卡爾曼濾波器的精彩,因爲你只會整合狀態的均值,而不是其方差。換句話說,你不知道目前全球座標系的不確定性是什麼。
- 卡爾曼濾波器的第二步是測量或校正更新,要求您可以將傳感器輸出描述爲您的狀態的函數。因此,您可能必須在您的圖像中添加狀態,以便您可以正確表達測量值
as z[k] = h(s[k], w[k])
其中z
是測量值,w
是具有高斯分佈的噪聲矢量。
來源
2015-04-09 09:05:23
Cat
卡爾曼濾波器可應用於n維問題,所以不是限制。你必須找出你的腿機器人的動作模型。如果它是非線性的,則可以嘗試應用擴展卡爾曼濾波器。例如,什麼是「腿跟隨者」機器人?一個遵循人類腿部的機器人?它是一個跟隨線條的機器人嗎?它是一個附着在人腿上的機器人並估計其位置? 沒有關於您的問題的任何進一步信息,很難確定您的具體問題,並且我毫不猶豫地將您鏈接到卡爾曼濾波器上的維基百科文章。 – 2015-04-05 21:16:53