吳新政,邢星宇,劉力豪,沈 勇,陳君毅
(同濟大學汽車學院,上海 201804)
自動駕駛技術被認為能夠給未來交通帶來巨大變革,但目前自動駕駛事故仍然頻發(fā)[1],如何保障自動駕駛的安全性是一個關鍵問題。作為一個新興研究領域,與功能安全關注由電子或軟件故障導致的系統(tǒng)危險不同,預期功能安全(safety of the intended functionality,SOTIF)著重研究因為環(huán)境擾動、功能不足或人為誤操作導致的危險,對自動駕駛系統(tǒng)的整體安全性至關重要。ISO 21448[2]指出,自動駕駛功能、系統(tǒng)或算法缺乏抗擾性是引起預期功能安全問題的潛在危害行為之一。系統(tǒng)抵抗環(huán)境擾動,在錯誤下維持穩(wěn)定運行的能力稱為抗擾性,通常也被稱為魯棒性或健壯性。對自動駕駛系統(tǒng)的抗擾性進行測試是保障自動駕駛安全性的必要措施,通過測試可以提前發(fā)現(xiàn)系統(tǒng)的安全薄弱點,指導開發(fā)過程;也可以對系統(tǒng)的抗擾性進行驗證,推進技術落地。
自動駕駛系統(tǒng)是一個典型的復雜系統(tǒng),一般可分為環(huán)境感知、決策規(guī)劃、運動控制等子系統(tǒng),如圖1 所示。由環(huán)境擾動等因素引起的錯誤可能會發(fā)生在子系統(tǒng)間信息傳遞的各個階段。其中,決策規(guī)劃系統(tǒng)的計算結果與感知系統(tǒng)的輸入數(shù)據(jù)直接相關,它對上游數(shù)據(jù)錯誤的抗擾能力、對整個自動駕駛系統(tǒng)的安全性有重要影響,有必要對其進行測試和驗證。因此,本文將主要聚焦感知信息錯誤,對決策規(guī)劃系統(tǒng)的抗擾性展開研究。
錯誤注入是一種經典的抗擾性測試方法,在芯片、軟件、航空航天等領域得到廣泛應用[3]。在錯誤注入測試中,測試人員通過設計受控實驗,人為地在被測系統(tǒng)上模擬錯誤,觀察被測系統(tǒng)在錯誤擾動下的表現(xiàn),對被測系統(tǒng)的抗擾性進行評估。針對自動駕駛系統(tǒng),近年來也有不少研究在仿真測試的基礎上引入了錯誤注入方法。針對環(huán)境感知系統(tǒng),Elgharbawy 等[4]為ADAS 系統(tǒng)感知融合算法的抗擾性測試提供了一種通用的錯誤注入架構,可以向感知融合算法連續(xù)地添加錯誤感知的影響;Petit 等[5]通過創(chuàng)建一輛虛擬幽靈車,研究了針對自動駕駛汽車雷達模塊的錯誤注入方法。針對運動控制系統(tǒng),Uriagereka 等[6]提出了一個基于仿真的錯誤注入框架,用于對自動駕駛控制系統(tǒng)的可控性進行評估,并在一個橫向控制系統(tǒng)上驗證了該工具的有效性。針對自動駕駛系統(tǒng)整體,F(xiàn)u 等[7]基于錯誤注入技術開發(fā)了一個可重定向的自動駕駛系統(tǒng)安全性評估工具,該工具利用被測系統(tǒng)的調試接口注入錯誤,以較少的侵入性實現(xiàn)了全面的錯誤注入功能;Saraoglu等[8]將錯誤分為車輛級和環(huán)境級,并建立了MOBATSim 仿真框架,通過錯誤注入模塊進行了擴展;Maleki 等[9]提出了一種基于仿真的錯誤注入器SUFI,它能夠將錯誤注入到SUMO 模擬的ADAS 特征中,并分析注入錯誤對整個交通的影響。
以上研究表明,錯誤注入是對自動駕駛系統(tǒng)的抗擾性進行研究的一種有效方法,基于仿真實現(xiàn)錯誤模擬是對自動駕駛系統(tǒng)進行錯誤注入測試的主要途徑。然而,在研究層面,目前的研究主要關注功能安全范疇內的組件或系統(tǒng)的內源性錯誤,因此直接沿用了軟件錯誤注入的常用錯誤模型,例如位翻轉、資源競爭、線程中斷、內存溢出等。這些錯誤模型來源于計算機和軟件測試領域的實踐經驗,對于由外部擾動引起的決策規(guī)劃系統(tǒng)外源性接口數(shù)據(jù)錯誤適用性低。同時,針對外源性錯誤,現(xiàn)有研究缺少對錯誤模式系統(tǒng)性、全面性的歸納與分類,因此難以支持對自動駕駛決策規(guī)劃系統(tǒng)抗擾性的綜合測試與驗證。在應用層面,現(xiàn)有研究大多依賴于某個特定的仿真平臺,限制了所提出的工具或框架的通用性。綜上所述,有必要針對決策規(guī)劃系統(tǒng)接口數(shù)據(jù)抗擾性的測試需求構建專用的錯誤模型,并構建適用于不同仿真平臺及被測決策規(guī)劃系統(tǒng)的通用錯誤注入測試框架。
本文的主要貢獻可概括為:(1)對數(shù)據(jù)錯誤進行了形式化描述,并提出描述錯誤的五元組格式,實現(xiàn)了數(shù)據(jù)錯誤的標準化與統(tǒng)一化表達。(2)基于對傳感器局限性的研究,對外源性錯誤進行歸納分類,提出了存在不確定性、分類不確定性、狀態(tài)不確定性、時序不確定性共4 大類的目標級錯誤模式。(3)基于生成樹思想構建了錯誤模型,實現(xiàn)了數(shù)據(jù)錯誤的注入。(4)提出了面向仿真測試的錯誤注入框架SOFIF。該框架通過引入具有標準格式的數(shù)據(jù)模型提高了通用性,即適用于不同仿真軟件及被測決策規(guī)劃系統(tǒng)的能力。同時該框架可進行自動化測試。
錯誤注入的本質是對自動駕駛決策規(guī)劃系統(tǒng)接口數(shù)據(jù)進行研究,構建統(tǒng)一的標準模型(數(shù)據(jù)模型)存儲決策規(guī)劃系統(tǒng)所需要的各個數(shù)據(jù),并使用形式化后的錯誤信息(錯誤模型)對數(shù)據(jù)進行刻意修改,以達到注入錯誤的目的。因此,構建數(shù)據(jù)模型和錯誤模型是錯誤注入的核心工作。
數(shù)據(jù)模型存儲某一時刻下仿真所需的所有數(shù)據(jù)的真值信息。為保證通用性,模型內部的數(shù)據(jù)結構應是一個統(tǒng)一的標準結構,而不依賴于任何一個特定的仿真軟件或被測對象。本研究基于自動駕駛6層場景本體模型,結合對決策規(guī)劃系統(tǒng)工作原理的分析,歸納構建自動駕駛決策規(guī)劃系統(tǒng)接口數(shù)據(jù)的數(shù)據(jù)模型。
自動駕駛6 層場景本體模型最初由歐盟PEGASUS 項目提出[10],目前已被廣泛地用于自動駕駛場景本體建模的研究中[11-12]。其將自動駕駛運行環(huán)境元素劃分為道路層、交通設施層、臨時變動層、交通參與者層、自然環(huán)境層和信息層6 個層級,因此而得名。使用6 層場景本體可以系統(tǒng)性、結構化地描述一個自動駕駛場景。然而,自動駕駛決策規(guī)劃系統(tǒng)除需要來自環(huán)境感知的外部場景信息外,還需要來自內部的自車信息(如自車的運動學狀態(tài)、控制狀態(tài)以及車輛內部機械和電子部件的工作狀態(tài)等)。因此,本文所構建的數(shù)據(jù)模型具有和6 層場景本體類似的層級架構,并在此基礎上添加了表示自車內部信息的自車層。數(shù)據(jù)模型的具體結構如圖2所示。
1.2.1 數(shù)據(jù)錯誤的形式化
錯誤模型是待注入錯誤的集合。為將自定的錯誤信息轉化為計算機所能識別和執(zhí)行的統(tǒng)一格式并提高工具的通用性,需要對數(shù)據(jù)錯誤進行形式化處理。本文將一個數(shù)據(jù)錯誤定義為變量在真值的基礎上發(fā)生的變更,數(shù)據(jù)變更的過程可表示為
式中:v表示變量真值;δ表示錯誤值;f(·)表示注入算子。錯誤注入后的目標變量v′可由f(·)根據(jù)變量真值和錯誤值計算得到。出于對自動駕駛系統(tǒng)安全性的考慮,決策規(guī)劃系統(tǒng)通常被要求工作在較高的實時頻率,其接口數(shù)據(jù)也以較高頻率進行刷新,表現(xiàn)為由大量數(shù)據(jù)幀在時間上組成的連續(xù)序列,因此,可將式(1)拓展為以下形式:
式中v、v′、δ和F 表示式(1)中對應變量的時間序列。式(2)表示,在錯誤注入過程中的每一幀,真值數(shù)據(jù)都按照需求被注入算子刻意修改為錯誤數(shù)據(jù)。
在上述研究的基礎上,本文將一個錯誤e形式化為一個五元組,如式(3)所示:
式中:v、δ和F 與式(2)對應,分別表示真值序列、錯誤序列和注入算子序列;T為目標變量的數(shù)據(jù)類型,例如數(shù)值、類別、數(shù)組或更加復雜的結構化數(shù)據(jù);g為觸發(fā)器,規(guī)定了觸發(fā)錯誤注入的時機。給定一個數(shù)據(jù)錯誤的五元組表示,就能唯一且完整地確定一個錯誤。五元組中最為關鍵的元素是注入算子F,它定義了錯誤注入的具體方式。本文將注入算子F歸納為值覆蓋和值偏移兩種形式。其中,值覆蓋為使用錯誤值覆蓋真值;值偏移為將真值和錯誤值求代數(shù)和。
1.2.2 錯誤模式
錯誤的具體表現(xiàn)形式稱為錯誤模式。本文將錯誤模式分為基礎錯誤模式和目標級錯誤模式兩類。上述值覆蓋和值偏移兩個注入算子可以被看作為基礎錯誤模式?;A錯誤模式可進行組合和擴展,構成更加復雜的錯誤模式。例如從一個噪聲分布中隨機采樣獲得錯誤值,再通過值偏移模式疊加到數(shù)據(jù)真值上,便可以得到隨機噪聲錯誤模式。從近年來發(fā)生的與自動駕駛相關的事故[13-14]中不難發(fā)現(xiàn),真實世界中影響決策規(guī)劃系統(tǒng)并最終導致事故的錯誤往往不會以基礎錯誤模式的形式出現(xiàn),而是以更高層級的、由基礎錯誤模式組合拓展得到的目標級錯誤模式出現(xiàn)(比如整個目標的長時間漏檢或間歇性無法確定被檢測目標類型)。基礎錯誤模式是錯誤的具體實現(xiàn)手段,目標級錯誤模式是錯誤的實際表現(xiàn)方式。因此在測試時,對所注入錯誤的定義應使用目標級錯誤模式。
為系統(tǒng)性歸納目標級錯誤模式的所有表現(xiàn)形式,結合本研究團隊已有工作[15-16],從存在不確定性、類別不確定性、狀態(tài)不確定性和時序不確定性4個方面對目標級錯誤模式進行分類,如圖3 所示。其中,存在不確定性錯誤是指無法確定目標是否存在的錯誤,具體表現(xiàn)為對存在目標的漏檢及對不存在目標的誤檢。類別不確定性錯誤是指無法正確對目標進行歸類的錯誤,如將行人分類為自行車、將車輛分類為靜態(tài)障礙物等。時序不確定性錯誤是指數(shù)據(jù)真值在時間序列上發(fā)生錯序的錯誤,具體表現(xiàn)為實際值始終延后于真值的時延錯誤與實際值重復歷史值的重發(fā)錯誤。狀態(tài)不確定性錯誤是指對場景中各目標的狀態(tài)信息估計不準確的錯誤,其中參數(shù)偏移是指狀態(tài)值發(fā)生了有規(guī)律可循的偏移,如恒定的估計誤差,精度下降是指狀態(tài)值發(fā)生了隨機偏移,造成了對目標狀態(tài)估計的精度不足,如隨機噪聲。上述目標級錯誤模式均為基礎錯誤模式在時間序列上進行排列拓展而來。
圖3 錯誤模式分類
圖4 展示了6 種目標級錯誤模式在時間序列上的表現(xiàn)形式。其中,類別不確定性錯誤模式與存在不確定錯誤模式在時序上的表現(xiàn)形式類似,故不重復展示。需要注意的是,圖4 所展示的僅僅是相應錯誤模式的單一表現(xiàn)形式。在實際測試中,各錯誤參數(shù)如時延中的延遲時間、參數(shù)偏移中的偏移值等可能隨時間發(fā)生改變;錯誤的持續(xù)時間及發(fā)生次數(shù)也可能會發(fā)生改變,如后面第3 章就列舉了一個持續(xù)時間變化且間隔發(fā)生的漏檢錯誤;同一目標物上發(fā)生的錯誤模式類別也可能會發(fā)生改變或疊加,如一開始發(fā)生了時延錯誤,之后又發(fā)生了參數(shù)偏移錯誤。具體的錯誤形式需要根據(jù)測試目的及真實情況對各目標級錯誤模式及各錯誤參數(shù)組合設計得到。
圖4 目標級錯誤模式在時間序列上的表現(xiàn)形式
1.2.3 錯誤模型
上述方法對數(shù)據(jù)錯誤建立了通用的形式化方法,但這樣描述的錯誤僅能表示某個特定類型的數(shù)據(jù)相比其真值發(fā)生了錯誤的變更,無法明確這個數(shù)據(jù)具體的含義,也無法明確這個錯誤的含義。完整的錯誤模型還應該包含錯誤的語義,需要建立形式化的錯誤和發(fā)生錯誤的目標數(shù)據(jù)之間的聯(lián)系。Nurminen等[17]在對機器學習的訓練數(shù)據(jù)進行錯誤注入研究時,提出一種錯誤生成樹的方法。該方法首先根據(jù)訓練數(shù)據(jù)集的結構建立一棵樹,接著通過在樹的部分葉子節(jié)點上添加變換來模擬數(shù)據(jù)錯誤。本文借助這種錯誤生成樹的思想來建立錯誤和數(shù)據(jù)模型之間的聯(lián)系,以實現(xiàn)完整的錯誤模型。
本文中數(shù)據(jù)模型被建模為樹結構,稱為數(shù)據(jù)生成樹。數(shù)據(jù)生成樹的根節(jié)點代表整個數(shù)據(jù)模型,第一層的節(jié)點代表如圖2 所示的場景本體層次,往下的節(jié)點代表場景中各個元素的各種信息,復雜的信息由基本的信息構成,一直到底層的葉子節(jié)點,成為不可繼續(xù)分割的原子數(shù)據(jù)類型。數(shù)據(jù)生成樹中的每個節(jié)點都具有自己的數(shù)據(jù)類型,一個錯誤可以關聯(lián)到相同數(shù)據(jù)類型的樹節(jié)點上,表示這個錯誤的目標數(shù)據(jù)就是這個樹節(jié)點上的數(shù)據(jù)。通過這種方法,可以同步推導出一棵錯誤生成樹,它跟數(shù)據(jù)生成樹具有完全相同的結構,但每個節(jié)點上的數(shù)據(jù)不表示真值而表示錯誤值,合并數(shù)據(jù)生成樹和錯誤生成樹即可得到發(fā)生錯誤的場景。圖5展示了使用樹模型連接數(shù)據(jù)模型和錯誤模型的示例,圖示場景包含3 個錯誤:①交通參與者A 的類別分類錯誤。②交通參與者A 的位置y坐標存在高斯誤差。③交通參與者C出現(xiàn)漏檢錯誤。
圖5 使用樹模型連接數(shù)據(jù)模型與錯誤模型示例
通過使用錯誤五元組形式化地定義單個錯誤,并使用樹模型將錯誤與數(shù)據(jù)模型中對應的目標數(shù)據(jù)進行關聯(lián),可以完整定義任意測試場景下的錯誤組合,形成決策規(guī)劃系統(tǒng)接口數(shù)據(jù)的錯誤模型。
本研究的目標是通過構建基于仿真測試的錯誤注入框架(SOFIF),對自動駕駛決策規(guī)劃系統(tǒng)的輸入數(shù)據(jù)進行故意修改,以此模擬上游感知系統(tǒng)的誤差或錯誤,從而實現(xiàn)對決策規(guī)劃系統(tǒng)在輸入數(shù)據(jù)存在擾動情況下的抗擾性測試。結合所構建的數(shù)據(jù)模型和錯誤模型,本文提出的基于仿真測試的錯誤注入框架如圖6 所示。其中,圖中彩色元素為錯誤注入框架基本組成部分,其余部分展示了錯誤注入框架與仿真環(huán)境和決策系統(tǒng)的交互關系。
圖6 面向仿真測試的錯誤注入框架(SOFIF)
如圖6所示,除所構建的數(shù)據(jù)模型與錯誤模型,SOFIF 還包含錯誤藍圖、藍圖解析器以及自動化測試控制器3 個模塊。其中,錯誤藍圖是一個基于領域特定語言(domain specific language,DSL)的文本文件,用于定義需要注入的錯誤信號的目標、時機和模式。藍圖解析器用于解析錯誤藍圖,將錯誤藍圖中定義的錯誤轉化為標準的五元組格式,并將錯誤存放于與數(shù)據(jù)模型同步生成的錯誤模型中。這樣,在仿真中就能于指定的時間在指定的數(shù)據(jù)通道上注入所定義的錯誤,保證實際注入的錯誤和錯誤藍圖的定義的一致性。自動化測試控制器用于自動化地收集實驗過程中的數(shù)據(jù),計算場景風險指標值,并決定下一次實驗的錯誤參數(shù)。
本文中所提出的SOFIF 的主要工作流程為:①在仿真初始時根據(jù)從仿真軟件中獲取的車輛、道路、環(huán)境等真值信息構建數(shù)據(jù)模型,并同步生成擁有相同樹結構的錯誤模型。②在每一個仿真幀中不斷獲取上述真值信息作為上游感知數(shù)據(jù)更新數(shù)據(jù)模型。③根據(jù)用戶輸入的錯誤藍圖對錯誤進行解析,存入錯誤模型中。④根據(jù)錯誤模型中存儲的錯誤類型、錯誤值及錯誤觸發(fā)時機等信息對數(shù)據(jù)模型中的感知真值信息進行刻意修改,并將修改后的錯誤數(shù)據(jù)發(fā)送給被測對象(決策系統(tǒng))。⑤接受被測對象在收到感知信息后所輸出的決策信息,發(fā)送給仿真軟件,推進仿真向前進行一幀,并接受新一幀的感知真值信息。⑥自動化測試控制器收集實驗數(shù)據(jù)、計算風險指標、決定下一次實驗的錯誤參數(shù)并自動化修改錯誤藍圖。上述過程形成一個閉環(huán),循環(huán)執(zhí)行,由自動化測試控制器決定仿真的開始與結束。
2.3.1 黑盒測試
本文所提出的SOFIF 將被測決策系統(tǒng)看作黑盒,只關心被測決策系統(tǒng)的數(shù)據(jù)接口即輸入和輸出變量,而不關心被測決策系統(tǒng)的內部源碼,因此不需要對被測決策系統(tǒng)的內部結構進行研究,從而節(jié)約了測試成本。任何明確輸入輸出的被測決策系統(tǒng)均可以使用SOFIF進行抗擾性測試。
2.3.2 多平臺測試
通過構建統(tǒng)一標準格式的數(shù)據(jù)模型作為中間件,使SOFIF 可以在不改變內部結構及源碼的情況下,適用于不同的仿真環(huán)境及被測決策系統(tǒng)。仿真環(huán)境/被測決策系統(tǒng)只須針對數(shù)據(jù)模型進行一次適配,便可以與任何一個經過適配的被測決策系統(tǒng)/仿真環(huán)境實現(xiàn)聯(lián)合仿真。對于具體的仿真軟件,本文以VTD 為例進行實驗,由于數(shù)據(jù)模型本質上基于6層場景本體模型構建,因此其他任何擁有類似層級數(shù)據(jù)結構的仿真軟件如Carla、Prescan等均可以通過適配應用于SOFIF中。
2.3.3 自動化測試
自動化測試是仿真測試的一大優(yōu)勢,通過自主控制仿真實驗的生命周期,從而可以節(jié)約大量用于實驗準備的人力和時間成本。同時,通過一定的采樣優(yōu)化算法如TuRBO[18]、IPSO[19]、Lambda[20]等對關鍵錯誤參數(shù)組合進行搜索,從而能夠更快地得到實驗結果,實現(xiàn)加速測試。
基于SOFIF,以存在不確定性錯誤為例,對決策規(guī)劃系統(tǒng)的抗擾性進行測試與分析,以演示SOFIF的應用并驗證其有效性。在相同場景下,本文中應用存在不確定性錯誤下的漏檢錯誤模式對兩個不同的決策規(guī)劃系統(tǒng)展開測試,分析并比較它們的抗擾性;同時根據(jù)測試結果分別對它們所對應感知系統(tǒng)的開發(fā)提出設計需求。
選擇智能駕駛員模型(intelligent driver model,IDM)[21]作為被測系統(tǒng)①,其為一個經典的跟馳模型,該模型被廣泛地應用于交通流的仿真中。同時,本文使用文獻[22]中所提出的決策規(guī)劃系統(tǒng)作為被測系統(tǒng)②,該系統(tǒng)基于分層MPC 進行開發(fā),包含循跡、主動換道、路口通行、靜態(tài)避障、泊車以及結構化道路超車與避讓等功能。在測試時將上述兩被測系統(tǒng)視為黑盒,只須根據(jù)系統(tǒng)的輸入輸出變量與數(shù)據(jù)模型進行適配即可。
實驗在一個硬件在環(huán)仿真測試平臺上進行,如圖7 所示。本文使用仿真軟件VTD(virtual test drive)作為仿真平臺提供理想的感知真值。兩被測決策規(guī)劃系統(tǒng)部署在一臺AIR-300工控機上。錯誤注入相關程序部署在仿真服務器中,根據(jù)所定義的錯誤將感知真值進行修改后發(fā)送給決策規(guī)劃系統(tǒng)。決策規(guī)劃系統(tǒng)接受感知信息后輸出決策信息發(fā)送回仿真服務器中,仿真服務器接受決策信息,生成控制信號,作用于VTD中的受控車輛,完成仿真閉環(huán)。
圖7 硬件在環(huán)仿真測試平臺
目標檢測是自動駕駛中一項重要的子任務,自動駕駛汽車的安全行駛依賴于對周圍環(huán)境其他物體的正確認知。因此,決策規(guī)劃系統(tǒng)對存在不確定性下目標漏檢錯誤的抗擾性,即指被測決策規(guī)劃系統(tǒng)可以容許多大程度的目標漏檢,對于自動駕駛系統(tǒng)整體的安全性具有重要意義。
3.2.1 測試場景設置
測試場景如圖8 所示。如前所述,自車EGO 由被測的決策系統(tǒng)控制,以初速度ve0=60 km/h 行駛;前車T 位于自車同車道前方距離S=33 m 處,初始速度為vt0=60 km/h,仿真開始后第1 s,前車T 以0.5g的減速度勻減速至靜止。正常情況下(無錯誤注入),兩被測系統(tǒng)均能控制自車采取合適的減速度制動至靜止,并與前車保持安全距離。
圖8 系統(tǒng)抗擾性測試場景
3.2.2 錯誤注入設置
在存在不確定性錯誤模式下,本實驗對漏檢錯誤模式在時序上進行組合,模擬自車間歇性未檢測到前車的錯誤。錯誤的時間軸如圖9 所示,漏檢與正常檢測交替出現(xiàn),直至場景結束。其中,漏檢時長與正常檢測時長受兩個參數(shù)控制:單次漏檢時長Vanish Time與漏檢時長的占空比Duty Ratio,通過預實驗,選取兩個錯誤參數(shù)取值范圍分別為[0,6]s與[0,1],保證在該范圍內兩個被測系統(tǒng)均會發(fā)生危險。錯誤的參數(shù)空間由這兩個參數(shù)張成。錯誤的觸發(fā)時間規(guī)定為仿真開始后的第1 s。
圖9 漏檢錯誤模式的時間軸
3.2.3 實驗結果分析
實驗中自車跟隨前車沿道路方向行駛,因此碰撞風險來源于自車縱向,故采用每次測試過程中自車與前車的最小碰撞時間(time to collision,TTC)作為安全性評價指標。規(guī)定最小TTC 小于0.5 s 的測試用例為關鍵測試用例,這些用例對應的錯誤導致了自動駕駛系統(tǒng)在該場景下產生碰撞風險。
兩個被測系統(tǒng)的實驗結果如圖10所示,它是通過對兩個錯誤參數(shù)張成的搜索空間進行網格遍歷測試得到的,網格分辨率為51×51,對于每個網格點都進行一次仿真測試,每次測試以整個場景過程中最小的TTC作為輸出結果來表征場景的危險程度。同時,為能更加直觀地觀測關鍵錯誤參數(shù)的分布情況以及得到被測決策規(guī)劃系統(tǒng)的抗擾性安全邊界,將所得結果進行了擬合插值,最終得到圖示結果。給定最小TTC 的閾值,即可在真值表中識別出系統(tǒng)在錯誤參數(shù)空間中的抗擾性邊界,例如圖中的紅色輪廓表示TTC 閾值為0.5 s時系統(tǒng)的抗擾性邊界,漏檢時間和占空比的參數(shù)組合不能落在邊界劃分出的危險區(qū)域內,否則將導致系統(tǒng)陷入危險。
圖10 錯誤注入實驗結果
對測試結果進行分析,如圖10所示。從整體趨勢上看,隨著單次漏檢時長的增加及漏檢占空比的提升,兩個被測系統(tǒng)均無法抵抗錯誤感知數(shù)據(jù)造成的干擾,最終進入危險狀態(tài)。具體來看,對于被測系統(tǒng)①,當單次漏檢時間大于1.60 s 或漏檢占空比大于0.24 時,自車就會進入危險狀態(tài);而對于被測系統(tǒng)②,當單次漏檢時間大于2.48 s 或漏檢占空比大于0.64時,自車就會進入危險狀態(tài)。
為明確被測決策規(guī)劃系統(tǒng)的抗擾性差距,本文提出危害率作為評價指標,作為量化被測系統(tǒng)的抗擾性的統(tǒng)一標準。危害率表征了由觸發(fā)條件引起的感知系統(tǒng)性能降低,進而導致決策規(guī)劃系統(tǒng)受到擾動的程度,其計算公式為
式中:H表示危害率;Sd表示導致系統(tǒng)進入危險狀態(tài)的錯誤參數(shù)組合數(shù)量;S表示總錯誤參數(shù)組合數(shù)量。由式(4)不難看出,危害率的取值范圍為[0,1],該值越靠近1,則代表導致系統(tǒng)進入危險狀態(tài)的錯誤參數(shù)組合越多,則系統(tǒng)抗擾性越差;反之系統(tǒng)抗擾性越優(yōu)。使用危害率作為評價指標可以不受系統(tǒng)抗擾性邊界形狀的影響,綜合地反映系統(tǒng)的抗擾性優(yōu)劣。
將實驗結果代入式(4)得到兩被測系統(tǒng)的危害率計算結果分別為0.89和0.64。因此可得出結論:被測系統(tǒng)②在存在不確定性錯誤模式下的抗擾性要優(yōu)于被測系統(tǒng)①,且兩系統(tǒng)抗擾性表現(xiàn)差距較大。分析這是由于被測系統(tǒng)①的決策行為完全由數(shù)學表達式決定,因此當感知系統(tǒng)漏檢前車時決策系統(tǒng)便馬上進行加速以達到期望速度,因此抗擾性差。而被測系統(tǒng)②通過使用分層MPC形成了相對復雜的決策邏輯,在前車漏檢的情況下表現(xiàn)出了更優(yōu)的抗擾性。
同時,根據(jù)抗擾性測試的結果,可對兩個被測系統(tǒng)所對應的感知系統(tǒng)的開發(fā)提出設計需求。針對實驗場景,在不對被測決策規(guī)劃系統(tǒng)的結構或參數(shù)進行更改的情況下,對于被測系統(tǒng)①,上游感知系統(tǒng)對前車目標的單次漏檢時間不能超過1.60 s,且相對于正常檢測時間的占空比不能超過0.16,在此前提下可以較好地保證系統(tǒng)在案例場景下的安全;同樣對于被測系統(tǒng)②,兩個感知錯誤參數(shù)的閾值分別為2.16 s和0.5,上游感知系統(tǒng)錯誤參數(shù)組合在上述兩閾值內即可較好地保證系統(tǒng)在案例場景下的安全。當然,僅憑單一場景和錯誤模式很難對感知系統(tǒng)的開發(fā)提供全面且合理的指導,未來可選取一系列典型場景和錯誤模式形成標準測試流程,并根據(jù)測試結果生成綜合測試報告。
針對自動駕駛決策規(guī)劃系統(tǒng)抗擾性測試研究,本文首先基于6 層場景本體模型,提出了統(tǒng)一規(guī)范化的數(shù)據(jù)模型用于存儲場景中的對象信息并執(zhí)行錯誤注入。之后,對數(shù)據(jù)錯誤進行形式化表達,并將所有目標級錯誤模式歸納為存在不確定性、分類不確定性、狀態(tài)不確定性及時序不確定性4 大類,從而可以系統(tǒng)性地注入錯誤,進而支持對被測系統(tǒng)的抗擾性安全邊界進行分析。基于此,本文提出了一個通用的錯誤注入框架SOFIF,該框架對不同的被測系統(tǒng)和仿真環(huán)境具有泛用性,且能自動化地進行測試。最后,基于硬件在環(huán)仿真測試,對兩個被測決策規(guī)劃系統(tǒng)在存在不確定性錯誤模式下的抗擾性表現(xiàn)進行對比分析,提出并使用危害率作為量化系統(tǒng)抗擾性優(yōu)劣的指標;并根據(jù)抗擾性測試的結果,對感知系統(tǒng)的開發(fā)提出了設計需求。
針對錯誤注入后場景安全性評價指標的選取,使用經典的TTC 作為風險指標,其他風險指標如行車風險場[23]、離散歸一可行域(DNDA)[24]等也可以被用于本文提出的SOFIF 中,從而可以更加全面和合理地對場景的風險程度進行評估。同時,本文列舉了兩維存在不確定性錯誤參數(shù)下SOFIF 的使用,對于其他錯誤模式、錯誤參數(shù)及錯誤維數(shù)的選取,可以結合測試目的(如定量分析、事故復現(xiàn)、綜合評價等)并根據(jù)真實事故或實驗數(shù)據(jù)進行,從而使對被測決策規(guī)劃系統(tǒng)抗擾性安全邊界的研究及對感知系統(tǒng)設計開發(fā)的指導更具實際意義。最后,提出的危害率僅適用于相同場景和錯誤參數(shù)下的定量抗擾性比較,未來還須設計一系列典型場景和錯誤模式形成標準測試流程以支持針對被測系統(tǒng)的綜合抗擾性評價。