PX4 飞行模式配置指南将飞行模式与功能开关映射到遥控器通道【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot本篇指南讲解如何在 PX4-Autopilot 中把飞行模式Position、Mission、Return 等与其他功能Kill Switch、Offboard、VTOL 过渡映射到遥控器RC发射机的物理开关上涵盖 QGroundControl 可视化配置流程、FrSky Taranis 发射机的单通道与多开关编码方案并结合rc_update模块源码剖析单通道模式选择的底层实现PWM 槽位划分与阈值判定帮助你完成一套安全、可复用的飞行模式开关方案。前置条件在配置飞行模式之前你必须已经完成无线电遥控器校准参照 无线电遥控器校准确保各通道的最小值、中位值、最大值RCn_MIN/RCn_TRIM/RCn_MAX已正确标定通道数RC_CHAN_CNT非零发射机编码将模式开关的物理位置编码进一个单一通道。下文以流行的 FrSky Taranis 为例给出配置步骤若你使用其他发射机请查阅其说明书或 QGroundControl 用户手册。该设置哪些飞行模式和开关飞行模式提供不同类型的自动驾驶辅助飞行与全自主飞行。你可以从 飞行模式总览 中为你的机型选择任意或零个飞行模式。对绝大多数用户建议至少映射以下模式与功能它们能让飞行更安全、更容易操控Position 模式定位模式——手动飞行中最简单、最安全的模式Return 模式返航模式——按安全路径飞回起飞点并降落仅 VTOLVTOL 过渡开关——在固定翼与多旋翼两种飞行构型之间切换。此外常见的开关映射还包括Mission 模式任务模式——执行地面站预先规划并上传的任务Kill Switch紧急停止开关——立即停止所有电机输出飞行器会坠落但在某些场景下这比放任其继续飞行更可取。详细行为见 安全配置Kill Switch。飞行模式选择单通道方案PX4 允许指定一个模式通道Mode channel并在此通道上按 PWM 值划分6 个槽位最多激活 6 种飞行模式同时也可以单独指定用于映射 Kill Switch、Return 模式、Offboard 模式的通道。QGroundControl 配置步骤启动QGroundControl并连接飞行器打开遥控器发射机电源点击Q 图标 Vehicle Setup Flight Modes侧边栏打开Flight Modes Setup设置Flight Mode Settings选择Mode channel如上图所示通常为通道 5实际取决于你的发射机配置依次拨动为模式选择准备的发射机开关当前开关位置对应的模式槽位会被高亮上图中为Flight Mode 1为每个开关位置选择希望触发的飞行模式。注意虽然 6 个槽位都可以设置飞行模式但只有被映射到实际开关位置的通道才会被高亮/使用。设置Switch Settings选择要映射到特定动作的通道例如Return模式、Kill switch、Offboard模式等前提是发射机上有多余的开关和通道验证模式是否正确映射到发射机开关查看Channel Monitor通道监视器确认每个开关确实改变的是预期的通道依次拨动发射机上的每个模式开关检查期望的飞行模式是否被激活在 QGroundControl 中激活模式的文字会变为黄色。所有值在修改时都会自动保存。模式槽位的底层计算单通道方案的核心是把一个通道的 PWM 值均匀切分成多个槽位。在 src/modules/rc_update/rc_update.cpp 的UpdateManualSwitches()中可以看到其实现逻辑通道值被归一化到[-1, 1]区间slot_min -1.05slot_max 1.05两侧各留 0.05 的裕量用(value - slot_min) * num_slots / (slot_max - slot_min)计算当前落在第几个槽位并加上半槽宽进行整数取整修正计算出的mode_slot16被发布到manual_control_switches话题随后由 src/modules/manual_control/ManualControl.hpp 中的evaluateModeSlot()结合COM_FLTMODE1~COM_FLTMODE6参数定义每个槽位对应的飞行模式完成最终模式切换。也就是说QGroundControl 界面上的 6 个槽位对应参数COM_FLTMODE1~COM_FLTMODE6而模式通道本身对应参数RC_MAP_FLTMODE。参数定义与默认值可在 src/modules/rc_update/params.yaml 中查看。单独开关Return / Kill / Offboard 等除了单通道模式选择PX4 还支持为以下功能分别指定独立通道对应一组RC_MAP_*映射参数与RC_*_TH阈值参数均在 Radio Switches 参数组中定义见 src/modules/rc_update/params.yaml功能映射参数阈值参数说明Return 模式RC_MAP_RETURN_SWRC_RETURN_TH默认 0.75拨动开关触发返航Loiter 模式RC_MAP_LOITER_SWRC_LOITER_TH默认 0.75拨动开关进入悬停/盘旋Offboard 模式RC_MAP_OFFB_SWRC_OFFB_TH默认 0.75切换为外部机载计算机控制Kill SwitchRC_MAP_KILL_SWRC_KILLSWITCH_TH默认 0.75立即停止全部电机输出可恢复Termination 开关RC_MAP_TERM_SW固定 0.75不可逆飞行终止触发降落伞等需重启才能解除Arm/Disarm 开关RC_MAP_ARM_SWRC_ARMSWITCH_TH默认 0.75用开关代替油门杆解锁/上锁VTOL 过渡RC_MAP_TRANS_SWRC_TRANS_TH默认 0.75VTOL 机型在固定翼/多旋翼间切换起落架RC_MAP_GEAR_SWRC_GEAR_TH默认 0.75收放起落架襟翼RC_MAP_FLAPS—固定翼襟翼通道载荷电源RC_MAP_PAY_SWRC_PAYLOAD_TH/RC_PAYLOAD_MIDTH三档载荷电源开关主电机接合RC_MAP_ENG_MOTRC_ENG_MOT_TH默认 0.75直升机主电机接合按钮选模式RC_MAP_FLTM_BTN—用瞬时按钮按位掩码选择模式槽位其中开关的映射关系在 src/modules/rc_update/rc_update.cpp 的update_rc_functions()中建立每个RC_MAP_*参数减去 1 后作为通道索引-1表示未映射写入rc_channels_s的功能表。此后getRCSwitchOnOffPosition()rc_update.cpp按阈值参数判断二档开关位置getRCSwitch3WayPosition()rc_update.cpp用on_threshold与mid_threshold判断三档开关位置。阈值参数约定所有RC_*_TH阈值参数遵循同一套约定以 RC_RETURN_TH 为例取值 01 表示阈值位于通道全量程中的相对位置0为最小值端1为最大值端符号表示比较方向正值表示通道值 阈值时为真负值表示通道值 阈值时为真即反相开关内部实现时通道值先由[-1, 1]重标定到[0, 1]0.5f * value 0.5f再与阈值比较。Kill Switch 与 Termination 的区别从 RC_MAP_KILL_SW 与 RC_MAP_TERM_SW 的参数说明可以清晰区分两者Kill Switch将所有输出立即置为解锁disarmed值不会部署降落伞与 Termination 不同它是可逆的——快速拨回开关即可恢复控制。系统会在 5 秒后自动上锁之后需要重新进行预检与解锁Termination触发不可逆的飞行终止所有输出禁用并置为失效保护值同时触发 MAVLink 降落伞在系统重启前无法解除请谨慎使用。发射机设置以 FrSky Taranis 为例本节给出针对 Taranis 发射机的几种典型配置。QGroundControl 的用户手册中可能还有其他发射机的设置说明。Taranis 三档开关单通道选择 23 个模式如果只需要在 23 个模式之间选择可以将模式映射到单个三档开关的各个位置。下面以 Taranis 的SD三档开关映射到通道 5 为例打开 Taranis 的MIXER混控页面向下滚动到CH5如下图所示按ENT(ER)编辑CH5配置将Source信号源改为SD开关如下图所示完成通道 5 现在会针对SD开关的三个位置输出 3 种不同的 PWM 值。接下来的 QGroundControl 配置与上文飞行模式选择一节完全一致。Taranis 多开关编码单通道支持 4 个以上模式大多数发射机没有六档开关因此如果需要支持超过单个开关位置数的模式数量最多 6 个就必须用多个开关组合来表示。常见做法是把一个二档开关和一个三档开关的位置组合编码进同一个通道使每种组合输出不同的 PWM 值。在 FrSky Taranis 上该过程涉及为两个真实开关的每种位置组合分配一个逻辑开关logical switch再把每个逻辑开关分配到同一通道上的不同 PWM 值。QGroundControl 侧的配置同上文飞行模式选择一节所述。提示此编码方式与rc_update模块的槽位划分天然契合——无论发射机端如何组合编码只要最终输出到模式通道的 PWM 值落在对应槽位区间内PX4 就会选择对应的COM_FLTMODE1~COM_FLTMODE6飞行模式。用按钮瞬时开关选择模式除了连续通道划分槽位PX4 还支持用瞬时按钮切换模式参数RC_MAP_FLTM_BTN定义见 src/modules/rc_update/params.yaml是一个位掩码每一位对应一个通道最低位 通道 1最多可设 6 个槽位每个槽位的模式同样由COM_FLTMODEX定义。该功能仅在RC_MAP_FLTMODE未启用时可用按钮按下事件经由 map_flight_modes_buttons() 与迟滞hysteresis滤波后在UpdateManualSwitches()中处理。通过参数直接配置除 QGroundControl 图形界面外也可以直接通过参数设置映射关系。所有相关参数位于 Radio Switches 参数组完整定义与取值参见 src/modules/rc_update/params.yaml或查阅 无线电开关参数参考。例如在终端/地面站中执行param set RC_MAP_FLTMODE 5 # 模式通道使用通道 5 param set RC_MAP_RETURN_SW 6 # 返航开关映射到通道 6 param set RC_MAP_KILL_SW 7 # Kill Switch 映射到通道 7 param set COM_FLTMODE1 3 # 槽位 1 对应 Position 模式模式编号见参数文档 param save需要说明的是RC_MAP_*参数在源码中被读取后减 1作为从 0 开始的通道索引0表示未分配Unassigned118 对应通道 118映射参数与阈值参数的默认值均可从 params.yaml 中查阅。验证与排错使用 QGroundControl 的Channel Monitor确认各开关对应的通道与 PWM 变化拨动模式开关观察 QGroundControl 中激活模式文字是否变黄若槽位未高亮说明该开关位置对应的 PWM 未落入任何槽位区间请检查发射机混控设置与模式通道选择在 src/modules/rc_update/RCUpdateTest.cpp 中有针对模式槽位计算、开关位置判定等行为的单元测试可作为行为预期与排错参考若使用按钮选模式注意RC_MAP_FLTMODE必须为 0否则按钮功能不会生效。进一步阅读飞行模式总览无线电遥控器校准安全配置Kill Switch、Termination 等PX4 基础概念飞行模式无线电开关参数参考rc_update 模块参数定义 与 rc_update 实现源码【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
3个坑教你一文搞懂网站主编选型 3个坑教你一文搞懂网站主编选型 看了一堆教程还是不会写项目?别慌,今天咱们不聊虚的,直接上手。 很多初学者卡在“怎么把页面动起来”这一步,以为懂了语法就能干活,结果一到实战就懵圈。 其实,前端框架的选择决定了你后续三年的开发效率,这篇… · 2026/9/23 20:47:09
反转字符串面试必问,这5个坑让你代码跑不通 反转字符串面试必问,这5个坑让你代码跑不通 刚把网上抄的代码丢进 IDE,回车一按,直接报 IndexError 。你盯着屏幕,心里直骂街:这代码明明看着对啊,怎么就炸了? 别慌,这不是你的问题,是这题本身“坑”多。反转字符串是 面试必问… · 2026/9/23 20:47:09
近红外光谱深度学习回归:ConvNet与SpectFormer实战指南 简介:本资源是一套面向科研人员与工程实践者的近红外光谱(NIR)数据回归建模工具包,聚焦深度学习在化学分析、食品检测及农业成分定量等非破坏性检测场景中的落地应用。针对传统统计方法难以处理高维、强噪声光谱数据的痛点&#x… · 2026/9/23 20:46:56
GAN行人重识别:用特征空间对齐提升跨摄像头匹配精度 简介:本资源是一套完整的基于生成对抗网络(GAN)的行人重识别毕业设计实现方案,面向深度学习初学者与计算机视觉方向本科生,聚焦跨摄像头场景下的身份匹配问题,适用于课程设计、毕设开发与算法复现学习。压缩… · 2026/9/23 21:28:11
基于LSTM的字符级文本生成实战:用Python训练《鹿鼎记》续写模型 简介:面向自然语言处理初学者与深度学习相关专业学生,一套基于金庸小说《鹿鼎记》语料的字符级LSTM文本生成项目,完整覆盖数据爬取、清洗、排序去重、词典整数映射、定长切分和模型训练全流程,适合作为课程设计、毕业设计或入门文… · 2026/9/23 21:28:04
基于用户画像与协同过滤的音乐推荐系统源码实现详解 简介:基于用户画像与协同过滤算法的音乐推荐系统源码,采用Python与Django框架实现,面向计算机、人工智能、通信等专业学生,适用于毕业设计、课程设计及期末大作业场景。系统将用户画像构建与协同过滤推荐策略相结合,根… · 2026/9/23 21:27:57
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29