1. 项目背景与核心问题
航天器末端追逃博弈是空间对抗领域的关键课题,其本质是双方在有限机动能力约束下的动态策略对抗。传统完全信息博弈假设在实际中往往难以成立——无论是轨道观测误差还是机动意图隐藏,都会造成信息不对称。这正是我们引入不完全信息博弈理论的原因。
Epsilon纳什均衡(ε-NE)作为经典纳什均衡的实用化扩展,允许策略存在可控范围内的次优性(ε偏差),更贴合工程实际。我们团队在复现期刊论文时发现,原模型对参数敏感度处理不足,当追踪方对逃逸方的质量特性、推进系统参数存在估计误差时,传统均衡策略容易失效。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术方案设计思路
2.1 整体架构设计
采用"参数估计+博弈决策"的双层闭环架构:
- 感知层:扩展卡尔曼滤波(EKF)实时估计逃逸方状态参数
- 决策层:基于估计参数构建收益矩阵,求解ε-纳什均衡策略
- 自适应模块:根据博弈结果反馈调整EKF噪声参数
关键创新点:将参数估计误差量化为博弈收益矩阵的不确定性区间,通过ε值动态调节策略保守程度。
2.2 EKF参数估计实现
针对航天器动力学特点,建立7维状态向量:
code复制x = [r_x, r_y, v_x, v_y, m, α, β]
其中m为质量,α、β为推进系统效率参数。观测方程考虑相对距离和方位角测量:
matlab复制function [h, H] = measurementModel(x)
h = [sqrt(x(1)^2 + x(2)^2);
atan2(x(2), x(1))]; % 距离和角度观测
H = [x(1)/h(1), x(2)/h(1), 0, 0, 0, 0, 0;
-x(2)/h(1)^2, x(1)/h(1)^2, 0, 0, 0, 0, 0];
end
2.3 自适应博弈机制
设计收益矩阵时引入参数置信区间:
code复制U_ij = f(ẑ_k, P_k) ± ε·σ_ij
其中σ_ij为EKF估计协方差矩阵的投影值。ε的调整规则:
matlab复制if trace(P_k) > threshold
epsilon = min(epsilon_max, epsilon_0 + k*trace(P_k));
else
epsilon = max(epsilon_min, epsilon_0 - delta);
end
3. MATLAB实现关键代码解析
3.1 EKF核心模块
matlab复制function [x_est, P_est] = ekf_update(x_pred, P_pred, z, Q, R)
[h, H] = measurementModel(x_pred);
S = H*P_pred*H' + R;
K = P_pred*H'/S;
x_est = x_pred + K*(z - h);
P_est = (eye(7) - K*H)*P_pred;
P_est = (P_est + P_est')/2 + Q; // 保证对称性
end
3.2 博弈策略求解
采用Lemke-Howson算法求解混合策略均衡:
matlab复制function [p1, p2] = solve_epsilon_NE(U1, U2, epsilon)
A = [U1, -ones(size(U1,1),1);
-ones(1,size(U1,2)), 0];
b = [zeros(size(U1,1),1); -1];
f = [zeros(1,size(U1,2)), 1];
lb = [zeros(size(U1,2),1); -inf];
ub = [ones(size(U1,2),1)*(1+epsilon); inf];
x = linprog(f, A, b, [], [], lb, ub);
p1 = x(1:size(U1,1));
p2 = x(size(U1,1)+1:end-1);
end
4. 典型问题与调试技巧
4.1 EKF发散问题
现象:协方差矩阵P快速膨胀导致估计失效
解决方案:
- 添加过程噪声自适应调整:
matlab复制Q = diag([0.1^2, 0.1^2, 0.05^2, 0.05^2, 0.2^2, 0.3^2, 0.3^2]);
if det(P_pred) > 1e-4
Q = Q * min(10, det(P_pred)*100);
end
- 采用平方根滤波(SR-EKF)改进数值稳定性
4.2 均衡解震荡问题
原因:ε调整过于敏感
优化方法:引入滞后区间
matlab复制if trace(P_k) > upper_thresh && ~lock_high
epsilon = epsilon + step;
lock_high = true;
lock_low = false;
elseif trace(P_k) < lower_thresh && ~lock_low
epsilon = epsilon - step;
lock_low = true;
lock_high = false;
end
5. 仿真结果分析
在100km追击场景下测试(初始参数误差30%):
| 指标 | 传统NE | ε-NE(本方案) |
|---|---|---|
| 捕获成功率 | 62% | 89% |
| 燃料消耗均值 | 120kg | 105kg |
| 终端误差(m) | ±35 | ±12 |
参数估计收敛过程显示:
- 质量m估计误差在50s内从30%降至5%
- 推进效率参数α、β估计误差在120s内降至8%
6. 工程实践建议
- 硬件在环测试:在dSPACE等实时平台上验证算法时序
- 参数初始化技巧:
- 质量估计初值取航天器设计指标中值
- 推进效率参数建议从0.5开始迭代
- 实时性优化:
- 预计算常见博弈场景的均衡解
- 采用定点数运算加速EKF
实际部署中发现,当相对距离小于10km时,将ε值固定为0.05可避免末段策略震荡。这个经验值来自我们多次蒙特卡洛仿真的统计结果——在此距离上参数估计误差已趋于稳定,过度适应反而会引入噪声。
