捷联惯导系统学习7.4(车载惯性/里程仪组合导航 )

航位推算算法(Dead Reckoning,DR)

利用位姿、航向、行驶里程信息推算载车相对于起始点的位置。
里程仪(odometer):输出一般是载车在一小段内行驶的路程增量,为了方便分析,假设里程仪输出的是瞬时速度。轮式车辆往往分为转向轮和非转向轮,非转向轮始终与车体正前方一致,这里假设里程仪测量的是非转向轮的信号。
理想情况下:载车正常形式,前进取正,倒车取负,且车轮紧贴地面无打滑、滑行、弹跳。设车体坐标系为m系, o y m : 在 和 载 车 车 轮 相 接 处 的 地 平 面 内 , o z m : 垂 直 与 地 平 面 内 向 上 为 正 ; 0 x m 指 向 右 方 oy_m:在和载车车轮相接处的地平面内,oz_m:垂直与地平面内向上为正;0x_m指向右方 oym:,ozm;0xm
里程仪的输出在车体坐标系m可以表示为:
v D m = [ 0 v D 0 ] v^m_D=\left[\begin{matrix}0&v_D&0 \end{matrix}\right] vDm=[0vD0]
捷联惯导(IMU)固定在车体上,假设IMU坐标系(b系)与车体坐标系(m系)重合,通过IMU中3轴陀螺仪可以实时计算载车的姿态矩阵,记为 C b n C_b^n Cbn,可以利用 C b n C^n_b Cbn v D n v^n_D vDn求得 c D n c^n_D cDn在导航坐标系下的里程仪速度输出,即:
v D n = C b n v D n v^n_D=C^n_bv^n_D vDn=CbnvDn

  1. 利用 v D n v^n_D vDn求得航位
    L D : 航 位 推 算 的 地 理 纬 度 λ D : 航 位 推 算 的 经 度 h : 航 位 推 算 的 高 度 L_D:航位推算的地理纬度\\ \lambda_D:航位推算的经度\\ h:航位推算的高度 LD:λD:h:

    R M h D = R M h + h D : R M h 航 位 推 算 的 地 理 位 置 计 算 的 子 午 圈 R N h D = R N h + h D : R N h 航 位 推 算 的 地 理 位 置 计 算 的 卯 酉 圈 R_{MhD}=R_{Mh}+h_D:R_{Mh}航位推算的地理位置计算的子午圈\\ R_{NhD}=R_{Nh}+h_D:R_{Nh}航位推算的地理位置计算的卯酉圈 RMhD=RMh+hD:RMhRNhD=RNh+hD:RNh
    v D n = [ v D E v N D v D U ] T v^n_D=\left[\begin{matrix} v_{DE}&v_{ND}&v_{DU}\\ \end{matrix}\right]^T vDn=[vDEvNDvDU]T
    L ˙ D = v D N R M h D λ ˙ = v D E sec ⁡ L D R N h D h ˙ D = v D U \dot L_D=\frac{v_{DN}}{R_{MhD}}\\ \dot \lambda=\frac{v_{DE}\sec L_D}{R_{NhD}}\\ \dot h_D=v_{DU} L˙D=RMhDvDNλ˙=RNhDvDEsecLDh˙D=vDU

  2. 可将上式简写为:
    P D = [ L D λ D h D ] T P_D=\left[\begin{matrix} L_D&\lambda_D&h_D\\ \end{matrix}\right]^T PD=[LDλDhD]T
    M p v D = [ 0 1 / R M h D 0 s e c L D / R N h D 0 0 0 0 1 ] P ˙ D = M p v v D n M_{pvD}=\left[\begin{matrix} 0&1/R_{MhD}&0\\secL_D/R_{NhD}&0&0\\0&0&1 \end{matrix}\right]\\ \dot P_D=M_{pv}v^n_D MpvD=0secLD/RNhD01/RMhD00001P˙D=MpvvDn

  3. 令航位推算纬度代替捷联惯导解算纬度,里程仪计算速度代替捷联惯导解算速度即: L = L D , v n = v D n L=L_D,v^n=v^n_D L=LD,vn=vDn得到航位推算姿态更新算法方程如下:
    w i b b : 陀 螺 仪 输 出 角 速 度 信 息 w^b_{ib}:陀螺仪输出角速度信息 wibb:
    w i n n = w i e n + w e n n : w i e n = [ 0 w i e c o s L D w i e s i n L D ] T w e n n = [ − v D N R M h D v D E R N h D v D E t a n L D R N h D ] T w^n_{in}=w^n_{ie}+w^n_{en}:\\ w^n_{ie}=\left[\begin{matrix}0&w_{ie}cosL_D&w_{ie}sinL_D\end{matrix}\right]^T\\ w^n_{en}=\left[\begin{matrix}-\frac{v_{DN}}{R_{MhD}}&\frac{v_{DE}}{R_{NhD}}&\frac{v_{DE}tanL_D}{R_{NhD}}\end{matrix}\right]^T winn=wien+wenn:wien=[0wiecosLDwiesinLD]Twenn=[RMhDvDNRNhDvDERNhDvDEtanLD]T
    C ˙ b n = C b n ( w i b b × ) − ( w i n n × ) C b n w i n n = w i e n + w e n n \dot C^n_b=C^n_b(w^b_{ib}×)-(w^n_{in}×)C^n_b\\ w_{in}^{n}=w^n_{ie}+w^n_{en} C˙bn=Cbn(wibb×)(winn×)Cbnwinn=wien+wenn

  4. 得到航位推算算法:
    { P ˙ D = M p v v D n C ˙ b n = C b n ( w i b b × ) − ( w i n n × ) C b n w i n n = w i e n + w e n n \begin{cases} \dot P_D=M_{pv}v^n_D\\ \dot C^n_b=C^n_b(w^b_{ib}×)-(w^n_{in}×)C^n_b&w_{in}^{n}=w^n_{ie}+w^n_{en}\\ \end{cases} {P˙D=MpvvDnC˙bn=Cbn(wibb×)(winn×)Cbnwinn=wien+wenn

数值更新算法:

  1. 如果里程仪在 T j = t j − t j − 1 T_j=t_j-t_{j-1} Tj=tjtj1内的路程增量为 Δ S j \Delta S_j ΔSj,当时间足够短时,可以认为载车在着小段时间内时沿直线行驶,可以得到路程增量在m系的投影为:
    Δ S j n = [ 0 Δ S j 0 ] T \Delta S^n_j=\left[\begin{matrix}0&\Delta S_j&0\end{matrix}\right]^T ΔSjn=[0ΔSj0]T

  2. 类似可以得到:
    C b ( j − 1 ) 是 t j − 1 n 时 刻 的 载 车 姿 态 矩 阵 C^n_{b(j-1)是t_{j-1}}时刻的载车姿态矩阵 Cb(j1)tj1n姿
    Δ S j m = C b ( j − 1 ) n Δ S j m \Delta S^m_j=C^n_{b(j-1)}\Delta S^m_j ΔSjm=Cb(j1)nΔSjm

  3. 将数据离散化得到航位推算位置更新算法如下:
    Δ S j n = [ Δ S E ( j ) Δ S N ( j ) Δ S U ( j ) ] T , 分 别 为 东 、 北 、 天 向 位 移 分 量 \Delta S^n_j=\left[\begin{matrix} \Delta S_E(j)&\Delta S_N(j)&\Delta S_U(j) \end{matrix}\right]^T,分别为东、北、天向位移分量 ΔSjn=[ΔSE(j)ΔSN(j)ΔSU(j)]T,
    L D ( j ) = L D ( j − 1 ) + T j v D N ( j ) R M h D ( j − 1 ) = L D ( j − 1 ) + Δ S N ( j ) R M h D ( j − 1 ) λ D ( j ) = λ D ( j − 1 ) + T j v D E ( j ) s e c L D ( j − 1 ) R N h D ( j − 1 ) = λ D ( j − 1 ) + Δ S E ( j ) s e c L D ( j − 1 ) R N h D ( j − 1 ) h D ( j ) = H D ( j − 1 ) + T j v D U = h D ( j − 1 ) + Δ S U ( j ) L_{D(j)}=L_{D(j-1)}+\frac{T_jv_{DN(j)}}{R_{MhD(j-1)}}=L_{D(j-1)}+\frac{\Delta S_{N(j)}}{R_{MhD(j-1)}}\\ \lambda _{D(j)}=\lambda _{D(j-1)}+\frac{T_jv_{DE(j)}secL_{D(j-1)}}{R_{NhD(j-1)}}=\lambda _{D(j-1)}+\frac{\Delta S_{E(j)}secL_{D(j-1)}}{R_{NhD(j-1)}}\\ h_{D(j)}=H_{D(j-1)}+T_j v_{DU}=h_{D(j-1)}+\Delta S_{U(j)} LD(j)=LD(j1)+RMhD(j1)TjvDN(j)=LD(j1)+RMhD(j1)ΔSN(j)λD(j)=λD(j1)+RNhD(j1)TjvDE(j)secLD(j1)=λD(j1)+RNhD(j1)ΔSE(j)secLD(j1)hD(j)=HD(j1)+TjvDU=hD(j1)+ΔSU(j)

  4. 航位推算的子态阵更新算法如下:
    ϕ i b ( j ) b : 由 陀 螺 仪 输 出 计 算 的 等 效 旋 转 矢 量 \phi^b_{ib(j)}:由陀螺仪输出计算的等效旋转矢量 ϕib(j)b:
    C b ( j ) n = C n ( j − 1 ) n ( j ) C b ( j − 1 ) n C b ( j ) ( b ( j − 1 ) ) C b ( j ) ( b ( j − 1 ) ) = M R V ( ϕ i b ( j ) b ) , C n ( j − 1 ) n ( j ) = M R V T ( ϕ i n ( j ) n ) C^n_{b(j)}=C^{n(j)}_{n(j-1)}C^n_{b(j-1)}C^{(b(j-1))}_{b(j)}\\ C^{(b(j-1))}_{b(j)}=M_{RV}(\phi^b_{ib(j)}),C^{n(j)}_{n(j-1)}=M^T_{RV}(\phi^n_{in(j)}) Cb(j)n=Cn(j1)n(j)Cb(j1)nCb(j)(b(j1))Cb(j)(b(j1))=MRV(ϕib(j)b),Cn(j1)n(j)=MRVT(ϕin(j)n)
    ϕ i n ( j ) n = T j ( w i e ( j ) n + w e n ( j ) n ) = T j [ 0 w i e c o s L D ( j ) w i e s i n L D ( j ) ] + T j [ − v D N ( j ) / R M h D ( j ) v D E ( j ) / R N h D ( j ) v D E ( j ) t a n L D ( j ) / R N h D ( j ) ] = T j [ 0 w i e c o s L D ( j ) w i e s i n L D ( j ) ] + [ − Δ S D N ( j ) / R M h D ( j ) Δ S D E ( j ) / R N h D ( j ) Δ S D E ( j ) v D E ( j ) t a n L D ( j ) / R N h D ( j ) ] \phi^n_{in(j)}=T_j(w^n_{ie(j)}+w^n_{en(j)})=T_j\left[\begin{matrix} 0\\ w_{ie}cosL_{D(j)}\\ w_{ie}sinL_{D(j)}\\ \end{matrix}\right]+T_j\left[\begin{matrix} -v_{DN(j)}/R_{MhD(j)}\\ v_{DE(j)}/R_{NhD(j)}\\ v_{DE(j)}tanL_{D(j)}/R_{NhD(j)}\\ \end{matrix}\right]\\ =T_j\left[\begin{matrix} 0\\ w_{ie}cosL_{D(j)}\\ w_{ie}sinL_{D(j)}\\ \end{matrix}\right]+\left[\begin{matrix} -\Delta S_{DN(j)}/R_{MhD(j)}\\ \Delta S_{DE(j)}/R_{NhD(j)}\\ \Delta S_{DE(j)}v_{DE(j)}tanL_{D(j)}/R_{NhD(j)}\\ \end{matrix}\right] ϕin(j)n=Tj(wie(j)n+wen(j)n)=Tj0wiecosLD(j)wiesinLD(j)+TjvDN(j)/RMhD(j)vDE(j)/RNhD(j)vDE(j)tanLD(j)/RNhD(j)=Tj0wiecosLD(j)wiesinLD(j)+ΔSDN(j)/RMhD(j)ΔSDE(j)/RNhD(j)ΔSDE(j)vDE(j)tanLD(j)/RNhD(j)

航位推算算法误差分析

  1. 惯导坐标系(b系)与车体坐标系(m系)不平行存在误差,俯仰偏角 α θ \alpha _\theta αθ、方位偏角 α ϕ \alpha_{\phi} αϕ、滚动偏角 α r \alpha_r αr,令偏差角矢量 α = [ α θ α r α ϕ ] T \alpha=\left[\begin{matrix}\alpha_\theta&\alpha_r&\alpha_\phi\end{matrix}\right]^T α=[αθαrαϕ]T

  2. 即b系与m系的变换矩阵为:
    c b m = I + ( α × ) = [ 1 − α ϕ α r α ϕ 1 − α θ − α r α θ 1 ] c^m_b=I+(\alpha×)=\left[\begin{matrix} 1&-\alpha_\phi&\alpha_r\\ \alpha_\phi&1&-\alpha_\theta\\ -\alpha_r&\alpha_\theta&1\\ \end{matrix}\right] cbm=I+(α×)=1αϕαrαϕ1αθαrαθ1

  3. 还存在刻度系数误差 δ K D \delta K_D δKD,得到实际速度大小 v ~ D \tilde v_D v~D与理论速度大小 v D v_D vD存在如下关系:
    v ~ D = ( 1 + δ K D ) v D \tilde v_D=(1+\delta K_D)v_D v~D=(1+δKD)vD
    向量形式:
    v ~ D m = ( 1 + δ K D ) v D m \tilde v^m_D=(1+\delta K_D)v^m_D v~Dm=(1+δKD)vDm

  4. 在导航坐标系下的实际速度输出为:
    ϕ D : 航 位 推 算 的 失 准 角 误 差 \phi_D:航位推算的失准角误差 ϕD:
    v ~ D n = C ~ b n ( C b m ) T v ~ D m = ( I − ϕ D × ) C b n ( I − α × ) ( 1 + δ K D ) v D m ≈ v D n − ( ϕ D × ) C b n v D m − C b n ( α × ) v D m + C b n δ K D v D m = v D n + v D n × ϕ D + C b n ( v D m × ) α + C b n v D m δ K D \tilde v^n_D=\tilde C^n_b(C^m_b)^T\tilde v^m_D=(I-\phi_D×)C^n_b(I-\alpha×)(1+\delta K_D)v^m_D\\ \approx v^n_D-(\phi_D×)C^n_bv^m_D-C^n_b(\alpha ×)v_D^m+C^n_b\delta K_D v^m_D\\ =v^n_D+v^n_D×\phi_D+C^n_b(v^m_D×)\alpha+C^n_bv^m_D\delta K_D v~Dn=C~bn(Cbm)Tv~Dm=(IϕD×)Cbn(Iα×)(1+δKD)vDmvDn(ϕD×)CbnvDmCbn(α×)vDm+CbnδKDvDm=vDn+vDn×ϕD+Cbn(vDm×)α+CbnvDmδKD

  5. C b n = C i j ( i , j = 1 , 2 , 3 ) ; v D m = [ 0 v D 0 ] T C^n_b=C_{ij}(i,j=1,2,3);v^m_D=\left[\begin{matrix}0&v_D&0\end{matrix}\right]^T Cbn=Cij(i,j=1,2,3);vDm=[0vD0]T,可以简化得到:
    M v k D = v D [ − C 13 C 12 C 11 − C 23 C 22 C 21 − C 33 C 32 C 31 ] M_{vkD}=v_D\left[\begin{matrix} -C_{13}&C_{12}&C_{11}\\ -C_{23}&C_{22}&C_{21}\\ -C_{33}&C_{32}&C_{31} \end{matrix}\right] MvkD=vDC13C23C33C12C22C32C11C21C31
    K D = [ α θ δ K D α ϕ ] K_D=\left[\begin{matrix}\alpha_\theta\\\delta K_D\\\alpha_\phi\end{matrix}\right] KD=αθδKDαϕ
    v ~ D n = v D n + v D n × ϕ D + v D [ − C 13 C 12 C 11 − C 23 C 22 C 21 − C 33 C 32 C 31 ] [ α θ δ K D α ϕ ] = v D n + v D n × ϕ D + M v k D K D \tilde v^n_D=v^n_D+v^n_D×\phi_D+v_D\left[\begin{matrix} -C_{13}&C_{12}&C_{11}\\ -C_{23}&C_{22}&C_{21}\\ -C_{33}&C_{32}&C_{31} \end{matrix}\right] \left[\begin{matrix}\alpha_\theta\\\delta K_D\\\alpha_\phi\end{matrix}\right]\\ =v^n_D+v^n_D×\phi_D+M_{vkD}K_D v~Dn=vDn+vDn×ϕD+vDC13C23C33C12C22C32C11C21C31αθδKDαϕ=vDn+vDn×ϕD+MvkDKD

  6. 里程仪速度误差方程:
    δ v D n = v ~ D n − v D n = v D n × ϕ D + M v k K D \delta v^n_D=\tilde v^n_D-v^n_D=v^n_D×\phi_D+M_{vk}K_D δvDn=v~DnvDn=vDn×ϕD+MvkKD

  7. 航位推算位置方程下:
    M p v D = [ 0 1 / R M h D 0 s e c L D / R N h D 0 0 0 0 1 ] M_{pvD}=\left[\begin{matrix} 0&1/R_{MhD}&0\\ secL_D/R_{NhD}&0&0\\ 0&0&1 \end{matrix}\right] MpvD=0secLD/RNhD01/RMhD00001
    M p p D = [ 0 0 − v D N / R M h D 2 v D E s e c L D t a n L D / R N h D 0 − v D E s e c L / R N h D 2 0 0 0 ] M_{ppD}=\left[\begin{matrix} 0&0&-v_{DN}/R^2_{MhD}\\ v_{DE}secL_D tanL_D/R_{NhD}&0&-v_{DE}secL/R^2_{NhD}\\ 0&0&0 \end{matrix}\right] MppD=0vDEsecLDtanLD/RNhD0000vDN/RMhD2vDEsecL/RNhD20
    δ P ˙ D = M p v D δ v D n + M p p D δ P D \delta \dot P_D=M_{pvD}\delta v^n_D+M_{ppD}\delta P_D δP˙D=MpvDδvDn+MppDδPD

  8. 得到航位推算误差方程为:
    δ p ˙ D = M p v D ( v D n × ϕ D + M v k K D ) + M p p D δ P D = M p a D ϕ D + M p k D K D + M p p D δ P D M p a D = M p v D ( v D n × ) ; M p k D = M p v D M v k D \delta \dot p_D=M_{pvD}(v^n_D×\phi_D+M_{vk}K_D)+M_{ppD}\delta P_D=M_{paD}\phi_D+M_{pkD}K_D+M_{ppD}\delta P_D\\ M_{paD}=M_{pvD}(v^n_D×);M_{pkD}=M_{pvD}M_{vkD} δp˙D=MpvD(vDn×ϕD+MvkKD)+MppDδPD=MpaDϕD+MpkDKD+MppDδPDMpaD=MpvD(vDn×);MpkD=MpvDMvkD

  9. 航位推算姿态误差方程为:
    ϕ ˙ D = M a a D ′ ϕ D + M a v D ( v D n × ϕ D + M v k D K D ) + M a p D δ p D − C b n ξ b = M a a D ϕ D + M a k D K D + M a p D δ P D − C b n ξ b M a a D = M a a D ′ + M a v D ( v D n × ) , M a k D = M a v D M v k D M a a D ′ = ( [ 0 w i e c o s L D w i e s i n L D ] + [ − v D N / R M h D v D E / R N h D v D E t a n L D / R N h D ] ) × , M a v D = [ 0 − 1 / R M h D 0 1 / R N h D 0 0 t a n L D / R N h D 0 0 ] M a p D = [ 0 0 0 − w i e s i n L D 0 0 w i e c o s L D + v D E s e c 2 L D / R N 0 0 ] \dot \phi_D=M'_{aaD}\phi_D+M_{avD}(v^n_D×\phi_D+M_{vkD}K_D)+M_{apD}\delta p_D-C^n_b\xi^b\\ =M_{aaD}\phi_D+M_{akD}K_D+M_{apD}\delta P_D-C^n_b\xi^b\\ M_{aaD}=M_{aaD}'+M_{avD}(v^n_D×),M_{akD}=M_{avD}M_{vkD}\\ M'_{aaD}=(\left[\begin{matrix} 0\\w_{ie}cosL_D\\w_{ie}sinL_D \end{matrix}\right]+\left[\begin{matrix} -v_{DN}/R_{MhD}\\v_{DE}/R_{NhD}\\v_{DE}tanL_D/R_{NhD} \end{matrix}\right])×,M_{avD}= \left[\begin{matrix} 0&-1/R_{MhD}&0\\1/R_{NhD}&0&0\\tanL_D/R_{NhD}&0&0 \end{matrix}\right]\\ M_{apD}=\left[\begin{matrix} 0&0&0\\ -w_{ie}sinL_D&0&0\\ w_{ie}cosL_D+v_{DE}sec^2L_D/R_N&0&0 \end{matrix}\right] ϕ˙D=MaaDϕD+MavD(vDn×ϕD+MvkDKD)+MapDδpDCbnξb=MaaDϕD+MakDKD+MapDδPDCbnξbMaaD=MaaD+MavD(vDn×),MakD=MavDMvkDMaaD=(0wiecosLDwiesinLD+vDN/RMhDvDE/RNhDvDEtanLD/RNhD)×,MavD=01/RNhDtanLD/RNhD1/RMhD00000MapD=0wiesinLDwiecosLD+vDEsec2LD/RN000000

  10. 总结:在初始误差 δ P D \delta P_D δPD不大时,安装偏差 α θ , α ϕ \alpha_\theta,\alpha_\phi αθ,αϕ里程刻度系误差 δ K D \delta K_D δKD陀螺仪漂移 ξ b \xi^b ξb是主要误差来源

轨迹相似性原理

  1. 在载车行驶过程中,一般姿态角都比较小,近似有:
    u U = [ 0 0 1 ] T u_U=\left[\begin{matrix} 0& 0& 1 \end{matrix}\right]^T uU=[001]T
    C b n ≈ [ c o s ϕ − s i n ϕ 0 s i n ϕ c o s ϕ 0 0 0 1 ] C^n_b \approx \left[\begin{matrix} cos\phi&-sin\phi&0\\ sin\phi&cos\phi&0\\ 0&0&1 \end{matrix}\right] Cbncosϕsinϕ0sinϕcosϕ0001
    v D n × u U = ( c b n v D m ) × u U ≈ [ c o s ϕ − s i n ϕ 0 s i n ϕ c o s ϕ 0 0 0 1 ] [ 0 v D 0 ] × [ 0 0 1 ] = v D [ c o s ϕ s i n ϕ 0 ] v^n_D×u_U=(c^n_bv^m_D)×u_U \approx \left[\begin{matrix} cos\phi&-sin\phi&0\\ sin\phi&cos\phi&0\\ 0&0&1 \end{matrix}\right] \left[\begin{matrix} 0\\v_D\\0 \end{matrix}\right]× \left[\begin{matrix} 0\\0\\1 \end{matrix}\right]=v_D\left[\begin{matrix} cos\phi\\sin\phi\\0 \end{matrix}\right] vDn×uU=(cbnvDm)×uUcosϕsinϕ0sinϕcosϕ00010vD0×001=vDcosϕsinϕ0

  2. 矢量误差为 ϕ D = [ ϕ D E ϕ D N ϕ D U ] T \phi_D=\left[\begin{matrix} \phi_{DE}&\phi_{DN}&\phi_{DU}\end{matrix}\right]^T ϕD=[ϕDEϕDNϕDU]T

  3. 近似认为 ϕ D E ≈ ϕ D N ≈ 0 \phi_{DE} \approx \phi_{DN} \approx 0 ϕDEϕDN0,可得:
    v ~ D n ≈ v D n + v D n × [ 0 0 ϕ D U ] + v D [ 0 0 c o s ϕ 0 0 s i n ϕ − 1 0 0 ] [ α θ α r α ϕ ] + v D n δ K D = v D n + ϕ D U v D n × u U + a ϕ v D × u U − a θ v D u U + v D n θ K D = [ I − ( ϕ D U + a ϕ ) u U × ] v D n + δ K D v D n − a θ v D u U ≈ ( 1 + δ K D ) [ I − ( ϕ D U + α ϕ ) u U × ] v D n − α θ v D u U \tilde v^n_D \approx v^n_D+v^n_D×\left[\begin{matrix} 0\\0\\\phi_{DU} \end{matrix}\right]+v_D\left[\begin{matrix} 0&0&cos\phi\\0&0&sin\phi\\-1&0&0\\ \end{matrix}\right]\left[\begin{matrix} \alpha_\theta\\\alpha_r\\\alpha_\phi \end{matrix}\right]+v^n_D\delta K_D\\ =v^n_D+\phi_{DU}v^n_D×u_U+a_\phi v_D×u_U-a_\theta v_D u_U+v^n_D\theta K_D\\ =[I-(\phi_{DU}+a_\phi)u_U×]v^n_D+\delta K_Dv^n_D-a_\theta v_Du_U\\ \approx (1+\delta K_D)[I-(\phi_{DU}+\alpha_\phi)u_U×]v^n_D-\alpha_\theta v_D u_U v~DnvDn+vDn×00ϕDU+vD001000cosϕsinϕ0αθαrαϕ+vDnδKD=vDn+ϕDUvDn×uU+aϕvD×uUaθvDuU+vDnθKD=[I(ϕDU+aϕ)uU×]vDn+δKDvDnaθvDuU(1+δKD)[I(ϕDU+αϕ)uU×]vDnαθvDuU

  4. 假设 α θ , ϕ D U + α ϕ , δ K D \alpha_\theta,\phi_{DU}+\alpha_\phi,\delta K_D αθ,ϕDU+αϕ,δKD,均为常值小量,对上式等式两端进行积分:
    S D n = ∫ 0 T v D n d t S ~ D n = ∫ 0 T v ~ D n d t S D = ∫ 0 T v D d t S^n_D=\int^T_0 v^n_Ddt\\ \tilde S^n_D=\int_0^T\tilde v^n_D dt\\ S_D=\int^T_0v_D dt SDn=0TvDndtS~Dn=0Tv~DndtSD=0TvDdt
    S ~ D n = ( 1 + δ K D ) [ I − ( ϕ D U + α ϕ ) u U × ] S D n − α θ S D u U \tilde S^n_D=(1+\delta K_D)[I-(\phi_{DU}+\alpha_\phi)u_U×]S^n_D-\alpha_\theta S_D u_U\\ S~Dn=(1+δKD)[I(ϕDU+αϕ)uU×]SDnαθSDuU

  5. 将上式分解为水平和垂直两部分:
    S ~ D n = [ S ~ D E S ~ D N S ~ D U ] T \tilde S^n_D=\left[\begin{matrix} \tilde S_{DE}&\tilde S_{DN}&\tilde S_{DU} \end{matrix}\right]^T S~Dn=[S~DES~DNS~DU]T
    S D n = [ S D E S D N S D U ] T S^n_D=\left[\begin{matrix} S_{DE}& S_{DN}& S_{DU} \end{matrix}\right]^T SDn=[SDESDNSDU]T
    S ~ H D n = [ S ~ D E S ~ D N 0 ] T \tilde S^n_{HD}=\left[\begin{matrix} \tilde S_{DE}&\tilde S_{DN}&0 \end{matrix}\right]^T S~HDn=[S~DES~DN0]T
    S D H n = [ S D E S D N 0 ] T : 水 平 面 上 的 投 影 S^n_{DH}=\left[\begin{matrix} S_{DE}& S_{DN}& 0 \end{matrix}\right]^T:水平面上的投影 SDHn=[SDESDN0]T:
    S ~ D H n = ( 1 + δ K D ) [ I − ( ϕ D U + α ϕ ) u U × ] S D H n S ~ D U = ( 1 + δ K D ) S D U − α θ S D \tilde S^n_{DH}=(1+\delta K_D)[I-(\phi_{DU}+\alpha_\phi)u_U×]S^n_{DH}\\ \tilde S_{DU}=(1+\delta K_D)S_{DU}-\alpha_\theta S_D S~DHn=(1+δKD)[I(ϕDU+αϕ)uU×]SDHnS~DU=(1+δKD)SDUαθSD

在这里插入图片描述
假设载车从某一点A开始沿某一路线,行驶一圈又回到A点,如上图在行驶路线上取一点B,其对应的计算位移为点C,做点D: A C ⊥ B D AC\bot BD ACBD,真实位移 S D H n = A B ⃗ S^n_{DH}=\vec {AB} SDHn=AB ,计算位移 S ~ D H n = A C ⃗ \tilde S^n_{DH}=\vec {AC} S~DHn=AC ,转动角度为 ϕ D U + α ϕ \phi_{DU}+\alpha_\phi ϕDU+αϕ.
(1):航位推算轨迹与真实轨迹的相似性:真实位移移动 ϕ D U + α ϕ \phi_{DU}+\alpha_\phi ϕDU+αϕ角,在扩大 ( 1 + δ K D ) (1+\delta K_D) (1+δKD)倍得到计算位移, S ~ D H n \tilde S^n_{DH} S~DHn
(2): B D ⃗ \vec {BD} BD :垂直方向位移 D C ⃗ \vec {DC} DC :水平方向位移
(3): B C ⃗ \vec{BC} BC :误差向量当载车距离起始点A越远误差越大,当放回原点误差会逐渐消失
(4):定义高度误差为: δ S D U = S ~ D U − S D U = δ K D S D U − α θ S D \delta S_{DU}=\tilde S_{DU}-S_{DU}=\delta K_DS_{DU}-\alpha_\theta S_D δSDU=S~DUSDU=δKDSDUαθSD,当里程仪刻度系数误差较小时 δ K D \delta K_D δKD近似有 δ S D U ≈ − a θ S D \delta S_{DU} \approx -a\theta S_D δSDUaθSD

惯性/里程仪组合

在这里插入图片描述
在这里插入图片描述
里程仪转向与杆臂矫正
如上图:
O 1 为 A B 前 轮 A B 中 心 点 O_1为AB前轮AB中心点 O1ABAB
O 2 为 后 轮 C D 中 心 点 O_2为后轮CD中心点 O2CD
ϕ 为 前 轮 偏 转 角 \phi 为前轮偏转角 ϕ
v D : 前 轮 / 转 向 轮 差 动 式 里 程 仪 输 出 , 点 O 1 的 与 地 面 速 度 v_D:前轮/转向轮差动式里程仪输出,点O_1的与地面速度 vD:/O1

  1. 里程仪输出在车体坐标系(m系)的投影为:
    v D m = [ v D s i n ϕ v D c o s ϕ 0 ] T v^m_D=\left[\begin{matrix}v_Dsin\phi&v_Dcos\phi&0\end{matrix}\right]^T vDm=[vDsinϕvDcosϕ0]T
    偏转角 ϕ \phi ϕ,右转为正, − π / 2 < ϕ < π / 2 -\pi/2<\phi<\pi/2 π/2<ϕ<π/2
    r ϕ = v D ϕ ˙ r_\phi=\frac{v_D}{\dot \phi} rϕ=ϕ˙vD
    ϕ = ∠ O 1 O O 2 = a r c s i n d L r ϕ \phi=\angle O_1OO_2=arcsin \frac{dL}{r_\phi} ϕ=O1OO2=arcsinrϕdL

在这里插入图片描述

  1. 得到前轮里程仪的输出为:
    v D m = [ d L ϕ ˙ v D 2 − ( d L ϕ ˙ ) 2 0 ] T v^m_D=\left[\begin{matrix}d_L\dot\phi&\sqrt{v^2_D-(d_L\dot \phi)^2}&0\end{matrix}\right]^T vDm=[dLϕ˙vD2(dLϕ˙)2 0]T
    杆臂误差为:
    δ l D b = [ d x d y 0 ] T \delta l^b_D=\left[\begin{matrix}dx&dy&0\end{matrix}\right]^T δlDb=[dxdy0]T

  2. 得到里程计与惯导之间的杆臂误差为:
    δ P D L = P I N S − P D = − M p v C b n δ l D b \delta P_{DL}=P_{INS}-P_D=-M_{pv}C^n_b\delta l^b_D δPDL=PINSPD=MpvCbnδlDb

惯导/航位推算组合模式

  1. 获得捷联惯导解算姿态更新值

  2. 使用惯导的姿态矩阵对里程仪测量进行坐标变化,获得导航坐标系下的航位推算速度

  3. 此时惯导解算与航位解算有共同的姿态阵,具有相同的失准角误差,将惯导误差与航位推算误差合并,得到状态向量:
    K D , ξ b , ▽ b : 随 机 常 值 向 量 K_D,\xi^b,\bigtriangledown ^b:随机常值向量 KD,ξb,b
    X = [ ϕ T ( δ v n ) T ( δ p ) T ( δ p D ) T ( ξ b ) T ( ▽ b ) T K D T ] T X=\left[\begin{matrix}\phi^T&(\delta v^n)^T&(\delta p)^T&(\delta p_D)^T&(\xi^b)^T&(\bigtriangledown ^b)^T&K_D^T\end{matrix}\right]^T X=[ϕT(δvn)T(δp)T(δpD)T(ξb)T(b)TKDT]T

  4. 获得里程仪相对于惯组的杆臂,并矫正

  5. 以惯导解算位置和航位推算位置之差构造观测量:
    Z = P ~ I N S − δ P D L − P ~ D = δ P I N S − δ P D Z=\tilde P_{INS}-\delta P_{DL}-\tilde P_D=\delta P_{INS}-\delta P_D Z=P~INSδPDLP~D=δPINSδPD
    { X ˙ = F X + G W b Z = H X + V s t : F = [ M a a M a v M a p 0 3 × 3 − C b n 0 3 × 3 0 3 × 3 M v a M v v M v p 0 3 × 3 0 3 × 3 C b n 0 3 × 3 0 3 × 3 M p v M p p 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 M p a D 0 3 × 3 M p p M p p D 0 3 × 3 0 3 × 3 M p k D 0 9 × 21 ] , G = [ − C b n 0 3 × 3 0 3 × 3 C b n 0 15 × 6 ] , W b = [ W g b W g b ] H = [ 0 3 × 6 I 3 × 3 − I 3 × 3 0 3 × 9 ] \begin{cases} \dot X=FX+GW^b\\ Z=HX+V \end{cases}\\ st:\\ F=\left[\begin{matrix} M_{aa}&M_{av}&M_{ap}&0_{3×3}&-C^n_b&0_{3×3}&0_{3×3}\\ M_{va}&M_{vv}&M_{vp}&0_{3×3}&0_{3×3}&C^n_b&0_{3×3}\\ 0_{3×3}&M_{pv}&M_{pp}&0_{3×3}&0_{3×3}&0_{3×3}&0_{3×3}\\ M_{paD}&0_{3×3}&M_{pp}&M_{ppD}&0_{3×3}&0_{3×3}&M_{pkD}\\ 0_{9×21} \end{matrix}\right],G=\left[\begin{matrix} -C^n_b&0_{3×3}\\ 0_{3×3}&C^n_b\\ 0_{15×6}\end{matrix}\right],W^b=\left[\begin{matrix} W^b_g\\W^b_g \end{matrix}\right]\\ H=\left[\begin{matrix} 0_{3×6}&I_{3×3}&-I_{3×3}&0_{3×9} \end{matrix}\right] {X˙=FX+GWbZ=HX+Vst:F=MaaMva03×3MpaD09×21MavMvvMpv03×3MapMvpMppMpp03×303×303×3MppDCbn03×303×303×303×3Cbn03×303×303×303×303×3MpkD,G=Cbn03×3015×603×3Cbn,Wb=[WgbWgb]H=[03×6I3×3I3×303×9]

惯导/航位推算增量组合模式

在路况不好时,会造成里程仪打滑或者滑行,难以满足车辆转弯原理,需要抛弃这种状态不好的数据,只采用状态良好的数据,但从不良状态恢复至良好时,航位推算精度依然会损失,因此使用良好数据时间内的增量与惯导组合,降低误差。
惯导/航位推算增量组合的量测构造方法如下:

  1. 惯导解算速度与里程仪解算速度之间误差为:
    z = v ~ I N S n − v ~ D n = δ v I N S n − δ v D n ≈ − v ~ D n × ϕ + δ v I N S S n − M v k D K D z=\tilde v^n_{INS}-\tilde v^n_D=\delta v^n_{INS}-\delta v^n_D \approx -\tilde v^n_D×\phi +\delta v^n_{INSS}-M_{vkD}K_D z=v~INSnv~Dn=δvINSnδvDnv~Dn×ϕ+δvINSSnMvkDKD

  2. 在足够小的时间: [ t j − 1 , t j ] [t_{j-1},t_j] [tj1,tj]内,惯导失准角 ϕ \phi ϕ视为常量,对第一步结果进行积分
    T j = t j − t j − 1 = 1 s T_j=t_j-t_{j-1}=1s Tj=tjtj1=1s
    ∫ z ( t j ) = ∫ v I N S ~ ( t j ) − ∫ v D ~ ( t j ) \int_{z}(t_j)=\tilde{\int_{vINS}}(t_j)-\tilde{\int_{vD}}(t_j) z(tj)=vINS~(tj)vD~(tj)
    ∫ v D ~ ( t j ) = ∫ t j − 1 t j v ~ D n d t \tilde {\int_{vD}}(t_j)=\int_{t_{j-1}}^{{t_j}}\tilde v^n_Ddt vD~(tj)=tj1tjv~Dndt
    ∫ M ( t j ) = ∫ t j − 1 t j M v k D d t \int_M(t_j)=\int^{t_j}_{t_{j-1}}M_{vkD}dt M(tj)=tj1tjMvkDdt
    ∫ z ( t j ) = ∫ v I N S ~ ( t j ) − ∫ v D ~ t j ( t j ) = − ∫ v D ~ ( t j ) × ϕ ( t j ) + [ δ v I N S n ( t j ) T j − δ v I N S n ( t j − 1 ) + δ v I N S n ( t j ) 2 T j ] − ∫ M ( t j ) K D \int_{z}(t_j)=\tilde{\int_{vINS}}(t_j)-\tilde{\int_{vD}}^{t_j}(t_j)\\ =-\tilde{\int_{vD}}(t_j)×\phi(t_j)+[\delta v^n_{INS}(t_j)T_j-\frac{\delta v^n_{INS}(t_{j-1})+\delta v^n_{INS}(t_{j})}{2}T_j]-\int_M(t_j)K_D z(tj)=vINS~(tj)vD~tj(tj)=vD~(tj)×ϕ(tj)+[δvINSn(tj)Tj2δvINSn(tj1)+δvINSn(tj)Tj]M(tj)KD

  3. 惯导速度误差为:
    δ v ˙ I N S n ≈ f s f n × ϕ ( t j ) \delta \dot v^n_{INS} \approx f^n_{sf}×\phi(t_j) δv˙INSnfsfn×ϕ(tj)
    对等式两边积分可得:
    δ v I N S n ( t j ) − δ I N S n ( t j − 1 ) ≈ ∫ t j − 1 t j f s f n d t × ϕ ( t j ) \delta v^n_{INS}(t_{j})-\delta^n_{INS}(t_{j-1}) \approx \int^{t_j}_{t_{j-1}}f^n_{sf}dt×\phi(t_j) δvINSn(tj)δINSn(tj1)tj1tjfsfndt×ϕ(tj)

  4. 将第3步求得等式带入第2步,得到:
    ∫ z ( t j ) = − [ T j 2 ∫ t j − 1 t j f s f n d t + ∫ v D ~ ( t j ) ] × ϕ ( t j ) + δ v I N S n ( t j ) T j − ∫ M ( t j ) K D \int_{z}(t_j)=-[\frac{T_j}{2}\int^{t_j}_{t_{j-1}}f^n_{sf}dt+\tilde {\int_{vD}}(t_j)]×\phi(t_j)+\delta v^n_{INS}(t_j)T_j-\int_M(t_j)K_D z(tj)=[2Tjtj1tjfsfndt+vD~(tj)]×ϕ(tj)+δvINSn(tj)TjM(tj)KD

  5. 构造惯导/航位推算增量方程为:

    { X ˙ = F X + G W b Z ( t j ) = ∫ z ( t j ) = H ( t j ) X ( t j ) + V ( t j ) s t : X = [ ϕ T ( δ v n ) T ( δ p ) T ( ξ b ) T ( ▽ b ) T K D T ] T F = [ M a a M a v M a p 0 3 × 3 − C b n 0 3 × 3 0 3 × 3 M v a M v v M v p 0 3 × 3 0 3 × 3 C b n 0 3 × 3 0 3 × 3 M p v M p p 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 9 × 21 ] , G = [ − C b n 0 3 × 3 0 3 × 3 C b n 0 12 × 6 ] , W b = [ W g b W g b ] H ( t j ) = [ − [ T j 2 ∫ t j − 1 t j f s f n d t + ∫ v D ~ ( t j ) ] × T j I 3 × 3 0 3 × 9 − ∫ M ( t j ) ] \begin{cases} \dot X=FX+GW^b\\ Z(t_j)=\int_z(t_j)=H(t_j)X(t_j)+V(t_j) \end{cases}\\ st:\\ X=\left[\begin{matrix}\phi^T&(\delta v^n)^T&(\delta p)^T&(\xi^b)^T&(\bigtriangledown ^b)^T&K_D^T\end{matrix}\right]^T\\ F=\left[\begin{matrix} M_{aa}&M_{av}&M_{ap}&0_{3×3}&-C^n_b&0_{3×3}&0_{3×3}\\ M_{va}&M_{vv}&M_{vp}&0_{3×3}&0_{3×3}&C^n_b&0_{3×3}\\ 0_{3×3}&M_{pv}&M_{pp}&0_{3×3}&0_{3×3}&0_{3×3}&0_{3×3}\\ 0_{9×21} \end{matrix}\right],G=\left[\begin{matrix} -C^n_b&0_{3×3}\\ 0_{3×3}&C^n_b\\ 0_{12×6}\end{matrix}\right],W^b=\left[\begin{matrix} W^b_g\\W^b_g \end{matrix}\right]\\ H(t_j)=\left[\begin{matrix} -[\frac{T_j}{2}\int^{t_j}_{t_{j-1}}f^n_{sf}dt+\tilde {\int_{vD}}(t_j)]×&T_jI_{3×3}&0_{3×9}-\int_M(t_j) \end{matrix}\right] {X˙=FX+GWbZ(tj)=z(tj)=H(tj)X(tj)+V(tj)st:X=[ϕT(δvn)T(δp)T(ξb)T(b)TKDT]TF=MaaMva03×309×21MavMvvMpvMapMvpMpp03×303×303×3Cbn03×303×303×3Cbn03×303×303×303×3,G=Cbn03×3012×603×3Cbn,Wb=[WgbWgb]H(tj)=[[2Tjtj1tjfsfndt+vD~(tj)]×TjI3×303×9M(tj)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值