INS一个最大的特点就是其误差会随时间累计而导致误差漂移,因此与GNSS组合可以有效的对INS误差进行修正。INS的误差建模就非常重要,包括姿态误差、速度误差和位置误差等等。除此之外,还包括加速度计和陀螺零偏误差。
1 姿态误差
姿态误差存在的原因就是在车辆运动过程中,实际的导航坐标系是在不断的变化的,但是在INS进行采样这段时间内,并没有将采样期间的导航坐标系的移动考虑进去,因此导致了计算导航坐标系与实际导航坐标系在空间上产生的不对准。即会在角速度向的导航坐标系投影出现偏差。除此之外,IMU本身也存在测量误差,从而导致姿态角的计算误差。这两部分误差共同构成了姿态计算的误差。
常见的姿态误差方程包括phi-角误差和psi-角误差。对于小角度误差近似两者是等价的,其中psi-角误差模型基于假定计算机坐标系进行推导,形式简单,在现代INS多传感器组合定位中应用广泛。因此这里也给出的是psi-角误差方程。
这里不加证明的给出平台失准角微分方程:
ψ
˙
=
δ
ω
i
e
n
+
δ
ω
e
n
n
−
(
ω
i
e
n
+
ω
e
n
n
)
×
ψ
+
b
g
\dot \psi=\delta \omega^n_{ie}+\delta \omega^n_{en}-(\omega^n_{ie}+\omega^n_{en})\times \psi+b_g
ψ˙=δωien+δωenn−(ωien+ωenn)×ψ+bg
上式以经反映出了平台失准角的组成,前三项主要是由于计算的导航坐标系与实际的导航坐标系不对准造成的,最后一项是陀螺仪在运行过程中的零偏量,属于IMU自身的测量误差。
上节以经给出了
δ
ω
i
e
n
\delta\omega^n_{ie}
δωien和
δ
ω
e
n
n
\delta\omega^n_{en}
δωenn的具体计算公式:
δ
ω
i
e
n
=
[
−
ω
i
e
⋅
s
i
n
L
0
−
ω
i
e
⋅
c
o
s
L
]
δ
L
\delta \omega^n_{ie} = \begin{bmatrix} -\omega_{ie} \cdot sinL \\ 0 \\ -\omega_{ie} \cdot cosL\end{bmatrix} \delta L
δωien=⎣⎡−ωie⋅sinL0−ωie⋅cosL⎦⎤δL
δ
ω
e
n
n
=
[
δ
v
y
n
R
E
+
h
−
δ
v
x
n
R
N
+
h
−
δ
v
y
n
t
a
n
L
R
E
+
h
−
v
y
n
R
E
+
h
s
e
c
e
L
⋅
δ
L
]
\delta \omega^n_{en}=\begin{bmatrix} \frac{\delta v^n_y}{R_E+h} \\ -\frac{\delta v^n_x}{R_N+h} \\ -\frac{\delta v^n_y tanL}{R_E+h} - \frac{v^n_y}{R_E+h}sec^eL\cdot \delta L\end{bmatrix}
δωenn=⎣⎢⎡RE+hδvyn−RN+hδvxn−RE+hδvyntanL−RE+hvynseceL⋅δL⎦⎥⎤
将上两式带入平台失准角误差方程中得出:
ψ
˙
x
=
−
(
ω
i
e
⋅
s
i
n
L
+
v
y
n
t
a
n
L
R
E
+
h
)
ψ
y
+
v
x
n
R
N
+
h
ψ
z
+
1
R
E
+
h
δ
v
y
n
−
ω
i
e
s
i
n
L
⋅
δ
L
+
b
g
,
x
n
\dot \psi_x = -(\omega_{ie} \cdot sinL+\frac{v^n_ytanL}{R_E+h})\psi_y+\frac{v^n_x}{R_N+h}\psi_z+\frac{1}{R_E+h}\delta v^n_y - \omega_{ie} sinL \cdot \delta L + b^n_{g,x}
ψ˙x=−(ωie⋅sinL+RE+hvyntanL)ψy+RN+hvxnψz+RE+h1δvyn−ωiesinL⋅δL+bg,xn
ψ
˙
y
=
(
ω
i
e
⋅
s
i
n
L
+
v
y
n
t
a
n
L
R
E
+
h
)
ψ
x
+
(
ω
i
e
⋅
c
o
s
L
+
v
y
n
R
E
+
h
)
ψ
z
−
1
R
N
+
h
δ
v
x
n
+
b
g
,
y
n
\dot \psi_y=(\omega_{ie}\cdot sinL+\frac{v^n_ytanL}{R_E+h})\psi_x+(\omega_{ie} \cdot cosL + \frac{v^n_y}{R_E+h})\psi_z-\frac{1}{R_N+h}\delta v^n_x +b^n_{g,y}
ψ˙y=(ωie⋅sinL+RE+hvyntanL)ψx+(ωie⋅cosL+RE+hvyn)ψz−RN+h1δvxn+bg,yn
ψ
˙
z
=
−
v
x
n
R
N
+
h
ψ
x
−
(
ω
i
e
⋅
c
o
s
L
+
v
y
n
R
E
+
h
)
ψ
y
−
t
a
n
L
R
E
+
h
δ
v
y
n
−
(
ω
i
e
c
o
s
L
+
v
y
n
R
E
+
h
s
e
c
2
L
)
δ
L
+
b
g
,
z
n
\dot \psi_z = -\frac{v^n_x}{R_N+h}\psi_x-(\omega_{ie}\cdot cosL + \frac{v^n_y}{R_E+h})\psi_y-\frac{tanL}{R_E+h}\delta v^n_y - (\omega_{ie}cosL+\frac{v^n_y}{R_E+h}sec^2L)\delta L + b^n_{g,z}
ψ˙z=−RN+hvxnψx−(ωie⋅cosL+RE+hvyn)ψy−RE+htanLδvyn−(ωiecosL+RE+hvynsec2L)δL+bg,zn
一般来讲,平台失准角是个非常小的角度,如果用坐标变换矩阵和欧拉角来描述一个小角度的扰动时,把计算导航坐标系记作p系,把理想的导航坐标系记作n系,考虑到三角函数中对于小角度的近似关系,那么p系到n系的变换可以表示为:
C
p
n
=
[
1
ψ
z
−
ψ
y
−
ψ
z
1
ψ
x
ψ
y
−
ψ
x
1
]
=
I
+
[
ψ
×
]
C^n_p=\begin{bmatrix} 1 & \psi_z & -\psi_y \\ -\psi_z & 1 & \psi_x \\ \psi_y & -\psi_x & 1\end{bmatrix}= I + [\psi \times]
Cpn=⎣⎡1−ψzψyψz1−ψx−ψyψx1⎦⎤=I+[ψ×]
根据上式。即可对姿态进行修正。
2 速度和位置误差
姿态误差的存在使得计算导航坐标系和实际导航坐标系产生偏离,这会引起加速度的不正确投影,加速度计的飘移会导致加速度测量值的误差, 这些误差的存在都会导致速度误差。速度的误差方程可以表示如下:
δ
v
˙
n
=
δ
f
n
+
δ
g
−
(
2
δ
ω
i
e
n
+
δ
ω
e
n
n
)
×
v
n
−
(
2
ω
i
e
n
+
ω
e
n
n
)
×
δ
v
n
\delta \dot v ^n=\delta f^n+\delta g -(2\delta \omega^n_{ie}+\delta \omega ^n_{en}) \times v^n -(2\omega^n_{ie}+\omega^n_{en})\times \delta v^n
δv˙n=δfn+δg−(2δωien+δωenn)×vn−(2ωien+ωenn)×δvn
坐标系偏离和加速度计偏移导致了上式中
δ
f
n
\delta f^n
δfn的存在。事实上,在车辆快速运动时,重力加速度也会发生变化,但是对于小范围运动的载体来说,重力加速度的偏差可以忽略。上式中。
δ
f
n
\delta f^n
δfn可以表示为:
δ
f
n
=
f
p
−
f
n
+
b
a
\delta f^n = f^p-f^n+b_a
δfn=fp−fn+ba
=
C
n
p
δ
f
n
−
f
n
+
b
a
=C^p_n\delta f^n -f^n + b_a
=Cnpδfn−fn+ba
=
−
ψ
×
f
n
+
b
a
=-\psi\times f^n + b_a
=−ψ×fn+ba
=
f
n
×
ψ
+
b
a
=f^n\times \psi+b_a
=fn×ψ+ba
将
δ
f
n
\delta f^n
δfn代入速度误差方程,可以得到:
δ
v
˙
n
=
f
n
×
ψ
−
(
2
δ
ω
i
e
n
+
δ
ω
e
n
n
)
×
v
n
−
(
2
ω
i
e
n
+
ω
e
n
n
)
×
δ
v
n
+
b
a
\delta \dot v^n=f^n\times \psi -(2\delta \omega^n_{ie}+\delta \omega^n_{en})\times v^n -(2\omega^n_{ie}+\omega^n_{en})\times \delta v^n + b_a
δv˙n=fn×ψ−(2δωien+δωenn)×vn−(2ωien+ωenn)×δvn+ba
将已知量代入可得:
δ
v
˙
x
n
=
−
f
z
n
⋅
ψ
y
+
f
y
n
⋅
ψ
z
+
v
z
n
R
N
+
h
δ
v
x
n
−
(
2
ω
i
e
⋅
s
i
n
L
+
2
v
y
n
t
a
n
L
R
E
+
h
)
δ
v
y
n
+
v
x
n
R
N
+
h
δ
v
z
n
−
(
2
ω
i
e
v
y
n
c
o
s
L
+
v
n
2
R
E
+
h
s
e
c
2
L
)
δ
L
+
b
ω
,
x
\delta \dot v^n_x = -f^n_z \cdot \psi_y+f^n_y \cdot \psi_z+\frac{v^n_z}{R_N+h}\delta v^n_x-(2\omega_{ie}\cdot sinL+2\frac{v^n_ytanL}{R_E+h})\delta v^n_y + \frac{v^n_x}{R_N+h}\delta v^n_z-(2\omega_{ie}v^n_ycosL+\frac{v^{n^2}}{R_E+h}sec^2L)\delta L+b_{\omega,x}
δv˙xn=−fzn⋅ψy+fyn⋅ψz+RN+hvznδvxn−(2ωie⋅sinL+2RE+hvyntanL)δvyn+RN+hvxnδvzn−(2ωievyncosL+RE+hvn2sec2L)δL+bω,x
δ
v
˙
y
n
=
f
z
n
⋅
ψ
x
−
f
x
n
⋅
ψ
z
+
(
2
ω
i
e
⋅
s
i
n
L
+
v
y
n
t
a
n
L
R
E
+
h
)
δ
v
x
n
+
(
v
x
n
t
a
n
L
R
E
+
h
+
v
z
n
R
E
+
h
)
δ
v
y
n
+
(
2
ω
i
e
⋅
c
o
s
L
+
v
y
n
R
E
+
h
)
δ
v
z
n
+
(
2
ω
i
e
v
e
b
,
x
n
c
o
s
L
−
2
ω
i
e
v
z
n
s
i
n
L
+
v
x
n
v
y
n
R
E
+
h
s
e
c
2
L
)
δ
L
+
b
a
,
y
\delta \dot v^n_y = f^n_z \cdot \psi_x-f^n_x \cdot \psi_z+(2\omega_{ie}\cdot sinL+\frac{v^n_ytanL}{R_E+h})\delta v^n_x + (\frac{v^n_xtanL}{R_E+h}+\frac{v^n_z}{R_E+h})\delta v^n_y+(2\omega_{ie}\cdot cosL+\frac{v^n_y}{R_E+h})\delta v^n_z+(2\omega{ie}v^n_{eb,x}cosL-2\omega_{ie}v^n_zsinL+\frac{v^n_x v^n_y}{R_E+h}sec^2L)\delta L + b_{a,y}
δv˙yn=fzn⋅ψx−fxn⋅ψz+(2ωie⋅sinL+RE+hvyntanL)δvxn+(RE+hvxntanL+RE+hvzn)δvyn+(2ωie⋅cosL+RE+hvyn)δvzn+(2ωieveb,xncosL−2ωievznsinL+RE+hvxnvynsec2L)δL+ba,y
δ
v
˙
z
n
=
−
f
y
n
⋅
ψ
x
+
f
x
n
⋅
ψ
y
−
2
v
x
n
R
N
+
h
δ
v
x
n
−
2
(
ω
i
e
⋅
c
o
s
L
+
v
y
n
R
E
+
h
)
δ
v
y
n
+
2
ω
i
e
v
y
n
s
i
n
L
⋅
δ
L
+
b
a
,
z
\delta \dot v^n_z=-f^n_y\cdot \psi_x +f^n_x\cdot \psi_y - \frac{2v^n_x}{R_N+h}\delta v^n_x -2(\omega_{ie}\cdot cosL+\frac{v^n_y}{R_E+h})\delta v^n_y+2\omega_{ie}v^n_ysinL\cdot \delta L+b_{a,z}
δv˙zn=−fyn⋅ψx+fxn⋅ψy−RN+h2vxnδvxn−2(ωie⋅cosL+RE+hvyn)δvyn+2ωievynsinL⋅δL+ba,z
速度误差微分方程反映了速度误差的变化情况,可以看出,速度微分误差微分方程是十分复杂的。位置误差微分方程则比较简单:
δ
L
˙
=
δ
v
x
n
R
N
+
h
\delta \dot L=\frac{\delta v^n_x}{R_N+h}
δL˙=RN+hδvxn
δ
λ
˙
=
δ
v
y
n
(
R
E
+
h
)
c
o
s
L
+
v
y
n
s
i
n
L
δ
L
(
R
E
+
h
)
c
o
s
2
L
\delta \dot \lambda=\frac{\delta v^n_y}{(R_E+h)cosL}+\frac{v^n_ysinL\delta L}{(R_E+h)cos^2L}
δλ˙=(RE+h)cosLδvyn+(RE+h)cos2LvynsinLδL
上式即为位置误差方程。对其得到的位置误差进行反馈就能得到正确的位置信息。