ISO 26262 eBooster HARA 危害分析與風險評估的要點和誤區
根據定義,功能安全的目標為:
ISO 26262:absence of unreasonable risk due to hazards caused by malfunctioning behavior of E/E systems. GB/T 34590:不存在由電子電氣系統的功能異常表現引起的危害而導致不合理的風險。
既然是“避免風險”,那么首先要做的就是“識別風險”,專業術語為“危害分析與風險評估”。在ISO 26262的第3部分對識別風險的方法論做了細致的闡述,同時也定義了很多貫穿ISO 26262始終的關鍵概念。但是,當密密麻麻的定義和概念同時擺在眼前時,很難做到全部吸收,要么是理解時出現一些偏差,要么是忽略了一些細節。本文試圖根據經驗總結和梳理危害分析與風險評估的要點和常見誤區,為后續文章的展開鋪路。
相關項定義(Item Definition)
在對某個產品展開功能安全分析與開發之前,需要先明確產品的功能以及產品的邊界。這一活動被稱為“相關項定義”。
本文研究的對象為線控制動產品eBooster。eBooster作為取代傳統真空助力器的電控系統,其工作原理可簡要概括為:當駕駛員踩下制動踏板時,推動輸入推桿產生位移,踏板行程傳感器記錄輸入推桿位移,將其發送至eBooster ECU,ECU根據位移計算并控制助力電機產生力矩推動制動主缸推桿,使得主缸釋放液壓到輪缸以實現液壓制動。工作過程可以縮略為:踩制動踏板→產生位移信號→電機轉動提供助力→實現制動。
目前市場上主流的eBooster產品是博世的i-Booster,如下圖所示。

博世i-Booster,圖片來自網絡
eBooster的功能簡單概括為:
1)駕駛員制動時提供制動助力
2)制動過程中點制動燈
3)反饋eBooster狀態信息給HMI系統
另外,根據歐洲經濟委員會標準ECE-R13H和國標GB13594的要求,乘用車在電子助力失效的情況下,機械部件仍然要保證駕駛員在用500Nm踩制動踏板時能產生 2.44 m/s2 的減速度。所以eBooster的機械設計也應滿足這一法規要求。
危害分析與風險識別(HARA:Hazard analysis and risk assessment)
總的來說,危害分析、風險識別和ASIL等級評定都是為了定義研究對象(item)的安全目標(Safety Goal),而所有活動都是基于相關項定義的功能和接口來展開,識別并評估相關項的可能失效導致的危害和風險。針對這一活動,有3點需要強調。
1)要點1(摘自GB T-34590 part3, 7.4.2.2.2):
應以能在整車層面觀察到的條件或行為來定義危害。
2)要點2(摘自GB T-34590 part3, 7.4.1.2):
在危害分析和風險評估過程中,應對不含內部安全機制的相關項進行評估,即在危害分析和風險評估過程中不應考慮將要實施或已經在前代相關項中實施的安全機制。
3)要點3(摘自GB T-34590 part3, 7.4.2.2.2注1):
通常,每一個危害有多種與相關項的功能實現相關的潛在原因,但在危害分析和風險評估中,對于危害的條件或行為進行定義時,不需要考慮這些原因,這些原因是從相關項的功能行為得出的。
既然是以整車層面觀察到的行為來定義危害,那么,從整車動力學的角度,汽車的運動軌跡可以被下圖中的運動坐標系完全包含。

汽車運動坐標系
而在每一個坐標系上,因為控制不當而可能產生的所有的整車表現也能被界定。思路如下圖所示。

汽車各個運動坐標系上可能存在的風險(部分)
因此,在進行危害分析和風險評估時,不需要明確研究對象的具體設計,只要明確研究對象的功能和接口會影響整車哪個坐標系上的控制,就可以將研究對象的功能失效可能導致的危害與該坐標系上對應的整車危害鏈接起來。
當然這里要補充一點,所有運動坐標系上可能的危害并不能包括整車能產生的所有的危害。比如,人機交互界面的設計越來越受重視,當系統失效后,如果HMI系統能夠及時把故障報告給駕駛員請求駕駛員接管甚至指導駕駛員接下來如何操作,可以避免危害。所以對于HMI系統也有相應的功能安全需求,相應的,也需要對其進行危害分析與風險識別。
以eBooster為例,其功能之一為:在駕駛員制動時提供制動助力。所以該功能有車輛縱向控制的接口,那么,如果eBooster功能失效,可能在駕駛員沒踩制動時產生非預期的過大制動力。到這里,已經地識別出了eBooster相關的一個危害。在這個過程中,無需去細究危害是eBooster的軟件bug還是傳感器出了問題導致的,更不能考慮因為eBooster內部已經有故障監控模塊可以及時避免這個危害的產生。換句話說,是先識別出了危害,再考慮對這個危害進行相應的安全措施設計(如監控模塊設計),這是后面功能安全概念(Functional Safety Concept)設計需要考慮的內容,在后面的文章中會詳細展開。
雖然在危害分析與風險識別中不能考慮研究對象的內部安全措施,但是,外部措施(external measures)是可以被考慮的。怎么理解呢?比如裝備eBooster的車輛同時也裝備了ESC(Electronic Stability System, 車身穩定控制系統),那么對于eBooster在駕駛員沒踩制動時產生非預期的過大制動力的危害,由于有ESC的存在,所以對eBooster進行危害分析時,無需考慮制動力過大而導致車輛失穩這種危害。
對于外部措施,這里也有兩點需要強調:
1)(摘自GB T-34590 part3, 6.4.1.2注1):在對相關項進行評估過程中,可用的且充分獨立的外部措施是有益的。
2)(摘自GB T-34590 part3, 6.4.2.3注2):僅考慮與相關項自身相關的危害,假設其他充分獨立的系統(外部措施)均正確工作。
最后再補充一個容易讓人疑惑的點。ISO 26262中指出,危害分析與風險識別不僅考慮車輛正常使用中功能失效,還要考慮車輛誤用時的功能失效。
這難免讓人產生疑惑:既然超出了功能設計的使用范圍,還要考慮它干嘛?
個人認為這個定義是合理的。首先,拋開功能安全,一款產品的設計或多或少都會考慮到一些可能被誤用的場景并加入防錯設計,考慮的程度取決于加防錯設計的成本。比如現在流行的EPB電子手剎,按鈕設計成往上掰才激活而不是按壓激活,就是因為考慮到在實際使用過程中按鈕可能會錯誤地被按壓,比如放水杯時按到或者把手提包放在上面。

拉起式電子手剎
但是,這樣一來另一個問題產生了:“功能誤用”的邊界在哪里?如果考慮的話危害分析豈不是窮舉不盡?
可能ISO 26262的制定者可能也考慮到了這一顧慮,因此在ISO 26262第二版中對定義進行了更新,加了一個關鍵詞“reasonably ”。不過這個詞的邊界還是很模糊,如何區分某個誤用合理與否各個公司基于自己的know-how仁者見仁。
在ISO 26262-2011版:
The operational situations and operating modes in which an item's malfunctioning behavior will result in a hazardous event shall be described, both for cases when the vehicle is correctly used and when it is incorrectly used in a foreseeable way.
在ISO 26262-2018版:
The operational situations and operating modes in which an item's malfunctioning behavior will result in a hazardous event shall be described; both when the vehicle is correctly used and when it is incorrectly used in a reasonably foreseeable way.
危害事件分類(Classification of hazardous events)
是不是只要危害發生就一定會導致人員傷亡的風險呢?
不是。接著上面的例子,eBooster有導致車輛非預期制動的危害,但是當危害發生在高速公路上時,很可能造成人員傷亡;而當危害發生在自家的車庫時,幾乎沒有人員傷亡的風險,頂多就是駕駛員被嚇一跳然后開始罵娘。
也就是說,危害識別出來后,我們還要結合危害時刻車輛運行的場景,來對危害所能造成的風險進行評估。而車輛的運行場景,可以理解為是下圖各個因素的排列組合。

場景劃分,截圖來自SAE J2980
ISO 26262定義了危害事件分類的方法,綜合場景與危害,將篩選指標分為三個維度:
S(severity 嚴重度):危害發生對駕駛員或乘客或路人或周邊車輛中人員會造成的傷害等級。評分表:

E(Exposure 曝光度):運行場景在日常駕駛過程中發生的概率。評分表:

C(controllability 可控度):駕駛員或其他涉險人員控制危害以避免傷害的概率。評分表:

基于這三個維度的評分,確定ASIL等級即汽車安全完整性等級( automotive safety integrity level)。ASIL一共分為四個等級,D代表最高嚴格等級,即風險最高,A 代表最低嚴格等級,即風險最低。
補充一點,實際上還有一個等級QM<quality management >,表示只要按照企業流程開發就可以滿足ISO 26262要求,ISO 26262開發無需考慮。

ASIL 等級評分表
ASIL等級評定方法和指標,概括起來很簡單,但是實際上操作起來卻有很多困難。雖然在ISO 26262 part3的附錄中對S/E/C的評分做了一些補充說明和示例,但是個人覺得這些補充還是太寬泛。
以S值為例,表格中提到的“非常低的速度”、“中速”等詞太過模糊,對實際分析作用不大。

截圖來自GB T-34590,part3附錄B
換個角度想,ISO 26262那么多專家坐在一起也只能定性到這樣一個模糊的程度,說明實際上這些值的評定會受很多因素的影響,比如具體的車輛設計參數、不同國家的駕駛情況不同等等,所以無法得出一個統一的標準。或者說,即使得出了統一的標準,也會因為要同時涵蓋太多的因素而導致評定結果保守嚴苛,不利于功能安全開發。
SAE J2980標準基于ISO 26262的既有定義,在評分方面做了更詳細的說明,以期提供給車企企業做參考。于此同時,不同的車企也會基于已有的事故數據,結合整車仿真模擬和實車測試來細化自己的評判標準。
對S值來說,企業最終形成的評分標準大體上會細分成類似SAE J2980推薦表格的形式,如下圖所示,只是車速范圍上有些許差別:

截圖來自SAE J2980
對C值來說,車企則會定義一系列的Controllability study測試。針對識別出來的可能存在風險的場景,設計故障注入測試,并(盡量)隨機選擇駕駛員進行實際道路實驗。最終綜合駕駛員主觀評價和整車動態表現的客觀參數來評定出安全邊界,為后續功能設計提供邊界參考,保證功能失效后仍在大多數駕駛員的可控范圍內。值得一提的是,這種Controllability study成本非常高,且從測試用例設計到測試結果評價都處處體現了企業的know-how,屬于企業的核心機密。
對S值和C值的評定,不同企業可以根據已有的事故數據達成基本的共識,如果出現分歧,也基本上可以通過仿真和實車測試的結果來驗證以消除。但是對場景暴露度E值的評估則不同,因為定性分析的成分很大,且不同國家的駕駛場景有區別,面對分歧雙方又很難提供有說服力的數據,所以,相比S值和C值,E值的評定往往爭議性比較大,各個車企之間分歧比較多。
有一個例子最能說明E值評定的難度。德國汽車工業協會(German Association of the Automotive Industry ,VDA)曾經把德國車企巨頭召集起來,試圖對E值的評定形成一個行業統一的指導標準,雖然最后釋放了一版標準VDA 702,但是就連這些參與制定的車企最后都沒有完全遵守,更別說其他國家的車企使用了,因此這份標準至今仍然只有德文版。
雖然不同車企對E值的評定有著不同的理解和標準,但是至少都以ISO 26262中的定義為共識。在ISO 26262的定義中,有以下兩點需要特別注意。
1)當預估暴露概率時,不應考慮裝備該相關項的車輛數量。
這里有個真實的案例。作為供應商,在和國內某OEM聯合開發AVP(自動代客泊車,Automatic Valet Parking)功能時,因為這個功能在使用過程中駕駛員是不在車內的,屬于自動駕駛功能,因此如果車輛在泊車過程中沒有識別到行人,由于駕駛員無法接管,會導致撞人甚至碾壓風險。針對這一危害的ASIL等級,我們和OEM出現了分歧,于是希望OEM的工程師提供他們的具體的S/E/C評分以作進一步討論,發過來的郵件里提到1點:
搭載AVP功能的車輛只在XX城市銷售,且只在XX區域的停車場才能運行,所以運行過程遇到行人的E值比較低......
這顯然是違背了ISO 26262的定義,搭載該功能的車輛的數量低,并不意味著“車輛在泊車過程中沒有識別到行人造成碾壓風險”的概率會降低。試想,假設有一個人正好住在這個停車場附近,每天都能使用這個停車場和AVP功能呢?換句話說,暴露概率的評估是基于假設每個車輛都配備有該相關項進行的。這意味著“因為該相關項未裝備在每個車輛上(只有一些車輛裝備該相關項),所以暴露概率會降低”的觀點是不成立的。
2)場景劃分不是越細越好。
在進行危害事件分類時,理論上如果場景劃分得越細,越容易對S值和C值做出準確的評定。但是,場景劃分過細可能導致E值降低,從而評定出一個不合適的偏低的ASIL等級。
舉個粗略的例子。
場景:車輛停在坡道上,駕駛員離開后駐車系統失效,導致車輛后溜。
危害:車輛后溜可能撞到行人。
危害分析:
S值:如果坡道夠長,碰撞時車速較高,甚至有碰撞后的碾壓危險,S3
C值:駕駛員不在車內,行人可能在下坡無法注意到車輛從而無法躲避,C3
E值:車輛停在有坡的位置且路上有行人,E2
=ASIL B。
如果場景進一步細分。
危害1:
S值:如果坡道夠長,碰撞時車速較高,甚至有碰撞后的碾壓危險,S3
C值:駕駛員不在車內,行人可能在下坡無法注意到車輛從而無法躲避,C3
E值:車輛停在有坡的位置且路上有小孩,E1
=ASIL A。
危害2:
S值:如果坡道夠長,碰撞時車速較高,甚至有碰撞后的碾壓危險,S3
C值:駕駛員不在車內,行人可能在下坡無法注意到車輛從而無法躲避,C3
E值:車輛停在有坡的位置且路上有大人,E1
=ASIL A。
顯然對于這一風險,ASIL B更加合理,但是場景過于細分后評成了ASIL A。
針對這一問題,不免有這樣一個疑問:怎么把握場景細分的度呢?
個人認為,沒有標準答案,合理性取決于企業和工程師的經驗。

