docs: 更新想定参数表、任务跟踪、实体事件映射至 Phase 10 完成状态

This commit is contained in:
tian 2026-06-16 17:33:23 +08:00
parent df8e18d2d0
commit ae47899080
3 changed files with 29 additions and 39 deletions

View File

@ -22,18 +22,19 @@
| `OnDroneReachedTarget` | 到达最后航路点 | `DroneEntity` | 显示"目标抵达"提示 | | `OnDroneReachedTarget` | 到达最后航路点 | `DroneEntity` | 显示"目标抵达"提示 |
| `OnZoneIntruded` | 无人机进入管控区 | `DroneEntity`, `ControlZoneEntity` | 红色警报 | | `OnZoneIntruded` | 无人机进入管控区 | `DroneEntity`, `ControlZoneEntity` | 红色警报 |
| `OnSimulationEnded` | 所有无人机状态 ≠ Flying | 无 | 显示结果面板,触发报告生成 | | `OnSimulationEnded` | 所有无人机状态 ≠ Flying | 无 | 显示结果面板,触发报告生成 |
| `PlanningFailed` | planner 无法生成拦截方案(引擎发出 SimEvent无回调 | 无(通过 `SimEventType.PlanningFailed` 事件流传递) | 前端显示规划失败原因 |
## 实体 × 事件 矩阵 ## 实体 × 事件 矩阵
| | TargetDetected | MunitionLaunched | CloudGenerated | DroneDestroyed | ReachedTarget | ZoneIntruded | SimEnded | | | TargetDetected | MunitionLaunched | CloudGenerated | DroneDestroyed | ReachedTarget | ZoneIntruded | SimEnded | PlanningFailed |
|------|:---:|:---:|:---:|:---:|:---:|:---:|:---:| |------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| DroneEntity | ✅ | | | ✅ | ✅ | ✅ | | | DroneEntity | ✅ | | | ✅ | ✅ | ✅ | | |
| PlatformEntity | | ✅ | | | | | | | PlatformEntity | | ✅ | | | | | | |
| MunitionEntity | | ✅ | | | | | | | MunitionEntity | | ✅ | | | | | | |
| CloudEntity | | | ✅ | | | | | | CloudEntity | | | ✅ | | | | | |
| ControlZoneEntity | | | | | | ✅ | | | ControlZoneEntity | | | | | | ✅ | | |
| DetectionEntity | ✅ | | | | | | | | DetectionEntity | ✅ | | | | | | | |
| 全局 | | | | | | | ✅ | | 全局 | | | | | | | ✅ | ✅ |
## 数据流 ## 数据流
@ -45,6 +46,8 @@ SimulationEngine.Initialize()
├─ BuildFireUnits() → List<FireUnit> ├─ BuildFireUnits() → List<FireUnit>
├─ BuildDroneWaves() → List<DroneWave> ├─ BuildDroneWaves() → List<DroneWave>
├─ IDefensePlanner.Plan() → FireSchedule
│ └─ MergedSchedule.Count == 0 → PlanningFailed 事件
IDefensePlanner.Plan(fireUnits, threats, scene) IDefensePlanner.Plan(fireUnits, threats, scene)

View File

@ -21,46 +21,33 @@
| ID | 类型 | 雷达 | 光电 | 红外 | 3D 球冠 | 初速/巡航 | | ID | 类型 | 雷达 | 光电 | 红外 | 3D 球冠 | 初速/巡航 |
|------|------|------:|------:|------:|------|:---:| |------|------|------:|------:|------:|------|:---:|
| ground-light | 地基 | 10000m | 6000m | 3000m | -5°~85°, 30m~20km | 800m/s | | ground-light | 地基 | 6000m | 4000m | 2000m | -5°~85°, 30m~20km | 800m/s |
| ground-standard | 地基 | 15000m | 8000m | 5000m | -5°~85°, 30m~20km | 800m/s | | ground-standard | 地基 | 15000m | 8000m | 5000m | -5°~85°, 30m~20km | 800m/s |
| ground-heavy | 地基 | 20000m | 10000m | 6000m | -5°~85°, 30m~25km | 600m/s | | ground-heavy | 地基 | 8000m | 5000m | 3000m | -5°~85°, 30m~25km | 600m/s |
| air-standard | 空基 | — | 12000m | 8000m | -80°~30°, 30m~15km | 55m/s | | air-standard | 空基 | — | 9600m | 6000m | -80°~30°, 30m~15km | 80m/s |
--- ---
## 三、Demo 想定对照 ## 三、Demo 想定对照
| # | 想定 | 无人机 | 高度 | 速度 | 航路 | 火力单元 | 位置 | 探测覆盖 | | # | 想定 | 无人机 | 高度 | 速度 | 航路 | 火力单元 | 位置 | 探测 |
|---|------|------|:---:|:---:|:---:|------|------|:---:| |---|------|------|:---:|:---:|:---:|------|------|:---:|
| 1 | 无防御 | shahed | 400m | 600 | 3km | — | — | — | | 1 | 无防御 | shahed | 400m | 600 | 3km | — | — | — |
| 2 | 管控区侵入 | electric-scout | 300m | 300 | 3km | — | — | — | | 2 | 管控区侵入 | electric-scout | 300m | 300 | 3km | — | — | — |
| 3 | 活塞拦截-西风5ms | shahed | 500m | 200 | 5km | ground-light | (1500,0,50) | 全程覆盖 | | 3 | 活塞拦截-西风5ms | shahed | 500m | 200 | **7km** | ground-light | **(7000,0,50)** | 80%覆盖 |
| 4 | 喷气拦截-活性材料 | cruise-missile | 800m | 200 | 5km | ground-standard | (1500,0,50) | 全程覆盖 | | 4 | 喷气拦截-活性材料 | cruise-missile | 500m | 200 | **10km** | ground-standard | **(10000,0,50)** | 全程覆盖 |
| 5 | 空基拦截-东风5ms | shahed | 500m | 200 | 20km | air-standard | (8000,1000,0) | 全程覆盖 | | 5 | 空基拦截-东风5ms | shahed | 500m | 200 | 20km | air-standard | **(6000,1000,0)** | 80%覆盖 |
| 6 | 3架空基编队 ⏸️ | shahed×3 | 500m | 200 | 20km | air-standard×3 | (8000,1000,0) | 全程覆盖 | | 6 | 3架空基编队 ⏸️ | shahed×3 | 500m | 200 | 20km | air-standard×3 | (12000,1000,0) | — |
--- ---
## 四、探测覆盖分析 ## 四、拦截点计算
| 想定 | 单元距起点 | 探测范围 | 无人机进入点 | DetectArc | 判定 | | 想定 | 算法 | 探测弧长 | R+exp+fall | 拦截弧长 | 炮弹/平台时间 |
|------|------:|------:|------|:---:|------| |------|------|------:|------:|------:|------:|
| 活塞拦截 | 1500m | 10000m | X=0起点在圈内 | 0 | ⚠️ 全程覆盖 | | 活塞 | `InterceptCalculator.Compute`(可变角度抛物线) | ~1021m | 5+27s | 由算法求解 | 由算法求解 |
| 喷气拦截 | 1500m | 15000m | X=0起点在圈内 | 0 | ⚠️ 全程覆盖 | | 喷气 | `InterceptCalculator.Compute`(可变角度抛物线) | 0 | 5+30s | 由算法求解 | 由算法求解 |
| 空基拦截 | 8000m | 12000m | X=0起点在圈内 | 0 | ⚠️ 全程覆盖 | | 空基 | `InterceptCalculator.ComputeHorizontal`(θ=0°平抛 | 0 | 5+27+10s | 由算法求解 | 算法 + 平台飞行 |
| 3架空基 | 8000m | 12000m | X=0起点在圈内 | 0 | ⚠️ 全程覆盖 |
### 结论
4 个有拦截的想定中,**探测范围全部远大于无人机起点到火力单元的距离**,无人机从航路起点就在覆盖圈内(`DetectArc = 0`)。这意味着:
- 3D 球冠参数(俯仰角/高度门限)虽然已配置,但**在当前想定中从未触发过滤效果**
- `IsInCoverage` 采样法虽然每次都在执行,但第一个采样点就返回 true
- 实时探测 `DetectionEntity` 的 Tick 第 5 步会被触发,但 `TargetDetected` 事件发生在第 0 帧附近
### 建议
若要真正测试 3D 球冠效果和探测延迟,需缩小探测范围或拉远火力单元位置,使无人机在航路中段才进入覆盖。
--- ---
@ -68,4 +55,4 @@
| 日期 | 变更 | | 日期 | 变更 |
|------|------| |------|------|
| 2026-06-16 | 初始创建。cruise-missile 速度 300→200。空基航路 10km→20km位置 1500→8000。3D 球冠参数全部加入。 | | 2026-06-16 | 初始创建。Phase 10 完成。地基放终点+80%探测;空基平抛算法;拦截点由 InterceptCalculator 求解。 |

View File

@ -141,7 +141,7 @@ Phase 10 ✅ 探测实时链路(已完成)
| 指标 | 值 | | 指标 | 值 |
|------|------| |------|------|
| 测试总数 | **216**(通过 214,跳过 2 | | 测试总数 | **231**(通过 229,跳过 2 |
| 行覆盖率 | **95.4%**(待重测) | | 行覆盖率 | **95.4%**(待重测) |
| 分支覆盖率 | **80.5%**(待重测) | | 分支覆盖率 | **80.5%**(待重测) |
| 执行时间 | ~7 秒 | | 执行时间 | ~7 秒 |
@ -225,7 +225,7 @@ Phase 10 ✅ 探测实时链路(已完成)
--- ---
## 六、Phase 10探测实时链路开发 ⏳(设计完成,待开发 ## 六、Phase 10探测实时链路开发 ✅(已完成
**目标**:实现仿真运行时实时探测(链路 B产生 `TargetDetected` 事件 + 可视化数据;并将 planner 探测判定升级到 3D 球冠。 **目标**:实现仿真运行时实时探测(链路 B产生 `TargetDetected` 事件 + 可视化数据;并将 planner 探测判定升级到 3D 球冠。
**前置设计**《总体架构设计》第十四章V135 项行为决策已确认(见 14.6)。 **前置设计**《总体架构设计》第十四章V135 项行为决策已确认(见 14.6)。