陳君毅 周堂瑞 邢星宇 熊璐
(同濟(jì)大學(xué),上海 201804)
安全性分析與驗(yàn)證是汽車開發(fā)過程中的重要環(huán)節(jié)。依據(jù)危險來源的不同,自動駕駛汽車的安全問題可分為功能安全、預(yù)期功能安全和信息安全[1]。國際標(biāo)準(zhǔn)化組織(International Organization for Standardization,ISO)頒布的ISO 26262《道路車輛功能安全》[2]為汽車全生命周期內(nèi)的功能安全設(shè)計(jì)提供了指導(dǎo)。2019年初公布的ISO/PAS 21448《道路車輛預(yù)期功能安全》[3]則補(bǔ)充了自動駕駛系統(tǒng)的安全設(shè)計(jì)指導(dǎo)[4]。
根據(jù)現(xiàn)有安全標(biāo)準(zhǔn),汽車開發(fā)概念階段中危害分析和風(fēng)險評估最為關(guān)鍵,需要系統(tǒng)地對車輛潛在風(fēng)險進(jìn)行識別和評估。傳統(tǒng)安全分析方法中,故障樹分析(Fault Tree Analysis,F(xiàn)TA)和失效模式及效應(yīng)分析(Failure Mode and Effect Analysis,F(xiàn)MEA)關(guān)注具體的軟、硬件失效或故障[5],無法涵蓋預(yù)期功能安全領(lǐng)域的問題。危險與可操作性分析(Hazard and Operability Analysis,HAZOP)基于對偏離設(shè)計(jì)目的的偏差分析識別危險,其導(dǎo)則[6]提供了標(biāo)準(zhǔn)流程和引導(dǎo)詞,然而現(xiàn)有引導(dǎo)詞并不完全適用于自動駕駛系統(tǒng)[7],且缺乏系統(tǒng)的引導(dǎo)詞生成方法,導(dǎo)致HAZOP 在自動駕駛汽車安全分析上欠缺可行性。
Nancy Leveson[8]于2011 年提出基于系統(tǒng)理論的系統(tǒng)理論過程分析(Systems-Theoretic Process Analysis,STPA)方法,將安全視為控制問題,目標(biāo)是識別出那些可能導(dǎo)致危險發(fā)生的不充分的控制,通過安全約束使風(fēng)險降低到可接受的程度[9]。該方法同時考慮了軟、硬件失效以及性能局限等非失效引起的危險,因此覆蓋了功能安全和預(yù)期功能安全兩個領(lǐng)域。近年來,研究人員[10-13]開始嘗試應(yīng)用STPA 對自動駕駛汽車進(jìn)行安全分析,初步驗(yàn)證了STPA方法用于自動駕駛汽車安全分析的可行性。然而現(xiàn)有研究分析對象多為某一系統(tǒng)[10-11]或功能較為單一的低級別自動駕駛汽車[12-13],對于復(fù)雜的SAE L3級及以上的自動駕駛汽車,STPA進(jìn)行安全分析的適用性還有待驗(yàn)證。同時,由于STPA 方法與標(biāo)準(zhǔn)流程并非完全一致,如何改進(jìn)STPA 方法使之能滿足現(xiàn)有標(biāo)準(zhǔn)流程要求,目前仍缺少相關(guān)探討和具體實(shí)踐。
基于以上背景,本文提出一種在現(xiàn)有標(biāo)準(zhǔn)框架下,基于STPA 的自動駕駛汽車安全分析方法,并在某SAE L3級自動駕駛清掃車上進(jìn)行了應(yīng)用實(shí)踐。
STPA 分析從具體事故出發(fā),推導(dǎo)得到系統(tǒng)級安全約束,即為避免或減輕危險帶來的傷害,對系統(tǒng)行為安全性提出的要求。從控制結(jié)構(gòu)識別不安全控制行為是該方法的核心。依據(jù)現(xiàn)有功能安全標(biāo)準(zhǔn),汽車開發(fā)概念階段的最終輸出是基于一定安全目標(biāo)提出的功能安全要求。
STPA分析流程[8]和汽車開發(fā)概念階段主要流程[2]見圖1,通過對比以上兩個分析流程,STPA 方法中基于系統(tǒng)控制結(jié)構(gòu)的分析為標(biāo)準(zhǔn)流程中的危險事件識別提供了具體的方法,且對于不安全控制行為的原因分析可以為后期功能安全要求的導(dǎo)出提供依據(jù)。因此,本文提出基于STPA 的自動駕駛汽車安全分析方法,具體流程如圖1所示。
圖1 基于STPA的安全分析方法
該方法分為3 個流程,共7 個步驟,各步驟具體任務(wù)為:
a.第1步:相關(guān)項(xiàng)定義,明確分析對象的具體功能及其運(yùn)行場景,作為后續(xù)工作的基礎(chǔ)。
b.第2~6 步:危害分析和風(fēng)險評估。首先基于已有信息,建立系統(tǒng)控制結(jié)構(gòu),梳理各功能的控制行為;其次,基于一定的輸入條件,識別不安全控制行為;然后,將不安全控制行為與具體運(yùn)行場景相結(jié)合,得到整車級危險事件,并利用標(biāo)準(zhǔn)中汽車安全完整性等級(Automotive Safety Integration Level,ASIL)對每項(xiàng)危險事件從暴露率、嚴(yán)重度和可控性3 個角度進(jìn)行評估,得到風(fēng)險較高的危險事件;最后,為避免以上危險事件,提出整車級安全目標(biāo)。
c.第7步:功能安全概念推導(dǎo),為實(shí)現(xiàn)整車級安全目標(biāo),提出功能安全要求。將要求分為a、b 兩部分,首先分析各種不安全控制行為的原因,然后結(jié)合各功能的安全目標(biāo),得到具體的針對子系統(tǒng)或軟、硬件的功能安全要求。
與ISO 26262一致,在系統(tǒng)和軟、硬件后續(xù)開發(fā)過程中,基于該安全分析方法得到的功能安全要求,可以分配于不同的組件,以得到具體的可實(shí)現(xiàn)的技術(shù)安全要求,并為后續(xù)測試驗(yàn)證提供理論依據(jù)。
將本文提出的自動駕駛車輛安全分析方法應(yīng)用于某開發(fā)中的SAE L3級自動駕駛清掃車。
本文所分析的自動駕駛清掃車分為有人駕駛和自動駕駛兩種模式,全程配備駕駛員。其自動駕駛模式下的設(shè)計(jì)目標(biāo)為在封閉園區(qū)內(nèi)主動規(guī)劃路線行駛,并在行駛過程中識別障礙物和行人,實(shí)現(xiàn)主動避讓?;谝陨显O(shè)計(jì)目標(biāo),明確清掃車自動駕駛模式下的功能和對應(yīng)場景要素如表1 所示。由于清掃路面功能不涉及安全問題,后續(xù)分析中不再討論。
基于以上具體功能,建立清掃車的控制結(jié)構(gòu),如圖2 所示。由于自動駕駛控制單元(Intelligent Control Unit,ICU)是清掃車實(shí)現(xiàn)其自動駕駛功能的核心,且清掃車無多傳感器融合算法,故ICU是本次安全分析的重點(diǎn)。本文后續(xù)即以圍繞清掃車ICU 的分析為示例展開敘述,環(huán)境傳感器和執(zhí)行機(jī)構(gòu)部分不展開討論。
建立系統(tǒng)控制結(jié)構(gòu)后,結(jié)合具體控制信息,可得到清掃車各功能的ICU 具體控制行為及相應(yīng)的輸入、輸出,結(jié)果如表2所示。
表1 清掃車自動駕駛模式下功能及運(yùn)行場景
圖2 自動駕駛清掃車控制結(jié)構(gòu)
表2 清掃車各功能ICU控制行為及對應(yīng)輸入輸出
針對以上各具體控制行為,分析識別不安全控制行為。不安全控制行為基本分類[8]如表3所示。其中被控對象需要控制時提供控制還存在3類不安全控制行為,即錯誤的控制提供時間U3、錯誤的控制持續(xù)時間U4和錯誤的控制信號U5。
表3 不安全控制行為分類
此外,不安全控制行為是在一定輸入條件下的,而這些輸入條件即對應(yīng)一定的環(huán)境條件。根據(jù)表2 和表3,可得到清掃車ICU各功能的不安全控制行為。
系統(tǒng)的不安全控制行為將會導(dǎo)致車輛非預(yù)期行為,在特定運(yùn)行場景下導(dǎo)致危險事件。由圖2 可知,ICU依據(jù)環(huán)境傳感器、定位系統(tǒng)等的具體輸入決定其控制行為,而這些系統(tǒng)的輸入即對應(yīng)一定的環(huán)境條件。依據(jù)表2中各控制行為觸發(fā)輸入條件,可以得到具體運(yùn)行場景,結(jié)合各功能不安全控制行為,進(jìn)而得到整車級危險事件。
開發(fā)團(tuán)隊(duì)對清掃車在包括彎道、直道及不同障礙物類型等多種工況下進(jìn)行了共100余次測試,測試過程中由自動駕駛系統(tǒng)導(dǎo)致的危險共出現(xiàn)26次。通過分析危險發(fā)生場景及系統(tǒng)狀態(tài),26次危險事件對應(yīng)5類不安全控制行為的數(shù)量及比例如表4所示。結(jié)合該測試結(jié)果,可以對本文方法所提出的危險事件的有效性與合理性進(jìn)行驗(yàn)證。
表4 測試過程中各類不安全控制行為對應(yīng)危險事件數(shù)量
以自動駕駛清掃車避障功能為例,分析得到5類不安全控制行為對應(yīng)危險事件如表5所示。
表5 避障功能危險事件及對應(yīng)不安全控制行為
結(jié)合具體測試結(jié)果,對應(yīng)危險事件H4,測試中出現(xiàn)清掃車檢測到障礙物并成功開始避障繞行后,由于失去障礙物信息而直接規(guī)劃路徑回原車道行駛,導(dǎo)致與障礙物碰撞的情況,如圖3所示。而對于危險事件H5,測試中出現(xiàn)清掃車在遇紙箱等大型障礙物進(jìn)行避障時與障礙物發(fā)生剮蹭的情況,如圖4所示。以上結(jié)果驗(yàn)證了危險事件分析的合理性和有效性。
依據(jù)ISO 26262,采用ASIL對每項(xiàng)危險事件從暴露率、嚴(yán)重度和可控性角度進(jìn)行評估,據(jù)此可以篩選出風(fēng)險大、必須采取措施避免或控制的危險事件。
圖3 清掃車避障未完成情況柵格地圖
圖4 清掃車避障過程中與障礙物發(fā)生剮蹭
由于清掃車在運(yùn)行過程中,行人、障礙物和其他車輛出現(xiàn)的可能性都較高,各危險事件在這些場景下均有可能導(dǎo)致事故,故所有事件的暴露率評級均取最高E4;由于清掃車自動駕駛時設(shè)計(jì)速度慢(自動駕駛模式下行駛速度不超過20 km/h),即使發(fā)生事故,也不會對相關(guān)人員造成較嚴(yán)重傷害,故各危險事件嚴(yán)重度最高為S1;同樣由于清掃車速度慢,且車上有駕駛員隨時觀察周圍環(huán)境和清掃車狀態(tài),危險事件發(fā)生后駕駛員有較長反應(yīng)時間來采取措施,故各危險事件可控性最高為C2。由此,清掃車各危險事件ASIL評級最高為A級,可認(rèn)為整體安全風(fēng)險較低。對于ASIL等級為QM的危險事件,后續(xù)分析中不再考慮。
為了避免或減輕車輛危險事件造成事故或傷害,提出對應(yīng)的整車級安全目標(biāo)。本文將安全目標(biāo)表述為某一功能的目的,即在某一條件下,車輛應(yīng)該實(shí)現(xiàn)的對應(yīng)功能,并達(dá)到一定效果。對于以上分析得到的清掃車各危險事件,推導(dǎo)得到自動駕駛模式下的相應(yīng)安全目標(biāo)。
為實(shí)現(xiàn)以上安全目標(biāo),本文提出通過結(jié)合對不安全控制行為的原因分析得到具體的功能安全要求。原因分析既可以從系統(tǒng)結(jié)構(gòu)和控制原理展開,也可以結(jié)合實(shí)際測試進(jìn)行。對于自動駕駛汽車的不同不安全控制行為,其引發(fā)原因有一定的相似性,主要包括:硬件失效等造成的信號丟失、時延等;算法計(jì)算出錯造成輸出錯誤的控制指令;環(huán)境干擾導(dǎo)致傳感器錯誤識別等。其中,硬件失效和算法計(jì)算錯誤屬于功能安全問題,而環(huán)境干擾則屬于預(yù)期功能安全問題。依據(jù)各引發(fā)原因,可以提出更加有針對性的功能安全要求。
本文以表2 中清掃車避障功能為例,針對ICU 避障功能控制行為,具體展示以上各步驟的分析結(jié)果,如表6所示。
表6 避障功能安全分析
綜合清掃車系統(tǒng)各功能分析中不安全控制行為的原因可以發(fā)現(xiàn),由于ICU是集成在開發(fā)平臺上的單一硬件,其失效導(dǎo)致的危險事件在現(xiàn)有缺少監(jiān)控模塊的系統(tǒng)結(jié)構(gòu)下是難避免。因此,本文還提出了對各傳感器和ICU 輸出信號以及ICU 運(yùn)行環(huán)境實(shí)時監(jiān)測的功能安全要求。對于清掃車所用ICU而言,運(yùn)行環(huán)境中溫度對其影響最大。為此,需引入溫度傳感器對ICU進(jìn)行實(shí)時監(jiān)測,以在溫度異常時系統(tǒng)及時感知并采取提醒或降低功耗等措施。同時,新增系統(tǒng)管理模塊實(shí)時接收分析各輸入、輸出信號狀態(tài),確保當(dāng)ICU或傳感器輸出異常時,直接控制清掃車減速停車,提醒駕駛員并嘗試重啟駕駛腦。該模塊是獨(dú)立于ICU的單獨(dú)硬件,其控制指令相對ICU有更高優(yōu)先級。以上新增模塊及其相應(yīng)輸入、輸出如圖5所示,基于此可對清掃車控制結(jié)構(gòu)進(jìn)行改進(jìn)。
圖5 新增模塊及相應(yīng)輸入、輸出
在識別危險事件的過程中還可以發(fā)現(xiàn),由于清掃車各功能涉及的運(yùn)行場景可能出現(xiàn)重復(fù)的情況,為避免某一場景下多功能觸發(fā)引起危險,還需考慮多種功能的優(yōu)先級問題,例如,當(dāng)清掃車前方同時有障礙物和行人時,ICU應(yīng)控制車輛停車鳴笛以警示、避讓行人而非繼續(xù)規(guī)劃避障繞行道路。
匯總所有分析結(jié)果,本文共提出3方面功能安全要求:
a.硬件功能安全要求:ICU應(yīng)有足夠的硬件配置、適宜的運(yùn)行環(huán)境并穩(wěn)固安裝;ICU應(yīng)有充足且穩(wěn)定的供電。
b.軟件功能安全要求:僅在規(guī)定區(qū)域、條件下啟動某一功能;減速停車有最高優(yōu)先級;保障各行駛模式下與路沿、車道線、軌跡點(diǎn)的距離和誤差以及避障模式下與障礙物的安全距離;實(shí)時顯示GPS 信號狀態(tài),并在GPS信號弱時提醒駕駛員。
c.新增監(jiān)測和系統(tǒng)管理模塊:實(shí)時監(jiān)控各傳感器和ICU的輸出,異常情況(電壓、電流異常,以及無輸出或卡死、輸出延遲等)及時提醒駕駛員并控制車輛減速停車;實(shí)時監(jiān)控ICU運(yùn)行溫度,異常情況提醒駕駛員并控制車輛減速停車,同時嘗試重啟駕駛腦;實(shí)時監(jiān)控車輛狀態(tài),包括電池電量,電量低于20%時及時提醒駕駛員。
本文提出一種結(jié)合STPA方法與現(xiàn)有安全標(biāo)準(zhǔn)流程的自動駕駛汽車安全分析方法,基于不安全控制行為識別危險事件,進(jìn)而推導(dǎo)得到功能安全要求。該方法在自動駕駛清掃車上的應(yīng)用實(shí)踐表明,該方法可以同時分析功能安全和預(yù)期功能安全問題,提出包括硬件、軟件和系統(tǒng)模塊改進(jìn)等3方面功能安全要求,驗(yàn)證了該方法進(jìn)行高等級自動駕駛汽車安全分析的可行性和有效性。
本文在應(yīng)用STPA 方法進(jìn)行不安全控制行為分析時,由于控制行為集中體現(xiàn)為速度和轉(zhuǎn)角控制,無法體現(xiàn)循跡、避障在內(nèi)的多種功能的具體差異,僅簡單涉及了多功能之間的優(yōu)先級問題。后續(xù)研究將展開分析各功能切換和過渡過程中的安全風(fēng)險。