目的和范围
参数编辑器是 Mission Planner 的核心组件,允许用户查看、编辑和管理已连接 ArduPilot 飞行器的配置参数。它提供了一个全面的界面,用于与数百个控制飞行器行为的可配置参数进行交互,涵盖从飞行特性到硬件配置等各个方面。本页介绍了参数编辑器的功能、用户界面和实现方式。
有关固件特定参数,请参阅固件更新。有关校准步骤,请参阅指南针校准。
概述
参数编辑器是一个强大的工具,它提供:
- 所有可用参数及其当前值的表格视图
- 参数元数据,包括描述、单位、有效选项和值范围
- 参数的层次组织
- 搜索和过滤功能
- 参数保存、加载和比较功能
用户界面组件
参数编辑器界面由几个关键组件组成:

主要部件:
-
参数表:以表格形式显示所有参数,其中包含以下列:
- 参数名称
- 当前值
- 默认值(可用时)
- 单位
- 有效选项或范围
- 描述
- 最喜欢的旗帜
-
参数树:按前缀分层组织参数,以便于导航。
-
搜索和过滤控件:
- 用于查找特定参数的文本搜索框
- 仅显示修改后的参数或非默认值的过滤选项
-
操作按钮:用于参数操作的各种按钮,包括:
- 加载和保存参数文件
- 向车辆写入参数
- 从车辆刷新参数
- 比较参数集
- 从 ArduPilot 存储库加载参数预设
参数查看和导航
参数表
参数表以网格格式显示所有参数及其元数据。每行代表一个参数,包含以下信息:
- 名称 :参数标识符(例如
BATT_CAPACITY
) - 值:参数的当前设置
- 默认值:出厂默认值(可用时)
- 单位:参数的测量单位
- 选项:参数的有效选项或可接受范围
- 描述:解释该参数的作用
- Fav:复选框将参数标记为收藏,以便快速访问
已修改但尚未写入车辆的参数以绿色突出显示。
参数树导航
左侧的参数树按前缀对参数进行分层组织。例如:
- BATT_* 参数归入 BATT 分支
- SERVO_* 参数归入 SERVO 分支
这使得在使用车辆的特定系统时更容易找到相关参数。
参数编辑
编辑参数值
要更改参数值:
- 点击参数表中的值字段
- 输入新值
- 单元格背景变为绿色,表示该参数已被修改但尚未写入
- 更改将存储在队列中,直到您单击"写入参数"
编辑器根据参数的允许范围执行验证,如果您输入超出此范围的值,则会发出警告。
将参数写入车辆
修改后:
- 点击"写入参数"按钮
- 系统确认您将要进行的更改
- 参数逐一发送给车辆
- 完成后会出现确认信息
对于需要重启才能生效的参数,写入操作完成后系统会通知您。

过滤和搜索参数
参数编辑器提供了几种过滤和搜索大量参数的方法:
文本搜索
搜索框允许通过参数名称、值或描述中的任何匹配文本来过滤参数。
基于树的过滤
选择参数树中的节点会过滤表格以仅显示属于该前缀组的参数。
特殊过滤器
其他过滤选项包括:
- 已修改:仅显示已更改但尚未写入的参数
- 无默认值:仅显示当前值与默认值不同的参数
过滤系统有助于管理车辆上可能存在的数百个参数,从而更容易找到特定设置或关注特定的配置区域。
保存和加载参数
将参数保存到文件
"保存到文件"按钮会将所有当前参数值保存到 .param 文件中。此功能适用于:
- 备份工作配置
- 在车辆之间共享配置
- 在进行更改之前记录参数状态
从文件加载参数
"从文件加载"按钮可从已保存的 .param 文件加载参数。加载时:
- 系统将加载的参数与当前参数进行比较
- 比较对话框显示差异
- 您可以选择要应用的参数
- 确认后,所选参数将在编辑器中更新(但直到您单击"写入参数"才会写入车辆)
参数预设
Mission Planner 可以从 ArduPilot 存储库加载预定义的参数集:
- 从下拉菜单中选择一个参数预设
- 点击"加载预设"
- 在比较对话框中查看更改
- 确认应用预设参数
这对于针对特定机身类型或用例应用推荐设置特别有用。
参数比较
"比较参数"按钮允许您将当前参数与存储在文件中的参数进行比较:
- 点击"比较参数"
- 选择参数文件
- 出现一个比较对话框,显示:
- 两组参数均存在但值不同
- 仅存在于一个集合中的参数
- 您可以选择应用哪些差异
这有助于识别不同设置或版本之间的配置变化。
附加功能
参数收藏夹
您可以通过勾选"收藏"框将常用参数标记为收藏。收藏的参数会显示在参数列表顶部,方便快速访问。
参数重置
"重置为默认值"按钮可将飞行器上的所有参数重置为出厂默认值。这需要重新启动飞行控制器。
提交参数
"提交参数"按钮向车辆发送命令,将参数保存到非易失性存储器中,确保它们在重启后仍然存在。
参数刷新
"刷新参数"按钮重新请求车辆的所有参数,如果参数可能已被另一个 GCS 或机载脚本更改,则此功能很有用。
技术实现
数据流架构

参数编辑器与其他几个系统交互:
-
MAVLink 通信 :通过 MAVLink 消息从飞行器中检索参数并将其发送到飞行器
MAVLinkInterface
。 -
参数存储 :在任务规划器中,参数存储在
MAVLinkParamList
通过访问的对象中MainV2.comPort.MAV.param
。 -
元数据存储库 :
ParameterMetaDataRepository
提供参数的描述、单位、有效范围和选项。 -
文件管理 :
ParamFile
该类负责保存和加载文件参数。 -
GitHub 集成 :该类
GitHubContent
从 ArduPilot GitHub 存储库获取参数预设。
参数变更管理
在用户界面中编辑参数时,更改不会立即发送到车辆。而是:
_changes
在哈希表中跟踪- 在用户界面中以绿色背景突出显示
- 根据允许范围进行验证
- 当用户点击"写入参数"时排队等待写入
这种批处理方法有助于防止与车辆的过度通信,并允许用户在应用更改之前检查更改。

分层参数组织
参数编辑器通过以下方式根据参数名称构建树状结构:
- 按字母顺序对参数进行排序
- 识别常见前缀(例如"BATT_"、"SERVO_")
- 为每个前缀级别创建树节点
- 在各自的前缀节点下组织参数
此功能在方法中实现BuildTree()
,该方法分析参数名称并创建层次结构,以帮助用户更有效地浏览大量参数。
故障排除
参数编辑器的常见问题:
-
参数未出现:使用"刷新参数"按钮再次向车辆请求参数。
-
无法更改参数:某些参数是只读的,或者需要解除车辆武装后才能更改。
-
参数写入失败:如果参数写入失败,请检查与车辆的连接并确保其未处于阻止参数更改的状态(例如,武装)。
-
参数更改未生效:某些参数需要重启才能生效。写入参数后,请检查是否出现"需要重启"消息。