我们将在本章中探讨在全局参考(系)中定义角度误差的含义,这与我们迄今为止使用的局部(参考系)定义相反。我们回顾了第5章和第6章的发展情况,并详细介绍了针对新定义进行更改的章节。
角速度误差 δ θ \delta \boldsymbol\theta δθ的全局定义,意味着一个左手系的组件,即 q t = δ q ⊗ q = q { δ θ } ⊗ q . \mathbf{q}_t = \delta \mathbf{q} \otimes \mathbf{q} = \mathbf{q}\{\ \delta \boldsymbol\theta\} \otimes \mathbf{q} ~~. qt=δq⊗q=q{ δθ}⊗q .
为了完整性起见,我们在连续时间内保持角速率向量 ω \boldsymbol\omega ω的局部定义,即 q ˙ = 1 2 q ⊗ ω \dot \mathbf{q} = \frac{1}{2} \mathbf{q} \otimes \boldsymbol\omega q˙=21q⊗ω,因此在离散时间内保持 q ← q ⊗ q { ω Δ t } \mathbf{q} \leftarrow \mathbf{q} \otimes \mathbf{q} \{\boldsymbol\omega \Delta t\} q←q⊗q{ωΔt},而不管角度误差是全局定义的。之所以如此是为了方便起见,因为陀螺仪提供的角速率的测量值在本体框架中,即局部的。
真实和标称状态运动学不涉及到误差,它们的方程没有变化。
我们从写误差状态运动学方程开始,然后进行评论和证明。 δ p ˙ = δ v (294a) \delta \dot \mathbf{p} =\delta \mathbf{v}\tag{294a} δp˙=δv(294a)
δ v ˙ = − [ R ( a m − b a b ) ] × δ θ − R δ a b + δ g − R a n (294b) \dot{\delta \mathbf{v}} = -[\mathbf{R}(\mathbf{a}_m - b\mathbf{a}_{b})]_\times \delta \boldsymbol\theta - \mathbf{R} \delta \mathbf{a}_b + \delta \mathbf{g} - \mathbf{R a}_n \tag{294b} δv˙=−[R(am−bab)]×δθ−Rδab+δg−Ran(294b)
δ θ ˙ = − R δ ω b − R ω n (294c) \dot{\delta \boldsymbol\theta} = - \mathbf{R} \delta \boldsymbol\omega_b - \mathbf{R} \boldsymbol\omega_n \tag{294c} δθ˙=−Rδωb−Rωn(294c)
δ a ˙ b = a w (294d) \delta \dot \mathbf{a}_{b} = \mathbf{a}_w \tag{294d} δa˙b=aw(294d)
δ ω ˙ b = ω w (294e) \delta \dot \boldsymbol\omega_{b} = \boldsymbol\omega_w \tag{294e} δω˙b=ωw(294e)
δ g ˙ = 0 . (294f) \delta \dot \mathbf{g} = 0~. \tag{294f} δg˙=0 .(294f)
【注,在式(294b)中写的是 [ R ( a m − b a b ) ] × [\mathbf{R}(\mathbf{a}_m - b\mathbf{a}_{b})]_\times [R(am−bab)]×,噪声 a b \mathbf{a}_{b} ab多了一个系数 b b b,感觉有点突兀,文章中也没有解释 b b b的含义,我有点怀疑是作者笔误(因为后面的证明结果式(299)中,并没有这个系数),但查看了其它几个文章版本,都是这么写的,又不像是作者笔误,这里存疑】
其中,再次重申,所有的方程中除了 δ v ˙ \dot{\delta \mathbf{v}} δv˙和 δ θ ˙ \dot{\delta \boldsymbol\theta} δθ˙都微不足道,重要的方程将在下面进一步展开。
方程(294b):线速度误差 我们希望确定速度误差的动力学 δ θ ˙ \dot{\delta \boldsymbol\theta} δθ˙。我们从如下关系开始
R t = ( I + [ δ θ ] × ) R + O ( ∣ ∣ δ θ ∣ ∣ 2 ) (295) \mathbf{R}_t = (\mathbf{I} + [\delta \boldsymbol\theta]_\times)\mathbf{R} + O(||\delta \boldsymbol\theta||^2) \tag{295} Rt=(I+[δθ]×)R+O(∣∣δθ∣∣2)(295)
v ˙ = R a B + g , (296) \dot\mathbf{v} = \mathbf{R} \mathbf{a}_\mathcal{B} + \mathbf{g}~,\tag{296} v˙=RaB+g ,(296)
其中,式(295)是使用全局定义的误差的 R t \mathbf{R}_t Rt的小信号近似值,且在(296)中,我们引入了 a B \mathbf{a}_\mathcal{B} aB和 δ a B \delta \mathbf{a}_\mathcal{B} δaB作为(240)和(241)中定义的本体系中的大信号和小信号加速度,就像我们对局部定义的情况所做的那样。
我们继续写 v ˙ t \dot\mathbf{v}_t v˙t的表达式(234b),它以两种不同形式(左右展开)表示,其中项 O ( ∣ ∣ δ θ ∣ ∣ 2 ) O(||\delta \boldsymbol\theta||^2) O(∣∣δθ∣∣2)忽略,
v ˙ + δ v = v ˙ t = ( I + [ δ θ ] × ) R ( a B + δ a B ) + g + δ g \dot \mathbf{v} + \delta \mathbf{v} = {\color{red} \dot \mathbf{v}_t} = (\mathbf{I} + [\delta \boldsymbol\theta]_\times) \mathbf{R}(\mathbf{a}_\mathcal{B} + \delta \mathbf{a}_\mathcal{B}) + \mathbf{g} + \delta \mathbf{g} v˙+δv=v˙t=(I+[δθ]×)R(aB+δaB)+g+δg
R a B + g + δ v ˙ = v ˙ t = R a B + R δ a B + [ δ θ ] × R a B + [ δ θ ] × R δ a B + g + δ g \mathbf{R}\mathbf{a}_\mathcal{B} + \mathbf{g} + \dot{\delta \mathbf{v}}= {\color{red} \dot \mathbf{v}_t} = \mathbf{R}\mathbf{a}_\mathcal{B} + \mathbf{R}\delta \mathbf{a}_\mathcal{B} + [\delta \boldsymbol\theta]_\times\mathbf{R}\mathbf{a}_\mathcal{B} + [\delta \boldsymbol\theta]_\times \mathbf{R}\delta \mathbf{a}_\mathcal{B} + \mathbf{g} + \delta \mathbf{g} RaB+g+δv˙=v˙t=RaB+RδaB+[δθ]×RaB+[δθ]×RδaB+g+δg
左右两边消掉 R a B + g \mathbf{R}\mathbf{a}_\mathcal{B} + \mathbf{g} RaB+g项有
δ v ˙ = R δ a B + [ δ θ ] × R ( a B + δ a B ) + δ g (297) \dot{\delta \mathbf{v}} = \mathbf{R}\delta \mathbf{a}_\mathcal{B} + [\delta \boldsymbol\theta]_\times\mathbf{R}(\mathbf{a}_\mathcal{B} + \delta \mathbf{a}_\mathcal{B}) + \delta \mathbf{g} \tag{297} δv˙=RδaB+[δθ]×R(aB+δaB)+δg(297)
消掉二阶项并改写叉乘( [ a ] × b = − [ b ] × a [\mathbf{a}]_\times \mathbf{b} = -[\mathbf{b}]_\times \mathbf{a} [a]×b=−[b]×a),我们有
δ v ˙ = R δ a B − [ R a B ] × δ θ + δ g (298) \dot{\delta \mathbf{v}} = \mathbf{R} \delta \mathbf{a}_\mathcal{B} - [\mathbf{R} \mathbf{a}_\mathcal{B} ]_\times \delta \boldsymbol\theta + \delta \mathbf{g} \tag{298} δv˙=RδaB−[RaB]×δθ+δg(298)
最终,将(240)和(241)代入上式,我们得到了速度误差导数的表达式, δ v ˙ = − [ R ( a m − a b ) ] × δ θ − R δ a b + δ g − R a n (299) {\color{red} \dot{\delta \mathbf{v}} = -[\mathbf{R}(\mathbf{a}_m - \mathbf{a}_b)]_\times \delta \boldsymbol\theta - \mathbf{R}\delta \mathbf{a}_b + \delta \mathbf{g} - \mathbf{R}\mathbf{a}_n}\tag{299} δv˙=−[R(am−ab)]×δθ−Rδab+δg−Ran(299)
方程(294c):方向误差 我们从导数方程的真实和标称定义开始, q ˙ t = 1 2 q t ⊗ ω t (300) \dot \mathbf{q}_t = \frac{1}{2} \mathbf{q}_t \otimes \boldsymbol\omega_t \tag{300} q˙t=21qt⊗ωt(300)
q ˙ = 1 2 q ⊗ ω , (301) \dot \mathbf{q} = \frac{1}{2} \mathbf{q} \otimes \boldsymbol\omega ~,\tag{301} q˙=21q⊗ω ,(301)
注意,我们使用的是全局定义的角速率误差,即 q t = δ q ⊗ q . (302) \mathbf{q}_t = \delta \mathbf{q} \otimes \mathbf{q}~.\tag{302} qt=δq⊗q .(302)
正如我们对局部定义的误差情况所做的那样,我们仍将大信号角速率和小信号角速率分组(252–253)。我们通过两种不同的方式(左右发展)计算 q t \mathbf{q}_t qt, ( δ q ⊗ q ) ˙ = q ˙ t = 1 2 q t ⊗ ω t \dot{(\delta \mathbf{q} \otimes \mathbf{q})} = {\color{red} \dot\mathbf{q}_t} = \frac{1}{2} \mathbf{q}_t \otimes \boldsymbol\omega_t (δq⊗q)˙=q˙t=21qt⊗ωt
δ q ˙ ⊗ q + δ q ⊗ q ˙ = q ˙ t = 1 2 δ q ⊗ q ⊗ ω t \dot{\delta \mathbf{q}} \otimes \mathbf{q} + \delta \mathbf{q} \otimes \dot{\mathbf{q}} = {\color{red} \dot\mathbf{q}_t} = \frac{1}{2}\delta \mathbf{q} \otimes \mathbf{q} \otimes \boldsymbol\omega_t δq˙⊗q+δq⊗q˙=q˙t=21δq⊗q⊗ωt
δ q ˙ ⊗ q + 1 2 δ q ⊗ q ⊗ ω = \dot{\delta \mathbf{q}} \otimes \mathbf{q} + \frac{1}{2}\delta \mathbf{q} \otimes \mathbf{q} \otimes \boldsymbol\omega = δq˙⊗q+21δq⊗q⊗ω=
结合 ω t = ω + δ ω \boldsymbol\omega_t = \boldsymbol\omega + \delta \boldsymbol\omega ωt=ω+δω,可简化为
δ q ˙ ⊗ q = 1 2 δ q ⊗ q ⊗ δ ω . (303) \dot{\delta \mathbf{q}} \otimes \mathbf{q} = \frac{1}{2} \delta \mathbf{q} \otimes \mathbf{q} \otimes \delta \boldsymbol\omega~.\tag{303} δq˙⊗q=21δq⊗q⊗δω .(303)
对左右两边同乘以 q ∗ \mathbf{q}^* q∗,并结合 q ⊗ δ ω ⊗ q ∗ ≡ R δ ω \mathbf{q} \otimes \delta \boldsymbol\omega \otimes \mathbf{q}^* \equiv \mathbf{R} \delta \boldsymbol\omega q⊗δω⊗q∗≡Rδω,我们可以进一步得到如下等式,
δ q ˙ = 1 2 δ q ⊗ q ⊗ δ ω ⊗ q ∗ = 1 2 δ q ⊗ ( R δ ω ) = 1 2 δ q ⊗ δ ω G , (304) \begin{aligned} \dot{\delta \mathbf{q}} =& \frac{1}{2} \delta \mathbf{q} \otimes \mathbf{q} \otimes \delta \boldsymbol\omega \otimes \mathbf{q}^* \\ =& \frac{1}{2} \delta \mathbf{q} \otimes (\mathbf{R} \delta \boldsymbol\omega) \\ =& \frac{1}{2} \delta \mathbf{q} \otimes \delta \boldsymbol\omega_G~, \end{aligned} \tag{304} δq˙===21δq⊗q⊗δω⊗q∗21δq⊗(Rδω)21δq⊗δωG ,(304)
其中 δ ω G ≜ R δ ω \delta\boldsymbol\omega_G \triangleq \mathbf{R} \delta \boldsymbol\omega δωG≜Rδω是在全局系中表示的小角速率信号。那么,
[ 0 δ θ ˙ ] = 2 δ q ˙ = δ q ⊗ δ ω G = Ω ( δ ω G ) δ q = [ 0 − δ ω G ⊤ δ ω G − [ δ ω G ] × ] [ 1 δ θ / 2 ] + O ( ∣ ∣ δ θ ∣ ∣ 2 ) , (305) \begin{aligned}\left[\begin{matrix} 0 \\ \dot{\delta \boldsymbol\theta} \end{matrix}\right] = {\color{red} 2\dot{\delta \mathbf{q}}} =& \delta \mathbf{q} \otimes \delta\boldsymbol\omega_G \\ =& \Omega(\delta \boldsymbol\omega_G) \delta \mathbf{q} \\ =& \left[\begin{matrix}0 & -\delta \boldsymbol\omega_G^\top \\ \delta \boldsymbol\omega_G & -[\delta \boldsymbol\omega_G]_\times \end{matrix}\right] \left[\begin{matrix}1 \\ \delta \boldsymbol\theta/2 \end{matrix}\right] + O(|| \delta \boldsymbol\theta||^2)~, \end{aligned} \tag{305} [0δθ˙]=2δq˙===δq⊗δωGΩ(δωG)δq[0δωG−δωG⊤−[δωG]×][1δθ/2]+O(∣∣δθ∣∣2) ,(305)
从而得到标量和向量方程 0 = δ ω G ⊤ δ θ + O ( ∣ δ θ ∣ 2 ) (306a) 0 = \delta \boldsymbol\omega_G^\top \delta \boldsymbol\theta + O(|\delta \boldsymbol\theta|^2) \tag{306a} 0=δωG⊤δθ+O(∣δθ∣2)(306a)
δ θ ˙ = δ ω G − 1 2 [ δ ω G ] × δ θ + O ( ∣ ∣ δ θ ∣ ∣ 2 ) . (306b) \dot{\delta \boldsymbol\theta} = \delta \boldsymbol\omega_G - \frac{1}{2}[\delta \boldsymbol\omega_G]_\times \delta \boldsymbol\theta + O(|| \delta \boldsymbol\theta||^2) \tag{306b}~. δθ˙=δωG−21[δωG]×δθ+O(∣∣δθ∣∣2) .(306b)
从第一个方程得到 δ ω G ⊤ δ θ = O ( ∣ ∣ δ θ ∣ ∣ 2 ) \delta \boldsymbol\omega_G^\top \delta \boldsymbol\theta = O(|| \delta \boldsymbol\theta||^2) δωG⊤δθ=O(∣∣δθ∣∣2),它是由二阶无穷下的形式,不是很有用。对第二个等式,在忽略所有二阶项后得到, δ θ ˙ = δ ω G = R δ ω . (307) \dot{\delta \boldsymbol\theta} = \delta \boldsymbol\omega_G = \mathbf{R} \delta \boldsymbol\omega \tag{307}~. δθ˙=δωG=Rδω .(307)
最终,结合式(253),我们得到了全局角速度误差的线性的动力学, δ θ ˙ = − R δ ω b − R ω n . (308) {\color{red} \dot{\delta \boldsymbol\theta} = - \mathbf{R} \delta \boldsymbol\omega_b - \mathbf{R}\boldsymbol\omega_n}~~.\tag{308} δθ˙=−Rδωb−Rωn .(308)
标称状态方程不涉及到误差,因此它于局部定义的方程误差的情况相同。
使用欧拉积分,我们得到了如下的差的方程集, δ p ← δ p + δ v Δ t (309a) \delta\mathbf{p} \leftarrow \delta\mathbf{p} +\delta \mathbf{v} \Delta t \tag{309a} δp←δp+δvΔt(309a)
δ v ← δ v + ( − [ R ( a m − a b ) ] × δ θ − R δ a b + δ g ) Δ t + v i (309b) \delta \mathbf{v} \leftarrow \delta\mathbf{v} + (-[\mathbf{R}(\mathbf{a}_m - \mathbf{a}_b)]_\times \delta\boldsymbol\theta - \mathbf{R} \delta \mathbf{a}_b + \delta \mathbf{g})\Delta t + \mathbf{v_i} \tag{309b} δv←δv+(−[R(am−ab)]×δθ−Rδab+δg)Δt+vi(309b)
δ θ ← δ θ − R δ ω b Δ t + θ i (309c) \delta\boldsymbol\theta \leftarrow \delta\boldsymbol\theta - \mathbf{R}\delta\boldsymbol\omega_b \Delta t+ \boldsymbol\theta_\mathbf{i} \tag{309c} δθ←δθ−RδωbΔt+θi(309c)
δ a b ← δ a b + a i (309d) \delta \mathbf{a}_b \leftarrow \delta \mathbf{a}_b + \mathbf{a_i} \tag{309d} δab←δab+ai(309d)
δ ω b ← δ ω b + ω i (309e) \delta \boldsymbol\omega_b \leftarrow \delta \boldsymbol\omega_b + \boldsymbol\omega_\mathbf{i} \tag{309e} δωb←δωb+ωi(309e)
δ g ← δ g . (309f) \delta\mathbf{g} \leftarrow \delta\mathbf{g}~.\tag{309f} δg←δg .(309f)
通过对上述方程进行简单的检查可得到转移矩阵, F x = [ I I Δ t 0 0 0 0 0 I − [ R ( a m − a b ) ] × Δ t − R Δ t 0 I Δ t 0 0 I 0 − R Δ t 0 0 0 0 I 0 0 0 0 0 0 I 0 0 0 0 0 0 I ] . (310) \mathbf{F_x} = \left[\begin{matrix} \mathbf{I} & \mathbf{I} \Delta t & 0 & 0 & 0 & 0 \\ 0 & \mathbf{I} & {\color{red} -[\mathbf{R}(\mathbf{a}_m - \mathbf{a}_b)]_\times \Delta t} & -\mathbf{R} \Delta t & 0 & \mathbf{I} \Delta t \\ 0 & 0 & {\color{red} \mathbf{I}} & 0 & {\color{red}-\mathbf{R}\Delta t} & 0 \\ 0 & 0 & 0 & \mathbf{I} & 0 & 0 \\ 0 & 0 & 0 & 0 & \mathbf{I} & 0 \\ 0 & 0 & 0 & 0 & 0 & \mathbf{I} \\ \end{matrix}\right]~.\tag{310} Fx=⎣⎢⎢⎢⎢⎢⎢⎡I00000IΔtI00000−[R(am−ab)]×ΔtI0000−RΔt0I0000−RΔt0I00IΔt000I⎦⎥⎥⎥⎥⎥⎥⎤ .(310)
我们发现它关于局部定义的角速率误差的三个不同之处(比较上面框出来的部分【注,即标红的部分】与式(269));这些变化总结在表4中。 在考虑到各向同性噪声以及附录E的展开后,扰动雅可比和扰动矩阵没有变化, F i = [ 0 0 0 0 I 0 0 0 0 I 0 0 0 0 I 0 0 0 0 I 0 0 0 0 ] , Q i = [ V i 0 0 0 0 Θ i 0 0 0 0 A i 0 0 0 0 Ω i ] . (311) \mathbf{F_i} = \left[\begin{matrix} 0 & 0 & 0 & 0 \\ \mathbf{I} & 0 & 0 & 0 \\ 0 & \mathbf{I} & 0 & 0 \\ 0 & 0 & \mathbf{I} & 0 \\ 0 & 0 & 0 & \mathbf{I} \\ 0 & 0 & 0 & 0 \end{matrix}\right]~,~~~~~~~~\mathbf{Q_i} = \left[\begin{matrix} \mathbf{V_i} & 0 & 0 & 0 \\ 0 & \mathbf{\Theta_i} & 0 & 0 \\ 0 & 0 & \mathbf{A_i} & 0 \\ 0 & 0 & 0 & \mathbf{\Omega_i} \end{matrix}\right]~.\tag{311} Fi=⎣⎢⎢⎢⎢⎢⎢⎡0I000000I000000I000000I0⎦⎥⎥⎥⎥⎥⎥⎤ , Qi=⎣⎢⎢⎡Vi0000Θi0000Ai0000Ωi⎦⎥⎥⎤ .(311)
考虑全局角度误差时,涉及ESKF机械的融合方程仅略有变化。我们通过ESKF校正,将误差加入标称状态以及重置步骤,来修改误差状态观测中的这些变化。
相较于局部误差定义的唯一不同是将方向关联到角度误差的观测函数的雅可比块。新的块推导如下。
使用(17-19)以及一阶近似 δ q → [ 1 1 2 δ θ ] \delta \mathbf{q} \rightarrow \left[\begin{matrix}1 \\ \frac{1}{2} \delta \boldsymbol\theta \end{matrix}\right] δq→[121δθ],四元数项 Q δ θ \mathbf{Q}_{\delta \boldsymbol\theta} Qδθ的推导如下,
Q δ θ ≜ ∂ ( δ q ⊗ q ) ∂ δ θ ∣ q = ∂ ( δ q ⊗ q ) ∂ δ q ∣ q ∂ δ q ∂ δ θ ∣ δ θ ^ = 0 (312a) \mathbf{Q}_{\delta \boldsymbol\theta} \triangleq \frac{\partial (\delta\mathbf{q} \otimes \mathbf{q})}{\partial \delta \boldsymbol\theta}|_\mathbf{q} = \frac{\partial (\delta\mathbf{q} \otimes \mathbf{q})}{\partial \delta \mathbf{q}}|_\mathbf{q}~ \frac{\partial \delta \mathbf{q}}{\partial \delta \boldsymbol\theta}|_{\hat{\delta\boldsymbol\theta}=0} \tag{312a} Qδθ≜∂δθ∂(δq⊗q)∣q=∂δq∂(δq⊗q)∣q ∂δθ∂δq∣δθ^=0(312a)
= [ q ] R 1 2 [ 0 0 0 1 0 0 0 1 0 0 0 1 ] (312b) ~~~~~~~~ = [\mathbf{q}]_R ~\frac{1}{2} \left[\begin{matrix} 0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{matrix}\right] \tag{312b} =[q]R 21⎣⎢⎢⎡010000100001⎦⎥⎥⎤(312b)
= 1 2 [ − q x − q y − q z q w q z − q y − q z q w q x q y − q x q w ] (312c) ~~~~~~~~ = \frac{1}{2} \left[\begin{matrix} -q_x & -q_y & -q_z \\ q_w & q_z & -q_y \\ -q_z & q_w & q_x \\ q_y & -q_x & q_w \end{matrix}\right] \tag{312c} =21⎣⎢⎢⎡−qxqw−qzqy−qyqzqw−qx−qz−qyqxqw⎦⎥⎥⎤(312c)
标称和误差状态的组成 x ← x ⊕ δ x ^ \mathbf{x} \leftarrow \mathbf{x} \oplus \hat{\delta \mathbf{x}} x←x⊕δx^,
p ← p + δ p (313a) \mathbf{p} \leftarrow \mathbf{p} + {\delta \mathbf{p}} \tag{313a} p←p+δp(313a)
v ← v + δ v (313b) \mathbf{v} \leftarrow \mathbf{v} + {\delta \mathbf{v}} \tag{313b} v←v+δv(313b)
q ← q { δ θ ^ } ⊗ q (313c) \mathbf{q} \leftarrow \mathbf{q} \{\hat{\delta\boldsymbol\theta}\} \otimes \mathbf{q} \tag{313c} q←q{δθ^}⊗q(313c)
a b ← a b + δ a b (313d) \mathbf{a}_{b} \leftarrow \mathbf{a}_b + {\delta \mathbf{a}_b} \tag{313d} ab←ab+δab(313d)
ω b ← ω b + δ ω b (313e) \boldsymbol\omega_{b} \leftarrow \boldsymbol\omega_b + {\delta \boldsymbol\omega_b} \tag{313e} ωb←ωb+δωb(313e)
g ← g + δ g . (313f) \mathbf{g} \leftarrow \mathbf{g} + {\delta \mathbf{g}}~~. \tag{313f} g←g+δg .(313f)
只有四元数更新的方程被影响了。表四中对此进行了总结。
根据下面进行ESKF误差均值重置,以及协方差更新, δ x ^ ← 0 (314) \hat{\delta \mathbf{x}} \leftarrow 0 \tag{314} δx^←0(314)
P ← G P G ⊤ (315) \mathbf{P \leftarrow GPG^\top} \tag{315} P←GPG⊤(315)
它的雅可比为 [ I 6 0 0 0 I + [ 1 2 δ θ ^ ] × 0 0 0 I 9 ] (316) \left[\begin{matrix} \mathbf{I}_6 & 0 & 0 \\ 0 & \mathbf{I}+ [ \frac{1}{2} \hat{\delta \boldsymbol\theta}]_\times & 0 \\ 0 & 0 & \mathbf{I}_9 \end{matrix}\right] \tag{316} ⎣⎡I6000I+[21δθ^]×000I9⎦⎤(316)
它的有意义的项在下面会进一步展开。我们的目标是得到新的角速度误差 δ θ + \delta \boldsymbol\theta^+ δθ+相对于相对于老的误差 δ θ \delta \boldsymbol\theta δθ。我们考虑到这些事实:
误差重置时真实方向不变,即 q t + ≡ q t \mathbf{q}_t^+ \equiv \mathbf{q}_t qt+≡qt。那么有: δ q + ⊗ q + = δ q ⊗ q . (317) \delta\mathbf{q}^+ \otimes \mathbf{q}^+ = \delta \mathbf{q} \otimes \mathbf{q}~~.\tag{317} δq+⊗q+=δq⊗q .(317)
观测误差已经被引入到标称状态中(见式(282c)和(123)): q + = δ q ^ ⊗ q . (318) \mathbf{q}^+ = \hat{\delta \mathbf{q}} \otimes \mathbf{q}~~.\tag{318} q+=δq^⊗q .(318)
结合这两个恒等式,我们得到了相对于老的方向向误差的新方向误差和观测到的误差 δ q ^ \hat{\delta\mathbf{q}} δq^的表达式, δ q + = δ q ⊗ δ q ^ ∗ = [ δ q ^ ∗ ] R ⋅ δ q . (319) \delta \mathbf{q}^+ = \delta \mathbf{q} \otimes \hat{\delta \mathbf{q}}^* = [\hat{\delta \mathbf{q}}^*]_R \cdot \delta \mathbf{q}~~.\tag{319} δq+=δq⊗δq^∗=[δq^∗]R⋅δq .(319)
考虑到 δ q ^ ∗ ≈ [ 1 − 1 2 δ θ ^ ] \hat{\delta \mathbf{q}}^* \approx \left[\begin{matrix} 1 \\ -\frac{1}{2}\hat{\delta \boldsymbol\theta} \end{matrix}\right] δq^∗≈[1−21δθ^],将上面的恒等式展开,
[ 1 1 2 δ θ + ] = [ 1 1 2 δ θ ^ ⊤ − 1 2 δ θ ^ I + [ 1 2 δ θ ^ ] × ] ⋅ [ 1 1 2 δ θ ] + O ( ∣ ∣ δ θ ∣ ∣ 2 ) (320) \left[\begin{matrix}1 \\ \frac{1}{2}\delta\boldsymbol\theta^+ \end{matrix}\right] = \left[\begin{matrix}1 & \frac{1}{2} \hat{\delta\boldsymbol\theta}^\top \\ -\frac{1}{2}\hat{\delta\boldsymbol\theta} & \mathbf{I} + [\frac{1}{2}\hat{\delta\boldsymbol\theta}]_\times \end{matrix}\right] \cdot \left[\begin{matrix} 1 \\ \frac{1}{2}\delta\boldsymbol\theta \end{matrix}\right] + \mathcal{O}(||\delta\boldsymbol\theta||^2) \tag{320} [121δθ+]=[1−21δθ^21δθ^⊤I+[21δθ^]×]⋅[121δθ]+O(∣∣δθ∣∣2)(320)
从而得到一个标量方程和一个向量方程, 1 4 δ θ ^ ⊤ δ θ = O ( ∣ ∣ δ θ ∣ ∣ 2 ) (312a) \frac{1}{4} \hat{\delta\boldsymbol\theta}^\top \delta\boldsymbol\theta = \mathcal{O}(||\delta\boldsymbol\theta||^2) \tag{312a} 41δθ^⊤δθ=O(∣∣δθ∣∣2)(312a)
δ θ + = − δ θ ^ + ( I + [ 1 2 δ θ ^ ] × ) δ θ + O ( ∣ ∣ δ θ ∣ ∣ 2 ) (312b) \delta\boldsymbol\theta^+ = -\hat{\delta\boldsymbol\theta} + (\mathbf{I} + \left[\begin{matrix}\frac{1}{2} \hat{\delta\boldsymbol\theta}\end{matrix}\right]_\times) \delta\boldsymbol\theta + \mathcal{O}(||\delta\boldsymbol\theta||^2) \tag{312b} δθ+=−δθ^+(I+[21δθ^]×)δθ+O(∣∣δθ∣∣2)(312b)
其中,第一个方程不是很重要,因为它只是无穷下的关系。从第二个方程可以看出 δ θ ^ + = 0 \hat{\delta \boldsymbol\theta}^+ = 0 δθ^+=0,这正是我们从重置方程中期望得到的。对应的雅可比如下, ∂ δ θ + ∂ δ θ = I + [ 1 2 δ θ ^ ] × . (322) {\color{red} \frac{\partial \delta \boldsymbol\theta^+}{\partial \delta \boldsymbol\theta} = \mathbf{I} + \left[\begin{matrix} \frac{1}{2} \hat{\delta \boldsymbol\theta} \end{matrix}\right]_\times } ~~.\tag{322} ∂δθ∂δθ+=I+[21δθ^]× .(322)
在表4中总结了其相对于局部误差的区别。
表4:与方向误差定义有关的算法修改相关:
文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第1章 文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第2章 文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第3章 文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第4章 文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第5章 文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第6章 文章翻译—基于误差状态卡尔曼滤波器的四元数运动学—第7章