ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

QGroundControl 中的 PX4 飞行模式配置指南:从 RC 开关映射到飞控参数

QGroundControl 中的 PX4 飞行模式配置指南:从 RC 开关映射到飞控参数 无人机智能硬件【免费下载链接】qgroundcontrolCross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)项目地址https://gitcode.com/gh_mirrors/qg/qgroundcontrol点击查看免费下载本文以 QGroundControlQGC地面站的 Vehicle Setup飞行器设置面板为核心系统讲解 PX4 固件下飞行模式与动作开关的完整配置流程如何选择一个模式通道Mode Channel、为通道上的各档位分配最多 6 个飞行模式、将备用通道映射到急停Kill Switch、起落架等动作并通过通道监视器完成实机验证。读完本文你将掌握 Flight Modes 页面的每一项设置对应的 PX4 飞控参数RC_MAP_FLTMODE、COM_FLTMODE1~6、RC_MAP_*_SW等以及 QGC 在底层如何计算并高亮当前激活的飞行模式。功能概述与前置条件PX4 的 Flight Modes飞行模式配置页面用于将飞行模式以及特定的动作Action绑定到你 RC 发射机上的物理开关与开关档位。其原理是发射机把开关组合编码为一个通道上的不同 PWM 值飞控根据该通道值切换到对应模式QGC 则负责帮你完成哪个通道、哪个档位、对应哪个模式的映射配置。在开始配置之前必须满足两个前置条件详见 飞行模式总览已完成 Radio 配置即完成遥控器校准让 QGC 能正确读取各通道的 PWM 值已完成 发射机设置Transmitter Setup在发射机侧把模式开关的物理位置编码到单一通道上。提示PX4 与 ArduPilot 的飞行模式配置方式不同本页面向 PX4 固件。ArduPilot 的配置请参见 ArduPilot Flight Modes Setup。进入 Flight Modes 页面操作入口非常简单打开你的 RC 发射机电源在 QGC 顶部工具栏点击齿轮图标Gear进入 Vehicle Setup 飞行器设置在左侧边栏选择Flight Modes。该页面在源码层面由 FlightModesComponent.cc 注册为 Vehicle Setup 下的一个组件其setupSource()指向 PX4FlightModes.qml并将页面划分为两个 sectionFlight Modes与Switch Settings。也就是说你看到的整屏内容由两个独立的功能区块组成下文分别说明。Flight Mode Settings模式通道与六档飞行模式页面左侧是Flight Mode Settings飞行模式设置。你需要在此完成两件事选择模式通道Mode Channel指定哪个 RC 通道用于承载模式信息上文示例中为 Channel 5。PX4 允许你自由选择任意通道这一点与 ArduCopter 将通道固定为 5 不同选择最多 6 个飞行模式该通道上不同档位不同 PWM 值对应不同的飞行模式Flight Mode 1到Flight Mode 6依次对应通道上从小到大的 6 个档位区间。建议Position位置模式、Return返航模式和 Mission任务模式是官方推荐必须分配的三个模式其余档位可按任务需要补充 Altitude、Loiter、Offboard 等。对应的飞控参数从 PX4FlightModes.qml 的源码可以看出这组下拉框直接读写以下 PX4 参数界面控件底层 PX4 参数含义Mode ChannelRC_MAP_FLTMODE模式通道映射0 表示未映射Flight Mode 1 ~ 6COM_FLTMODE1~COM_FLTMODE6通道 6 个档位各自对应的飞行模式枚举值值得说明的是RC_MAP_FLTMODE为 0未设置时的行为在 PX4SimpleFlightModesController.cc 中当模式通道未设置时_activeFlightMode会被置 0QGC 无法跟踪当前模式——因此配置页面会保持未激活状态直到你选好通道。底层如何判定当前激活哪个模式当你拨动开关时QGC 之所以能在界面上实时显示当前激活模式是因为 PX4SimpleFlightModesController 订阅了Vehicle::rcChannelsClampedChanged信号每次收到新的 PWM 通道值都会重算activeFlightMode。其计算逻辑PX4SimpleFlightModesController.cc值得展开读取模式通道上的原始 PWM 值并结合该通道的校准参数RC通道号_REV方向、RC通道号_MIN、RC通道号_MAX、RC通道号_TRIM把 PWM 归一化到 -1.0 ~ 1.0 区间将 [-1, 1] 区间均分为 6 个槽位slot每个槽位对应一个飞行模式档位归一化值落在哪个槽位就判定为哪个模式最后把索引从 0 基转换为 1 基Flight Mode 1~Flight Mode 6。这套算法意味着只要你的发射机把开关组合编码成 6 个彼此间隔足够的 PWM 值通常 1000/1200/1400/1600/1800/2000 附近QGC 和飞控就能稳定区分 6 个档位。这也是为什么文档强调发射机侧的编码质量直接影响模式切换可靠性。Switch Settings动作开关映射页面右侧是Switch Settings开关设置。如果你还有富余的开关和通道可以把它们映射到特定动作上——例如紧急停机Kill Switch、起落架收放等。与飞行模式不同这些开关执行的是动作而非模式。支持的开关与对应参数从 PX4FlightModes.qml 的开关列表可见PX4 下默认可映射的动作为动作通道映射参数触发阈值参数Arm / Disarm解锁/上锁RC_MAP_ARM_SWRC_ARMSWITCH_THLanding Gear起落架RC_MAP_GEAR_SWRC_GEAR_THKill Switch急停RC_MAP_KILL_SWRC_KILLSWITCH_THLoiter悬停/盘旋RC_MAP_LOITER_SWRC_LOITER_THOffboard机载模式RC_MAP_OFFB_SWRC_OFFB_THReturn返航RC_MAP_RETURN_SWRC_RETURN_TH同一段源码还揭示了两个机型相关的动态扩展VTOL 机型会额外追加RC_MAP_TRANS_SW/RC_TRANS_TH过渡开关用于固定翼/多旋翼形态切换固定翼机型会额外追加RC_MAP_FLAPS襟翼。阈值参数如何决定开关触发每个动作开关都有一个阈值参数RC_*_TH。在 PX4FlightModes.qml 中QGC 按下式把阈值换算成实际 PWM 比较值thPWM 1000 1000 × thValue // 例如 thValue0.5 时thPWM1500随后把通道当前 PWM 与thPWM比较正向阈值取 thPWM反向阈值取 thPWM来决定该开关当前是否处于激活状态。当通道尚未映射RC_MAP_*_SW为 0时该开关行会显示为未激活。验证与测试Channel Monitor 与模式高亮配置完成后务必在起飞前完成开关与模式的核对步骤为查看Channel Monitor通道监视器逐档拨动发射机上的每个开关确认每个开关都驱动了预期的那一个通道而不是错位或干扰到其他通道依次拨动模式开关的每个档位观察 QGC 上对应的Flight Mode 是否被激活——被激活的模式文字会变为黄色同样检查 Switch Settings 中各动作开关的激活状态。通道监视器的实现细节Channel Monitor 控件由 RCChannelMonitor.qml 实现每个通道以条形显示当前 PWM 值显示范围固定为 800 ~ 2200见 RCChannelMonitor.qml中心点为 1500并支持反向通道reversed的镜像显示未映射的通道会直接标注Not Mapped。因此你不仅能确认开关动了哪个通道还能顺带发现未映射或方向相反的通道。活动模式的高亮逻辑模式高亮同样在 PX4FlightModes.qml 中实现color: (controller.activeFlightMode - 1) index ? yellow : qgcPal.text即 QGC 根据控制器实时算出的activeFlightMode1 基索引与Flight Mode 1~6的序号比对命中的那一行以黄色显示。这与你看到的拨动开关、模式文字变黄完全对应也验证了前面介绍的槽位计算算法在实机上的运行效果。参数的自动保存所有在 Flight Modes 页面修改的值都会被自动保存无需额外的保存按钮。从实现角度看这些值本身就是写入飞控的参数RC_MAP_*、COM_FLTMODE*等通过 QGC 的参数系统在改动瞬间即下发到飞控端断开重连后依然生效。页面加载时也会从飞控回读这些参数的当前值。发射机侧的配合要点QGC 只负责映射关系而开关组合 → 单通道 PWM 值的编码必须在发射机侧完成具体方法因发射机品牌而异。典型做法包括单个 3 档开关把三档开关直接映射到某一通道即可获得 3 个不同 PWM 值支持 3 个飞行模式2 档 3 档开关组合用一个 2 档开关和一个 3 档开关的 6 种位置组合编码出 6 个 PWM 值从而支持完整的 6 个模式档位这是最常见的做法。详细的发射机配置示例含 FrSky Taranis 的操作步骤见 Flight Modes Setup 的 Transmitter Setup 小节。相关资源Flight Modes 总览含 Transmitter Setup 与 Taranis 示例Radio 配置前置步骤ArduPilot 飞行模式配置对比阅读页面实现PX4FlightModes.qml活动模式计算逻辑PX4SimpleFlightModesController.cc / PX4SimpleFlightModesController.h组件注册与摘要FlightModesComponent.cc、FlightModesComponentSummary.qml通道监视器控件RCChannelMonitor.qml赞分享无人机智能硬件【免费下载链接】qgroundcontrolCross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)项目地址https://gitcode.com/gh_mirrors/qg/qgroundcontrol点击查看免费下载相关推荐PX4 飞行模式配置指南将飞行模式与功能开关映射到遥控器通道PX4 飞行模式配置指南将飞行模式与功能开关映射到遥控器通道 本篇指南讲解如何在 PX4 Autopilot 中把 飞行模式 Position、Missio嵌入式物联网机器人自动驾驶智能硬件AirSim 飞行控制器指南simple_flight、PX4 HITL/SITL 配置与无飞控模式AirSim 飞行控制器指南simple_flight、PX4 HITL/SITL 配置与无飞控模式 本篇技术指南围绕 AirSim 的飞行控制器Fligh自动驾驶人工智能深度学习强化学习计算机视觉科研PX4-Autopilot 的 VehicleControlMode uORB 消息详解控制器调度总开关与飞行模式映射原理PX4 Autopilot 的 VehicleControlMode uORB 消息详解控制器调度总开关与飞行模式映射原理 本文以 PX4 Autopilot嵌入式物联网机器人自动驾驶智能硬件上一篇New API 大模型网关快速部署、多节点配置与跨格式转换技术指南下一篇突破性三合一方案baidu-wangpan-parse网盘解析工具效率倍增终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表