一网统飞航线自动匹配最优机巢工具
概述
本技能适配陕西天翼通航一网统飞市级低空监管平台 (V2.0+),面向无人机全域巡检场景。核心能力是根据规划巡检航线的 GIS 坐标文件,自动核算航线距离、无人机续航、机巢空闲状态、信号覆盖、禁飞空域等多维参数,智能推荐最优起降机巢。同时提供兜底方案 (无可用机巢时推送备选降落点) 和标准化巡检调度台账/月度报表生成能力。
开发单位: 陕西天翼通航科技有限公司技术部
当前版本: V1.0
适用业务场景
- 市/县级一网统飞平台智能航线调度
- 多分布式机巢协同巡检任务下发
- 秦岭山区、工地、河道大范围常态化巡查
- 低空商汇小程序移动端轻量化调度配套
依赖配套系统
- 一网统飞 PC 端监管平台 V2.0 及以上版本
- 大疆机场 3 / 氢能工业无人机机巢管理接口
- 高精度全域 GIS 空域图层数据
工作流程
执行机巢匹配任务时,按以下步骤依次进行:
步骤 1: 导入并解析航线
接收用户提供的航线 GIS 坐标文件 (.geojson / .kml / .csv),使用 scripts/route_analyzer.py 解析坐标点并计算航线总距离。
python scripts/route_analyzer.py <航线文件> --uav-model <机型> --wind-speed <风速> --output <输出路径>
支持的机型: DJI-M3E, DJI-M30T, DJI-M350-M3E, HYDROGEN-H1
参考 references/uav_specs.md 获取各机型详细参数与机巢接口规范。
步骤 2: 续航评估
route_analyzer.py 会自动评估续航是否充足,输出:
- 预估飞行时间 (考虑风速影响)
- 可用续航余量
- 风速预警 (接近/超过抗风上限时告警)
- 综合状态 (PASS / WARNING / FAIL)
如续航不足 (FAIL),建议用户: 缩短航线 / 更换更长续航机型 (如 HYDROGEN-H1) / 增设中继机巢。
步骤 3: 机巢智能匹配
使用 scripts/nest_scorer.py 对所有候选机巢进行多维评分与排序。
python scripts/nest_scorer.py --route-analysis <航线分析结果> --nests <机巢清单JSON> --output <推荐结果>
机巢清单 JSON 格式参考 assets/nests_example.json,每条记录需包含: id, name, lat, lon, status, signal_type, in_no_fly_zone 等字段。
评分维度与权重参考 references/nest_scoring_model.md:
- 距离匹配度 30% — 机巢到航线起点距离
- 续航余量 25% — 无人机续航是否覆盖航线
- 机巢空闲状态 20% — 是否可立即执行
- 信号覆盖 15% — 通信信号质量
- 空域安全 10% — 禁飞区校验
空域校验规则与禁飞区类型参考 references/airspace_rules.md,包含陕西地区典型禁飞区 (机场净空区、军事管理区、秦岭生态保护区) 的处置策略。
步骤 4: 兜底方案处理
当所有机巢均不满足推荐条件时,nest_scorer.py 会自动生成兜底方案:
- 推送距离最近的备选降落点
- 生成任务中断预警
- 建议调整航线 / 更换机型 / 增设移动机巢
步骤 5: 任务下发与同步
确认推荐方案后,通过一网统飞后台 API 下发飞行任务:
1. 调用机巢管理接口下发任务 (接口规范见 references/uav_specs.md)
2. 同步任务至低空商汇小程序
3. 填写任务记录 (模板见 assets/task_record_template.json)
步骤 6: 生成调度台账与报表
任务执行完成后,使用 scripts/dispatch_logger.py 生成交付物:
# 生成单次调度台账
python scripts/dispatch_logger.py log --task-record <任务记录JSON> --output <台账输出路径>
# 生成月度报表
python dispatch_logger.py report --task-records-dir <任务记录目录> --month <YYYY-MM> --output <报表路径>
台账模板参考 assets/dispatch_log_template.md。
输出交付物
| 交付物 | 格式 | 生成方式 |
|---|---|---|
| 最优机巢调度方案 | JSON | nest_scorer.py 输出 |
| 巡检调度台账 | Markdown | dispatch_logger.py log |
| 月度巡检资源统计报表 | Markdown | dispatch_logger.py report |
资源文件索引
scripts/
route_analyzer.py— 航线解析、距离计算与续航评估nest_scorer.py— 机巢多维评分、排序推荐与兜底方案生成dispatch_logger.py— 调度台账与月度报表生成
references/
nest_scoring_model.md— 评分模型详解 (权重、评分细则、拒绝条件、兜底触发逻辑)airspace_rules.md— 空域校验规则与禁飞区处理 (陕西地区禁飞区类型、山区无信号处理)uav_specs.md— 机型参数库与机巢管理接口规范 (含大疆机场3/氢能机巢 API)
assets/
route_example.geojson— 示例航线坐标文件 (秦岭北麓巡检)nests_example.json— 示例机巢清单数据 (7 个陕西地区机巢)task_record_template.json— 任务记录模板dispatch_log_template.md— 调度台账模板
典型使用示例
用户说: "帮我匹配秦岭子午峪巡检航线的最优机巢,机型用 M30T,风速大概 5 m/s"
执行流程:
1. 获取航线文件 (用户提供或使用 assets/route_example.geojson)
2. 运行 route_analyzer.py 分析航线: python scripts/route_analyzer.py route.geojson --uav-model DJI-M30T --wind-speed 5 --output analysis.json
3. 运行 nest_scorer.py 匹配机巢: python scripts/nest_scorer.py --route-analysis analysis.json --nests nests.json --output recommendation.json
4. 向用户展示推荐结果,包含各机巢评分详情与推荐理由
5. 确认后生成调度台账: python scripts/dispatch_logger.py log --task-record task.json --output dispatch_log.md
注意事项
- GIS 数据精度: 航线距离采用 Haversine 大圆距离公式计算,精度满足巡检调度需求但不适用于精密测绘
- 续航安全余量: 可用续航 = 理论续航 × 0.8,已预留返航和应急悬停余量
- 风速影响: 有效巡航速度 = 巡航速度 - 风速 × 0.3,逆风场景续航消耗更大
- 山区信号: 秦岭山区存在大面积 4G/5G 信号盲区,优先选择有卫星通信能力的机巢或氢能机型
- 空域时效: 禁飞区数据可能随时变更 (临时禁飞区、军事演习),执行前须通过一网统飞平台获取最新空域图层
- 数据同步: 任务下发后须同步至低空商汇小程序,确保移动端可查看任务状态