跳转至

基线悬停与日志证据

调校的第一份有效输入不是参数建议,而是当前整机在已知配置下的短时飞行日志。 本节只建立健康基线,不优化滤波、比例积分微分控制器(PID,Proportional-Integral-Derivative Controller)或前馈。没有已授权的C层首次飞行时保持阻断;动作没有执行时记为未测试;动作已执行但日志不完整或采样条件不明时,证据充分性写为不足,结果记为无效基线悬停日志证据链

日志丢帧、采样率、奈奎斯特频率、混叠、快速傅里叶变换等术语统一按专题术语表解释。

固定工作顺序

整个06专题使用同一顺序: 1. 完成C层最小离地检查;出现初始控制振荡时,先按01和03的C-S回路保守稳定; 2. 取得已授权C层静态基线悬停日志; 3. 检查日志完整性、采样率和配置身份; 4. C层通过后,为小幅单轴诊断输入取得D0独立授权; 5. 先完成机械振动整改; 6. 再依据频谱配置滤波; 7. 最后才进行最终PID和前馈调校。 不得跳过前一项去试后一项。 不得通过增加滤波掩盖松动、弯轴、坏桨、轴承损伤或软安装碰壳。 不得从PID开始处理一架尚未证明机械健康、日志可用的飞行器。

本节的交付目标

完成后应得到: - 一份与当前硬件、载荷和固件对应的配置快照; - 一份已批准的C层首次飞行测试卡; - 至少一段可识别起飞、稳定悬停和着陆的C层原始日志; - 若需要主动单轴诊断,另有一段与D0授权对应的原始日志; - 一份日志完整性审查记录; - 一份落地后电机与电调温度记录; - 一份机械、滤波和控制问题的待办分流表; - 一个能够恢复到测试前状态的回滚包。 “飞起来了”不是交付结果。

C与D0授权是硬门禁

这里的C层承接无桨总体验收与首次飞行交付,并采用本专题细分后的固定路径。 开始前必须确认: - A层无桨总体验收已经通过; - B1受控动力组合台架已经通过; - B2受防护整机装桨地面试验已经通过; - 场地、空域、人员和操作者资质已经批准; - 飞行器身份、固件目标和版本已经固定; - 电池、螺旋桨和任务载荷与测试卡一致; - 解锁检查和失联动作保持有效,空中立即降落、迫降或平台特定失控处置已经映射;地面独立断能只用于未起飞或接地后的总急停; - 观察员知道口令和中止条件; - 日志存储容量足够且已经做过写入验证; - 当前配置可导出、可比较、可恢复。 任何一项不满足,状态写为阻断,不得以“只悬停几秒”为理由解锁。

C层授权只覆盖起飞、静态低空悬停和降落。用于频谱或控制诊断的小幅滚转、俯仰和偏航输入属于D0,必须在C通过后另建测试卡,记录授权编号、允许动作、幅度、持续时间、包线、中止条件和签署人。

基线不是调校结果

基线回答的是“当前状态是什么”,不是“当前状态是否最优”。 基线飞行只允许验证: - 飞行器能否受控起飞; - 能否在低风险包线内稳定悬停; - 基本角速度和姿态响应是否可控; - 是否存在明显振荡、漂移、饱和或动力异常; - 日志是否记录了分析所需字段; - 电机和电调是否出现异常温升。 基线阶段不做: - 连续大幅阶跃; - 高频快速打杆; - 满油门爬升; - 翻滚、急停或甩尾; - 自动调参; - 飞行中修改增益; - 同时修改滤波和PID; - 为了得到“漂亮曲线”延长异常飞行。

冻结测试身份

每次飞行前记录: | 字段 | 必须填写 | | --- | --- | | 飞行器 | 唯一编号、机架和起飞质量 | | 动力 | 电机、螺旋桨、旋向、电子调速器和电池 | | 安装 | 飞控固定方式、减振件、线束和载荷 | | 软件 | 固件、目标、提交或发布版本、配置工具 | | 参数 | 完整导出文件及摘要 | | 日志 | 设备、模式、字段、标称记录比例或频率 | | 环境 | 场地、风、温度、地面和海拔 | | 人员 | 操作者、观察员、批准人 | | 恢复 | 基线配置、恢复步骤和负责人 | 更换螺旋桨、电池规格、载荷、飞控安装、机臂或电机后,旧日志不能直接作为新状态的健康基线。

先验证日志链路

装桨飞行前,先在拆桨状态完成一次日志链路演练: 1. 导出当前完整配置; 2. 确认日志设备真实存在且可写; 3. 清理或更换存储介质时保留旧证据; 4. 启动一次短记录; 5. 产生可识别的传感器和遥控输入; 6. 正常停止记录并等待写入结束; 7. 下载原始文件; 8. 用与固件兼容的工具打开; 9. 核对文件头、时间戳、字段和单位; 10. 检查是否报告丢帧、损坏段或时间跳变; 11. 保存原始文件,不只保存截图; 12. 恢复所有临时日志设置。 拆桨演练只能证明记录链路工作,不能代替飞行振动数据。

平台日志入口

Betaflight 2026.6.2

先用版本输出和配置导出固定2026.6.2身份。 Blackbox记录比例是PID循环迭代的分数。 界面中的默认1/4不等于固定Hz;有效记录频率还取决于实际PID loop。 很多目标的日志设备可能是NONE。看到Blackbox页面不代表板上有可用闪存或SD卡。 飞行前必须确认: - 日志设备不是NONE且能完成写入; - 实际PID loop已记录; - 记录比例已记录; - 有效采样率由实际循环率和记录比例计算; - 所需原始或调试字段确实存在; - Blackbox Explorer能够完整解析日志。 设备为NONE、文件为空或无法确定有效采样率时,不得做频谱或PID结论。

INAV 9.1.0

使用9.1.0发布版和对应配置器固定身份。 INAV Blackbox的记录比例同样表示控制循环迭代的抽取比例。 约1/32的低记录比例只能延长记录时间,细节通常不足以诊断振动或PID问题。 飞行前应核对所需的陀螺仪、加速度计、PID、导航、遥控和电机字段,而不是假设它们都会出现。 出现丢帧时,应先解决存储写入、串口带宽或采样配置,不能把缺口解释为“振动消失”。

ArduPilot Copter 4.7.1

使用官方Copter-4.7.1发布入口固定版本。 保存DataFlash原始日志、参数文件、消息和模式时间线。 基线至少应能关联: - 解锁、起飞、悬停和着陆时段; - 姿态与目标; - 角速度与控制输出; - IMU振动与裁剪计数; - 电机或执行器输出; - 电池状态; - EKF和故障消息。 VIBEClipping判据属于ArduPilot平台字段,不能移植成其他固件的通用阈值。

PX4 v1.17.0

使用v1.17版本化文档和飞控报告固定版本。 需要频谱和跟踪分析时,先确认高频日志配置已经生效,并记录实际主题更新率。 保存原始ULog、参数快照、机型配置和事件信息。 日志上传工具生成的图表是派生结果,不能替代原始ULog。

有效采样率与可见频带

若控制循环实际频率为(f_{loop}),记录比例为(n/d),理想有效采样率近似为: [ f_s=f_{loop}\times\frac{n}{d} ] 能够无混叠表示的理论最高频率不超过: [ f_N=\frac{f_s}{2} ] 实际可用频带还会受到传感器内部滤波、固件抽取、时间抖动、字段更新率和日志丢帧影响。 因此必须同时记录: - 实际循环频率; - 日志抽取比例; - 字段自身更新率; - 抽取前信号带宽、滤波位置和截止频率; - 解码器报告的丢帧; - 时间戳是否连续; - 分析窗口长度。

只按控制循环抽取日志不会自动证明抗混叠成立。高于新奈奎斯特频率的能量若在抽取前没有被充分抑制,可能折叠成虚假的低频峰。关键峰应使用更高记录率、原始惯性测量单元数据或独立传感器复核;无法证明抽取前带宽时,只能把峰标为候选线索。

只写“Blackbox 1/4”或“高频日志已开”不足以证明频谱有效。

基线悬停测试卡

目标

在最小风险包线内取得完整、可重复的健康基线,不进行性能调校。

环境

  • 风力和阵风在项目批准范围内;
  • 场地远离人员、车辆和障碍物;
  • 起降面不会卷入碎石或草屑;
  • 保留足够的迫降缓冲区;
  • 光照和能见度满足目视判断;
  • 电池温度和环境温度已记录。

C层静态悬停动作

  1. 上电后核对身份、模式和记录状态;
  2. 观察静止段,保留数秒零输入数据;
  3. 解锁并平稳离地;
  4. 在低高度进入稳定悬停;
  5. 保持中立输入,记录基本噪声和漂移;
  6. 平稳着陆,接地后立即上锁(Disarm);
  7. 等待日志写入完成后断电。

D0单轴诊断动作

C层结果和日志完整性已经通过、D0测试卡另行签署后,才可执行:

  1. 先重复C层短时悬停,确认基线没有退化;
  2. 只做测试卡规定的小幅、低频滚转输入;
  3. 恢复悬停,观察动作后衰减;
  4. 只做小幅、低频俯仰输入并恢复;
  5. 只做小幅、低频偏航输入并恢复;
  6. 不扩大幅度、不改变参数、不切换未批准模式;
  7. 平稳着陆、上锁并完成试后检查。

动作幅度、持续时间和高度必须在批准的测试卡中量化。

空中中止条件

出现以下任一项立即落地: - 高频尖锐振荡; - 振荡幅度持续增加; - 无输入明显滚转、俯仰或偏航; - 电机音调突变、失步或输出不一致; - 推力明显不足或突然上升; - 姿态估计跳变; - 遥控或遥测链路告警; - 电池压降或电流异常; - 任何人员进入隔离区; - 操作者无法明确识别当前模式。 紧急情况下优先执行批准的中止动作,不为保护日志延迟处置。

落地后的固定动作

每次短测试后都要: 1. 上锁并确认执行器解除使能; 2. 确认所有电机停止; 3. 记录飞行持续时间; 4. 按测试程序检查各电机和电调温度; 5. 比较各电机之间的温差; 6. 检查气味、异响、松动和碰擦; 7. 下载并只读保存原始日志; 8. 核对日志是否对应本次飞行; 9. 分别填写执行状态、证据充分性和通过、不通过或无效结果; 10. 决定回滚、机械检查或下一次单变量测试。 “手能摸住”不是跨机型通用温度判据。 接触测温必须考虑旋转件停止、表面可达性和烫伤风险;项目有温度传感器时优先记录数值和测点。

日志完整性门禁

只有同时满足以下条件,日志才可进入分析:

  • 文件头能识别固件和版本;
  • 参数或配置与飞行时状态对应;
  • 起飞前、悬停、测试动作和着陆时间段可定位;
  • 关键字段存在且单位明确;
  • 时间戳单调且持续时间合理;
  • 实际采样率可以计算或直接验证;
  • 丢帧、dropout和损坏段已量化;
  • 目标动作前后没有覆盖关键窗口的缺口;
  • 电机输出、目标和测量可以时间对齐;
  • 文件没有被二次导出覆盖原始精度。

日志存在dropout但不影响某个低频结论时,也必须说明缺口位置和适用范围。

日志dropout覆盖关键动作、采样率不明或字段更新率不明时,禁止下结论。

建立证据时间线

为每个动作标注:

时间段 操作与预期 必看证据
静止 未解锁、零输入 传感器噪声、时间连续性
离地 缓慢增加推力 电机输出、压降、瞬态
悬停 中立输入 噪声、姿态、积分和余量
小幅滚转 单轴输入 目标、响应、输出
小幅俯仰 单轴输入 目标、响应、输出
小幅偏航 单轴输入 目标、响应、输出
恢复 输入回中 过冲、衰减、慢漂
着陆 降低推力、接地后上锁 冲击、裁剪、日志结束

起飞和着陆冲击不能混入稳定悬停频谱。

飞手修正、阵风和自动位置控制动作也不能假装成纯粹的系统响应。

第一轮只做分流

基线日志只把问题分到以下类别:

  • 日志问题:采样、字段、时间或完整性不足;
  • 机械问题:与转速、轴向、部件或安装相关的振动;
  • 滤波问题:机械健康后仍存在可识别噪声;
  • 控制问题:滤波确认后仍有跟踪、过冲或稳态误差;
  • 动力问题:输出饱和、压降、失步或推力余量不足;
  • 环境问题:风、地效、地面扰动或定位条件影响;
  • 证据不足:多个解释无法区分。

同一现象可以进入多个待验证假设,不能强行归因。

基线通过标准

项目应在测试卡中给出量化标准,至少包括:

  • 悬停时间和高度范围;
  • 允许的姿态偏差;
  • 允许的输出余量;
  • 日志完整性要求;
  • 温度和温升限制;
  • 允许的振动与裁剪表现;
  • 允许的告警;
  • 中止动作和恢复条件。

平台没有给出通用阈值的项目,不得自行伪造“官方标准”。

证据包结构

建议每次基线保存:

06-baseline/
  identity.txt
  configuration-original.*
  configuration-active.*
  test-card.md
  raw-log.*
  log-integrity.md
  event-timeline.csv
  temperature.csv
  observations.md
  decision.md
  rollback.md

截图应注明来源文件、时间范围、轴、单位和处理方法。

仅有截图、只有视频或只有“手感正常”均不构成可复核证据。

结果标签

C层首次飞行授权:通过/不通过
固件与配置身份:已固定/不明
日志设备:已验证/不可用
有效采样率:填写Hz/不明
dropout或损坏:填写比例与位置/不明
基线悬停执行状态:未开始/执行中/中止/已完成
基线悬停结果:通过、不通过、无效、未测试
证据充分性:充分/不足
C层门禁:通过、不通过、无效、未测试、阻断
D0诊断授权:编号/未授权
机械检查入口:允许/阻断
滤波调整:未开始
PID与前馈调整:未开始
落地温度:填写测点和数值/未测
回滚包:可用/不可用

只有日志完整性通过,才可进入机械振动分析。

检查理解

  1. 为什么Betaflight的1/4不能直接写成固定采样Hz?
  2. 为什么已成功悬停仍不能证明日志适合频谱分析?
  3. 哪些C层授权条件缺失时必须阻断首次基线飞行?
  4. 为什么起飞和着陆段不能直接代表稳定悬停噪声?
  5. 日志dropout覆盖关键动作时应给出什么结论?

主要参考