解读卡尔曼滤波
一:统计学的基础
-
均值和期望值
均值 Mean 和 期望值 Expected Value 是两个相似但不相同的概念。
-
均值 Mean
比方说我们有5枚硬币:2枚5分和3枚10分。我们很容易就能计算出它们的均值。
μ = 1 N ∑ n = 1 N V n = 1 5 ( 5 + 5 + 10 + 10 + 10 ) = 8 分 μ= \frac{1}{N} \sum _{n=1}^{N}V_{n}= \frac{1}{5} \left( 5+5+10+10+10 \right) = 8分 μ=N1∑n=1NVn=51(5+5+10+10+10)=8分
-
期望值 Expected Value
现在比方说一个人测量了5次体重,5次的结果分别是:79.8kg,80kg,80.1kg,79.8kg,和80.2kg
E = 1 N ∑ n = 1 N W n = 1 5 ( 79.8 + 80 + 80.1 + 79.8 + 80.2 ) = 79.98 k g E= \frac{1}{N} \sum _{n=1}^{N}W_{n}= \frac{1}{5} \left( 79.8+80+80.1+79.8+80.2 \right) =79.98kg E=N1∑n=1NWn=51(79.8+80+80.1+79.8+80.2)=79.98kg
-
-
方差与标准差
-
方差(字母 σ2) Variance ::用来衡量一组数据的离散程度
σ 2 = 1 N ∑ n = 1 N ( x n − μ ) 2 \sigma^{2}= \frac{1}{N} \sum _{n=1}^{N} \left( x_{n}- \mu \right) ^{2} σ2=N1n=1∑N(xn−μ)2
-
标准差(字母 σ) ::Standard Deviation 是方差的算数平方根
σ = 1 N ∑ n = 1 N ( x n − μ ) 2 \sigma =\sqrt[]{\frac{1}{N} \sum _{n=1}^{N} \left( x_{n}- \mu \right) ^{2}} σ=N1n=1∑N(xn−μ)2
-
-
正态分布(高斯分布)
-
分布密度区间:
- 68.26%的值位于距均值的一个标准差内
- 95.44%的值位于距均值的两个标准差内。
- 99.74%的值位于距均值的三个标准差内。
-
概率密度函数(PDF)
f ( x ; μ , σ 2 ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 f \left( x; \mu , \sigma ^{2} \right) = \frac{1}{\sqrt[]{2 \pi \sigma ^{2}}}e^{\frac{- \left( x- \mu \right) ^{2}}{2 \sigma ^{2}}} f(x;μ,σ2)=2πσ21e2σ2−(x−μ)2
-
二: α − β − γ α−β−γ α−β−γ滤波器
x x x 是重量的真实值
z n z_{n} zn 是第 n n n 次称重的测量值
x ^ n , n \hat{x}_{n,n} x^n,n 是第 n n n 次 x x x 的估计值(测量出 z n z_{n} zn 后进行估算)
x ^ n , n − 1 \hat{x}_{n,n-1} x^n,n−1 是 x x x 的先验估计值,在时间 n − 1 n-1 n−1 时计算出(测量出 z n − 1 z_{n-1} zn−1 后进行估算)
x ^ n + 1 , n \hat{x}_{n+1,n} x^n+1,n 是对未来 ( n + 1 n+1 n+1 ) 时 x x x 的估计。在第 n n n次测量出 z n z_{n} zn 后进行估算。换言之, x ^ n + 1 , n \hat{x}_{n+1,n} x^n+1,n是一个预测值
-
状态更新方程:卡尔曼滤波的第一个方程
x ^ n , n = x ^ n , n − 1 + α n ( z n − x ^ n , n − 1 ) \hat{x}_{n,n}= \hat{x}_{n,n-1}+ \alpha _{n} \left( z_{n}-\hat{x}_{n,n-1} \right) x^n,n=x^n,n−1+αn(zn−x^n,n−1) -
状态外推方程State Extrapolation Equation:: 卡尔曼滤波的第二个方程
x n + 1 = x n + Δ t x ˙ n x_{n+1}= x_{n}+ \Delta t\dot{x}_{n} xn+1=xn+Δtx˙n
d o t x n + 1 = x ˙ n dot{x}_{n+1}= \dot{x}_{n} dotxn+1=x˙n
三:一维卡尔曼滤波器
无过程噪声的一维卡尔曼滤波器
-
测量误差(measurement uncertainty):r
-
估计误差(estimate uncertainty):p
-
卡尔曼增益方程:卡尔曼滤波的第三个器方程
K n = U n c e r t a i n t y i n E s t i m a t e U n c e r t a i n t y i n E s t i m a t e + U n c e r t a i n t y i n M e a s u r e m e n t = p n , n − 1 p n , n − 1 + r n K_{n}= \frac{Uncertainty \quad in \quad Estimate}{Uncertainty \quad in \quad Estimate \quad + \quad Uncertainty \quad in \quad Measurement}= \frac{p_{n,n-1}}{p_{n,n-1}+r_{n}} Kn=UncertaintyinEstimate+UncertaintyinMeasurementUncertaintyinEstimate=pn,n−1+rnpn,n−1
p n , n − 1 p_{n,n-1} pn,n−1 is the extrapolated estimate uncertainty
r n r_{n} rn is the measurement uncertainty-
卡尔曼增益是一个介于 0 和 1 之间的数字:
0 ≤ K n ≤ 1 0 \leq K_{n} \leq 1 0≤Kn≤1
-
卡尔曼增益告诉我们
-
-
协方差更新方程 : 卡尔曼滤波的第四个器方程
- 测量误差远大于估计误差,卡尔曼增益会很低,因此估计不确定度的收敛会很慢。
- 估计误差远大于测量误差,卡尔曼增益会很高,估计不确定度会很快收敛到零。
p n , n = ( 1 − K n ) p n , n − 1 p_{n,n}=~ \left( 1-K_{n} \right) p_{n,n-1} pn,n= (1−Kn)pn,n−1
K n K_{n} Kn 是卡尔曼增益
p n , n − 1 p_{n,n-1} pn,n−1 是在先前滤波器估计期间计算的估计不确定性
p n , n p_{n,n} pn,n 是当前状态的估计不确定性
-
协方差外推方程:估计不确定性外推方程
p n + 1 , n x = p n , n x + Δ t 2 ⋅ p n , n v p_{n+1,n}^{x}= p_{n,n}^{x} + \Delta t^{2} \cdot p_{n,n}^{v} pn+1,nx=pn,nx+Δt2⋅pn,nv
p n + 1 , n v = p n , n v p_{n+1,n}^{v}= p_{n,n}^{v} pn+1,nv=pn,nvp x p^{x} px 是位置估计不确定性
p v p^{v} pv 是速度估计的不确定性
-
卡尔曼滤波流程图