3. 参数系统入门:参数分类、参数树结构、参数搜索与修改、参数导出导入

飞控参数,说白了就是飞机的「性格」和「行为准则」。

我见过不少新手,一上来就急着调 PID,结果连参数存在哪、怎么搜、怎么改都没搞清楚。折腾半天,飞机没飞起来,自己先崩溃了。嗯,咱们今天就把这个基础打牢。

3.1 参数分类:别把油门参数当成了姿态参数

PX4 的参数有几百个,但别怕。它们不是乱堆的,而是按功能分好了类。我个人习惯把它们分成三大块:

分类 典型前缀 举例 作用
系统与硬件 SYS_、BAT_、GPS_ SYS_AUTOSTART、BAT1_CAPACITY 定义飞控板、传感器、电池等基础配置
姿态与控制 MC_、FW_、IMC_ MC_ROLL_P、FW_AIRSPD_MIN 多旋翼/固定翼的 PID 增益、限幅、滤波器
任务与导航 MIS_、NAV_、COM_ MIS_TAKEOFF_ALT、NAV_ACC_RAD 航线规划、起飞降落、通信行为
小技巧: 在 QGroundControl 的参数界面,直接按前缀过滤。比如你想调多旋翼的偏航响应,输入 MC_YAW_,瞬间就能锁定目标。

3.2 参数树结构:从根到叶的寻路逻辑

参数不是平铺的,它是一棵树。根是「参数组」,枝是「子组」,叶才是「具体参数」。

举个例子,你想找「电池低电量保护」的参数:

  • 根:BAT_(电池组)
  • 枝:BAT1_(电池1子组)
  • 叶:BAT1_LOW_THR(低电量阈值)

我在项目中遇到过有人把 BAT1_LOW_THR 设成了 0.1V,结果电池还有 3.7V 就触发了保护。你想想看,这要是飞在天上,直接掉下来。所以理解树结构,能帮你快速定位,避免张冠李戴。

下面这张图,帮你把参数树的骨架刻在脑子里:

PX4 参数树结构(简化版) 参数根(/parameters) SYS_ 系统组 MC_ 多旋翼组 BAT_ 电池组 SYS_AUTOSTART SYS_HITL_ENABLE MC_ROLL_P MC_PITCHRATE_I BAT1_CAPACITY BAT1_LOW_THR 说明 • 根节点:所有参数统一挂载,通过前缀区分功能域 • 一级分支:按飞行器类型或系统模块分组(SYS / MC / BAT) • 二级节点:具体参数,可直接读写,影响飞控行为

3.3 参数搜索与修改:别再用肉眼硬翻了

几百个参数,用肉眼硬翻?那是 2015 年的玩法了。现在 QGC 提供了强大的搜索功能。

搜索三步走:

  1. 关键词匹配:输入 thr,所有带 throttle 的参数全出来。
  2. 通配符模糊搜:MC_*_P 能搜到所有多旋翼的 P 增益。
  3. 按组过滤:在参数树面板直接点 MC_ 组,只看多旋翼参数。
核心原则: 改参数前,先截图或记下原始值。我曾经在调试时连续改了 5 个参数,结果飞机乱抖,想恢复却忘了原始值。最后只能重新刷固件。别学我。

修改参数的正确姿势:

  • 在 QGC 参数界面,双击数值,输入新值,回车。
  • 改完后,飞控会自动保存。但注意——部分参数需要重启飞控才能生效(比如 SYS_AUTOSTART)。
  • 如果改的是 MC_ROLL_P 这类实时参数,不需要重启,但建议在安全环境下测试。
警告: 不要在飞行中通过无线数传修改关键参数(如 PID、混控器)。一旦参数写错,飞控可能瞬间失控。我见过有人在空中改了 MC_ROLL_MAX,飞机直接翻转炸机。改参数,请在地面完成。

3.4 参数导出与导入:团队协作的救命稻草

你调好了一架飞机的参数,结果另一架同型号的飞机也要调。难道要一个一个参数重新输入?

当然不。PX4 支持参数导出为 .params 文件,然后一键导入。

导出步骤:

  1. 在 QGC 参数界面,点击右上角「工具」图标。
  2. 选择「导出参数」。
  3. 保存为 my_config.params 文件。

导入步骤:

  1. 连接新飞机。
  2. 同样进入「工具」→「导入参数」。
  3. 选择刚才的文件,确认导入。
  4. 飞控会自动重启,加载新参数。
避坑指南: 我曾经导入参数后,发现飞机解锁不了。排查了半天,原来是导出时飞控固件版本是 1.13,导入的目标飞控是 1.14,有个参数名变了。所以,尽量在同版本固件间导入导出。如果跨版本,导入后务必检查一遍关键参数。

参数文件长什么样? 其实就是一个纯文本文件,你可以用记事本打开看看:

# px4 params file
# 2025-03-15 14:30:22
# vehicle: 3dr_solo
MC_ROLL_P 0.150000
MC_ROLLRATE_P 0.050000
MC_ROLLRATE_I 0.100000
BAT1_CAPACITY 5200.000000
SYS_AUTOSTART 4001

看到没?每行一个参数,格式是 参数名 数值。你可以手动编辑这个文件,但说实话,我建议你只在 QGC 里改,手写容易写错小数点。

3.5 本章小结

参数系统,说白了就是飞控的「大脑皮层」。你理解了分类,就能快速定位;掌握了树结构,就不会迷路;学会了搜索修改,效率翻倍;用好了导入导出,团队协作不再头疼。

嗯,这些基础打牢了,后面调 PID、配混控器,你才能游刃有余。别急着飞,先把参数玩明白。