卡爾曼濾波應用於自動駕駛

2020-12-04 AI火箭營

自動駕駛車輛由各種裝置組成,通過該裝置收集數據並執行動作。下圖顯示了車輛中使用的少數重要部件的位置。

自主車輛的組成部分

卡爾曼濾波器使用的數據來自LIDARRADAR 。所以現在只關注這兩個方面。

為何使用卡爾曼濾波器?

我們可以使用卡爾曼濾波器進行有根據的猜測,在我們對某些動態系統有不確定信息的任何地方,系統將要做什麼。在自主車輛的情況下,卡爾曼濾波器可用於根據我們的車輛接收的數據預測我們的自動駕駛車輛前方的車輛將採取的下一組動作。這是一個使用兩步預測和更新的迭代過程。

由於以下因素,它主要適用於這些類型的操作:

它只根據以前的狀態預測下一個狀態,不需要歷史數據 計算速度非常快,非常適合實時問題 即使環境中出現大量噪聲/誤差/不確定性,卡爾曼濾波器也會使用得到很好的結果我將概述所有這些工作如何通過一個示例來幫助你理解它背後的數學。

卡爾曼濾波器如何工作?

卡爾曼濾波器是一個迭代過程,遵循兩步預測和更新

迭代過程的流程圖

預測:

在該步驟中,卡爾曼濾波器根據初始值預測新值,然後根據系統中存在的各種過程噪聲預測我們預測中的不確定性/誤差/方差。

在自動駕駛過程中,可以通過採用我們車輛前方移動的汽車的簡單示例來理解噪音。我們的模型將假設汽車由於零加速而以恆定速度移動,但實際上它將具有加速度,即速度將不時波動。這種汽車加速度的這種變化是不確定性/誤差/方差,我們使用過程噪聲將其引入我們的系統。

更新:

在此步驟中,我們從系統的設備中獲取實際測量值。在自動駕駛車輛的情況下,這些設備可以是雷達或雷射雷達。然後我們計算預測值和測量值之間的差值,然後通過計算卡爾曼增益來決定保持哪個值,即預測值或測量值根據卡爾曼增益做出的決定,我們計算新值和新的不確定性/誤差/方差。

來自更新步驟的該輸出再次反饋到預測步驟,並且該過程繼續直到預測值和測量值之間的差異傾向於轉換為零。該計算值將是由卡爾曼濾波器完成的預測

卡爾曼增益:它確定我們的預測值或測量值是否接近實際值。其值範圍為0到1。如果其值接近0則表示預測值接近實際值,或者如果該值接近1則表示最終測量值接近實際值。它的值範圍從0到1,因為它使用預測值和測量值中的不確定性/誤差,並由下面的簡單公式表示。

K =預測誤差/(預測誤差+測量誤差)

自動駕駛車中卡爾曼濾波器的實現

在此我們將嘗試根據我們迄今為止的信息,了解卡爾曼濾波器如何在自動駕駛汽車中使用。

讓我們假設一個2D環境,其中我們有一輛汽車和一個行人移動,如下所示:

汽車和行人的二維表示

p_x和p_y確定2D位置,v_x和v_y確定行人的2D速度。這可以表示為x =(p_x,p_y,v_x,v_y)。我們必須預測行人的2D位置(p_x',p_y')和2D速度(v_x',v_y'),即x'

由於狀態向量僅模擬位置和速度,我們還需要具有不確定性/噪聲以便對加速度建模,這由過程協方差矩陣P完成

預測步驟:使用以下公式計算預測值x'和預測誤差P'也稱為過程協方差矩陣:

x'= Fx +B.μ+ν

P'=FPF+ Q.

F:狀態轉換矩陣

它用於將狀態向量矩陣從一種形式轉換為另一種形式。即,假設車輛的狀態由位置p和速度v給出,並且在時間t不加速。

X = [p,v]

在特定時間之後說t + 1,新的狀態向量X'將是

p'= p + v *Δt

V'= V

在矩陣中,這可以顯示如下:

x'= F * x

那麼F矩陣將由下式給出:

B:控制輸入矩陣

它確定由於外力(縱向或橫向力)和內力(重力,摩擦力等)引起的控制輸入向量μ的變化。在自動駕駛汽車的背景下,我們不能模擬外力,因為它從一個區域到另一個區域變化,而內力則從汽車的一個模型到另一個模型不同。所以大多數是B.μ= 0。

過程噪聲/不確定性

它只不過是可以確定系統中可能存在的隨機噪聲。添加它以使預測位準確。

程噪音/運動噪音

它在預測位置時給出了物體位置的不確定性。該模型假設速度在時間間隔之間是恆定的,但實際上我們知道物體的速度可以由於加速度而改變。該模型通過過程噪聲包含這種不確定性。

更新步驟:快速回顧更新步驟,我們執行以下操作:

找出實際測量值與預測值之間的差異 計算卡爾曼增益 基於卡爾曼增益的結果計算新XP 現在我們將看到這些步驟的數學實現

第1步:

y = z - Hx'

z:實際測量數據

它是來自傳感器的實際數據。

H:狀態轉移矩陣

與F相同,我們使用H來轉換狀態向量。但是在這裡我們用它來丟棄我們不需要的狀態向量的信息。例如,對於雷達所進行的測量,我們只需要關注車輛的位置,而不必擔心速度,因為雷達只擅長確定速度的位置。所以在這種情況下,對於包含車輛位置和速度的狀態向量,H矩陣將是:

第2步:

S = HP'H + + R K =P'HS-1

R:測量噪聲

測量噪聲是指傳感器測量中的不確定性,這意味著設備本身具有噪聲並且不是100%準確,因此這些噪聲測量值由設備製造商自己提供,無需更改。

S:總誤差

它是預測誤差加上測量誤差的總和。正如我們在上面的卡爾曼增益公式中看到的那樣,我們需要得到總誤差,所以這裡它是S的代表。

K:卡爾曼增益

我們通過前面已經說明的簡單公式來計算卡爾曼增益。唯一的問題是在矩陣中我們不能分開所以我們在這裡採用S - 1。

第3步:

x = x'+ Ky P =(I-KH)P'

最後,我們更新了狀態向量和協方差矩陣,並將繼續下一個預測步驟以獲得其他值。

卡爾曼濾波器的問題

卡爾曼濾波器中使用的所有這些函數都是線性的,因為它們在方程中不包括任何角度參數,因此我們可以直接將這些線性函數饋送到高斯分布以獲得高斯分布均值和方差。但在現實生活中,大多數問題都是非線性的。因此,我們不能直接將這種非線性函數饋送到高斯分布,因為它將導致非高斯分布,並且我們將不再能夠對其應用卡爾曼濾波器。使用擴展卡爾曼濾波解決了卡爾曼濾波器中的非線性問題。

相關焦點

  • 車載毫米波雷達之大話卡爾曼濾波
    而今自動駕駛技術蓬勃發展,讓越來越多人關注行車安全。核心傳感器之一——毫米波雷達,在自動駕駛技術中扮演著舉足輕重的作用。毫米波雷達在實際應用中,當在對目標進行距離、角度測量時,往往會受到多因素影響,一旦處理不好,就會產生漏警或虛警等結果,其後果是相當嚴重的!所以,卡爾曼濾波在毫米波雷達的應用上,就扮演著至關重要的角色。
  • 卡爾曼濾波算法解析(一)
    在工程領域,只要涉及到信號處理問題,都繞不開一個人,那就是卡爾曼,雖然卡爾曼提出的估計理論已經過去八九十年之久
  • 卡爾曼與卡爾曼濾波
    卡爾曼濾波的一個典型實例是從一組有限的,包含噪聲的,對物體位置的觀察序列(可能有偏差)預測出物體的位置的坐標及速度。在很多工程應用(如雷達、計算機視覺)中都可以找到它的身影。同時,卡爾曼濾波也是控制理論以及控制系統工程中的一個重要課題。
  • 詳解卡爾曼濾波原理
    原文連結:https://blog.csdn.net/u010720661/article/details/63253509在網上看了不少與卡爾曼濾波相關的博客、論文,要麼是只談理論、缺乏感性,或者有感性認識,缺乏理論推導。
  • 深度解讀:卡爾曼濾波原理
    原文連結:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/我不得不說說卡爾曼濾波,因為它能做到的事情簡直讓人驚嘆!意外的是很少有軟體工程師和科學家對對它有所了解,這讓我感到沮喪,因為卡爾曼濾波是一個如此強大的工具,能夠在不確定性中融合信息,與此同時,它提取精確信息的能力看起來不可思議。
  • 卡爾曼濾波應用實例
    打開APP 卡爾曼濾波應用實例 發表於 2017-10-30 09:27:47
  • 卡爾曼濾波是怎麼回事?
    小編準時送知識到~每天三分鐘,就學一點點~----濾波關於濾波,一位自知乎大神這樣說:一位專業課的教授給我們上課的時候,曾談到:filtering is weighting(濾波即加權)。濾波的作用就是給不同的信號分量不同的權重。
  • 透徹理解擴展卡爾曼濾波
    卡爾曼濾波是貝葉斯濾波的一種特例,是在線性濾波的前提下,以最小均方誤差為最佳準則的。估計線性高斯模型,是對線性模型和高斯分布的優化方法。邊緣分布和條件分布的模型:卡爾曼濾波器的主要參數卡爾曼濾波器假設x(paths), z(observations)都為線性高斯的:主要參數:A是在沒有命令的情況下,由於環境因素造成的機器人的位置移動。
  • 卡爾曼濾波,如此強大的工具,你值得弄懂!
    原文連結:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/我不得不說說卡爾曼濾波,因為它能做到的事情簡直讓人驚嘆!意外的是很少有軟體工程師和科學家對對它有所了解,這讓我感到沮喪,因為卡爾曼濾波是一個如此強大的工具,能夠在不確定性中融合信息,與此同時,它提取精確信息的能力看起來不可思議。
  • 中科大發展出基於卡爾曼濾波的實時地震定位算法
    為此,中國科學技術大學地球和空間科學學院、地震與地球內部物理實驗室、科技部蒙城野外觀測站張海江教授研究組與加拿大卡爾加裡大學David Eaton教授合作,發展了一種基於卡爾曼濾波的實時地震定位算法。新的實時地震定位算法把基於地震震相到時的線性地震定位算法表示為信號處理中常用的卡爾曼濾波系統,可以實現當一個新的臺站被觸發後,地震的位置和發震時刻及對應的不確定性可以實時地進行估算。實時地震定位的初始地震位置假定為第一個觸發的地震臺站。新的算法利用合成地震數據以及美國加州Parkfield地區發生的地震進行了有效性測試。
  • 卡爾曼濾波的原理
    我們現在要學習的卡爾曼濾波器,正是源於他的博士論文和1960年發表的論文《A New Approach to Linear Filtering and Prediction Problems》(線性濾波與預測問題的新方法)。簡單來說,卡爾曼濾波器是一個「optimal recursive data processing algorithm(最優化自回歸數據處理算法)」。
  • 卡爾曼濾波及其衍生算法在SOC估計中的應用
    卡爾曼濾波作為一種去除幹擾數據,獲得優質估計結果的優秀算法,在許多領域得到應用。無人機定位、實驗數據處理以及動力電池的SOC、SOH等,需要作出參數估計的領域都有應用。本文意在初步的表述我可以理解到的卡爾曼濾波及其衍生算法的物理意義和算法間的區別。
  • 技術|基於改進擴展卡爾曼濾波的鋰電池SOC估計
    傳統的擴展卡爾曼濾波算法(EKF)算法是採用固定的模型參數進行SOC估計,在電池放電末期,電池極化作用會導致電池的模型參數發生變化,此時用傳統的EKF算法估計SOC,尾端的誤差將會變大。本文提出了一種改進的擴展卡爾曼濾波算法,先利用遺忘因子最小二乘法估計電池模型參數,再將估計的模型參數與電池電壓、電流進行局部加權回歸(Lowess)擬合,用擬合的函數計算每組電壓、電流所對應的模型參數,以此減小模型參數變化帶來的影響。
  • 一文概覽自動駕駛汽車定位技術
    本文將介紹自動駕駛汽車的定位技術,主要包括GNSS(全球導航衛星系統),RTK(實時運動定位)和慣性導航。定位,是讓自動駕駛汽車找到自身確切位置的方法,這對自動駕駛汽車來說非常重要。當你在駕駛一輛車時徹底迷路了,你不知道自己在哪兒,而這時你有一張全球的高精度地圖,定位的任務就是確定你的車輛在這張高精度地圖上的位置。
  • 深度解讀:卡爾曼濾波,如此強大的工具 你值得弄懂!
    意外的是很少有軟體工程師和科學家對對它有所了解,這讓我感到沮喪,因為卡爾曼濾波是一個如此強大的工具,能夠在不確定性中融合信息,與此同時,它提取精確信息的能力看起來不可思議。什麼是卡爾曼濾波?你可以在任何含有不確定信息的動態系統中使用卡爾曼濾波,對系統下一步的走向做出有根據的預測,即使伴隨著各種幹擾,卡爾曼濾波總是能指出真實發生的情況。
  • 看完這篇卡爾曼濾波原理,我被驚到了!
    在網上看了不少與卡爾曼濾波相關的博客、論文,要麼是只談理論、缺乏感性,或者有感性認識,缺乏理論推導。能兼顧二者的少之又少,直到我看到了國外的一篇博文,真的驚豔到我了,不得不佩服作者這種細緻入微的精神,翻譯過來跟大家分享一下。 我不得不說說卡爾曼濾波,因為它能做到的事情簡直讓人驚嘆!
  • 深度解讀:卡爾曼濾波,如此強大的工具 你值得弄懂
    意外的是很少有軟體工程師和科學家對對它有所了解,這讓我感到沮喪,因為卡爾曼濾波是一個如此強大的工具,能夠在不確定性中融合信息,與此同時,它提取精確信息的能力看起來不可思議。什麼是卡爾曼濾波?你可以在任何含有不確定信息的動態系統中使用卡爾曼濾波,對系統下一步的走向做出有根據的預測,即使伴隨著各種幹擾,卡爾曼濾波總是能指出真實發生的情況。
  • 卡爾曼濾波在電容觸控螢幕坐標定位中的應用
    結果表明,卡爾曼濾波確實能夠有效去除噪聲,從而提高觸控螢幕坐標定位的準確性,具有很高的實用性。為此,針對主要影響因素——系統噪聲進行濾波,還原初始數據的有效信號有利於提高觸控螢幕的坐標定位準確度。在眾多的濾波方法中,經過實驗分析和對比,最終證實,卡爾曼濾波在還原原始數據和算法實現方面都有較好的優勢。
  • 深入淺出講解卡爾曼濾波(附Matlab程序)
    在學習卡爾曼濾波器之前,首先看看為什麼叫「卡爾曼」。跟其他著名的理論(例如傅立葉變換,泰勒級數等等)一樣,卡爾曼也是一個人的名字,而跟他們不同的是,他是個現代人!學過控制的應該都知道,卡爾曼是現代控制理論的奠基人!卡爾曼全名Rudolf Emil Kalman,匈牙利數學家,1930年出生於匈牙利首都布達佩斯。
  • 金融時序預測:狀態空間模型和卡爾曼濾波
    在考慮狀態空間架構時,通常我們感興趣的有三個主要方面: 預測,預測狀態的後續值 濾波,根據過去和現在的觀測值來估計狀態的當前值 平滑,根據觀測值估計狀態的過去值 我們將使用卡爾曼濾波器來執行上述各種類型的推理。