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