跳转至

PID与前馈调校

比例积分微分控制器(PID,Proportional-Integral-Derivative Controller)与前馈调校是证据链的最后阶段。它不能修复机械振动,不能补偿错误的滤波配置,也不能把不完整日志变成有效证据。 开始前必须已经完成:获批C层基线悬停、日志完整性检查、机械振动整改和滤波验证。

本章不包含01和03定义的C-S初始稳定化。若初始增益已经造成离地振荡,应先按平台官方流程保守降增益并重新建立C层基线;不能为了满足本章前置条件而继续驾驶不稳定机体。 PID与前馈分阶段调校

调校顺序

统一顺序为: 1. 固定硬件、载荷、固件和输入映射; 2. 取得健康基线日志; 3. 证明日志采样和时间连续性; 4. 关闭机械问题; 5. 验证滤波与温度; 6. 调内层角速度控制; 7. 调外层姿态控制; 8. 调前馈或输入整形; 9. 最后调速度、位置和导航控制。 不得从本章的性能PID调校开始;C-S是唯一受限例外。 不得在基础角速度和姿态不稳定时调导航PID。 不得同时修改PID、滤波、倍率、前馈和输入整形。

前置门禁

  • C层基线已经通过;
  • 本轮D1调校测试卡已经独立签署,包含授权编号、唯一参数改动、允许动作、包线、中止条件和批准人;
  • 飞行器身份和起飞质量未变化;
  • 螺旋桨、电机、轴承和机架机械健康;
  • 飞控软安装无碰壳、压实和线束旁路;
  • 日志有效采样率已知;
  • dropout没有覆盖测试动作;
  • 原始与滤波后信号可区分;
  • 当前滤波配置已经短测通过;
  • 电机和电调温度基线通过;
  • 当前参数和恢复参数均已导出;
  • 操作者可执行明确的中止动作。 任一项不满足时,调校状态写为阻断

调校目标

目标是在预定飞行包线内取得: - 足够快且可预测的目标跟随; - 可接受的过冲; - 动作后快速、单调或有限次数衰减; - 稳态误差满足任务要求; - 外部扰动后能够恢复; - 电机输出保留足够余量; - 无持续高频振荡; - 电机和电调温度不过限; - 配置可以解释、复现和回滚。 “锁定感”“丝滑”可以记录为主观观察,但不能替代目标、响应、输出和温度证据。

先固定容易混淆的变量

调校期间保持不变: - 遥控链路更新率; - 遥控器端曲线和滤波; - 飞控端倍率和expo; - 最大角速度; - 油门曲线和推力模型; - 电池规格和荷电状态范围; - 螺旋桨型号; - 载荷和重心; - 滤波配置; - 飞行模式; - 测试动作; - 日志配置。 确需改变其中一项时,结束当前系列并建立新基线。

证据字段

一次PID或前馈判断至少需要: | 字段 | 回答的问题 | | --- | --- | | 角速度目标 | 飞控被要求做什么 | | 实际角速度 | 机体实际做了什么 | | P、I、D与前馈输出 | 哪一项在产生控制作用 | | 电机或执行器输出 | 是否抖动、限幅或饱和 | | 油门与电池状态 | 动力工作点是否可比 | | 飞行模式 | 外层控制是否参与 | | 滤波前后陀螺仪 | 噪声是否被控制器放大 | | 温度 | 高频控制活动是否带来风险 | 字段缺失时只分析能够由剩余字段直接支持的问题。 采样率不明或关键动作内有dropout时,禁止根据波形下PID或前馈结论。

测试输入

测试输入必须: - 预先写入测试卡; - 在操作者能力范围内; - 幅度从小到大; - 单轴进行; - 保留动作前后稳定段; - 不触发地面、围栏或输出饱和; - 在相近动力工作点重复; - 能被日志清楚识别。 调校不要求激烈特技。 短小、可重复的输入比长时间随意飞行更适合比较。

每轮固定流程

飞行前

  1. 保存当前完整参数;
  2. 写明唯一变更;
  3. 记录旧值和新值;
  4. 写出预期改善与副作用;
  5. 确认滤波没有变化;
  6. 确认日志空间和采样设置;
  7. 核对天气、电池和载荷;
  8. 复述中止条件。

空中

  1. 平稳起飞并短暂悬停;
  2. 先确认没有新的自激振荡;
  3. 只执行本轮规定的单轴动作;
  4. 动作后回到稳定状态;
  5. 不在空中继续修改参数;
  6. 任何异常立即落地。

落地

  1. 上锁(Disarm)并确认电机停止;
  2. 检查每个电机和电调温度;
  3. 等待日志完成写入;
  4. 下载原始日志;
  5. 先检查dropout、时间戳和字段;
  6. 再检查目标跟随、过冲和输出;
  7. 接受、拒绝或回滚唯一变更;
  8. 完成记录后才安排下一轮。

P项

P项根据当前误差立即修正。 P作用不足的候选证据: - 目标变化后响应明显滞后; - 持续存在与目标同方向的瞬时误差; - 扰动抑制偏弱; - 输出仍有足够余量。 P作用过强的候选证据: - 输入或扰动后出现快速振荡; - P输出与陀螺仪在同一频带持续活动; - 电机命令快速交替; - 温度或声音异常。 这些现象也可能由延迟、结构共振、输出饱和或错误推力模型造成。 因此不能只看“抖”就降低P,也不能只看“软”就提高P。

D项

D项提供角速度变化阻尼,也最容易放大高频噪声。 D不足的候选证据: - 快速动作后过冲明显; - 反向修正后仍多次摆动; - P项已经有足够响应而阻尼不足。 D过强或D噪声过大的候选证据: - D输出有持续高频活动; - 电机声音尖锐; - 无明显动作时电机命令仍快速抖动; - 短测试后电机或电调温度异常。 发现D噪声时,先确认机械和滤波门禁没有失效。 不得用继续提高D来压制由延迟或机械共振造成的振荡。

I项

I项处理持续误差和长期扰动。 I不足的候选证据: - 稳态目标长期达不到; - 持续风或重心偏移下保持能力不足; - 动作结束后存在缓慢偏离。 I过强的候选证据: - 低频缓慢摆动; - 饱和后恢复迟缓; - 长时间误差累积后明显过冲。 分析I项时必须同时检查输出饱和。 执行器已经到达上限或下限时,误差未消除不等于I增益不足。

前馈

前馈根据目标变化直接给出控制作用,不等待误差产生。 前馈适合改善操作者指令跟随,不负责纠正阵风、模型误差或持续偏差。 前馈过低的候选证据: - PID反馈最终能跟上,但目标变化初期响应落后; - P项需要先积累误差才产生足够输出。 前馈过高或输入过于尖锐的候选证据: - 目标变化瞬间输出尖峰; - 响应抢先或明显过冲; - 摇杆噪声被转换为控制活动; - 电机温度或声音恶化。 前馈必须在反馈环已经稳定后调。 输入平滑、倍率和前馈会共同改变目标轨迹;同时修改会失去可归因性。

分阶段调校

阶段一:角速度环

先调内层角速度控制,因为所有姿态和导航模式最终依赖它。 逐轴检查: - 上升时间; - 目标与响应延迟; - 峰值过冲; - 衰减次数; - 稳态误差; - P、I、D活动; - 电机输出余量; - 温度。 滚转、俯仰和偏航的动力学不同,不能强迫参数相同。

阶段二:姿态或Level环

角速度环通过后,才检查姿态目标到角速度目标的外层响应。 关注: - 回中后的水平恢复; - 姿态过冲; - 慢摆; - 最大角速度限制; - 外层是否命令了内层无法实现的目标。 Level表现不佳时,先确认角速度环仍然通过。

阶段三:前馈与输入整形

反馈环稳定后,使用相同输入检查操作者指令跟随。 前馈和输入整形解决“命令如何到达控制器”,不修复扰动抑制和机械噪声。 一次只改变前馈或一个输入整形因素。

阶段四:速度、位置与导航

只有角速度和姿态通过后,才允许调速度、位置、高度和导航参数。 位置漂移还可能来自GNSS、磁罗盘、气压计、光流、估计器和风,不得全部归因于导航PID。

Betaflight 2026.6.2

固定版本、目标、配置器、PID profile和rate profile。 Blackbox默认1/4不是固定Hz,必须记录实际PID loop并计算有效采样率。 日志设备可能为NONE;没有可用日志时不得进行本节的证据化调校。 RPM滤波只有在双向DShot和真实磁极数正确时才可信。 PID loop低于2 kHz时dynamic notch禁用;滤波状态不成立时不得继续推高增益。 Betaflight调校应保持: - 滤波配置不变; - 倍率和expo不变; - 每次只动一个增益维度; - 先看目标与陀螺仪跟踪; - 再看各项输出和电机命令; - 每轮落地温检。 不在本文提供或复制任何机型的默认P、I、D、前馈或滤波值。

INAV 9.1.0

固定9.1.0固件、配置器、混控和完整diff。 约1/32日志不足以诊断振动或PID问题,不能用于高频跟踪结论。 INAV多旋翼没有飞行中AUTOTUNE流程。 不要把固定翼自动调谐概念或其他固件的AutoTune步骤套到INAV多旋翼。

INAV 9.1.0另有EZ-Tune辅助配置机制,但它不是飞行中自动辨识。该tag的PG_EZ_TUNEez_tune.c表明,启用后会按ez_*输入联动修改滤波、滚转/俯仰/偏航PID、前馈、速率、Expo、输入平滑和动态滤波等多组字段。该版本虽然定义了ez_expo,实现中没有读取它;实际Expo由ez_rate同时改写rcExpo8rcYawExpo8。因此不得依赖ez_expo产生效果,也不能把ez_rate解释为只改变速率。使用前必须确认当前Configurator是否暴露对应入口,保存启用前后全量diff,把整组联动字段视为一个不可拆分候选,再按机械、滤波、稳定性和手感阶段分别验证。

正确阶段是: 1. 先使基础滚转、俯仰和偏航PID稳定; 2. 再验证Level模式; 3. 最后才调高度、速度、位置和导航PID。 导航模式表现差时,不得跳过基础环直接改导航参数。

ArduPilot Copter 4.7.1

固定Copter-4.7.1发布版本、参数文件和DataFlash日志。 官方过程必须保持: 1. preparation; 2. initial flight; 3. evaluation; 4. notch; 5. manual tuning或QuikTune; 6. AutoTune; 7. input shaping。 本专题的基线悬停对应initial flight证据,机械与滤波章节对应评估和notch门禁。 AutoTune前,飞行器必须已经能在AltHold基本稳定飞行。 AutoTune不是救援不稳定机体的第一步。 执行manual、QuikTune或AutoTune时: - 使用官方步骤和中止方式; - 保存原始与候选参数; - 监视消息和DataFlash日志; - 按阶段测试候选增益; - 不满意时恢复原增益; - 完成后再处理input shaping。

PX4 v1.17.0

PX4控制器调校顺序是: 1. rate; 2. attitude; 3. velocity/position。 调参时官方要求关闭MC_AIRMODE。 每次参数变更前落地,不在空中手工改变参数。 调校完成并验证后,再按官方流程恢复需要的airmode状态。 PX4 Auto-tuning前,飞行器必须已经能够稳定飞行并通过预调测试。 多旋翼默认在落地上锁后应用AutoTune结果。 应用后必须谨慎起飞,手工验证新参数,并保留恢复旧参数的方法。 本知识库不复制PX4示例增益或其他机体的参数。

不能跨平台复制参数

即使参数名称相似,不同平台也可能具有不同: - 控制器结构; - 单位与归一化; - PID形式; - D项输入; - 前馈定义; - 混控和饱和处理; - 抗积分饱和逻辑; - 滤波位置; - 循环频率; - 参数联动方式。

因此只迁移调校方法和证据要求,不迁移数值。

中止与回滚

出现以下任一项立即结束本轮: - 高频振荡; - 振荡幅度增长; - 动作后无法快速恢复; - 输出持续触顶或触底; - 电机失步、异响或推力异常; - 电机或电调温度超过项目限制; - 姿态估计或模式异常; - 日志记录中断; - 实际动作与测试卡不一致; - 场地或人员边界被破坏。

落地后恢复上一份已验证参数,保存失败日志和差异,不用下一项修改覆盖失败原因。

完成标准

  • 机械与滤波门禁保持通过;
  • 每项修改有单独日志;
  • 日志无影响结论的dropout;
  • 角速度目标跟随满足项目标准;
  • 姿态响应满足项目标准;
  • 前馈没有制造不可接受的尖峰;
  • 电机输出保留任务所需余量;
  • 电机和电调温度通过;
  • 结果在相近条件下可重复;
  • 平台专用自动调校前置条件全部满足;
  • 最终配置、差异和回滚包完整。

结果标签

基线、机械、滤波门禁:通过/阻断
平台与版本:填写
D1授权编号:填写/未授权
本轮阶段:rate/attitude/feedforward/navigation
唯一变更:填写参数与旧值/新值
日志有效采样率:填写Hz/不明
dropout:填写比例与位置/不明
目标跟随:通过/不通过/证据不足
输出余量:通过/不通过/未测
电机与电调温度:通过/不通过/未测
本轮决定:接受/回滚/阻断
恢复配置:填写文件

检查理解

  1. 为什么PID与前馈必须排在机械整改和滤波之后?
  2. D项过强与机械噪声可能产生哪些相似现象?
  3. 为什么前馈不能纠正持续外部扰动?
  4. INAV多旋翼的基础PID、Level和导航PID顺序是什么?
  5. PX4调参和AutoTune应用分别有什么落地要求?

主要参考