埃航黑匣子逐步破解,坠机矛头直指全自动化飞行软件

601 阅读12分钟

By 超神经

场景描述:自动驾驶是航空技术的标配,对于长途飞行、飞行时的常规操作能都有效的配合飞行员完成,但还存在不少问题需要解决。

关键词:民用航空 自动驾驶 自动化

飞机的自动驾驶早在 1910 年代就出现了,1930年代成熟,工程师把飞机的升降舵、副翼和方向舵与陀螺仪和高度计相连,飞机可以根据设定的方向和高度飞行。

飞机、船舶乃至导弹和航天器的自动驾驶(autopilot),目前还比较简单,是协助驾驶员完成相对简单重复的劳动。区别于汽车的自动驾驶(auto-drive),需要判断路面、实时规划路径更复杂的功能。

直到今天,这种结构没有本质变化。飞机的自动驾驶仪就是让飞机按照设定的轨迹和速度飞行。也就是说,飞机自动驾驶替代的是「飞行员看仪表指针,并在指针偏离设定值时,按固定动作修正回来」的操作。

飞机的自动驾驶大幅减轻飞行员的负担。使得飞行员可以关注其他操作,例如监控飞机状态、天气情况等等。当需要复杂、精确驾驶的时候,例如起飞降落、地面滑行、碰撞警告时,飞行员会适时介入。

一切皆因波音而起

2018 年 10 月,印尼狮子航空客机意外坠海,时隔不久,在今年的 3 月 10 号,埃塞俄比亚航空客机失事,波音 737 – Max 8 客机(737 Max系列)在五个月内发生了两次重大空难,夺走了 346 条宝贵的生命。

时间往前推,近三年里,严重的空难事故,除了这两次还有好几例。

2018 年 5 月,古巴航空失事,113 人仅有一人生还; 2017 年 6 月,从缅甸丹老飞往仰光的军机坠亡,机上 122 人全部罹难;2016 年 11 月,载着沙佩科恩斯足球俱乐部球员的拉米亚航班坠机,飞机上 73 名人员仅两人幸存。

虽然航空事故带来的损失惨重,但从数据来看飞机要安全的多,只不过每次事故都太过触目惊心。根据美国交通部的统计数据,2007 年到 2016年,平均每万亿英里的商业航空旅行中仅有 11 人死亡,而高速公路上则是每万亿英里 7864 人死亡。

可是波音飞机在短短几个月内,在同一型号的飞机上,两次发生惨案,也佐证了这个飞机确实存在问题,波音公司也在不久后宣布全球停飞该款飞机。

3 月 17 日,波音公司所在的西雅图当地报纸西雅图时报,刊登了一篇文章《有缺陷的分析,失败监督:波音和 FAA 是如何认证可疑的 737 MAX 飞行控制系统》( Flawed analysis, failed oversight: How Boeing, FAA certified the suspect 737 MAX flight control system ),通过几位 FAA 现任及前任工程师的采访,指出了 737 Max 通过飞行安全评估时,存在一些不当的操作。

而报道中,因为两方的疏忽,最终导致的重大失误,其中的一个重要原因就是未经完善的系统。

波音自动驾驶新软件或有致命漏洞

虽然此次的事故还在分析黑匣子的信息,但从去年印尼的空难开始,很多细节都把矛头指向了波音飞机的同一个 Bug ,而且从已公布的细节来看,两次事故颇有相似之处。

波音 737 飞机于 1968 年推出,是目前比较发展成熟的机型,也是世界上最畅销的飞机,它自成立以来销售量超过 1 万架。波音 737 Max 系列也是其最新的一个主打系列。

为了保持足够竞争力,Max 8 采用了新的发动机,为此也推出了 MCAS 。它的全称是 Maneuvering Characteristics Augmentation System(机动特征增强系统) ,用以协助飞机的稳定性。 MCAS 背后的商业动机很明确,它是试图修复飞机物理缺陷的软件补丁。

MCAS 可以在后台运行的软件。一旦飞机机头向上翘起,系统就会自动启动尾翼,将飞机头部拉回来,带到安全的巡航轨道,飞行员甚至都不会注意到软件的干预 。

                                             MCAS 工作流程示意图

使用软件来解决飞机的不稳定性并不新鲜。许多更先进的战斗机的设计也多为不稳定,以确保更大的机动性。战斗机飞行员也接受过训练,以预测飞机的特殊飞行特性。但不厚道的地方在于,许多 Max 8 的飞行员没有被告知 MCAS 系统的存在,有人说道:

「介绍手册有 1400 页,只有一页提到所谓的 MCAS ......但手册中没有说明它是什么......」

也许波音公司认为飞行员没必要关注这个系统的信息。因为 MCAS 系统的目的是让 737 Max 8 产生与之前型号 737 NG 相同的「操作体验」。这也是波音公司当时的一个卖点,「买下新飞机,并不需要额外的培训。」

漏洞抽象法则

这样一个确保安全性的系统,为什么会成为「凶手」呢?

在软件开发中有一个法则被称为「抽象漏洞法则」,它指出「所有不证自明的抽象,在某种程度上都是有漏洞的。(All non-trivial abstractions, to some degree, are leaky.)」。

MCAS 可能就是这样一个漏洞抽象,也就是说,它试图创建一个没有 Leap 引擎的传统 737 NG 的虚拟相仿功能,去纠正飞机会遇到的不平衡问题。但抽象虚拟机器是一回事,而试图抽象出物理现实则完全是另一种情况。最终在这两种情况下,某些东西会出现漏洞。

那么当它试图抽象的东西失效时,MCAS 会怎么表现呢?这是飞行员报告中提到的:

「在 NG 和 MAX 上,当你有一个失控的趋势时,可以通过向相反方向拉动控制柱暂时停止。但是当 MCAS 被激活时,只能通过切断电源的方式将它停止。」

                                                     737 Max 8 控制室

飞行员对抽象漏洞的反应可能与它试图抽象的实际情况有很大不同。有了错误的传感器,人们可以关闭它,并使用一个人对情况和飞机的理解来做出正确的决定。

然而,当对飞机性质的理解是虚拟的而不是真实的,那么你就无法回归现实。现实不在飞行员的理解范围之内,因而是不正确决策的原因。现实与虚拟世界截然不同的一个地方在于,很多时候没有撤销功能!

当飞机本身表现出自己的意图时,就会出现这种漏洞:

「EFS 从不自主行动,但是,在某些情况下 ,比如 610 航班上所发生的那样 , MCAS 会自行启动。」

还有这个: 「MCAS 在没有飞行员输入的情况下激活,仅在手动,襟翼飞行中运行。」

如果 MCAS 关闭,飞行员会发现自己正在驾驶一架完全不同的飞机。

MCAS 的控制,已经涉及到了自动化驾驶的范畴。甚至可以被技术人员评定为了 5 级的范畴。

自动驾驶是最后的买单者吗?

因为失事飞机的黑匣子还在调查中,所以还不能判定说是完全是 MCAS 的错误,那么 MCAS 和自动飞行又有什么渊源呢?

自动化工程学会( SAE )拥有一个国际标准,定义了六个级别的驾驶自动化( SAE J3016 )。这个框架用于对汽车以外的域中的自动化级别进行分类。详细的分类如下:

                                       

0级(手动流程)

没有任何自动化。

1级(参加过程)

用户了解每个自动化任务的性能的启动和完成。用户可以在不正确执行的情况下撤消任务。但是,用户负责正确排序任务。

2级(参加多个流程)

用户了解任务组合的启动和完成。但用户不对任务的正确排序负责。

3级(无人值守过程)

用户仅在特殊情况下得到通知,并且需要在这些条件下完成工作。

4级(智能流程)

用户负责定义自动化的最终目标,但是,流程执行的所有方面以及飞行中异常条件的处理都由自动化处理。

5级(全自动流程)

这是最终和未来的状态,在这个过程中不再需要人类参与。当然,这可能不是最终级别,因为它不假设该过程能够优化自身以进行改进。

6级(自我优化过程)

这是完全的自动化,不需要人为参与,并且还能够随着时间的推移自我改进。

通常在错误发生时,自动驾驶仪脱离并将控制权归还飞行员。这是 3 级(无人值守过程)自动化,其中自动化处于运行状态的范围是明确的。在 3 级中,飞行员会意识到异常情况并对飞机进行手动控制。

在级别 4(智能过程)中,飞行员能够识别异常情况并能够指定何时适用自动化。今天的自动驾驶汽车,比如实现行停放,能够在高速公路上的良好天气条件下自主驾驶。这些功能都是 由驾驶员决定是否参与自动化。

飞机自动驾驶仪也是 4 级自动化,能够参与低复杂度的环境。

波音公司的 737 Max 8 的 MCAS 类似于 5 级自动化。也即它是一个完全自动化的过程,它有权利决定在什么场景中运行。

和控制发动机性能的电子设备一样,全自动化过程通常不会产生问题,但是,当涉及驾驶(或转向飞机)时,就会产生控制权是谁的问题。

5 级自动化需要一种能够识别哪些传感器有故障,并且有使用部分和未观察到的信息导航问题的智能。但目前的技术发展状况根本无法实现这种人工智能的智能化。

责任归结为技术,还是技术设计者?

自动化的发展不是这些灾难的主因,主因是在于系统的自动化发展,是否能让人类的操作和控制更加安全和智能。

简而言之,波音公司所面对的,也许是技术没有赶上野心,因为不是所有的软件复杂度都一样。

这不是简单的测试不足而发现软件逻辑错误的问题,不是简单测试和处理传感器于设备故障的问题,而是试图完完成一个有野心的任务而招致了危险的方案。

无论如何,引入软件补丁作为虚拟化物理行为的手段可能会导致意外的后果。航行时还会有飞行员,是希望飞行员能够解决自动化无法处理的意外情况。但 MCAS 就像一个幻想,束缚了飞行员区分真实和模拟的能力。

    波音公司的一架 737 MAX,称为伦顿精神,于 2016 年 1 月 29 日首次从伦顿市机场起飞

期望监管机构在未来的评测中,对 MCAS 这样的系统,能够有与其他自动化的处理和测试方式截然不同的方法。

这样的控制系统应被视为 5 级自动化,对它们也该有更详尽的审查标准。 唯有如此,才会出现更少的流血流泪事件。

1803年,英国工程师特里维希克制造出了蒸汽火车,它可以在铁轨上奔跑,装载的货物也比马车多许多。

但是这台蒸汽火车身上却包含了无数的小毛病,经常会出现一些小故障,走上一段距离就要停下来维修,所以它也没有被大多数人接受。甚至还会发生翻车事故,造成严重的人员伤亡。

马车主们认为自己的地位受到了挑战,形成了一个联盟,用各种理由抵制火车的推行。

然而,数百年过去了,马车早已退出了历史舞台,火车成为最重要的长途运输工具之一。

给技术发展以耐心和谨慎,是我们唯一的选择。

点击阅读原文