埃航黑匣子逐步破解,墜機矛頭直指全自動化飛行軟體

超神經HyperAI發表於2019-03-21

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年,英國工程師特里維希剋制造出了蒸汽火車,它可以在鐵軌上奔跑,裝載的貨物也比馬車多許多。

但是這臺蒸汽火車身上卻包含了無數的小毛病,經常會出現一些小故障,走上一段距離就要停下來維修,所以它也沒有被大多數人接受。甚至還會發生翻車事故,造成嚴重的人員傷亡。

馬車主們認為自己的地位受到了挑戰,形成了一個聯盟,用各種理由抵制火車的推行。

然而,數百年過去了,馬車早已退出了歷史舞臺,火車成為最重要的長途運輸工具之一。

給技術發展以耐心和謹慎,是我們唯一的選擇。

點選閱讀原文


相關文章