高级故障安全配置¶
Plane 的核心故障安全功能基于 RTL(返回发射)。如果飞机与地面站失去联系或失去遥控,它就能启动 RTL。这对大多数用户来说没有问题,但在某些情况下需要更高级的故障安全功能。这就是高级故障安全选项的用途。
背景介绍¶
为 Plane 添加了高级故障安全选项,用于 内陆挑战赛 这些功能是根据比赛规则设计的。普通失效保护的目的是在飞行员失去控制的情况下挽救飞机,而 OBC 规则的目的是确保飞机在规定的空域区域内安全运行。这就意味着,如果飞机有可能飞出由地理边界和最大高度定义的空域区域,高级故障安全选项就会故意让飞机坠毁。
虽然 Plane 的高级故障安全功能是为 OBC 竞赛设计的,但它们在其他情况下也很有用,而且非常灵活。这些功能也较难配置,因此在决定是否在您的飞机上启用这些功能之前,请仔细阅读本页。
以任务为基础¶
普通失效保护与高级失效保护(AFS)选项的主要区别在于,AFS 选项是基于任务的。当发生故障保护选项(如 GPS 锁定丢失或地面站通信链路丢失)时,AFS 选项会在任务中指定一个航点编号,飞机将切换到该航点。这样,飞行员就可以在发生故障安全事件时配置一系列复杂的操作--任何可以作为飞机任务脚本的操作都可以在发生故障安全事件时进行。
通常情况下,飞行员会对故障安全条件下的 AFS 选项进行设置,使飞机在当前位置徘徊一段时间(如一分钟),然后通过预先确定的飞行路径返回原地。它还可包括空速变化、高度变化、自动着陆或任务中可编程的其他任何内容。如果故障安全事件停止(例如 GPS 重新锁定),那么飞机将切换回之前飞往的任务项目并继续执行任务。
这使得 AFS 选项只适用于自动飞行任务。如果您主要在 "巡航 "模式或其他模式下驾驶飞机,则应使用标准的故障安全选项。
启用 AFS 故障安全系统¶
要启用 AFS 故障安全系统,需要设置 AFS_ENABLE 默认值为 0,即禁用所有其他选项。
请注意,AFS 系统仅在 Plane 中内置,默认情况下仅在 CubeOrange 和 Pixhawk6X 等内存较大的(飞行)控制器板上使用。检查 固件限制页面 用于(飞行)控制器。
AFS 终止¶
飞行终止 "的概念是理解 AFS 故障安全系统的关键。终止飞行是指飞机故意向地面俯冲,将所有控制面设置为最大值,并解除油门以进入旋转状态,或者在 QuadPlane 的情况下,也可以选择立即 QLAND。
AFS 系统只有在下列情况下才会启动终止程序 行动 设置为神奇的 42 或 43。对于任何其他值,AFS 系统都会在 GCS 控制台上打印一条信息,表示它想要终止,但实际上根本不会改变控制面。使用 42 或 43 以外的值对于试飞非常有用,因为在试飞中您不希望飞机在故障安全事件中终止。如果值为 42,飞机会立即坠毁;如果是 QuadPlane,值为 43 会立即执行 QLAND。
请注意,如果 行动 未设置为 42,则其他正常的故障安全代码仍处于激活状态,例如,如果启用了地理围栏,则飞机将飞回地理围栏返回点。
启用 AFS 终止系统后,如果主 FMU 微控制器与 IO 微控制器之间的通信中断,例如飞行固件崩溃,(飞行)控制器上的辅助 IO 微控制器也会设置为终止飞行器。
AFS 飞行终止是不可恢复的。一旦飞机开始终止飞行,就无法恢复。
故障安全事件类型¶
AFS 故障安全系统支持五种类型的故障安全事件:
突破地理围栏
最高气压高度
GPS 丢失
地面站通信中断
气压表故障
每种故障都有其特定的处理方法,具体如下。
突破地理围栏¶
如果一个 地理围栏 启用该功能后,AFS 的故障安全模块将监控飞机是否违反了地理围栏的边界(如果已设置,还将监控地理围栏的上下限高度)。如果发生突破,AFS 系统将立即终止飞行(见上文的终止)。
此外,如果从上膛点出发的总直线距离超过了 AFS_MAX_RANGE 距离,则会出现终止。
最大压力高度突破¶
在与其他飞机共享空域时,通常的做法是以共同的参考气压(通常为 QNH,即 "航海高度")来定义可用的飞行高度。QNH 参考气压以毫巴为单位,通过无线电信息或航空互联网和气象网站发送给所有飞机。
然后,飞机使用气压计测量相对于该 QNH 气压的气压,从而获得一个高度参考值,该区域内的所有飞机都应使用该高度参考值。
AFS 系统可以通过在 "QNH "压力值中设置压力高度限制来执行压力高度限制。 压力 参数,以毫巴为单位。然后,飞行员还应使用 AFS_AMSL_LIMIT 参数(以米为单位)。请注意,该压力高度限制是相对于海平面而言的(AMSL 表示 "高于平均海平面")。
如果设置了这两个参数,则 AFS 系统将监控压力高度,如果压力高度升至高于 AFS_AMSL_LIMIT.
您需要非常小心地设置正确的 压力 因为 QNH 气压在不同的日子可能会有很大的不同,所以请根据飞行当天当地的情况进行调整。
除了 QNH 压力限制外,AFS 系统还监控气压计的健康状况。如果气压计在 5 秒内处于不健康状态,那么 AFS 系统将检查 afs_amsl_err_gps 参数。如果为-1(默认值),飞机将立即终止。如果不是-1,那么 AFS 系统将使用 afs_amsl_err_gps 值作为 GPS 高度的余量,如果 GPS 高度加上 afs_amsl_err_gps 米)低于 AFS_AMSL_LIMIT 值。这个余量的目的是考虑到 GPS 高度的不准确性。为了安全起见,200 是一个合理的值,以确保 AFS_AMSL_LIMIT 压力高度不被突破。
GPS 丢失¶
AFS 系统会在整个飞行过程中监控 GPS 接收机的健康状况。如果所有可用的 GPS 接收器都无法锁定位置,则会启动 GPS 故障保险。
当 GPS 出现故障时(定义为 GPS 锁定丢失 3 秒钟),AFS 系统将查看 全球定位系统损耗 参数。当 GPS 出现故障时,该参数会在任务中指定一个航点编号。如果 全球定位系统损耗 为非零时,飞机将把当前航点更改为"...... "中指定的航点编号。 全球定位系统损耗.您应该对任务进行设置,以便飞机在 GPS 丢失时执行任何您想要的操作。例如,您可以设置一组航点,从第 10 个航点开始,先在原地徘徊 30 秒,然后返回机场。然后您可以设置 全球定位系统损耗 调至 10,以便在 GPS 无法锁定时执行这部分任务。
在为 GPS 锁定设置任务项目时,有时需要加入 "在当前位置位置悬停 "航点。这可以通过将 LOITER 任务指令的纬度和经度都设置为零来实现。
如果 GPS 故障保护启动后 GPS 恢复正常,那么飞机将自动从原地继续执行任务。
如果 afs_max_gps_loss 设置为非零,那么在 GPS 重新锁定后返回任务时,它将被用作允许的 GPS 故障次数的最大计数。只有当第二次 GPS 故障发生在前一次故障后至少 30 秒(以考虑到 GPS 故障发生的时间较短)时,该计数器才会递增。
如果在 GPS 丢失期间,飞机也失去了与地面站的通信,则称为 "双重丢失",飞机将在以下情况下终止飞行 AFS_DUAL_LOSS 为 1。
地面站通信中断¶
AFS 系统可监控地面站与飞机之间的链路健康状况。它通过查找来自地面站的 HEARTBEAT MAVLink 信息来实现这一功能。
如果飞机在 AFS_GCS_TIMEOUT 秒内未收到 HEARTBEAT 信息,则进入 GCS 故障安全状态。(默认值为 10 秒。 AFS_WP_COMMS 参数,如果该参数不为零,就会将当前目标航点改为 AFS_WP_COMMS.您应该在任务中设置一个部分,以便在失去通信时采取任何行动。通常只有在自动模式下发生故障安全时,才会跳转到指定的任务项目。要使其在任何自动油门控制模式(如 "巡航 "或 "引导")下发生,您需要设置 AFS_OPTIONS 第 1 位(+2 至参数值)。
如果 GPS 锁定丢失与 GCS 通信丢失同时发生,则被视为 "双重丢失",飞机将立即终止,如果 AFS_DUAL_LOSS 启用("1")。
请注意,对 HEARTBEAT 信息的监控只是告诉(飞行)控制器它可以看到来自地面站的信息。这并不意味着地面站可以看到来自飞机的信息。因此,当飞机仍在接收 HEARTBEAT 信息时,地面站很有可能报告通信中断。
如果 最大通信损失 设置为非零,那么它将被用作在重新建立通讯后返回任务时所允许的通讯失败次数的最大计数。只有当第二次通讯故障发生在前一次通讯故障至少 30 秒之后时,该计数器才会递增(以考虑短时间的通讯故障)。
如果在此故障保护状态下恢复了 GSC 丢失,那么通常情况下,任务项目指针会返回到故障保护发生时处于活动状态的任务项目。为避免出现这种情况,并继续执行由于故障保护而正在执行的任务序列,您需要设置 AFS_OPTIONS 第 0 位(数值+1)。
备注
即使从 "自动 "以外的模式进入 GSC AFS 故障安全程序,并且 AFS_OPTIONS 如果第 0 位被置位,则载具将开始执行进入故障安全时所指向的当前项目,即使它不在自动模式下。
RC 损失¶
如果失去遥控超过 afs_rc_fail_time 毫秒,飞行终止就会启动。只有在以下情况下才会启用这种终止模式 afs_rc_fail_time 为非零,且 AFS_ENABLE 对于 OBC 规则,应设置为 1500(1.5 秒)。
如果 仅限男子 设为 1,则只有在手动模式下才会出现这种情况。否则,在任何飞行模式下都会发生。
监测战地服务系统¶
AFS 系统提供了一些附加参数,以便使用外部电子设备(如外部故障安全板)更轻松地监控故障安全系统的健康状况。
关键参数是
AFS_TERM_PIN:这是一个数字引脚,如果开始终止,该引脚将被设置为高电平。请注意,终止时该引脚将变为高电平,即使 行动 参数未设置为 42。
AFS_HB_PIN:这是一个引脚的数字引脚编号,故障安全系统以 10Hz 的速率切换该引脚。如果发生终止且 AFS_TERM_PIN 值未设置,则心跳引脚将停止跳动。
AFS_MAN_PIN:这是一个数字引脚编号,当飞机处于手动模式时该引脚变为高电平。在某些外部故障安全板上,它可以检测到手动模式,并以不同的方式运行。
手动终止¶
除自动终止外,如果飞机运营商认为飞机对人员或其他飞机构成威胁,能够立即终止飞机也很重要。要强制立即终止,您应该使用 AFS_TERMINATE 参数。将该参数设置为 1 后,飞机将立即终止。
AFS_OPTIONS¶
全球战略控制系统(GSC)丢失导致的战地服务(AFS)行为可通过设置 AFS_OPTIONS 位掩码参数(默认情况下不设置任何位):
位 0 (+1),如果设置,则即使 GCS 连接恢复后,飞机仍将继续执行当前任务项目。如果未设置,飞机将跳回 GCS 故障安全发生前的任务项目。
如果设置了第 1 位(+2),则在自动模式以外的任何节流控制模式(即巡航、制导等)下发生 GCS 故障安全时,也会强制进入自动模式。
AFS 故障安全任务示例¶
设置 AFS 故障安全任务需要时间,而且必须非常谨慎。为帮助您了解可能出现的情况,以下示例文件可能会对您有所帮助
在 SITL 测试 AFS 系统¶
强烈建议您使用 SITL 模拟系统 在真实飞机上使用之前,请先模拟飞行故障。您可以使用 SIM_ 参数模拟所有类型的飞行故障。要在 Kingaroy 中启动 SITL 准备进行 OBC 测试,您可以使用
模拟载具.py -L Kingaroy --游戏机 --地图
SITL 故障安全测试的关键参数是
测试 GPS 故障:参数设置 SIM_GPS_DISABLE 1
测试 RC 故障:参数设置 SIM_RC_FAIL 1
测试通信失败:设置心跳为 0
测试围栏故障:切换到巡航模式并飞越边界
测试 QNH 故障:参数设置 AFS_AMSL_LIMIT = 100
AFS 故障安全用户的其他提示¶
您需要确保在起飞前启用地理围栏。这可以作为飞行前检查清单的一部分,也可以设置一个 FENCE_CHANNEL` 并在发射器内启用。这样可以确保在发射器超出范围时,围栏仍然处于启用状态。
2014 年内陆挑战赛的设置¶
要符合 OBC 2014 规则,您应该进行以下设置:
AFS_WP_COMMS目标:航路点编号,进行 OBC 通信保持,然后位置悬停两分钟,然后返回机场原点
全球定位系统损耗目标:航点编号,在原地徘徊 30 秒,然后返回机场原点
行动:42
AFS_AMSL_LIMIT: 914
压力气压:当天正确的 QNH 气压
afs_rc_fail_time:1500
最大通信损失: 2