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