2026-06-17 04:58:09 +00:00
|
|
|
|
# 任务规划软件(TPS)— C++ 核心处理单元
|
2026-06-17 04:37:32 +00:00
|
|
|
|
|
2026-06-17 04:58:09 +00:00
|
|
|
|
## 概述
|
|
|
|
|
|
|
|
|
|
|
|
任务规划软件(Task Planning System, TPS)是战场任务规划系统的核心处理单元,实现从事件感知到任务生成、计划管理、方案分发与状态监控的闭环管理。本工程实现了 TPS 的核心数据模型与业务逻辑。
|
|
|
|
|
|
|
|
|
|
|
|
## 工程结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
.
|
|
|
|
|
|
├── CMakeLists.txt # CMake 构建配置
|
|
|
|
|
|
├── README.md # 本文件
|
|
|
|
|
|
├── include/
|
|
|
|
|
|
│ ├── app.hpp # 核心数据结构(数据库表模型)
|
|
|
|
|
|
│ ├── event_handler.hpp # 事件接收与处理模块
|
|
|
|
|
|
│ ├── template_manager.hpp # 模板管理模块
|
|
|
|
|
|
│ ├── plan_manager.hpp # 计划管理模块
|
|
|
|
|
|
│ └── distribution_monitor.hpp # 方案分发与状态监控模块
|
|
|
|
|
|
├── src/
|
|
|
|
|
|
│ ├── main.cpp # 命令行入口(演示流程)
|
|
|
|
|
|
│ ├── event_handler.cpp # 事件处理实现
|
|
|
|
|
|
│ ├── template_manager.cpp # 模板管理实现
|
|
|
|
|
|
│ ├── plan_manager.cpp # 计划管理实现
|
|
|
|
|
|
│ └── distribution_monitor.cpp # 分发监控实现
|
|
|
|
|
|
└── tests/
|
|
|
|
|
|
└── basic_test.cpp # 单元测试(标准库 assert)
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 需求覆盖
|
|
|
|
|
|
|
|
|
|
|
|
| CSCI需求标识 | 需求名称 | 模块/函数 |
|
|
|
|
|
|
|--------------|----------|-----------|
|
|
|
|
|
|
| SRS-F-01-001 | 接收临机事件和规划事件 | `EventHandler::receiveEvent()` |
|
|
|
|
|
|
| SRS-F-01-002 | 事件数据过滤转化封装 | `EventHandler::processEvent()` |
|
|
|
|
|
|
| SRS-F-02-001 | 接收待处理事件列表 | `EventHandler::getPendingEvents()` |
|
|
|
|
|
|
| SRS-F-02-004 | 生成作战任务并送交处理 | `PlanManager::createPlan()` |
|
|
|
|
|
|
| SRS-F-03-001 | 任务模板先验知识库版本选择 | `TemplateManager::getConfig()` |
|
|
|
|
|
|
| SRS-F-03-002 | 先验知识库配置调整 | `TemplateManager::updateConfig()` |
|
|
|
|
|
|
| SRS-F-04-001 | 接收推送的任务模板集合数据 | `TemplateManager::receiveTemplates()` |
|
|
|
|
|
|
| SRS-F-04-005 | 人环模式下用户选择任务模板 | `TemplateManager::selectTemplate()` |
|
|
|
|
|
|
| SRS-F-04-006 | 自主执行模式下任务模板自动选择提示 | `TemplateManager::autoSelectTemplate()` |
|
|
|
|
|
|
| SRS-F-05-001 | 集中式计划管理与偏好排序 | `PlanManager::sortPlans()` |
|
|
|
|
|
|
| SRS-F-05-002 | 计划详情可视化与HITL通知 | `PlanManager::notifyHITL()` |
|
|
|
|
|
|
| SRS-F-05-003 | 计划重配置操作与可视化 | `PlanManager::reconfigurePlan()` |
|
|
|
|
|
|
| SRS-F-05-004 | 分布式计划管理与算法处理 | `PlanManager::mergeAndCheckConsistency()` |
|
|
|
|
|
|
| SRS-F-06-001 | 方案驱动分发与状态响应 | `DistributionMonitor::distributePlan()` / `receiveAck()` |
|
|
|
|
|
|
| SRS-F-06-002 | 驱动状态监控与异常信息展示 | `DistributionMonitor::receiveTelemetry()` / `triggerAlarm()` |
|
|
|
|
|
|
|
|
|
|
|
|
## 编译与运行
|
|
|
|
|
|
|
|
|
|
|
|
### 前置条件
|
|
|
|
|
|
|
|
|
|
|
|
- CMake ≥ 3.14
|
|
|
|
|
|
- C++17 兼容的编译器(GCC 8+, Clang 10+, MSVC 2019+)
|
|
|
|
|
|
|
|
|
|
|
|
### 构建
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cd codegen-runs/codegen_af1ed1d727e14f1cb7e99c1a9f65e3f6
|
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
|
cmake ..
|
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 运行主程序
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Linux/macOS
|
|
|
|
|
|
./tps
|
|
|
|
|
|
|
|
|
|
|
|
# Windows
|
|
|
|
|
|
tps.exe
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 运行单元测试
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Linux/macOS
|
|
|
|
|
|
./tps_test
|
|
|
|
|
|
|
|
|
|
|
|
# Windows
|
|
|
|
|
|
tps_test.exe
|
|
|
|
|
|
```
|