MissionPlanner架构梳理之(十)-参数编辑器

目的和范围

参数编辑器是 Mission Planner 的核心组件,允许用户查看、编辑和管理已连接 ArduPilot 飞行器的配置参数。它提供了一个全面的界面,用于与数百个控制飞行器行为的可配置参数进行交互,涵盖从飞行特性到硬件配置等各个方面。本页介绍了参数编辑器的功能、用户界面和实现方式。

有关固件特定参数,请参阅固件更新。有关校准步骤,请参阅指南针校准

概述

参数编辑器是一个强大的工具,它提供:

  1. 所有可用参数及其当前值的表格视图
  2. 参数元数据,包括描述、单位、有效选项和值范围
  3. 参数的层次组织
  4. 搜索和过滤功能
  5. 参数保存、加载和比较功能

用户界面组件

参数编辑器界面由几个关键组件组成:

主要部件:

  1. 参数表:以表格形式显示所有参数,其中包含以下列:

    • 参数名称
    • 当前值
    • 默认值(可用时)
    • 单位
    • 有效选项或范围
    • 描述
    • 最喜欢的旗帜
  2. 参数树:按前缀分层组织参数,以便于导航。

  3. 搜索和过滤控件

    • 用于查找特定参数的文本搜索框
    • 仅显示修改后的参数或非默认值的过滤选项
  4. 操作按钮:用于参数操作的各种按钮,包括:

    • 加载和保存参数文件
    • 向车辆写入参数
    • 从车辆刷新参数
    • 比较参数集
    • 从 ArduPilot 存储库加载参数预设

参数查看和导航

参数表

参数表以网格格式显示所有参数及其元数据。每行代表一个参数,包含以下信息:

  • 名称 :参数标识符(例如BATT_CAPACITY
  • :参数的当前设置
  • 默认值:出厂默认值(可用时)
  • 单位:参数的测量单位
  • 选项:参数的有效选项或可接受范围
  • 描述:解释该参数的作用
  • Fav:复选框将参数标记为收藏,以便快速访问

已修改但尚未写入车辆的参数以绿色突出显示。

参数树导航

左侧的参数树按前缀对参数进行分层组织。例如:

  • BATT_* 参数归入 BATT 分支
  • SERVO_* 参数归入 SERVO 分支

这使得在使用车辆的特定系统时更容易找到相关参数。

参数编辑

编辑参数值

要更改参数值:

  1. 点击参数表中的值字段
  2. 输入新值
  3. 单元格背景变为绿色,表示该参数已被修改但尚未写入
  4. 更改将存储在队列中,直到您单击"写入参数"

编辑器根据参数的允许范围执行验证,如果您输入超出此范围的值,则会发出警告。

将参数写入车辆

修改后:

  1. 点击"写入参数"按钮
  2. 系统确认您将要进行的更改
  3. 参数逐一发送给车辆
  4. 完成后会出现确认信息

对于需要重启才能生效的参数,写入操作完成后系统会通知您。

过滤和搜索参数

参数编辑器提供了几种过滤和搜索大量参数的方法:

文本搜索

搜索框允许通过参数名称、值或描述中的任何匹配文本来过滤参数。

基于树的过滤

选择参数树中的节点会过滤表格以仅显示属于该前缀组的参数。

特殊过滤器

其他过滤选项包括:

  • 已修改:仅显示已更改但尚未写入的参数
  • 无默认值:仅显示当前值与默认值不同的参数

过滤系统有助于管理车辆上可能存在的数百个参数,从而更容易找到特定设置或关注特定的配置区域。

保存和加载参数

将参数保存到文件

"保存到文件"按钮会将所有当前参数值保存到 .param 文件中。此功能适用于:

  • 备份工作配置
  • 在车辆之间共享配置
  • 在进行更改之前记录参数状态

从文件加载参数

"从文件加载"按钮可从已保存的 .param 文件加载参数。加载时:

  1. 系统将加载的参数与当前参数进行比较
  2. 比较对话框显示差异
  3. 您可以选择要应用的参数
  4. 确认后,所选参数将在编辑器中更新(但直到您单击"写入参数"才会写入车辆)

参数预设

Mission Planner 可以从 ArduPilot 存储库加载预定义的参数集:

  1. 从下拉菜单中选择一个参数预设
  2. 点击"加载预设"
  3. 在比较对话框中查看更改
  4. 确认应用预设参数

这对于针对特定机身类型或用例应用推荐设置特别有用。

参数比较

"比较参数"按钮允许您将当前参数与存储在文件中的参数进行比较:

  1. 点击"比较参数"
  2. 选择参数文件
  3. 出现一个比较对话框,显示:
    • 两组参数均存在但值不同
    • 仅存在于一个集合中的参数
  4. 您可以选择应用哪些差异

这有助于识别不同设置或版本之间的配置变化。

附加功能

参数收藏夹

您可以通过勾选"收藏"框将常用参数标记为收藏。收藏的参数会显示在参数列表顶部,方便快速访问。

参数重置

"重置为默认值"按钮可将飞行器上的所有参数重置为出厂默认值。这需要重新启动飞行控制器。

提交参数

"提交参数"按钮向车辆发送命令,将参数保存到非易失性存储器中,确保它们在重启后仍然存在。

参数刷新

"刷新参数"按钮重新请求车辆的所有参数,如果参数可能已被另一个 GCS 或机载脚本更改,则此功能很有用。

技术实现

数据流架构

参数编辑器与其他几个系统交互:

  1. MAVLink 通信 :通过 MAVLink 消息从飞行器中检索参数并将其发送到飞行器MAVLinkInterface

  2. 参数存储 :在任务规划器中,参数存储在MAVLinkParamList通过访问的对象中MainV2.comPort.MAV.param

  3. 元数据存储库ParameterMetaDataRepository提供参数的描述、单位、有效范围和选项。

  4. 文件管理ParamFile该类负责保存和加载文件参数。

  5. GitHub 集成 :该类GitHubContent从 ArduPilot GitHub 存储库获取参数预设。

参数变更管理

在用户界面中编辑参数时,更改不会立即发送到车辆。而是:

  1. _changes在哈希表中跟踪
  2. 在用户界面中以绿色背景突出显示
  3. 根据允许范围进行验证
  4. 当用户点击"写入参数"时排队等待写入

这种批处理方法有助于防止与车辆的过度通信,并允许用户在应用更改之前检查更改。

分层参数组织

参数编辑器通过以下方式根据参数名称构建树状结构:

  1. 按字母顺序对参数进行排序
  2. 识别常见前缀(例如"BATT_"、"SERVO_")
  3. 为每个前缀级别创建树节点
  4. 在各自的前缀节点下组织参数

此功能在方法中实现BuildTree(),该方法分析参数名称并创建层次结构,以帮助用户更有效地浏览大量参数。

故障排除

参数编辑器的常见问题:

  1. 参数未出现:使用"刷新参数"按钮再次向车辆请求参数。

  2. 无法更改参数:某些参数是只读的,或者需要解除车辆武装后才能更改。

  3. 参数写入失败:如果参数写入失败,请检查与车辆的连接并确保其未处于阻止参数更改的状态(例如,武装)。

  4. 参数更改未生效:某些参数需要重启才能生效。写入参数后,请检查是否出现"需要重启"消息。

相关推荐
麦兜*3 小时前
MongoDB 6.0 新特性解读:时间序列集合与加密查询
数据库·spring boot·mongodb·spring·spring cloud·系统架构
数学建模小secret16 小时前
2025 数学建模高教社杯 国赛(A题)| 无人机干扰弹 | 建模秘籍&文章代码思路大全
数学建模·无人机
云卓SKYDROID19 小时前
无人机信号防干扰技术难点分析
无人机·遥控器·高科技·云卓科技
文火冰糖的硅基工坊1 天前
[硬件电路-166]:Multisim - SPICE与Verilog语言的区别
系统架构·电路·跨学科融合
UAV_ckesc1 天前
无人机 GNSS 天线详细讲解:定位的 “感知神经”
无人机·gnss
UAV_ckesc1 天前
技术解析:Breeze 80A-M FOC 无人机电调的性能优势与保护机制
无人机·固定翼·无人机电调·无人机动力·南昌长空科技
文火冰糖的硅基工坊1 天前
[光学原理与应用-449]:量子光学 - 量子光学研究的是单个光子的行为、传播特性、物质相互作用及其应用
系统架构·量子计算·光学·激光器·跨学科融合
roman_日积跬步-终至千里1 天前
【系统架构设计师(22)】面向服务的软件架构风格
系统架构
roman_日积跬步-终至千里1 天前
【系统架构设计(13)】项目管理上:盈亏平衡分析与进度管理
系统架构