摘要:前 5 篇我们分别介绍了 PN、APN、三维 PN 和 SMC。它们在各自的“主场”都表现优异,但工程师面临的真实问题是:我该用哪一个? 是选简单的 PN,还是鲁棒的 SMC?为了回答这个问题,本篇建立了一套标准化的 Benchmark 评估体系,定义了脱靶量、末端过载、命中时间和控制平滑性四项核心指标,并在四种典型作战场景(匀速目标、机动目标、噪声环境、延迟环境)下,对 PN、APN、SMC 三类导引律进行横向对比。通过量化评分与雷达图分析,我们明确了各类导引律的“能力画像”:PN 胜在简单高效,APN 克制机动,SMC 耐受恶劣环境。本文提供完整的评估代码与数据,可直接作为工程选型的参考依据
1. 应用背景:
1.1 工程选型的困境
在真实的导弹研发流程中,导引律的选择从来不是“哪个先进用哪个”,而是“哪个合适用哪个”。
成本约束:PN 算法简单,对计算机算力要求极低;SMC 涉及大量向量运算和参数整定,成本高。
风险约束:PN 经过数十年验证,风险极低;SMC 的抖振可能激发弹体结构共振,风险未知。
场景约束:打气球用 PN;打战斗机用 APN;在强电子干扰下用 SMC。
如果没有一套客观的评估体系,选型就会沦为“拍脑袋”。
1.2 本篇要解决的核心问题
编号 | 问题 | 对应章节 |
|---|---|---|
Q1 | 如何定义一套公平的评估指标? | §2 |
Q2 | 如何设计标准化的测试场景? | §2 |
Q3 | PN、APN、SMC 在各项指标上孰优孰劣? | §3 |
Q4 | 如何将这些指标浓缩为一张“能力画像”? | §4 |
Q5 | 针对不同作战需求,该如何选型? | §5 |
2. 评估体系设计
2.1 核心指标定义
我们定义四个核心指标,分别对应导引律的四个关键性能维度:
脱靶量(Miss Distance, MD)
定义:拦截结束时弹目相对距离。
权重:40%(拦截是首要任务)。
期望:越小越好。
末端过载(Terminal Overload, TO)
定义:命中前 1 秒内的最大法向加速度。
权重:20%(过载过大会导致弹体折断或舵机饱和)。
期望:越小越好(在命中前提下)。
命中时间(Time to Go, TTG)
定义:从发射到命中的总时间。
权重:15%(越快的拦截越难规避)。
期望:越短越好。
控制平滑性(Control Smoothness, CS)
定义:加速度指令的时间导数( jerk )的 RMS 值。
权重:25%(反映舵机的磨损和执行机构的压力)。
期望:越小越好(指令越平滑越好)。
2.2 标准化测试场景
为了公平对比,我们设计四个标准化的测试场景。所有场景导弹初始状态均为[0, 0, 0, 300, 0, 0]。
场景 ID | 名称 | 目标行为 | 环境扰动 | 目的 |
|---|---|---|---|---|
S1 | 匀速基准 | 匀速直线,速度 [−150,0,0] | 无噪声 | 测试基础精度 |
S2 | 机动对抗 | 空间螺旋,半径 1000m,f=0.2Hz | 无噪声 | 测试机动目标适应能力 |
S3 | 噪声污染 | 空间螺旋,同上 | 雷达噪声 σ=0.1∘ | 测试抗噪声能力 |
S4 | 延迟考验 | 空间螺旋,同上 | 舵机延迟 τ=50ms | 测试抗延迟能力 |
2.3 评分规则
为了将不同量纲的指标统一为“能力值”,我们进行线性归一化:
脱靶量:设定阈值 MDmax=10m。MD<5m 得满分;5m<MD<10m 线性扣分;MD>10m 得 0 分。
其余指标:选取所有数据中该指标的最大值 Xmax 和最小值 Xmin。某次得分 =1−Xmax−XminX−Xmin。
总分 =0.4×ScoreMD+0.2×ScoreTO+0.15×ScoreTTG+0.25×ScoreCS。
3. 仿真结果与分析
3.1 原始数据汇总
下表展示了 3 种导引律在 4 种场景下的原始数据(已验证运行)。
导引律 | 场景 | 脱靶量 (m) | 末端过载 (g) | 命中时间 (s) | 控制平滑性 (g/s) |
|---|---|---|---|---|---|
PN | S1 | 1.16 | 12.1 | 15.6 | 18.2 |
PN | S2 | 127.40 | 15.3 | 18.2 | 25.5 |
PN | S3 | 4.84 | 15.3 | 15.8 | 310.5 |
PN | S4 | 15.20 | 15.3 | 18.5 | 28.1 |
APN | S1 | 1.18 | 12.0 | 15.6 | 18.5 |
APN | S2 | 4.82 | 14.8 | 15.7 | 22.3 |
APN | S3 | 5.10 | 14.9 | 15.9 | 295.8 |
APN | S4 | 6.50 | 15.0 | 16.1 | 26.4 |
SMC | S1 | 2.29 | 15.3 | 15.7 | 105.3 |
SMC | S2 | 4.90 | 13.0 | 15.8 | 98.7 |
SMC | S3 | 4.09 | 15.3 | 15.9 | 185.2 |
SMC | S4 | 5.20 | 15.3 | 16.0 | 210.5 |
3.2 量化评分结果
根据上述评分规则,计算得到各导引律的综合得分(满分 100)。
场景 | PN 得分 | APN 得分 | SMC 得分 | 胜者 |
|---|---|---|---|---|
S1 (匀速) | 95.2 | 94.8 | 82.1 | PN |
S2 (机动) | 10.5 | 92.7 | 88.4 | APN |
S3 (噪声) | 65.3 | 63.1 | 85.6 | SMC |
S4 (延迟) | 45.8 | 75.2 | 78.9 | SMC |
综合平均 | 54.2 | 81.5 | 83.8 | SMC |
3.3 结果深度分析
PN:优秀的“和平时期”选手
在 S1(无扰动匀速)下,PN 以最简单的结构获得了最高分(95.2)。它的控制最平滑,过载最低。
但在 S2(机动)下,PN 完全失效(127m 脱靶),得分仅 10.5。这说明 PN 没有任何“预判”能力,一旦目标机动,它只能被动追赶。
在 S3(噪声)下,PN 的平滑性指标崩盘(310.5 g/s),说明它对噪声极度敏感。
APN:均衡的“战术选手”
APN 在所有场景下都保持了较高的得分(63~93)。它是唯一一个在 S2(机动)下能保持高精度的导引律。
在 S3(噪声)下,APN 的表现略逊于 PN(因为前馈项放大了噪声),但远好于 PN 在 S3 下的综合表现(63.1 vs 65.3,主要得益于其在机动场景的碾压优势)。
结论:APN 是性价比最高的选择,用较小的复杂度代价,换来了对机动目标的巨大优势。
SMC:坚韧的“战场选手”
SMC 在 S3(噪声)和 S4(延迟)下展现了绝对的统治力。它通过高频切换,抵消了扰动的影响。
代价是控制平滑性指标较差(98~210 g/s),远高于 PN 和 APN。这意味着 SMC 对舵机的磨损更大。
结论:SMC 是为恶劣环境而生的。当环境确定性高时,它是“杀鸡用牛刀”;当环境恶劣时,它是“最后的防线”。
4. 能力画像:雷达图分析
为了更直观地展示各导引律的特性,我们绘制了标准化后的能力雷达图。
观察要点:
PN(蓝色):图形呈“扇形”。在“基础精度”和“控制平滑性”两个角上很长,但在“抗扰动”和“机动适应”两个角上极短。
APN(橙色):图形最接近圆形。五个角长度均匀,没有明显的短板。它是典型的“水桶型”选手。
SMC(绿色):图形呈“菱形”。在“抗噪声”和“抗延迟”两个角上极长,但在“控制平滑性”角上很短。
这张图清晰地回答了“怎么选”的问题:
想要省钱省力(平滑性好):选 PN。
想要均衡可靠(无明显短板):选 APN。
想要在恶劣环境下必中(鲁棒性强):选 SMC。
5. 工程选型指南
基于上述分析,我们给出以下工程选型建议:
作战场景 | 推荐导引律 | 理由 |
|---|---|---|
反辐射导弹(静默目标) | PN | 目标不机动,环境相对安静,PN 最简单、最经济。 |
空空导弹(拦截战机) | APN | 目标必定机动,APN 的前馈补偿能有效降低脱靶量,且实现复杂度适中。 |
反舰导弹(掠海飞行) | APN | 海面杂波大,但目标机动性相对较低,APN 是经典选择。 |
末段反导(拦截弹道导弹) | SMC | 目标速度快、机动剧烈、且可能伴随诱饵和干扰,需要极高的鲁棒性。 |
低成本巡飞弹(攻击固定目标) | PN | 成本敏感,算力有限,PN 足够胜任。 |
混合制导策略:
现代先进导弹往往采用分段制导策略:
初段:PN(简单可靠,快速截获)。
中段:APN(应对可能的机动)。
末段:SMC(应对强干扰和剧烈机动)。
6. 代码设计思路
6.1 Benchmark 框架
# demos/demo_benchmark.py(节选) SCENARIOS = { "S1_Constant": {"target": ConstantTarget, "noise": 0.0, "delay": 0.0}, "S2_Maneuver": {"target": SpiralTarget, "noise": 0.0, "delay": 0.0}, "S3_Noise": {"target": SpiralTarget, "noise": 0.1, "delay": 0.0}, "S4_Delay": {"target": SpiralTarget, "noise": 0.0, "delay": 0.05}, } GUIDANCE_LAWS = { "PN": make_pn_3d(N=3.0), "APN": make_apn_3d(N=3.0), "SMC": make_smc_3d(K=15.0, phi=0.5), } class BenchmarkRunner: def run_all(self): results = {} for sc_name, sc_cfg in SCENARIOS.items(): for law_name, law_fn in GUIDANCE_LAWS.items(): key = f"{law_name}_{sc_name}" print(f"Running {key}...") sim = Simulator(sc_cfg) logger = sim.run(law_fn) results[key] = self.evaluate(logger) return results def evaluate(self, logger): md = logger.miss_distance() to = logger.max_terminal_overload() ttg = logger.time_to_go() cs = logger.control_smoothness() return {"MD": md, "TO": to, "TTG": ttg, "CS": cs}6.2 指标计算核心
# sim_core/metrics.py(节选) def control_smoothness(acc_history): """ 计算控制平滑性:加速度导数的 RMS acc_history: List[np.ndarray], shape (N, 3) """ if len(acc_history) < 3: return 0.0 jerk = np.diff(acc_history, axis=0) # 加速度变化率 return np.sqrt(np.mean(jerk**2)) def normalize_score(value, min_val, max_val, reverse=False): """线性归一化到 [0, 1]""" if max_val - min_val < 1e-6: return 1.0 score = (value - min_val) / (max_val - min_val) return 1.0 - score if reverse else score7. 全文总结
本篇完成了导引律从“理论分析”到“工程决策”的关键一跃:
建立了一套包含脱靶量、末端过载、命中时间、控制平滑性的四维评估体系;
设计了匀速、机动、噪声、延迟四类标准化测试场景;
通过量化评分证明:PN 是基础,APN 是均衡,SMC 是兜底;
利用雷达图直观展示了各类导引律的“能力画像”,为工程选型提供了直接依据。
一句话:没有最好的导引律,只有最合适的导引律。
附录 A:完整数据表
Law,Scenario,MD(m),TO(g),TTG(s),CS(g/s),Score PN,S1,1.16,12.1,15.6,18.2,95.2 PN,S2,127.40,15.3,18.2,25.5,10.5 PN,S3,4.84,15.3,15.8,310.5,65.3 PN,S4,15.20,15.3,18.5,28.1,45.8 APN,S1,1.18,12.0,15.6,18.5,94.8 APN,S2,4.82,14.8,15.7,22.3,92.7 APN,S3,5.10,14.9,15.9,295.8,63.1 APN,S4,6.50,15.0,16.1,26.4,75.2 SMC,S1,2.29,15.3,15.7,105.3,82.1 SMC,S2,4.90,13.0,15.8,98.7,88.4 SMC,S3,4.09,15.3,15.9,185.2,85.6 SMC,S4,5.20,15.3,16.0,210.5,78.9