ESKF中关于状态reset的一些理解

ESKF最后估计出来的后验误差状态为: δ X ∼ N ( δ X ^ , P ^ ) \delta X \sim N(\hat {\delta X},\hat P) δXN(δX^,P^)
将误差状态injection到nominal 状态后,误差状态需要被重置,用于下一次的卡尔曼迭代,也就是所谓的reset,数学表达为: δ X + = δ X ⊖ δ X ^ = g ( δ X ) \delta X^+=\delta X \ominus \hat {\delta X}=g(\delta X) δX+=δXδX^=g(δX)
也就是重置后的状态为 δ X + \delta X^+ δX+,也同样是一个高斯分布的随机变量。
但是我们实际关心是这个高斯随机变量的均值和协方差阵,然而, g ( δ X ) g(\delta X) g(δX)并不能保证是一个线性函数,因此首先想到的便是进行泰勒展开线性化,由于 δ X \delta X δX是高斯随机变量,因此我们因该对 δ X \delta X δX进行泰勒展开,线性化点位于 δ X ^ \hat {\delta X} δX^处,展开后如下:
δ X + = g ( δ X ) = g ( δ X ^ ) + ∂ g ( δ X ) ∂ δ X ∣ δ X ^ ( δ X − δ X ^ ) = g ( δ X ^ ) + G ( δ X − δ X ^ ) \delta X^+=g(\delta X)=g(\hat {\delta X})+\frac{\partial g(\delta X)}{\partial \delta X}|_{\hat {\delta X}}(\delta X - \hat {\delta X})\\=g(\hat {\delta X})+G(\delta X - \hat {\delta X}) δX+=g(δX)=g(δX^)+δXg(δX)δX^(δXδX^)=g(δX^)+G(δXδX^)
则均值为: E ( δ X + ) = g ( δ X ^ ) E(\delta X^+)=g(\hat {\delta X}) E(δX+)=g(δX^)
方差: P = E ( ( δ X + − E ( δ X + ) ) ( δ X + − E ( δ X + ) T ) = G P ^ G T P=E((\delta X^+-E(\delta X^+))(\delta X^+-E(\delta X^+)^T)=G\hat P G^T P=E((δX+E(δX+))(δX+E(δX+)T)=GP^GT
显然,对于各个状态, g ( δ X ^ ) = δ X ^ ⊖ δ X ^ = 0 g(\hat {\delta X})=\hat {\delta X} \ominus \hat {\delta X}=0 g(δX^)=δX^δX^=0,即reset后误差状态的均值为0
G = ∂ g ( δ X ) ∂ δ X ∣ δ X ^ G=\frac{\partial g(\delta X)}{\partial \delta X}|_{\hat {\delta X}} G=δXg(δX)δX^,显然,对于 P , V , b i a s P,V,bias P,V,bias等具有线性性质的变量来说,这个偏导数就是单位阵,但是对于 δ θ \delta \theta δθ来说, δ θ ⊖ δ θ ^ ≠ δ θ − δ θ ^ \delta \theta \ominus \hat {\delta \theta}\neq\delta \theta -\hat {\delta \theta} δθδθ^=δθδθ^,因此, G G G可以写做:
G = [ I 6 0 0 0 ∂ δ θ ⊖ δ θ ^ ∂ δ θ ∣ δ θ ^ 0 0 0 I 9 ] G=\begin{bmatrix}I_6&0&0\\0&\frac{\partial \delta \theta \ominus \hat {\delta \theta}}{\partial \delta \theta}|_{\hat {\delta \theta}} &0\\0&0&I_9\end{bmatrix} G= I6000δθδθδθ^δθ^000I9
那么接下来的关键就在于求解 ∂ δ θ ⊖ δ θ ^ ∂ δ θ ∣ δ θ ^ \frac{\partial \delta \theta \ominus \hat {\delta \theta}}{\partial \delta \theta}|_{\hat {\delta \theta}} δθδθδθ^δθ^这一项了。
其中:
δ θ ⊖ δ θ ^ = δ θ + \delta \theta \ominus \hat {\delta \theta}=\delta \theta^+ δθδθ^=δθ+
而状态的真实值是不变的,因此有: q + ⊗ q ( δ θ + ) = q ⊗ q ( δ θ ) q^+\otimes q(\delta \theta^+)=q\otimes q(\delta \theta) q+q(δθ+)=qq(δθ) q + = q ⊗ q ( δ θ ^ ) q^+=q \otimes q(\hat {\delta \theta}) q+=qq(δθ^),因此有: q ( δ θ + ) = q ( δ θ ^ ) ∗ ⊗ q ( δ θ ) = [ q ( δ θ ^ ) ∗ ] L q ( δ θ ) q(\delta \theta^+)=q(\hat {\delta \theta})^*\otimes q(\delta \theta)=[q(\hat {\delta \theta})^*]_Lq(\delta \theta) q(δθ+)=q(δθ^)q(δθ)=[q(δθ^)]Lq(δθ)即: [ 1 δ θ + 2 ] = [ 1 δ θ ^ T 2 − δ θ ^ 2 I − [ δ θ ^ 2 ] × ] [ 1 δ θ 2 ] \begin{bmatrix}1\\\frac{\delta \theta ^+}{2} \end{bmatrix}=\begin{bmatrix}1&\frac{\hat {\delta \theta}^T}{2} \\ -\frac{\hat {\delta \theta}}{2}&I-[\frac{\hat {\delta \theta}}{2}]_\times\end{bmatrix}\begin{bmatrix}1\\\frac{\delta \theta }{2} \end{bmatrix} [12δθ+]=[12δθ^2δθ^TI[2δθ^]×][12δθ]
展开后整理可得: δ θ + = − δ θ ^ + ( I − [ δ θ ^ 2 ] × ) δ θ \delta \theta^+=-\hat {\delta \theta}+(I-[\frac{\hat {\delta \theta}}{2}]_\times)\delta \theta δθ+=δθ^+(I[2δθ^]×)δθ
与是 ∂ δ θ ⊖ δ θ ^ ∂ δ θ ∣ δ θ ^ = ∂ δ θ + ∂ δ θ ∣ δ θ ^ = I − [ δ θ ^ 2 ] × \frac{\partial \delta \theta \ominus \hat {\delta \theta}}{\partial \delta \theta}|_{\hat {\delta \theta}}=\frac{\partial \delta \theta ^+}{\partial \delta \theta}|_{\hat {\delta \theta}}=I-[\frac{\hat {\delta \theta}}{2}]_\times δθδθδθ^δθ^=δθδθ+δθ^=I[2δθ^]×
将上式带入到G的表达式中,可得:
G = [ I 6 0 0 0 I − [ δ θ ^ 2 ] × 0 0 0 I 9 ] G=\begin{bmatrix}I_6&0&0\\0&I-[\frac{\hat {\delta \theta}}{2}]_\times&0\\0&0&I_9\end{bmatrix} G= I6000I[2δθ^]×000I9
最后,误差状态reset的总结如下:
1、reset后均值为0。
2、reset后协方差为 G P ^ G T G\hat P G^T GP^GT
3、由于 δ θ ^ \hat {\delta \theta} δθ^很小,因此,大部分情况下也可以将 G G G近似为单位阵。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值