尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

PX4 VTOL 着陆模式(Land Mode)完全指南:NAV_FORCE_VT 与固定翼/多旋翼着陆行为切换

PX4 VTOL 着陆模式(Land Mode)完全指南:NAV_FORCE_VT 与固定翼/多旋翼着陆行为切换 嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载导读本文围绕 PX4-Autopilot 的 VTOL垂直起降飞行器在 Land着陆模式下的完整行为展开说明 VTOL 如何在固定翼FW模式与多旋翼MC模式之间按需切换着陆形态并深入讲解核心参数NAV_FORCE_VT的作用机制与源码实现。读完本文你将掌握 VTOL 着陆模式的触发条件、模式切换时序、全部相关参数及其默认值与取值范围并能依据实际机型与作业场景正确配置着陆行为。一、VTOL 着陆模式概述在 PX4 中Land着陆飞行模式会引导飞行器在模式被激活的位置着陆着陆后默认在短暂超时后自动解锁disarm。对于 VTOL 飞行器这一模式有一个区别于纯固定翼或纯多旋翼的关键特性VTOL 会按照当前所处飞行阶段分别继承固定翼与多旋翼的着陆行为。原文档docs/en/flight_modes_vtol/land.md明确指出A VTOL follows the land mode behavior and parameters of Fixed-wing when in FW mode, and of Multicopter when in MC mode.也就是说当 VTOL 处于固定翼模式FW mode时着陆行为与参数完全遵循 固定翼 Land 模式当 VTOL 处于多旋翼模式MC mode时着陆行为与参数完全遵循 多旋翼 Land 模式。同时默认情况下处于 FW 模式的 VTOL 会在真正触地前先完成向 MC 的过渡back transition再以多旋翼方式完成最终着陆。这正是NAV_FORCE_VT参数的用武之地它决定 VTOL 是强制以多旋翼形态完成起降还是允许以固定翼形态直接着陆。二、NAV_FORCE_VTVTOL 着陆模式的核心参数2.1 参数定义与默认值VTOL 专属的着陆参数只有一个NAV_FORCE_VT。其官方定义为参数描述类型默认值NAV_FORCE_VT强制 VTOL 以多旋翼形态完成起飞和着陆Force VTOL to takeoff and land as a multicopterboolean1true该参数定义于 src/modules/navigator/navigator_params.yamlNAV_FORCE_VT: description: short: Force VTOL mode takeoff and land type: boolean default: 1默认值为1即默认启用。这意味着只要参数保持默认VTOL 无论当前处于何种飞行阶段起飞与着陆都会被强制引导为多旋翼形态执行——固定翼模式下切到 Land 模式后飞机会先过渡回悬停back transition再按多旋翼规则降落。2.2 源码中的判定逻辑NAV_FORCE_VT的实际判定逻辑位于 src/modules/navigator/navigator_main.cpp 的Navigator::force_vtol()方法bool Navigator::force_vtol() { return _vstatus.is_vtol (_vstatus.vehicle_type vehicle_status_s::VEHICLE_TYPE_FIXED_WING || _vstatus.in_transition_to_fw) _param_nav_force_vt.get(); }从源码结构可以推断出以下行为force_vtol()只在飞机确实是 VTOL且当前处于固定翼形态或正在向固定翼过渡时才可能返回true最终结果由_param_nav_force_vt.get()决定——参数为1时navigator 会在这些阶段强制走多旋翼路径若将NAV_FORCE_VT设为0则 VTOL 在固定翼形态下将按纯固定翼规则处理相关导航逻辑包括着陆、GPS 失效兜底等。一个旁证是 src/modules/fw_mode_manager/fw_mode_manager_params.yaml 中FW_GPSF_LTGPS 失效盘旋时间的参数描述Does only apply for fixed-wing vehicles orVTOLs with NAV_FORCE_VT set to 0.这从侧面印证NAV_FORCE_VT 0会让 VTOL 在固定翼形态下表现出与纯固定翼一致的导航行为而NAV_FORCE_VT 1默认则始终把起降交还给多旋翼通道。2.3 配置建议默认场景大多数 VTOL保持NAV_FORCE_VT 1。固定翼形态的 VTOL 无需手动干预切到 Land 后自动过渡回多旋翼形态再以垂直方式精准降落在激活点避免固定翼螺旋下滑着陆对地形平整度与跑道的要求。特殊场景若机型设计为固定翼滑跑着陆例如带起落架的固定翼式 VTOL可考虑NAV_FORCE_VT 0让着陆走固定翼路径。此时务必确认着陆区域地形适合固定翼触地并参考下文固定翼着陆的警告。三、VTOL 在 MC 形态下的着陆行为多旋翼规则当 VTOL 以多旋翼形态执行 Land 模式时行为与 多旋翼 Land 模式 完全一致飞行器以 MPC_LAND_SPEED 指定的速率垂直下降至激活位置触地后默认在 COM_DISARM_LAND 指定的超时后自动解锁多旋翼或悬停中的 VTOL拨动摇杆会默认切换至 Position 模式由MAN_OVERRIDE_SPD控制故障保护激活状态除外模式要求至少有效的本地位置估计不要求全局位置没有有效本地位置时飞行器无法切入该模式切入后若丢失位置估计则会触发故障保护。3.1 MC 着陆相关参数参数默认值说明MPC_LAND_SPEED0.7 m/s最小值0.6着陆下降速率。建议保持较低值因为地面条件未知COM_DISARM_LAND短超时秒着陆后自动解锁的超时设为-1则着陆后不解锁MAN_OVERRIDE_SPD1摇杆超越阈值归一化摇杆行程/秒。默认值下约 0.5 s 内拨动半杆即触发设为-1禁用MPC_AUTO_NUDGING0自动模式下的摇杆微调位掩码Bit 0 允许偏航摇杆在着陆中微调航向Bit 1 额外允许横滚/俯仰摇杆在MPC_LAND_RADIUS内水平移动、油门摇杆修改下降速度。需要MAN_OVERRIDE_SPD -1其中MPC_LAND_SPEED在 src/modules/mc_pos_control/multicopter_takeoff_land_params.yaml 中定义MPC_LAND_SPEED: description: short: Landing descend rate type: float default: 0.7 unit: m/s min: 0.6 decimal: 1补充说明同文件中的MPC_LAND_CRWL默认0.3 m/s定义了存在有效测距传感器数据时、低于MPC_LAND_ALT3高度的爬行下降速率可用于细化 VTOL 垂直着陆的最后阶段。3.2 模式需求Mode RequirementsMC 形态的 Land 模式对飞行器状态有以下硬性需求详见 mode_requirements 说明mode_req_angular_velocity—— 需要角速度估计mode_req_attitude—— 需要姿态/位姿估计mode_req_local_alt—— 需要相对 EKF2 原点0的本地高度mode_req_local_position_relaxed—— 需要相对 EKF2 原点的位置但接受较低精度mode_req_prevent_arming——该模式禁止解锁选中该模式时飞行器无法上锁起飞。这些需求由 src/modules/commander/ModeUtil/mode_requirements.cpp 定义的逻辑在 commander 模块中强制执行因此无需用户自行校验。四、VTOL 在 FW 形态下的着陆行为固定翼规则若 VTOL 处于固定翼形态且未强制过渡回多旋翼即NAV_FORCE_VT 0的情形Land 模式遵循 固定翼 Land 模式 的规则飞行器在激活位置开始螺旋下降corkscrew直至触地围绕当前位置以 NAV_LOITER_RAD 为半径盘旋同时以恒定下降速率下降下降速率由 FW_LND_ANG航迹角设定值与 FW_LND_AIRSPD空速设定值共同计算得出若配置了拉升动作flare则在触地前执行否则持续盘旋下降直到检测到着陆固定翼 Land 模式不支持手动微调nudging与自动中止abort功能摇杆输入在该模式下被忽略。⚠️重要警告固定翼 Land 模式只应在紧急情况下使用飞机会无视下方地形是否适合着陆沿圆形路径下降并触地。只要条件允许应优先使用 Return 模式 预定义的 固定翼任务着陆。4.1 FW 着陆相关参数参数说明NAV_LOITER_RAD整个着陆过程中控制器跟踪的盘旋半径FW_LND_ANG航迹角设定值FW_LND_AIRSPD空速设定值FW_AIRSPD_FLP_SC襟翼完全展开时施加于最小空速的比例因子当FW_LND_AIRSPD低于FW_AIRSPD_MIN时必须设置五、Land 模式在 navigator 模块中的实现Land 模式由 navigator 模块中的Land类执行其声明与实现位于src/modules/navigator/land.hsrc/modules/navigator/land.cppLand继承自MissionBlock并注册到NAVIGATION_STATE_AUTO_LAND状态。其核心逻辑如下on_activation()模式激活时重置位置设定点三元组triplets将当前任务项设置为 Land 任务项set_land_item将任务项转换为位置设定点并发布若为多旋翼形态且本地位置有效则投影停止点preproject_stop_point作为水平降落目标。on_active()模式运行中VTOL 回渡期间动态更新降落点当is_vtol in_transition_mode时基于后续 MC 阶段将采用的 MPC 设置在 VTOL 前方投影一个航点作为降落目标——这保证了 FW→MC 回渡完成后飞行器能平稳落到预期位置着陆完成判定当land_detected上报landed时将任务结果标记为finished并切换到空闲任务项随后调用mode_completed收尾着陆中止若abort_landing()返回真则发布VEHICLE_CMD_DO_REPOSITION命令携带当前位置与MIS_LND_ABRT_ALT高度使飞行器脱离 Land 模式并在当前位置与高度盘旋。该实现细节印证了原文档的表述VTOL 的 Land 模式并非简单的二选一而是在 navigator 层面对回渡时序、着陆点投影、着陆检测与中止恢复做了完整的统一处理。六、参数与模式触发汇总6.1 如何触发 Land 模式通过遥控器拨杆切换至 Land 模式通过 MAVLink 命令MAV_CMD_NAV_LAND触发例如地面站点击降落按钮。6.2 关键参数速查表参数适用形态默认值作用NAV_FORCE_VTVTOL 专属1强制 VTOL 以多旋翼形态起降MPC_LAND_SPEEDMC / VTOL-MC0.7 m/s垂直下降速率COM_DISARM_LANDMC / VTOL-MC短超时着陆后自动解锁超时-1禁用MAN_OVERRIDE_SPDMC / VTOL-MC1摇杆超越阈值-1禁用MPC_AUTO_NUDGINGMC / VTOL-MC0着陆微调位掩码需MAN_OVERRIDE_SPD-1NAV_LOITER_RADFW / VTOL-FW—螺旋下降盘旋半径FW_LND_ANGFW / VTOL-FW—着陆航迹角设定值FW_LND_AIRSPDFW / VTOL-FW—着陆空速设定值FW_AIRSPD_FLP_SCFW / VTOL-FW—襟翼展开时的最小空速修正因子6.3 实操要点大多数 VTOL 无需改动任何参数即可获得合理的着陆行为默认NAV_FORCE_VT 1保证以垂直方式精准降落若需调整垂直下降速度修改MPC_LAND_SPEED建议不低于0.6 m/s地面条件未知时应保守取值若希望着陆后保持不解锁如配合外部收放装置将COM_DISARM_LAND设为-1只有固定翼式滑跑着陆的 VTOL 才应考虑NAV_FORCE_VT 0并同时按固定翼规则检查NAV_LOITER_RAD、FW_LND_ANG、FW_LND_AIRSPD与着陆区域条件。七、延伸阅读Land Mode (Multicopter)Land Mode (Fixed-Wing)固定翼任务着陆Mission Landing与拉升/中止细节参数参考Parameter Reference模式需求说明Mode Requirements源码参考src/modules/navigator/land.cpp、src/modules/navigator/navigator_main.cpp、src/modules/navigator/navigator_params.yaml、src/modules/mc_pos_control/multicopter_takeoff_land_params.yaml赞分享嵌入式物联网机器人自动驾驶智能硬件【免费下载链接】PX4-AutopilotPX4 Autopilot Software项目地址https://gitcode.com/gh_mirrors/px/PX4-Autopilot点击查看免费下载相关推荐PX4 着陆检测器Land Detector配置指南多旋翼、固定翼与 VTOL 的着陆状态机与参数调优PX4 着陆检测器Land Detector配置指南多旋翼、固定翼与 VTOL 的着陆状态机与参数调优 着陆检测器Land Detector是 PX4嵌入式物联网机器人自动驾驶智能硬件固定翼无人机着陆控制PX4-Autopilot精准着陆算法固定翼无人机着陆控制PX4 Autopilot精准着陆算法 PX4 Autopilot是一款功能强大的开源无人机飞控软件其中固定翼无人机的精准着陆算法是其核嵌入式物联网机器人自动驾驶智能硬件DiceDB 开发环境搭建完全指南从源码构建引擎、配置管理与测试体系DiceDB 开发环境搭建完全指南从源码构建引擎、配置管理与测试体系 本篇技术指南围绕 DiceDB 的《Development Setup for Engi嵌入式物联网机器人自动驾驶智能硬件上一篇live2d-widget-models配置教程3分钟实现网页角色交互效果下一篇如何快速部署DetectionLab5分钟搭建企业网络安全演练环境创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表