2. GCS需求分析与任务建模

地面控制站(GCS)的需求不是凭空“想”出来的,而是从无人机要执行的真实飞行任务中“提取”出来的。需求分析的核心工作,是把一段模糊的任务描述,逐步转化为可验证的功能需求、可量化的性能指标、不可逾越的约束条件,以及可驱动软件设计的用例模型。本节以一条典型的测绘巡检任务剖面为主线,完整走一遍这个转化过程。

一、任务剖面:需求的唯一来源

任务剖面(Mission Profile)是对一次完整飞行从起飞到回收的全过程描述,它规定了各阶段的时间、高度、速度、航点、载荷动作和异常处置。需求分析的第一步,就是把任务书翻译成结构化的剖面。假设某电力巡检任务要求:对一段约 12 km 的输电线路进行可见光与红外双光巡检,飞行高度相对地面 80 m,巡航速度 10 m/s,共 24 个航点,每到达一个航点悬停 5 s 并触发双光拍照,全程需在 35 min 内完成,且必须支持一键返航。

把这段描述拆成阶段,可以得到:起飞爬升 → 航线巡航 → 航点悬停拍照 → 返航下降 → 回收。每个阶段都隐含着一组对 GCS 的要求,例如“航点悬停拍照”要求 GCS 能下发航点、触发载荷、接收图像状态;“一键返航”要求 GCS 具备独立于常规链路的应急指令通道。剖面越具体,后续需求越不容易遗漏。

飞行任务剖面 → GCS 需求提取映射 起飞爬升 0→80 m / 30 s 航线巡航 10 m/s / 24 航点 悬停拍照 5 s / 双光触发 返航下降 一键返航 / 降落 回收 数据导出 / 归档 功能需求 • 航点上传与航线执行 • 双光载荷触发与状态回传 • 一键返航 / 紧急悬停 性能指标 • 遥测刷新 ≤ 200 ms • 指令端到端时延 ≤ 300 ms • 航迹偏差告警阈值 5 m 约束条件 • 链路中断 3 s 自动返航 • 单次任务 ≤ 35 min • 图像本地缓存 ≥ 2 GB 用例模型 • 操作员:规划航线、启停任务 • 操作员:查看遥测、处置告警 • 系统:自动返航、数据归档 提取规则 阶段动作 → 功能需求:剖面中“谁在什么时候做什么”,对应 GCS 必须提供的操作与反馈能力。 时间/精度/频率 → 性能指标:剖面中的时限、精度、刷新率,量化为可测试的数值门槛。 边界与异常 → 约束条件:链路、电量、存储、法规等不可突破的限制,决定设计边界与降级策略。

二、从剖面到功能需求

功能需求回答“GCS 必须能做什么”。提取方法是逐阶段追问:这个阶段里,谁需要向谁发出什么信息,系统必须给出什么反馈?以“航线巡航”为例,操作员需要把 24 个航点上传到飞控,GCS 必须提供航线编辑、校验、上传和回读确认四项能力。其中“回读确认”常被忽略,但它决定了操作员能否确认飞控真正收到了航线,而不是只看到本地界面显示成功。

再以“悬停拍照”为例,GCS 需要在到达航点时向载荷发送触发指令,并接收“拍照完成、图像已存储”的状态。由此得到两条功能需求:载荷触发指令下发、载荷状态回传与显示。若任务还要求实时预览,则追加“图像回传与显示”功能。可以看到,功能需求天然带有主语和动作,写成“系统应支持……”的句式,便于后续逐条测试。

三、性能指标的量化

性能指标回答“做到什么程度才算合格”。它必须可测量,否则无法验收。仍以遥测为例,若只说“实时显示遥测”,不同人理解不同;量化为“遥测数据从机载发出到 GCS 界面更新,端到端时延不超过 200 ms,刷新率不低于 5 Hz”,就变成了可测试的指标。

常用指标包括:时延(指令端到端 ≤ 300 ms)、刷新率(遥测 ≥ 5 Hz)、精度(航迹偏差告警阈值 5 m)、容量(单次任务航点 ≥ 100 个)、可用性(任务期间 GCS 无崩溃)。这些数值来自任务剖面的实际约束,而不是拍脑袋。例如 35 min 完成 12 km 巡检,反推出巡航速度约 10 m/s,进而要求 GCS 的航线执行监控刷新率足以让操作员在 1 s 内察觉偏航,这就把刷新率与任务时限联系了起来。

四、约束条件的识别

约束条件回答“哪些边界不能突破”。它通常来自物理、法规和任务三类来源。物理约束如链路中断 3 s 必须自动返航,这是安全底线;法规约束如飞行高度不得超过 120 m;任务约束如单次任务不超过 35 min、图像本地缓存不少于 2 GB。约束条件往往直接决定系统的降级策略:当链路质量下降时,GCS 应降低遥测刷新率以保指令通道,而不是继续满负荷传输图像。

约束条件与性能指标容易混淆:性能指标是“希望达到的水平”,约束条件是“绝对不能越过的红线”。例如“遥测刷新 5 Hz”是性能指标,可以优化;而“链路中断 3 s 自动返航”是约束条件,不可协商。

五、用例模型:把需求变成可设计的对象

用例模型回答“谁与系统交互、交互出什么结果”。它把功能需求组织成参与者(Actor)与用例(Use Case)的关系。本任务的参与者有两类:地面操作员和 GCS 自身(作为自动处置的执行者)。操作员相关的用例包括:规划航线、上传航线、启动任务、监视遥测、处置告警、一键返航、导出数据。系统自动用例包括:链路中断自动返航、低电量告警、图像自动归档。

每个用例还应附带基本流与异常流。以“上传航线”为例,基本流是:操作员编辑航点 → GCS 校验航点间距与高度 → 上传飞控 → 飞控回读 → GCS 显示“上传成功”。异常流包括:航点间距小于安全阈值时拒绝上传并提示;上传超时后自动重试一次,仍失败则提示检查链路。把异常流写清楚,后续测试用例就有了直接来源。

六、一份可填写的需求提取表

把上述过程固化成一张表,可以在实际项目中直接使用。下表以本任务为例,给出需求提取的示例字段与内容,其中数值均为教学示例,实际项目应按任务书核定。

剖面阶段 功能需求 性能指标 约束条件 对应用例
起飞爬升 解锁、起飞指令下发 指令时延 ≤ 300 ms 起飞前 GPS 星数 ≥ 10 启动任务
航线巡航 航点上传、回读确认 航点容量 ≥ 100 个 航点间距 ≥ 20 m 上传航线
悬停拍照 双光触发、状态回传 触发到存储 ≤ 1 s 缓存 ≥ 2 GB 载荷控制
返航下降 一键返航、紧急悬停 返航指令 ≤ 200 ms 链路中断 3 s 自动返航 一键返航
回收 数据导出、日志归档 导出 2 GB ≤ 60 s 日志保留 ≥ 30 天 导出数据

这张表的价值在于:每一行都能追溯到剖面中的具体阶段,每一列都对应后续设计中的一类工作——功能需求驱动界面与指令设计,性能指标驱动通信与调度设计,约束条件驱动安全与降级设计,用例模型驱动模块划分与测试用例编写。需求分析做到这一步,GCS 的软件架构才有了可靠的输入,而不是靠经验拼凑。

实操建议:拿到任务书后,先画剖面时间轴,再逐阶段填写上表。若某一格填不出来,说明该阶段的任务描述还不够具体,应回到任务书补充,而不是在需求阶段用假设填补。