【測不準原理之父】20 世紀物理學家怎麼用「量子力學」,解決自駕車系統除錯問題?

【我們為什麼挑選這篇文章】物理學看似與系統除錯沒多大的關係,但其背後原理卻能帶給後世很大的啟發。自駕車安全性問題就可以利用量子力學不斷精進。

本文作者是黑莓的資深副總裁,他將講述在處理自駕車安全功能的狀況下,這位物理學家的理論能如協助自駕車研究呢?(責任編輯:陳伯安)

作者:黑莓資深副總裁 Kaivan Karimi

Werner Heisenberg 生於 1901 年 12 月 5 日,被譽為「測不準原理(Uncertainty Principle)之父」,也是第一個討論量子力學「觀察者效應(Observer effect)」的人,認為觀察一個系統的行為不可避免地會改變其狀態。

功能安全是系統或設備整體安全的一部分,通常側重於電子設備和相關軟體,主要關注與設備或系統的功能相關的安全,並確保它能夠對所接收到的命令做出正確的回應。

在系統類別法之中,功能安全可以識別那些可能導致事故或造成破壞的潛在危險、情勢或事件。ISO 26262 是針對汽車電子/電子系統的 IEC 61508 的改編版,以最先進的實施方法,解決可能導致車輛中系統或子系統故障的兩種類型的故障:

1. 系統故障

2. 隨機故障

防護故障是應當納入考慮範圍的第三種故障,但是並未直接包含在 ISO 26262 中。在本文中,我(本文作者)會更聚焦在討論安全。當然,如果防護不到位,安全就無從談起。

從硬體的物理因素與運算的複雜程度來看,自駕車的隨機故障狀態

系統故障是由於開發過程中存在 人為錯誤 ,從而導致的設計方面的錯誤或失誤。

對於隨機故障而言,無論是自動駕駛汽車的硬體還是軟體,都是汽車製造商部署得最複雜的部分,這些自動駕駛的工程技術推動了對汽車行業對性能極強的 CPU、GPU 和多處理器計算引擎的強大需求。如今硬體變得越來越不可靠,而半導體製造商正在忙於建構下一代功能強大的計算引擎。這種現象源於 兩個主要因素可能會導致隨機故障——物理因素和複雜程度

就硬體物理而言,CPU 的運行速度越來越快,就產生更多的熱;所使用的電晶體也越來越小,現在甚至可以用原子數來衡量。 熱產生會促使磨損的速度加快,而元件運行所產生的熱越多,就越容易導致故障。 電晶體體積越小,就越容易受到電磁干擾以及 α 粒子和中子的影響,且鄰近單元之間的交流也會對電晶體產生影響。

就複雜性程度上說,製造商一直設法想為各 CPU 之間增加更多相互關聯的功能。不幸的是,CPU 難免有漏洞,當然,已知的錯誤會被記錄在製造商的勘誤表中, 但很多 CPU 漏洞只能在進行生產之後才能發現 。這些問題會影響計算結果,而引發安全性漏洞,這可能會直接影響 ISO 26262 汽車安全完整性等級(ASIL;Automotive Safety Integrity Level),並評估傷害嚴重程度及其發生機率。ASIL 分為 A,B,C,D 四個等級,其中 ASIL D 是最高級別。

更複雜的是,為模擬汽車的環境,軟體必須即時處理來自感測器(如照相機、雷射雷達和雷達等)的大量資料並做出控制車輛的安全決策。這需要經過安全認證,具備高效性和防護性的軟體,來使用專用硬體(加速器)進行視覺處理和基於深度神經網路的機器學習演算法。

以 20 世紀學者取名,Heisenbug 病毒以「測不準原理」測試自駕車除錯技術

Heisenbug 是一種軟體漏洞,是以 Werner Heisenberg 名字的諧音命名的。當有人試圖探測或者隔離這種漏洞時,它就會消失或者改變其行為 。對於那些熟悉軟體漏洞術語的人來說,這種病毒恰好與波爾漏洞(Bohr bug)相反,波爾漏洞可以在條件未知但環境設置精準的情況下穩定地運行。鑒於 Heisenbug 不可測的特點,在你試圖重新創建或者清除漏洞之時,它就可能發生了變化甚至完全消失了。

在自動駕駛系統中的硬體和軟體也會出現類似錯誤影響系統安全性。要獲得 ISO 26262 安全認證,必須能夠有效地檢測和處理漏洞。為了對漏洞進行有效處理,應對功能安全的挑戰,系統設計人員必須實施彌補此類錯誤的機制。BlackBerry QNX 開發了 QNX LCLS(QNX Loosely Coupled Lock Step (LCLS) 來檢測自動駕駛系統中的軟硬體錯誤並進行恢復

在以往的系統中,硬體鎖定步驟透過讓完全相同的 CPU 來執行相同的代碼來檢測 CPU 運行錯誤。如果其中一個 CPU 執行了錯誤指令,則可以檢測到問題。但是, 由於兩個 CPU 都將「正確」執行相同的代碼,因此硬體鎖定步驟並不會彌補記憶體中隨機位元或 Heisenbug 的變化。 工程師還可以使用硬體分析器檢查內部狀態並判斷問題。然而,這樣的技術對於當今性能極強的硬體來說並不實用,因為硬體檢查器需要即時分析的內部狀態太多了。

很顯然, 硬體自我診斷並不足以檢測出所有錯誤 。當與即時軟體檢查結合時,可以有效且完整地完成系統操作驗證。這樣的系統使用軟體的冗餘副本,每個副本執行安全關鍵型計算,並且對這些副本的輸出結果加以比較進行驗證。這是 QNX LCLS 的概念。

更多有關此話題的的資訊,請下載功能安全白皮書: 連結於此

作者簡介:
Kaivan Karimi is the SVP of Sales & Product Marketing at BlackBerry Technology Solutions (BTS)

(本文經原作者 BlackBerry 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈面對自動駕駛汽車的功能安全,20 世紀德國物理學家要怎麼做?〉,首圖來源:WikiMedia Common。)

延伸閱讀

為何自駕車要找「人類學博士」一起研究?為了解決人類無理取鬧的天性
【開自駕車就可以滑手機?】MIT 最新系統:監測司機表情,有沒有看路一秒就知!
特斯拉眼中的世界:線條、區塊與座標,這才是自駕車「看見」的真相


點關鍵字看更多相關文章: