2. 运动学基础:坐标系定义与相对运动方程
各位同学,大家好。今天我们进入一个非常基础、但又极其重要的环节——坐标系。说实话,我见过不少项目,最后炸掉的原因不是算法不行,而是坐标系搞混了。我自己就吃过这个亏,所以今天咱们把这几个坐标系彻底捋清楚。
2.1 三大坐标系:惯性系、弹体系、视线系
做制导控制,你脑子里得同时装着三个坐标系。它们各有各的用处,缺一不可。
2.1.1 惯性坐标系(地面坐标系)
惯性系,说白了就是“绝对不动”的参考系。我们通常取发射点为原点,OIXIYIZI。X轴指向目标方向(或正北),Y轴垂直向上,Z轴按右手定则确定。
为什么要用惯性系?因为牛顿定律只在这个系里成立。你算加速度、算速度,都得回到惯性系。我记得有一次调试半实物仿真,发现导弹的加速度积分出来是错的,查了半天——原来是传感器数据混了弹体系的值,没转到惯性系。
2.1.2 弹体坐标系(体坐标系)
弹体系是固定在导弹上的。原点在导弹质心,OBXB沿弹体纵轴向前,OBYB在纵向对称面内垂直向上,OBZB指向右翼。
这个系有什么用?你想想看,导弹上的陀螺仪、加速度计,测出来的都是弹体系下的数据。你要控制舵面偏转,也得在弹体系里描述。所以弹体系是“传感器和执行机构”的语言。
2.1.3 视线坐标系(LOS系)
视线系是制导的核心。原点在导弹质心,OLXL始终指向目标(即视线方向),OLYL在包含视线的铅垂面内垂直于视线向上,OLZL按右手定则确定。
比例导引法,说白了就是控制导弹的角速度,让它与视线角速度成比例。所以视线系是“制导律的语言”。
核心记忆点:
- 惯性系:牛顿定律的舞台
- 弹体系:传感器和执行器的语言
- 视线系:制导律的语言
2.2 坐标变换矩阵
有了三个坐标系,接下来就是怎么在它们之间来回切换。这就是坐标变换矩阵的活儿。
2.2.1 惯性系 → 弹体系
这个变换通常用三个欧拉角来描述:偏航角 ψ、俯仰角 θ、滚转角 φ。变换顺序是:先偏航,再俯仰,最后滚转。
变换矩阵长这样:
C_I^B =
[ cosθ cosψ, cosθ sinψ, -sinθ ]
[ sinφ sinθ cosψ - cosφ sinψ, sinφ sinθ sinψ + cosφ cosψ, sinφ cosθ ]
[ cosφ sinθ cosψ + sinφ sinψ, cosφ sinθ sinψ - sinφ cosψ, cosφ cosθ ]
嗯,这个矩阵看着挺吓人,但你不用背。实际编程时,我建议直接用四元数或者方向余弦矩阵来算,避免欧拉角的万向锁问题。我曾经在某个项目中,因为欧拉角在俯仰90度时奇异,导致仿真直接崩了——从那以后,我但凡涉及大角度机动,一律用四元数。
2.2.2 惯性系 → 视线系
这个变换简单一些。只需要两个角度:视线高低角 λD 和视线方位角 λT。
C_I^L =
[ cosλ_D cosλ_T, cosλ_D sinλ_T, sinλ_D ]
[ -sinλ_T, cosλ_T, 0 ]
[ -sinλ_D cosλ_T, -sinλ_D sinλ_T, cosλ_D ]
注意,视线系到弹体系的变换,通常是通过导引头直接测量的。导引头输出的就是视线角速度在弹体系下的分量。所以实际工程中,我们往往不需要显式地写出这个变换矩阵,而是直接用导引头的测量值。
2.3 导弹与目标的相对运动方程
好了,坐标系和变换矩阵都有了,接下来就是描述导弹和目标的相对运动。这是制导律设计的基础方程。
2.3.1 相对位置与相对速度
定义相对位置矢量 R = RT - RM,其中 RT 是目标位置,RM 是导弹位置。
相对速度矢量 Vrel = VT - VM。
在惯性系下,这两个矢量的时间导数很简单:
dR/dt = Vrel
dVrel/dt = aT - aM
其中 aT 和 aM 分别是目标和导弹的加速度矢量。
2.3.2 视线系下的相对运动
但制导律设计时,我们更关心视线系下的运动。把相对位置矢量 R 投影到视线系下,得到:
R = [R, 0, 0]^T
其中 R 是相对距离(标量)。
对时间求导,可以得到视线角速度与相对运动的关系:
dR/dt = -V_c (接近速度,负号表示距离减小)
dλ_D/dt = (V_θ) / R
dλ_T/dt = (V_ψ) / (R cosλ_D)
这里 V_θ 和 V_ψ 是相对速度在视线系下的横向分量。
我的经验: 在实际工程中,R 和 dR/dt 通常由雷达或激光测距仪提供,而 dλ/dt 由导引头直接测量。你不需要去算那些复杂的微分方程,只需要把测量值用好就行。但理解背后的物理含义,能帮你判断测量值是否合理。
2.3.3 比例导引的核心方程
比例导引法说:导弹的角速度指令,正比于视线角速度。
ω_M = N · dλ/dt
其中 N 是导航比,通常取 3~5。dλ/dt 是视线角速度矢量。
这个方程看着简单,但你要注意:ω_M 是弹体系下的角速度指令,而 dλ/dt 是视线系下的角速度。所以这里隐含了一个坐标变换——你得把视线角速度转到弹体系下,才能给自动驾驶仪用。
避坑指南: 我曾经在某个项目中,直接用了导引头输出的视线角速度作为指令,没做坐标变换。结果导弹在末端剧烈振荡,差点脱靶。后来才发现,导引头输出的是视线系下的角速度,而飞控需要的是弹体系下的角速度。差一个变换,结果天差地别。
2.4 本章知识体系总览
下面这张图,是我自己总结的本章知识结构。你把它印在脑子里,后面学比例导引和预测制导融合时,就不会迷路。
这张图把本章的核心逻辑串起来了:三个坐标系是基础,坐标变换矩阵是桥梁,相对运动方程是工具,最终服务于比例导引律。你把这个框架记住,后面学预测制导融合时,就知道每个量是从哪来的、要往哪去。
本章小结:
- 惯性系、弹体系、视线系——三个坐标系,三种语言
- 坐标变换矩阵——在语言之间翻译
- 相对运动方程——描述导弹和目标的“相对关系”
- 比例导引核心方程——ω_M = N · dλ/dt,但别忘了坐标变换
公众号:蓝海资料掘金营,微信deep3321