Bootstrap

INS/GNSS组合导航(五)-GNSS/INS松组合导航数学模型

前面的章节介绍了INS的误差模型以及SINS的机械编排,从本节开始,介绍GNSS/INS松组合导航数学模型,并给出在该组合模式下的数据处理流程。

1 松组合导航算法模型

松组合模型是对GNSS和INS单独解算的位置和速度信息进行融合。在卡尔曼滤波器中,将GNSS量测与INS预测的位置和速度的差值作为测量更新的新息,对状态方程中的相关参数进行估计并反馈修正,实现对IMU的闭环补偿。松组合是两种系统在导航结果层面的组合,原理简单,实现上较容易。因此在当前车载组合导航的实际应用中,依旧应用十分广泛。

1.1 GNSS/INS松组合状态方程

一般而言,GNSS/INS松组合状态方程中,选取平台失准角 ϕ \phi ϕ、速度误差 δ V \delta V δV、位置误差 δ B \delta B δB、陀螺零漂 ε \varepsilon ε、加速度计零偏 ∇ \nabla 作为状态变量:
X = [ ϕ e ϕ n ϕ u δ V e δ V n δ V u δ L δ B δ H ε x ε y ε z ∇ x ∇ y ∇ z ] X=\begin{bmatrix} \phi_e & \phi_n & \phi_u & \delta V_e & \delta V_n & \delta V_u & \delta L & \delta B & \delta H & \varepsilon_x & \varepsilon_y & \varepsilon_z & \nabla_x & \nabla_y & \nabla_z \end{bmatrix} X=[ϕeϕnϕuδVeδVnδVuδLδBδHεxεyεzxyz]
式中脚标饿e、n、u表示运载体的东北天方向;脚标x、y、z表示IMU组件轴系的x、y、z方向。

设系统状态方程为:
X k = Φ k , k − 1 X k − 1 + μ k − 1 X_k=\Phi_{k,k-1}X_{k-1}+\mu_{k-1} Xk=Φk,k1Xk1+μk1
式中, Φ k , k − 1 \Phi_{k,k-1} Φk,k1表示k-1到k时刻的状态转移矩阵, μ k − 1 \mu_{k-1} μk1表示零均值状态噪声,可表示为噪声分配矩阵B和系统噪声W的乘积。其中, Φ k , k − 1 \Phi_{k,k-1} Φk,k1为:
Φ k , k − 1 = [ F F ′ ′ E T F ′ F ′ ′ ′ E ′ T ′ 0 ′ F E ′ ′ 0 0 0 0 E ′ ′ ′ ] \Phi_{k,k-1}=\begin{bmatrix}F & F'' & E & T \\ F' & F''' & E' & T' \\ 0 & 'F & E'' & 0\\ 0 & 0 & 0 & E''' \end{bmatrix} Φk,k1=FF00FFF0EEE0TT0E
B为
B = [ C b n 0 0 C b n 0 0 ] B=\begin{bmatrix} C^n_b & 0 \\ 0 & C^n_b \\ 0 & 0\end{bmatrix} B=Cbn000Cbn0
这里基于前面章节介绍的INS更新方程和误差方程不加推导的给出 Φ k , k − 1 \Phi_{k,k-1} Φk,k1中各部分:
F = [ 0 ω i e s i n L + V e t a n L R N + H − ( ω i e c o s L + V e R N + H ) − ( ω i e s i n L + V e t a n L R N + H ) 0 − V n R M + H ω i e c o s L + V e R N + H V n R M + H 0 ] F=\begin{bmatrix}0 & \omega_{ie}sinL+\frac{V_etanL}{R_N+H} & -(\omega_{ie}cosL+\frac{V_e}{R_N+H}) \\ -(\omega_{ie}sinL+\frac{V_etanL}{R_N+H}) & 0 & -\frac{V_n}{R_M+H} \\ \omega_{ie}cosL+\frac{V_e}{R_N+H} & \frac{V_n}{R_M+H} & 0\end{bmatrix} F=0(ωiesinL+RN+HVetanL)ωiecosL+RN+HVeωiesinL+RN+HVetanL0RM+HVn(ωiecosL+RN+HVe)RM+HVn0

F ′ = [ 0 − f u f n f u 0 − f e − f n f e 0 ] F'=\begin{bmatrix} 0 & -f_u & f_n \\ f_u & 0 & -f_e \\ -f_n & f_e & 0\end{bmatrix} F=0fufnfu0fefnfe0

F ′ ′ = [ 0 1 R M + H 0 1 R N + H 0 0 t a n L R N + H 0 0 ] F''=\begin{bmatrix} 0 & \frac{1}{R_M+H} & 0 \\ \frac{1}{R_N+H} & 0 & 0\\ \frac{tanL}{R_N+H} & 0 & 0 \end{bmatrix} F=0RN+H1RN+HtanLRM+H100000

F ′ ′ ′ = [ V n t a n L R N + H − V u R M + H 2 ( ω i e s i n L + V e t a n L R N + H ) − ( 2 ω i e c o s L + V e R N + H ) − 2 ( ω i e s i n L + V e t a n L R N + H ) − V u R M + H − V n R M + H 2 ( ω i e c o s L + V e R N + H ) 2 V n R M + H 0 ] F'''=\begin{bmatrix} \frac{V_ntanL}{R_N+H}-\frac{V_u}{R_M+H} & 2(\omega_{ie}sinL+\frac{V_etanL}{R_N+H}) &-(2\omega_{ie}cosL+\frac{V_e}{R_N+H})\\ -2(\omega_{ie}sinL+\frac{V_etanL}{R_N+H}) & -\frac{V_u}{R_M+H} & -\frac{V_n}{R_M+H} \\ 2(\omega_{ie}cosL+\frac{V_e}{R_N+H}) & \frac{2V_n}{R_M+H} & 0\end{bmatrix} F=RN+HVntanLRM+HVu2(ωiesinL+RN+HVetanL)2(ωiecosL+RN+HVe)2(ωiesinL+RN+HVetanL)RM+HVuRM+H2Vn(2ωiecosL+RN+HVe)RM+HVn0

′ F = [ 0 1 R M + H 0 s e c L R N + H 0 0 0 0 1 ] 'F=\begin{bmatrix} 0 & \frac{1}{R_M+H} & 0 \\ \frac{secL}{R_N+H} & 0 & 0 \\ 0 & 0& 1\end{bmatrix} F=0RN+HsecL0RM+H100001

E = [ 0 0 0 − ω i e s i n L 0 0 ω i e c o s L + V e R N + H s e c 2 L 0 0 ] E=\begin{bmatrix} 0 & 0 & 0 \\ -\omega_{ie}sinL & 0 & 0 \\ \omega_{ie}cosL+\frac{V_e}{R_N+H}sec^2L & 0 & 0\end{bmatrix} E=0ωiesinLωiecosL+RN+HVesec2L000000

E ′ = [ 2 ω i e V n c o s L + V e V n R N + H s e c 2 L + 2 ω i e V u s i n L 0 0 − ( 2 ω i e V e c o s L + V e 2 R N + H s e c 2 L ) 0 0 − 2 ω i e V e s i n L 0 0 ] E'=\begin{bmatrix}2\omega_{ie}V_ncosL+\frac{V_eV_n}{R_N+H}sec^2L+2\omega_{ie}V_usinL & 0 & 0 \\ -(2\omega_{ie}V_ecosL+\frac{V^2_e}{R_N+H}sec^2L) & 0 & 0 \\ -2\omega_{ie}V_esinL & 0 & 0 \end{bmatrix} E=2ωieVncosL+RN+HVeVnsec2L+2ωieVusinL(2ωieVecosL+RN+HVe2sec2L)2ωieVesinL000000

E ′ ′ = [ 0 0 0 V e s e c L t a n L R N + H 0 0 0 0 0 ] E'' = \begin{bmatrix}0 & 0 & 0 \\ \frac{V_esecLtanL}{R_N+H} & 0 & 0 \\ 0 & 0& 0 \end{bmatrix} E=0RN+HVesecLtanL0000000

E ′ ′ ′ = [ − α 0 0 0 0 0 0 − α 0 0 0 0 0 0 − α 0 0 0 0 0 0 − β 0 0 0 0 0 0 − β 0 0 0 0 0 0 − β ] E'''=\begin{bmatrix} -\alpha & 0 & 0 & 0 & 0 & 0 \\ 0 & -\alpha & 0 & 0 & 0 & 0 \\ 0 & 0 & -\alpha & 0 & 0 & 0 \\ 0 & 0 & 0 & -\beta & 0 & 0 \\ 0 & 0 & 0 & 0 & -\beta & 0 \\ 0 & 0 & 0 & 0 & 0 & -\beta \end{bmatrix} E=α000000α000000α000000β000000β000000β

T = [ C b n 0 ] , T ′ = [ 0 C b n ] T=\begin{bmatrix} C^n_b & 0\end{bmatrix}, T'=\begin{bmatrix} 0 & C^n_b\end{bmatrix} T=[Cbn0],T=[0Cbn]

其中 α 、 β \alpha、\beta αβ为马尔可夫过程相关时间。

1.2 GNSS/INS松组合观测方程

在GNSS/INS的松紧组合的区别主要在观测方程。对于松组合来说,观测方程是指通过GNSS解算的位置速度信息,对INS输出的位置速度进行修正并反馈。设观测方程为:
Z = [ v I N S − v G N S S p I N S − p G N S S ] = H X + V Z=\begin{bmatrix} v_{INS} - v_{GNSS} \\ p_{INS}-p_{GNSS} \end{bmatrix} = HX+V Z=[vINSvGNSSpINSpGNSS]=HX+V
式中,v表示两系统的速度输出,p表示两系统的位置输出。

需要特别注意的是,GNSS输出的位置和速度,其中心是GNSS天线的相位中心,而INS输出的位置速度,其中心是IMU模组的中心,这两个中心一般是不重合的,因此需要对GNSS和INS的输出进行融合处理,实现参考基准的统一,这就称为杆臂矫正。

将IMU与GNSS天线之间的速度误差定义为杆臂误差,则有:
δ v L = v I N S − v G N S S = − C b n ( ω e b b × l ) = − C b n ( ω e b b × ) l \delta v_L=v_{INS}-v_{GNSS} = -C^n_b(\omega^b_{eb}\times l)= -C^n_b(\omega^b_{eb}\times)l δvL=vINSvGNSS=Cbn(ωebb×l)=Cbn(ωebb×)l
同理,杆臂位置误差为:
δ p L = p I N S − p G N S S = − ′ F C b n l \delta p_L=p_{INS}-p_{GNSS}=-'FC^n_bl δpL=pINSpGNSS=FCbnl
'F的形式上面已经介绍过。为了减少状态方程的维数,提高系统的可靠性,最好对杆臂误差进行精确测量,作为已知量在观测方程中直接使用。
设计矩阵H可表示为:
H = [ 0 I 0 0 0 0 I 0 ] H=\begin{bmatrix} 0 & I & 0 & 0 \\ 0 & 0 & I & 0\end{bmatrix} H=[00I00I00]
V = [ V v V p ] V=\begin{bmatrix} V_v \\ V_p \end{bmatrix} V=[VvVp]

1.1.3 GNSS/INS松组合解算

在GNSS/INS松组合中,GNSS解算的位置和速度作为量测信息传递到Kalman滤波器中,INS通过力学编排、GNSS通过定位解,分别获得载体的位置和速度信息。此外,由于INS的采样率一般远高于GNSS,在INS输出导航结果后,需要判断是否有GNSS观测信息输入,并利用Kalman滤波器完成结算。
在这里插入图片描述

;