【SLAM】IMU预积分的理解、手把手推导(2/4)

本章开始将会开始对IMU预积分进行详细的推导。本次的推导采用李群李代数的形式来表示旋转,对应的是ORB-SLAM3的方案。比如VINS,采用的四元数方案,可能从推导过程上看有一些不同。


IMU预积分推导

先说一下李群李代数的定义吧:

R ˙ = ϕ ∧ R \dot{\mathbf{R}}=\phi^{\wedge}\mathbf{R} R˙=ϕR

R = Exp ⁡ ( ϕ ) = exp ⁡ ( ϕ ∧ ) \mathbf{R}=\operatorname{Exp}(\phi)=\operatorname{exp}(\phi^{\wedge }) R=Exp(ϕ)=exp(ϕ)

其中, R \mathbf{R} R为李群SO(3), ϕ \phi ϕ为对应的李代数so(3),两者之间相差一个指数对数的关系。如果是 Exp ⁡ \operatorname{Exp} Exp,括号里面是李代数向量,如果是 exp ⁡ \operatorname{exp} exp,括号里面是李代数向量对应的反对称矩阵

有时候,会有用 ϕ ⃗ \vec{\phi} ϕ 的表示,其实与 ϕ \phi ϕ的含义是一致的。

PVQ增量真值

假设 i i i帧的Q、V、P分别是 R i R_i Ri v i v_i vi p i p_i pi,则可以利用从 k = i k=i k=i k = j − 1 k=j-1 k=j1帧的所有IMU测量值,直接更新得到 j j j帧的 R j R_j Rj v j v_j vj p j p_j pj,详细如下:

R j = R i ⋅ ∏ k = i j − 1 Exp ⁡ ( ( ω ~ k − b k g − η k g ) ⋅ Δ t ) \mathbf{R}_{j}=\mathbf{R}_{i} \cdot \prod_{k=i}^{j-1} \operatorname{Exp}\left(\left(\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{k}^{g}-\boldsymbol{\eta}_{k}^{g}\right) \cdot \Delta t\right) Rj=Rik=ij1Exp((ω~kbkgηkg)Δt)

其中, ω ~ k \tilde{\boldsymbol{\omega}}_{k} ω~k是第 k k k帧的角速度的测量值, b k g \mathbf{b}_{k}^{g} bkg是第 k k k帧的角速度零偏, η k g \boldsymbol{\eta}_{k}^{g} ηkg是第 k k k帧的角速度测量噪声。

v j = v i + g ⋅ Δ t i j + ∑ k = i j − 1 R k ⋅ ( a ~ k − b k a − η k a ) ⋅ Δ t \mathbf{v}_{j}=\mathbf{v}_{i}+\mathbf{g} \cdot \Delta t_{i j}+\sum_{k=i}^{j-1} \mathbf{R}_{k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{k}^{a}-\mathbf{\eta}_{k}^{a}\right) \cdot \Delta t vj=vi+gΔtij+k=ij1Rk(a~kbkaηka)Δt

其中, g g g是重力加速度, a ~ k \tilde{\mathbf{a}}_{k} a~k是第 k k k帧的加速度的测量值, b k a \mathbf{b}_{k}^{a} bka是第 k k k帧的加速度零偏, η k a \boldsymbol{\eta}_{k}^{a} ηka是第 k k k帧的加速度测量噪声。加速度的测量值耦合了重力加速度,因此需要加上一个 g ⋅ Δ t i j \mathbf{g} \cdot \Delta t_{i j} gΔtij进行抵消

p j = p i + ∑ k = i j − 1 [ v k ⋅ Δ t + 1 2 g ⋅ Δ t 2 + 1 2 R k ⋅ ( a ~ k − b k a − η k a ) ⋅ Δ t 2 ] \begin{aligned} \mathbf{p}_{j} &=\mathbf{p}_{i}+\sum_{k=i}^{j-1}\left[\mathbf{v}_{k} \cdot \Delta t+\frac{1}{2} \mathbf{g} \cdot \Delta t^{2}+\frac{1}{2} \mathbf{R}_{k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{k}^{a}-\mathbf{\eta}_{k}^{a}\right) \cdot \Delta t^{2}\right] \end{aligned} pj=pi+k=ij1[vkΔt+21gΔt2+21Rk(a~kbkaηka)Δt2]

加速度的测量值耦合了重力加速度,因此需要加上一个 1 2 g ⋅ Δ t 2 \frac{1}{2} \mathbf{g} \cdot \Delta t^{2} 21gΔt2进行抵消

同时:

Δ t i j = ∑ k = i j − 1 Δ t = ( j − i ) Δ t \Delta t_{ij}=\sum_{k=i}^{j-1}\Delta t=(j-i)\Delta t Δtij=k=ij1Δt=(ji)Δt

为了避免每次更新初始的 R i R_i Ri v i v_i vi p i p_i pi都要重新积分求解 R j R_j Rj v j v_j vj p j p_j pj,引出PVQ增量真值(即预积分)的值。详细如下,这里应用了正交矩阵(旋转矩阵)的转置等于正交矩阵的逆的性质:

Δ R i j ≜ R i T R j = ∏ k = i j − 1 Exp ⁡ ( ( ω ~ k − b k g − η k g ) ⋅ Δ t ) \begin{aligned} \Delta \mathbf{R}_{i j} & \triangleq \mathbf{R}_{i}^{T} \mathbf{R}_{j} \\ &=\prod_{k=i}^{j-1} \operatorname{Exp}\left(\left(\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{k}^{g}-\boldsymbol{\eta}_{k}^{g}\right) \cdot \Delta t\right) \end{aligned} ΔRijRiTRj=k=ij1Exp((ω~kbkgηkg)Δt)

Δ v i j ≜ R i T ( v j − v i − g ⋅ Δ t i j ) = ∑ k = i j − 1 Δ R i k ⋅ ( a ~ k − b k a − η k a ) ⋅ Δ t \begin{aligned} \Delta \mathbf{v}_{i j} & \triangleq \mathbf{R}_{i}^{T}\left(\mathbf{v}_{j}-\mathbf{v}_{i}-\mathbf{g} \cdot \Delta t_{i j}\right) \\ &=\sum_{k=i}^{j-1} \Delta \mathbf{R}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{k}^{a}-\mathbf{\eta}_{k}^{a}\right) \cdot \Delta t \end{aligned} ΔvijRiT(vjvigΔtij)=k=ij1ΔRik(a~kbkaηka)Δt

Δ p i j ≜ R i T ( p j − p i − v i ⋅ Δ t i j − 1 2 g ⋅ Δ t i j 2 ) = ∑ k = i j − 1 [ Δ v i k ⋅ Δ t + 1 2 Δ R i k ⋅ ( a ~ k − b k a − η k a ) ⋅ Δ t 2 ] \begin{aligned} \Delta \mathbf{p}_{i j} & \triangleq \mathbf{R}_{i}^{T}\left(\mathbf{p}_{j}-\mathbf{p}_{i}-\mathbf{v}_{i} \cdot \Delta t_{i j}-\frac{1}{2} \mathbf{g} \cdot \Delta t_{i j}^{2}\right) \\ &=\sum_{k=i}^{j-1}\left[\Delta \mathbf{v}_{i k} \cdot \Delta t+\frac{1}{2} \Delta \mathbf{R}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{k}^{a}-\boldsymbol{\eta}_{k}^{a}\right) \cdot \Delta t^{2}\right] \end{aligned} ΔpijRiT(pjpiviΔtij21gΔtij2)=k=ij1[ΔvikΔt+21ΔRik(a~kbkaηka)Δt2]

注意:上面公式中的 Δ v i j \Delta \mathbf{v}_{i j} Δvij Δ p i j \Delta \mathbf{p}_{i j} Δpij并不是通常意义上的速度和位置变化量,而是根据IMU加速度计的测量值计算出来的所谓的位移和速度增量,由于IMU加速度测量值耦合了重力加速度,因此对应的IMU预积分真值也必须含有一个重力加速度的分量,否则无法解释速度的变化量为什么还要减去 g ⋅ Δ t i j \mathbf{g} \cdot \Delta t_{i j} gΔtij,位置的变化量为什么还要减去 1 2 g ⋅ Δ t i j 2 \frac{1}{2} \mathbf{g} \cdot \Delta t_{i j}^{2} 21gΔtij2

由积分引出预积分,预积分里面的每一项与起始状态无关,可以认为都是相对量,这个好处在于计算预积分时不需要考虑起始状态,值得注意的是关于速度与位置的预积分里面都包含了重力。这部分相对量就是PVQ增量真值。

PVQ增量真值的核心就是,消除起始状态对积分的影响,同时保留重力的影响

上面将PVQ增量真值表达成,传感器增量测量值减去它的零偏与噪声,其中零偏可以作为状态量去得出,但是噪声是没有办法得出的。通常的办法就是通过计算噪声的方式来将其过滤掉,当然无论是优化还是滤波都逃不过一个重要的矩阵——信息矩阵(协方差矩阵的逆)。由于假设了传感器噪声( η k g \mathbf{\eta}_{k}^{g} ηkg η k a \mathbf{\eta}_{k}^{a} ηka)是高斯白噪声,所以传感器噪声的方差对PVQ增量噪声的方差( δ ϕ ⃗ i j \delta\vec{\phi}_{i j} δϕ ij δ v i j \delta\mathbf{v}_{i j} δvij δ p i j \delta\mathbf{p}_{i j} δpij)的影响可以通过高斯分布推理过来的。即推导出PVQ增量噪声关于传感器噪声的式子,还要推出其协方差之间的关系

PVQ增量噪声分离

由于:

P V Q 增量真值 = P V Q 增量测量值 − P V Q 增量噪声 PVQ增量真值=PVQ增量测量值-PVQ增量噪声 PVQ增量真值=PVQ增量测量值PVQ增量噪声

下面分别对 Δ R i j \Delta \mathbf{R}_{i j} ΔRij Δ v i j \Delta \mathbf{v}_{i j} Δvij Δ p i j \Delta \mathbf{p}_{i j} Δpij进行整理,尝试将噪声项 η k g \boldsymbol{\eta}_{k}^{g} ηkg η k a \boldsymbol{\eta}_{k}^{a} ηka,从PVQ增量测量值中分离出来,使PVQ增量真值具有上述的形式,以便于后续推导出噪声的递推公式。

假设在预积分的区间内,两帧间的零偏是相等的,即 b i g = b i + 1 g = ⋯ = b j g \mathbf{b}_{i}^{g}=\mathbf{b}_{i+1}^{g}=\cdots=\mathbf{b}_{j}^{g} big=bi+1g==bjg以及 b i a = b i + 1 a = ⋯ = b j a \mathbf{b}_{i}^{a}=\mathbf{b}_{i+1}^{a}=\cdots=\mathbf{b}_{j}^{a} bia=bi+1a==bja

Δ R i j \Delta \mathbf{R}_{i j} ΔRij真值分离

对于 Δ R i j \Delta \mathbf{R}_{i j} ΔRij,则有:

Δ R i j = ∏ k = i j − 1 Exp ⁡ ( ( ω ~ k − b i g ) Δ t − η k g Δ t ) ≈ 1 ∏ k = i j − 1 { Exp ⁡ ( ( ω ~ k − b i g ) Δ t ) ⋅ Exp ⁡ ( − J r k ⋅ η k g Δ t ) } = 2 Exp ⁡ ( ( ω ~ i − b i g ) Δ t ) ⋅ Exp ⁡ ( − J r i ⋅ η i g Δ t ) ⋅ Exp ⁡ ( ( ω ~ i + 1 − b i g ) Δ t ) ⋅ Exp ⁡ ( − J r i + 1 ⋅ η i + 1 g Δ t ) . . . = Δ R ~ i , i + 1 ⋅ Exp ⁡ ( − J r i ⋅ η i g Δ t ) ⋅ Δ R ~ i + 1 , i + 2 ⋅ Exp ⁡ ( − J r i + 1 ⋅ η i + 1 g Δ t ) ⋅ Δ R ~ i + 2 , i + 3 . . . = 3 Δ R ~ i , i + 1 ⋅ Δ R ~ i + 1 , i + 2 ⋅ Exp ⁡ ( − Δ R ~ i + 1 , i + 2 T ⋅ J r i ⋅ η i g Δ t ) ⋅ Exp ⁡ ( − J r i + 1 ⋅ η i + 1 g Δ t ) ⋅ Δ R ~ i + 2 , i + 3 . . . = 4 Δ R ~ i , j ⋅ Exp ⁡ ( − Δ R ~ i + 1 , j T ⋅ J r i ⋅ η i g Δ t ) ⋅ Exp ⁡ ( − Δ R ~ i + 2 , j T ⋅ J r i + 1 ⋅ η i + 1 g Δ t ) . . . = Δ R ~ i j ⋅ ∏ k = i j − 1 Exp ⁡ ( − Δ R ~ k + 1 j T ⋅ J r k ⋅ η k g Δ t ) \begin{aligned} \Delta \mathbf{R}_{i j} &=\prod_{k=i}^{j-1} \operatorname{Exp}\left(\left(\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{i}^{g}\right) \Delta t-\mathbf{\eta}_{k}^{g} \Delta t\right) \\ & \stackrel{1}\approx \prod_{k=i}^{j-1}\left\{\operatorname{Exp}\left(\left(\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{i}^{g}\right) \Delta t\right) \cdot \operatorname{Exp}\left(-\mathbf{J}_{r}^{k} \cdot \mathbf{\eta}_{k}^{g} \Delta t\right)\right\} \\ & \stackrel{2}= \operatorname{Exp}\left(\left(\tilde{\boldsymbol{\omega}}_{i}-\mathbf{b}_{i}^{g}\right) \Delta t\right) \cdot \operatorname{Exp}\left(-\mathbf{J}_{r}^i \cdot \mathbf{\eta}_{i}^{g} \Delta t\right) \cdot \operatorname{Exp}\left(\left(\tilde{\boldsymbol{\omega}}_{i+1}-\mathbf{b}_{i}^{g}\right) \Delta t\right) \cdot \operatorname{Exp}\left(-\mathbf{J}_{r}^{i+1} \cdot \mathbf{\eta}_{i+1}^{g} \Delta t\right) ...\\ &= \Delta \tilde{\mathbf{R}}_{i,i+1} \cdot \operatorname{Exp}\left(-\mathbf{J}_{r}^i \cdot \mathbf{\eta}_{i}^{g} \Delta t\right) \cdot \Delta \tilde{\mathbf{R}}_{i+1,i+2} \cdot \operatorname{Exp}\left(-\mathbf{J}_{r}^{i+1} \cdot \mathbf{\eta}_{i+1}^{g} \Delta t\right) \cdot \Delta \tilde{\mathbf{R}}_{i+2,i+3} ...\\ &\stackrel{3}= \Delta \tilde{\mathbf{R}}_{i,i+1} \cdot \Delta \tilde{\mathbf{R}}_{i+1,i+2} \cdot \operatorname{Exp}\left(-\Delta \tilde{\mathbf{R}}_{i+1,i+2}^T \cdot \mathbf{J}_{r}^i \cdot \mathbf{\eta}_{i}^{g} \Delta t\right) \cdot \operatorname{Exp}\left(-\mathbf{J}_{r}^{i+1} \cdot \mathbf{\eta}_{i+1}^{g} \Delta t\right) \cdot \Delta \tilde{\mathbf{R}}_{i+2,i+3}...\\ &\stackrel{4}= \Delta \tilde{\mathbf{R}}_{i,j} \cdot \operatorname{Exp}\left(-\Delta \tilde{\mathbf{R}}_{i+1,j}^T \cdot \mathbf{J}_{r}^i \cdot \mathbf{\eta}_{i}^{g} \Delta t\right) \cdot \operatorname{Exp}\left(-\Delta \tilde{\mathbf{R}}_{i+2,j}^T \cdot \mathbf{J}_{r}^{i+1} \cdot \mathbf{\eta}_{i+1}^{g} \Delta t\right)...\\ & = \Delta \tilde{\mathbf{R}}_{i j} \cdot \prod_{k=i}^{j-1} \operatorname{Exp}\left(-\Delta \tilde{\mathbf{R}}_{k+1 j}^{T} \cdot \mathbf{J}_{r}^{k} \cdot \boldsymbol{\eta}_{k}^{g} \Delta t\right) \end{aligned} ΔRij=k=ij1Exp((ω~kbig)ΔtηkgΔt)1k=ij1{Exp((ω~kbig)Δt)Exp(JrkηkgΔt)}=2Exp((ω~ibig)Δt)Exp(JriηigΔt)Exp((ω~i+1big)Δt)Exp(Jri+1ηi+1gΔt)...=ΔR~i,i+1Exp(JriηigΔt)ΔR~i+1,i+2Exp(Jri+1ηi+1gΔt)ΔR~i+2,i+3...=3ΔR~i,i+1ΔR~i+1,i+2Exp(ΔR~i+1,i+2TJriηigΔt)Exp(Jri+1ηi+1gΔt)ΔR~i+2,i+3...=4ΔR~i,jExp(ΔR~i+1,jTJriηigΔt)Exp(ΔR~i+2,jTJri+1ηi+1gΔt)...=ΔR~ijk=ij1Exp(ΔR~k+1jTJrkηkgΔt)

其中1处使用了BCH近似性质:当 δ ϕ ⃗ \delta\vec{\phi} δϕ 是小量时:

Exp ⁡ ( ϕ ⃗ + δ ϕ ⃗ ) ≈ Exp ⁡ ( ϕ ⃗ ) ⋅ Exp ⁡ ( J r ( ϕ ⃗ ) ⋅ δ ϕ ⃗ ) \operatorname{Exp}(\vec{\phi}+\delta \vec{\phi}) \approx \operatorname{Exp}(\vec{\phi}) \cdot \operatorname{Exp}\left(\mathbf{J}_{r}(\vec{\phi}) \cdot \delta \vec{\phi}\right) Exp(ϕ +δϕ )Exp(ϕ )Exp(Jr(ϕ )δϕ )

Exp ⁡ ( ϕ ⃗ + J r − 1 ( ϕ ⃗ ) ⋅ δ ϕ ⃗ ) ≈ Exp ⁡ ( ϕ ⃗ ) ⋅ Exp ⁡ ( δ ϕ ⃗ ) \operatorname{Exp}\left(\vec{\phi} + \mathbf{J}^{-1}_{r}(\vec{\phi}) \cdot \delta \vec{\phi}\right) \approx \operatorname{Exp}(\vec{\phi})\cdot \operatorname{Exp}(\delta \vec{\phi}) Exp(ϕ +Jr1(ϕ )δϕ )Exp(ϕ )Exp(δϕ )

其中2处将 ∏ \prod 展开,3和4处利用Adjoint性质,将所有的 Δ R ~ \Delta\tilde{\mathbf{R}} ΔR~ 换到最左侧,这里需要注意 Exp ⁡ ( ) \operatorname{Exp} \left(\right) Exp() 内部的 Δ R ~ \Delta\tilde{\mathbf{R}} ΔR~的下标和数量:

Exp ⁡ ( ϕ ⃗ ) ⋅ R = R ⋅ Exp ⁡ ( R T ϕ ⃗ ) \operatorname{Exp}(\vec{\phi}) \cdot \mathbf{R}=\mathbf{R} \cdot \operatorname{Exp}\left(\mathbf{R}^{T} \vec{\phi}\right) Exp(ϕ )R=RExp(RTϕ )

令:

J r k = J r ( ( ω ~ k − b i g ) Δ t ) \mathbf{J}_{r}^{k}=\mathbf{J}_{r}\left(\left(\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{i}^{g}\right) \Delta t\right) Jrk=Jr((ω~kbig)Δt)

Δ R ~ i j = ∏ k = i j − 1 Exp ⁡ ( ( ω ~ k − b i g ) Δ t ) \Delta \tilde{\mathbf{R}}_{i j}=\prod_{k=i}^{j-1} \operatorname{Exp}\left(\left(\tilde{\boldsymbol{\omega}}_{k}-\mathbf{b}_{i}^{g}\right) \Delta t\right) ΔR~ij=k=ij1Exp((ω~kbig)Δt)

Exp ⁡ ( − δ ϕ ⃗ i j ) = ∏ k = i j − 1 Exp ⁡ ( − Δ R ~ k + 1 j T ⋅ J r k ⋅ η k g Δ t ) \operatorname{Exp}\left(-\delta \vec{\phi}_{i j}\right)=\prod_{k=i}^{j-1} \operatorname{Exp}\left(-\Delta \tilde{\mathbf{R}}_{k+1 j}^{T} \cdot \mathbf{J}_{r}^{k} \cdot \mathbf{\eta}_{k}^{g} \Delta t\right) Exp(δϕ ij)=k=ij1Exp(ΔR~k+1jTJrkηkgΔt)

则有:

Δ R i j ≜ Δ R ~ i j ⋅ Exp ⁡ ( − δ ϕ ⃗ i j ) \Delta \mathbf{R}_{i j} \triangleq \Delta \tilde{\mathbf{R}}_{i j} \cdot \operatorname{Exp}\left(-\delta \vec{\phi}_{i j}\right) ΔRijΔR~ijExp(δϕ ij)

Δ R ~ i j \Delta\tilde{\mathbf{R}}_{i j} ΔR~ij即PVQ增量测量值,它由陀螺仪测量值和对陀螺仪零偏的估计得到,而 δ ϕ ⃗ i j \delta\vec{\phi}_{i j} δϕ ij Exp ⁡ ( δ ϕ ⃗ i j ) \operatorname{Exp}\left(\delta\vec{\phi}_{i j}\right) Exp(δϕ ij) 即测量噪声。

Δ v i j \Delta\mathbf{v}_{i j} Δvij真值分离

Δ R i j \Delta \mathbf{R}_{i j} ΔRij真值整理好的式子,带入 Δ v i j \Delta\mathbf{v}_{i j} Δvij真值式子中,进行整理:

Δ v i j = ∑ k = i j − 1 Δ R i k ⋅ ( a ~ k − b i a − η k a ) ⋅ Δ t ≈ ∑ k = i j − 1 Δ R ~ i k ⋅ Exp ⁡ ( − δ ϕ ⃗ i k ) ⋅ ( a ~ k − b i a − η k a ) ⋅ Δ t ≈ 1 ∑ k = i j − 1 Δ R ~ i k ⋅ ( I − δ ϕ ⃗ i k ∧ ) ⋅ ( a ~ k − b i a − η k a ) ⋅ Δ t ≈ 2 ∑ k = i j − 1 [ Δ R ~ i k ⋅ ( I − δ ϕ ⃗ i k ∧ ) ⋅ ( a ~ k − b i a ) ⋅ Δ t − Δ R ~ i k η k a Δ t ] = 3 ∑ k = i j − 1 [ Δ R ~ i k ⋅ ( a ~ k − b i a ) ⋅ Δ t + Δ R ~ i k ⋅ ( a ~ k − b i a ) ∧ ⋅ δ ϕ ⃗ i k ⋅ Δ t − Δ R ~ i k η k a Δ t ] = ∑ k = i j − 1 [ Δ R ~ i k ⋅ ( a ~ k − b i a ) ⋅ Δ t ] + ∑ k = i j − 1 [ Δ R ~ i k ⋅ ( a ~ k − b i a ) ∧ ⋅ δ ϕ ⃗ i k ⋅ Δ t − Δ R ~ i k η k a Δ t ] \begin{aligned} \Delta \mathbf{v}_{i j} &=\sum_{k=i}^{j-1} \Delta \mathbf{R}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}-\mathbf{\eta}_{k}^{a}\right) \cdot \Delta t \\ & \approx \sum_{k=i}^{j-1} \Delta \tilde{\mathbf{R}}_{i k} \cdot \operatorname{Exp}\left(-\delta \vec{\phi}_{i k}\right) \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}-\mathbf{\eta}_{k}^{a}\right) \cdot \Delta t \\ & \stackrel{1}\approx \sum_{k=i}^{j-1} \Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\mathbf{I}-\delta \vec{\phi}_{i k}^{\wedge}\right) \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}-\boldsymbol{\eta}_{k}^{a}\right) \cdot \Delta t \\ & \stackrel{2}\approx \sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\mathbf{I}-\delta \vec{\phi}_{i k}^{\wedge}\right) \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right) \cdot \Delta t-\Delta \tilde{\mathbf{R}}_{i k} \mathbf{\eta}_{k}^{a} \Delta t\right] \\ &\stackrel{3}=\sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right) \cdot \Delta t+\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right)^{\wedge} \cdot \delta \vec{\phi}_{i k} \cdot \Delta t-\Delta \tilde{\mathbf{R}}_{i k} \mathbf{\eta}_{k}^{a} \Delta t\right] \\ &=\sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right) \cdot \Delta t\right] +\sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right)^{\wedge} \cdot \delta \vec{\phi}_{i k} \cdot \Delta t-\Delta \tilde{\mathbf{R}}_{i k} \mathbf{\eta}_{k}^{a} \Delta t\right] \end{aligned} Δvij=k=ij1ΔRik(a~kbiaηka)Δtk=ij1ΔR~ikExp(δϕ ik)(a~kbiaηka)Δt1k=ij1ΔR~ik(Iδϕ ik)(a~kbiaηka)Δt2k=ij1[ΔR~ik(Iδϕ ik)(a~kbia)ΔtΔR~ikηkaΔt]=3k=ij1[ΔR~ik(a~kbia)Δt+ΔR~ik(a~kbia)δϕ ikΔtΔR~ikηkaΔt]=k=ij1[ΔR~ik(a~kbia)Δt]+k=ij1[ΔR~ik(a~kbia)δϕ ikΔtΔR~ikηkaΔt]

其中1处使用了当 ϕ ⃗ \vec{\phi} ϕ 是小量时, exp ⁡ ( ϕ ⃗ ∧ ) ≈ I + ϕ ⃗ ∧ \exp\left(\vec{\phi}^{\wedge}\right)\approx\mathbf{I}+\vec{\phi}^{\wedge} exp(ϕ )I+ϕ ,或者 Exp ⁡ ( ϕ ⃗ ) ≈ I + ϕ ⃗ ∧ \operatorname{Exp}(\vec{\phi})\approx\mathbf{I}+\vec{\phi}^{\wedge} Exp(ϕ )I+ϕ

其中2处忽略高阶小项 δ ϕ ⃗ i k ∧ η k a \delta\vec{\phi}_{i k}^{\wedge}\mathbf{\eta}_{k}^{a} δϕ ikηka

其中3处使用了性质: a ∧ ⋅ b = − b ∧ ⋅ a \mathbf{a}^{\wedge}\cdot\mathbf{b}=-\mathbf{b}^{\wedge}\cdot\mathbf{a} ab=ba

令:

Δ v ~ i j ≜ ∑ k = i j − 1 [ Δ R ~ i k ⋅ ( a ~ k − b i a ) ⋅ Δ t ] δ v i j ≜ ∑ k = i j − 1 [ Δ R ~ i k η k a Δ t − Δ R ~ i k ⋅ ( a ~ k − b i a ) ∧ ⋅ δ ϕ ⃗ i k ⋅ Δ t ] \begin{aligned} \Delta \tilde{\mathbf{v}}_{i j} & \triangleq \sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right) \cdot \Delta t\right] \\ \delta \mathbf{v}_{i j} & \triangleq \sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{R}}_{i k} \mathbf{\eta}_{k}^{a} \Delta t-\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right)^{\wedge} \cdot \delta \vec{\phi}_{i k} \cdot \Delta t\right] \end{aligned} Δv~ijδvijk=ij1[ΔR~ik(a~kbia)Δt]k=ij1[ΔR~ikηkaΔtΔR~ik(a~kbia)δϕ ikΔt]

则有:

Δ v i j ≜ Δ v ~ i j − δ v i j \Delta \mathbf{v}_{i j} \triangleq \Delta \tilde{\mathbf{v}}_{i j}-\delta \mathbf{v}_{i j} ΔvijΔv~ijδvij

v ~ i j \tilde{\mathbf{v}}_{i j} v~ij即速度增量测量值,它由IMU测量值和对零偏的估计或猜测计算得到,而 δ v i j \delta\mathbf{v}_{i j} δvij即其测量噪声。

Δ p i j \Delta\mathbf{p}_{i j} Δpij真值分离

Δ R i j \Delta \mathbf{R}_{i j} ΔRij真值、 Δ v i j \Delta\mathbf{v}_{i j} Δvij真值整理好的式子,带入 Δ p i j \Delta\mathbf{p}_{i j} Δpij真值式子中,进行整理:

Δ p i j = ∑ k = i j − 1 [ Δ v i k ⋅ Δ t + 1 2 Δ R i k ⋅ ( a ~ k − b i a − η k a ) ⋅ Δ t 2 ] ≈ ∑ k = i j − 1 [ ( Δ v ~ i k − δ v i k ) ⋅ Δ t + 1 2 Δ R ~ i k ⋅ Exp ⁡ ( − δ ϕ ⃗ i k ) ⋅ ( a ~ k − b i a − η k a ) ⋅ Δ t 2 ] ≈ 1 ∑ k = i j − 1 [ ( Δ v ~ i k − δ v i k ) ⋅ Δ t + 1 2 Δ R ~ i k ⋅ ( I − δ ϕ ⃗ i k ∧ ) ⋅ ( a ~ k − b i a − η k a ) ⋅ Δ t 2 ] ≈ 2 ∑ k = i j − 1 [ ( Δ v ~ i k − δ v i k ) ⋅ Δ t + 1 2 Δ R ~ i k ⋅ ( I − δ ϕ ⃗ i k ∧ ) ⋅ ( a ~ k − b i a ) ⋅ Δ t 2 − 1 2 Δ R ~ i k η k a Δ t 2 ] = 3 ∑ k = i j − 1 [ Δ v ~ i k Δ t + 1 2 Δ R ~ i k ⋅ ( a ~ k − b i a ) Δ t 2 + 1 2 Δ R ~ i k ⋅ ( a ~ k − b i a ) ∧ δ ϕ ⃗ i k Δ t 2 − 1 2 Δ R ~ i k η k a Δ t 2 − δ v i k Δ t ] \begin{aligned} \Delta \mathbf{p}_{i j} &=\sum_{k=i}^{j-1}\left[\Delta \mathbf{v}_{i k} \cdot \Delta t+\frac{1}{2} \Delta \mathbf{R}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}-\boldsymbol{\eta}_{k}^{a}\right) \cdot \Delta t^{2}\right] \\ & \approx \sum_{k=i}^{j-1}\left[\left(\Delta \tilde{\mathbf{v}}_{i k}-\delta \mathbf{v}_{i k}\right) \cdot \Delta t+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \cdot \operatorname{Exp}\left(-\delta \vec{\phi}_{i k}\right) \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}-\boldsymbol{\eta}_{k}^{a}\right) \cdot \Delta t^{2}\right] \\ & \stackrel{1}\approx \sum_{k=i}^{j-1}\left[\left(\Delta \tilde{\mathbf{v}}_{i k}-\delta \mathbf{v}_{i k}\right) \cdot \Delta t+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\mathbf{I}-\delta \vec{\phi}_{i k}^{\wedge}\right) \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}-\boldsymbol{\eta}_{k}^{a}\right) \cdot \Delta t^{2}\right] \\ & \stackrel{2}\approx \sum_{k=i}^{j-1} \left[\left(\Delta \tilde{\mathbf{v}}_{i k}-\delta \mathbf{v}_{i k}\right) \cdot \Delta t+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\mathbf{I}-\delta \vec{\phi}_{i k}^{\wedge}\right) \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right) \cdot \Delta t^{2}-\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \boldsymbol{\eta}_{k}^{a} \Delta t^{2}\right] \\ &\stackrel{3}{=} \sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{v}}_{i k} \Delta t+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right) \Delta t^{2}\right. \left.+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right)^{\wedge} \delta \vec{\phi}_{i k} \Delta t^{2}-\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \boldsymbol{\eta}_{k}^{a} \Delta t^{2}-\delta \mathbf{v}_{i k} \Delta t\right] \end{aligned} Δpij=k=ij1[ΔvikΔt+21ΔRik(a~kbiaηka)Δt2]k=ij1[(Δv~ikδvik)Δt+21ΔR~ikExp(δϕ ik)(a~kbiaηka)Δt2]1k=ij1[(Δv~ikδvik)Δt+21ΔR~ik(Iδϕ ik)(a~kbiaηka)Δt2]2k=ij1[(Δv~ikδvik)Δt+21ΔR~ik(Iδϕ ik)(a~kbia)Δt221ΔR~ikηkaΔt2]=3k=ij1[Δv~ikΔt+21ΔR~ik(a~kbia)Δt2+21ΔR~ik(a~kbia)δϕ ikΔt221ΔR~ikηkaΔt2δvikΔt]

其中1处使用了当 ϕ ⃗ \vec{\phi} ϕ 是小量时, exp ⁡ ( ϕ ⃗ ∧ ) ≈ I + ϕ ⃗ ∧ \exp\left(\vec{\phi}^{\wedge}\right)\approx\mathbf{I}+\vec{\phi}^{\wedge} exp(ϕ )I+ϕ ,或者 Exp ⁡ ( ϕ ⃗ ) ≈ I + ϕ ⃗ ∧ \operatorname{Exp}(\vec{\phi})\approx\mathbf{I}+\vec{\phi}^{\wedge} Exp(ϕ )I+ϕ

其中2处忽略高阶小项 δ ϕ ⃗ i k ∧ η k a \delta\vec{\phi}_{i k}^{\wedge}\mathbf{\eta}_{k}^{a} δϕ ikηka

其中3处使用了性质: a ∧ ⋅ b = − b ∧ ⋅ a \mathbf{a}^{\wedge}\cdot\mathbf{b}=-\mathbf{b}^{\wedge}\cdot\mathbf{a} ab=ba

令:

Δ p ~ i j ≜ ∑ k = i j − 1 [ Δ v ~ i k Δ t + 1 2 Δ R ~ i k ⋅ ( a ~ k − b i a ) Δ t 2 ] δ p i j ≜ ∑ k = i j − 1 [ δ v i k Δ t − 1 2 Δ R ~ i k ⋅ ( a ~ k − b i a ) ∧ δ ϕ ⃗ i k Δ t 2 + 1 2 Δ R ~ i k η k a Δ t 2 ] \begin{aligned} &\Delta \tilde{\mathbf{p}}_{i j} \triangleq \sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{v}}_{i k} \Delta t+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right) \Delta t^{2}\right] \\ &\delta \mathbf{p}_{i j} \triangleq \sum_{k=i}^{j-1}\left[\delta \mathbf{v}_{i k} \Delta t-\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right)^{\wedge} \delta \vec{\phi}_{i k} \Delta t^{2}+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \boldsymbol{\eta}_{k}^{a} \Delta t^{2}\right] \end{aligned} Δp~ijk=ij1[Δv~ikΔt+21ΔR~ik(a~kbia)Δt2]δpijk=ij1[δvikΔt21ΔR~ik(a~kbia)δϕ ikΔt2+21ΔR~ikηkaΔt2]

则有:

Δ p i j ≜ Δ p ~ i j − δ p i j \Delta \mathbf{p}_{i j} \triangleq \Delta \tilde{\mathbf{p}}_{i j}-\delta \mathbf{p}_{i j} ΔpijΔp~ijδpij

Δ p ~ i j \Delta\tilde{\mathbf{p}}_{i j} Δp~ij即位置增量测量值,它由IMU测量值和对零偏的估计得到,而 δ p i j \delta\mathbf{p}_{i j} δpij即其测量噪声。

小结

上面得到PVQ增量真值和测量值的关系如下:

Δ R i j ≜ Δ R ~ i j ⋅ Exp ⁡ ( − δ ϕ ⃗ i j ) Δ v i j ≜ Δ v ~ i j − δ v i j Δ p i j ≜ Δ p ~ i j − δ p i j \begin{aligned} &\Delta \mathbf{R}_{i j} \triangleq \Delta \tilde{\mathbf{R}}_{i j} \cdot \operatorname{Exp}\left(-\delta \vec{\phi}_{i j}\right) \\ &\Delta \mathbf{v}_{i j} \triangleq \Delta \tilde{\mathbf{v}}_{i j}-\delta \mathbf{v}_{i j} \\ &\Delta \mathbf{p}_{i j} \triangleq \Delta \tilde{\mathbf{p}}_{i j}-\delta \mathbf{p}_{i j} \end{aligned} ΔRijΔR~ijExp(δϕ ij)ΔvijΔv~ijδvijΔpijΔp~ijδpij

我们也将PVQ增量噪声,称为IMU预积分测量噪声;PVQ增量测量值,称为IMU预积分测量值

PVQ增量噪声的分布形式

下面对PVQ增量测量噪声进行分析,证明其符合高斯分布(目的是给出其协方差的计算表达式),令POV增量噪声为:

η i j Δ ≜ [ δ ϕ ⃗ i j T δ v i j T δ p i j T ] T \mathbf{\eta}_{i j}^{\Delta} \triangleq\left[\begin{array}{lll} \delta \vec{\phi}_{i j}^{T} & \delta \mathbf{v}_{i j}^{T} & \delta \mathbf{p}_{i j}^{T} \end{array}\right]^{T} ηijΔ[δϕ ijTδvijTδpijT]T

我们希望其满足高斯分布,即 η i j Δ ∼ N ( 0 9 × 1 , Σ i j ) \boldsymbol{\eta}_{i j}^{\Delta}\sim N\left(\mathbf{0}_{9 \times 1}, \boldsymbol{\Sigma}_{i j}\right) ηijΔN(09×1,Σij) 。由于 η i j Δ \boldsymbol{\eta}_{i j}^{\Delta} ηijΔ δ ϕ ⃗ i j T \delta\vec{\phi}_{i j}^{T} δϕ ijT δ v i j T \delta\mathbf{v}_{i j}^{T} δvijT δ p i j T \delta\mathbf{p}_{i j}^{T} δpijT 的线性组合,下面分别分析这三个噪声项的分布形式。

δ ϕ ⃗ i j T \delta\vec{\phi}_{i j}^{T} δϕ ijT的分布形式

根据上面分离出的噪声 δ ϕ ⃗ i j \delta\vec{\phi}_{i j} δϕ ij

δ ϕ ⃗ i j = − log ⁡ ( ∏ k = i j − 1 Exp ⁡ ( − Δ R ~ k + 1 j T ⋅ J r k ⋅ η k g Δ t ) ) \delta \vec{\phi}_{i j}=-\log \left(\prod_{k=i}^{j-1} \operatorname{Exp}\left(-\Delta \tilde{\mathbf{R}}_{k+1 j}^{T} \cdot \mathbf{J}_{r}^{k} \cdot \mathbf{\eta}_{k}^{g} \Delta t\right)\right) δϕ ij=log(k=ij1Exp(ΔR~k+1jTJrkηkgΔt))

令:

ξ k = Δ R ~ k + 1 j T ⋅ J r k ⋅ η k g Δ t \boldsymbol{\xi}_{k}=\Delta \tilde{\mathbf{R}}_{k+1 j}^{T} \cdot \mathbf{J}_{r}^{k} \cdot \mathbf{\eta}_{k}^{g} \Delta t ξk=ΔR~k+1jTJrkηkgΔt

由于 η k g \mathbf{\eta}_{k}^{g} ηkg 是小量,因此 ξ k \boldsymbol{\xi}_{k} ξk也是小量,于是 J r ( ξ k ) ≈ I \mathbf{J}_{r}\left(\xi_{k}\right)\approx\mathbf{I} Jr(ξk)I J r − 1 ( ξ k ) ≈ I \mathbf{J}_{r}^{-1}\left(\xi_{k}\right)\approx\mathbf{I} Jr1(ξk)I,并利用BCH公式的近似形式:

log ⁡ ( Exp ⁡ ( ϕ ⃗ ) ⋅ Exp ⁡ ( δ ϕ ⃗ ) ) = ϕ ⃗ + J r − 1 ( ϕ ⃗ ) ⋅ δ ϕ ⃗ \log (\operatorname{Exp}(\vec{\phi}) \cdot \operatorname{Exp}(\delta \vec{\phi}))=\vec{\phi}+\mathbf{J}_{r}^{-1}(\vec{\phi}) \cdot \delta \vec{\phi} log(Exp(ϕ )Exp(δϕ ))=ϕ +Jr1(ϕ )δϕ

因此:

δ ϕ ⃗ i j = − log ⁡ ( ∏ k = i j − 1 Exp ⁡ ( − ξ k ) ) = − log ⁡ ( Exp ⁡ ( − ξ i ) ∏ k = i + 1 j − 1 Exp ⁡ ( − ξ k ) ) ≈ − ( − ξ i + I ⋅ log ⁡ ( ∏ k = i + 1 j − 1 Exp ⁡ ( − ξ k ) ) ) = ξ i − log ⁡ ( ∏ k = i + 1 j − 1 Exp ⁡ ( − ξ k ) ) = ξ i − log ⁡ ( Exp ⁡ ( − ξ i + 1 ) ∏ k = i + 2 j − 1 Exp ⁡ ( − ξ k ) ) ≈ ξ i + ξ i + 1 − log ⁡ ( ∏ k = i + 2 j − 1 Exp ⁡ ( − ξ k ) ) ≈ ∑ k = i j − 1 ξ k \begin{aligned} \delta \vec{\phi}_{i j} &=-\log \left(\prod_{k=i}^{j-1} \operatorname{Exp}\left(-\xi_{k}\right)\right) \\ &=-\log \left(\operatorname{Exp}\left(-\xi_{i}\right) \prod_{k=i+1}^{j-1} \operatorname{Exp}\left(-\xi_{k}\right)\right) \\ & \approx-\left(-\xi_{i}+\mathbf{I} \cdot \log \left(\prod_{k=i+1}^{j-1} \operatorname{Exp}\left(-\xi_{k}\right)\right)\right)\\ &=\xi_{i}-\log \left(\prod_{k=i+1}^{j-1} \operatorname{Exp}\left(-\xi_{k}\right)\right) \\ &=\xi_{i}-\log \left(\operatorname{Exp}\left(-\xi_{i+1}\right) \prod_{k=i+2}^{j-1} \operatorname{Exp}\left(-\xi_{k}\right)\right) \\ & \approx \xi_{i}+\xi_{i+1}-\log \left(\prod_{k=i+2}^{j-1} \operatorname{Exp}\left(-\xi_{k}\right)\right) \\ & \approx \sum_{k=i}^{j-1} \xi_{k} \end{aligned} δϕ ij=log(k=ij1Exp(ξk))=log(Exp(ξi)k=i+1j1Exp(ξk))(ξi+Ilog(k=i+1j1Exp(ξk)))=ξilog(k=i+1j1Exp(ξk))=ξilog(Exp(ξi+1)k=i+2j1Exp(ξk))ξi+ξi+1log(k=i+2j1Exp(ξk))k=ij1ξk

即:

δ ϕ ⃗ i j ≈ ∑ k = i j − 1 Δ R ~ k + 1 j T J r k η k g Δ t \delta \vec{\phi}_{i j} \approx \sum_{k=i}^{j-1} \Delta \tilde{\mathbf{R}}_{k+1 j}^{T} \mathbf{J}_{r}^{k} \mathbf{\eta}_{k}^{g} \Delta t δϕ ijk=ij1ΔR~k+1jTJrkηkgΔt

由于 Δ R ~ k + 1 j T \Delta\tilde{\mathbf{R}}_{k+1 j}^{T} ΔR~k+1jT J r k \mathbf{J}_{r}^{k} Jrk Δ t \Delta t Δt都是已知量,而 η k g \mathbf{\eta}_{k}^{g} ηkg 是零均值高斯噪声,因此 δ ϕ ⃗ i j \delta\vec{\phi}_{i j} δϕ ij (的一阶近似)也是零均值高斯噪声。

δ v i j T \delta\mathbf{v}_{i j}^{T} δvijT 的分布形式

由于 δ ϕ ⃗ i j \delta\vec{\phi}_{i j} δϕ ij 近似拥有了高斯噪声的形式,且 η k a \boldsymbol{\eta}_{k}^{a} ηka 也是零均值高斯噪声,根据 δ v i j T \delta\mathbf{v}_{i j}^{T} δvijT 的表达式可知其也拥有高斯分布的形式。

δ p i j T \delta\mathbf{p}_{i j}^{T} δpijT 的分布形式

类似于 δ v i j T \delta\mathbf{v}_{i j}^{T} δvijT δ p i j T \delta\mathbf{p}_{i j}^{T} δpijT也拥有高斯分布的形式。

PVQ增量噪声递推

下面推导预积分测量噪声的递推形式,即 η i j − 1 Δ → η i j Δ \mathbf{\eta}_{i j-1}^{\Delta}\rightarrow\mathbf{\eta}_{i j}^{\Delta} ηij1ΔηijΔ,及其协方差 Σ i j \boldsymbol{\Sigma}_{i j} Σij 的递推形式 Σ i j − 1 → Σ i j \boldsymbol{\Sigma}_{i j-1}\rightarrow\boldsymbol{\Sigma}_{i j} Σij1Σij

下面依次推导 δ ϕ ⃗ i j − 1 → δ ϕ ⃗ i j \delta\vec{\phi}_{i j-1}\rightarrow\delta\vec{\phi}_{i j} δϕ ij1δϕ ij δ v i j − 1 → δ v i j \delta\mathbf{v}_{i j-1}\rightarrow\delta\mathbf{v}_{i j} δvij1δvij δ p i j − 1 → δ p i j \delta\mathbf{p}_{i j-1}\rightarrow\delta\mathbf{p}_{i j} δpij1δpij

δ ϕ ⃗ i j − 1 → δ ϕ ⃗ i j \delta\vec{\phi}_{i j-1}\rightarrow\delta\vec{\phi}_{i j} δϕ ij1δϕ ij递推

δ ϕ ⃗ i j = ∑ k = i j − 1 Δ R ~ k + 1 j T J r k η k g Δ t = ∑ k = i j − 2 Δ R ~ k + 1 j T J r k η k g ⁡ Δ t + Δ R ~ j j T J r j − 1 η j − 1 g Δ t = 1 ∑ k = i j − 2 ( Δ R ~ k + 1 j − 1 Δ R ~ j − 1 j ) T J r k η k g Δ t + J r j − 1 η j − 1 g Δ t = Δ R ~ j j − 1 ∑ k = i j − 2 Δ R ~ k + 1 j − 1 T J r k η k g Δ t + J r j − 1 η j − 1 g Δ t = Δ R ~ j j − 1 δ ϕ ⃗ i j − 1 + J r j − 1 η j − 1 g Δ t \begin{aligned} \delta \vec{\phi}_{i j} &=\sum_{k=i}^{j-1} \Delta \tilde{\mathbf{R}}_{k+1 j}^{T} \mathbf{J}_{r}^{k} \mathbf{\eta}_{k}^{g} \Delta t \\ &=\sum_{k=i}^{j-2} \Delta \tilde{\mathbf{R}}_{k+1 j}^{T} \mathbf{J}_{r}^{k} \boldsymbol{\eta}_{k}^{\operatorname{g}} \Delta t+\Delta \tilde{\mathbf{R}}_{j j}^{T} \mathbf{J}_{r}^{j-1} \boldsymbol{\eta}_{j-1}^{g} \Delta t \\ & \stackrel{1}{=} \sum_{k=i}^{j-2}\left(\Delta \tilde{\mathbf{R}}_{k+1 j-1} \Delta \tilde{\mathbf{R}}_{j-1 j}\right)^{T} \mathbf{J}_{r}^{k} \boldsymbol{\eta}_{k}^{g} \Delta t+\mathbf{J}_{r}^{j-1} \boldsymbol{\eta}_{j-1}^{g} \Delta t \\ &=\Delta \tilde{\mathbf{R}}_{j j-1} \sum_{k=i}^{j-2} \Delta \tilde{\mathbf{R}}_{k+1 j-1}^{T} \mathbf{J}_{r}^{k} \boldsymbol{\eta}_{k}^{g} \Delta t+\mathbf{J}_{r}^{j-1} \boldsymbol{\eta}_{j-1}^{g} \Delta t \\ &=\Delta \tilde{\mathbf{R}}_{j j-1} \delta \vec{\phi}_{i j-1}+\mathbf{J}_{r}^{j-1} \boldsymbol{\eta}_{j-1}^{g} \Delta t \end{aligned} δϕ ij=k=ij1ΔR~k+1jTJrkηkgΔt=k=ij2ΔR~k+1jTJrkηkgΔt+ΔR~jjTJrj1ηj1gΔt=1k=ij2(ΔR~k+1j1ΔR~j1j)TJrkηkgΔt+Jrj1ηj1gΔt=ΔR~jj1k=ij2ΔR~k+1j1TJrkηkgΔt+Jrj1ηj1gΔt=ΔR~jj1δϕ ij1+Jrj1ηj1gΔt

其中1处利用了 Δ R ~ j j T = I \Delta\tilde{\mathbf{R}}_{j j}^{T}=\mathbf{I} ΔR~jjT=I 以及 Δ R ~ l m Δ R ~ m n = Δ R ~ l n \Delta\tilde{\mathbf{R}}_{l m}\Delta\tilde{\mathbf{R}}_{m n}=\Delta\tilde{\mathbf{R}}_{l n} ΔR~lmΔR~mn=ΔR~ln 的性质,推导过程中进行了一些变形。

δ v i j − 1 → δ v i j \delta\mathbf{v}_{i j-1}\rightarrow\delta\mathbf{v}_{i j} δvij1δvij递推

δ v i j = ∑ k = i j − 1 [ Δ R ~ i k η k α d Δ t − Δ R ~ i k ⋅ ( a ~ k − b i a ) ∧ ⋅ δ ϕ ⃗ i k ⋅ Δ t ] = ∑ k = i j − 2 [ Δ R ~ i k η k a Δ t − Δ R ~ i k ⋅ ( a ~ k − b i a ) ∧ ⋅ δ ϕ ⃗ i k ⋅ Δ t ] + Δ R ~ i j − 1 η j − 1 a Δ t − Δ R ~ i j − 1 ⋅ ( a ~ j − 1 − b i a ) ∧ ⋅ δ ϕ ⃗ i j − 1 ⋅ Δ t = δ v i j − 1 + Δ R ~ i j − 1 η j − 1 a Δ t − Δ R ~ i j − 1 ⋅ ( a ~ j − 1 − b i a ) ∧ ⋅ δ ϕ ⃗ i j − 1 ⋅ Δ t \begin{aligned} \delta \mathbf{v}_{i j}=& \sum_{k=i}^{j-1}\left[\Delta \tilde{\mathbf{R}}_{i k} \boldsymbol{\eta}_{k}^{\alpha d} \Delta t-\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right)^{\wedge} \cdot \delta \vec{\phi}_{i k} \cdot \Delta t\right] \\ =& \sum_{k=i}^{j-2}\left[\Delta \tilde{\mathbf{R}}_{i k} \boldsymbol{\eta}_{k}^{a} \Delta t-\Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right)^{\wedge} \cdot \delta \vec{\phi}_{i k} \cdot \Delta t\right] +\Delta \tilde{\mathbf{R}}_{i j-1} \boldsymbol{\eta}_{j-1}^{a} \Delta t-\Delta \tilde{\mathbf{R}}_{i j-1} \cdot\left(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{i}^{a}\right)^{\wedge} \cdot \delta \vec{\phi}_{i j-1} \cdot \Delta t \\ =& \delta \mathbf{v}_{i j-1}+\Delta \tilde{\mathbf{R}}_{i j-1} \boldsymbol{\eta}_{j-1}^{a} \Delta t-\Delta \tilde{\mathbf{R}}_{i j-1} \cdot\left(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{i}^{a}\right)^{\wedge} \cdot \delta \vec{\phi}_{i j-1} \cdot \Delta t \end{aligned} δvij===k=ij1[ΔR~ikηkαdΔtΔR~ik(a~kbia)δϕ ikΔt]k=ij2[ΔR~ikηkaΔtΔR~ik(a~kbia)δϕ ikΔt]+ΔR~ij1ηj1aΔtΔR~ij1(a~j1bia)δϕ ij1Δtδvij1+ΔR~ij1ηj1aΔtΔR~ij1(a~j1bia)δϕ ij1Δt

直接进行加项拆分即可完成推导。

δ p i j − 1 → δ p i j \delta\mathbf{p}_{i j-1}\rightarrow\delta\mathbf{p}_{i j} δpij1δpij递推

δ p i j = ∑ k = i j − 1 [ δ v i k Δ t − 1 2 Δ R ~ i k ⋅ ( a ~ k − b i a ) ∧ δ ϕ ⃗ i k Δ t 2 + 1 2 Δ R ~ i k η k a Δ t 2 ] = δ p i j − 1 + δ v i j − 1 Δ t − 1 2 Δ R ~ i j − 1 ⋅ ( a ~ j − 1 − b i a ) ∧ δ ϕ ⃗ i j − 1 Δ t 2 + 1 2 Δ R ~ i j − 1 η j − 1 a Δ t 2 \begin{aligned} \delta \mathbf{p}_{i j}=& \sum_{k=i}^{j-1}\left[\delta \mathbf{v}_{i k} \Delta t-\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \cdot\left(\tilde{\mathbf{a}}_{k}-\mathbf{b}_{i}^{a}\right)^{\wedge} \delta \vec{\phi}_{i k} \Delta t^{2}+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i k} \boldsymbol{\eta}_{k}^{a} \Delta t^{2}\right] \\ =& \delta \mathbf{p}_{i j-1}+\delta \mathbf{v}_{i j-1} \Delta t -\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i j-1} \cdot\left(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{i}^{a}\right)^{\wedge} \delta \vec{\phi}_{i j-1} \Delta t^{2}+\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i j-1} \boldsymbol{\eta}_{j-1}^{a} \Delta t^{2} \end{aligned} δpij==k=ij1[δvikΔt21ΔR~ik(a~kbia)δϕ ikΔt2+21ΔR~ikηkaΔt2]δpij1+δvij1Δt21ΔR~ij1(a~j1bia)δϕ ij1Δt2+21ΔR~ij1ηj1aΔt2

直接进行加项拆分即可完成推导。

小结

已知定义:

η i j Δ ≜ [ δ ϕ ⃗ i j T δ v i j T δ p i j T ] T \mathbf{\eta}_{i j}^{\Delta} \triangleq\left[\begin{array}{lll} \delta \vec{\phi}_{i j}^{T} & \delta \mathbf{v}_{i j}^{T} & \delta \mathbf{p}_{i j}^{T} \end{array}\right]^{T} ηijΔ[δϕ ijTδvijTδpijT]T

令:

η k = [ ( η k g ) T ( η k a ) T ] T \boldsymbol{\eta}_{k}^{}=\left[\left(\boldsymbol{\eta}_{k}^{g}\right)^{T} \quad\left(\mathbf{\eta}_{k}^{a}\right)^{T}\right]^{T} ηk=[(ηkg)T(ηka)T]T

综上可得 η i j Δ \boldsymbol{\eta}_{i j}^{\Delta} ηijΔ 的递推形式如下:

η i j Δ = [ Δ R ~ j j − 1 0 0 − Δ R ~ i j − 1 ⋅ ( a ~ j − 1 − b i a ) ∧ Δ t I 0 − 1 2 Δ R ~ i j − 1 ⋅ ( a ~ j − 1 − b i a ) ∧ Δ t 2 Δ t I I ] η i j − 1 Δ + [ J r j − 1 Δ t 0 0 Δ R ~ i j − 1 Δ t 0 1 2 Δ R ~ i j − 1 Δ t 2 ] η j − 1 \begin{aligned} \boldsymbol{\eta}_{i j}^{\Delta}=&\left[\begin{array}{ccc} \Delta \tilde{\mathbf{R}}_{j j-1} & \mathbf{0} & \mathbf{0} \\ -\Delta \tilde{\mathbf{R}}_{i j-1} \cdot\left(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{i}^{a}\right)^{\wedge} \Delta t & \mathbf{I} & \mathbf{0} \\ -\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i j-1} \cdot\left(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{i}^{a}\right)^{\wedge} \Delta t^{2} & \Delta t \mathbf{I} & \mathbf{I} \end{array}\right] \mathbf{\eta}_{i j-1}^{\Delta} +\left[\begin{array}{cc} \mathbf{J}_{r}^{j-1} \Delta t & \mathbf{0} \\ \mathbf{0} & \Delta \tilde{\mathbf{R}}_{i j-1} \Delta t \\ \mathbf{0} & \frac{1}{2} \Delta \tilde{\mathbf{R}}_{i j-1} \Delta t^{2} \end{array}\right] \boldsymbol{\eta}_{j-1}^{} \end{aligned} ηijΔ= ΔR~jj1ΔR~ij1(a~j1bia)Δt21ΔR~ij1(a~j1bia)Δt20IΔtI00I ηij1Δ+ Jrj1Δt000ΔR~ij1Δt21ΔR~ij1Δt2 ηj1

令:

A j − 1 = [ Δ R ~ j j − 1 0 0 − Δ R ~ i j − 1 ⋅ ( a ~ j − 1 − b i a ) ∧ Δ t I 0 − 1 2 Δ R ~ i j − 1 ⋅ ( a ~ j − 1 − b i a ) ∧ Δ t 2 Δ t I I ] B j − 1 = [ J r j − 1 Δ t 0 0 Δ R ~ i j − 1 Δ t 0 1 2 Δ R ~ i j − 1 Δ t 2 ] \begin{aligned} &\mathbf{A}_{j-1}=\left[\begin{array}{ccc} \Delta \tilde{\mathbf{R}}_{j j-1} & \mathbf{0} & \mathbf{0} \\ -\Delta \tilde{\mathbf{R}}_{i j-1} \cdot\left(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{i}^{a}\right)^{\wedge} \Delta t & \mathbf{I} & \mathbf{0} \\ -\frac{1}{2} \Delta \tilde{\mathbf{R}}_{i j-1} \cdot\left(\tilde{\mathbf{a}}_{j-1}-\mathbf{b}_{i}^{a}\right)^{\wedge} \Delta t^{2} & \Delta t \mathbf{I} & \mathbf{I} \end{array}\right] \\ &\mathbf{B}_{j-1}=\left[\begin{array}{cc} \mathbf{J}_{r}^{j-1} \Delta t & \mathbf{0} \\ \mathbf{0} & \Delta \tilde{\mathbf{R}}_{i j-1} \Delta t \\ \mathbf{0} & \frac{1}{2} \Delta \tilde{\mathbf{R}}_{i j-1} \Delta t^{2} \end{array}\right] \end{aligned} Aj1= ΔR~jj1ΔR~ij1(a~j1bia)Δt21ΔR~ij1(a~j1bia)Δt20IΔtI00I Bj1= Jrj1Δt000ΔR~ij1Δt21ΔR~ij1Δt2

则有PVQ增量噪声的递推形式:

η i j Δ = A j − 1 η i j − 1 Δ + B j − 1 η j − 1 \mathbf{\eta}_{i j}^{\Delta}=\mathbf{A}_{j-1} \mathbf{\eta}_{i j-1}^{\Delta}+\mathbf{B}_{j-1} \mathbf{\eta}_{j-1}^{} ηijΔ=Aj1ηij1Δ+Bj1ηj1

PVQ增量噪声的协方差矩阵就有了如下的递推计算形式:

Σ i j = A j − 1 Σ i j − 1 A j − 1 T + B j − 1 Σ η B j − 1 T \boldsymbol{\Sigma}_{i j}=\mathbf{A}_{j-1} \boldsymbol{\Sigma}_{i j-1} \mathbf{A}_{j-1}^{T}+\mathbf{B}_{j-1} \mathbf{\Sigma}_{\boldsymbol{\eta}} \mathbf{B}_{j-1}^{T} Σij=Aj1Σij1Aj1T+Bj1ΣηBj1T

从形式上看,PVQ增量噪声的协方差的递推形式类似于卡尔曼滤波中的状态变量协方差的预测方程,其中的 Q \mathbf{Q} Q 就相当于 Σ η \Sigma_{\eta} Ση ,在每个递推周期都固定的加上这样一个常量噪声,表示从当前状态转移到下一个状态的过程中,存在各种噪声,总是会引入新的误差

P ‾ = F P F ⊤ + Q \overline{\mathbf{P}}=\mathbf{F P F}^{\top}+\mathbf{Q} P=FPF+Q

PVQ增量噪声的协方差矩阵(即噪声分布)将用来计算信息矩阵,在优化框架中起到平衡权重的作用。在实际应用中首先要求协方差矩阵的逆矩阵,相当于取了协方差的倒数,方差越大权重越小,反之权重越大,然后再将逆矩阵转成信息矩阵,与残差相乘,起到调节残差比例的作用

关于噪声的内容到此为止,接下来讨论零偏的问题。


相关阅读

  • IMU预积分的理解和推导
  • 简明预积分推导
  • 如何理解IMU以及其预积分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无线通信网络

一、无线局域网 WLAN概念 WLAN(Wireless Local Area Network)无线局域网,目前大部分无线产品都是根据IEEE802.11标准开发。 IEEE802.11标准 名称发布时间工作频段调制技术数据速率802.111997年2.4GHz ISM频段DB/SK、DQPSK1Mbps、2Mbps802.11b1998年2.4GHz ISM频段CCK5.5Mbps…

微信小程序的疫苗接种预约设计与实现vue+uniapp

对于本小程序的疫苗预约的设计来说,系统开发主要是采用java语言,在整个系统的设计中应用MySql数据库来完成数据存储,具体根据疫苗预约信息的现状来进行开发的,具体根据现实的需求来实现疫苗预约网络化的管理,各类信息有…

基于Qt4的磁场单点一致性测试软件开发

磁场单点一致性是磁场传感器的重要测试内容,但目前没有合适的软件可用,研究人员一般是自行计算,但报告内容不标示清楚的话难以理解,也无法评判单点一致性指标是否合格。因此,需要开发一款专门用于磁场单点一致性测试的软件,所有数据都在同一框架下计算,这样就能清楚的反…

分类问题和回归问题的区别是什么?

分类问题和回归问题是机器学习和统计分析中两种不同类型的问题,它们的主要区别在于其目标和处理方式: 问题类型: 分类问题(Classification):在分类问题中,目标是将数据分为不同的类别或标签。这…

uniapp中video播放视频上按钮没显示的问题

video标签层级很高,尝试了添加z-index,但无效果 通过查阅资料,得知cover-view层级比video层级高 效果图 需求是为了使直播时,可选是原画/流畅 解决方案 首先,在pages.json中配置右上角的图标 {"path" : …

YOLOv5:修改backbone为ConvNeXt

YOLOv5:修改backbone为ConvNeXt 前言前提条件相关介绍ConvNeXtYOLOv5修改backbone为ConvNeXt修改common.py修改yolo.py修改yolov5.yaml配置 参考 前言 记录在YOLOv5修改backbone操作,方便自己查阅。由于本人水平有限,难免出现错漏&#xff0c…

TCP socket UDP TCP协议 IP协议 以太网等

第 1 题(编程题) 题目名称: 编写 TCP 版本的 echo server 和 echo client 题目内容: 编写 TCP 版本的 echo server 和 echo client 第 2 题(编程题) 题目名称: 编写 TCP 版本的字典客户端…

SQL server中字段自增:IDENTITY、序列Sequence

SQL server中字段自增:IDENTITY、序列Sequence 1.列字段自增IDENTITY 在 SQL Server 中,IDENTITY(1, 1) 是用于定义一个自增长列的属性。它的含义如下: IDENTITY:表示该列是一个自增长列。(1, 1):表示自增长列的起始…

[Kubernetes] 多调度器(1/3):如何编译scheduler,以默认调度器 kube-scheduler为例

文章目录 前提如何编译参考 本文以k8s v1.14为例,到v1.28也适用。 前提 已配好相应的go v1.12.2(go 版本选择按k8s的CHANGELOG.md选) 放在:/usr/local/GOPATH/root/go/ 已下载k8s的1.14.9源码 kubernetes/,或直接git…

TCP/IP传输协议学习

了解完整的通信过程 1.发送方源终端设备的应用创建数据。 2.当数据在源终端设备中沿协议栈向下传递,对其分段和封装。 3.在协议栈网络接入层的介质上生成数据。 4.通过由介质和任意中间设备组成的网际层网络传输数据。 5.在目的终端设备中沿协议栈向上传递时对其…

flutter 与H5交互

主要是flutter内嵌H5页面,之后就是两者之间的交互 flutter:webview_flutter 4.2.2 H5: uniapp 1、flutter向H5传参 //在flutter 中的web页面,可在onPageFinished中向H5进行传参onPageFinished: (String url) async {WebViewCont…

微信小程序线上加载使用iconfont问题

1.在微信小程序根目录下创建style文件夹,里面再创建iconfont文件夹,用于放置iconfont图标文件和iconfont样式文件 2.给iconfont.wxss写样式(也可以下载iconfont代码,拷贝iconfont.css里的代码复制进去) font-face {fo…

Ecrett Music:AI音乐创作软件

【产品介绍】 Ecrett Music是一个由人工智能驱动的AI音乐创作软件,可以帮助内容创作者快速、简单、便宜地制作出适合自己的无版权音乐。无论你是做游戏、视频、播客还是其他类型的内容,都可以在Ecrett Music上选择场景、情绪或风格,然后点击一…

kali安装volatility及插件mimikatz

1.准备工作 kali安装pip2 wget https://bootstrap.pypa.io/pip/2.7/get-pip.py python2 get-pip.py 查看pip2版本 python2 -m pip -v pip2安装升级 pip2 install --upgrade setuptools 安装2个库 pip2 install construct2.10.54 pip2 install pycryptodome 下载文件d…

Kubernetes入门 十七、Helm 包管理器

目录 概述Helm 的三大概念Helm 的安装仓库管理Helm 的常用命令 chart详解目录结构Redis chart 实践升级回滚 概述 Kubernetes 上的应用对象,都是由特定的资源描述组成,包括 Deployment、Service 等,都保存在各自的文件中或者集中写在一个配置…

通过Git Bash将本地文件上传到本地github

1. 新建一个仓库( Repository) 1.1登录Github,点击个人头像,点击Your repositories,点击New。 1.2 填写信息 Repository name: 仓库名称 Description(可选): 仓库描述介绍,不是必填项目。~~建议填写上哦!…

计算机专业毕业设计项目推荐02-个人医疗系统(Java+原生Js+Mysql)

个人医疗系统(Java原生JsMysql) **介绍****系统总体开发情况-功能模块****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以…

华三路由交换技术基础——计算机网络基础

计算机网络: 定义:一组具有自治权的计算机互联的集合 作用: 1.共享信息资源 2.分解式处理信息 4.负载均衡 5.综合信息服务 它是计算机技术与通信技术的两个领域的结合 一,计算机网络中的基本概念: 局域网&#xff…

web端动效 PAG

之前写过一篇lottie动效的文章:web端动效 lottie-web 使用,本篇写一下PAG-web的基础使用。 PAG是腾讯开发,支持移动端、桌面端以及Web端的动效工作流解决方案。目标是降低或消除动效相关的研发成本,能够一键将设计师在 AE&#x…

PostgreSQL 流复制搭建与维护

文章目录 前言1. 配置环境1.1 环境介绍1.2 主库白名单1.3 主库参数配置 2. 流复制搭建2.1 备份恢复2.2 创建复制用户2.3 参数修改2.4 启动并检查2.5 同步流复制2.6 同步复制级别 3. 流复制监控3.1 角色判断3.2 主库查看流复制3.3 延迟监控3.4 备库查询复制信息 前言 PostgreSQ…