惯性导航 惯性坐标系转换理解

🌈本篇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系)。惯性系作为一个中间参考系,确保了导航计算的准确性和一致性。具体原因包括:

  1. 参考系的标准化:惯性系(i系)作为一个非旋转的参考系,提供了一个标准的基准,便于各种不同参考系之间的转换。
  2. 精确性:通过惯性系,可以更精确地处理旋转和变换,减少误差累积。
  3. 系统设计:惯性导航系统的设计通常是基于惯性系进行的,因此计算过程自然地包括惯性系。

为什么不能直接用 C b n C_{bn} Cbn转换b系和n系

理论上,确实可以直接使用转换矩阵 C b n C_{bn} Cbn将b系转换到n系,但实际上,在惯性导航系统中通常不这样做,原因如下:

  1. 惯性系的中间作用:惯性系(i系)作为一个中间参考系,简化了不同参考系之间的转换。直接从b系到n系的转换,可能在某些情况下导致更大的计算误差。
  2. 累积误差的控制:通过惯性系,可以更有效地控制和校正累积误差。每次转换都经过一个标准的参考系,确保精度。
  3. 系统的一致性和可维护性:惯性导航系统通常设计为经过惯性系进行计算,保持系统的一致性和易维护性。如果直接从b系到n系转换,系统设计和维护可能更加复杂。

综上所述,惯性导航系统的设计和计算更倾向于经过惯性系(i系)进行转换,以确保计算的准确性和系统的稳定性。

b系相对于i系在n系的投影具体含义和实例说明

🤔具体是什么意思,是b系已知还是i系已知,然后又怎么转换到n系?

在惯性导航系统中,“b系相对于i系在n系的投影”描述的是如何将载体(如飞机或车辆)在惯性系(i系)中的速度投影到导航系(n系)。这里需要明确以下几点:

  1. i系(惯性系):通常是地心惯性系(ECI),是一个非旋转的参考系。
  2. b系(载体系):与载体固定的参考系,X轴通常指向前方。
  3. n系(导航系):通常是东北天顶坐标系(NED),与地球表面固定,Z轴指向天顶。

具体含义

  1. 已知速度:通常是载体在惯性系中的速度
  2. 转换过程
    • 步骤1:将速度从惯性系转换到载体系。
    • 步骤2:将速度从载体系投影到导航系。

实例说明

假设我们有以下数据:

  1. 惯性系(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

  2. 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.8660.500.50.8660001

  3. 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.360.80.480.480.600.640.800.6

步骤1:将速度矢量从i系转换到b系

因为转换矩阵是从b系到i系的,所以我们需要反转矩阵:

C b i − 1 = C b i T C_{bi}^{-1} = C_{bi}^T Cbi1=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.500.50.8660001

所以:

v b = C b i T ⋅ v i \mathbf{v}_b = C_{bi}^T \cdot \mathbf{v}_i vb=CbiTvi
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.500.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.8662000.5150+0100=173.275=98.2vb2=0.5200+0.866150+0100=100+129.9=229.9vb3=0200+0150+1100=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=CniCbiT

首先计算 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.360.80.480.480.600.640.800.6 0.8660.500.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.360.866+0.480.5+(0.8)00.80.866+0.600.5+000.480.866+0.640.5+0.600.36(0.5)+0.480.866+(0.8)00.8(0.5)+0.600.866+000.48(0.5)+0.640.866+0.600.360+0.480+(0.8)10.80+0.600+010.480+0.640+0.61
结果:

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.360.866+0.480.50.80.866+0.600.50.480.866+0.640.50.36(0.5)+0.480.8660.80.5+0.600.8660.480.5+0.640.8660.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.240.6928+0.30.41568+0.320.18+0.415680.4+0.51960.24+0.554240.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.551760.39280.735680.235680.91960.314240.800.6

然后用这个矩阵去转换速度:

v n = C n b ⋅ v b \mathbf{v}_n = C_{nb} \cdot \mathbf{v}_b vn=Cnbvb

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.551760.39280.735680.235680.91960.314240.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.5517698.2+0.23568229.90.8100=54.166+54.18780=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.392898.2+0.9196229.9+0100=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.7356898.2+0.31424229.9+0.6

🌈 ok,完结~ 有问题请批评指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~光~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值