飞控系统 产品需求文档
| 字段 | 内容 |
|---|---|
| 文档编号 | SUB-FC-V0.1 |
| 版本 | V0.1 |
| 状态 | 草稿 |
| 作者 | 产品团队 |
| 日期 | 2026-04-14 |
| 审核人 | — |
修订记录
| 版本 | 日期 | 修订人 | 修订内容 |
|---|---|---|---|
| V0.1 | 2026-04-14 | 产品团队 | 初稿 |
| V0.2 | 2026-04-16 | 产品团队 | 构型修订:8旋翼→4旋翼(V1),失一/失二容错标注为V2未来版本 |
1. 概述
1.1 目的
本文档定义飞控系统(Flight Controller, FC)的产品需求,作为飞控硬件设计、固件开发、系统集成与测试的依据。飞控系统是整机的"大脑",负责飞行姿态控制、航线执行、任务管理、安全保护等核心功能。
1.2 适用范围
- 适用产品型号:XX 农业无人机
- 适用版本:V1.0 种子用户版(2025年10月交付)
- 飞控基于 PX4 开源飞控平台二次开发,硬件自研已完成
1.3 关联文档
| 文档编号 | 文档名称 | 关系 |
|---|---|---|
| PRD-MASTER-V0.1 | 总体产品需求文档 | 上位需求来源 |
| SUB-ESC-V0.1 | 电调系统PRD | 下游子系统 |
| SUB-SP-V0.1 | 喷洒系统PRD | 下游子系统 |
| SUB-OA-V0.1 | 避障系统PRD | 协作子系统 |
| SUB-NAV-V0.1 | 导航定位系统PRD | 协作子系统 |
| SUB-RC-V0.1 | 遥控器系统PRD | 上游输入 |
| SUB-APP-V0.1 | 操控App系统PRD | 上游输入 |
| ICD-01-V0.1 | 飞控与电调接口 | 接口定义 |
| ICD-02-V0.1 | 飞控与遥控器接口 | 接口定义 |
| ICD-03-V0.1 | 飞控与导航定位接口 | 接口定义 |
| ICD-04-V0.1 | 飞控与避障系统接口 | 接口定义 |
| ICD-05-V0.1 | 飞控与喷洒系统接口 | 接口定义 |
| ICD-07-V0.1 | 飞控与App远程接口(4G) | 接口定义 |
1.4 术语定义
| 术语 | 定义 |
|---|---|
| PX4 | 开源飞控软件平台,提供姿态控制、位置控制、EKF状态估计等标准模块 |
| EKF | 扩展卡尔曼滤波器(Extended Kalman Filter),用于多传感器融合的状态估计 |
| MAVLink | 轻量级无人机通信协议(Micro Air Vehicle Link) |
| IMU | 惯性测量单元(Inertial Measurement Unit),包含加速度计和陀螺仪 |
| RTK | 实时动态差分定位(Real-Time Kinematic),厘米级精度 |
| RTH | 返航(Return To Home) |
| GEO | 地理围栏系统,限制飞行区域 |
| FOC | 磁场定向控制(Field Oriented Control),电机驱动算法 |
| CAN | 控制器局域网络(Controller Area Network),工业级通信总线 |
| PWM | 脉冲宽度调制(Pulse Width Modulation) |
| 仿地飞行 | 地形跟随飞行,飞行器自动跟随地形起伏保持恒定离地高度 |
| 断点续喷 | 作业中途退出后从中断位置恢复继续喷洒 |
2. 系统描述
2.1 子系统职责
飞控系统是飞行器的核心控制单元,负责飞行姿态稳定控制、航线执行、任务管理、喷洒协调、安全保护逻辑总控。基于 PX4 开源飞控平台进行二次开发,标准飞行控制模块复用 PX4 成熟实现,任务管理和喷洒控制相关模块自研开发。
2.2 系统边界
[遥控器指令] [导航定位数据]
(MAVLink) (MAVLink/串口)
│ │
▼ ▼
[避障数据] ──────→ ┌──────────────────────────────┐ ──────→ [电调×4转速指令(V2预留×8)]
(自定义协议) │ │ (CAN总线)
│ 飞控系统 (FC) │
[电池状态] ──────→ │ │ ──────→ [喷洒控制指令]
(电池通信) │ ·姿态控制(复用PX4) │ (自定义协议)
│ ·位置控制(复用PX4) │
│ ·EKF状态估计(复用PX4) │ ──────→ [遥测数据上报]
│ ·任务管理器(自研) │ (MAVLink)
│ ·喷洒控制器(自研) │
│ ·航线执行引擎(自研) │ ──────→ [飞行日志存储]
│ ·安全状态机(自研) │ (SD卡/eMMC)
└──────────────────────────────┘关键输入:
- 遥控器指令:摇杆控制量、飞行模式切换、返航/急停指令(通过MAVLink)
- 导航定位数据:GNSS/RTK位置、速度、航向(通过MAVLink/串口)
- 避障数据:多方向障碍物距离(通过自定义协议)
- 电池状态:电压、电流、温度、SOC(通过电池通信接口)
- App作业参数:航线数据、喷洒参数、地块边界(通过遥控器转发)
关键输出:
- 电调转速指令:4路电机转速控制(通过CAN总线)(V2预留8路)
- 喷洒控制指令:流量设定、开关控制(通过自定义协议)
- 遥测数据:飞行状态、传感器数据、告警信息(通过MAVLink上报遥控器/App)
- 飞行日志:飞行轨迹、传感器原始数据、故障记录(本地存储)
2.3 工作环境
| 参数 | 要求 | 来源/备注 |
|---|---|---|
| 工作温度 | -20°C ~ 60°C | 飞控板载环境温度,飞行器整机工作温度0~40°C(T100手册p28) |
| 存储温度 | -40°C ~ 85°C | 电子元器件工业级标准 |
| 湿度 | 5% ~ 95% RH(无凝露) | — |
| 防护等级 | 飞控模块≥IP67 | T100参考:核心模块IP67(T100手册p29注[4]) |
| 振动环境 | 应通过飞行状态下振动测试(参考MIL-STD-810G) | 需配合减振安装 |
| 特殊环境因素 | 农药腐蚀性气雾、高湿度、粉尘 | 农业作业场景 |
| 电磁环境 | 抗电磁干扰≥10 V/m | T100手册p29 |
3. 功能需求
3.1 硬件平台
状态:自研已完成。 以下需求用于对齐已有硬件设计,确保硬件满足飞控软件运行要求。
3.1.1 主控芯片
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-001 | 主控芯片应具备实时操作系统(RTOS)运行能力,支持NuttX RTOS(PX4默认RTOS) | P0 | 固件运行验证 | PX4架构要求 |
| FC-F-002 | 主控芯片算力应满足400Hz姿态控制环+50Hz位置控制环+EKF融合+任务管理并发运行需求,推荐ARM Cortex-M7及以上 | P0 | 负载率测试 | SYS-F-001~007 |
| FC-F-003 | 主控芯片应具备FPU(浮点运算单元),支持EKF和控制算法的浮点运算 | P0 | 固件编译验证 | PX4架构要求 |
| FC-F-004 | 主控应具备≥1MB Flash、≥512KB RAM,支持PX4固件及自研模块的存储和运行 | P0 | 资源占用分析 | PX4架构要求 |
3.1.2 惯性测量单元(IMU)
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-005 | 飞控应集成至少2组IMU(加速度计+陀螺仪),实现冗余备份 | P0 | 硬件检查+传感器健康监测 | FC安全冗余要求 |
| FC-F-006 | IMU采样率应≥1kHz,满足400Hz姿态控制环的数据输入需求 | P0 | 传感器数据率测试 | FC-P-001 |
| FC-F-007 | IMU安装应配备机械减振结构,振动隔离频率≥100Hz | P0 | 振动频谱分析 | 飞行品质要求 |
| FC-F-008 | 双IMU应支持在线交叉校验与自动故障切换 | P0 | 故障注入测试 | FC-S-001 |
3.1.3 气压计与磁力计
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-009 | 飞控应集成气压计用于高度辅助估计,分辨率≤10cm | P0 | 高度精度测试 | SYS-P-020/021 |
| FC-F-010 | 气压计应具备防风隔离设计,避免旋翼下洗气流导致气压波动 | P0 | 悬停高度稳定性测试 | 飞行品质要求 |
| FC-F-011 | 飞控应集成磁力计用于航向辅助估计,支持校准流程(参考T100手册p35) | P0 | 航向精度测试 | SYS-F-044 |
| FC-F-012 | 磁力计应支持软铁/硬铁补偿校准 | P0 | 校准后航向精度验证 | SYS-F-044 |
3.1.4 硬件接口
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-013 | 飞控应提供≥2路CAN接口(CAN 2.0B或CAN FD),用于电调通信和扩展 | P0 | 硬件接口测试 | ICD-01 |
| FC-F-014 | 飞控应提供≥4路UART/串口,分别用于:导航模块、遥测数据、调试口、预留扩展 | P0 | 接口通信测试 | ICD-02/03 |
| FC-F-015 | 飞控应提供≥1路SPI接口,用于高速传感器(IMU)数据读取 | P0 | 传感器数据读取验证 | FC-F-005 |
| FC-F-016 | 飞控应提供≥1路I2C接口,用于气压计、磁力计等低速传感器 | P0 | 传感器数据读取验证 | FC-F-009/011 |
| FC-F-017 | 飞控应提供PWM输出×4路(V2预留8路),在CAN通信失效时可切换至PWM控制电调 | P1 | PWM信号测试 | ICD-01降级方案 |
| FC-F-018 | 飞控应提供≥2路ADC输入,用于电池电压/电流模拟量采集 | P0 | 电压/电流采集精度验证 | SYS-F-030 |
| FC-F-019 | 飞控应提供GPS/RTK接口(串口或专用接口),支持外接RTK定位模块 | P0 | RTK模块联调 | SYS-F-041 |
| FC-F-020 | 飞控应预留≥2路扩展接口(GPIO/UART/I2C),用于未来功能扩展 | P2 | 硬件检查 | 扩展性要求 |
| FC-F-021 | 飞控应提供USB接口(Type-C或Micro-B),用于固件升级和调试日志导出 | P0 | 连接测试 | 开发调试需求 |
| FC-F-022 | 飞控应提供MicroSD/eMMC存储接口,用于飞行日志记录,容量≥8GB | P0 | 日志写入测试 | SYS-C-004 |
3.2 PX4复用标准模块
标注:复用PX4标准实现。 以下模块直接复用PX4成熟代码,仅做参数调优和必要适配。
3.2.1 姿态控制模块
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-030 | 复用PX4 mc_att_control 模块,实现多旋翼姿态(俯仰/横滚/偏航)闭环控制 | P0 | 飞行姿态响应测试 | SYS-F-004 |
| FC-F-031 | 姿态控制器应支持4旋翼布局的混控矩阵配置(V1四旋翼;V2升级为8旋翼Y型布局) | P0 | 各电机响应验证 | 机型配置 |
| FC-F-032 | 姿态控制环频率应≥400Hz | P0 | 控制环计时测量 | FC-P-001 |
| FC-F-033 | 姿态控制器PID参数应针对本机型(空机73kg级、满载149kg级)进行调优 | P0 | 飞行品质评估 | 机型适配 |
3.2.2 位置控制模块
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-034 | 复用PX4 mc_pos_control 模块,实现多旋翼位置(水平/垂直)闭环控制 | P0 | 定点悬停精度测试 | SYS-F-003 |
| FC-F-035 | 位置控制环频率应≥50Hz | P0 | 控制环计时测量 | FC-P-002 |
| FC-F-036 | 位置控制器应支持速度前馈,确保航线飞行时速度跟踪精度≤0.3m/s | P0 | 航线速度偏差测试 | SYS-P-022 |
| FC-F-037 | 位置控制器应支持高度保持和定点悬停(普通挡/N挡模式,参考T100手册p16) | P0 | 悬停精度测试 | SYS-F-003/005 |
3.2.3 EKF状态估计模块
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-038 | 复用PX4 EKF2模块,融合IMU、气压计、磁力计、GNSS/RTK数据,输出飞行器位置/速度/姿态估计 | P0 | 状态估计精度测试 | SYS-P-020~022 |
| FC-F-039 | EKF应支持多传感器源切换:RTK优先→GNSS→气压计+IMU推算 | P0 | 传感器遮蔽测试 | SYS-S-006 |
| FC-F-040 | EKF应支持传感器健康监测,自动检测并剔除异常传感器数据 | P0 | 故障注入测试 | FC-S-001 |
| FC-F-041 | EKF更新频率应≥200Hz | P0 | 更新率测量 | 状态估计精度要求 |
3.2.4 日志记录模块
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-042 | 复用PX4 logger 模块,以ULog格式记录飞行日志 | P0 | 日志文件解析验证 | SYS-C-004 |
| FC-F-043 | 飞行日志应记录:IMU原始数据、位置/速度/姿态估计、电机输出、电池状态、GPS/RTK数据、喷洒状态、告警事件 | P0 | 日志字段完整性检查 | SYS-C-004 |
| FC-F-044 | 飞行日志记录频率应≥50Hz(关键通道)、≥10Hz(辅助通道) | P0 | 日志数据率验证 | 事后分析需求 |
| FC-F-045 | 飞行日志应支持通过app或USB导出至电脑(参考T100手册p41/p66) | P0 | 日志导出流程验证 | SYS-C-004 |
| FC-F-046 | 故障日志应独立于飞行日志,记录所有告警/故障事件及时间戳,掉电不丢失 | P0 | 掉电恢复测试 | 故障追溯需求 |
3.2.5 参数系统
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-047 | 复用PX4参数系统框架,支持参数的在线读写、持久化存储和恢复默认 | P0 | 参数读写测试 | PX4架构要求 |
| FC-F-048 | 自研模块的参数应遵循PX4参数命名规范,以 XX_ 前缀扩展(如 SP_ 喷洒参数、TM_ 任务管理参数) | P0 | 代码审查 | 代码规范 |
| FC-F-049 | 参数系统应支持通过MAVLink远程读写(App/遥控器设置参数) | P0 | 远程参数设置测试 | SYS-F-024 |
3.3 飞行模式定义
标注:复用PX4标准实现 + 自研扩展。 飞行模式框架复用PX4,部分农业作业模式需自研。
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-050 | 系统应支持以下飞行模式,可通过遥控器挡位开关和App切换 | P0 | 模式切换测试 | SYS-F-005 |
飞行模式定义表:
| 模式名称 | 实现方式 | 描述 | 对应T100挡位 |
|---|---|---|---|
| 手动/姿态模式(S挡) | 复用PX4 Manual/Stabilized | 遥控器直接操控,无GPS定点,仅提供姿态增稳。松杆后飞行器不悬停,会漂移(参考T100手册p16) | 姿态挡(S) |
| 定高模式 | 复用PX4 Altitude | 油门摇杆控制升降速度,松杆保持当前高度,水平方向需手动控制 | — |
| 定点模式(N/F挡) | 复用PX4 Position | 精确悬停,RTK启用时悬停精度水平±10cm、垂直±10cm(参考T100手册p16/p28) | 普通挡(N/F) |
| 航线模式 | 复用PX4 Mission + 自研扩展 | 按预规划航线自动飞行,支持大田航线、AB点航线、果树航线 | 自动作业 |
| 返航模式(RTH) | 复用PX4 RTL + 自研扩展 | 返回返航点,支持智能返航/低电量返航/失控返航(参考T100手册p39-40) | 返航 |
| 降落模式 | 复用PX4 Land | 自动下降并着地停机(参考T100手册p40降落保护) | 降落 |
| 紧急降落模式 | 自研-需详细设计 | 严重低电量/多传感器故障时强制原地降落,不可取消 | 紧急降落 |
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-051 | 遥控器挡位切换默认锁定为普通挡(N/F),切换至姿态挡(S)需在App中解锁(参考T100手册p16) | P0 | 模式切换测试 | SYS-F-005 |
| FC-F-052 | 飞行过程中模式切换应无缝过渡,切换瞬间飞行器不应出现明显抖动或高度/位置跳变 | P0 | 飞行测试 | 飞行品质要求 |
| FC-F-053 | 系统应支持一键起飞:飞行器自动上升至预设高度(默认1.5m)并悬停(参考T100) | P0 | 飞行测试 | SYS-F-001 |
| FC-F-054 | 系统应支持一键降落:飞行器自动下降并着地停机 | P0 | 飞行测试 | SYS-F-002 |
| FC-F-055 | 系统应支持电机启动(双摇杆打杆或单杆解锁)和停止(油门最低保持)操作(参考T100手册p36) | P0 | 飞行测试 | SYS-F-006 |
| FC-F-056 | 系统应支持空中停机:通过急停按键组合(C1+C2+急停键)立即停止所有电机(参考T100手册p36) | P0 | 飞行测试 | SYS-F-007 |
3.4 自研模块——任务管理器
标注:自研-需详细设计。 任务管理器是飞控自研的核心模块,负责作业任务的解析、调度和执行。
3.4.1 航线加载与解析
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-060 | 任务管理器应能接收并解析App下发的作业任务,包括:地块边界、航线航点、喷洒参数、作业模式 | P0 | 任务加载测试 | SYS-F-010~012 |
| FC-F-061 | 应支持大田航线作业:接收地块边界多边形,按设定行距和航向自动生成蛇形喷洒航线(参考T100手册p49-51) | P0 | 航线生成验证 | SYS-F-010 |
| FC-F-062 | 应支持AB点作业:接收A/B两点坐标,按设定行距自动生成平行航线(参考T100手册p52-53) | P0 | 航线生成验证 | SYS-F-011 |
| FC-F-063 | 应支持手动作业模式:遥控器手动操控飞行,通过左拨轮控制喷洒流量,喷洒按键手动开关(参考T100手册p53-54) | P0 | 手动作业测试 | SYS-F-012 |
| FC-F-064 | 应支持果树航线作业:接收三维航线数据,按航点顺序执行飞行和喷洒(参考T100手册p50) | P1 | 航线执行验证 | SYS-F-013 |
| FC-F-065 | 航线数据应支持持久化存储,掉电或重启后可恢复 | P0 | 掉电恢复测试 | 断点续喷要求 |
3.4.2 航线执行引擎
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-066 | 航线执行引擎应按航点顺序控制飞行器飞行,航线跟踪精度偏航距≤0.4m(参考T100手册p28) | P0 | 航线跟踪测试 | SYS-P-022 |
| FC-F-067 | 航线飞行速度应可设定(范围1~10m/s),默认作业速度7m/s,速度偏差≤0.3m/s | P0 | 速度跟踪测试 | SYS-P-011/022 |
| FC-F-068 | 航线端点转弯时应自动关闭喷洒,进入下一条航线时自动开启喷洒(参考T100手册p51) | P0 | 转弯喷洒控制测试 | SYS-S-013 |
| FC-F-069 | 应支持多地块连续作业:按地块顺序自动切换并执行(参考T100手册p53) | P1 | 多地块作业测试 | SYS-F-016 |
| FC-F-070 | 航线执行中应实时监测作业进度(已作业面积/百分比),通过遥测上报App显示 | P0 | App进度显示验证 | 用户体验要求 |
3.4.3 断点续喷逻辑
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-071 | 中途退出作业时(低电量返航/手动退出/无药返航),任务管理器应自动记录断点坐标和作业状态 | P0 | 断点记录验证 | SYS-F-015 |
| FC-F-072 | 断点信息应包括:当前航线编号、航点序号、精确坐标、喷洒状态、已完成区域边界 | P0 | 断点数据完整性检查 | SYS-F-015 |
| FC-F-073 | 支持从断点恢复作业:飞行器飞至断点位置后继续执行剩余航线,断点坐标偏差≤0.5m | P0 | 断点续喷精度测试 | SYS-F-015 |
| FC-F-074 | 应支持智能断点续航:根据断点位置和飞行器当前位置计算最优返回点,减少空载飞行(参考T100手册p55) | P1 | 路径优化验证 | SYS-F-017 |
| FC-F-075 | 断点数据应持久化存储,支持更换电池后恢复作业 | P0 | 换电池恢复测试 | SYS-F-015 |
3.5 自研模块——喷洒控制器
标注:自研-需详细设计。 喷洒控制器负责将飞行状态与喷洒动作联动,实现精准均匀喷洒。
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-080 | 喷洒控制器应根据用户设定的亩用量和航线参数,自动计算目标喷洒流量 | P0 | 流量计算验证 | SYS-P-030~032 |
| FC-F-081 | 应实现速度-流量联动算法:飞行速度变化时自动调节喷洒流量,保持单位面积施药量恒定(参考T100智能喷洒逻辑) | P0 | 变速喷洒均匀度测试 | SYS-P-033 |
| FC-F-082 | 速度-流量联动的响应延迟应≤200ms | P0 | 延迟测量 | 喷洒均匀度要求 |
| FC-F-083 | 应支持通过左拨轮手动调节喷洒流量(手动作业模式,参考T100手册p20) | P0 | 手动调节测试 | SYS-F-012 |
| FC-F-084 | 应实现地块边界检测:飞行器飞出作业地块边界时自动关闭喷洒,防止药液浪费和环境污染 | P0 | 边界检测测试 | SYS-S-013 |
| FC-F-085 | 应支持无药告警:根据流量积分计算剩余药量,药液不足时通过App告警,药液耗尽时自动关闭喷头(参考T100手册p56) | P0 | 无药告警测试 | SYS-F-018 |
| FC-F-086 | 应支持作业箱药液余量预估:根据剩余药量和航线计算预计无药点坐标,在App地图上显示(参考T100手册p56) | P0 | 预估精度验证 | SYS-S-012 |
| FC-F-087 | 喷洒控制指令应通过自定义协议发送至喷洒系统(详见ICD-05) | P0 | 接口联调 | ICD-05 |
| FC-F-088 | 应接收喷洒系统回报的实际流量数据,与目标流量进行闭环校验 | P0 | 流量闭环验证 | SYS-S-014 |
3.6 自研模块——地形跟随
标注:自研-需详细设计。 仿地飞行高度控制,依赖下视测距传感器(雷达/视觉)数据。
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-090 | 应支持仿地飞行模式:飞行器根据下视测距数据自动调节飞行高度,保持恒定离地高度(AGL) | P0 | 起伏地形飞行测试 | SYS-F-026 |
| FC-F-091 | 仿地飞行高度设定范围1.5~30m(默认3m),可在App中设置(参考T100手册p14) | P0 | 高度设定验证 | SYS-F-026 |
| FC-F-092 | 仿地飞行高度控制精度应≤±0.3m(平坦地形) | P0 | 高度跟踪测试 | 喷洒均匀度要求 |
| FC-F-093 | 应根据作业场景(平地/山地/果树/水面)自动选择仿地或绕行策略(参考T100手册p14) | P1 | 场景切换测试 | SYS-F-026 |
| FC-F-094 | 定高功能不可用时(如下视传感器故障),高度应相对于起飞点计算,并通过App提示用户(参考T100手册p14) | P0 | 传感器故障测试 | SYS-F-026 |
3.7 自研模块——避障响应
标注:自研-需详细设计。 飞控接收避障子系统的障碍物数据后,执行飞行决策。
| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-095 | 飞控应接收避障系统的多方向障碍物距离数据(前/后/左/右/上/下),更新频率≥10Hz | P0 | 数据接收验证 | ICD-04 |
| FC-F-096 | 自动刹停:前方障碍物距离≤安全阈值时,飞行器应自动减速至刹停(参考T100手册p13) | P0 | 障碍物模拟测试 | SYS-F-025 |
| FC-F-097 | 自动绕行:在作业模式下开启全向避障后,检测到障碍物时飞行器应尝试绕行继续作业(参考T100手册p13) | P0 | 绕行路径测试 | SYS-F-025 |
| FC-F-098 | 返航避障:返航路径上遇到障碍物时,自动绕行或升高避让(参考T100手册p40) | P0 | 返航避障测试 | SYS-F-027 |
| FC-F-099 | 手动作业模式下仅支持定高功能(不自动绕行),App应提示用户手动控制飞行方向避开障碍物(参考T100手册p14) | P0 | 手动模式避障行为验证 | SYS-F-025 |
| FC-F-100 | 避障功能可在App中按作业场景开启/关闭(参考T100手册p13) | P0 | 设置功能验证 | SYS-F-025 |
| FC-F-101 | 有效避障速度范围应≤13.8m/s(参考T100手册p28) | P0 | 高速避障测试 | SYS-P-010 |
3.8 自研模块——安全状态机
标注:自研-需详细设计。 安全状态机是飞控安全保护的总控逻辑。
状态定义与转换规则:
传感器正常 & 电量充足 & 通信正常
┌───────────────────────────┐
│ │
▼ │
┌──────────┐ 单传感器异常/ ┌──────────┐
│ 正常状态 │───通信弱信号──────→│ 预警状态 │
│ (NORMAL) │ │ (WARNING) │
└──────────┘ └─────┬────┘
│ │
│ 严重低电量/多传感器故障/ │ 预警升级/
│ 通信完全丢失 │ 情况恶化
│ │
▼ ▼
┌──────────┐ ┌──────────┐
│ 保护状态 │←─────────────────│ 保护状态 │
│(PROTECTED)│ │(PROTECTED)│
└─────┬────┘ └──────────┘
│
│ 电机失效/姿态不可控/
│ 严重低电量不可飞行
▼
┌──────────┐
│ 紧急着陆 │
│(EMERGENCY) │
└──────────┘| 编号 | 需求描述 | 优先级 | 验证方式 | 来源 |
|---|---|---|---|---|
| FC-F-110 | 安全状态机应定义四级状态:正常(NORMAL)→预警(WARNING)→保护(PROTECTED)→紧急着陆(EMERGENCY) | P0 | 状态机测试 | SYS-S-001~007 |
| FC-F-111 | 正常→预警触发条件:单个IMU异常、单个GPS天线异常、遥控器信号RSSI低于阈值、电池电量降至普通低电量阈值、单个电调通信异常 | P0 | 故障注入测试 | SYS-S-001~006 |
| FC-F-112 | 预警→保护触发条件:遥控器信号丢失超3秒(触发失控返航,参考T100手册p40/43)、电量降至严重低电量阈值、RTK+GNSS均丢失、双IMU异常 | P0 | 故障注入测试 | SYS-S-001~006 |
| FC-F-113 | 保护→紧急着陆触发条件:电量极低(无法维持飞行)、多电机失效(飞行器不可控)、所有定位源丢失 | P0 | 故障注入测试 | SYS-S-002~004 |
| FC-F-114 | 各状态对应的系统响应:预警→App/遥控器声光告警;保护→自动执行返航或降落;紧急着陆→强制原地降落,不可取消 | P0 | 系统响应验证 | SYS-S-001~007 |
| FC-F-115 | 状态转换事件应全部记录至故障日志 | P0 | 日志完整性检查 | FC-F-046 |
4. 性能需求
| 编号 | 性能指标 | 我方目标值 | T100参考值 | 优先级 | 验证方式 |
|---|---|---|---|---|---|
| FC-P-001 | 姿态控制环频率 | ≥400 Hz | — | P0 | 控制环计时测量 |
| FC-P-002 | 位置控制环频率 | ≥50 Hz | — | P0 | 控制环计时测量 |
| FC-P-003 | EKF状态估计更新频率 | ≥200 Hz | — | P0 | 更新率测量 |
| FC-P-004 | 定位精度(配合RTK) | 水平±2cm,垂直±3cm(原始定位) | — | P0 | RTK精度测试 |
| FC-P-005 | 悬停精度(RTK开启) | 水平±10cm,垂直±10cm | 水平±10cm,垂直±10cm | P0 | 悬停精度测试(T100手册p28) |
| FC-P-006 | 悬停精度(RTK关闭) | 水平±60cm,垂直±30cm | 水平±60cm,垂直±30cm | P0 | 悬停精度测试(T100手册p28) |
| FC-P-007 | 航线跟踪精度(偏航距) | ≤0.4m | ≤0.4m | P0 | 航线飞行GPS轨迹分析(T100手册p28) |
| FC-P-008 | 航线飞行速度偏差 | ≤0.3 m/s | ≤0.3 m/s | P0 | 速度记录分析(T100手册p28) |
| FC-P-009 | 故障检测响应时间(传感器故障→状态机转换) | ≤100 ms | — | P0 | 故障注入+时间戳分析 |
| FC-P-010 | 紧急停机响应时间(急停信号→电机停转) | ≤50 ms | — | P0 | 急停信号→电机停转时间测量 |
| FC-P-011 | 飞控系统启动时间(上电→就绪) | ≤30 s | — | P1 | 启动计时 |
| FC-P-012 | 速度-流量联动响应延迟 | ≤200 ms | — | P0 | 速度变化→流量变化时间测量 |
| FC-P-013 | 仿地飞行高度控制精度 | ≤±0.3m(平坦地形) | — | P0 | 仿地飞行高度记录分析 |
| FC-P-014 | 飞行日志记录丢帧率 | ≤1% | — | P1 | 日志连续性分析 |
| FC-P-015 | MCU CPU负载率(正常飞行) | ≤70% | — | P0 | 运行时负载监测 |
| FC-P-016 | MCU CPU负载率(峰值,全功能运行) | ≤85% | — | P0 | 全功能压力测试 |
5. 安全需求
| 编号 | 安全需求描述 | 触发条件 | 系统响应 | 优先级 | 验证方式 |
|---|---|---|---|---|---|
| FC-S-001 | 传感器冗余与故障切换:双IMU在线交叉校验,单IMU故障时自动切换至备份IMU继续飞行 | 单IMU数据异常(噪声/漂移/无响应) | 切换备份IMU,预警告警 | P0 | 故障注入测试 |
| FC-S-002 | [V2-未来版本] 电机失效降级飞行(失一):8旋翼中单个电机/电调失效时,飞控自动调整混控矩阵,向失效电机对侧偏航维持可控飞行并安全降落(参考T100手册p43)。V1四旋翼不支持失一容错。 | 单个电调反馈丢失或转速异常 | V1:告警+立即降落;V2:降级飞行+告警+建议降落 | P0(V2) | 模拟故障飞行测试 |
| FC-S-003 | [V2-未来版本] 电机失效降级飞行(失二):两个非相邻电机失效时,飞控应尽量维持可控飞行;两个相邻电机失效导致不可控时,应立即关闭所有电机减少伤害(参考T100手册p43)。V1四旋翼不适用。 | 多个电调反馈丢失 | V2:失二可控→降级降落;失二不可控→关闭电机 | P0(V2) | 模拟故障测试 |
| FC-S-004 | 地理围栏(GEO):飞控应执行地理围栏限制——禁飞区自动降落、限高区限制高度、授权区需解锁(参考T100手册p32-33) | 飞行器进入/接近限制区域 | 按区域类型执行对应限制 | P0 | GEO系统联调 |
| FC-S-005 | 最低电量强制返航:普通低电量阈值触发时,App告警并建议返航,用户可选择继续飞行 | 电池SOC降至普通低电量阈值 | 告警+可选返航 | P0 | 电量模拟测试 |
| FC-S-006 | 最低电量强制降落:严重低电量阈值触发时,强制原地降落,用户不可取消(参考T100手册p40/43) | 电池SOC降至严重低电量阈值 | 强制降落,不可取消 | P0 | 电量模拟测试 |
| FC-S-007 | 失控返航:遥控器信号丢失超3秒后,自动执行预设动作(返航/降落/悬停),默认返航(参考T100手册p40/43) | 遥控器MAVLink心跳超时>3s | 执行预设失控保护动作 | P0 | 信号屏蔽测试 |
| FC-S-008 | 定位丢失处理:RTK丢失时自动切换GNSS;GNSS也不可用时切换姿态模式并提示用户谨慎飞行(参考T100手册p43) | RTK/GNSS信号丢失 | 逐级降级定位源+告警 | P0 | 信号屏蔽测试 |
| FC-S-009 | 过热保护:电池严重过热告警时,App提示并建议立即降落或返航(参考T100手册p43) | 电池温度超过过热阈值 | 告警+建议降落 | P0 | 温度模拟测试 |
| FC-S-010 | 高度和距离限制:飞控应执行App中设置的最大飞行高度(默认30m)和最远飞行距离(默认2000m),到达限制时自动刹停(参考T100手册p33) | 飞行高度/距离达到限制值 | 刹停/无法继续飞行 | P0 | 飞行测试 |
| FC-S-011 | 返航高度安全:返航时飞行器高度低于设定返航高度时先爬升,高于时以当前高度返航(参考T100手册p40) | 触发返航 | 按规则调整返航高度 | P0 | 返航测试 |
| FC-S-012 | 降落保护:到达返航点上方后下降至3m悬停,等待用户确认后降落(参考T100手册p40) | 返航到达返航点上方 | 3m悬停等待确认 | P1 | 返航降落测试 |
6. 合规需求
| 编号 | 法规/标准 | 需求描述 | 优先级 | 认证周期预估 |
|---|---|---|---|---|
| FC-C-001 | 国务院令第761号 | 飞控系统在设计上应确保整机最大起飞重量可控≤150kg,飞控应支持起飞前载荷预检和超重告警 | P0(硬性) | — |
| FC-C-002 | GB/T 43071-2023 | 飞控相关的安全功能(失控保护、低电量保护、地理围栏)应满足国标技术要求 | P0 | — |
| FC-C-003 | 飞行数据记录 | 飞控应完整记录飞行数据(轨迹、时间、速度、高度、作业参数),支持监管检查和事后追溯 | P0 | — |
| FC-C-004 | 实名登记支持 | 飞控应存储飞行器唯一序列号,支持通过民航局系统完成实名登记(参考T100手册p3) | P0 | — |
7. 接口需求
| 接口编号 | 对端子系统 | 接口类型 | 通信协议 | 详细定义文档 |
|---|---|---|---|---|
| FC-I-001 | 电调系统(ESC×4,V2扩展×8) | CAN总线(有线) | 自定义CAN协议 | ICD-01-V0.1 |
| FC-I-002 | 遥控器系统(RC) | 直连数据链(AR8131) | MAVLink | ICD-02-V0.1 |
| FC-I-003 | 导航定位系统(NAV) | UART串口(有线) | MAVLink / NMEA | ICD-03-V0.1 |
| FC-I-004 | 避障系统(OA) | UART/CAN(有线) | 自定义协议 | ICD-04-V0.1 |
| FC-I-005 | 喷洒系统(SP) | UART/CAN(有线) | 自定义协议 | ICD-05-V0.1 |
| FC-I-006 | 操控App(远程4G) | 4G LTE网络 | MAVLink over 4G | ICD-07-V0.1 |
| FC-I-007 | 动力电池(PS) | 电池通信接口(SMBus/I2C/自定义) | 电池协议 | ICD-08-V0.1 |
| FC-I-008 | DJI Assistant 2 / USB调试 | USB Type-C(有线) | USB CDC / MAVLink | — |
8. 约束与假设
8.1 设计约束
- 硬件约束:飞控硬件已自研完成,软件需求需与已有硬件能力对齐。硬件变更需走变更评审流程。
- 软件约束:基于PX4(NuttX RTOS)开发,自研模块应遵循PX4模块架构规范(uORB消息机制)。PX4版本应锁定主线稳定版,避免频繁跟随上游更新。
- 成本约束:飞控主板BOM成本应控制在合理范围内(具体目标待与硬件团队确认)。
- 重量约束:飞控模块(含所有板载传感器和连接器)重量应≤200g,以配合整机≤150kg的硬性约束。
8.2 假设条件
- 假设遥控器与飞行器之间的通信链路由遥控器子系统负责,飞控仅处理已解码的MAVLink数据。
- 假设导航定位模块直接输出高精度位置数据,飞控不负责RTK差分解算。
- 假设避障系统输出的是经过融合处理的障碍物距离数据,飞控不参与传感器原始数据处理。
- 假设电池BMS直接输出SOC/电压/温度等状态数据,飞控不负责电池状态估算。
- 假设App已完成航线规划和参数设定,飞控只负责接收和执行。
9. 验收标准
9.1 种子用户版(V1.0,10月交付)必须通过项
| 测试项 | 通过标准 | 对应需求编号 |
|---|---|---|
| 基本飞行控制 | 起飞/悬停/降落/航向控制正常,无异常抖动 | FC-F-030~037, FC-F-053~056 |
| RTK定位悬停 | RTK开启后悬停精度水平±10cm | FC-P-005 |
| 大田航线作业 | 自动航线飞行+喷洒完成,航迹偏差≤0.5m | FC-F-061/066~068 |
| AB点作业 | AB点航线生成+自动飞行喷洒正常 | FC-F-062/066~068 |
| 手动作业 | 遥控器操控+手动喷洒正常 | FC-F-063/083 |
| 断点续喷 | 断点记录→恢复飞行→断点坐标偏差≤0.5m | FC-F-071~075 |
| 低电量返航 | 普通低电量告警+严重低电量强制降落 | FC-S-005/006 |
| 失控返航 | 信号丢失3秒内触发返航 | FC-S-007 |
| 避障刹停 | 正面障碍物自动刹停,距离≥1m | FC-F-096 |
| 紧急停机 | 急停按键组合→电机立即停止 | FC-F-056, FC-P-010 |
| 传感器冗余 | 单IMU故障自动切换,飞行不中断 | FC-S-001 |
| 电机失效降级 | 单电机失效时可控降落 | FC-S-002 |
| 安全状态机 | 四级状态转换正确,响应动作正确 | FC-F-110~115 |
| 飞行日志 | 日志完整记录+可导出 | FC-F-042~046 |
9.2 应当通过项
| 测试项 | 通过标准 | 对应需求编号 |
|---|---|---|
| 果树航线作业 | 三维航线执行基本可用 | FC-F-064 |
| 多地块连续作业 | 多地块自动顺序执行 | FC-F-069 |
| 智能断点续航 | 最优返回路径计算正确 | FC-F-074 |
| 地形跟随 | 仿地飞行高度误差≤±0.3m | FC-F-090~094 |
| 返航避障 | 返航路径上自动绕行 | FC-F-098 |
| 降落保护 | 3m悬停等待确认后降落 | FC-S-012 |
9.3 可延后项
| 测试项 | 计划版本 | 对应需求编号 |
|---|---|---|
| 航测模式飞行支持 | V1.5 | — |
| 多机协同任务管理 | V1.5 | — |
| 处方图变量喷洒控制逻辑 | V1.5 | — |
| 高海拔(4500m)飞行验证 | V1.5 | — |
10. 待决事项 (TBD)
| 编号 | 事项描述 | 责任人 | 期望决定日期 | 影响范围 |
|---|---|---|---|---|
| TBD-FC-001 | 飞控主控芯片具体型号确认(目前已选型完成,需文档对齐) | 硬件工程师 | 2025-05 | FC-F-001~004 |
| TBD-FC-002 | 4旋翼布局混控矩阵参数需通过飞行测试确定(V2升级8旋翼Y型布局时需重新标定) | 飞控工程师 | 2025-06 | FC-F-031/033 |
| TBD-FC-003 | 普通低电量/严重低电量/极低电量的SOC阈值需确定 | 系统工程师 | 2025-05 | FC-S-005/006, FC-F-113 |
| TBD-FC-004 | 避障系统与飞控之间的具体协议格式待定义(依赖避障子系统选型) | 避障/飞控工程师 | 2025-06 | FC-F-095~101, ICD-04 |
| TBD-FC-005 | 喷洒控制的速度-流量联动算法具体实现方案待确定 | 飞控/喷洒工程师 | 2025-06 | FC-F-081/082 |
| TBD-FC-006 | 电池BMS通信协议待确定(依赖电池供应商选型) | 电池/飞控工程师 | 2025-05 | FC-I-007 |
| TBD-FC-007 | 失控保护预设动作的默认值和用户可配置范围待确定 | 产品经理 | 2025-05 | FC-S-007 |
| TBD-FC-008 | 飞控主板BOM成本目标待确认 | 硬件/采购 | 2025-05 | 8.1设计约束 |
附录
附录A:需求追溯矩阵
| 子系统需求编号 | 系统级需求来源 | 验证方式 | 验证状态 |
|---|---|---|---|
| FC-F-001~004 | PX4架构要求 | 固件运行验证 | 未验证 |
| FC-F-005~008 | FC安全冗余要求 | 传感器测试 | 未验证 |
| FC-F-030~033 | SYS-F-004/005 | 飞行测试 | 未验证 |
| FC-F-034~037 | SYS-F-003/005, SYS-P-022 | 飞行测试 | 未验证 |
| FC-F-038~041 | SYS-P-020~022, SYS-S-006 | 状态估计测试 | 未验证 |
| FC-F-050~056 | SYS-F-001~007 | 飞行测试 | 未验证 |
| FC-F-060~065 | SYS-F-010~015 | 航线/任务测试 | 未验证 |
| FC-F-066~070 | SYS-F-010~016, SYS-P-022 | 航线执行测试 | 未验证 |
| FC-F-071~075 | SYS-F-015/017 | 断点续喷测试 | 未验证 |
| FC-F-080~088 | SYS-F-018, SYS-P-030~033, SYS-S-012~014 | 喷洒控制测试 | 未验证 |
| FC-F-090~094 | SYS-F-026 | 仿地飞行测试 | 未验证 |
| FC-F-095~101 | SYS-F-025/027 | 避障测试 | 未验证 |
| FC-F-110~115 | SYS-S-001~007 | 安全状态机测试 | 未验证 |
| FC-S-001~012 | SYS-S-001~007, SYS-F-020~028 | 安全测试 | 未验证 |
| FC-C-001~004 | SYS-C-001~004 | 合规审查 | 未验证 |
