1. 无人机调参的核心逻辑:先滤波,后调PID
当你第一次拿到PX4飞控的调参界面时,可能会被密密麻麻的参数吓到。但别担心,调参其实有个黄金法则:先搞定传感器噪声,再优化控制性能。这就好比你要在嘈杂的KTV里听清朋友说话,得先关掉背景音乐(滤波),再调整耳机音量(PID)。
去年我调试一台轴距650mm的六旋翼时,就吃过没遵循这个顺序的亏。当时直接上手调PID,结果电机疯狂发热,飞行时还出现随机抽搐。后来用Flight Review分析日志才发现,陀螺仪数据里40Hz处有个明显的振动峰,这个噪声被PID放大后直接传递到了电机。
1.1 振动从哪来?
硬件振动主要来自四个地方:
- 桨叶问题:动平衡差、桨叶破损或变形(尤其碳纤桨撞击后肉眼难辨的微裂纹)
- 电机缺陷:轴心偏移、磁钢脱落、轴承磨损(用手转动电机能感觉到卡顿)
- 结构问题:机臂刚性不足(特别是折叠机型)、螺丝松动(建议用螺纹胶固定)
- 安装问题:飞控减震球过硬/过软(我用3D打印了不同硬度的TPU减震座测试)
1.2 软件滤波的三大武器
PX4提供了三种滤波工具,就像不同孔径的筛子:
- 低通滤波器(IMU_GYRO_CUTOFF):滤除所有高于截止频率的噪声,相当于"粗筛"
- 陷波滤波器(IMU_GYRO_NF*):针对特定频率的尖峰,好比"精准狙击"
- D项专用滤波器(IMU_DGYRO_CUTOFF):单独保护容易受噪声影响的微分项
实测发现,穿越机这类高频振动机型,陀螺仪截止频率设120Hz、D项滤波设80Hz效果不错;而大型植保机可能需要降到60Hz和40Hz。
2. 实战滤波调参:从FFT频谱到参数优化
2.1 数据采集准备
首先在QGC中设置日志记录:
# 启用高速日志记录 param set SDLOG_PROFILE 37 param set SDLOG_MODE 1然后进行3分钟包含各种机动动作的飞行:
- 匀速悬停
- 快速横滚/俯仰
- 急加减速
- 特定负载状态(如喷洒机构启停)
2.2 频谱分析四步法
用Flight Review分析日志时,重点关注四个图表:
| 图表类型 | 参数影响 | 调整依据 |
|---|---|---|
| 陀螺仪FFT | IMU_GYRO_CUTOFF | 取振动幅值下降80%对应的频率 |
| 角加速度FFT | IMU_DGYRO_CUTOFF | 取D项噪声突增频率的70% |
| 加速度计FFT | IMU_ACCEL_CUTOFF | 关注<30Hz的低频振动 |
| 控制输出FFT | - | 检查电机指令是否平滑 |
比如下图显示80Hz处有桨叶谐波,但主要噪声在40Hz以上:
[FFT频谱示意图] 40Hz |------- 60Hz |---------- 80Hz |---------------- (桨叶谐波) 100Hz|-------这时可以设置:
param set IMU_GYRO_CUTOFF 35 param set IMU_DGYRO_CUTOFF 302.3 陷波滤波器精准打击
当发现某个频点有孤立尖峰(比如电机转速的倍频),用低通滤波代价太大时:
# 设置20Hz处宽度10Hz的陷波 param set IMU_GYRO_NF0_FRQ 20 param set IMU_GYRO_NF0_BW 10去年给一台电影机无人机调参时,发现26.5Hz有持续振动,原来是云台伺服电机引起的。通过设置第二个陷波滤波器完美解决:
param set IMU_GYRO_NF1_FRQ 26.5 param set IMU_GYRO_NF1_BW 23. PID调参:从角速率环到姿态环
3.1 自动调参的正确打开方式
新版QGC的自动调参确实方便,但要注意:
- 在Hold模式下启动(多旋翼先悬停稳定)
- 确保电池电量>60%(防止调参中途低压保护)
- 环境风速<3m/s(大风会干扰参数计算)
自动调参完成后,一定要检查生成的参数:
# 查看横滚轴参数 param show MC_ROLLRATE_P param show MC_ROLLRATE_I param show MC_ROLLRATE_D3.2 手动调参的黄金法则
角速率环(内环)调参步骤:
- 将I和D归零,K设为1
param set MC_ROLLRATE_I 0 param set MC_ROLLRATE_D 0 param set MC_ROLLRATE_K 1- 从小开始增加P值,直到出现高频振荡(约10Hz),然后回退30%
- 加入I项消除静差,注意观察是否有低频振荡(<1Hz)
- 最后加D项抑制超调,用手快速打杆回中测试
姿态环(外环)调参技巧:
- 比例项(MC_ROLL_P)决定"跟手"程度
- 大型无人机建议加入前馈(MC_ROLL_FF)
- 默认值通常可用,微调幅度建议<15%
3.3 调参效果可视化诊断
通过QGC的"Analyze"工具观察:
- P过大:命令(绿色)与实际(红色)曲线高频振荡
- I过大:出现缓慢发散的正弦波
- D过大:电机发出高频吱吱声,温度快速上升
[图示:理想的阶跃响应曲线应满足]
- 上升时间<0.2秒
- 超调量<15%
- 稳定时间<0.5秒
4. 高级技巧与避坑指南
4.1 不同机型的参数缩放
根据我的经验,可以按轴距缩放基础PID值:
| 轴距 | 比例系数 | 典型P值范围 |
|---|---|---|
| <250mm | 1.5x | 0.15-0.25 |
| 250-500mm | 1.0x | 0.08-0.15 |
| >500mm | 0.7x | 0.04-0.08 |
4.2 延迟补偿策略
大疆M300的实测数据显示,延迟每增加10ms,最大允许P值下降约20%。解决方法:
# 使用AUX引脚减少IO延迟 param set SYS_USE_IO 0 # 启用DShot协议 param set MNT_MAV_SYSID 14.3 常见故障排除
电机异常发热:
- 检查D项是否过高
- 确认IMU_DGYRO_CUTOFF设置合理
- 测试减震球硬度(建议用邵氏硬度60A的材质)
随机抽搐:
- 检查所有接头是否氧化(特别推荐镀金插头)
- 用频谱分析是否有未过滤的谐振
- 确认电源纹波<50mV(示波器测电容两端)
记得有一次,一台农业无人机总在喷洒泵启动时抽搐,最后发现是电源地线环路干扰。在飞控电源端加装磁环后问题消失。