3. 参数体系基础
好,我们正式开始接触 ArduPilot 最核心的操作界面——参数系统。
说实话,我第一次接触 ArduPilot 时,面对那几百上千个参数,头都是大的。但后来我发现,只要理解了它的组织逻辑,参数系统其实非常清晰。它就像一棵树,有根、有干、有枝、有叶。你只要知道怎么爬这棵树,就能找到你想要的那片叶子。
3.1 参数树:从根到叶的逻辑
ArduPilot 的参数不是平铺乱放的。它们按照功能模块,被组织成了一棵逻辑树。这棵树的主干是各个大的功能系统,比如:
- 飞行器框架 (FRAME):机架类型、重量、尺寸等。
- 姿态控制 (ATC):PID 参数、角速度限制等。
- 位置控制 (POS):水平速度、高度控制等。
- 导航 (NAV):航点、RTL 行为等。
- 传感器 (INS, COMPASS, BARO):IMU、磁力计、气压计校准与配置。
- 遥控器 (RC):通道映射、失控保护等。
- 电池 (BATT):容量、电压监测、失效保护。
每个主干下面,又分出更细的枝干。比如姿态控制 (ATC) 下面,会分出横滚 (ATC_RLL_)、俯仰 (ATC_PIT_)、偏航 (ATC_YAW_) 等子分支。每个子分支下面,才是具体的参数叶子,比如 ATC_RLL_P(横滚 P 增益)。
核心理解: 参数名的前缀就是它在树上的路径。看到 ATC_RLL_P,你就知道它属于“姿态控制 -> 横滚 -> P 增益”。这个习惯一旦养成,你找参数的速度会快很多。
我个人习惯在 Mission Planner 里,直接展开左侧的“全部参数表”,然后按前缀过滤。比如我想调横滚的 PID,就输入“ATC_RLL”,所有相关的参数就都列出来了。这比在树状菜单里一层层点进去要快得多。
3.2 搜索与修改参数:实战操作
知道了树的结构,接下来就是怎么找到并修改它。我建议你记住三种最常用的方法:
- 直接搜索:在 Mission Planner 的“全部参数表”界面,顶部有个搜索框。输入参数名的一部分(比如
RLL或P),系统会实时过滤。这是我最常用的方法,没有之一。 - 按类别浏览:在“初始设置”或“配置/调试”页面,有按功能分类的菜单。比如你要调 PID,就去“标准参数”或“扩展参数”里的 PID 页面。这种方式适合新手,不容易漏掉相关参数。
- 通过 GCS 命令行:如果你用命令行(比如 MAVProxy),可以直接输入
param show RLL来查看所有包含“RLL”的参数,用param set ATC_RLL_P 0.12来修改。这种方式效率极高,适合批量操作。
修改参数时,有几点要特别注意:
- 修改后必须保存:在 Mission Planner 里,修改一个参数后,它旁边会出现一个“写入参数”的按钮。你必须点击它,或者点击底部的“保存到闪存”,参数才会被写入飞控的持久化存储。否则,飞控一断电,你的修改就全丢了。
- 注意参数范围:每个参数都有其有效范围。比如
ATC_RLL_P的典型范围是 0.1 到 1.0。你如果写了个 10.0,飞控可能直接炸机。我建议你在修改前,先看一眼参数的描述和范围。 - 一次只改一个:调参时,一次只修改一个参数,然后观察飞行效果。这样你才能知道是哪个改动导致了什么变化。我曾经见过有人一次改了五个 PID 参数,结果飞机乱晃,他根本不知道是哪个参数的问题。
警告: 千万不要在飞行中通过无线数传修改关键参数(如 PID、失控保护)。如果链路不稳定,参数写入失败,或者你写入了错误的值,后果可能是炸机。所有关键参数的修改,都应该在地面完成,并经过验证。
3.3 保存与恢复参数:你的安全网
调参是个反复试错的过程。你可能会把参数调乱,或者想回到之前的某个稳定状态。这时候,保存和恢复参数就是你的救命稻草。
我个人习惯是,每次飞行前,如果我对参数做了任何修改,都会先保存一份当前参数。这样万一调坏了,我可以立刻恢复。
保存参数的方法:
- 在 Mission Planner 里:进入“全部参数表”,点击底部的“保存到文件”。系统会生成一个
.param文件,里面包含了飞控上所有的参数值。 - 通过命令行:使用
param save my_params.param命令,可以将所有参数保存到当前目录下的my_params.param文件中。
恢复参数的方法:
- 在 Mission Planner 里:同样在“全部参数表”页面,点击“从文件加载”。选择你之前保存的
.param文件,然后点击“写入参数”。 - 通过命令行:使用
param load my_params.param命令,可以将文件中的参数加载到飞控。
我的小技巧: 我会给参数文件起一个有意义的名称,比如 20231027_稳定悬停.param 或 20231028_大风天调参.param。这样我就能知道每个文件对应的是哪个飞行状态。另外,我建议你定期将参数文件备份到电脑或云盘上,以防飞控损坏导致参数丢失。
3.4 参数文件导入导出:批量操作与团队协作
当你需要配置多台相同的无人机,或者想分享你的调参成果时,参数文件的导入导出就派上用场了。
导出参数文件:其实就是我们刚才说的“保存到文件”。导出的 .param 文件是一个纯文本文件,你可以用任何文本编辑器打开它。它的格式很简单,每一行都是一个参数名和它的值,用逗号分隔。比如:
ATC_RLL_P, 0.1200
ATC_RLL_I, 0.0800
ATC_RLL_D, 0.0030
...
你可以直接编辑这个文件,批量修改参数。但要注意,编辑时一定要小心,不要写错参数名或格式。
导入参数文件:就是“从文件加载”。导入时,飞控会读取文件中的每一行,并尝试将对应的参数值写入。如果文件中有飞控不存在的参数,或者参数值超出范围,导入过程会报错,但不会影响其他参数的写入。
重要提醒: 不同固件版本(比如 ArduCopter 4.0 和 4.5)的参数可能不同。直接导入一个旧版本的参数文件到新版本飞控,可能会导致某些参数被忽略,甚至引发兼容性问题。我建议你在导入前,先确认固件版本是否匹配。如果不匹配,最好手动对比参数文件,只导入那些在两个版本中都存在的参数。
好了,参数系统的基础操作就这些。你想想看,是不是很简单?说白了,就是找到参数、修改它、保存它、备份它。这四步,贯穿了你整个飞控生涯。