无人机姿态控制器的结构
包括 ArduPilot、PX4 和 Betaflight 在内,大多数多旋翼飞控软件在每个轴上都用两个嵌套回路控制姿态。外环角度环把姿态误差转换为期望角速度;内环角速度环把角速度误差转换为电机指令,它直接使用陀螺仪数据,运行频率也高得多。
因此调参要从内环开始。调好的角速度环是一切的基础,外环角度环通常只有一个比例增益。每一项各有分工:
- P(比例)对当前误差作出反应。太低会显得迟钝,太高会快速振荡。
- I(积分)消除稳态误差,例如质心偏移或持续的风。过高会导致缓慢超调和摇摆。
- D(微分)通过响应误差变化率来抑制超调,但也会放大陀螺仪噪声,因此滤波很重要。
- FF(前馈)直接响应指令,能改善跟踪效果而不降低回路稳定性。
常见飞控软件中的增益参数
不同固件的参数名称各不相同,但结构一致。以横滚轴为例:
| 固件 | 角速度环 | 角度环 |
|---|---|---|
| ArduPilot Copter | ATC_RAT_RLL_P, _I, _D, _FF | ATC_ANG_RLL_P |
| PX4 多旋翼 | MC_ROLLRATE_P, _I, _D, _FF | MC_ROLL_P |
| Betaflight | 横滚 P、I、D 和前馈 | 自稳模式强度(Angle Strength) |
为什么先在测试台上调参
自由飞行时所有效应同时出现:平移、风、电池电压下降、地面效应和飞手操作。在三轴测试台上飞行器只能转动,因此姿态响应被单独隔离,可重复、可测量;增益不合适时只会摇摆,而不会炸机。
代价是测试台本身成为系统的一部分。环的转动惯量、轴承摩擦以及旋转中心与飞行器质心之间的任何偏差都会改变动力学特性。在测试台上得到的增益是很好的起点,而不是最终答案。三自由度测试台指南说明了哪些测试台特性最关键。
需要测量什么
- 各轴期望角速度与实际角速度,以角速度环的频率记录。ArduPilot 将其写入 RATE 日志消息,PX4 则记录角速度设定值和测得的角速度。
- 阶跃响应:急指令后的上升时间、超调量和调节时间。
- 振荡频率与幅值,用于区分 P 引起的快速振荡和 I 引起的缓慢摇摆。
- 电机输出,用于发现饱和以及传到电机的噪声。
- 独立参考:在带轴编码器的测试台上,将控制器自身的姿态估计与测得的角度进行比对。
行之有效的调参顺序
- 准备飞行器。在夹具中配平,使质心落在旋转中心上;检查电机转向和螺旋桨,并按机架振动设置陀螺仪滤波。
- 保守起步。把角速度环的 P 和 D 降到默认值以下,I 设得较低。限制油门,并做好测试台防护。
- 逐轴整定角速度 P。小步增大 P,直到出现快速振荡,然后回调并留出余量。
- 加入 D 抑制超调。增大 D,直到阶跃响应干净收敛。如果电机发热或噪声变大就停止,这说明 D 正在放大噪声。
- 提高 I 以保持姿态。增大 I,直到该轴在恒定偏差下能保持姿态而不出现缓慢摇摆。
- 加入前馈,再整定角度 P。用 FF 收紧跟踪,然后调整外环角度增益,获得干脆且无超调的响应。
- 对俯仰和偏航重复,再测试组合运动。偏航通常需要更小的 D 和更大的 I。最后用多轴组合机动检查交叉耦合。
常见问题及其含义
- 快速、嗡嗡作响的振荡:P 或 D 过高,或滤波不足。
- 动作后缓慢摇摆:I 或角度 P 过高。
- 缓慢回正的漂移:I 过低,或在测试台上质心偏离旋转中心。
- 电机发热、输出噪声大:D 项噪声。在增大 D 之前先检查陀螺仪和 D 项滤波。
- 各轴相互干扰:机架变形、飞控安装松动或偏航控制力不足。请测试组合运动。
从测试台到首飞
预计还需要在空中做简短的微调:地面上缺少气动阻尼、平移运动和电压下降。ArduPilot 和 PX4 都提供飞行中的自动调参功能,而在测试台上得到的起点能让这些飞行更短、更安全。请在自稳模式下飞行,记录相同的信号并与测试台记录比对。差异较大时,问题通常出在测试台本身的转动惯量、摩擦或旋转中心偏差,而不是控制器。
INFINITE-HIL X1 支持两种测试台方式:由飞行器自身控制器驱动其转动的自由运行,以及由平台施加基于模型的扰动力矩的 HIL 场景。运行模式和安全措施按项目确定。若要了解调参在完整验证流程中的位置,请参阅从 SIL 到 HIL 的飞控测试。