1. PX4参数调优概述

各位飞控开发者,大家好。我是你们这门课的主讲人。在无人机行业摸爬滚打了快十年,我见过太多「飞起来就行,参数不用管」的项目,最后都在试飞场里摔得稀碎。今天咱们就来聊聊,参数调优到底是个什么东西,为什么它值得你花时间认真对待。

1.1 什么是参数调优?

说白了,参数调优就是给飞控的「大脑」做一次精细的神经外科手术。PX4 默认的参数能让飞机平稳悬停,但要让它在强风下纹丝不动、在急转弯时不掉高度、在载重变化时依然稳定——你就得动手改参数了。

我个人习惯把调优分成三个层次:

  • 基础调优:让飞机能飞、能悬停、能简单航线。这是出厂默认参数就能做到的。
  • 性能调优:提升响应速度、抗风能力、轨迹跟踪精度。这是大多数开发者需要的。
  • 极限调优:针对特定机型、特定任务(比如植保、测绘、竞速)做极致优化。这需要深厚的理论功底和大量试飞数据。

你想想看,一架四旋翼有几十个可调参数,从姿态 PID 到位置控制器,从电机混控到传感器滤波。每个参数都像是一个旋钮,拧对了,飞机如臂使指;拧错了,轻则抖动,重则炸机。

核心观点:参数调优不是玄学,它是把飞控的数学模型和实际物理系统对齐的过程。你调的每一个增益,都是在告诉飞控:「这个世界是这样的,请按这个规则来。」

1.2 为什么调优如此重要?

我在项目中遇到过一件事,印象特别深。有个团队做物流无人机,默认参数下飞得挺好,但一挂上 5 公斤货物,飞机就开始低频振荡,最后在降落时翻了。他们以为是硬件问题,折腾了两周,结果我过去一看——就是位置控制器的 D 增益太小,导致负载变化后阻尼不足。

调优的重要性,我总结为三点:

维度 默认参数 调优后
飞行安全 能飞,但抗干扰弱 强风、GPS 丢星等异常下仍能稳定
任务精度 悬停偏差 ±1m 悬停偏差 ±0.1m
能效表现 电机响应慢,浪费能量 响应快,续航提升 10%~20%

说白了,不调优的飞机就像一台没校准的仪器——它能工作,但你永远不知道它什么时候会出问题。尤其是做产品级无人机,参数调优是量产前必须过的坎。

⚠️ 重要提醒:调优不是一次性的。换桨叶、换电池、换载荷,甚至气温变化,都可能让之前的参数失效。调优是一个持续迭代的过程。

1.3 调优前的准备工作

嗯,这里我要多说几句。很多人拿到飞机就急着调参数,结果炸了机都不知道原因。我建议你按下面的 checklist 走一遍,花不了十分钟,但能省下大把修飞机的钱。

安全 Checklist

我曾经因为没检查螺旋桨动平衡,调了一整天参数,飞机始终有高频抖动。后来发现是桨叶的问题,跟参数半毛钱关系没有。所以,安全 checklist 不是走形式,它是帮你排除干扰项。

  1. 硬件检查:螺旋桨有无裂纹?电机座螺丝是否拧紧?飞控减震棉是否老化?
  2. 传感器校准:加速度计、陀螺仪、磁力计、气压计——一个都不能少。我习惯每次换场地都重新校准磁力计。
  3. GPS 状态:搜星数 > 12,HDOP < 1.0。低于这个标准,位置控制的数据就是垃圾。
  4. 遥控器检查:通道映射正确,失控保护设置好。我见过有人忘了设失控保护,飞机飞出去就回不来了。
  5. 电池电压:满电起飞,调优过程中不要换电池。电压变化会影响电机响应。
  6. 场地选择:空旷、无遮挡、无强电磁干扰。最好有草地,万一炸机也能缓冲一下。

💡 我的习惯:每次调优前,我都会用手机拍一张飞机全貌照片,记录桨叶安装方向、飞控朝向、GPS 支架位置。这样如果调出问题,还能回溯硬件状态。

日志记录配置

调优没有日志,就像开车没有仪表盘——你只能凭感觉猜。PX4 的日志系统非常强大,但默认配置可能不够细。我建议你按下面的方式配置:

# 在 SD 卡根目录创建或修改 logging.ini
[logging]
# 启用所有传感器数据
sensor_accel = 1
sensor_gyro = 1
sensor_mag = 1
sensor_baro = 1

# 启用控制输出
actuator_outputs = 1
actuator_controls = 1

# 启用姿态和位置估计
estimator_status = 1
vehicle_attitude = 1
vehicle_local_position = 1

# 启用遥控器输入
rc_channels = 1

# 采样率设置(越高越详细,但文件也越大)
sample_rate = 400  # 单位 Hz

为什么这些数据重要?我举个例子。当你发现飞机在悬停时左右晃动,光看视频是看不出原因的。但如果你有日志,就能看到是陀螺仪噪声大,还是电机响应滞后,还是 PID 增益过高。日志就是你的「黑匣子」。

调优铁律:每次试飞必须保存日志。没有日志的试飞,等于没飞。我见过太多人调了一下午,最后发现忘了插 SD 卡——那种绝望,经历过一次就够了。

调优前的知识体系

在动手之前,我建议你先理解下面这张图。它展示了 PX4 参数调优的核心逻辑:从传感器数据到控制输出,每个环节都有对应的参数。

PX4 参数调优核心逻辑 传感器数据 状态估计器 控制器 执行器 反馈回路(传感器测量实际状态) 参数调优涉及的关键参数组 IMU 参数 (IMU_GYRO_CUTOFF,
IMU_ACCEL_CUTOFF) 估计器参数 (EKF2_* 系列) 控制器参数 (MC_ROLL_P,
MC_PITCHRATE_I)
混控器参数 (COM_*_ACT) 调优顺序建议 ① 传感器校准 → ② 估计器参数 → ③ 姿态控制器 → ④ 位置控制器 → ⑤ 混控器 不要跳步!前一步没调好,后一步调了也白调。

从这张图你能看到,调优不是孤立地改一个参数。传感器数据不准,估计器输出就是错的;估计器不准,控制器再完美也没用。所以我的调优顺序永远是:先校准硬件,再调估计器,最后动控制器。

💡 避坑指南:我曾经跳过传感器校准直接调 PID,结果飞机在悬停时一直往一个方向飘。我以为是 PID 的问题,调了整整两天,最后发现是加速度计偏置没校准。从那以后,我每次调优前都会重新做一遍完整的传感器校准。