认识PX4参数系统:参数分类、文件结构与QGC修改
PX4的参数系统,说白了就是飞控的"基因库"。你调参的过程,就是在改写这个基因库,让飞机飞得更稳、更准、更听话。我刚开始接触PX4时,面对几百个参数也是一头雾水——后来发现,只要理清分类和结构,这事儿就没那么玄乎。
核心认知:PX4参数是飞控行为的"旋钮",每个参数都对应一个具体的控制逻辑或传感器处理环节。调参不是瞎改,而是有方向、有依据的微调。
2.1 参数分类:四大模块
PX4的参数按功能分成四大类。我个人习惯把它们比作"感知-决策-执行"链条上的不同环节。
| 分类 | 前缀 | 作用 | 典型参数举例 |
|---|---|---|---|
| 传感器类 | SENS_、IMU_、MAG_ |
原始数据采集与预处理 | SENS_DPRES_OFF(气压计偏移)、IMU_GYRO_CUTOFF(陀螺仪滤波) |
| 姿态类 | ATT_、MC_、FW_ |
姿态估计与控制 | ATT_W_ACC(加速度计权重)、MC_ROLL_P(横滚P增益) |
| 位置类 | LPE_、EKF2_、GPS_ |
位置估计与导航 | EKF2_GPS_CHECK(GPS健康检查)、LPE_ACC_XY(水平加速度噪声) |
| 导航类 | NAV_、MIS_、COM_ |
任务规划与行为逻辑 | NAV_ACC_RAD(航点到达半径)、COM_DISARM_LAND(降落自动上锁时间) |
你想想看,传感器参数决定了飞控"看"得清不清楚;姿态参数决定了它"稳"不稳;位置参数决定了它"认"得准不准;导航参数决定了它"走"得对不对。这四个层次缺一不可。
我的经验:调参顺序建议从传感器开始,再到姿态,然后是位置,最后才是导航。跳过传感器校准直接调PID,就像戴着歪眼镜调瞄准镜——越调越偏。
2.2 参数文件结构
PX4的参数存储在文件系统中。每次飞控启动时,它会从SD卡或内部Flash加载参数。我遇到过不少新手,改完参数一断电就丢了——其实就是没搞懂参数文件的存储机制。
参数文件主要分两种:
- 默认参数文件:位于固件源码的
/ROMFS/px4fmu_common/init.d/目录下,以.params结尾。每次刷固件时,这些参数会被写入飞控。 - 用户参数文件:存储在SD卡的
/etc/extras/目录下,文件名为parameters(无后缀)。用户通过QGC修改的参数都保存在这里。
加载优先级是这样的:
- 飞控启动 → 加载默认参数
- 检查SD卡 → 如果存在用户参数文件,覆盖默认参数
- 如果用户参数文件损坏或不存在,使用默认参数
避坑指南:我曾经在野外调试时,SD卡松动导致参数文件读取失败,飞控直接恢复出厂设置,飞机差点失控。后来我养成了一个习惯——每次调完关键参数,都用QGC的"导出参数"功能备份一份到电脑上。
参数文件的内部格式很简单,每行一个参数,用逗号分隔参数名和值:
# 参数文件示例(.params 或 parameters)
MC_ROLL_P, 0.15
MC_ROLL_RATE_P, 0.05
EKF2_GPS_CHECK, 1
SENS_DPRES_OFF, 0.0
NAV_ACC_RAD, 0.5
嗯,这里要注意:参数名是大小写敏感的,而且不能有空格。如果你手动编辑参数文件,一个空格或换行符错误,整行参数都会被忽略。
2.3 通过QGC修改参数
QGC(QGroundControl)是调参最常用的工具。我90%的参数修改都在QGC上完成,只有批量修改时才用脚本。
操作步骤很简单:
- 连接飞控(USB或数传)
- 点击顶部"参数"图标(齿轮形状)
- 在搜索框输入参数名或关键词
- 双击参数值,输入新值,回车确认
- 点击"应用"按钮(或等待自动保存)
QGC的参数界面有几个实用功能,我重点说一下:
- 搜索过滤:输入
MC_可以只看多旋翼参数,输入EKF2只看EKF2相关参数。这个功能在参数多的时候特别有用。 - 参数分组:QGC左侧有"全部"、"传感器"、"姿态"、"位置"、"导航"等分组标签,对应我们刚才讲的四大分类。
- 参数说明:每个参数都有中文或英文说明,包括取值范围、默认值、单位。我建议你养成看说明的习惯——很多参数的名字看着像,实际作用完全不同。
- 导出/导入:在参数界面右上角,可以导出所有参数为
.params文件,也可以导入之前备份的参数文件。这个功能在换飞控板或刷固件后特别实用。
关键操作:修改参数后,QGC会自动保存到飞控。但如果你通过数传修改参数,建议修改完成后点击"应用"按钮,然后等待3-5秒再断开连接,确保参数写入完成。
2.4 参数系统整体架构
为了让你更直观地理解参数系统的全貌,我画了一张架构图。它展示了参数从存储到加载,再到影响飞控行为的完整链路。
从这张图你可以看到,参数从文件到飞控行为,经历了"加载→存储→分类→应用"四个阶段。每个阶段都有对应的工具和操作方式。
我的建议:刚开始调参时,不要一次性改太多参数。每次只改1-2个,试飞验证后再改下一组。我曾经一次改了5个参数,结果飞机乱飞,根本不知道是哪个参数的问题——这种教训一次就够了。