1. 无人船航行任务需求分析与任务剖面建模

任务输入与约束提取

给定水域巡检任务:无人船从码头起点 A 出发,沿湖岸线外侧巡检 6 个关键点位(P1–P6),最终返回码头终点 B。任务方给出的原始需求只有一句话——“2 小时内完成巡检,全程保持与岸基通信,遇障能自主绕行”。要把它变成可设计、可验收的自主航行需求,必须先做三件事:量化约束、拆分阶段、给每阶段挂验收指标。

下面按工程习惯把原始需求逐条转成可测参数。示例数值为教学假设,实际项目应以任务书、船型手册和现场踏勘为准。

约束类别原始表述量化参数(示例)来源/依据
航速2 小时内完成巡航速度 1.5 m/s,最高 2.2 m/s航程 ÷ 时间预算反推
续航全程不换电可用电量 ≥ 航程 × 单位航程能耗 × 1.3 裕度电池容量与实测功耗
转弯半径沿湖岸巡检最小转弯半径 3 m(低速档)船体操纵性试验
通信中断容忍保持岸基通信允许连续失联 ≤ 30 s,累计失联 ≤ 5%链路覆盖评估
避障遇障自主绕行障碍检测距离 ≥ 15 m,绕行后 10 s 内回归航线感知能力与安全距离
定位精度巡检点位到点判定半径 2 mGNSS 精度 + 任务要求

关键反推:总航程约 5.2 km(含 6 个点位绕行),若按 1.5 m/s 巡航,纯航行时间约 58 min;加上 6 个点位各停留 3 min 巡检、2 次避障绕行各 1 min,合计约 78 min,留出 42 min 裕度应对通信降级与返航,满足 2 小时约束。若把巡航速度压到 1.0 m/s,纯航行就需 87 min,裕度不足,因此巡航速度下限应设为 1.3 m/s。

任务剖面建模

任务剖面(Mission Profile)把一次完整任务按航行状态与功能需求的变化切成若干阶段,每个阶段对应一组自主航行功能与验收指标。它不是简单的“起点→终点”直线,而是包含离泊、加速、巡航、到点巡检、避障绕行、返航、靠泊等状态切换的序列。下图给出本例的任务剖面结构:横向为阶段推进,纵向标注每阶段的核心功能与验收判据。

水域巡检任务剖面:阶段 · 功能 · 验收指标 S0 离泊 低速 0.5 m/s S1 加速 0.5→1.5 m/s S2 巡航 1.5 m/s 定速 S3 到点巡检 停留 3 min S4 避障绕行 触发式 S5 返航靠泊 减速进港 巡检完成 → 返回巡航(共 6 个点位) 障碍触发 各阶段自主航行功能需求 S0:定位初始化、离泊路径规划、低速航向保持 S1:速度闭环控制、航向稳定、进入巡航状态判定 S2:航路点跟踪(LOS 制导)、定速巡航、通信心跳监测 S3:到点判定(半径 2 m)、定点保持、巡检载荷触发 S4:障碍检测(≥15 m)、局部绕行重规划、绕行后回归航线 S5:返航路径规划、进港减速、靠泊终止判定 全程:通信中断降级策略、电量监控、安全急停 全程:位置/航向/速度日志记录(≥10 Hz) 全程:失联 ≤30 s 自主悬停/降速,超时返航 全程:累计失联 ≤5% 任务时长 验收指标(示例阈值) 航速 巡航 1.5±0.2 m/s 续航 剩余电量 ≥20% 转弯半径 ≤3 m(低速档) 通信中断 连续≤30 s,累计≤5% 到点精度 半径 ≤2 m 避障回归 绕行后 ≤10 s 回归 任务总时长 ≤120 min 日志频率 ≥10 Hz

任务剖面表(可直接填写)

把上面的剖面结构落成表格,就是设计、编码和验收共用的“任务剖面表”。每行一个阶段,字段固定,便于逐项核对。下表为本例的示例填写结果,时间与距离为按前述航程和速度推算的预期值,非实测。

阶段触发条件核心功能关键参数预期时长验收判据
S0 离泊任务启动定位初始化、离泊路径0.5 m/s,航向保持 ±5°2 min离泊无碰撞,定位有效
S1 加速离开码头 10 m速度闭环、航向稳定0.5→1.5 m/s,加速度 ≤0.3 m/s²1 min速度超调 ≤10%
S2 巡航达到 1.5 m/sLOS 航路点跟踪、心跳监测1.5 m/s,横向偏差 ≤1 m约 40 min横向偏差收敛,失联告警正常
S3 到点巡检距点位 ≤2 m定点保持、载荷触发停留 3 min,位置漂移 ≤1 m6×3 min6 点位全部触发成功
S4 避障绕行障碍 ≤15 m检测、局部重规划、回归绕行速度 ≤1.0 m/s按需,≤1 min/次无碰撞,≤10 s 回归航线
S5 返航靠泊6 点位完成返航规划、减速、靠泊进港 ≤0.5 m/s约 12 min靠泊位置误差 ≤0.5 m
剖面表的价值在于“可核对”:设计阶段用它分配功能模块,编码阶段用它定义状态机迁移条件,验收阶段用它逐行打勾。任何一行缺少验收判据,就说明该阶段需求还没分析清楚。

约束冲突与取舍检查

需求分析最容易出错的地方不是漏项,而是约束之间互相打架却没被发现。本例至少有三处需要显式检查:

  • 航速 vs 转弯半径:1.5 m/s 巡航时转弯半径会明显大于 3 m。若巡检点位附近岸线曲折,必须在到点前降速到 0.8 m/s 以下,否则无法满足 3 m 转弯半径。剖面表中 S3 应增加“进点降速”子状态。
  • 通信中断 vs 避障:失联期间若同时遇到障碍,船必须能本地自主避障而不能等待岸基指令。因此 S4 的避障逻辑必须完全船载闭环,通信只用于上报,不参与实时控制。
  • 续航 vs 停留巡检:定点保持 3 min 期间电机仍在工作,6 个点位共 18 min 的悬停能耗需计入续航裕度,不能只按航行里程估算。

把这三条写进剖面表的“备注/风险”列,就形成了设计输入的一部分。若某条冲突无法在现有船型上解决,应回到任务方协商放宽指标(例如允许个别点位降速通过、或把通信中断容忍从 30 s 放宽到 60 s),而不是在实现阶段硬扛。

快速复查清单

  • 原始需求是否每条都转成了带数值的约束?
  • 航程、时间、能耗三者是否做过反推校验并留出裕度?
  • 剖面阶段是否覆盖了离泊、加速、巡航、到点、避障、返航全流程?
  • 每个阶段是否都有触发条件、核心功能、关键参数、验收判据四要素?
  • 约束冲突是否已识别并给出取舍或协商结论?
  • 所有示例数值是否明确标注为假设/预期,而非实测?