振动故障安全保护

该功能仅适用于 Copter 4.0 及更高版本的固件。

振动失控保护与 ArduPilot 中的大多数其他失控保护措施略有不同,因为它不会启动飞行模式更改。相反,它会改变高度控制模式下控制高度和爬升率的算法。默认情况下它是启用的,但可以通过设置 FS_VIBE_ENABLE = 0.

高振动的影响

多旋翼飞行器的振动水平可能非常高(超过 60 米/秒/秒),这会导致加速度计饱和(即超出传感器的测量范围)。这会导致 "削波",意味着 EKF 无法准确计算爬升率或垂直加速度。这会导致载具无法控制其爬升率,严重时还会导致载具在全油门状态下快速爬升。

何时触发故障安全保护

如果以下所有情况均为真且持续至少一秒钟,则将触发振动故障安全保护:

  • EKF 的垂直速度创新值为正(参见机载日志的 NKF4.IVD 值)。

  • EKF 的垂直定位创新是积极的(见 NKF4.IPD)

  • EKF 的速度方差为 1 或更高(参见 NKF4.SV)。

备注

一个 创新 是预测值与最新(非 IMU)值之差。A 差异 是 EKF 对其估计值的置信度。0 表示非常好,1 表示不好。

会发生什么

如果触发振动故障安全保护,则会发生以下情况:

  • 地面站 HUD 上将显示 "振动补偿开启"。EKF 的爬升率将使用三阶互补滤波器计算,该滤波器经调整后比普通方法更能抵抗振动(但精度较低)。

  • 高度控制器从常规的三级控制器(即位置->速度->加速度)切换为抗振性更强的两级控制器(位置->速度)。

  • 飞行器不会改变模式,但其高度保持的准确性将低于正常水平。飞行器可能会超出其高度目标和/或对飞行员输入的响应速度较慢。

故障安全恢复

  • 振动故障安全保护将在 EKF 恢复正常 15 秒后解除

  • HUD 上将显示 "振动补偿关闭"。

  • 高度和爬升率控制器将恢复正常方法