VINS预积分推导2

协方差矩阵传播

由式子可以看出,预积分噪声是IMU高斯白噪声的线性组合,因此预积分噪声也满足零均值的高斯分布:
η i j = [ δ ϕ i j δ v i j δ p i j ] N ˜ ( 0 9 × 1 , Σ i j ) {\eta _{ij}} = \left[ \begin{array}{l}\delta {\phi _{ij}}\\\delta {v_{ij}}\\\delta {p_{ij}}\end{array} \right]\~{\cal N}\left( {{0_{9 \times 1}},{\Sigma _{ij}}} \right) ηij= δϕijδvijδpij N˜(09×1,Σij)
同时,IMU离散时间的高斯白噪声为:
η k d = [ η k g d η k a d ] N ˜ ( 0 6 × 1 , Σ k d ) \eta _k^d = \left[ \begin{array}{l}\eta _k^{gd}\\\eta _k^{ad}\end{array} \right]\~{\cal N}\left( {{0_{6 \times 1}},\Sigma _k^d} \right) ηkd=[ηkgdηkad]N˜(06×1,Σkd)
下面推导协方差矩阵的传播过程。对于姿态噪声项来说:
δ ϕ i j = ∑ k = i j − 1 R ~ k + 1 , j T J r , k η k g d Δ t = ∑ k = i j − 2 R ~ k + 1 , j T J r , k η k g d Δ t + J r , j − 1 η j − 1 g d Δ t = ∑ k = i j − 2 ( R ~ k + 1 , j − 1 R ~ j − 1 , j ) T J r , k η k g d Δ t + J r , j − 1 η j − 1 g d Δ t = R ~ j − 1 , j T ∑ k = i j − 2 R ~ k + 1 , j − 1 T J r , k η k g d Δ t + J r , j − 1 η j − 1 g d Δ t = R ~ j − 1 , j T δ ϕ i , j − 1 + J r , j − 1 η j − 1 g d Δ t \begin{array}{l}\delta {\phi _{ij}} = \sum\limits_{k = i}^{j - 1} {\tilde R_{k + 1,j}^T{J_{r,k}}\eta _k^{gd}\Delta t} \\{\rm{ = }}\sum\limits_{k = i}^{j - 2} {\tilde R_{k + 1,j}^T{J_{r,k}}\eta _k^{gd}\Delta t} {\rm{ + }}{J_{r,j - 1}}\eta _{j - 1}^{gd}\Delta t\\{\rm{ = }}\sum\limits_{k = i}^{j - 2} {{{\left( {{{\tilde R}_{k + 1,j - 1}}{{\tilde R}_{j - 1,j}}} \right)}^T}{J_{r,k}}\eta _k^{gd}\Delta t} {\rm{ + }}{J_{r,j - 1}}\eta _{j - 1}^{gd}\Delta t\\ = \tilde R_{j - 1,j}^T\sum\limits_{k = i}^{j - 2} {\tilde R_{k + 1,j - 1}^T{J_{r,k}}\eta _k^{gd}\Delta t} {\rm{ + }}{J_{r,j - 1}}\eta _{j - 1}^{gd}\Delta t\\ = \tilde R_{j - 1,j}^T\delta {\phi _{i,j - 1}}{\rm{ + }}{J_{r,j - 1}}\eta _{j - 1}^{gd}\Delta t\end{array} δϕij=k=ij1R~k+1,jTJr,kηkgdΔt=k=ij2R~k+1,jTJr,kηkgdΔt+Jr,j1ηj1gdΔt=k=ij2(R~k+1,j1R~j1,j)TJr,kηkgdΔt+Jr,j1ηj1gdΔt=R~j1,jTk=ij2R~k+1,j1TJr,kηkgdΔt+Jr,j1ηj1gdΔt=R~j1,jTδϕi,j1+Jr,j1ηj1gdΔt
对于速度噪声项来说:
δ v i j = ∑ k = i j − 1 R ~ i k η k a d Δ t − R ~ i k ( a ~ k − b i a ) ∧ δ ϕ i k Δ t = ∑ k = i j − 2 R ~ i k η k a d Δ t − R ~ i k ( a ~ k − b i a ) ∧ δ ϕ i k Δ t + R ~ i , j − 1 η j − 1 a d Δ 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 d Δ t − R ~ i , j − 1 ( a ~ j − 1 − b i a ) ∧ δ ϕ i , j − 1 Δ t \begin{array}{l}\delta {v_{ij}} = \sum\limits_{k = i}^{j - 1} {{{\tilde R}_{ik}}\eta _k^{ad}\Delta t - {{\tilde R}_{ik}}{{\left( {{{\tilde a}_k} - b_i^a} \right)}^ \wedge }\delta {\phi _{ik}}\Delta t} \\ = \sum\limits_{k = i}^{j - 2} {{{\tilde R}_{ik}}\eta _k^{ad}\Delta t - {{\tilde R}_{ik}}{{\left( {{{\tilde a}_k} - b_i^a} \right)}^ \wedge }\delta {\phi _{ik}}\Delta t} + {{\tilde R}_{i,j - 1}}\eta _{j - 1}^{ad}\Delta t - {{\tilde R}_{i,j - 1}}{\left( {{{\tilde a}_{j - 1}} - b_i^a} \right)^ \wedge }\delta {\phi _{i,j - 1}}\Delta t\\ = \delta {v_{i,j - 1}} + {{\tilde R}_{i,j - 1}}\eta _{j - 1}^{ad}\Delta t - {{\tilde R}_{i,j - 1}}{\left( {{{\tilde a}_{j - 1}} - b_i^a} \right)^ \wedge }\delta {\phi _{i,j - 1}}\Delta t\end{array} δvij=k=ij1R~ikηkadΔtR~ik(a~kbia)δϕikΔt=k=ij2R~ikηkadΔtR~ik(a~kbia)δϕikΔt+R~i,j1ηj1adΔtR~i,j1(a~j1bia)δϕi,j1Δt=δvi,j1+R~i,j1ηj1adΔtR~i,j1(a~j1bia)δϕi,j1Δt
对于平移噪声项来说:
δ 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 d Δ t 2 = ∑ k = i j − 2 δ 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 d Δ t 2 + δ v i , j − 1 Δ t − 1 2 R ~ i , j − 1 ( a ~ k − b i a ) ∧ δ ϕ i , j − 1 Δ t 2 + 1 2 R ~ i , j − 1 η j − 1 a d Δ t 2 = δ p i , j − 1 + δ v i , j − 1 Δ t − 1 2 R ~ i , j − 1 ( a ~ k − b i a ) ∧ δ ϕ i , j − 1 Δ t 2 + 1 2 R ~ i , j − 1 η j − 1 a d Δ t 2 \begin{array}{l}\delta {p_{ij}} = \sum\limits_{k = i}^{j - 1} {\delta {v_{ik}}\Delta t - \frac{1}{2}{{\tilde R}_{ik}}{{\left( {{{\tilde a}_k} - b_i^a} \right)}^ \wedge }\delta {\phi _{ik}}\Delta {t^2} + \frac{1}{2}{{\tilde R}_{ik}}\eta _k^{ad}\Delta {t^2}} \\ = \sum\limits_{k = i}^{j - 2} {\delta {v_{ik}}\Delta t - \frac{1}{2}{{\tilde R}_{ik}}{{\left( {{{\tilde a}_k} - b_i^a} \right)}^ \wedge }\delta {\phi _{ik}}\Delta {t^2} + \frac{1}{2}{{\tilde R}_{ik}}\eta _k^{ad}\Delta {t^2}} + \delta {v_{i,j - 1}}\Delta t - \frac{1}{2}{{\tilde R}_{i,j - 1}}{\left( {{{\tilde a}_k} - b_i^a} \right)^ \wedge }\delta {\phi _{i,j - 1}}\Delta {t^2} + \frac{1}{2}{{\tilde R}_{i,j - 1}}\eta _{j - 1}^{ad}\Delta {t^2}\\ = \delta {p_{i,j - 1}} + \delta {v_{i,j - 1}}\Delta t - \frac{1}{2}{{\tilde R}_{i,j - 1}}{\left( {{{\tilde a}_k} - b_i^a} \right)^ \wedge }\delta {\phi _{i,j - 1}}\Delta {t^2} + \frac{1}{2}{{\tilde R}_{i,j - 1}}\eta _{j - 1}^{ad}\Delta {t^2}\end{array} δpij=k=ij1δvikΔt21R~ik(a~kbia)δϕikΔt2+21R~ikηkadΔt2=k=ij2δvikΔt21R~ik(a~kbia)δϕikΔt2+21R~ikηkadΔt2+δvi,j1Δt21R~i,j1(a~kbia)δϕi,j1Δt2+21R~i,j1ηj1adΔt2=δpi,j1+δvi,j1Δt21R~i,j1(a~kbia)δϕi,j1Δt2+21R~i,j1ηj1adΔt2
根据上式,可以将噪声项的传播过程写成矩阵形式,从而得到预积分协方差矩阵的传播形式:
A j − 1 = [ R ~ j − 1 , j T 0 0 − R ~ i , j − 1 ( a ~ j − 1 − b i a ) ∧ Δ t I 0 − 1 2 R ~ i , j − 1 ( a ~ k − b i a ) ∧ Δ t 2 Δ t 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 ] {A_{j - 1}} = \left[ {\begin{array}{ccccccccccccccc}{\tilde R_{j - 1,j}^T}&0&0\\{ - {{\tilde R}_{i,j - 1}}{{\left( {{{\tilde a}_{j - 1}} - b_i^a} \right)}^ \wedge }\Delta t}&I&0\\{ - \frac{1}{2}{{\tilde R}_{i,j - 1}}{{\left( {{{\tilde a}_k} - b_i^a} \right)}^ \wedge }\Delta {t^2}}&{\Delta t}&I\end{array}} \right],{B_{j - 1}} = \left[ {\begin{array}{ccccccccccccccc}{{J_{r,j - 1}}\Delta t}&0\\0&{{{\tilde R}_{i,j - 1}}\Delta t}\\0&{\frac{1}{2}{{\tilde R}_{i,j - 1}}\Delta {t^2}}\end{array}} \right] Aj1= R~j1,jTR~i,j1(a~j1bia)Δt21R~i,j1(a~kbia)Δt20IΔt00I ,Bj1= Jr,j1Δt000R~i,j1Δt21R~i,j1Δt2 η i j = A j − 1 η i , j − 1 + B j − 1 η j − 1 d {\eta _{ij}} = {A_{j - 1}}{\eta _{i,j - 1}} + {B_{j - 1}}\eta _{j - 1}^d ηij=Aj1ηi,j1+Bj1ηj1d Σ i j = A j − 1 Σ i , j − 1 A j − 1 T + B j − 1 Σ j − 1 d B j − 1 T {\Sigma _{ij}} = {A_{j - 1}}{\Sigma _{i,j - 1}}A_{j - 1}^T + {B_{j - 1}}\Sigma _{j - 1}^dB_{j - 1}^T Σij=Aj1Σi,j1Aj1T+Bj1Σj1dBj1T
初始时刻,预积分协方差为零矩阵,之后随着预积分的传播,预积分的协方差越来越大,不确定性增大。
所以预积分等式可写为:
R i j exp ⁡ ( δ ϕ i j ) = R ~ i j R i T ( v j − v i − g Δ t i j ) + δ v i j = v ~ i j R i T ( p j − p i − v i Δ t i j − 1 2 Δ t i j 2 ) + δ p i j = p ~ i j \begin{array}{l}{R_{ij}}\exp \left( {\delta {\phi _{ij}}} \right) = {{\tilde R}_{ij}}\\R_i^T\left( {{v_j} - {v_i} - g\Delta {t_{ij}}} \right) + \delta {v_{ij}} = {{\tilde v}_{ij}}\\R_i^T\left( {{p_j} - {p_i} - {v_i}\Delta {t_{ij}} - \frac{1}{2}\Delta t_{ij}^2} \right) + \delta {p_{ij}} = {{\tilde p}_{ij}}\end{array} Rijexp(δϕij)=R~ijRiT(vjvigΔtij)+δvij=v~ijRiT(pjpiviΔtij21Δtij2)+δpij=p~ij
当零偏发生变化时,预积分测量值也会发生相应的变化。设初始零偏为 b ˉ \bar b bˉ,当前零偏为 b b b,零偏变化量为 δ b \delta b δb,零偏更新过程可写为 b ← b ˉ + δ b b \leftarrow \bar b + \delta b bbˉ+δb,所以可以根据零偏变化量 δ b \delta b δb和一阶雅可比更新预积分量:
R ~ i j ( b i g ) = R ~ i j ( b ˉ i g ) exp ⁡ ( ∂ R ˉ i j ∂ b g δ b i g ) v ~ i j ( b i g , b i a ) = v ~ i j ( b ˉ i g , b ˉ i a ) + ∂ v ˉ i j ∂ b g δ b i g + ∂ v ˉ i j ∂ b g δ b i g p ~ i j ( b i g , b i a ) = p ~ i j ( b ˉ i g , b ˉ i a ) + ∂ p ˉ i j ∂ b g δ b i g + ∂ p ˉ i j ∂ b g δ b i g \begin{array}{l}{{\tilde R}_{ij}}\left( {b_i^g} \right) = {{\tilde R}_{ij}}\left( {\bar b_i^g} \right)\exp \left( {\frac{{\partial {{\bar R}_{ij}}}}{{\partial {b^g}}}\delta b_i^g} \right)\\{{\tilde v}_{ij}}\left( {b_i^g,b_i^a} \right) = {{\tilde v}_{ij}}\left( {\bar b_i^g,\bar b_i^a} \right) + \frac{{\partial {{\bar v}_{ij}}}}{{\partial {b^g}}}\delta b_i^g + \frac{{\partial {{\bar v}_{ij}}}}{{\partial {b^g}}}\delta b_i^g\\{{\tilde p}_{ij}}\left( {b_i^g,b_i^a} \right) = {{\tilde p}_{ij}}\left( {\bar b_i^g,\bar b_i^a} \right) + \frac{{\partial {{\bar p}_{ij}}}}{{\partial {b^g}}}\delta b_i^g + \frac{{\partial {{\bar p}_{ij}}}}{{\partial {b^g}}}\delta b_i^g\end{array} R~ij(big)=R~ij(bˉig)exp(bgRˉijδbig)v~ij(big,bia)=v~ij(bˉig,bˉia)+bgvˉijδbig+bgvˉijδbigp~ij(big,bia)=p~ij(bˉig,bˉia)+bgpˉijδbig+bgpˉijδbig
在预积分传播过程中,零偏雅可比也会进行传播。将上式中的初始零偏和零偏变化量分离,可以得到:
R ~ ( b ˉ i g + δ b i g ) i j = ∏ k = i j − 1 exp ⁡ ( w ~ k − ( b ˉ i g + δ b i g ) ) Δ t = ∏ k = i j − 1 exp ⁡ ( ( w ~ k − b ˉ i g ) Δ t ) exp ⁡ ( − J r , k δ b i g Δ t ) = R ~ ( b ˉ i g ) i , i + 1 exp ⁡ ( − J r , i δ b i g Δ t ) R ~ ( b ˉ i g ) i + 1 , i + 2 exp ⁡ ( − J r , i + 1 δ b i g Δ t ) ⋯ R ~ ( b ˉ i g ) j − 1 , j exp ⁡ ( − J r , j − 1 δ b i g Δ t ) = R ~ ( b ˉ i g ) i j ∏ k = i j − 1 exp ⁡ ( − R ~ ( b ˉ i g ) k + 1 , j T J r , k δ b i g Δ t ) = R ~ ( b ˉ i g ) i j exp ⁡ ( − ∑ k = i j − 1 R ~ ( b ˉ i g ) k + 1 , j T J r , k δ b i g Δ t ) \begin{array}{l}\tilde R{\left( {\bar b_i^g{\rm{ + }}\delta b_i^g} \right)_{ij}}{\rm{ = }}\prod\limits_{k = i}^{j - 1} {\exp \left( {{{\tilde w}_k} - \left( {\bar b_i^g{\rm{ + }}\delta b_i^g} \right)} \right)\Delta t} \\ = \prod\limits_{k = i}^{j - 1} {\exp \left( {\left( {{{\tilde w}_k} - \bar b_i^g} \right)\Delta t} \right)\exp \left( { - {J_{r,k}}\delta b_i^g\Delta t} \right)} \\ = \tilde R{\left( {\bar b_i^g} \right)_{i,i + 1}}\exp \left( { - {J_{r,i}}\delta b_i^g\Delta t} \right)\tilde R{\left( {\bar b_i^g} \right)_{i + 1,i + 2}}\exp \left( { - {J_{r,i + 1}}\delta b_i^g\Delta t} \right) \cdots \tilde R{\left( {\bar b_i^g} \right)_{j - 1,j}}\exp \left( { - {J_{r,j - 1}}\delta b_i^g\Delta t} \right)\\ = \tilde R{\left( {\bar b_i^g} \right)_{ij}}\prod\limits_{k = i}^{j - 1} {\exp \left( { - \tilde R\left( {\bar b_i^g} \right)_{k + 1,j}^T{J_{r,k}}\delta b_i^g\Delta t} \right)} \\ = \tilde R{\left( {\bar b_i^g} \right)_{ij}}\exp \left( { - \sum\limits_{k = i}^{j - 1} {\tilde R\left( {\bar b_i^g} \right)_{k + 1,j}^T{J_{r,k}}\delta b_i^g\Delta t} } \right)\end{array} R~(bˉig+δbig)ij=k=ij1exp(w~k(bˉig+δbig))Δt=k=ij1exp((w~kbˉig)Δt)exp(Jr,kδbigΔt)=R~(bˉig)i,i+1exp(Jr,iδbigΔt)R~(bˉig)i+1,i+2exp(Jr,i+1δbigΔt)R~(bˉig)j1,jexp(Jr,j1δbigΔt)=R~(bˉig)ijk=ij1exp(R~(bˉig)k+1,jTJr,kδbigΔt)=R~(bˉig)ijexp(k=ij1R~(bˉig)k+1,jTJr,kδbigΔt) v ~ ( b ˉ i g + δ b i g , b ˉ i a + δ b i a ) i j = ∑ k = i j − 1 R ~ ( b ˉ i g + δ b i g ) i k ( a ~ k − b ˉ i a − δ b i a ) Δ t = ∑ k = i j − 1 R ~ ( b ˉ i g ) i k exp ⁡ ( ∂ R ˉ i k ∂ b g δ b i g ) ( a ~ k − b ˉ i a − δ b i a ) Δ t = ∑ k = i j − 1 R ~ ( b ˉ i g ) i k ( I + ( ∂ R ˉ i k ∂ b g δ b i g ) ∧ ) ( a ~ k − b ˉ i a − δ b i a ) Δ t = v ~ ( b ˉ i g , b ˉ i a ) i j − ∑ k = i j − 1 R ~ ( b ˉ i g ) i k Δ t δ b i a − ∑ k = i j − 1 R ~ ( b ˉ i g ) i k ( a ~ k − b ˉ i a ) ∧ ∂ R ˉ i k ∂ b g Δ t δ b i g \begin{array}{l}\tilde v{\left( {\bar b_i^g{\rm{ + }}\delta b_i^g,\bar b_i^a{\rm{ + }}\delta b_i^a} \right)_{ij}} = \sum\limits_{k = i}^{j - 1} {\tilde R{{\left( {\bar b_i^g{\rm{ + }}\delta b_i^g} \right)}_{ik}}\left( {{{\tilde a}_k} - \bar b_i^a - \delta b_i^a} \right)\Delta t} \\ = \sum\limits_{k = i}^{j - 1} {\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}\exp \left( {\frac{{\partial {{\bar R}_{ik}}}}{{\partial {b^g}}}\delta b_i^g} \right)\left( {{{\tilde a}_k} - \bar b_i^a - \delta b_i^a} \right)\Delta t} \\ = \sum\limits_{k = i}^{j - 1} {\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}\left( {I + {{\left( {\frac{{\partial {{\bar R}_{ik}}}}{{\partial {b^g}}}\delta b_i^g} \right)}^ \wedge }} \right)\left( {{{\tilde a}_k} - \bar b_i^a - \delta b_i^a} \right)\Delta t} \\ = \tilde v{\left( {\bar b_i^g,\bar b_i^a} \right)_{ij}} - \sum\limits_{k = i}^{j - 1} {\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}\Delta t\delta b_i^a} - \sum\limits_{k = i}^{j - 1} {\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}{{\left( {{{\tilde a}_k} - \bar b_i^a} \right)}^ \wedge }\frac{{\partial {{\bar R}_{ik}}}}{{\partial {b^g}}}\Delta t\delta b_i^g} \end{array} v~(bˉig+δbig,bˉia+δbia)ij=k=ij1R~(bˉig+δbig)ik(a~kbˉiaδbia)Δt=k=ij1R~(bˉig)ikexp(bgRˉikδbig)(a~kbˉiaδbia)Δt=k=ij1R~(bˉig)ik(I+(bgRˉikδbig))(a~kbˉiaδbia)Δt=v~(bˉig,bˉia)ijk=ij1R~(bˉig)ikΔtδbiak=ij1R~(bˉig)ik(a~kbˉia)bgRˉikΔtδbig p ~ ( b ˉ i g + δ b i g , b ˉ i a + δ b i a ) i j = ∑ k = i j − 1 v ~ ( b ˉ i g + δ b i g , b ˉ i a + δ b i a ) i j Δ t + 1 2 R ~ ( b ˉ i g + δ b i g ) i k ( a ~ k − b ˉ i a − δ b i a ) Δ t 2 = ∑ k = i j − 1 ( v ~ ( b ˉ i g , b ˉ i a ) i k + ∂ v ˉ i j ∂ b g δ b i g + ∂ v ˉ i j ∂ b a δ b i a ) Δ t + 1 2 R ~ ( b ˉ i g ) i k ( I − ( ∂ R ˉ i k ∂ b g δ b i g ) ∧ ) ( a ~ k − b ˉ i a − δ b i a ) Δ t 2 = p ~ ( b ˉ i g , b ˉ i a ) i j + ∑ k = i j − 1 ∂ v ˉ i j ∂ b a Δ t − 1 2 R ~ ( b ˉ i g ) i k Δ t 2 δ b i a + ∑ k = i j − 1 ∂ v ˉ i j ∂ b g Δ t − 1 2 R ~ ( b ˉ i g ) i k ( a ~ k − b ˉ i a ) ∧ ∂ R ˉ i k ∂ b g Δ t 2 δ b i g \begin{array}{l}\tilde p{\left( {\bar b_i^g{\rm{ + }}\delta b_i^g,\bar b_i^a{\rm{ + }}\delta b_i^a} \right)_{ij}} = \sum\limits_{k = i}^{j - 1} {\tilde v{{\left( {\bar b_i^g{\rm{ + }}\delta b_i^g,\bar b_i^a{\rm{ + }}\delta b_i^a} \right)}_{ij}}\Delta t + \frac{1}{2}\tilde R{{\left( {\bar b_i^g{\rm{ + }}\delta b_i^g} \right)}_{ik}}\left( {{{\tilde a}_k} - \bar b_i^a - \delta b_i^a} \right)\Delta {t^2}} \\ = \sum\limits_{k = i}^{j - 1} {\left( {\tilde v{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ik}} + \frac{{\partial {{\bar v}_{ij}}}}{{\partial {b^g}}}\delta b_i^g + \frac{{\partial {{\bar v}_{ij}}}}{{\partial {b^a}}}\delta b_i^a} \right)\Delta t + \frac{1}{2}\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}\left( {I - {{\left( {\frac{{\partial {{\bar R}_{ik}}}}{{\partial {b^g}}}\delta b_i^g} \right)}^ \wedge }} \right)\left( {{{\tilde a}_k} - \bar b_i^a - \delta b_i^a} \right)\Delta {t^2}} \\ = \tilde p{\left( {\bar b_i^g,\bar b_i^a} \right)_{ij}} + \sum\limits_{k = i}^{j - 1} {\frac{{\partial {{\bar v}_{ij}}}}{{\partial {b^a}}}\Delta t - \frac{1}{2}\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}\Delta {t^2}\delta b_i^a} + \sum\limits_{k = i}^{j - 1} {\frac{{\partial {{\bar v}_{ij}}}}{{\partial {b^g}}}\Delta t - \frac{1}{2}\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}{{\left( {{{\tilde a}_k} - \bar b_i^a} \right)}^ \wedge }\frac{{\partial {{\bar R}_{ik}}}}{{\partial {b^g}}}\Delta {t^2}\delta b_i^g} \end{array} p~(bˉig+δbig,bˉia+δbia)ij=k=ij1v~(bˉig+δbig,bˉia+δbia)ijΔt+21R~(bˉig+δbig)ik(a~kbˉiaδbia)Δt2=k=ij1(v~(bˉig,bˉia)ik+bgvˉijδbig+bavˉijδbia)Δt+21R~(bˉig)ik(I(bgRˉikδbig))(a~kbˉiaδbia)Δt2=p~(bˉig,bˉia)ij+k=ij1bavˉijΔt21R~(bˉig)ikΔt2δbia+k=ij1bgvˉijΔt21R~(bˉig)ik(a~kbˉia)bgRˉikΔt2δbig
所以零偏雅可比矩阵为:
∂ R ~ ( b ˉ i g ) i j ∂ b g = − ∑ k = i j − 1 R ~ ( b ˉ i g ) k + 1 , j T J r , k Δ t ∂ v ~ ( b ˉ i g , b ˉ i a ) i j ∂ b g = − ∑ k = i j − 1 R ~ ( b ˉ i g ) i k ( a ~ k − b ˉ i a ) ∧ ∂ R ˉ i k ∂ b g Δ t δ b ∂ v ~ ( b ˉ i g , b ˉ i a ) i j ∂ b a = − ∑ k = i j − 1 R ~ ( b ˉ i g ) i k Δ t ∂ p ~ ( b ˉ i g , b ˉ i a ) i j ∂ b a = ∑ k = i j − 1 ∂ v ˉ i j ∂ b a Δ t − 1 2 R ~ ( b ˉ i g ) i k Δ t 2 ∂ p ~ ( b ˉ i g , b ˉ i a ) i j ∂ b g = ∑ k = i j − 1 ∂ v ˉ i j ∂ b g Δ t − 1 2 R ~ ( b ˉ i g ) i k ( a ~ k − b ˉ i a ) ∧ ∂ R ˉ i k ∂ b g Δ t 2 \begin{array}{l}\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial {b^g}}}{\rm{ = }} - \sum\limits_{k = i}^{j - 1} {\tilde R\left( {\bar b_i^g} \right)_{k + 1,j}^T{J_{r,k}}\Delta t} \\\frac{{\partial \tilde v{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ij}}}}{{\partial {b^g}}}{\rm{ = }} - \sum\limits_{k = i}^{j - 1} {\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}{{\left( {{{\tilde a}_k} - \bar b_i^a} \right)}^ \wedge }\frac{{\partial {{\bar R}_{ik}}}}{{\partial {b^g}}}\Delta t\delta b} \\\frac{{\partial \tilde v{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ij}}}}{{\partial {b^a}}} = - \sum\limits_{k = i}^{j - 1} {\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}\Delta t} \\\frac{{\partial \tilde p{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ij}}}}{{\partial {b^a}}} = \sum\limits_{k = i}^{j - 1} {\frac{{\partial {{\bar v}_{ij}}}}{{\partial {b^a}}}\Delta t - \frac{1}{2}\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}\Delta {t^2}} \\\frac{{\partial \tilde p{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ij}}}}{{\partial {b^g}}} = \sum\limits_{k = i}^{j - 1} {\frac{{\partial {{\bar v}_{ij}}}}{{\partial {b^g}}}\Delta t - \frac{1}{2}\tilde R{{\left( {\bar b_i^g} \right)}_{ik}}{{\left( {{{\tilde a}_k} - \bar b_i^a} \right)}^ \wedge }\frac{{\partial {{\bar R}_{ik}}}}{{\partial {b^g}}}\Delta {t^2}} \end{array} bgR~(bˉig)ij=k=ij1R~(bˉig)k+1,jTJr,kΔtbgv~(bˉig,bˉia)ij=k=ij1R~(bˉig)ik(a~kbˉia)bgRˉikΔtδbbav~(bˉig,bˉia)ij=k=ij1R~(bˉig)ikΔtbap~(bˉig,bˉia)ij=k=ij1bavˉijΔt21R~(bˉig)ikΔt2bgp~(bˉig,bˉia)ij=k=ij1bgvˉijΔt21R~(bˉig)ik(a~kbˉia)bgRˉikΔt2

预积分雅可比推导

e R i j ( R i exp ⁡ ( ϕ i ) ) = log ⁡ ( R ~ i j T ( R i exp ⁡ ( ϕ i ) ) T R j ) = log ⁡ ( R ~ i j T exp ⁡ ( − ϕ i ) R i T R j ) = log ⁡ ( R ~ i j T R i T R j exp ⁡ ( − R j T R i ϕ i ) ) = e R i j ( R i ) − J r − 1 ( e R i j ( R i ) ) R j T R i ϕ i \begin{array}{l}{e_{{R_{ij}}}}\left( {{R_i}\exp \left( {{\phi _i}} \right)} \right) = \log \left( {\tilde R_{ij}^T{{\left( {{R_i}\exp \left( {{\phi _i}} \right)} \right)}^T}{R_j}} \right)\\ = \log \left( {\tilde R_{ij}^T\exp \left( { - {\phi _i}} \right){R_i}^T{R_j}} \right)\\ = \log \left( {\tilde R_{ij}^T{R_i}^T{R_j}\exp \left( { - R_j^T{R_i}{\phi _i}} \right)} \right)\\ = {e_{{R_{ij}}}}\left( {{R_i}} \right) - J_r^{ - 1}\left( {{e_{{R_{ij}}}}\left( {{R_i}} \right)} \right)R_j^T{R_i}{\phi _i}\end{array} eRij(Riexp(ϕi))=log(R~ijT(Riexp(ϕi))TRj)=log(R~ijTexp(ϕi)RiTRj)=log(R~ijTRiTRjexp(RjTRiϕi))=eRij(Ri)Jr1(eRij(Ri))RjTRiϕi
e R i j ( R j exp ⁡ ( ϕ j ) ) = log ⁡ ( R ~ i j T R i T R j exp ⁡ ( ϕ j ) ) = e R i j ( R j ) + J r − 1 ( e R i j ( R j ) ) ϕ j \begin{array}{l}{e_{{R_{ij}}}}\left( {{R_j}\exp \left( {{\phi _j}} \right)} \right) = \log \left( {\tilde R_{ij}^TR_i^T{R_j}\exp \left( {{\phi _j}} \right)} \right)\\ = {e_{{R_{ij}}}}\left( {{R_j}} \right) + J_r^{ - 1}\left( {{e_{{R_{ij}}}}\left( {{R_j}} \right)} \right){\phi _j}\end{array} eRij(Rjexp(ϕj))=log(R~ijTRiTRjexp(ϕj))=eRij(Rj)+Jr1(eRij(Rj))ϕj e R i j ( b i g + δ b i g + δ b ~ i g ) = log ⁡ ( ( R ~ ( b ˉ i g ) i j exp ⁡ ( ∂ R ~ ( b ˉ i g ) i j ∂ b i g ( δ b i g + δ b ~ i g ) ) ) T R i T R j ) = log ⁡ ( ( R ~ ( b ˉ i g ) i j exp ⁡ ( ∂ R ~ ( b ˉ i g ) i j ∂ b i g δ b i g ) exp ⁡ ( J r , b ∂ R ~ ( b ˉ i g ) i j ∂ b i g δ b ~ i g ) ) T R i T R j ) = log ⁡ exp ⁡ ( − J r , b ∂ R ~ ( b ˉ i g ) i j ∂ b i g δ b ~ i g ) R ~ ( b i g ) i j R i T R j = log ⁡ exp ⁡ ( − J r , b ∂ R ~ ( b ˉ i g ) i j ∂ b i g δ b ~ i g ) exp ⁡ ( e R i j ( b i g + δ b i g ) ) = log ⁡ exp ⁡ ( e R i j ( b i g + δ b i g ) ) exp ⁡ ( − exp ⁡ ( e R i j ( b i g + δ b i g ) ) T J r , b ∂ R ~ ( b ˉ i g ) i j ∂ b i g δ b ~ i g ) = e R i j ( b i g + δ b i g ) − J r − 1 ( e R i j ( b i g + δ b i g ) ) exp ⁡ ( e R i j ( b i g + δ b i g ) ) T J r , b ∂ R ~ ( b ˉ i g ) i j ∂ b i g δ b ~ i g \begin{array}{l}{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g + \delta \tilde b_i^g} \right) = \log \left( {{{\left( {\tilde R{{\left( {\bar b_i^g} \right)}_{ij}}\exp \left( {\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\left( {\delta b_i^g + \delta \tilde b_i^g} \right)} \right)} \right)}^T}{R_i}^T{R_j}} \right)\\ = \log \left( {{{\left( {\tilde R{{\left( {\bar b_i^g} \right)}_{ij}}\exp \left( {\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\delta b_i^g} \right)\exp \left( {{J_{r,b}}\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\delta \tilde b_i^g} \right)} \right)}^T}{R_i}^T{R_j}} \right)\\ = \log \exp \left( { - {J_{r,b}}\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\delta \tilde b_i^g} \right)\tilde R{\left( {b_i^g} \right)_{ij}}{R_i}^T{R_j}\\ = \log \exp \left( { - {J_{r,b}}\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\delta \tilde b_i^g} \right)\exp \left( {{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right)} \right)\\ = \log \exp \left( {{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right)} \right)\exp \left( { - \exp {{\left( {{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right)} \right)}^T}{J_{r,b}}\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\delta \tilde b_i^g} \right)\\ = {e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right) - J_r^{ - 1}\left( {{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right)} \right)\exp {\left( {{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right)} \right)^T}{J_{r,b}}\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\delta \tilde b_i^g\end{array} eRij(big+δbig+δb~ig)=log((R~(bˉig)ijexp(bigR~(bˉig)ij(δbig+δb~ig)))TRiTRj)=log((R~(bˉig)ijexp(bigR~(bˉig)ijδbig)exp(Jr,bbigR~(bˉig)ijδb~ig))TRiTRj)=logexp(Jr,bbigR~(bˉig)ijδb~ig)R~(big)ijRiTRj=logexp(Jr,bbigR~(bˉig)ijδb~ig)exp(eRij(big+δbig))=logexp(eRij(big+δbig))exp(exp(eRij(big+δbig))TJr,bbigR~(bˉig)ijδb~ig)=eRij(big+δbig)Jr1(eRij(big+δbig))exp(eRij(big+δbig))TJr,bbigR~(bˉig)ijδb~ig J r − 1 ( e R i j ( b i g + δ b i g ) ) = J r − 1 , J r , b ( ∂ R ~ ( b ˉ i g ) i j ∂ b i g δ b i g ) = J r , b J_r^{ - 1}\left( {{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right)} \right) = J_r^{ - 1},{J_{r,b}}\left( {\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\delta b_i^g} \right) = {J_{r,b}} Jr1(eRij(big+δbig))=Jr1,Jr,b(bigR~(bˉig)ijδbig)=Jr,b
所以姿态预积分雅可比为:
∂ e R i j ∂ δ ϕ i = − J r − 1 ( e R i j ( R i ) ) R j T R i ∂ e R i j ∂ δ ϕ j = J r − 1 ( e R i j ( R j ) ) ∂ e R i j ∂ δ b i g = J r − 1 ( e R i j ( b i g + δ b i g ) ) exp ⁡ ( e R i j ( b i g + δ b i g ) ) T J r , b ∂ R ~ ( b ˉ i g ) i j ∂ b i g \begin{array}{l}\frac{{\partial {e_{{R_{ij}}}}}}{{\partial \delta {\phi _i}}}{\rm{ = }} - J_r^{ - 1}\left( {{e_{{R_{ij}}}}\left( {{R_i}} \right)} \right)R_j^T{R_i}\\\frac{{\partial {e_{{R_{ij}}}}}}{{\partial \delta {\phi _{\rm{j}}}}}{\rm{ = }}J_r^{ - 1}\left( {{e_{{R_{ij}}}}\left( {{R_j}} \right)} \right)\\\frac{{\partial {e_{{R_{ij}}}}}}{{\partial \delta b_i^g}}{\rm{ = }}J_r^{ - 1}\left( {{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right)} \right)\exp {\left( {{e_{{R_{ij}}}}\left( {b_i^g + \delta b_i^g} \right)} \right)^T}{J_{r,b}}\frac{{\partial \tilde R{{\left( {\bar b_i^g} \right)}_{ij}}}}{{\partial b_i^g}}\end{array} δϕieRij=Jr1(eRij(Ri))RjTRiδϕjeRij=Jr1(eRij(Rj))δbigeRij=Jr1(eRij(big+δbig))exp(eRij(big+δbig))TJr,bbigR~(bˉig)ij
对于速度预积分来说:
e v i j ( R i exp ⁡ ( δ ϕ i ) ) = ( R i exp ⁡ ( δ ϕ i ) ) T ( v j − v i − g Δ t i j ) − v ~ i j = exp ⁡ ( δ ϕ i ) T R i T ( v j − v i − g Δ t i j ) − v ~ i j = ( I − δ ϕ i ∧ ) R i T ( v j − v i − g Δ t i j ) − v ~ i j = e v i j ( R i exp ⁡ ( δ ϕ i ) ) + ( R i T ( v j − v i − g Δ t i j ) ) ∧ δ ϕ i − v ~ i j \begin{array}{l}{e_{{v_{ij}}}}\left( {{R_i}\exp \left( {\delta {\phi _i}} \right)} \right) = {\left( {{R_i}\exp \left( {\delta {\phi _i}} \right)} \right)^T}\left( {{v_j} - {v_i} - g\Delta {t_{ij}}} \right) - {{\tilde v}_{ij}}\\ = \exp {\left( {\delta {\phi _i}} \right)^T}R_i^T\left( {{v_j} - {v_i} - g\Delta {t_{ij}}} \right) - {{\tilde v}_{ij}}\\ = \left( {I - \delta \phi _i^ \wedge } \right)R_i^T\left( {{v_j} - {v_i} - g\Delta {t_{ij}}} \right) - {{\tilde v}_{ij}}\\ = {e_{{v_{ij}}}}\left( {{R_i}\exp \left( {\delta {\phi _i}} \right)} \right) + {\left( {R_i^T\left( {{v_j} - {v_i} - g\Delta {t_{ij}}} \right)} \right)^ \wedge }\delta {\phi _i} - {{\tilde v}_{ij}}\end{array} evij(Riexp(δϕi))=(Riexp(δϕi))T(vjvigΔtij)v~ij=exp(δϕi)TRiT(vjvigΔtij)v~ij=(Iδϕi)RiT(vjvigΔtij)v~ij=evij(Riexp(δϕi))+(RiT(vjvigΔtij))δϕiv~ij
其他为简单的线形关系,所以速度预积分雅可比为:
∂ e v i j ∂ δ ϕ i = ( R i T ( v j − v i − g Δ t i j ) ) ∧ ∂ e v i j ∂ δ v i = − R i T ∂ e v i j ∂ δ v j = R i T ∂ e v i j ∂ b i a = − ∂ v ~ ( b ˉ i g , b ˉ i a ) i j ∂ b a ∂ e v i j ∂ b i g = − ∂ v ~ ( b ˉ i g , b ˉ i a ) i j ∂ b g \begin{array}{l}\frac{{\partial {e_{{{\rm{v}}_{ij}}}}}}{{\partial \delta {\phi _i}}}{\rm{ = }}{\left( {R_i^T\left( {{v_j} - {v_i} - g\Delta {t_{ij}}} \right)} \right)^ \wedge }\\\frac{{\partial {e_{{{\rm{v}}_{ij}}}}}}{{\partial \delta {v_i}}} = - R_i^T\\\frac{{\partial {e_{{{\rm{v}}_{ij}}}}}}{{\partial \delta {v_j}}} = R_i^T\\\frac{{\partial {e_{{{\rm{v}}_{ij}}}}}}{{\partial b_i^a}} = - \frac{{\partial \tilde v{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ij}}}}{{\partial {b^a}}}\\\frac{{\partial {e_{{{\rm{v}}_{ij}}}}}}{{\partial b_i^g}} = - \frac{{\partial \tilde v{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ij}}}}{{\partial {b^g}}}\end{array} δϕievij=(RiT(vjvigΔtij))δvievij=RiTδvjevij=RiTbiaevij=bav~(bˉig,bˉia)ijbigevij=bgv~(bˉig,bˉia)ij
对于位置来说,同理:
e p i j ( R i exp ⁡ ( δ ϕ i ) ) = ( R i exp ⁡ ( δ ϕ i ) ) T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − p ~ i j = exp ⁡ ( δ ϕ i ) T R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − p ~ i j = ( I − δ ϕ i ∧ ) R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − p ~ i j = e p i j ( R i exp ⁡ ( δ ϕ i ) ) + ( R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) ) ∧ δ ϕ i − p ~ i j \begin{array}{l}{e_{{p_{ij}}}}\left( {{R_i}\exp \left( {\delta {\phi _i}} \right)} \right) = {\left( {{R_i}\exp \left( {\delta {\phi _i}} \right)} \right)^T}\left( {{p_j} - {p_i} - {v_i}\Delta {t_{ij}} - \frac{1}{2}g\Delta t_{ij}^2} \right) - {{\tilde p}_{ij}}\\ = \exp {\left( {\delta {\phi _i}} \right)^T}R_i^T\left( {{p_j} - {p_i} - {v_i}\Delta {t_{ij}} - \frac{1}{2}g\Delta t_{ij}^2} \right) - {{\tilde p}_{ij}}\\ = \left( {I - \delta \phi _i^ \wedge } \right)R_i^T\left( {{p_j} - {p_i} - {v_i}\Delta {t_{ij}} - \frac{1}{2}g\Delta t_{ij}^2} \right) - {{\tilde p}_{ij}}\\ = {e_{{p_{ij}}}}\left( {{R_i}\exp \left( {\delta {\phi _i}} \right)} \right) + {\left( {R_i^T\left( {{p_j} - {p_i} - {v_i}\Delta {t_{ij}} - \frac{1}{2}g\Delta t_{ij}^2} \right)} \right)^ \wedge }\delta {\phi _i} - {{\tilde p}_{ij}}\end{array} epij(Riexp(δϕi))=(Riexp(δϕi))T(pjpiviΔtij21gΔtij2)p~ij=exp(δϕi)TRiT(pjpiviΔtij21gΔtij2)p~ij=(Iδϕi)RiT(pjpiviΔtij21gΔtij2)p~ij=epij(Riexp(δϕi))+(RiT(pjpiviΔtij21gΔtij2))δϕip~ij
∂ e p i j ∂ δ ϕ i = ( R i T ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) ) ∧ ∂ e p i j ∂ δ p i = − R i T ∂ e p i j ∂ δ p j = R i T ∂ e p i j ∂ δ v i = − R i T Δ t i j ∂ e p i j ∂ b i a = − ∂ p ~ ( b ˉ i g , b ˉ i a ) i j ∂ b a ∂ e p i j ∂ b i g = − ∂ p ~ ( b ˉ i g , b ˉ i a ) i j ∂ b g \begin{array}{l}\frac{{\partial {e_{{{\rm{p}}_{ij}}}}}}{{\partial \delta {\phi _i}}}{\rm{ = }}{\left( {R_i^T\left( {{p_j} - {p_i} - {v_i}\Delta {t_{ij}} - \frac{1}{2}g\Delta t_{ij}^2} \right)} \right)^ \wedge }\\\frac{{\partial {e_{{p_{ij}}}}}}{{\partial \delta {p_i}}} = - R_i^T\\\frac{{\partial {e_{{p_{ij}}}}}}{{\partial \delta {p_j}}} = R_i^T\\\frac{{\partial {e_{{p_{ij}}}}}}{{\partial \delta {v_i}}} = - R_i^T\Delta {t_{ij}}\\\frac{{\partial {e_{{p_{ij}}}}}}{{\partial b_i^a}} = - \frac{{\partial \tilde p{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ij}}}}{{\partial {b^a}}}\\\frac{{\partial {e_{{p_{ij}}}}}}{{\partial b_i^g}} = - \frac{{\partial \tilde p{{\left( {\bar b_i^g,\bar b_i^a} \right)}_{ij}}}}{{\partial {b^g}}}\end{array} δϕiepij=(RiT(pjpiviΔtij21gΔtij2))δpiepij=RiTδpjepij=RiTδviepij=RiTΔtijbiaepij=bap~(bˉig,bˉia)ijbigepij=bgp~(bˉig,bˉia)ij

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值