IMU预积分关键部分介绍

简单记录《自动驾驶与机器人中的SLAM技术》一书中IMU预积分算法,防止自己遗忘。

在这里插gai入图片描述

概述

当一个新的IMU数据到来时,预积分器应该完成以下功能:

  1. 在上一个数据的基础上利用预积分测量模型计算三个预积分观测量 Δ R ~ i j , Δ v ~ i j , Δ p ~ i j \Delta \tilde{R}_{ij},\Delta \tilde{v}_{ij},\Delta \tilde{p}_{ij} ΔR~ij,Δv~ij,Δp~ij
  2. 计算三个噪声量的协方差矩阵 Σ i , k + 1 \Sigma_{i,k+1} Σi,k+1,作为后续图优化的信息矩阵。
  3. 计算预积分观测量相对于零偏的雅可比矩阵,共五个,用于在零偏更新后更新预积分观测量。

预积分测量模型

Δ R ~ i j = ∏ k = i j − 1 Exp ( ( ω ~ k − b g , i ) Δ t ) Δ v ~ i j = ∑ k = i j − 1 Δ R ~ i k ( a ~ k − b a , i ) Δ t Δ p ~ i j = ∑ k = i j − 1 [ ( Δ v ~ i k Δ t ) + 1 2 Δ R ~ i k ( a ~ k − b a , i ) Δ t 2 ] \Delta \tilde{R}_{ij} = \prod_{k=i}^{j-1} \text{Exp}\left((\tilde{\omega}_k - b_{g,i})\Delta t\right)\\\\[10pt] \Delta \tilde{v}_{ij} = \sum_{k=i}^{j-1} \Delta \tilde{R}_{ik}(\tilde{a}_k - b_{a,i})\Delta t\\\\[10pt] \Delta \tilde{p}_{ij} = \sum_{k=i}^{j-1} \left[(\Delta \tilde{v}_{ik}\Delta t) + \frac{1}{2}\Delta \tilde{R}_{ik}(\tilde{a}_k - b_{a,i})\Delta t^2\right] ΔR~ij=k=ij1Exp((ω~kbg,i)Δt)Δv~ij=k=ij1ΔR~ik(a~kba,i)ΔtΔp~ij=k=ij1[(Δv~ikΔt)+21ΔR~ik(a~kba,i)Δt2]
使用上述三个公式输入IMU观测值计算预积分量(不考虑噪声,也就是说计算出来的是观测量,包含着观测噪声)
上式中预积分内部带有零偏量,因此不可避免地会依赖此时的零偏估计,为了处理这种依赖做出如下调整:
1、 i i i时刻零偏是固定的,并且在整个预积分计算过程中都是固定的
2、做出预积分对零偏量的一阶线性化模型,舍弃对零偏的高阶项
3、当零偏估计发生变化时,用这个线性模型来修正预积分

预积分噪声模型

这一部分主要是为了构建噪声递推公式,得到AB系数矩阵在每次递推时用来更新噪声协方差矩阵,该噪声协方差矩阵用于预积分图优化中的信息矩阵(GN优化方法中 H = J T P J = J T Σ − 1 J , H=J^TPJ=J^T\Sigma^{-1}J, H=JTPJ=JTΣ1J, 误差越大权重越小)。
噪声模型:
δ ϕ i , j = Δ R ~ r , j − 1 , j ⊤ δ ϕ i , j − 1 + J r , j − 1 η g d , j − 1 Δ t δ v i , j = δ v i , j − 1 − Δ R ~ i , j − 1 ( a ~ j − 1 − b a , i ) ∧ δ ϕ i , j − 1 Δ t + Δ R ~ v i , j − 1 η a d , j − 1 Δ t δ p i , j = δ p i , j − 1 + δ v i , j − 1 Δ t − 1 2 Δ R ~ i , j − 1 ( a ~ j − 1 − b a , i ) ∧ δ ϕ i , j − 1 Δ t 2 + 1 2 Δ R ~ i , j − 1 η a d , j − 1 Δ t 2 \delta \phi_{i, j} =\Delta \tilde{R}_{r,j-1, j}^\top \delta \phi_{i, j-1} + J_{r, j-1} \eta_{gd, j-1} \Delta t\\ \\\\[10pt] \delta v_{i, j}=\delta v_{i, j-1} - \Delta \tilde{R}_{i, j-1} (\tilde{a}_{j-1} - b_{a, i})^{\wedge} \delta \phi_{i, j-1} \Delta t + \Delta \tilde{R}_{vi, j-1} \eta_{ad, j-1} \Delta t\\ \\\\[10pt] \delta p_{i, j} =\delta p_{i, j-1} + \delta v_{i, j-1} \Delta t - \frac{1}{2} \Delta \tilde{R}_{i, j-1} (\tilde{a}_{j-1} - b_{a, i})^{\wedge}{\delta \phi_{i, j-1}} \Delta t^2 + \frac{1}{2} \Delta \tilde{R}_{i, j-1} \eta_{ad, j-1} \Delta t^2 δϕi,j=ΔR~r,j1,jδϕi,j1+Jr,j1ηgd,j1Δtδvi,j=δvi,j1ΔR~i,j1(a~j1ba,i)δϕi,j1Δt+ΔR~vi,j1ηad,j1Δtδpi,j=δpi,j1+δvi,j1Δt21ΔR~i,j1(a~j1ba,i)δϕi,j1Δt2+21ΔR~i,j1ηad,j1Δt2
转换为递推公式
[ δ ϕ i , j δ v i , j δ p i , j ] = [ Δ R ~ i , j − 1 − 1 0 0 − Δ R ~ i , j − 1 ( a ~ j − 1 − b a , i ) δ ϕ i k I 0 − 1 2 Δ R ~ i , j − 1 ( a ~ j − 1 − b a , i ) δ ϕ i k Δ t Δ t I ] [ δ ϕ i , j − 1 δ v i , j − 1 δ p i , j − 1 ] + [ J r , j − 1 Δ t 0 0 Δ R ~ i , j − 1 Δ t 0 1 2 Δ R ~ i , j − 1 ] [ η g d , j − 1 η a d , j − 1 ] \begin{bmatrix} \delta \phi_{i,j} \\ \delta v_{i,j} \\ \delta p_{i,j} \end{bmatrix} = \begin{bmatrix} \Delta \tilde{R}_{i, j-1}^{-1} & 0 & 0 \\ -\Delta \tilde{R}_{i, j-1} (\tilde{a}_{j-1} - b_{a, i})^{\delta \phi_{ik}} & I & 0 \\ -\frac{1}{2} \Delta \tilde{R}_{i, j-1} (\tilde{a}_{j-1} - b_{a, i})^{\delta \phi_{ik}} \Delta t & \Delta t & I \end{bmatrix} \begin{bmatrix} \delta \phi_{i,j-1} \\ \delta v_{i,j-1} \\ \delta p_{i,j-1} \end{bmatrix}+ \begin{bmatrix} J_{r,j-1} \Delta t & 0\\ 0 & \Delta \tilde{R}_{i,j-1} \Delta t \\ 0 & \frac{1}{2} \Delta \tilde{R}_{i,j-1} \end{bmatrix} \begin{bmatrix} \eta_{gd, j-1}\\ \eta_{ad,j-1} \end{bmatrix} δϕi,jδvi,jδpi,j = ΔR~i,j11ΔR~i,j1(a~j1ba,i)δϕik21ΔR~i,j1(a~j1ba,i)δϕikΔt0IΔt00I δϕi,j1δvi,j1δpi,j1 + Jr,j1Δt000ΔR~i,j1Δt21ΔR~i,j1 [ηgd,j1ηad,j1]
噪声的协方差递推公式为
Σ i , k + 1 = A k + 1 Σ i , k A k + 1 ⊤ + B k + 1 C o v ( η d , k ) B k + 1 ⊤ \Sigma_{i,k+1}=A_{k+1}\Sigma_{i,k}A_{k+1}^{\top}+B_{k+1}Cov(\eta_{d,k})B_{k+1}^{\top} Σi,k+1=Ak+1Σi,kAk+1+Bk+1Cov(ηd,k)Bk+1
这里的 A k + 1 A_{k+1} Ak+1 矩阵接近单位阵 I I I,因此可以看成噪声累加。陀螺仪的噪声通过 B B B 矩阵进入旋转的观测量中,加速度计的噪声则主要进入速度与平移估计中。

零偏的更新

前面的预积分观测模型中假设了在 i i i 时刻的IMU零偏恒定不变,这里我们假定预积分观测是随零偏线性变化的,也就是说在零偏发生时,按照一阶导数来更新预积分观测量。
具体来说就是把预积分观测量看成零偏 b g , i b_{g,i} bg,i, b a , i b_{a,i} ba,i, 的函数,那么当零偏更新时,预积分观测量做如下修改:
Δ R ~ i j ( b g , i + δ b g , i ) = Δ R ~ i j ( b g , i ) Exp ( ∂ Δ R ~ i j ∂ b g , i δ b g , i ) Δ v ~ i j ( b g , i + δ b g , i , b a , i + δ b a , i ) = Δ v ~ i j ( b g , i , b a , i ) + ∂ Δ v ~ i j ∂ b g , i δ b g , i + ∂ Δ v ~ i j ∂ b a , i δ b a , i Δ p ~ i j ( b g , i + δ b g , i , b a , i + δ b a , i ) = Δ p ~ i j ( b g , i , b a , i ) + ∂ Δ p ~ i j ∂ b g , i δ b g , i + ∂ Δ p ~ i j ∂ b a , i δ b a , i \Delta \tilde{R}_{ij}(b_{g,i} + \delta b_{g,i}) = \Delta \tilde{R}_{ij}(b_{g,i}) \text{Exp}\left(\frac{\partial \Delta \tilde{R}_{ij}}{\partial b_{g,i}} \delta b_{g,i}\right)\\\\[10pt] \Delta \tilde{v}_{ij}(b_{g,i} + \delta b_{g,i}, b_{a,i} + \delta b_{a,i}) = \Delta \tilde{v}_{ij}(b_{g,i}, b_{a,i}) + \frac{\partial \Delta \tilde{v}_{ij}}{\partial b_{g,i}} \delta b_{g,i} + \frac{\partial \Delta \tilde{v}_{ij}}{\partial b_{a,i}} \delta b_{a,i}\\\\[10pt] \Delta \tilde{p}_{ij}(b_{g,i} + \delta b_{g,i}, b_{a,i} + \delta b_{a,i}) = \Delta \tilde{p}_{ij}(b_{g,i}, b_{a,i}) + \frac{\partial \Delta \tilde{p}_{ij}}{\partial b_{g,i}} \delta b_{g,i} + \frac{\partial \Delta \tilde{p}_{ij}}{\partial b_{a,i}} \delta b_{a,i} ΔR~ij(bg,i+δbg,i)=ΔR~ij(bg,i)Exp(bg,iΔR~ijδbg,i)Δv~ij(bg,i+δbg,i,ba,i+δba,i)=Δv~ij(bg,i,ba,i)+bg,iΔv~ijδbg,i+ba,iΔv~ijδba,iΔp~ij(bg,i+δbg,i,ba,i+δba,i)=Δp~ij(bg,i,ba,i)+bg,iΔp~ijδbg,i+ba,iΔp~ijδba,i
其中上述公式中偏导数的递推形式如下:
∂ Δ R ~ i j ∂ b g , i = Δ R ~ j − 1 , j ⊤ ∂ Δ R ~ i , j − 1 ∂ b g , i − J r , j − 1 Δ t ∂ Δ v ~ i j ∂ b a , i = ∂ Δ v ~ i , j − 1 ∂ b a , i − Δ R ~ i , j − 1 Δ t ∂ Δ v ~ i j ∂ b g , i = ∂ Δ v ~ i , j − 1 ∂ b g , i − Δ R ~ i , j − 1 ( a ~ j − 1 − b a , i ) ∧ ∂ Δ R ~ i , j − 1 ∂ b g , i Δ t ∂ Δ p ~ i j ∂ b a , i = ∂ Δ p ~ i , j − 1 ∂ b a , i + ∂ Δ v ~ i , j − 1 ∂ b a , i Δ t − 1 2 Δ R ~ i , j − 1 Δ t 2 ∂ Δ p ~ i j ∂ b g , i = ∂ Δ p ~ i , j − 1 ∂ b g , i + ∂ Δ v ~ i , j − 1 ∂ b g , i Δ t − 1 2 Δ R ~ i , j − 1 ( a ~ j − 1 − b a , i ) ∧ ∂ Δ R ~ i , j − 1 ∂ b g , i Δ t 2 \frac{\partial \Delta \tilde{R}_{ij}}{\partial b_{g,i}} = \Delta \tilde{R}_{j-1,j}^\top \frac{\partial \Delta \tilde{R}_{i,j-1}}{\partial b_{g,i}}-J_{r,j-1} \Delta t\\ \\\\[10pt] \frac{\partial \Delta \tilde{v}_{ij}}{\partial b_{a,i}} =\frac{\partial \Delta \tilde{v}_{i,j-1}}{\partial b_{a,i}}-\Delta \tilde R_{i,j-1}\Delta t\\ \\\\[10pt] \frac{\partial \Delta \tilde{v}_{ij}}{\partial b_{g,i}} =\frac{\partial \Delta \tilde{v}_{i,j-1}}{\partial b_{g,i}}-\Delta \tilde{R}_{i,j-1}(\tilde a_{j-1}-b_{a,i})^\wedge \frac{\partial \Delta \tilde{R}_{i,j-1}}{\partial b_{g,i}} \Delta t\\ \\\\[10pt] \frac{\partial \Delta \tilde{p}_{ij}}{\partial b_{a,i}} = \frac{\partial \Delta \tilde{p}_{i,j-1}}{\partial b_{a,i}} + \frac{\partial \Delta \tilde{v}_{i,j-1}}{\partial b_{a,i}} \Delta t - \frac{1}{2} \Delta \tilde{R}_{i,j-1} \Delta t^2 \\\\[10pt] \frac{\partial \Delta \tilde{p}_{ij}}{\partial b_{g,i}} = \frac{\partial \Delta \tilde{p}_{i,j-1}}{\partial b_{g,i}} + \frac{\partial \Delta \tilde{v}_{i,j-1}}{\partial b_{g,i}} \Delta t - \frac{1}{2} \Delta \tilde{R}_{i,j-1}(\tilde a_{j-1}-b_{a,i})^\wedge \frac{\partial \Delta \tilde{R}_{i,j-1}}{\partial b_{g,i}} \Delta t^2 bg,iΔR~ij=ΔR~j1,jbg,iΔR~i,j1Jr,j1Δtba,iΔv~ij=ba,iΔv~i,j1ΔR~i,j1Δtbg,iΔv~ij=bg,iΔv~i,j1ΔR~i,j1(a~j1ba,i)bg,iΔR~i,j1Δtba,iΔp~ij=ba,iΔp~i,j1+ba,iΔv~i,j1Δt21ΔR~i,j1Δt2bg,iΔp~ij=bg,iΔp~i,j1+bg,iΔv~i,j1Δt21ΔR~i,j1(a~j1ba,i)bg,iΔR~i,j1Δt2
每次接收到新的IMU数据时都计算观测量对 i i i时刻零偏的偏导数,以便在零偏更新后(预积分优化)更新预积分观测值。

基于预积分的图优化

这里是将IMU的预积分作为约束因子(边)建立因子图进行图优化,要建立约束需要知道节点、残差、雅可比;

1、节点是状态变量PVQ及两个零偏

x = [ R i p i v i b g i b a i R j p j v j ] ⊤ x=\begin{bmatrix} R_i&p_i&v_i&b_{gi}&b_{ai}&R_j&p_j&v_j \end{bmatrix}^\top x=[RipivibgibaiRjpjvj]

2、残差是状态变量的误差方程

噪声模型中我们给出了噪声模型的递推公式,是为了更新噪声的协方差矩阵,下边我们先给出测量模型,然后由测量模型给出误差方程
Δ R ~ i j = R i ⊤ R j E x p ( δ ϕ i j ) , Δ v ~ i j = R i ⊤ ( v j − v i − g Δ t i j ) + δ v i j , Δ p ~ i j = R i ⊤ ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) + δ p i j . \Delta \tilde{R}_{ij} = R_i^\top R_j Exp(\delta \phi_{ij}), \\[10pt] \Delta \tilde{v}_{ij} = R_i^\top (v_j - v_i - g \Delta t_{ij}) + \delta v_{ij}, \\[10pt] \Delta \tilde{p}_{ij} = R_i^\top \left(p_j - p_i - v_i \Delta t_{ij} - \frac{1}{2}g \Delta t_{ij}^2\right) + \delta p_{ij}. ΔR~ij=RiRjExp(δϕij),Δv~ij=Ri(vjvigΔtij)+δvij,Δp~ij=Ri(pjpiviΔtij21gΔtij2)+δpij.
以上公式可以看出测量值等于真实值加噪声,该公式是由真实值公式推导出来的(分离测量与噪声),下面从测量模型定义残差:
r Δ R i j = L o g ( ( Δ R ~ i j ) ( R i ⊤ R j ) ) = − δ ϕ i j , r Δ v i j = R i ⊤ ( v j − v i − g Δ t i j ) − Δ v ~ i j = − δ v i j , r Δ p i j = R i ⊤ ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) − Δ p ~ i j = − δ p i j . r_{\Delta R_{ij}} = Log\left((\Delta \tilde{R}_{ij})(R_i^\top R_j)\right)=-\delta \phi_{ij}, \\\\[10pt] r_{\Delta v_{ij}} = R_i^\top(v_j - v_i - g \Delta t_{ij}) - \Delta \tilde{v}_{ij}=- \delta v_{ij}, \\\\[10pt] r_{\Delta p_{ij}} = R_i^\top\left(p_j - p_i - v_i \Delta t_{ij} - \frac{1}{2}g \Delta t_{ij}^2\right) - \Delta \tilde{p}_{ij}=- \delta p_{ij}. rΔRij=Log((ΔR~ij)(RiRj))=δϕij,rΔvij=Ri(vjvigΔtij)Δv~ij=δvij,rΔpij=Ri(pjpiviΔtij21gΔtij2)Δp~ij=δpij.
上式中,残差部分实际就是噪声部分,因此残差的协方差矩阵就是噪声的协方差矩阵

3、雅可比是残差对状态变量的偏导

[ ∂ r Δ R i j ∂ x ∂ r Δ v i j ∂ x ∂ r Δ p i j ∂ x ] 9 ∗ 24 = [ ∂ r Δ R i j ∂ R i ∂ r Δ R i j ∂ p i = 0 ∂ r Δ R i j ∂ v i = 0 ∂ r Δ R i j ∂ b g i ∂ r Δ R i j ∂ b a i = 0 ∂ r Δ R i j ∂ R j ∂ r Δ R i j ∂ p j = 0 ∂ r Δ R i j ∂ v j = 0 ∂ r Δ v i j ∂ R i ∂ r Δ v i j ∂ p i = 0 ∂ r Δ v i j ∂ v i ∂ r Δ v i j ∂ b g i ∂ r Δ v i j ∂ b a i ∂ r Δ v i j ∂ R j = 0 ∂ r Δ v i j ∂ p j = 0 ∂ r Δ v i j ∂ v j ∂ r Δ p i j ∂ R i ∂ r Δ p i j ∂ p i ∂ r Δ p i j ∂ v i ∂ r Δ p i j ∂ b g i ∂ r Δ p i j ∂ b a i ∂ r Δ p i j ∂ R j = 0 ∂ r Δ p i j ∂ p j ∂ r Δ p i j ∂ v j = 0 ] \begin{bmatrix} \frac{\partial r_{\Delta R_{ij}}}{\partial x} \\[10pt] \frac{\partial r_{\Delta v_{ij}}}{\partial x} \\[10pt] \frac{\partial r_{\Delta p_{ij}}}{\partial x} \\[10pt] \end{bmatrix}_{9*24}= \begin{bmatrix} \frac{\partial r_{\Delta R_{ij}}}{\partial R_i} & \frac{\partial r_{\Delta R_{ij}}}{\partial p_i}=0 & \frac{\partial r_{\Delta R_{ij}}}{\partial v_i}=0 & \frac{\partial r_{\Delta R_{ij}}}{\partial b_{gi}} & \frac{\partial r_{\Delta R_{ij}}}{\partial b_{ai}} =0& \frac{\partial r_{\Delta R_{ij}}}{\partial R_j} & \frac{\partial r_{\Delta R_{ij}}}{\partial p_j} =0& \frac{\partial r_{\Delta R_{ij}}}{\partial v_j} =0 \\[10pt] \\ \frac{\partial r_{\Delta v_{ij}}}{\partial R_i} & \frac{\partial r_{\Delta v_{ij}}}{\partial p_i}=0 & \frac{\partial r_{\Delta v_{ij}}}{\partial v_i} & \frac{\partial r_{\Delta v_{ij}}}{\partial b_{gi}} & \frac{\partial r_{\Delta v_{ij}}}{\partial b_{ai}}& \frac{\partial r_{\Delta v_{ij}}}{\partial R_j} =0& \frac{\partial r_{\Delta v_{ij}}}{\partial p_j} =0& \frac{\partial r_{\Delta v_{ij}}}{\partial v_j} \\[10pt] \\ \frac{\partial r_{\Delta p_{ij}}}{\partial R_i} & \frac{\partial r_{\Delta p_{ij}}}{\partial p_i} & \frac{\partial r_{\Delta p_{ij}}}{\partial v_i} & \frac{\partial r_{\Delta p_{ij}}}{\partial b_{gi}} & \frac{\partial r_{\Delta p_{ij}}}{\partial b_{ai}} & \frac{\partial r_{\Delta p_{ij}}}{\partial R_j} =0& \frac{\partial r_{\Delta p_{ij}}}{\partial p_j}& \frac{\partial r_{\Delta p_{ij}}}{\partial v_j} =0 \end{bmatrix} xrΔRijxrΔvijxrΔpij 924= RirΔRijRirΔvijRirΔpijpirΔRij=0pirΔvij=0pirΔpijvirΔRij=0virΔvijvirΔpijbgirΔRijbgirΔvijbgirΔpijbairΔRij=0bairΔvijbairΔpijRjrΔRijRjrΔvij=0RjrΔpij=0pjrΔRij=0pjrΔvij=0pjrΔpijvjrΔRij=0vjrΔvijvjrΔpij=0
其中:
残差对 R i 求偏导 : ∂ r Δ R i j ∂ R i = − J r − 1 ( r Δ R i j ) R j ⊤ R i ∂ r Δ v i j ∂ R i = ( R i ⊤ ( v j − v i − g Δ t i j ) ) ∧ ∂ r Δ p i j ∂ R i = ( R i ⊤ ( p j − p i − v i Δ t i j − 1 2 g Δ t i j 2 ) ) ∧ 残差对R_i求偏导:\\ \frac{\partial r_{\Delta R_{ij}}}{\partial R_i} =-J_r^{-1}(r_{\Delta R_{ij}})R_j^\top R_i \\[10pt] \frac{\partial r_{\Delta v_{ij}}}{\partial R_i} =(R_i^\top(v_j-v_i-g\Delta t_{ij}))^{\wedge} \\[10pt] \frac{\partial r_{\Delta p_{ij}}}{\partial R_i}=(R_i^\top(p_j-p_i-v_i \Delta t_{ij}-\frac{1}{2}g\Delta t^2_{ij}))^{\wedge} \\[10pt] 残差对Ri求偏导:RirΔRij=Jr1(rΔRij)RjRiRirΔvij=(Ri(vjvigΔtij))RirΔpij=(Ri(pjpiviΔtij21gΔtij2))
残差对 p i 求偏导 : ∂ r Δ p i j ∂ p i = − R i ⊤ 残差对p_i求偏导:\\ \frac{\partial r_{\Delta p_{ij}}}{\partial p_i}=-R_i^\top 残差对pi求偏导:pirΔpij=Ri
残差对 v i 求偏导 : ∂ r Δ v i j ∂ v i = − R i ⊤ ∂ r Δ p i j ∂ v i = − R i ⊤ Δ t i j 残差对v_i求偏导:\\ \frac{\partial r_{\Delta v_{ij}}}{\partial v_i} =-R_i^\top \\[10pt] \frac{\partial r_{\Delta p_{ij}}}{\partial v_i}=-R_i^\top \Delta t_{ij} 残差对vi求偏导:virΔvij=RivirΔpij=RiΔtij
残差对 b g , i 求偏导 : ∂ r Δ R i j ∂ b g , i = − J r − 1 ( r Δ R i j ′ ) E x p ( r Δ R i j ′ ) ⊤ ∂ R ^ i j ∂ b g , i ∂ r Δ v i j ∂ b g , i = − ( ∂ Δ v ~ i , j − 1 ∂ b g , i − Δ R ~ i , j − 1 ( a ~ j − 1 − b a , i ) ∧ ∂ Δ R ~ i , j − 1 ∂ b g , i Δ t ) ∂ r Δ p i j ∂ b g , i = − ( ∂ Δ p ~ i , j − 1 ∂ b g , i + ∂ Δ v ~ i , j − 1 ∂ b g , i Δ t − 1 2 Δ R ~ i , j − 1 ( a ~ j − 1 − b a , i ) ∧ ∂ Δ R ~ i , j − 1 ∂ b g , i Δ t 2 ) 残差对b_{g,i}求偏导:\\ \frac{\partial r_{\Delta R_{ij}}}{\partial b_{g,i}} =-J_r^{-1}(r'_{\Delta R_{ij}})Exp\left(r'_{\Delta R_{ij}}\right)^{\top} \frac{\partial \hat{R}_{ij}}{\partial b_{g,i}} \\[10pt] \frac{\partial r_{\Delta v_{ij}}}{\partial b_{g,i}}=-\left(\frac{\partial \Delta \tilde{v}_{i,j-1}}{\partial b_{g,i}}-\Delta \tilde{R}_{i,j-1}(\tilde a_{j-1}-b_{a,i})^\wedge \frac{\partial \Delta \tilde{R}_{i,j-1}}{\partial b_{g,i}} \Delta t\right) \\[10pt] \frac{\partial r_{\Delta p_{ij}}}{\partial b_{g,i}}=-\left(\frac{\partial \Delta \tilde{p}_{i,j-1}}{\partial b_{g,i}} + \frac{\partial \Delta \tilde{v}_{i,j-1}}{\partial b_{g,i}} \Delta t - \frac{1}{2} \Delta \tilde{R}_{i,j-1}(\tilde a_{j-1}-b_{a,i})^\wedge \frac{\partial \Delta \tilde{R}_{i,j-1}}{\partial b_{g,i}} \Delta t^2 \right) 残差对bg,i求偏导:bg,irΔRij=Jr1(rΔRij)Exp(rΔRij)bg,iR^ijbg,irΔvij=(bg,iΔv~i,j1ΔR~i,j1(a~j1ba,i)bg,iΔR~i,j1Δt)bg,irΔpij=(bg,iΔp~i,j1+bg,iΔv~i,j1Δt21ΔR~i,j1(a~j1ba,i)bg,iΔR~i,j1Δt2)
残差对 b a , i 求偏导 : ∂ r Δ v i j ∂ b a , i = − ( ∂ Δ v ~ i , j − 1 ∂ b a , i − Δ R ~ i , j − 1 Δ t ) ∂ r Δ p i j ∂ b a , i = − ( ∂ Δ p ~ i , j − 1 ∂ b a , i + ∂ Δ v ~ i , j − 1 ∂ b a , i Δ t − 1 2 Δ R ~ i , j − 1 Δ t 2 ) 残差对b_{a,i}求偏导:\\ \frac{\partial r_{\Delta v_{ij}}}{\partial b_{a,i}}=-\left(\frac{\partial \Delta \tilde{v}_{i,j-1}}{\partial b_{a,i}}-\Delta \tilde R_{i,j-1}\Delta t\right) \\[10pt] \frac{\partial r_{\Delta p_{ij}}}{\partial b_{a,i}}=-\left( \frac{\partial \Delta \tilde{p}_{i,j-1}}{\partial b_{a,i}} + \frac{\partial \Delta \tilde{v}_{i,j-1}}{\partial b_{a,i}} \Delta t - \frac{1}{2} \Delta \tilde{R}_{i,j-1} \Delta t^2 \right) 残差对ba,i求偏导:ba,irΔvij=(ba,iΔv~i,j1ΔR~i,j1Δt)ba,irΔpij=(ba,iΔp~i,j1+ba,iΔv~i,j1Δt21ΔR~i,j1Δt2)
残差对 R j 求偏导 : ∂ r Δ R i j ∂ R j = J r − 1 ( r Δ R i j ) 残差对R_j求偏导:\\ \frac{\partial r_{\Delta R_{ij}}}{\partial R_j}=J_r^{-1}(r_{\Delta R_{ij}}) 残差对Rj求偏导:RjrΔRij=Jr1(rΔRij)
残差对 p j 求偏导 : ∂ r Δ p i j ∂ p j = R i ⊤ 残差对p_j求偏导:\\ \frac{\partial r_{\Delta p_{ij}}}{\partial p_j}=R_i^\top 残差对pj求偏导:pjrΔpij=Ri
残差对 v j 求偏导 : ∂ r Δ p i j ∂ p j = R i ⊤ 残差对v_j求偏导:\\ \frac{\partial r_{\Delta p_{ij}}}{\partial p_j}=R_i^\top 残差对vj求偏导:pjrΔpij=Ri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值