🌈本篇blog基于惯导学习 围绕“b系相对于i系在n系的投影”这个问题展开,进行讨论
🐋首先讲一下具体的学习过程中引入的问题,然后用实例求解计算
文章目录
惯性导航中惯性器件测量的速度
在惯性导航系统中,惯性器件(如加速度计和陀螺仪)测量的是载体系(b系)下的运动状态。具体来说:
- 加速度计测量的是载体系(b系)下的加速度。
- 陀螺仪测量的是载体系(b系)下的角速度。
这些测量数据通过惯性导航系统的计算,最终可以得到载体在惯性系(i系)中的速度和位置。
b系相对于i系在n系的投影
"b系相对于i系在n系的投影"的确可以理解为b系在n系的投影,但这两者的说法有细微的区别:
- b系相对于i系在n系的投影:这意味着我们首先将b系的速度矢量转换到惯性系(i系),然后再将这个速度矢量转换到导航系(n系)。这个过程更全面地描述了惯性导航中的转换步骤。
- b系在n系的投影:这可以直接理解为从b系到n系的转换,但缺少中间步骤(惯性系)的明确描述。
为什么不直接说b系在n系的投影
在惯性导航系统中,使用"b系相对于i系在n系的投影"而不是"b系在n系的投影",主要是因为惯性导航的计算需要经过惯性系(i系)。惯性系作为一个中间参考系,确保了导航计算的准确性和一致性。具体原因包括:
- 参考系的标准化:惯性系(i系)作为一个非旋转的参考系,提供了一个标准的基准,便于各种不同参考系之间的转换。
- 精确性:通过惯性系,可以更精确地处理旋转和变换,减少误差累积。
- 系统设计:惯性导航系统的设计通常是基于惯性系进行的,因此计算过程自然地包括惯性系。
为什么不能直接用 C b n C_{bn} Cbn转换b系和n系
理论上,确实可以直接使用转换矩阵 C b n C_{bn} Cbn将b系转换到n系,但实际上,在惯性导航系统中通常不这样做,原因如下:
- 惯性系的中间作用:惯性系(i系)作为一个中间参考系,简化了不同参考系之间的转换。直接从b系到n系的转换,可能在某些情况下导致更大的计算误差。
- 累积误差的控制:通过惯性系,可以更有效地控制和校正累积误差。每次转换都经过一个标准的参考系,确保精度。
- 系统的一致性和可维护性:惯性导航系统通常设计为经过惯性系进行计算,保持系统的一致性和易维护性。如果直接从b系到n系转换,系统设计和维护可能更加复杂。
综上所述,惯性导航系统的设计和计算更倾向于经过惯性系(i系)进行转换,以确保计算的准确性和系统的稳定性。
b系相对于i系在n系的投影具体含义和实例说明
🤔具体是什么意思,是b系已知还是i系已知,然后又怎么转换到n系?
在惯性导航系统中,“b系相对于i系在n系的投影”描述的是如何将载体(如飞机或车辆)在惯性系(i系)中的速度投影到导航系(n系)。这里需要明确以下几点:
- i系(惯性系):通常是地心惯性系(ECI),是一个非旋转的参考系。
- b系(载体系):与载体固定的参考系,X轴通常指向前方。
- n系(导航系):通常是东北天顶坐标系(NED),与地球表面固定,Z轴指向天顶。
具体含义
- 已知速度:通常是载体在惯性系中的速度
- 转换过程:
- 步骤1:将速度从惯性系转换到载体系。
- 步骤2:将速度从载体系投影到导航系。
实例说明
假设我们有以下数据:
-
惯性系(i系)中的速度矢量:
v i = [ 200 150 100 ] m/s \mathbf{v}_i = \begin{bmatrix} 200 \\ 150 \\ 100 \end{bmatrix} \text{m/s} vi= 200150100 m/s -
b系到i系的转换矩阵(方向余弦矩阵) C b i C_{bi} Cbi:
C b i = [ 0.866 0.5 0 − 0.5 0.866 0 0 0 1 ] C_{bi} = \begin{bmatrix} 0.866 & 0.5 & 0 \\ -0.5 & 0.866 & 0 \\ 0 & 0 & 1 \end{bmatrix} Cbi= 0.866−0.500.50.8660001 -
n系到i系的转换矩阵(方向余弦矩阵) C n i C_{ni} Cni:
C n i = [ 0.36 0.48 − 0.8 − 0.8 0.60 0 0.48 0.64 0.6 ] C_{ni} = \begin{bmatrix} 0.36 & 0.48 & -0.8 \\ -0.8 & 0.60 & 0 \\ 0.48 & 0.64 & 0.6 \end{bmatrix} Cni= 0.36−0.80.480.480.600.64−0.800.6
步骤1:将速度矢量从i系转换到b系
因为转换矩阵是从b系到i系的,所以我们需要反转矩阵:
C
b
i
−
1
=
C
b
i
T
C_{bi}^{-1} = C_{bi}^T
Cbi−1=CbiT
C
b
i
T
=
[
0.866
−
0.5
0
0.5
0.866
0
0
0
1
]
C_{bi}^T = \begin{bmatrix} 0.866 & -0.5 & 0 \\ 0.5 & 0.866 & 0 \\ 0 & 0 & 1 \end{bmatrix}
CbiT=
0.8660.50−0.50.8660001
所以:
v
b
=
C
b
i
T
⋅
v
i
\mathbf{v}_b = C_{bi}^T \cdot \mathbf{v}_i
vb=CbiT⋅vi
v
b
=
[
0.866
−
0.5
0
0.5
0.866
0
0
0
1
]
⋅
[
200
150
100
]
\mathbf{v}_b = \begin{bmatrix} 0.866 & -0.5 & 0 \\ 0.5 & 0.866 & 0 \\ 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 200 \\ 150 \\ 100 \end{bmatrix}
vb=
0.8660.50−0.50.8660001
⋅
200150100
计算得:
v b 1 = 0.866 ⋅ 200 − 0.5 ⋅ 150 + 0 ⋅ 100 = 173.2 − 75 = 98.2 v b 2 = 0.5 ⋅ 200 + 0.866 ⋅ 150 + 0 ⋅ 100 = 100 + 129.9 = 229.9 v b 3 = 0 ⋅ 200 + 0 ⋅ 150 + 1 ⋅ 100 = 100 v_{b1} = 0.866 \cdot 200 - 0.5 \cdot 150 + 0 \cdot 100 = 173.2 - 75 = 98.2 \\ v_{b2} = 0.5 \cdot 200 + 0.866 \cdot 150 + 0 \cdot 100 = 100 + 129.9 = 229.9 \\ v_{b3} = 0 \cdot 200 + 0 \cdot 150 + 1 \cdot 100 = 100 vb1=0.866⋅200−0.5⋅150+0⋅100=173.2−75=98.2vb2=0.5⋅200+0.866⋅150+0⋅100=100+129.9=229.9vb3=0⋅200+0⋅150+1⋅100=100
所以:
v b = [ 98.2 229.9 100 ] m/s \mathbf{v}_b = \begin{bmatrix} 98.2 \\ 229.9 \\ 100 \end{bmatrix} \text{m/s} vb= 98.2229.9100 m/s
步骤2:将速度矢量从b系转换到n系
我们需要将速度矢量从b系投影到n系,首先我们需要b系到n系的转换矩阵。假设 C n b C_{nb} Cnb 是已知的,并且可以通过 C n i C_{ni} Cni 和 C b i C_{bi} Cbi 得到:
C n b = C n i ⋅ C b i T C_{nb} = C_{ni} \cdot C_{bi}^T Cnb=Cni⋅CbiT
首先计算 C n b C_{nb} Cnb :
C n b = [ 0.36 0.48 − 0.8 − 0.8 0.60 0 0.48 0.64 0.6 ] ⋅ [ 0.866 − 0.5 0 0.5 0.866 0 0 0 1 ] C_{nb} = \begin{bmatrix} 0.36 & 0.48 & -0.8 \\ -0.8 & 0.60 & 0 \\ 0.48 & 0.64 & 0.6 \end{bmatrix} \cdot \begin{bmatrix} 0.866 & -0.5 & 0 \\ 0.5 & 0.866 & 0 \\ 0 & 0 & 1 \end{bmatrix} Cnb= 0.36−0.80.480.480.600.64−0.800.6 ⋅ 0.8660.50−0.50.8660001
进行矩阵乘法:
C
n
b
=
[
0.36
⋅
0.866
+
0.48
⋅
0.5
+
(
−
0.8
)
⋅
0
0.36
⋅
(
−
0.5
)
+
0.48
⋅
0.866
+
(
−
0.8
)
⋅
0
0.36
⋅
0
+
0.48
⋅
0
+
(
−
0.8
)
⋅
1
−
0.8
⋅
0.866
+
0.60
⋅
0.5
+
0
⋅
0
−
0.8
⋅
(
−
0.5
)
+
0.60
⋅
0.866
+
0
⋅
0
−
0.8
⋅
0
+
0.60
⋅
0
+
0
⋅
1
0.48
⋅
0.866
+
0.64
⋅
0.5
+
0.6
⋅
0
0.48
⋅
(
−
0.5
)
+
0.64
⋅
0.866
+
0.6
⋅
0
0.48
⋅
0
+
0.64
⋅
0
+
0.6
⋅
1
]
C_{nb} = \begin{bmatrix} 0.36 \cdot 0.866 + 0.48 \cdot 0.5 + (-0.8) \cdot 0 & 0.36 \cdot (-0.5) + 0.48 \cdot 0.866 + (-0.8) \cdot 0 & 0.36 \cdot 0 + 0.48 \cdot 0 + (-0.8) \cdot 1 \\ -0.8 \cdot 0.866 + 0.60 \cdot 0.5 + 0 \cdot 0 & -0.8 \cdot (-0.5) + 0.60 \cdot 0.866 + 0 \cdot 0 & -0.8 \cdot 0 + 0.60 \cdot 0 + 0 \cdot 1 \\ 0.48 \cdot 0.866 + 0.64 \cdot 0.5 + 0.6 \cdot 0 & 0.48 \cdot (-0.5) + 0.64 \cdot 0.866 + 0.6 \cdot 0 & 0.48 \cdot 0 + 0.64 \cdot 0 + 0.6 \cdot 1 \end{bmatrix}
Cnb=
0.36⋅0.866+0.48⋅0.5+(−0.8)⋅0−0.8⋅0.866+0.60⋅0.5+0⋅00.48⋅0.866+0.64⋅0.5+0.6⋅00.36⋅(−0.5)+0.48⋅0.866+(−0.8)⋅0−0.8⋅(−0.5)+0.60⋅0.866+0⋅00.48⋅(−0.5)+0.64⋅0.866+0.6⋅00.36⋅0+0.48⋅0+(−0.8)⋅1−0.8⋅0+0.60⋅0+0⋅10.48⋅0+0.64⋅0+0.6⋅1
结果:
C n b = [ 0.36 ⋅ 0.866 + 0.48 ⋅ 0.5 0.36 ⋅ ( − 0.5 ) + 0.48 ⋅ 0.866 − 0.8 − 0.8 ⋅ 0.866 + 0.60 ⋅ 0.5 0.8 ⋅ 0.5 + 0.60 ⋅ 0.866 0 0.48 ⋅ 0.866 + 0.64 ⋅ 0.5 − 0.48 ⋅ 0.5 + 0.64 ⋅ 0.866 0.6 ] C_{nb} = \begin{bmatrix} 0.36 \cdot 0.866 + 0.48 \cdot 0.5 & 0.36 \cdot (-0.5) + 0.48 \cdot 0.866 & -0.8 \\ -0.8 \cdot 0.866 + 0.60 \cdot 0.5 & 0.8 \cdot 0.5 + 0.60 \cdot 0.866 & 0 \\ 0.48 \cdot 0.866 + 0.64 \cdot 0.5 & -0.48 \cdot 0.5 + 0.64 \cdot 0.866 & 0.6 \end{bmatrix} Cnb= 0.36⋅0.866+0.48⋅0.5−0.8⋅0.866+0.60⋅0.50.48⋅0.866+0.64⋅0.50.36⋅(−0.5)+0.48⋅0.8660.8⋅0.5+0.60⋅0.866−0.48⋅0.5+0.64⋅0.866−0.800.6
C n b = [ 0.31176 + 0.24 − 0.18 + 0.41568 − 0.8 − 0.6928 + 0.3 0.4 + 0.5196 0 0.41568 + 0.32 − 0.24 + 0.55424 0.6 ] C_{nb} = \begin{bmatrix} 0.31176 + 0.24 & -0.18 + 0.41568 & -0.8 \\ -0.6928 + 0.3 & 0.4 + 0.5196 & 0 \\ 0.41568 + 0.32 & -0.24 + 0.55424 & 0.6 \end{bmatrix} Cnb= 0.31176+0.24−0.6928+0.30.41568+0.32−0.18+0.415680.4+0.5196−0.24+0.55424−0.800.6
C n b = [ 0.55176 0.23568 − 0.8 − 0.3928 0.9196 0 0.73568 0.31424 0.6 ] C_{nb} = \begin{bmatrix} 0.55176 & 0.23568 & -0.8 \\ -0.3928 & 0.9196 & 0 \\ 0.73568 & 0.31424 & 0.6 \end{bmatrix} Cnb= 0.55176−0.39280.735680.235680.91960.31424−0.800.6
然后用这个矩阵去转换速度:
v n = C n b ⋅ v b \mathbf{v}_n = C_{nb} \cdot \mathbf{v}_b vn=Cnb⋅vb
v n = [ 0.55176 0.23568 − 0.8 − 0.3928 0.9196 0 0.73568 0.31424 0.6 ] ⋅ [ 98.2 229.9 100 ] \mathbf{v}_n = \begin{bmatrix} 0.55176 & 0.23568 & -0.8 \\ -0.3928 & 0.9196 & 0 \\ 0.73568 & 0.31424 & 0.6 \end{bmatrix} \cdot \begin{bmatrix} 98.2 \\ 229.9 \\ 100 \end{bmatrix} vn= 0.55176−0.39280.735680.235680.91960.31424−0.800.6 ⋅ 98.2229.9100
计算得:
v n 1 = 0.55176 ⋅ 98.2 + 0.23568 ⋅ 229.9 − 0.8 ⋅ 100 = 54.166 + 54.187 − 80 = 28.353 v_{n1} = 0.55176 \cdot 98.2 + 0.23568 \cdot 229.9 - 0.8 \cdot 100 = 54.166 + 54.187 - 80 = 28.353 vn1=0.55176⋅98.2+0.23568⋅229.9−0.8⋅100=54.166+54.187−80=28.353
v n 2 = − 0.3928 ⋅ 98.2 + 0.9196 ⋅ 229.9 + 0 ⋅ 100 = − 38.573 + 211.391 = 172.818 v_{n2} = -0.3928 \cdot 98.2 + 0.9196 \cdot 229.9 + 0 \cdot 100 = -38.573 + 211.391 = 172.818 vn2=−0.3928⋅98.2+0.9196⋅229.9+0⋅100=−38.573+211.391=172.818
v n 3 = 0.73568 ⋅ 98.2 + 0.31424 ⋅ 229.9 + 0.6 v_{n3} = 0.73568 \cdot 98.2 + 0.31424 \cdot 229.9 + 0.6 vn3=0.73568⋅98.2+0.31424⋅229.9+0.6
🌈 ok,完结~ 有问题请批评指正