查看“︁ArduPilot故障保护机制”︁的源代码
←
ArduPilot故障保护机制
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== ArduPilot故障保护机制 == '''故障保护机制'''是ArduPilot飞控系统设计的核心安全特性,用于在检测到系统异常时自动触发预设动作,以最大限度保障飞行器或地面车辆的安全。 === 概述 === ArduPilot具备一套多层次、全方位的故障保护系统,持续监控包括遥控器信号、电池状态、导航系统、通信链路等关键组件。当特定异常条件满足时,系统会根据预设策略自动采取应对措施,如自动返航、降落、悬停或解除动力,从而有效降低设备损失和安全隐患[1](@ref)。 === 主要故障保护类型 === ==== 遥控器故障保护 ==== * **触发条件**:遥控器信号丢失。具体判断依据为:接收机无信号输出,或油门通道(通常为通道3)的数值低于参数 '''`FS_THR_VALUE`''' 设定的阈值,且此种状态持续超过 '''`FS_TIMEOUT`''' 参数设定的时间(单位:秒)[1](@ref)。 * **系统响应**:触发后,飞控将根据 '''`FS_ACTION`''' 参数的设定执行相应动作,例如执行返航(RTL)、保持当前状态(HOLD)或尝试智能返航(SmartRTL)[1](@ref)。 * **恢复控制**:一旦遥控器信号恢复,操作者通常需要通过切换遥控器上的模式开关来重新取得控制权[1](@ref)。 ==== 电池故障保护 ==== * **触发条件**: * **电压触发**:电池电压低于 '''`BATT_LOW_VOLT`'''(低电压阈值)或 '''`BATT_CRT_VOLT`'''(严重低电压阈值),并持续一段时间(由 '''`BATT_LOW_TIMER`''' 控制,默认通常为10秒)[1](@ref)。 * **容量触发**:电池剩余容量低于 '''`BATT_LOW_MAH`''' 参数设定的值[1](@ref)。 * **系统响应**:触发后,飞控会发出声光警报,并在可能的情况下向地面站发送警告信息。具体采取的动作由 '''`BATT_FS_LOW_ACT`''' 和 '''`BATT_FS_CRT_ACT`''' 参数定义,如返航(RTL)、降落(LAND)或解除装备(Disarm)[1](@ref)。 ==== 地面站故障保护 ==== * **触发条件**:飞控与地面站(如Mission Planner)之间的MAVLink通信中断超过 '''`FS_GCS_TIMEOUT`''' 参数设定的时间[1](@ref)。 * **系统响应**:此保护的行为由 '''`FS_GCS_ENABLE`''' 和 '''`FS_ACTION`''' 参数共同控制。可设置为忽略通信中断(特别是在自动任务模式下)、执行返航(RTL)或进入保持(HOLD)模式[1](@ref)。 ==== EKF/导航故障保护 ==== * **触发条件**:扩展卡尔曼滤波器(EKF)解算出的导航数据(如位置、速度方差)出现显著异常,超出由 '''`FS_EKF_THRESH`''' 参数设定的可信阈值。系统会持续检查,通常在异常状态持续一定周期(如1秒)后才触发,以防止误报[5](@ref)。 * **系统响应**:飞控可能会切换至不依赖GPS的飞行模式(如定高模式),或直接执行降落,以避免因不可信的导航数据导致飞行器失控[5](@ref)。 ==== 主循环卡顿保护 ==== * **触发条件**:这是一个底层系统保护。通过高频率(如1kHz)的中断服务程序检查主循环是否正常运行。如果检测到主循环卡顿(例如超过2秒未运行),则判定系统出现严重问题[2,4](@ref)。 * **系统响应**:立即将电机输出降至最低并解除装备,力求将损失降到最低。该保护机制在底层直接运作,即使高层控制逻辑卡死也能生效[2,4](@ref)。 ==== 地理围栏故障保护 ==== * **触发条件**:飞行器飞出预设的安全区域(地理围栏)。 * **系统响应**:通常自动执行返航(RTL)或智能返航(SmartRTL),确保飞行器返回安全区域内。 === 配置与使用建议 === * **参数设置**:上述所有故障保护的触发阈值、延迟时间和响应动作均通过对应参数调整。务必在完全理解参数含义和潜在后果后进行设置。 * **充分测试**:任何故障保护参数修改后,都应在绝对安全的环境(如开阔场地,不安装螺旋桨)下进行模拟测试,验证其行为是否符合预期。 * **安全警告**:禁用或过于宽松地设置故障保护(例如将动作设为“无”)会显著增加风险。这意味着在紧急情况下飞控将不会自动介入,完全依赖操作员的手动干预[1](@ref)。 === 参见 === * [[ArduPilot参数列表]] - 获取飞控参数的完整说明。 * [[Mission Planner使用指南]] - 学习如何使用地面站配置参数。 [[Category:ArduPilot]] [[Category:无人机技术]] [[Category:自动驾驶系统]]
返回
ArduPilot故障保护机制
。
导航菜单
个人工具
创建账号
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
无人智胜
PX4 介绍
PX4与ArduPilot对比
PX4与Pixhawk关系
PX4与NuttX关系
PX4 官方镜像
QGC地面站下载
新手上路
首次飞行
如何对频ELRS接收机
如何刷入蓝鸟电调
飞控如何接入GPS
机架选择
传感器校准
遥控器连接
遥控器校准
电机电调测试
飞行模式
六段开关飞行模式
参数列表
任务规划
安全飞行
飞控硬件
Pixhawk飞控
电机与电调
传感器指南
GPS与罗盘
数传与遥控
PX4二次开发
PX4源码目录
PX4核心源码
PX4机型目录
4001_quad_x
编译PX4
模块开发
驱动程序
仿真教程
调试技巧
传感器与估计
EKF2状态估计
IMU校准
视觉定位
光流定位
日志分析
机架与平台
飞行器气动布局
多旋翼无人机
固定翼无人机
VTOL无人机
无人地面车辆
无人船
外围设备
板载显示器
相机与云台
任务载荷
避障与导航
RTK-GPS
编程与开发
Linux
ESP32
STM32
ArduPilot
修改侧边栏
社区讨论
贡献文档
PX4官网
开发文档
工具
链入页面
相关更改
页面信息
导航
特殊页面