第1章 惯性导航基础:惯性导航原理、常用坐标系、地球自转与重力模型
各位同学,咱们今天正式开课。说实话,每次讲惯性导航基础,我都觉得这是整个课程里最“枯燥”但也最要命的一章。为什么?因为后面所有算法、所有代码,全得靠这几个坐标系和模型撑起来。你坐标系选错了,弹飞出去偏个几公里,那可不是闹着玩的。
我当年刚入行时,带我的老工程师跟我说过一句话,我一直记到现在:“惯导系统,说白了就是猜你在哪。猜得准不准,全看你的模型对不对。”嗯,今天咱们就把这个“猜”的基础打牢。
1.1 惯性导航原理:我们到底在干什么?
惯性导航的原理,其实就三个字:积、积、积。
你想想看,我们手里有什么?加速度计测比力,陀螺仪测角速度。有了角速度,我们能算出姿态;有了姿态,我们能把加速度从载体坐标系转到导航坐标系;然后对加速度积分一次得速度,再积分一次得位置。
就这么简单?对,原理上就这么简单。但实际做起来,坑多得很。
核心公式(你最好背下来):
位置更新: r^n(t2) = r^n(t1) + ∫ v^n(t) dt
速度更新: v^n(t2) = v^n(t1) + ∫ [C_b^n * f^b - (2ω_ie^n + ω_en^n) × v^n + g^n] dt
姿态更新: C_b^n(t2) = C_b^n(t1) * exp(∫ Ω_nb^b dt)
我在项目中遇到过一件事:有个同事觉得姿态更新里的指数矩阵太麻烦,直接用一阶近似。结果弹道仿真跑了十分钟,姿态误差直接发散。嗯,这里要注意——高动态场景下,一阶近似是扛不住的。
1.2 常用坐标系:你得知道你在哪个“世界”里说话
做惯导,坐标系就是你的“世界观”。坐标系搞混了,后面全白搭。我个人习惯把常用坐标系分成三组来记:
1.2.1 惯性坐标系(i系)
这是“绝对”的坐标系。原点在地心,z轴指向北极,x轴指向春分点。说白了,它不跟着地球转。为什么需要它?因为牛顿定律只在惯性系里成立。你加速度计测出来的比力,最终要回到惯性系去积分。
1.2.2 地球坐标系(e系)
这个坐标系跟着地球一起转。原点还是地心,z轴还是指向北极,但x轴指向本初子午线与赤道的交点。我建议你把它理解成“固定在地球上的坐标系”。
1.2.3 导航坐标系(n系)
这才是我们最常用的。原点在载体当前位置,通常取“东北天”或“北东地”。我个人偏爱“东北天”,因为重力方向是正的,算起来顺手。
1.2.4 载体坐标系(b系)
这个坐标系固定在弹体上。原点在弹体质心,x轴指向弹头方向,y轴指向右侧,z轴向下。陀螺和加速度计的输出,都是在这个坐标系下的。
我的小技巧: 每次写代码前,先在注释里把当前用到的坐标系写清楚。比如 // 当前变量 v_n 表示导航系下的速度。这习惯救过我很多次。
1.3 地球自转与重力模型:别小看这两个“常数”
地球自转和重力,看起来是“已知量”,但处理不好,照样出问题。
1.3.1 地球自转
地球自转角速度 ω_ie ≈ 7.292115 × 10⁻⁵ rad/s。这个值很小,但你不能忽略它。为什么?
你想想看,如果你的弹飞行10分钟,地球自转造成的角度偏移大约是:
Δθ = ω_ie * t = 7.29e-5 * 600 ≈ 0.044 rad ≈ 2.5°
2.5度!对于远程弹药来说,这误差足以让你打偏好几公里。
我曾经见过一个案例:某型弹药的惯导程序里,把地球自转项给注释掉了,理由是“影响太小”。结果试射时落点偏差大得离谱。嗯,从那以后,我再也不敢轻视这个“小量”了。
1.3.2 重力模型
重力不是常数。它随纬度和高度变化。常用的模型有:
| 模型名称 | 公式 | 精度 | 适用场景 |
|---|---|---|---|
| 常数模型 | g = 9.81 m/s² | 低 | 短时间、低精度 |
| WGS84模型 | g(φ, h) = 9.780327 * (1 + 0.0053024*sin²φ - 0.0000058*sin²2φ) - 0.000003086*h | 中 | 大多数弹载场景 |
| EGM2008 | 球谐展开至2159阶 | 高 | 高精度、长航时 |
警告: 弹载惯导中,重力模型的选择直接影响导航精度。对于射程超过100km的弹药,必须使用WGS84或更高精度的模型。常数模型只适合实验室验证,千万别用在实弹上。
1.4 本章小结
好了,这一章的内容就这些。总结一下:
- 惯导原理:就是积分积分再积分,但每一步都有坑
- 坐标系:i系、e系、n系、b系,搞混了你就等着炸
- 地球自转:小量不小,10分钟就能偏2.5度
- 重力模型:别用常数,至少上WGS84
下一章咱们开始讲姿态更新算法——四元数、方向余弦矩阵、等效旋转矢量,这些才是真正让你头疼的东西。做好准备。
课后练习: 写一个简单的Python脚本,计算在纬度30°、高度1000m处的重力值(使用WGS84模型),并与常数模型对比,看看误差有多大。
公众号:蓝海资料掘金营,微信deep3321