无人机智能硬件【免费下载链接】qgroundcontrolCross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)项目地址https://gitcode.com/gh_mirrors/qg/qgroundcontrol点击查看免费下载本文是 QGroundControlQGC飞行模式Flight Modes设置部分的完整技术指南讲解如何将遥控发射器上开关的物理位置编码进单一无线电通道再由 QGC 的 Flight Modes 页面映射为 PX4 / ArduPilot 的具体飞行模式并给出 FrSky Taranis 发射器的真实配置示例。读完本文你将掌握飞行模式通道的选配规则、Taranis 开关映射技巧以及 QGC 底层如何通过 PWM 阈值判定当前激活模式的原理可直接用于实机调试。飞行模式设置页面的入口与前置条件飞行模式设置位于顶部工具栏的齿轮图标Vehicle Setup→ 侧边栏的 Flight Modes。进入该页面前必须满足两个前提已经配置好无线电Radio先按 无线电配置指南 完成遥控器与接收机绑定binding再在 QGC 中校准摇杆的通道映射、行程min/max、微调trim与反向reverse已经完成发射器设置Transmitter Setup让发射器把模式开关的各个位置编码成单个通道上不同的 PWM 值具体见下文发射器设置一节。注意PX4 与 ArduPilot 的飞行模式设置方式与可用模式集合是不同的且 ArduCopter多旋翼与 ArduPlane固定翼之间也存在差异。分栈的详细操作请分别参考 ArduPilot 飞行模式设置 与 PX4 飞行模式设置。核心原理把开关位置编码为通道上的 PWM 值飞行模式映射的本质是把发射器上模式开关一个或多个的物理位置组合翻译成单个通道上不同范围的 PWM 值飞控以及 QGC再根据收到的 PWM 值判定应当激活哪个模式。关键规则如下PX4 与 ArduPilot 都支持在单个通道上最多分配 6 种不同飞行模式最常见的做法是使用发射器上的一个2 位开关和一个 3 位开关组合出 6 种开关位置每种组合对应一个特定的 PWM 值在同一通道上输出模式通道的选择在不同固件上有差异PX4 上模式通道可选择ArduPlane固定翼上也可选择而 ArduCopter多旋翼固定使用通道 5。QGC 的 ArduPilot 实现中通过FLTMODE_CH多旋翼/固定翼或MODE_CHRover 地面车参数确定模式通道源码见 APMFlightModesComponentController.cc。从 QGC 源码看飞机端上报的RC_CHANNELSMAVLink 消息中的chanX_raw值会在 Vehicle.cc 中被解码并 clamp 到 10002000 的范围内随后通过rcChannelsClampedChanged信号广播给飞行模式控制器用于识别当前激活的模式。发射器设置Transmitter Setup不同发射器的编码方式各不相同下面以最常用的FrSky Taranis为例给出两类配置方法。方案一将 3 位开关直接映射到单个通道如果你只需要在 23 个模式之间切换直接把一个 3 位开关映射到通道即可。以 Taranis 的 SD 3 位开关映射到通道 5 为例打开 Taranis 的MIXER混控器页面向下滚动到CH5按ENT(ER)进入CH5的配置编辑界面将Source来源改为SD开关保存退出。完成之后通道 5 会针对SD开关的三个位置输出三种不同的 PWM 值QGC 侧即可据此区分三种模式。方案二用多个开关组合映射出最多 6 个模式大多数发射器没有 6 位开关要支持超过单个开关档位的模式数量最多 6 个就需要用多个开关组合编码。常见组合是一个 2 位开关 一个 3 位开关让每个位置组合产生不同的 PWM 值。在 FrSky Taranis 上的实现方法是为两个真实开关的每一组位置组合创建一个逻辑开关Logical Switch再把每个逻辑开关指派到同一个通道上的不同 PWM 值。这样拨动两个物理开关的任意组合通道都会输出一个唯一 PWM 值飞控即可区分出对应的飞行模式。同理也可在发射器上利用两个开关加混控设置mixing来生成 6 个模式档位。ArduPilotFLTMODE 参数与通道选项ArduPilot 固件多旋翼 Copter / 固定翼 Plane / 地面车 Rover的飞行模式页面对应的 QML 与控制器实现在 APMFlightModesComponent.qml 与 APMFlightModesComponentController.cc。其配置要点如下模式参数与通道选择6 个模式分别由参数FLTMODE1FLTMODE6Rover 为MODE1MODE6定义每个参数的值对应一种飞控模式编号模式所在通道由FLTMODE_CHRover 为MODE_CH指定多旋翼默认固定在通道 5固定翼可选择从仓库内置的离线参数看Copter 默认FLTMODE_CH5见 Copter.OfflineEditing.paramsPlane 默认FLTMODE_CH8见 Plane.OfflineEditing.params。Channel Options通道选项ArduCopter 还允许为通道 712指定额外的通道选项把函数如开启相机、RTL 返航等绑定到这些开关上。对应参数为RC7_OPTIONRC16_OPTION控制器中通过RC%1_OPTION访问见 APMFlightModesComponent.qml。在较老的固件上则使用CH7_OPT/CH8_OPT参数QGC 会依据CH7_OPT参数是否存在自动切换选项的起始/结束通道见 APMFlightModesComponent.qml。仓库默认参数示例中RC7_OPTION7对应 RTL 返航见 Copter.OfflineEditing.params这正对应官方建议的3 位模式开关 通道 7 上单独的 RTL 开关典型配置。Simple / Super-Simple 模式仅 Copter控制器还封装了SIMPLE与SUPER_SIMPLE两个参数的配置逻辑见 APMFlightModesComponentController.h。页面上提供 Off / Simple / Super-Simple / Custom 四种模式选择在 Custom 模式下可对每个 Flight Mode 单独勾选是否启用 Simple 与 Super-SimpleQGC 会把勾选结果按位写入SIMPLE/SUPER_SIMPLE参数见 APMFlightModesComponentController.cc。ArduPilot 操作步骤打开遥控器发射器电源进入Gear齿轮图标→ Flight Modes在下拉列表中最多选择 6 种飞行模式仅 ArduCopter为通道 712 选择额外的 Channel Options仅 ArduPlane从下拉列表中选择模式通道测试验证见下文验证与测试。所有值在修改时都会自动保存。PX4模式通道、COM_FLTMODE 与开关设置PX4 的飞行模式页面实现在 PX4FlightModes.qml控制器在 PX4SimpleFlightModesController.cc。PX4 侧有两个设置区域Flight Mode Settings飞行模式设置模式通道由参数RC_MAP_FLTMODE指定即发射器上承载模式 PWM 值的那个通道页面上默认显示为 Channel 56 个飞行模式分别由参数COM_FLTMODE1COM_FLTMODE6定义对应编码在模式通道不同 PWM 槽位上的模式PX4 官方建议优先设置 Position定位、Return返航与 Mission任务这三种模式。Switch Settings开关设置你可以把额外的开关通道映射到特定动作上比如紧急关停Kill switch、起落架、Loiter、Offboard、Return 等。页面上可配置的开关参数列表定义在 PX4FlightModes.qmlRC_MAP_ARM_SW/RC_ARMSWITCH_TH解锁开关RC_MAP_GEAR_SW/RC_GEAR_TH起落架RC_MAP_KILL_SW/RC_KILLSWITCH_TH紧急关停RC_MAP_LOITER_SW/RC_LOITER_THRC_MAP_OFFB_SW/RC_OFFB_THOffboardRC_MAP_RETURN_SW/RC_RETURN_TH返航对 VTOL 机型还会追加RC_MAP_TRANS_SW过渡模式开关固定翼机型则追加RC_MAP_FLAPS襟翼这些开关项会在页面载入时按机型动态加入列表。每行开关参数右侧都会实时显示该开关当前的激活状态激活时文字变黄。PX4 操作步骤打开遥控器发射器电源进入Gear齿轮图标→ Flight Modes在 Flight Mode Settings 中选择发射器的Mode channel并最多选择 6 个Flight Modes在 Switch Settings 中把空闲的开关/通道映射到 Kill switch、起落架等动作结合Channel Monitor通道监视器与逐个拨动开关来测试映射是否正确。源码级原理QGC 如何判定当前激活的模式飞行模式页面会把当前激活的模式文字显示为黄色这一判定的底层实现是两个控制器对Vehicle::rcChannelsClampedChanged信号的响应该信号携带 clamp 到 10002000 的通道值见 Vehicle.h。ArduPilot 侧固定阈值分档APMFlightModesComponentController.cc 中控制器先读取FLTMODE_CH或MODE_CH得到模式通道再按下表阈值把通道 PWM 值归入 6 个档位档位PWM 范围Flight Mode 序号10 – 1230Flight Mode 121231 – 1360Flight Mode 231361 – 1490Flight Mode 341491 – 1620Flight Mode 451621 – 1749Flight Mode 561750 及以上Flight Mode 6这套阈值在 QML 侧也有对应展示见 APMFlightModesComponent.qml。另外控制器会同时检查通道 616RC6_OPTION等对应位置的值是否大于 1800以此点亮Channel option 已激活的黄色提示。PX4 侧基于 MIN/MAX/TRIM 的六槽归一化PX4 没有固定阈值而是结合该通道的RCn_MIN、RCn_MAX、RCn_TRIM、RCn_REV参数做归一化先把原始 PWM 按 trim 与 min/max 归一到 -11反向由REV参数决定再按 6 个等宽槽位slot换算成模式序号 16完整算法见 PX4SimpleFlightModesController.cc。因此在 PX4 上只有完成 无线电校准 后模式判定才是准确的。验证与测试配置完成后请按以下方式验证Channel Monitor在 PX4 页面的 Switch Settings 区域观察通道监视器确认每个开关都拨动了预期的通道逐个拨动模式开关在发射器上依次选择每个模式档位观察 QGC 上对应Flight Mode 文字是否变黄——变黄即表示该模式已成功激活ArduPilot 补充检查多旋翼上拨动通道 712 的选项开关确认对应的 Channel option 文本变黄飞行前务必在地面完成全部检查避免模式映射错误导致升空后姿态/任务行为异常。小结飞行模式设置的完整链路是发射器开关组合 → 单通道 PWM 编码 → 无线电校准与通道映射 → 飞控参数FLTMODE/COM_FLTMODE 等→ QGC 页面可视化反馈。Taranis 用户可直接复用本文的 3 位开关与逻辑开关两种映射方案PX4 与 ArduPilot 的差异模式通道可选性、参数体系、Simple/Super-Simple、Channel Options、Switch Settings也已在文中逐一对照说明。更多分栈细节可继续阅读 ArduPilot 飞行模式设置 与 PX4 飞行模式设置。赞分享无人机智能硬件【免费下载链接】qgroundcontrolCross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)项目地址https://gitcode.com/gh_mirrors/qg/qgroundcontrol点击查看免费下载相关推荐QGroundControl 飞行模式设置将发射机开关映射到飞控模式通道的完整指南QGroundControl 飞行模式设置将发射机开关映射到飞控模式通道的完整指南 QGroundControlQGC的 Flight Modes飞行模无人机智能硬件QGroundControl 中的 PX4 飞行模式配置指南从 RC 开关映射到飞控参数QGroundControl 中的 PX4 飞行模式配置指南从 RC 开关映射到飞控参数 本文以 QGroundControlQGC地面站的 Vehicl无人机智能硬件MMPose 人体姿态估计数据增强实战基于 HRNet-w32 的 CoarseDropout / GridMask / 光度失真对比实验与配置解析MMPose 人体姿态估计数据增强实战基于 HRNet w32 的 CoarseDropout / GridMask / 光度失真对比实验与配置解析 导读 本无人机智能硬件上一篇SwipeBackLayout多边支持详解左、右、底部滑动的完美实现下一篇Larastan 测试用例扩展如何深度分析 Laravel 测试代码的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考