印度尼西亚狮子航空去年10月发生悲剧性空难,之后在今年3月中又发生了埃塞俄比亚航空坠机事件。这两起事件是否能警惕汽车产业呢?
的确如此。
尽管航空业与自驾车采用的自动化技术既不相同也很难互相比较。卡内基美隆大学(Carnegie Mellon University)的教授Phil Koopman指出:「如果真要比的话,飞机自动驾驶技术可能比自驾车容易。」
对我来说,最令人心寒的是在5个月内,连续坠毁两架波音737 Max客机。美国联邦航空总署(FAA)安全审查一向被视为世界航空安全的最高标准,我们假设FAA有针对以上事件进行过安全审查。
这些灾难让航空业、媒体和大众各方提出疑问,究竟发生什么事了?有人因为疏忽而犯错了吗?
首先,来剖析我们原本所认知的情况。
事故发生后不久,各方迅速地将原因归咎于波音公司的业务决策、宽松的规范要求,以及硬件和软件方面的设计修改。这些也许都是事后诸葛。
此两起事件导致346人丧命,目前仍处于初步调查阶段,尚无任何结案报告。但自3月10日埃塞俄比亚航空公司发生坠机事件以来,外部不断流传的消息促使专家们开始思考导致此次重大事件的几个可能因素如下:
本图包含埃塞俄比亚航空302航班ET302的平均海拔高度数据(英尺)、地面速度数据(节)和垂直速度(英尺/分钟)。起飞后不久,就出现了高度波动(altitude fluctuations)。(图片来源:Flightradar 24)
分析众多事故发生的可能原因,安全专家现在怀疑问题症结在于波音决定专注于开发某一种飞机类型(其畅销机种737),并以此机型为基础持续进行改造。
改造既有737机型的这项决定可能会产生一连串的影响,最终导致B737 Max发生事故。
波音原本计划开发一个新机种,但空中巴士在这之前已推出最新一款搭载经济型引擎的A320neo,为了追赶上其进度,波音决定修改既有的737机型,加上更大、更高效能的引擎。
737是一架双层的大型客机,设计构想源自1964年,是目前史上销售最好的商用客机。
(图片来源:波音)
由于737机型的光荣畅销史,波音不假思索地仅修改引擎和更新功能,便打造出这架737 Max,似乎马上就受到顾客青睐。
但从工程开发的角度来看,737 Max是完全不同的产品。波音的工程师们必须想方设法将较大的引擎装入这机身较窄的客机内。团队们最后想到一个办法,就是将新的引擎放在机翼上,也因此改变了飞机「升力(lift)」的特性。
在测试过程中,这种新的配置方式倾向于将机头上推,在某些时候会产生失速的状况(stall)。为了解决此一状况,波音的工程师增加了称为MCAS的新软件,如果飞机计算出即将失速,就会将爬升中的机头向下推,以避免失速情况发生。
现在,所有的注意力都放在MCAS。
一些初步的报告将事故原因导向MCAS的功能失误。当中假设故障的传感器在狮子航空起飞时,错误地触动了MCAS。
纽约时报在3月15日报导了关于埃塞俄比亚航空失事的新闻。报导中提到了用来控制水平尾翼(horizontal stabilizer)角度的「制动螺杆(jackscrew)」,推测MCAS触动水平尾翼,因此强制机头朝下。此情况与去年十月份狮航空难的情况类似。
虽然波音坚持MCAS的设计是为了让737 Max更安全,但事实上,由于737 Max的运作方式与737不同,737 Max必须装设MCAS。
新机型的运作行为改变,MCAS可居中修正。在现有的飞行控制系统中增加了新的MCAS程序代码,以防止新引擎破坏稳定俯仰。
加大和重新置放737引擎带来无法预期的危险。怀疑加入MCAS功能后会造成事故的想法是否不合理?
假设如此,正如任何嵌入式系统专家皆可证实的情况,加入MCAS功能也许会违反安全关键系统设计的第一条规则。
Barr Group联合创办人兼技术长Michael Barr本身也是嵌入式软件专家,他曾提到系统安全功能不能事后添加。他说:「它必须从一开始就设计到系统中。」他曾带领开发团队发现软件缺陷是造成丰田汽车(Toyota)暴冲(SUA)的原因。
安全性并不是促使波音将 MCAS添加到B737 Max的唯一原因。波音希望确保新飞机像之前的737飞机一样操作,加上B737 Max本身的修改不大,因此认为机师不需要重新接受培训。
据报导,波音对于变更设计这件事轻描淡写,希望不要惊动到美国联邦航空总署。该公司希望采用仿真器让机师了解新旧737系统差异,并避免美国联邦航空总署下令重新培训。
在最近接连发生的两起坠机事件后,大众的愤怒目光朝向波音的这项决策,以及美国和欧盟的监管机构一致认为机师不需要重新接受培训,甚至不需要了解新软件,包括新的MCAS凌驾控制(自动控制超越手控)。
换句话说,机师们并不知道MCAS的存在。
波音认为机师没有必要知道,因为该公司认为既有的紧急程序能解决任何问题,无论是最初或是修改后的系统所造成的问题。
然而,现今驾驶B737 Max的机师并不认同此一观点。
《the Atlantic》杂志的James Fallows整理了美国飞安自愿报告系统(Aviation Safety Reporting System;ASRS)最近提出的报告,他发现了一些由机师提到关于MCAS的报告。
机师们抱怨即使不想让飞机降落,MCAS 也会强迫机头降低。那些机师们急忙地取消MCAS功能或停止自动化系统,改采手动控制并幸免于难。
其中一位机师谴责波音提供的文件不足,他在ASRS报告中提到以下内容:
MCAS功能在飞机攻角(AOA)超过空速和高度临界值时会开始启动。稳定翼的递增量限制在2.5 度,速率为每秒0.27度。在高马赫数(Mach number)下,稳定翼的输入量较小,在较低马赫数时较大。一旦飞机攻角小于临界值,或者机组人员执行手动操作,此功能将会重新设定。如果当初飞机攻角角度升高的状况仍然存在,MCAS功能将根据目前飞机驱动时的马赫数来命令另一个递增的稳定翼下降。
此叙述目前不在737飞行手册第二部分中,也不在波音飞行机组员操作手册(FCOM)中,尽管这些内容很快地将会被列入。内容中强调,我们的飞行手册中没有介绍整个系统,此系统现在成为适航指令(Airworthiness Directives;AD)的主题。
我认为制造商、FAA和航空公司让机师在没有经过充分培训的情况下驾驶一台旧机型所改造的新机是不合理的,仅提供可用的资源和足够的文件档案来了解飞机这种具备高度复杂性的机器更是相当不合理。这种应急式的飞机已经出现重大危险警讯,现在我们知道所使用的这套系统是容易失误的,机师不确定这些系统是什么、有哪些备援装置,以及故障模式。
我不禁要问:还有什么我不知道的?《飞行手册》的数据不确实也不足够,所有采用MAX载客的航空公司都必须坚持要求波音公司将所有系统纳入手册。
不可避免地,波音的MCAS功能故障事件,让航空业以外的许多人重新思考「自动化错误(automation error)」的概念。
Semicast Research首席分析师 Colin Barnden 为航空自动化故障提出了三种可能情况:
Barnden以美国航空公司1549号航班为例,提出第一种情况,鸟击造成双引擎故障,最著名的是电影《萨利机长:哈德逊奇迹(Sully: Miracle on the Hudson)》和相关的媒体报导。人类天生的生存欲望让那架飞机被迫在水上降落。
Barnden说当时有许多方式来拯救155条性命,但是我注意到「Sullenberger机长几乎马上启动辅助动力系统(APU),而非采用标准作业程序中的失去推力(loss of thrust)步骤。」
他解释,飞机尾部有一个提供电力的小涡轮机,使线传控制系统(by-wire systems)与机上计算机足以撑到飞机降落在哈德逊河面上。「由于两部引擎都无法运作(回复原来状态),当电力耗尽就会坠毁。Barnden的结论是,Sullenberger展现了人工智能所做不到的事情—临场应变。
Barnden举的第二个例子是法航447航班。一架从里约热内卢飞往巴黎的国际客机于2009年6月1日坠毁。法国当局3年后发布最终报告,飞机坠毁的原因是空速测量不一致导致自动驾驶仪断线。机组人员的反应不当,飞机出现了空气动力失速(aerodynamic stall),当时没有恢复正常运作。
Barnden引用浮华世界中其中一篇称为「人为因素」的文章:「对我来说,最有说服力的评论是作者所说的『如果机师什么也没做,那就是他们需要做的事。』」Barnden解释说:「基本上,机师是一名计算机技术人员,而不是飞行员,无法理解传感器的数据。他们透过简单的GPS速度读数而得知是否处于失速状态。
Barnden 解释了一个高科技界的真理:「自动化减少了问题的数量,但随后面临的问题会更加复杂。这即是一个悲惨的例子。」
根据Barnden的分析,波音的MCAS软件则是第三个例子。
他提到最近的坠机事件还没有发现太多详细原因,但似乎与软件控制凌驾机师手动控制有关,据称是为了确保安全性。他说:「目前发生了两次事故,一架飞机因为这个特定的软件系统而坠毁。看看监管机构的响应就知道了。目前所有8架波音737 Max飞机已在全球停飞,但谁知道会停飞多久? 」
他的结论是:「我们所得知的是『预期功能的失败』,回到你最近在SOTIF上发表的预期功能安全之文章,当中提到飞机不应该阻止机师的操作,进而坠毁。经过数十年航空自动化、驾驶舱设计和飞机人为因素的研究,以上的情况却正在发生。」
人们常不经意地将汽车安全与航空安全相比,并向汽车制造商建议:「为什么不采取航空业的方法呢?」
不幸地是,Koopman认为两者完全不同,就像苹果和橘子一样。计算机导航与操控、具有备援硬件与近乎完美的软件能适用于汽车,但航空业中常见的高质量设计与零件不可能在汽车业使用。此外,最大的差异在于人,大部分的汽车驾驶并非受过高度专业训练,Koopman提到:「每年要举办路考?驾驶需要先接受一段时间的仿真器训练,以了解发生事故时该如何反应?」
对于汽车驾驶来说,这些都无法执行。
考虑到许多因素,包含每年的行驶时间、与航空业相比的每辆汽车安全成本,Koopman总结:「在航空业推动自动化驾驶会比在汽车业容易。」
(图片来源:Phil Koopman)
缺乏标准或产业监督也是妨碍发展自驾车安全的因素。简单地说,汽车和航空业受到的监管程度完全不同。
美国联邦航空总署在设计查核和验证,以及实施这些措施方面,比美国国家公路交通安全管理局(NHTSA)有更大的监督权力。
另一方面,正如国家科学院国家研究委员会的一份报告结论中提到:「NHTSA没有制定自己的设计和实施标准,也没有要求制造商遵循第三方的标准来指导设计、开发和评估过程,例如软件程序代码的测试。」
看到波音MCAS的真实案例,如果航空业尚无法在机器与人之间的互动方面达到正确的自动化。对于自驾车产业来说,是否会面临更严峻的挑战?
我希望我不是唯一担心自驾车将来若发生灾难行事故时而感到畏缩的人。请记住,自驾车的安全目前没有联邦机构来监管它,每个公司都有自己的规定,而普罗大众将会听信车厂的话。
(原文发表于ASPENCORE旗下EDN姐妹媒体EETimes,参考链接: Boeing's B737 Max and Automotive 'Autopilot',by Junko Yoshida)