4、ArduPilot参数系统:参数分类、参数读写、参数文件导入导出、关键参数详解

飞控参数,说白了就是 ArduPilot 的「灵魂配置文件」。你硬件焊得再好,算法写得再牛,参数不对,飞机照样乱飘。我见过太多新手,上来就急着调 PID,结果连最基本的参数分类都没搞明白——嗯,今天咱们就把这事彻底捋清楚。

4.1 参数分类:别在茫茫参数海里迷路

ArduPilot 的参数有上千个,但别慌。它们按功能分成了几个大族,每个族都有固定的前缀。你只要记住前缀,就能快速定位。

前缀 分类 典型参数举例
BATT_ 电池与电源 BATT_MONITOR, BATT_CAPACITY
BRD_ 板载硬件 BRD_TYPE, BRD_SAFETYENABLE
COMPASS_ 磁罗盘 COMPASS_ENABLE, COMPASS_OFS_X
INS_ 惯性导航(IMU) INS_ACCEL_FILTER, INS_GYRO_FILTER
GPS_ GPS 定位 GPS_TYPE, GPS_GNSS_MODE
AHRS_ 姿态航向参考系统 AHRS_ORIENTATION, AHRS_GPS_GAIN
ATC_ 姿态控制器(角度/角速率) ATC_ANG_RLL_P, ATC_RAT_RLL_P
MOT_ 电机与舵机 MOT_SPIN_ARM, MOT_PWM_MIN
WPNAV_ 航点导航 WPNAV_SPEED, WPNAV_ACCEL
RTL_ 返航 RTL_ALT, RTL_LOIT_TIME
FENCE_ 地理围栏 FENCE_ENABLE, FENCE_ALT_MAX
LOG_ 数据记录 LOG_BITMASK, LOG_DISARMED
我的习惯: 在 QGC 的参数界面里,直接按前缀过滤。比如想调航点速度,直接搜 WPNAV_,比翻列表快得多。

4.2 参数读写:QGC 里怎么改?

QGC 的参数界面非常直观。你连上飞控后,点左上角「齿轮」图标,再选「参数」标签页,就能看到完整的参数列表。

基本操作流程:

  1. 搜索参数: 在搜索框输入关键字,比如 WPNAV,列表会自动过滤。
  2. 修改参数: 点击参数值,输入新数值,按回车。
  3. 写入飞控: 改完后,点右下角的「写入参数」按钮。注意,有些参数需要重启飞控才能生效。
  4. 从飞控读取: 点「读取参数」,把飞控当前值拉到 QGC 界面。
我曾经踩过的坑: 有一次我在 QGC 里改了 MOT_SPIN_ARM(解锁后电机怠速),没点「写入」就直接拔线了。结果飞场试飞时电机不转,排查了半天才发现参数根本没存进去。记住:改完参数,一定要点「写入参数」!

4.3 参数文件导入导出:批量操作与备份

手动一个一个改参数太慢了。尤其是当你有多架同型号飞机,或者想保存一套「黄金参数」时,参数文件就是你的救星。

导出参数(备份):

  1. 在 QGC 参数界面,点右上角的「工具」图标(三个点)。
  2. 选择「保存参数文件到电脑」。
  3. QGC 会从飞控读取所有参数,并保存为一个 .param 文件。

导入参数(恢复/批量设置):

  1. 同样点「工具」图标,选择「从文件加载参数」。
  2. 选择你之前保存的 .param 文件。
  3. QGC 会对比文件中的参数和飞控当前值,列出差异项。
  4. 确认无误后,点「写入」即可。

参数文件格式(.param)长什么样?

# 这是注释行,以 # 开头
# 格式:参数名,值
BATT_MONITOR,4
BATT_CAPACITY,5200
COMPASS_ENABLE,1
WPNAV_SPEED,1000
WPNAV_ACCEL,500
RTL_ALT,1500

你可以用记事本打开编辑,但千万注意:参数名不能写错,值必须在有效范围内。我习惯用 Excel 打开,按列排序,改起来一目了然。

4.4 关键参数详解:航点飞行的命门

要实现精准航点飞行,下面这几个参数你必须吃透。它们直接决定了飞机能不能「指哪打哪」。

4.4.1 航点导航参数(WPNAV_)

参数名 默认值 说明 我的建议
WPNAV_SPEED 500 cm/s 航点间的水平巡航速度 室内或小范围用 300-500,室外空旷可到 1000-1500
WPNAV_SPEED_UP 250 cm/s 上升时的垂直速度 不要超过 300,否则高度容易超调
WPNAV_SPEED_DN 200 cm/s 下降时的垂直速度 建议比上升慢一点,防止掉高过快
WPNAV_ACCEL 100 cm/s² 水平方向的最大加速度 越大响应越快,但容易过冲。我一般设 150-200
WPNAV_ACCEL_Z 100 cm/s² 垂直方向的最大加速度 设太大飞控会「点头」,建议 60-80
避坑指南: 我曾经把 WPNAV_SPEED 设到 2000(20m/s),结果飞机在转弯时直接侧滑出去,差点撞树。航点速度不是越快越好,要结合你的转弯半径和飞机机动性来设。

4.4.2 返航参数(RTL_)

参数名 默认值 说明 我的建议
RTL_ALT 1500 cm 返航时的飞行高度 至少比周围最高障碍物高 20 米
RTL_LOIT_TIME 3000 ms 到达返航点后悬停的时间 3000 够用,想让它快速降落可以改小
RTL_ALT_FINAL 0 cm 返航最终高度(0 表示降落) 设为 0 就是自动降落,设为非 0 则悬停

4.4.3 地理围栏参数(FENCE_)

这是你的最后一道保险。我每次试飞新航线,必开围栏。

参数名 默认值 说明 我的建议
FENCE_ENABLE 0 (禁用) 是否启用围栏 试飞时设为 1,飞熟了再关
FENCE_ALT_MAX 10000 cm 最大飞行高度 根据当地法规设,一般 120 米(12000 cm)
FENCE_RADIUS 300 m 以家点为圆心的最大水平半径 视场地大小而定,我一般设 200-500
FENCE_ACTION 0 触发围栏后的动作(0=仅报告,1=悬停,2=返航,3=降落) 强烈建议设为 2(返航),别用 0
血的教训: 有一次我忘了开围栏,飞机在航点任务中 GPS 漂移,直接飞出视野。还好最后切了 Stabilize 模式手动救回来。从那以后,我每次起飞前必检查 FENCE_ENABLE 是不是 1。

4.5 参数系统知识结构图

下面这张图帮你把整个参数系统的脉络理清楚。从分类到读写,再到关键参数,一条线串起来。

ArduPilot 参数系统知识结构 参数系统 参数分类(前缀) 参数读写(QGC) 文件导入导出 BATT_ / BRD_ / COMPASS_ INS_ / GPS_ / AHRS_ ATC_ / MOT_ / WPNAV_ / RTL_ 搜索 → 修改 → 写入 读取参数(刷新) 注意:部分参数需重启 导出 .param 文件 导入 .param 文件 批量修改 / 备份恢复 关键参数详解(航点飞行) WPNAV_ 速度 / 加速度 RTL_ 返航高度 / 悬停时间 FENCE_ 围栏 / 安全保护 核心逻辑:分类管理 → 读写操作 → 文件备份 → 关键参数调优 每一步都影响航点飞行的精准度与安全性

4.6 总结一下

参数系统其实不复杂。你只要记住三点:

  • 按前缀找参数,别瞎翻。
  • 改完必须写入,别偷懒。
  • 关键参数先调好,尤其是 WPNAV_ 和 FENCE_,这是精准飞行和安全的基础。

我个人习惯是,每架新飞机到手,先导出一份默认参数文件存着。然后按自己的飞行风格,把 WPNAV_ 和 RTL_ 调一遍,再开围栏。这样即使后面调乱了,也能一秒恢复。

嗯,参数这块就聊到这儿。你只要按这个思路走,航点飞行的底子就算打牢了。