第二章:坐标系与运动学——导弹飞行的“数学地图”
各位同学,今天我们来聊聊导弹控制里最基础、也最绕不开的一块内容——坐标系与运动学。
说实话,我刚入行那会儿,觉得坐标系这东西不就是画个箭头嘛,有啥好学的?直到我第一次参与半实物仿真,导弹在仿真机里飞得乱七八糟,我盯着数据愣是看不出问题在哪。后来老工程师一句话点醒我:“你坐标系都搞混了,导弹能不晕吗?”
嗯,从那以后,我再也不敢小看坐标系了。
2.1 常用坐标系:给导弹一个“定位基准”
导弹在空中飞,你得知道它“在哪”、“朝哪飞”、“姿态怎么样”。这三个问题,分别对应三个不同的坐标系。
2.1.1 地面坐标系(惯性系)
说白了,就是站在地面上看导弹。原点通常选在发射点,X轴指向目标方向(或正北),Y轴垂直向上,Z轴按右手定则确定。
这个坐标系用来描述导弹的位置和速度。比如“导弹在发射点东边5公里,高度3公里”,说的就是地面坐标系下的坐标。
关键点:地面坐标系近似为惯性系。也就是说,我们忽略地球自转的影响。对于大多数战术导弹,这个近似足够用了。但你要是搞洲际弹道导弹,那地球自转的科里奥利力可不能忽略——我当年有个同事就因为这个吃过亏。
2.1.2 弹体坐标系(体轴系)
这个坐标系是“长在导弹身上的”。原点在导弹质心,Xb轴沿弹体纵轴指向头部,Yb轴在弹体对称平面内垂直于Xb轴向上,Zb轴按右手定则指向右侧。
为什么要搞这么个坐标系?因为导弹上的传感器(比如陀螺仪、加速度计)测量的都是相对于弹体的物理量。你想啊,陀螺仪装在导弹肚子里,它测到的角速度当然是“导弹自己感觉自己在转”,而不是地面看它在转。
我的习惯:在写代码时,我会在变量名里明确标注坐标系。比如 omega_body 表示弹体系下的角速度,omega_inertial 表示惯性系下的角速度。这样一眼就能看出来,不容易搞混。
2.1.3 速度坐标系(航迹系)
这个坐标系跟导弹的速度矢量绑在一起。原点在质心,Xv轴沿速度方向,Yv轴在包含速度矢量的铅垂平面内垂直于Xv轴向上,Zv轴按右手定则确定。
你可能会问:有了弹体坐标系,为什么还要速度坐标系?
原因很简单:空气动力(升力、阻力)的大小和方向,取决于导弹相对于气流的姿态,也就是“速度坐标系”和“弹体坐标系”之间的关系。说白了,攻角和侧滑角就是这两个坐标系之间的夹角。
| 坐标系 | 原点 | X轴 | Y轴 | Z轴 | 主要用途 |
|---|---|---|---|---|---|
| 地面系 | 发射点 | 指向目标/正北 | 垂直向上 | 右手定则 | 位置、速度 |
| 弹体系 | 质心 | 弹体纵轴 | 对称面内向上 | 右手定则 | 姿态、角速度 |
| 速度系 | 质心 | 速度方向 | 铅垂面内向上 | 右手定则 | 气动力、攻角 |
2.2 坐标变换:在坐标系之间“翻译”
有了三个坐标系,问题来了:怎么把一个坐标系下的量,换算到另一个坐标系下?
答案就是——旋转矩阵。
举个例子。你要把弹体系下的加速度计读数,换算到地面系下,才能知道导弹的绝对运动。这个过程,本质上就是做三次旋转:偏航、俯仰、滚转。
旋转矩阵的数学形式是这样的(以3-2-1转序为例):
C_b2i = Rz(ψ) * Ry(θ) * Rx(φ)
其中:
ψ — 偏航角
θ — 俯仰角
φ — 滚转角
Rz(ψ) = [cosψ -sinψ 0; sinψ cosψ 0; 0 0 1]
Ry(θ) = [cosθ 0 sinθ; 0 1 0; -sinθ 0 cosθ]
Rx(φ) = [1 0 0; 0 cosφ -sinφ; 0 sinφ cosφ]
注意:旋转顺序很重要!不同的转序会得到不同的结果。我曾经在仿真代码里把转序搞反了,结果导弹的滚转和偏航耦合在一起,飞出了一个诡异的螺旋轨迹。查了两天才找到问题——嗯,从那以后我每次写坐标变换都要在注释里写明转序。
实际工程中,我们通常用四元数来代替欧拉角做旋转。为什么?因为欧拉角有“万向锁”问题——当俯仰角接近±90度时,偏航和滚转就分不清了。四元数没有这个问题,而且计算效率更高。
2.3 导弹运动学方程:描述导弹怎么“动”
有了坐标系和坐标变换,我们就可以写出导弹的运动学方程了。说白了,就是描述导弹位置、速度、姿态随时间变化的微分方程。
运动学方程分为两部分:
2.3.1 质心运动方程
描述导弹质心的位置和速度变化。在地面系下写:
dx/dt = Vx
dy/dt = Vy
dz/dt = Vz
dVx/dt = (Fx + Ax) / m
dVy/dt = (Fy + Ay) / m
dVz/dt = (Fz + Az) / m
其中:
(x, y, z) — 位置坐标
(Vx, Vy, Vz) — 速度分量
(Fx, Fy, Fz) — 推力分量
(Ax, Ay, Az) — 气动力分量
m — 导弹质量(随时间变化,因为燃料在消耗)
2.3.2 绕质心运动方程
描述导弹的姿态变化。在弹体系下写:
dφ/dt = p + (q sinφ + r cosφ) tanθ
dθ/dt = q cosφ - r sinφ
dψ/dt = (q sinφ + r cosφ) / cosθ
其中:
(p, q, r) — 弹体系下的角速度分量
(φ, θ, ψ) — 欧拉角(滚转、俯仰、偏航)
避坑指南:注意看第三个方程,分母是cosθ。当俯仰角θ接近±90度时,cosθ趋近于0,dψ/dt会变得非常大——这就是万向锁的数学表现。所以实际工程中,我建议用四元数代替欧拉角来积分姿态。
2.4 知识体系总览
下面这张图,是我自己总结的坐标系与运动学知识结构。你可以把它当作一张“地图”,随时回来看看自己学到哪了。
这张图把本章的核心逻辑串起来了:三个坐标系是基础,坐标变换是桥梁,运动学方程是最终的应用。你想想看,没有坐标系,你连导弹在哪都说不清楚,还谈什么控制?
我的建议:初学者可以先从地面系和弹体系的变换入手,把旋转矩阵的乘法练熟。等你闭着眼睛都能写出从弹体系到地面系的变换矩阵,再去看速度坐标系和攻角侧滑角,就会觉得顺理成章了。
好了,这一章的内容就到这里。坐标系和运动学是导弹控制的“地基”,地基打不牢,后面盖什么楼都得塌。下一章我们会聊导弹的动力学——也就是力和力矩怎么让导弹动起来。到时候你会发现,坐标系的知识会反复用到。
公众号:蓝海资料掘金营,微信deep3321