验证阶梯
没有任何单一测试能证明飞控没有问题。团队要一步步建立信心,从快速、低成本、安全的测试逐步走向缓慢、昂贵且有风险的测试:
| 阶段 | 测试内容 | 无法覆盖 |
|---|---|---|
| 单元与模块测试 | 单个函数、滤波器和状态机 | 相互作用、时序和硬件 |
| 软件在环(SIL) | 在电脑上针对仿真飞行器运行完整飞控代码 | 真实处理器时序、真实传感器和输入输出 |
| 硬件在环(HITL) | 真实飞控板与仿真飞行器 | 真实传感器及其安装 |
| 姿态测试台 | 实际转动下的真实传感器与姿态控制 | 平移、空气动力学和室外条件 |
| 系留飞行与飞行测试 | 全部 | 无,但每次测试都耗时且有风险 |
软件在环:每次提交都测试
ArduPilot 和 PX4 都自带软件在环仿真(SITL),可在电脑上针对飞行器模型运行真实飞控代码,并可配合 Gazebo 等物理引擎使用。SIL 不需要硬件,因此可以在每次代码改动时自动运行:航线任务、失效保护、参数修改,以及在空中尝试会有危险的边界情况。
它的盲区是一切物理层面的东西:处理器负载与时序、传感器噪声、线束,以及机架与控制器之间的相互作用。
硬件在环:真实飞控板置于仿真世界
在 HITL 中,飞控代码运行在真实的飞控板上。仿真机用仿真数据代替传感器并读取电机输出,因此真实的处理器、调度器和通信链路都得到检验。PX4 为此提供了 HITL 模式,定制的 HIL 测试台则通过专用输入输出实现同样的功能。
HITL 能发现 SIL 发现不了的超时、接口错误和配置错误,但它仍然绕过了物理传感器,这正是运动平台的用武之地。HIL 测试指南介绍了这类测试台的搭建方法。
姿态测试台:真实传感器,真实运动
在三轴测试台上,整机或按真实方式安装的飞控在横滚、俯仰和偏航方向转动,但不能平移。它自身的陀螺仪和加速度计感受到真实运动,因此传感器对准、振动、滤波和姿态估计器会被一起测试,各轴编码器则为估计结果提供独立参考。
电机驱动的平台每次运行都能重复相同的曲线,从而把姿态测试变成回归测试。把飞行器模型接入回路后,平台可以跟随模型根据控制器输出计算出的姿态,这就是物理 HIL。INFINITE-HIL X1 正是为这一阶段打造的;三自由度测试台指南介绍了测试台的类型和选择标准。
值得自动化的测试用例
- 各轴的阶跃与扫频,用于比较不同固件版本的姿态响应。需要关注哪些指标,请参阅PID 调参指南。
- 扰动抑制:通过模型或平台注入阵风或扰动力矩。
- 传感器故障:陀螺仪数据冻结、加速度计偏置、GNSS 丢失或磁力计干扰,以及随之应触发的失效保护。
- 执行器故障:电机出力不足或失效时控制器的反应。
- 估计器精度:在长时间和多轴组合运动中,将姿态估计与测得的参考值对比。
- 时序与负载:在日志、遥测和载荷软件运行时的回路频率与处理器负载。
把它变成回归测试
- 固定场景。将曲线、模型版本和参数与所测试的固件版本一起保存。
- 定义通过判据。超调量、调节时间、估计误差或失效保护时序,判据界限须在测试前商定。
- 每次发布都运行。每次提交运行 SIL;每个候选版本运行 HITL 和测试台测试。
- 比对记录。把指令值、估计值和测得的参考值放在同一时间基准上,以便叠加比较各次运行。
- 用飞行数据闭环。一旦飞行中暴露出问题,就添加能在地面复现该问题的测试用例。
只有飞行测试才能证明的内容
空气动力学、平移动力学、真实的风、GNSS 表现以及完整的运行环境,只能在空中验证。前面的各个阶段并不能替代飞行测试,而是让您带着更少的未知数进入飞行测试:测试周期更短、事故更少,飞行用于确认而不是发现问题。
对于需要适航认证的航空软件,DO-178C 等标准规定了所需的验证证据,这种分阶段的方法有助于形成这些证据。如需讨论适合您飞控的测试方案,欢迎联系我们。