卡爾曼濾波算法解析(一)

2021-01-14 無人機系統技術

    

在工程領域,只要涉及到信號處理問題,都繞不開一個人,那就是卡爾曼,雖然卡爾曼提出的估計理論已經過去八九十年之久,但是在如今的資訊時代,卡爾曼濾波依舊是機器人導航中最為常見的一種算法。


我們都知道無論是自動駕駛汽車還是自主飛行的無人機,都需要知道自己的位置、速度、航向等信息才能實現自動駕駛、自主飛行。那我們是如何得到這些位置、速度、航向的信息呢,一般有兩種形式:一種是通過傳感器進行測量,還有一種是通過運動狀態模型進行預估。


傳感器測量的方式有多種多樣,比如測量位置信息的傳感器有GPS、視覺傳感器、雷達等。但我們都知道傳感器測量出來的數據是存在誤差的,假如你有一個傳感器GPS,這時候你得到的GPS信息:經度、緯度、高度跟實際值是有誤差的,而這個誤差如果剛好符合正態分布,那就能通過卡爾曼估計得到一個最優解。


假如你有兩個傳感器,測的都是同一個位置信號,可是它們每次的讀數都不太一樣,應該怎麼辦呢?最直觀的方法是取平均值,但如果你知道其中一個傳感器要貴很多,測量得到的值也要更加準確,那取平均是不是對貴的那個傳感器不公平?有沒有更好的辦法?當然有了,那就是不同權重的平均,也就是加權平均。


如何進行加權?我們還是假設兩個傳感器的誤差都符合正態分布,而且你通過測量知道這兩個正態分布的方差,利用這兩個方差值,我們可以得到一個「最優」的權重分配。當我們擁有多個傳感器來測量相同狀態時,方法也是一樣的。


我們上面提到了,除了傳感器可以測量我們的狀態量之外,還有一種方式是通過運動模型的預估,比如,已知上一秒飛機的位置,和這一秒內飛機的運動速度,我們是不是就可以根據最簡單的δp=v*t來得到這一秒內飛機的位置變化,疊加上一秒鐘飛機的位置就可以知道現在飛機的位置信息。但數學模型算出來的值也沒有那麼準確,這時候我們就可以把數學模型算出來的值和傳感器測量得到的值進行加權平均。


卡爾曼濾波是一種最小方差無偏估計,要求噪聲誤差滿足正態分布,而實際環境中,大部分噪聲誤差都可以近似為正態分布,這也是為什麼卡爾曼濾波能夠很好地發揮作用的原因,卡爾曼濾波的最大缺陷是只適用於線性系統,而實際對象中大部分都是非線性系統,對於非線性系統,在卡爾曼濾波的基礎上衍生出了擴展卡爾曼濾波算法,兩者在原理上基本相同,關於擴展卡爾曼濾波算法有時間再做論述。


本篇內容就先到這裡,後面有時間會再更新三到四篇卡爾曼濾波的相關內容:

1、卡爾曼濾波公式的簡單推導說明,舉例說明卡爾曼濾波的實現過程;

2、卡爾曼濾波的matlab代碼或者c++代碼的具體實現和解析說明;

3、擴展卡爾曼濾波的推導和具體實現方法。


Long-press QR code to transfer me a reward

不要人誇好顏色,只留清氣滿乾坤

As required by Apple's new policy, the Reward feature has been disabled on Weixin for iOS. You can still reward an Official Account by transferring money via QR code.

相關焦點

  • 卡爾曼與卡爾曼濾波
    卡爾曼濾波(Kalman filtering)一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法。由於觀測數據中包括系統中的噪聲和幹擾的影響,所以最優估計也可看作是濾波過程。數據濾波是去除噪聲還原真實數據的一種數據處理技術, Kalman濾波在測量方差已知的情況下能夠從一系列存在測量噪聲的數據中,估計動態系統的狀態.
  • 卡爾曼濾波及其衍生算法在SOC估計中的應用
    卡爾曼濾波作為一種去除幹擾數據,獲得優質估計結果的優秀算法,在許多領域得到應用。無人機定位、實驗數據處理以及動力電池的SOC、SOH等,需要作出參數估計的領域都有應用。本文意在初步的表述我可以理解到的卡爾曼濾波及其衍生算法的物理意義和算法間的區別。
  • 中科大發展出基於卡爾曼濾波的實時地震定位算法
    地震定位算法通常分為兩類:基於到時的定位和基於全波形偏移的定位。這兩類定位方法都需要事先收集多個臺站監測到的數據。但是對於實時地震應用如地震早期預警,需要地震的定位隨著更多監測臺站的觸發而實時更新地震位置及其誤差。但是傳統的基於到時和波形的地震定位方法不滿足這樣的需求。
  • 車載毫米波雷達之大話卡爾曼濾波
    所以,卡爾曼濾波在毫米波雷達的應用上,就扮演著至關重要的角色。卡爾曼&卡爾曼濾波什麼是卡爾曼濾波?卡爾曼濾波和傅立葉變換、泰勒級數一樣,都是以其發明人命名。稍微不同的是,卡爾曼是個現代人!卡爾曼是匈牙利數學家,1930年出生於匈牙利首都布達佩斯。
  • 透徹理解擴展卡爾曼濾波
    卡爾曼濾波是貝葉斯濾波的一種特例,是在線性濾波的前提下,以最小均方誤差為最佳準則的。估計線性高斯模型,是對線性模型和高斯分布的優化方法。邊緣分布和條件分布的模型:卡爾曼濾波器的主要參數卡爾曼濾波器假設x(paths), z(observations)都為線性高斯的:主要參數:A是在沒有命令的情況下,由於環境因素造成的機器人的位置移動。
  • 卡爾曼濾波是怎麼回事?
    對於更複雜的濾波,比如維納濾波,則要根據信號的統計知識來設計權重。從統計信號處理的角度,降噪可以看成濾波的一種。降噪的目的在於突出信號本身而抑制噪聲影響。從這個角度,降噪就是給信號一個高的權重而給噪聲一個低的權重。維納濾波就是一個典型的降噪濾波器。卡爾曼濾波Kalman Filter 算法,是一種遞推預測濾波算法。
  • 卡爾曼濾波的原理
    我們現在要學習的卡爾曼濾波器,正是源於他的博士論文和1960年發表的論文《A New Approach to Linear Filtering and Prediction Problems》(線性濾波與預測問題的新方法)。簡單來說,卡爾曼濾波器是一個「optimal recursive data processing algorithm(最優化自回歸數據處理算法)」。
  • 卡爾曼濾波在電容觸控螢幕坐標定位中的應用
    摘要:電容觸控螢幕在數據採集過程中不可避免地會產生系統噪聲,為了提高觸控螢幕坐標定位的精確度,在對原始數據進行定位分析前,首先採用卡爾曼濾波方法對數據進行處理,再將數據在MATLAB中用定位算法計算出觸控螢幕的坐標值,並繪製坐標點圖。
  • 深入淺出講解卡爾曼濾波(附Matlab程序)
    為了給大家能講解清楚卡爾曼濾波器,我們找到兩篇關於卡爾曼濾波器非常好的文章:第一篇來源於CSDN博客,為大家詳細的講解了卡爾曼的原理及應用,算作「深入」第二篇來源於知乎,用一個簡單的例子,通俗易懂的講解了卡爾曼濾波,算作「淺出」此外,關於卡爾曼濾波的仿真程序在EETOP論壇裡有很多,大家可以登錄論壇後搜索「卡爾曼」來查找。
  • 卡爾曼濾波應用實例
    打開APP 卡爾曼濾波應用實例 發表於 2017-10-30 09:27:47
  • 詳解卡爾曼濾波原理
    意外的是很少有軟體工程師和科學家對對它有所了解,這讓我感到沮喪,因為卡爾曼濾波是一個如此強大的工具,能夠在不確定性中融合信息,與此同時,它提取精確信息的能力看起來不可思議。什麼是卡爾曼濾波?你可以在任何含有不確定信息的動態系統中使用卡爾曼濾波,對系統下一步的走向做出有根據的預測,即使伴隨著各種幹擾,卡爾曼濾波總是能指出真實發生的情況。
  • 為什麼叫「卡爾曼」,卡爾曼濾波器算法介紹
    我們現在要學習的卡爾曼濾波器,正是源於他的博士論文和1960年發表的論文《A New Approach to Linear Filtering and Prediction Problems》(線性濾波與預測問題的新方法)。  簡單來說,卡爾曼濾波器是一個「optimal recursive data processing algorithm(最優化自回歸數據處理算法)」。
  • 技術|基於改進擴展卡爾曼濾波的鋰電池SOC估計
    ,其估計精度受訓練數據和訓練方法的影響較大;(4)卡爾曼濾波算法[10-15],通過建立電池模型實現狀態空間描述,再使用卡爾曼濾波器對狀態量進行估計,該方法是一種自回歸數據處理算法,其核心思想是對動態系統的狀態做最小均方意義上的最優估計,因此其估計精度比較高,但是其對電池模型的精度要求也比較高,同時由於該方法運算量較大,算法較為複雜,對系統處理器的要求也較高。
  • 深度解讀:卡爾曼濾波原理
    原文連結:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/我不得不說說卡爾曼濾波,因為它能做到的事情簡直讓人驚嘆!意外的是很少有軟體工程師和科學家對對它有所了解,這讓我感到沮喪,因為卡爾曼濾波是一個如此強大的工具,能夠在不確定性中融合信息,與此同時,它提取精確信息的能力看起來不可思議。
  • 為什麼叫「卡爾曼」?卡爾曼濾波器算法介紹
    我們現在要學習的卡爾曼濾波器,正是源於他的博士論文和1960年發表的論文《A New Approach to Linear Filtering and Prediction Problems》(線性濾波與預測問題的新方法)。簡單來說,卡爾曼濾波器是一個「最優化自回歸數據處理算法」。
  • 卡爾曼濾波,如此強大的工具,你值得弄懂!
    原文連結:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/我不得不說說卡爾曼濾波,因為它能做到的事情簡直讓人驚嘆!意外的是很少有軟體工程師和科學家對對它有所了解,這讓我感到沮喪,因為卡爾曼濾波是一個如此強大的工具,能夠在不確定性中融合信息,與此同時,它提取精確信息的能力看起來不可思議。
  • 金融時序預測:狀態空間模型和卡爾曼濾波
    與任何結構化過程一樣,我們需要有合適的初始點,以確保算法收斂到正確的最大值。 卡爾曼濾波算法使用了一系列隨時間變化的觀測數據,其中包含了噪聲和其他誤差,並產生了對未知變量的估計。這一估計往往比僅基於單一測量的估計更準確。使用卡爾曼濾波器並不假設誤差是高斯的;然而,在所有誤差均為高斯分布的特殊情況下,該濾波器給出了準確的條件概率估計。
  • 自適應濾波算法理解與應用
    算法背景   經典的濾波算法包括維納濾波,卡爾曼濾波,這些濾波算法都需要對輸入信號的相關係數,噪聲功率等參數進行估計,而實際中很難實現這些參數的準確估計,而這些參數的準確估計直接影響到濾波器的濾波效果。
  • 卡爾曼濾波器及多傳感狀態融合估計算法
    本文將基於Kalman 濾波的多傳感器狀態融合估計方法應用到雷達跟蹤系統。仿真實驗表明, 三個傳感器融合所獲得的估計值都更加貼近於目標信號, 因而提高了對雷達系統的跟蹤精度。  1 卡爾曼濾波器  多傳感信息融合的主要任務之一就是利用多傳感器信息進行目標的狀態估計。目前, 進行狀態估計的方法很多,Kalman 濾波器是一種常用方法。
  • 深度解讀:卡爾曼濾波,如此強大的工具 你值得弄懂!
    意外的是很少有軟體工程師和科學家對對它有所了解,這讓我感到沮喪,因為卡爾曼濾波是一個如此強大的工具,能夠在不確定性中融合信息,與此同時,它提取精確信息的能力看起來不可思議。什麼是卡爾曼濾波?你可以在任何含有不確定信息的動態系統中使用卡爾曼濾波,對系統下一步的走向做出有根據的預測,即使伴隨著各種幹擾,卡爾曼濾波總是能指出真實發生的情況。