From d651be268da568b9f65e49739c32dc472eca75b9 Mon Sep 17 00:00:00 2001 From: pkx2w7qjn <392871505@qq.com> Date: Sun, 24 May 2026 00:58:43 +0800 Subject: [PATCH] =?UTF-8?q?Delete=20'=E6=99=BA=E9=80=94=E6=8A=95=E9=80=81?= =?UTF-8?q?=5F=E8=BD=AF=E4=BB=B6=E5=BC=80=E5=8F=91=E6=96=B9=E6=A1=88.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 智途投送_软件开发方案.md | 749 ----------------------------- 1 file changed, 749 deletions(-) delete mode 100644 智途投送_软件开发方案.md diff --git a/智途投送_软件开发方案.md b/智途投送_软件开发方案.md deleted file mode 100644 index dd12dd8c..00000000 --- a/智途投送_软件开发方案.md +++ /dev/null @@ -1,749 +0,0 @@ -# "智途投送"软件开发方案 - -> 本文档基于《最后一公里软件构想》编写,为"智途投送"软件系统的开发实施方案。 - ---- - -## 一、项目概述 - -### 1.1 项目背景 - -"智途投送"软件系统是针对城市作战环境下"最后一公里"末端补给难题而设计的智能化物资投送系统。系统通过无人机替代有人运输,结合智能路径规划、动态避障和实时目标调整等功能,实现战场物资的安全、精准投送。 - -### 1.2 系统组成 - -本系统由三大核心子系统构成: - -| 子系统 | 主要功能 | 部署位置 | -|--------|----------|----------| -| 单兵终端系统 | 需求上报、策略选择、位置同步 | 前线士兵随身携带 | -| 无人机软件系统 | 自主飞行、路径规划、动态避障 | 无人机机载 | -| 后勤保障系统 | 任务调度、资源管理、状态监控 | 后方指挥所 | - -### 1.3 开发目标 - -- 实现前线士兵物资需求的实时上报与处理 -- 实现无人机自主路径规划与动态避障 -- 支持多种路径策略选择(最快、最安全、最省能耗) -- 支持动态目标调整与实时位置同步 -- 构建完整的后勤调度与监控平台 - ---- - -## 二、技术选型 - -### 2.1 技术栈总览 - -| 层次 | 技术选型 | 说明 | -|------|----------|------| -| 后勤保障系统 | Python + Flask/FastAPI | 快速开发,便于算法集成 | -| 数据库 | SQLite / PostgreSQL | 轻量级或企业级可选 | -| 单兵终端APP | Flutter 或 Android (Kotlin) | 跨平台或原生开发 | -| 无人机控制 | Python + MAVSDK / PX4 | 开源飞控生态完善 | -| 静态路径规划 | Python (NetworkX, OMPL) | 图算法库,用于全局路径计算 | -| 视觉导航与图像分析 | Python + OpenCV | 成熟的图像处理工具链,支持枪口火光检测、障碍物识别 | -| 热成像分析 | Python + OpenCV + PyTorch | 红外图像处理,热异常检测,温度阈值判定 | -| 声源分析与定位 | Python + librosa + NumPy | 声学特征提取,枪炮声分类,麦克风阵列声源定位(GCC-PHAT) | -| 多模态融合 | Python + NumPy | 多源威胁信息融合,实时威胁地图生成 | -| 仿真环境 | Gazebo / AirSim | 无人机仿真验证,支持传感器模拟 | -| 地图服务 | Leaflet / Mapbox | Web地图可视化 | - -### 2.2 技术选型理由 - -#### 2.2.1 后勤保障系统 - -**选择 Python + Flask/FastAPI 的理由:** -- Python 拥有丰富的科学计算和算法库(NumPy、SciPy、NetworkX) -- Flask/FastAPI 轻量级框架,便于快速构建 RESTful API -- 与路径规划算法、视觉算法无缝集成 -- 团队熟悉 Python 开发 - -#### 2.2.2 单兵终端APP - -**选择 Flutter 或 Android (Kotlin) 的理由:** -- Flutter:一套代码支持 Android/iOS,开发效率高 -- Android (Kotlin):原生性能好,硬件调用方便 -- 均支持地图SDK集成、网络通信、消息推送 - -#### 2.2.3 无人机软件 - -**选择 MAVSDK/PX4 的理由:** -- PX4 是成熟的开源飞控系统 -- MAVSDK 提供Python API,便于二次开发 -- 支持航线规划、状态监控、自主飞行 -- 社区活跃,文档完善 - -#### 2.2.4 仿真环境 - -**选择 Gazebo/AirSim 的理由:** -- Gazebo:开源机器人仿真,支持PX4集成 -- AirSim:微软开源,提供逼真的城市环境 -- 均支持传感器模拟(摄像头、IMU、GPS) - ---- - -## 三、开发阶段规划 - -采用分阶段迭代开发策略,总周期约 **12-16周**。 - -### 3.1 阶段一:核心算法验证(3-4周) - -#### 目标 -验证路径规划算法、多模态感知算法和避障算法的可行性,为后续系统集成奠定基础。 - -#### 任务分解 - -| 任务 | 描述 | 产出物 | -|------|------|--------| -| 搭建仿真环境 | 安装配置 AirSim 或 Gazebo,创建简化城市模型 | 可运行的仿真环境 | -| 静态路径规划 | 实现 A* 算法,基于城市地图、燃料约束、安全点标注等因素计算初始路径 | 静态路径规划模块 | -| 局部避障算法 | 实现 RRT 或 RRT* 算法,动态避开障碍物 | 避障算法模块 | -| 策略切换机制 | 实现三种策略(最快、最安全、最省能耗)的切换逻辑 | 策略选择模块 | -| 视觉识别原型 | 使用 OpenCV 实现墙体/障碍物边缘检测 | 视觉识别原型 | -| 热成像分析原型 | 实现红外图像热异常检测算法,包括枪管过热检测和枪口火焰热残留检测 | 热成像分析模块 | -| 相机图像分析原型 | 实现枪口火光检测算法(帧间差分+运动目标检测)和战场态势评估 | 相机图像分析模块 | -| 声源分析原型 | 实现枪炮声识别分类模型和麦克风阵列声源定位算法(GCC-PHAT) | 声源分析模块 | -| 多模态融合原型 | 实现三种感知结果融合逻辑,生成实时威胁地图 | 多模态融合模块 | - -#### 技术要点 - -```python -# 静态路径规划算法示例架构 -class StaticPathPlanner: - def __init__(self, city_map, threat_zones): - self.city_map = city_map - self.threat_zones = threat_zones - - def plan(self, start, goal, strategy='safest', fuel_constraint=None, - safe_points=None, urgency='normal'): - """ - strategy: 'fastest' / 'safest' / 'energy_efficient' - fuel_constraint: 剩余电量约束 - safe_points: 士兵标注的安全区域 - urgency: 物资紧急程度 - """ - pass - -# 动态威胁检测示例架构 -class DynamicThreatDetector: - def __init__(self): - self.thermal_analyzer = ThermalAnalyzer() # 热成像分析 - self.camera_analyzer = CameraAnalyzer() # 相机图像分析 - self.acoustic_analyzer = AcousticAnalyzer() # 声源分析 - - def detect_and_fuse(self, thermal_frame, camera_frame, audio_data): - """融合三种感知结果,生成威胁地图""" - thermal_threats = self.thermal_analyzer.detect(thermal_frame) - visual_threats = self.camera_analyzer.detect(camera_frame) - acoustic_threats = self.acoustic_analyzer.detect(audio_data) - return self._fuse(thermal_threats, visual_threats, acoustic_threats) -``` - -#### 验收标准 -- [ ] 仿真环境中无人机能够按规划路径飞行 -- [ ] 能够成功避开预设的障碍物 -- [ ] 三种策略能够正确切换并产生不同路径 -- [ ] 热成像模块能检测到模拟的热异常点 -- [ ] 相机模块能识别模拟的枪口火光闪烁 -- [ ] 声源模块能区分枪炮声与环境噪声并估计声源方向 - ---- - -### 3.2 阶段二:后勤保障系统开发(3-4周) - -#### 目标 -构建后端服务、数据库和可视化监控界面,实现任务调度和资源管理。 - -#### 任务分解 - -| 任务 | 描述 | 产出物 | -|------|------|--------| -| 数据库设计 | 设计物资、无人机、任务、用户等数据表 | 数据库Schema | -| 后端API开发 | 实现需求上报、任务调度、状态查询等接口 | RESTful API | -| 任务调度模块 | 实现无人机分配、任务状态管理逻辑 | 调度服务 | -| 可视化监控界面 | 开发Web界面,显示地图、无人机位置、任务状态 | Web前端 | -| 通信服务模块 | 实现与终端APP、无人机的数据收发 | 通信服务 | - -#### 数据库设计 - -##### E-R 图概念模型 - -``` -┌─────────────┐ ┌─────────────┐ ┌─────────────┐ -│ Soldier │ │ Task │ │ Drone │ -│ (前线士兵) │ │ (任务) │ │ (无人机) │ -├─────────────┤ ├─────────────┤ ├─────────────┤ -│ soldier_id │──┐ │ task_id │ ┌──│ drone_id │ -│ name │ │ │ type │ │ │ name │ -│ position │ │ │ priority │ │ │ status │ -│ unit │ │ │ strategy │ │ │ battery │ -└─────────────┘ │ │ status │ │ │ position │ - │ │ create_time │ │ └─────────────┘ - │ └─────────────┘ │ - │ │ │ - │ ▼ │ - │ ┌─────────────┐ │ - │ │ Delivery │───┘ - │ │ (配送记录) │ - │ ├─────────────┤ - └───▶│ delivery_id │ - │ task_id │ - │ drone_id │ - │ soldier_id │ - │ pickup_loc │ - │ dropoff_loc │ - │ start_time │ - │ end_time │ - └─────────────┘ - │ - ▼ - ┌─────────────┐ - │ Material │ - │ (物资) │ - ├─────────────┤ - │ material_id │ - │ name │ - │ quantity │ - │ location │ - └─────────────┘ -``` - -##### 数据表定义 - -**士兵表 (soldiers)** -| 字段名 | 类型 | 说明 | -|--------|------|------| -| soldier_id | VARCHAR(32) | 主键,士兵ID | -| name | VARCHAR(64) | 姓名 | -| unit | VARCHAR(64) | 所属单位 | -| position_lat | FLOAT | 纬度 | -| position_lng | FLOAT | 经度 | -| status | VARCHAR(16) | 状态(active/inactive) | -| create_time | DATETIME | 创建时间 | - -**无人机表 (drones)** -| 字段名 | 类型 | 说明 | -|--------|------|------| -| drone_id | VARCHAR(32) | 主键,无人机ID | -| name | VARCHAR(64) | 名称 | -| status | VARCHAR(16) | 状态(idle/flying/returning/maintenance) | -| battery | INT | 电量百分比 | -| position_lat | FLOAT | 当前纬度 | -| position_lng | FLOAT | 当前经度 | -| max_payload | FLOAT | 最大载重(kg) | - -**任务表 (tasks)** -| 字段名 | 类型 | 说明 | -|--------|------|------| -| task_id | VARCHAR(32) | 主键,任务ID | -| soldier_id | VARCHAR(32) | 外键,请求士兵 | -| strategy | VARCHAR(16) | 路径策略(fastest/safest/energy_efficient) | -| priority | VARCHAR(16) | 优先级(low/medium/high/urgent) | -| status | VARCHAR(16) | 状态(pending/assigned/in_flight/completed/cancelled) | -| create_time | DATETIME | 创建时间 | -| assign_time | DATETIME | 分配时间 | -| complete_time | DATETIME | 完成时间 | - -**配送记录表 (deliveries)** -| 字段名 | 类型 | 说明 | -|--------|------|------| -| delivery_id | VARCHAR(32) | 主键 | -| task_id | VARCHAR(32) | 外键,关联任务 | -| drone_id | VARCHAR(32) | 外键,执行无人机 | -| pickup_lat | FLOAT | 取货点纬度 | -| pickup_lng | FLOAT | 取货点经度 | -| dropoff_lat | FLOAT | 投放点纬度 | -| dropoff_lng | FLOAT | 投放点经点 | -| start_time | DATETIME | 开始时间 | -| end_time | DATETIME | 结束时间 | - -**物资表 (materials)** -| 字段名 | 类型 | 说明 | -|--------|------|------| -| material_id | VARCHAR(32) | 主键 | -| name | VARCHAR(64) | 物资名称 | -| category | VARCHAR(32) | 类别(ammo/food/medicine/equipment) | -| quantity | INT | 库存数量 | -| weight | FLOAT | 单件重量(kg) | -| location | VARCHAR(64) | 存放位置 | - -#### API 接口设计 - -**基础URL**: `http://:/api/v1` - -| 接口 | 方法 | 描述 | -|------|------|------| -| `/soldiers/{id}/position` | PUT | 更新士兵位置 | -| `/materials` | GET | 查询物资库存 | -| `/tasks` | POST | 创建物资需求任务 | -| `/tasks/{id}` | GET | 查询任务状态 | -| `/tasks/{id}/strategy` | PUT | 更新路径策略 | -| `/tasks/{id}/dropoff` | PUT | 更新投放点 | -| `/drones` | GET | 查询无人机列表 | -| `/drones/{id}/status` | POST | 无人机状态上报 | -| `/deliveries` | GET | 查询配送记录 | - -#### 验收标准 -- [ ] 数据库表创建完成,可正常读写 -- [ ] 所有API接口可通过Postman测试 -- [ ] Web界面可显示地图和无人机位置 -- [ ] 任务创建到完成的完整流程可跑通 - ---- - -### 3.3 阶段三:单兵终端APP开发(2-3周) - -#### 目标 -开发前线士兵使用的移动应用,实现需求上报、策略选择、消息接收等功能。 - -#### 任务分解 - -| 任务 | 描述 | 产出物 | -|------|------|--------| -| 项目框架搭建 | 创建Flutter/Android项目,配置依赖 | 项目骨架 | -| 登录认证模块 | 实现士兵身份认证 | 登录界面 | -| 需求上报界面 | 物资类型、数量、紧急程度选择与提交 | 上报界面 | -| 策略选择界面 | 三种路径策略的选择交互 | 策略界面 | -| 地图显示模块 | 集成地图SDK,显示投放点位置 | 地图模块 | -| 消息推送模块 | 接收后勤系统的通知消息 | 推送模块 | -| 位置上报服务 | 后台定时上报士兵位置 | 位置服务 | - -#### 界面设计 - -``` -┌─────────────────────────────────────┐ -│ 智途投送 - 单兵终端 │ -├─────────────────────────────────────┤ -│ ┌─────────────────────────────────┐│ -│ │ ││ -│ │ [ 地图显示区域 ] ││ -│ │ 显示当前位置 ││ -│ │ 显示投放点位置 ││ -│ │ ││ -│ └─────────────────────────────────┘│ -├─────────────────────────────────────┤ -│ 快捷操作 │ -│ ┌─────────┐ ┌─────────┐ │ -│ │ 申请物资 │ │ 查看任务 │ │ -│ └─────────┘ └─────────┘ │ -│ ┌─────────┐ ┌─────────┐ │ -│ │ 库存查询 │ │ 消息中心 │ │ -│ └─────────┘ └─────────┘ │ -├─────────────────────────────────────┤ -│ 当前任务:等待中 │ -│ 任务ID: T-2024001 │ -│ 物资: 急救药品 x5 │ -│ 状态: 无人机已起飞 │ -│ 预计到达: 14:35 │ -└─────────────────────────────────────┘ -``` - -#### 验收标准 -- [ ] APP可正常安装运行 -- [ ] 可成功提交物资需求 -- [ ] 可选择路径策略 -- [ ] 可接收投放点通知 -- [ ] 位置可实时上报 - ---- - -### 3.4 阶段四:无人机系统集成(3-4周) - -#### 目标 -实现无人机自主飞行、路径规划、动态避障等核心能力。 - -#### 任务分解 - -| 任务 | 描述 | 产出物 | -|------|------|--------| -| 飞控平台选型 | 选择无人机平台,配置开发环境 | 开发环境 | -| 航点飞行控制 | 实现按航点序列飞行的能力 | 飞控模块 | -| 状态回传模块 | 定时上报位置、电量、任务状态 | 状态模块 | -| 静态路径规划集成 | 集成阶段一开发的静态路径规划算法,综合考虑燃料、安全点、紧急程度等约束 | 静态规划模块 | -| 视觉避障模块 | 集成视觉识别,实现动态避障 | 避障模块 | -| 热成像感知模块 | 集成红外热成像传感器驱动与分析算法,实现枪管过热和火焰热残留检测 | 热成像模块 | -| 相机图像分析模块 | 集成可见光相机驱动与火光检测算法,实现枪口火光识别和战场态势评估 | 图像分析模块 | -| 声源感知模块 | 集成麦克风阵列驱动与声学分析算法,实现枪炮声识别和声源定位 | 声源分析模块 | -| 多模态融合模块 | 融合热成像、相机、声源三种感知结果,生成威胁地图并驱动动态航线调整 | 融合规划模块 | -| 通信模块 | 与后勤系统的数据收发 | 通信模块 | -| 应急处理模块 | 通信中断、电量不足等异常处理 | 应急模块 | - -#### 软件架构 - -``` -┌──────────────────────────────────────────────────────────────────┐ -│ 无人机软件系统 │ -├──────────────────────────────────────────────────────────────────┤ -│ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌─────────────┐ │ -│ │ 通信模块 │ │ 飞控模块 │ │静态路径规划│ │多模态融合 │ │ -│ │ │ │ │ │ │ │与动态规划 │ │ -│ │- 指令接收 │ │- 航点飞行 │ │- 地图规划 │ │ │ │ -│ │- 状态回传 │ │- 悬停控制 │ │- 燃料约束 │ │- 威胁融合 │ │ -│ │- 加密传输 │ │- 返航逻辑 │ │- 安全标注 │ │- 威胁地图 │ │ -│ └─────┬─────┘ └─────┬─────┘ │- 策略切换 │ │- 动态绕行 │ │ -│ │ │ └─────┬─────┘ └──────┬──────┘ │ -│ │ │ │ │ │ -│ └──────────────┴──────────────┴───────────────┘ │ -│ │ │ -│ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ -│ │热成像分析 │ │相机图像分析│ │ 声源分析 │ │ 任务管理器 │ │ -│ │ │ │ │ │ │ │ │ │ -│ │- 枪管过热 │ │- 枪口火光 │ │- 枪炮识别 │ │- 任务执行 │ │ -│ │- 热残留 │ │- 态势感知 │ │- 声源定位 │ │- 策略切换 │ │ -│ │- 温度检测 │ │- 危险评估 │ │- 火力评估 │ │- 应急处理 │ │ -│ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │ -├──────────────────────────────────────────────────────────────────┤ -│ 硬件接口层 │ -│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ -│ │ 飞控 ││摄像头│ │热成像│ │麦克风│ │ IMU │ │ GPS │ │ -│ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │ -└──────────────────────────────────────────────────────────────────┘ -``` - -#### 状态机设计 - -``` - ┌─────────────┐ - │ IDLE │ - │ (待机) │ - └──────┬──────┘ - │ 收到任务 - ▼ - ┌─────────────┐ - │ PLANNING │ - │ (路径规划) │ - └──────┬──────┘ - │ 规划完成 - ▼ - ┌─────────────┐ - ┌─────│ FLYING │─────┐ - │ │ (飞行中) │ │ - │ └─────────────┘ │ - │ │ │ - 避障触发│ │到达目标 │电量不足 - │ │ │ - ▼ ▼ ▼ - ┌───────────┐ ┌───────────┐ ┌───────────┐ - │ AVOIDING │ │ HOVERING │ │ RETURNING │ - │ (避障中) │ │ (悬停) │ │ (返航) │ - └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ - │ │ │ - └─────────────┴─────────────┘ - │ - ▼ - ┌─────────────┐ - │ COMPLETED │ - │ (完成) │ - └─────────────┘ -``` - -#### 验收标准 -- [ ] 无人机可接收后勤系统下发的任务 -- [ ] 可按规划路径自主飞行 -- [ ] 可识别障碍物并自主避让 -- [ ] 状态可实时回传后勤系统 -- [ ] 通信中断时可自动返航 - ---- - -### 3.5 阶段五:系统集成测试(2周) - -#### 目标 -完成各子系统的联调测试,验证端到端功能。 - -#### 任务分解 - -| 任务 | 描述 | 产出物 | -|------|------|--------| -| 接口联调测试 | 验证各子系统间的通信接口 | 测试报告 | -| 端到端流程测试 | 完整任务流程测试 | 测试报告 | -| 异常场景测试 | 通信中断、电量不足等异常测试 | 测试报告 | -| 性能测试 | 并发任务、响应时间测试 | 测试报告 | -| 用户验收测试 | 模拟真实使用场景测试 | 验收报告 | - -#### 测试用例 - -| 编号 | 测试场景 | 预期结果 | -|------|----------|----------| -| TC001 | 士兵提交物资需求 | 后勤系统收到请求,分配无人机 | -| TC002 | 选择"最快"策略 | 路径优先考虑时间最短 | -| TC003 | 选择"最安全"策略 | 路径避开威胁区域 | -| TC004 | 动态调整投放点 | 无人机更新航线 | -| TC005 | 通信中断 | 无人机自动返航 | -| TC006 | 电量不足 | 无人机中止任务返航 | -| TC007 | 多任务并发调度 | 系统正确分配资源 | -| TC008 | 视觉避障测试 | 无人机成功绕过障碍物 | -| TC009 | 热成像枪管过热检测 | 检测到模拟热源,标记为威胁区域 | -| TC010 | 相机枪口火光检测 | 识别到模拟火光闪烁,区分环境光源 | -| TC011 | 声源枪炮声识别 | 正确区分枪声、炮声与环境噪声 | -| TC012 | 声源定位准确性 | 声源方向估计误差在可接受范围内 | -| TC013 | 多模态融合威胁检测 | 三种感知结果融合后生成一致的威胁地图 | -| TC014 | 动态威胁规避 | 检测到交火威胁后无人机自动绕行 | - -#### 验收标准 -- [ ] 所有测试用例通过 -- [ ] 端到端流程完整可运行 -- [ ] 异常场景处理正确 -- [ ] 系统响应时间满足要求 - ---- - -## 四、项目结构 - -### 4.1 目录结构 - -``` -ZhiTuTouSong/ -│ -├── docs/ # 项目文档 -│ ├── 需求规格说明书.md -│ ├── 系统设计文档.md -│ ├── 接口设计文档.md -│ ├── 测试报告.md -│ └── 用户手册.md -│ -├── backend/ # 后勤保障系统 -│ ├── README.md -│ ├── requirements.txt # Python依赖 -│ ├── config/ # 配置文件 -│ │ ├── __init__.py -│ │ ├── settings.py -│ │ └── logging.conf -│ ├── api/ # API接口 -│ │ ├── __init__.py -│ │ ├── routes/ -│ │ │ ├── __init__.py -│ │ │ ├── soldiers.py -│ │ │ ├── tasks.py -│ │ │ ├── drones.py -│ │ │ └── materials.py -│ │ └── schemas/ -│ │ ├── __init__.py -│ │ ├── task.py -│ │ └── drone.py -│ ├── models/ # 数据模型 -│ │ ├── __init__.py -│ │ ├── soldier.py -│ │ ├── task.py -│ │ ├── drone.py -│ │ └── material.py -│ ├── services/ # 业务逻辑 -│ │ ├── __init__.py -│ │ ├── task_service.py -│ │ ├── drone_service.py -│ │ └── notification_service.py -│ ├── algorithms/ # 算法模块 -│ │ ├── __init__.py -│ │ ├── path_planner.py -│ │ ├── obstacle_detector.py -│ │ └── strategy_selector.py -│ ├── database/ # 数据库 -│ │ ├── __init__.py -│ │ ├── connection.py -│ │ └── migrations/ -│ └── main.py # 入口文件 -│ -├── mobile-app/ # 单兵终端APP -│ ├── README.md -│ ├── lib/ -│ │ ├── main.dart -│ │ ├── models/ -│ │ ├── views/ -│ │ │ ├── home_view.dart -│ │ │ ├── task_view.dart -│ │ │ └── map_view.dart -│ │ ├── viewmodels/ -│ │ ├── services/ -│ │ │ ├── api_service.dart -│ │ │ ├── location_service.dart -│ │ │ └── notification_service.dart -│ │ └── utils/ -│ ├── assets/ -│ ├── pubspec.yaml -│ └── android/ -│ -├── drone-software/ # 无人机软件 -│ ├── README.md -│ ├── requirements.txt -│ ├── src/ -│ │ ├── __init__.py -│ │ ├── main.py -│ │ ├── flight_control/ -│ │ │ ├── __init__.py -│ │ │ ├── drone_controller.py -│ │ │ └── waypoint_manager.py -│ │ ├── vision/ -│ │ │ ├── __init__.py -│ │ │ ├── camera.py -│ │ │ ├── obstacle_detector.py -│ │ │ ├── muzzle_flash_detector.py -│ │ │ └── visual_odometry.py -│ │ ├── thermal/ -│ │ │ ├── __init__.py -│ │ │ ├── thermal_sensor.py # 红外热成像传感器驱动 -│ │ │ ├── heat_anomaly_detector.py # 热异常检测(枪管过热/火焰热残留) -│ │ │ └── temperature_processor.py # 温度数据处理与阈值判定 -│ │ ├── acoustic/ -│ │ │ ├── __init__.py -│ │ │ ├── microphone_array.py # 麦克风阵列驱动 -│ │ │ ├── gunshot_classifier.py # 枪炮声分类识别 -│ │ │ ├── sound_localizer.py # 声源定位(GCC-PHAT) -│ │ │ └── noise_filter.py # 风噪滤波预处理 -│ │ ├── communication/ -│ │ │ ├── __init__.py -│ │ │ ├── radio_link.py -│ │ │ └── message_protocol.py -│ │ ├── planning/ -│ │ │ ├── __init__.py -│ │ │ ├── global_planner.py # 静态路径规划(A*等) -│ │ │ ├── local_planner.py # 局部避障规划 -│ │ │ └── dynamic_planner.py # 多模态融合动态路径规划 -│ │ └── mission/ -│ │ ├── __init__.py -│ │ ├── mission_manager.py -│ │ └── emergency_handler.py -│ └── config/ -│ └── drone_config.yaml -│ -├── simulation/ # 仿真环境 -│ ├── README.md -│ ├── city_model/ # 城市模型 -│ │ ├── buildings.json -│ │ └── terrain.json -│ ├── scenarios/ # 测试场景 -│ │ ├── scenario_1.json -│ │ └── scenario_2.json -│ └── scripts/ -│ ├── setup_simulation.py -│ └── run_test.py -│ -├── tests/ # 集成测试 -│ ├── integration/ -│ ├── e2e/ -│ └── performance/ -│ -├── scripts/ # 工具脚本 -│ ├── setup.sh -│ ├── run_backend.sh -│ └── deploy.sh -│ -├── .gitignore -├── LICENSE -└── README.md -``` - -### 4.2 模块职责说明 - -| 模块 | 职责 | 所属子系统 | -|------|------|------------| -| api/ | RESTful API接口定义 | 后勤保障系统 | -| models/ | 数据模型定义 | 后勤保障系统 | -| services/ | 业务逻辑处理 | 后勤保障系统 | -| algorithms/ | 路径规划与避障算法 | 后勤保障系统 | -| flight_control/ | 飞行控制逻辑 | 无人机软件 | -| vision/ | 视觉识别、枪口火光检测与导航 | 无人机软件 | -| thermal/ | 红外热成像分析、枪管过热检测 | 无人机软件 | -| acoustic/ | 声源分析、枪炮声识别与声源定位 | 无人机软件 | -| planning/ | 静态路径规划与多模态融合动态规划 | 无人机软件 | -| communication/ | 通信协议与数据传输 | 无人机软件 | -| views/ | 移动端界面 | 单兵终端APP | -| services/ | 移动端服务(API调用、位置上报) | 单兵终端APP | - ---- - -## 五、开发规范 - -### 5.1 代码规范 - -- **Python**: 遵循 PEP 8 规范,使用 Black 格式化 -- **Dart/Flutter**: 遵循 Dart 官方风格指南 -- **文档**: 使用中文注释,函数需添加文档字符串 - -### 5.2 Git 分支管理 - -``` -main # 主分支,稳定版本 -├── develop # 开发分支 -│ ├── feature/backend-task-service # 功能分支 -│ ├── feature/mobile-home-view # 功能分支 -│ └── feature/drone-flight-control # 功能分支 -└── release/v1.0 # 发布分支 -``` - -### 5.3 提交信息规范 - -``` -(): - -# 示例 -feat(backend): 添加任务调度API接口 -fix(drone): 修复通信中断后无法返航的问题 -docs(readme): 更新项目说明文档 -test(backend): 添加路径规划算法单元测试 -``` - -**Type 类型**: -- `feat`: 新功能 -- `fix`: 修复bug -- `docs`: 文档更新 -- `test`: 测试相关 -- `refactor`: 代码重构 -- `style`: 代码格式调整 - ---- - -## 六、风险管理 - -### 6.1 技术风险 - -| 风险 | 概率 | 影响 | 应对措施 | -|------|------|------|----------| -| 路径规划算法性能不足 | 中 | 高 | 采用分层规划,全局离线+局部实时 | -| 视觉避障可靠性低 | 高 | 高 | 多传感器融合,设置置信度阈值 | -| 通信链路不稳定 | 高 | 中 | 设计通信中断应急机制 | -| GPS信号丢失 | 中 | 中 | 视觉导航辅助定位 | - -### 6.2 项目风险 - -| 风险 | 概率 | 影响 | 应对措施 | -|------|------|------|----------| -| 开发周期延期 | 中 | 高 | 分阶段交付,优先核心功能 | -| 无人机硬件获取困难 | 中 | 高 | 使用仿真环境替代实物测试 | -| 团队成员变动 | 低 | 中 | 代码规范,文档完善 | - ---- - -## 七、里程碑计划 - -| 里程碑 | 时间节点 | 交付物 | -|--------|----------|--------| -| M1: 算法验证完成 | 第3周 | 路径规划仿真演示 | -| M2: 后勤系统可用 | 第7周 | 可运行的后端服务+Web界面 | -| M3: 终端APP可用 | 第10周 | 可安装的移动应用 | -| M4: 无人机集成完成 | 第14周 | 无人机自主飞行演示 | -| M5: 系统验收 | 第16周 | 完整系统演示+文档 | - ---- - -## 八、附录 - -### 8.1 参考资料 - -- PX4 开发指南: https://docs.px4.io/ -- MAVSDK Python: https://mavsdk.mavlink.io/ -- AirSim 文档: https://microsoft.github.io/AirSim/ -- OpenCV 官方文档: https://docs.opencv.org/ -- Flutter 开发文档: https://flutter.dev/docs - -### 8.2 开发工具 - -- IDE: VS Code / PyCharm / Android Studio -- 版本控制: Git -- 项目管理: GitHub Projects / 禅道 -- API测试: Postman -- 数据库工具: DBeaver - ---- - -*文档版本: v1.0* -*创建日期: 2026年4月*