1. 程式人生 > >擴充套件卡爾曼濾波EKF與多感測器融合

擴充套件卡爾曼濾波EKF與多感測器融合

Extended Kalman Filter(擴充套件卡爾曼濾波)是卡爾曼濾波的非線性版本。在狀態轉移方程確定的情況下,EKF已經成為了非線性系統狀態估計的事實標準。本文將簡要介紹EKF,並介紹其在無人駕駛多感測器融合上的應用。

這裡寫圖片描述

KF與EKF

本文假定讀者已熟悉KF,若不熟悉請參考卡爾曼濾波簡介

KF與EKF的區別如下:

  1. 預測未來:x=Fx+ux=f(x,u)代替;其餘FFj代替。
  2. 修正當下:將狀態對映到測量的Hxh(x)代替;其餘HHj代替。

其中,非線性函式f(x,u)h(x)用非線性得到了更精準的狀態預測值、對映後的測量值;線性變換FjHj通過線性變換使得變換後的x

z仍滿足高斯分佈的假設。

FjHj計算方式如下:

Fjb=f(x,u)x=h(x)x

這裡寫圖片描述

為什麼要用EKF

KF的假設之一就是高斯分佈的x預測後仍服從高斯分佈,高斯分佈的x變換到測量空間後仍服從高斯分佈。可是,假如FH是非線性變換,那麼上述條件則不成立。

將非線性系統線性化

既然非線性系統不行,那麼很自然的解決思路就是將非線性系統線性化。

對於一維繫統,採用泰勒一階展開即可得到:

f(x)f(μ)+f(μ)x(xμ)

對於多維繫統,仍舊採用泰勒一階展開即可得到:

T(x)f(a)+(xa)TDf(a)

其中,Df(a)是Jacobian矩陣。

多感測器融合

lidar與radar

本文將以汽車跟蹤為例,目標是知道汽車時刻的狀態x=(px,py,vx,vy)。已知的感測器有lidar、radar。

  • lidar:笛卡爾座標系。可檢測到位置,沒有速度資訊。其測量值z=(px,py)
  • radar:極座標系。可檢測到距離,角度,速度資訊,但是精度較低。其測量值z=(ρ,ϕ,ρ˙),圖示如下。

這裡寫圖片描述

感測器融合步驟

這裡寫圖片描述

步驟圖如上所示,包括:

  1. 收到第一個測量值,對狀態x進行初始化。
  2. 預測未來
  3. 修正當下

初始化

初始化,指在收到第一個測量值後,對狀態x進行初始化。初始化如下,同時加上對時間的更新。

對於radar來說,

pxpyvxvy=10000100[pxpy]

對於radar來說,

pxpyvxvy=ρcosϕρsinϕρ˙cosϕρ

相關推薦

擴充套件濾波EKF感測器融合

Extended Kalman Filter(擴充套件卡爾曼濾波)是卡爾曼濾波的非線性版本。在狀態轉移方程確定的情況下,EKF已經成為了非線性系統狀態估計的事實標準。本文將簡要介紹EKF,並介紹其在無人駕駛多感測器融合上的應用。 KF與EKF 本文假定讀

無損濾波UKF感測器融合

非線性系統狀態估計是一大難點。KF(Kalman Filter)只適用於線性系統。EKF(Extended Kalman Filter)利用泰勒展開將非線性系統線性化。可是,EKF在強非線性系統下的誤差很大。本文將介紹一種新型的濾波演算法UKF(Unscen

演算法解析:擴充套件濾波EKFKF本質分析

       瞭解卡爾曼濾波(KF)的人都應該清楚,擴充套件卡爾曼濾波(EKF)是KF的非線性情況,多做了一步線性化。一般線性化的常用方法使泰勒展開,需要一個展開的初始位置。因此KF的運動方程實際上就是求這個初始位置,但

三輪全向輪底盤SLAM挖坑系列-ekf擴充套件濾波

5000塊以上的陀螺儀可以考慮使用,或者自己買個好點的陀螺儀自己做板子,寫linux驅動,後積分為角度。下面貼一個我自己使用的launch檔案: <?xml version="1.0"?>

擴充套件濾波EKF

首先進行文件下載 仔細閱讀文件,理解文件中所述內容。 我對文件的matlab程式碼進行了簡單調整如下: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

初學者的卡濾波——擴充套件濾波

簡介 轉自:http://www.cnblogs.com/ymxiansen/p/5368547.html   已經歷經了半個世紀的卡爾曼濾波至今仍然是研究的熱點,相關的文章不斷被髮表。其中許多文章是關於卡爾曼濾波器的新應用,但也不乏改善和擴充套件濾波器演算法的研究。而對演算法的研究多著

無人駕駛四 擴充套件濾波在目標車輛運動狀態識別中的運用(python程式)

# coding=utf-8 import numpy as np import numdifftools as nd import math dataset = [] # read the measurement data, use 0.0 to stand LI

無人駕駛汽車系統入門(二)——高階運動模型和擴充套件濾波

前言:上一篇文章的最後我們提到卡爾曼濾波存在著一個非常大的侷限性——它僅能對線性的處理模型和測量模型進行精確的估計,在非線性的場景中並不能達到最優的估計效果。所以之前為了保證我們的處理模型是線性的,我們上一節中使用了恆定速度模型,然後將估計目標的加減速用處理噪聲來表示,這一模

初學者的卡濾波——擴充套件濾波(一)

簡介   已經歷經了半個世紀的卡爾曼濾波至今仍然是研究的熱點,相關的文章不斷被髮表。其中許多文章是關於卡爾曼濾波器的新應用,但也不乏改善和擴充套件濾波器演算法的研究。而對演算法的研究多著重於將卡爾曼濾波應用於非線性系統。   為什麼學界要這麼熱衷於將卡爾曼濾波器用於非線性系統呢?因為卡爾曼濾波器從一開

慣性導航——擴充套件濾波(一)

對於無人機的慣性導航系統,系統的狀態方程是非線性的,根據擴充套件卡爾曼濾波方程: Predict x^k|k−1Pk|k−1=f(x^k−1|k−1,uk−1)=Fk−1Pk−1|k−1FT

濾波(Kalman Filter)原理公式推導

公式推導 領域 公式 不一定 技術 精度 原理 應用 定性 一、背景---卡爾曼濾波的意義 隨著傳感技術、機器人、自動駕駛以及航空航天等技術的不斷發展,對控制系統的精度及穩定性的要求也越來越高。卡爾曼濾波作為一種狀態最優估計的方法,其應用也越來越普遍,如在無人機、機器人等領

025濾波濾波增益協方差陣的等價形式

  首先擺放一下前面的求解結果: (1)Kk=Pk/k−1HkT(HkPk/k−1HkT+Rk)−1 \tag{1} K_k = P_{k/k-1} H_k^T(H_k P_{k/k-1} H_k^T + R_k)^{-1} Kk​=Pk/k−1​HkT​(Hk

[PR-3]ArUco EKF SLAM 擴充套件SLAM

原文有視訊 這篇文章實現了《概率機器人》第10章中提到的EKF-SLAM演算法,更確切的說是實現了已知一致性的EKF-SLAM演算法。 ArUco EKF SLAM EKF-SLAM一般是基於路標的SLAM系統。本文使用了一種人工路標——ArUco碼。每個A

濾波原理(二):擴充套件

1、理論部分       上一篇介紹了線性卡爾曼濾波器,當系統為線性高斯模型時,濾波器能給出最優的估計,但是實際系統總是存在不同程度的非線性,如平方、三角關係、開方等。對於非線性系統,可以採用的一種方法是通過線性化方法將非線性系統轉換為近似的線性系統,即為EKF

無人駕駛汽車系統入門(一)——濾波目標追蹤

前言:隨著深度學習近幾年來的突破性進展,無人駕駛汽車也在這些年開始不斷向商用化推進。很顯然,無人駕駛汽車已經不是遙不可及的“未來技術”了,未來10年

用俗話講講濾波粒子濾波

一,卡爾曼濾波 卡爾曼濾波可以根據一些已知的量來預測未知的量,這些量受到的干擾必須得近似高斯噪聲。這個東西可以用來幹什麼呢?例如我們可以用來預測明天,後天,未來好幾天的溫度。我們可以在前幾天用溫度計記

mpu6050姿態解算濾波(1)數學

定義地理座標系n系:x軸指向東,y軸指向北,z軸指向天。在mpu6050晶片上定義載體座標系b系。那麼b系的姿態就是指n系與b系相對的旋轉關係,即如何由n系旋轉到b系。 描述這種旋轉關係通常使用尤拉角(ψ,θ,γ)T,姿態矩陣T(3x3),四元數Q=(q0,q

濾波實現多項式擬合Matlab

nom and kalman ffi 樣本 矩陣 協方差 數組 fontsize %%%%%%%%%%%%%Q3:多項式系數估計%%%%%%%%%%%%%%%% %%%%%%%%%%2016/07/21%%%%%%%%%%%%%%%%%%% clc;clear;

濾波的一個簡單demo: 恒定加速度模型

obi vtt efk rtp end atp cee cdn bs4 p { margin-bottom: 0.1in; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: left }