邢星宇,吳旭陽,劉力豪,陳君毅,余卓平
(同濟(jì)大學(xué)汽車學(xué)院,上海 201804)
在自動駕駛汽車飛速發(fā)展和廣泛應(yīng)用的進(jìn)程中,自動駕駛事故屢有發(fā)生,其安全性成為自動駕駛技術(shù)發(fā)展的關(guān)鍵。合理的測試和驗證方法是發(fā)現(xiàn)系統(tǒng)缺陷并優(yōu)化系統(tǒng)功能,從而避免類似事故的重要手段[1]。決策規(guī)劃系統(tǒng)位于自動駕駛系統(tǒng)信息傳輸與處理過程的中間部分,它需要處理復(fù)雜的外界環(huán)境信息,并直接影響控制執(zhí)行系統(tǒng)的表現(xiàn),因此決策規(guī)劃系統(tǒng)測試在系統(tǒng)級測試階段占有重要地位。針對決策規(guī)劃系統(tǒng)的測試存在諸多挑戰(zhàn)。首先,決策規(guī)劃系統(tǒng)需要根據(jù)周圍環(huán)境變化做出實時判斷和決策,因此對決策規(guī)劃系統(tǒng)進(jìn)行驗證只能通過在環(huán)測試方案。此外,目前的自動駕駛決策規(guī)劃系統(tǒng)大多是基于獨立功能切換的系統(tǒng)[2],不同的功能單元之間切換邏輯條件繁雜且敏感;部分以機(jī)器學(xué)習(xí)為基礎(chǔ)的決策規(guī)劃系統(tǒng)則具有一定的不可解釋性,其行為具有概率分布的特點。以上問題都增加了決策規(guī)劃系統(tǒng)測試的難度和復(fù)雜性。
為解決上述問題,在基于場景測試方法的基礎(chǔ)上,有學(xué)者提出了基于數(shù)據(jù)優(yōu)化搜索的場景測試方法。Bühler等[3]利用啟發(fā)式優(yōu)化算法,使用泊車質(zhì)量相關(guān)的評價指標(biāo)設(shè)計成本函數(shù),自動迭代修改測試泊車位形狀,以挑戰(zhàn)自動駕駛系統(tǒng)的泊車算法。Abdessalem等[4]采用遺傳算法測試了行人檢測系統(tǒng)。Tuncali等[5]采用模擬退火算法,設(shè)計了基于魯棒性評價指標(biāo)的成本函數(shù),對帶有機(jī)器學(xué)習(xí)模塊的自動駕駛系統(tǒng)進(jìn)行了搜索測試。Klischat等[6]使用進(jìn)化算法,借助可達(dá)性分析方法,通過改變交通參與者的初始狀態(tài)來尋找使可達(dá)域更小的關(guān)鍵場景?;谀繕?biāo)優(yōu)化搜索的場景測試方法針對性更強(qiáng),結(jié)合仿真測試平臺及自動化測試工具能夠高效地完成大規(guī)模測試,在系統(tǒng)開發(fā)階段能夠為功能快速迭代優(yōu)化提供支持,彌補(bǔ)了基于數(shù)據(jù)分析方法的不足。但已有的研究工作較少涉及決策規(guī)劃系統(tǒng)測試,且在研究多種優(yōu)化搜索算法的具體測試效果方面仍需深入。
針對上述問題,本文提出一種基于目標(biāo)優(yōu)化搜索的決策規(guī)劃系統(tǒng)自動化測試方法,能夠針對性地為被測對象生成關(guān)鍵場景并實現(xiàn)自動化測試;本研究基于決策規(guī)劃系統(tǒng)硬件在環(huán)仿真測試平臺,對方法的有效性進(jìn)行了驗證;并進(jìn)一步對比分析了貝葉斯優(yōu)化算法(Bayesianoptimization,BO)、遺傳算法(geneticalgorithm,GA)、隨機(jī)搜索算法(random searching,RS)三種搜索算法在生成關(guān)鍵測試場景時的效果,探索面向不同實際測試需求的最優(yōu)算法。
仿真場景測試基于真實交通環(huán)境包含的各類要素及其特征進(jìn)行抽象和簡化,從而構(gòu)建出滿足測試需要的仿真測試場景。但由于場景中要素數(shù)量眾多、要素參數(shù)連續(xù)變化等問題,場景數(shù)量呈現(xiàn)爆炸式增長的趨勢,窮盡式測試方案是不具備可操作性的。同時,隨機(jī)生成的大多數(shù)測試場景是“低風(fēng)險的”正常行駛場景,測試價值較低,測試更應(yīng)關(guān)注使車輛在特定層面出現(xiàn)臨界狀態(tài)的關(guān)鍵場景。本文中的關(guān)鍵場景主要是指安全性相關(guān)的危險場景。關(guān)鍵場景的產(chǎn)生可能有系統(tǒng)外部和內(nèi)部的原因,一方面,它們可能由外部交通參與者的危險駕駛行為導(dǎo)致。另一方面,被測系統(tǒng)自身的缺陷和決策規(guī)劃的非線性邏輯,也會形成關(guān)鍵場景。
本文將被測對象視為黑箱,以場景參數(shù)空間作為輸入,基于被測對象行為表現(xiàn)的安全性評估作為輸出,將關(guān)鍵場景生成與測試問題轉(zhuǎn)化為目標(biāo)優(yōu)化問題?;趦?yōu)化算法不斷尋找“最值”的性質(zhì),有目的性地搜索符合需求的測試場景。同時,基于仿真環(huán)境下的自動化測試工具,可以實現(xiàn)自動化迭代計算,提高場景測試效率。
本文的核心思路是將場景測試問題轉(zhuǎn)化為目標(biāo)優(yōu)化問題,首先確定問題的輸入、輸出以及連接輸入與輸出的場景生成方法。本文在場景描述時,使用功能場景、邏輯場景、具體場景的三層場景結(jié)構(gòu)[7]。關(guān)鍵場景生成與測試的方法框架如圖1所示。
圖1 關(guān)鍵場景生成與測試框架Fig.1 Frameworkofcriticalscenariogenerationandtesting
設(shè)D代表邏輯場景參數(shù)空間,基于在環(huán)仿真平臺,定義仿真函數(shù)sim的輸入是D中的場景參數(shù)向量X,輸出為原始仿真結(jié)果,如自車和其他交通參與者的運動軌跡等。另外,定義成本函數(shù)f,其輸入為原始仿真結(jié)果,輸出為成本函數(shù)值v,σ為設(shè)定的成本函數(shù)危險閾值。由此,場景參數(shù)向量X和成本函數(shù)值v通過在仿真平臺中運行的仿真實驗形成了如式(1)所示的映射關(guān)系。由于場景存在復(fù)雜性,且決策規(guī)劃系統(tǒng)存在不確定性,X和v的映射關(guān)系是一個典型的黑箱問題。
綜上,面向決策規(guī)劃系統(tǒng)的關(guān)鍵場景生成問題,可以轉(zhuǎn)化為如式(2)所示的在給定的場景參數(shù)空間D下,尋找特定的場景參數(shù)向量X,將成本函數(shù)值v最小化的優(yōu)化問題。
對于該優(yōu)化問題,搜索算法表征了尋找關(guān)鍵場景的策略。本文的黑箱存在兩方面特性:其一,仿真軟件的不確定性以及仿真消息可能發(fā)生的隨機(jī)延遲或丟失使成本函數(shù)值存在一定隨機(jī)誤差,降低了成本函數(shù)的導(dǎo)數(shù)計算的可靠性。其二,實時硬件的引入增高了單輪仿真實驗的時間成本。因此,通過對比不同搜索算法的隨機(jī)誤差處理策略和效率,本文最終選擇了貝葉斯優(yōu)化算法和遺傳算法作為搜索算法。
在使用貝葉斯優(yōu)化算法進(jìn)行關(guān)鍵場景搜索時,需要結(jié)合黑箱特性設(shè)計算法參數(shù)。考慮到模型表征非線性函數(shù)以及處理隨機(jī)誤差的能力,本文選用了如式(3)所示的高斯過程建模代理模型。其中先驗均值函數(shù)μ(x)取默認(rèn)值0,協(xié)方差函數(shù)k(x,x')如式(4)所示選用了5/2內(nèi)核和較大的尺度參數(shù)l,增強(qiáng)了對非平滑函數(shù)的建模能力。采集函數(shù)α(x)如式(5)所示,采用了基于預(yù)期改進(jìn)的策略,其中ymax是在當(dāng)前測試中觀察到的評價指標(biāo)最大值,f(X)是對下一個場景評估點X的預(yù)期值。該策略在增加提升量的同時也保證收斂速度,且在當(dāng)目標(biāo)函數(shù)隨機(jī)誤差較大時可以提高回歸過程的魯棒性。更新方法選用了邊際估計方法,通過使用log邊際似然函數(shù)logp(yi|x i,β,l,σ)進(jìn)行更新,提高了系統(tǒng)處理不確定性的能力。
在使用遺傳算法進(jìn)行關(guān)鍵場景搜索時,需要結(jié)合優(yōu)化問題特性選擇具體參數(shù)。對于編碼方式,傳統(tǒng)的二進(jìn)制編碼以離散方式搜索,可能使歐式距離較小的兩組場景參數(shù)存在著較大的漢明距離,進(jìn)而削弱交叉和突變操作的效果,使算法不能有效探索整個場景參數(shù)空間,陷入局部優(yōu)化之中。因此本文采用實數(shù)編碼的方式,以在連續(xù)域上搜索整個場景參數(shù)空間。對于交叉方法,本文采用模擬二值交叉方式以結(jié)合二進(jìn)制編碼的搜索特點,提升產(chǎn)生新的場景參數(shù)組合的概率。對于變異方法,考慮場景參數(shù)組合作為染色體的特性,本文采用高斯突變算子,對染色體上每個基因即具體的場景參數(shù)都進(jìn)行在一定閾值范圍內(nèi)的概率變異。對于選擇方法,本文采用了錦標(biāo)賽選擇方法以提高收斂速度。
對于遺傳算法需要設(shè)置的其他參數(shù),考慮本文中單輪仿真實驗的評估時間成本較高,因此種群規(guī)模不宜過大,代數(shù)也應(yīng)被控制在一定合理范圍內(nèi)。最終選擇的遺傳算法參數(shù)如下。種群規(guī)模:10,進(jìn)化代數(shù):40,交叉概率:0.9,變異概率:0.1。
本文設(shè)計的自動化仿真測試框架如圖2所示,整體可分為基礎(chǔ)仿真實驗配置和自動化測試兩個部分。其中基礎(chǔ)仿真實驗配置部分初始化仿真測試所需要的各個組件以及靜態(tài)仿真環(huán)境;在自動化測試部分則通過管理場景的終止條件以及動態(tài)對象的生存銷毀狀態(tài)來控制仿真實驗的迭代運行。
圖2 自動化仿真測試框架Fig.2 Framework of automatic simulation testing
對于基礎(chǔ)仿真實驗配置部分,首先初始化并連接仿真服務(wù)器和仿真客戶端,其次初始化仿真靜態(tài)環(huán)境等基本仿真配置。
對于自動化測試部分,首先由優(yōu)化搜索算法選擇特定的場景參數(shù)組合,在已初始化的仿真靜態(tài)環(huán)境中通過動態(tài)對象生存管理器配置相應(yīng)場景參數(shù)后開始進(jìn)行仿真實驗,被測決策規(guī)劃系統(tǒng)不斷從仿真客戶端中訂閱感知信息流,并發(fā)布控制信息流。當(dāng)仿真實驗滿足預(yù)先設(shè)定的場景終止條件時,從仿真實驗中獲取原始仿真結(jié)果,并由對象生存管理器銷毀動態(tài)對象,由此結(jié)束當(dāng)前輪次仿真實驗。優(yōu)化搜索算法在分析了基于相應(yīng)仿真結(jié)果計算出的成本函數(shù)值后,給出下一個建議的場景評估點,即待評估的場景參數(shù)組合,再通過動態(tài)對象生存管理器根據(jù)場景參數(shù)重新生成對象并進(jìn)行新一輪仿真實驗。在整個過程中,被測決策規(guī)劃系統(tǒng)一直維持在運行狀態(tài)。
本節(jié)基于自動化在環(huán)仿真測試平臺進(jìn)行仿真測試,被測決策規(guī)劃系統(tǒng)以硬件形式接入測試環(huán)境?;趯Q策規(guī)劃系統(tǒng)特性的分析,選取典型功能場景,分析場景參數(shù)和參數(shù)范圍得到相應(yīng)的邏輯場景作為測試輸入。以評價指標(biāo)為基礎(chǔ)并結(jié)合規(guī)避無效場景的條件構(gòu)建成本函數(shù)。接下來簡要介紹實驗方案部署情況。
為了提供接近決策規(guī)劃系統(tǒng)實際運行條件的測試環(huán)境,同時保證測試效率,本文設(shè)計并搭建了基于硬件在環(huán)的決策規(guī)劃系統(tǒng)測試平臺,能夠?qū)崿F(xiàn)仿真環(huán)境與被測硬件系統(tǒng)的信息交互,達(dá)到在環(huán)測試的目的。平臺包括硬件層、仿真層和數(shù)據(jù)層。硬件層主要包括被測決策規(guī)劃系統(tǒng)硬件、感知信息輸入接口、控制信息輸出接口。本文所測試的決策規(guī)劃系統(tǒng)為團(tuán)隊自行開發(fā)的面向城市自動駕駛功能的決策規(guī)劃系統(tǒng),具備循跡、跟車、換道、避障等功能,可滿足實際仿真測試時的基本需求,該決策規(guī)劃系統(tǒng)被部署于型號為ARK-3500的工控機(jī)中。仿真層為面向自動駕駛測試的仿真測試環(huán)境??紤]決策規(guī)劃系統(tǒng)對場景輸入信息的多樣性需求,本文采用CARLA開源仿真平臺作為仿真軟件,提供環(huán)境要素模型、車輛動力學(xué)模型和傳感器模型。本文主要研究決策規(guī)劃系統(tǒng)性能表現(xiàn),為避免感知系統(tǒng)的影響,本文采用理想傳感器模型,基于仿真數(shù)據(jù)接口構(gòu)建了導(dǎo)航定位和對象列表等環(huán)境信息輸入方案。數(shù)據(jù)層主要用于仿真層與硬件層之間的信息傳輸,并管理整個自動化仿真測試過程。其將來自仿真層的感知信息和車輛自身狀態(tài)信息通過軟件的仿真數(shù)據(jù)接口導(dǎo)出,相關(guān)數(shù)據(jù)在被編碼為仿真消息后,通過邏輯接口和物理接口傳輸至被測硬件。
在仿真環(huán)境中,對于環(huán)境車輛的行為實現(xiàn)方式,主要通過基于規(guī)則的行為決策和基于PID(proportion-integral-derivative)的軌跡跟蹤實現(xiàn)。對于車道保持行為,通過使用橫向和縱向的PID控制器跟隨特定路徑點實現(xiàn);對于換道行為,環(huán)境車需檢測換道觸發(fā)距離是否滿足設(shè)定閾值,并通過局部規(guī)劃器,配合PID控制進(jìn)行換道軌跡跟蹤。
所要測試的功能場景可以通過多種手段確定,如對被測系統(tǒng)進(jìn)行安全分析以獲得潛在的危險場景[8],或根據(jù)測試需求確定。本文選取了一個典型的低速車輛切入場景進(jìn)行方法驗證。在晴朗白天的高速公路三車道上,自車跟隨前方車輛行駛,經(jīng)過一段時間,相鄰車道車輛切入到自車前方。在該場景中,自車需要在短時間內(nèi)完成跟車-制動避障-跟車的連續(xù)行為切換。針對選定的功能場景,本節(jié)按照道路拓?fù)浣Y(jié)構(gòu)、環(huán)境信息、自車以及其他交通參與者的順序分析所需的場景參數(shù)。同時為控制測試中的影響因素,對其他環(huán)境要素進(jìn)行適當(dāng)簡化。考慮具體的測試需求和不同場景參數(shù)的相關(guān)性,最終確定場景參數(shù)設(shè)置(圖3)。
圖3 鄰車道車輛切入功能場景示意Fig.3 Schematic diagram of functional scenario:cut-in
在確定場景參數(shù)后,需要進(jìn)一步確定每個場景參數(shù)的取值范圍構(gòu)建邏輯場景。參數(shù)范圍的選取一般基于自然駕駛數(shù)據(jù)的分析獲取參數(shù)范圍及其分布情況,同時結(jié)合被測對象特點和測試需求進(jìn)行確定。考慮到參數(shù)范圍的選取并不是本文的研究重點,且并不影響本方法的有效性,因此本文主要結(jié)合系統(tǒng)的功能需求和一般經(jīng)驗制定場景參數(shù)范圍,并設(shè)參數(shù)為均勻分布,最后通過預(yù)實驗最終確定場景參數(shù)范圍,如表1所示。對于自車初始速度的設(shè)定,考慮到其具備自主規(guī)劃速度和軌跡的能力,為減少人為干預(yù),同時壓縮自車由完全靜止啟動所需要的時間,在實驗中將其初始速度設(shè)定為2 m·s-1,測試啟動后,自車將加速跟進(jìn)前車,并保持合理車間距,或擇機(jī)進(jìn)行換道,自車加速度范圍為±3 m·s-2,最高車速可達(dá)到12 m·s-1。
表1 邏輯場景參數(shù)范圍Tab.1 Parameter range of logical scenario
成本函數(shù)作為本方法中搜索算法的優(yōu)化目標(biāo),需要客觀反映測試的總體目標(biāo)和需求。本文重點關(guān)注決策規(guī)劃系統(tǒng)的安全性,因此成本函數(shù)需要基于安全性評價指標(biāo)進(jìn)行設(shè)計,同時要求有一定連續(xù)性,以量化每個場景參數(shù)組合的關(guān)鍵程度,進(jìn)而有效地應(yīng)用搜索策略。此外,成本函數(shù)需要考慮排除無效場景,即期望的系統(tǒng)行為并未發(fā)生的場景,以提高測試效率。
對于本文研究的場景,碰撞時間(time to collision,TTC)是衡量危險程度的重要指標(biāo),且具有一定的連續(xù)性[9]。在場景動態(tài)變化過程中,自車和切入車TTC的最小值可以認(rèn)為是場景最危險的時刻,能夠反映決策規(guī)劃系統(tǒng)在不同具體場景下的行為安全性,因此選擇以最小TTC值為基礎(chǔ)構(gòu)建成本函數(shù)。針對無效的場景,在本文中主要指切入車切入到自車后方的場景、切入車與前車發(fā)生碰撞的場景以及TTC一直為負(fù)值的場景。
綜上,本文最終設(shè)計了如式(6)所示的成本函數(shù)值公式。當(dāng)場景無效時,對于GA,成本函數(shù)值設(shè)置為懲罰值α。對于BO,為了不破壞代理模型模擬的高斯分布,成本函數(shù)值設(shè)置為無效值。另外,當(dāng)場景有效時,BO算法對應(yīng)的成本函數(shù)為-min(TTC),從而將最小值優(yōu)化問題轉(zhuǎn)化為了最大值優(yōu)化問題,進(jìn)而納入BO的算法框架。
Olsen等[10]將切入場景劃為三個危險級別,無危險1級(TTCmin>3 s)、緊急2級(1 s<TTCmin≤3 s)以及瀕臨碰撞3級(TTCmin≤1 s),本文將2級和3級場景設(shè)為關(guān)鍵場景。分別采用貝葉斯優(yōu)化算法和遺傳算法進(jìn)行100輪迭代優(yōu)化,并與基線算法進(jìn)行了初步比較。本文基線算法選擇隨機(jī)搜索,根據(jù)不同參數(shù)的參數(shù)范圍設(shè)定合適的采樣粒度構(gòu)建參數(shù)空間,之后采用均勻分布在參數(shù)空間中進(jìn)行隨機(jī)采樣。結(jié)果如圖4所示。
圖4 優(yōu)化搜索算法成本函數(shù)值迭代結(jié)果Fig.4 Results of cost function by optimization algorithms
橫軸為迭代輪次,縱軸為成本函數(shù)值。可以看出相比無優(yōu)化的隨機(jī)搜索,BO算法和GA算法更容易生成使被測系統(tǒng)發(fā)生緊急或危險狀況的場景。且隨著迭代次數(shù)增加,成本函數(shù)會逐步集中于TTCmin≤3 s的范圍內(nèi)。但需要說明的是,試驗結(jié)果并沒有顯示出顯著的收斂性,這主要是由于本試驗采用了硬件在環(huán)的測試方式,引入了部分仿真消息隨機(jī)延遲或丟失導(dǎo)致的不確定性;此外,由于被測決策規(guī)劃系統(tǒng)采用了動態(tài)規(guī)劃加二次規(guī)劃的方案進(jìn)行軌跡和路徑規(guī)劃,每次求解的時間根據(jù)硬件狀態(tài)存在一定波動,使得系統(tǒng)在相同的參數(shù)輸入下輸出結(jié)果產(chǎn)生波動。上述不確定性導(dǎo)致了算法無法穩(wěn)定的向特定值收斂,但總體而言,優(yōu)化算法相比隨機(jī)搜索,有效地提高了生成危險場景的效率。未來,可以通過多次測試取均值的方式,或引入概率統(tǒng)計方法,對不確定性進(jìn)行刻畫和表征,提高算法的適用性。表2、表3展示了BO、GA算法測試得到的部分關(guān)鍵場景參數(shù)結(jié)果。
表2 貝葉斯優(yōu)化算法生成的關(guān)鍵場景參數(shù)組合示例Tab.2 Examples of critical scenario parameter combinations generated by the Bayesian optimization algorithm
表3 遺傳算法生成的關(guān)鍵場景參數(shù)組合示例Tab.3 Examples of critical scenario parameter combinations generated by the genetic algorithm
基于本文所提出的關(guān)鍵場景優(yōu)化搜索生成方法,按照硬件在環(huán)仿真測試的試驗方案,分別應(yīng)用貝葉斯優(yōu)化算法、遺傳算法和隨機(jī)搜索算法進(jìn)行了方法驗證,并從方法的搜索效率和搜索質(zhì)量兩方面對算法效果進(jìn)行了比較。
在搜索效率方面,以預(yù)先設(shè)定的最大迭代次數(shù)400輪作為實驗終止條件,并進(jìn)行多次測試取平均值。4次試驗中,BO、GA和RS方法生成場景和測試所得不同成本函數(shù)的平均頻次分布如圖5所示。以關(guān)鍵場景對應(yīng)于成本函數(shù)值小于3 s的場景為例,三種算法搜索到的關(guān)鍵場景數(shù)量比值是GA:BO:RS=3.3:2.5:1.0。
對生成的場景及測試結(jié)果做進(jìn)一步分析。當(dāng)TTCmin≤0.2 s時,即認(rèn)為自車與切入車發(fā)生了碰撞。在4次400輪迭代測試中,BO算法共生成了3次碰撞場景,GA算法生成6次碰撞場景,RS算法則沒有產(chǎn)生碰撞場景。以產(chǎn)生0.2 s<TTCmin≤1 s的關(guān)鍵危險場景的平均間隔進(jìn)行比較,GA:BO:RS=1.0:5.1:17.3。結(jié)合圖5和表4、表5可以看出,GA在生成關(guān)鍵危險場景上的效率要高于BO算法,同時二者均強(qiáng)于沒有優(yōu)化策略的RS算法。
表4 不同算法生成碰撞場景效率(TTCmin≤0.2 s)Tab.4 Collision scenario generation efficiency of different algorithms(TTCmin≤0.2 s)
表5 不同算法生成關(guān)鍵危險場景效率(0.2 s<TTCmin≤1 s)Tab.5 Hazardous scenario generation efficiency of different algorithms(0.2s<TTCmin≤1 s)
圖5 場景測試不同成本函數(shù)值平均頻次分布Fig.5 Average frequency distribution of different cost function values of scenario testing
在搜索質(zhì)量方面,本文主要關(guān)注各算法產(chǎn)生的關(guān)鍵場景的參數(shù)分散程度。由于不同優(yōu)化方法采用的尋優(yōu)策略存在差異性,造成場景參數(shù)分散程度有較大差別。在4次400輪迭代測試中,選取BO和GA搜索結(jié)果中成本函數(shù)值最小的37個樣本,分析切入車速度、換道觸發(fā)距離、換道軌跡縱向距離、前車速度4組參數(shù)中任意2組參數(shù)的分散情況,如注:對貝葉斯優(yōu)化算法與遺傳算法各選取了37個成本函數(shù)值最小的樣本點進(jìn)行離散程度分析,圖中遺傳算法樣本點數(shù)遠(yuǎn)少于37個,是由于其多個樣本點完全重疊造成。
圖6所示,可以直觀地看到,貝葉斯優(yōu)化算法生成的場景,參數(shù)較為分散,而遺傳算法的多個樣本出現(xiàn)了不同程度的重疊。進(jìn)一步以相鄰具體場景參數(shù)組合歐式距離求和來量化表征參數(shù)的分散程度。結(jié)果表明,在100輪、200輪、400輪實驗中,貝葉斯優(yōu)化算法的該指標(biāo)分別是遺傳算法的28.7倍、62.2倍、31.4倍。即在搜索質(zhì)量方面,貝葉斯優(yōu)化算法優(yōu)于遺傳算法,前者搜索出的關(guān)鍵場景的多樣性更高。圖6中,對貝葉斯優(yōu)化算法與遺傳算法各選取了37個成本函數(shù)值最小的樣本點進(jìn)行離散程度分析,圖中遺傳算法樣本點數(shù)遠(yuǎn)少于37個,是由于其多個樣本點完全重疊造成。
圖6 不同參數(shù)組合的參數(shù)分散情況Fig.6 Parameter dispersion of different parameter combinations
針對貝葉斯優(yōu)化算法和遺傳算法在搜索效率和搜索質(zhì)量方面的差異,本文分析認(rèn)為主要原因在于二者采用的搜索策略不同。由于貝葉斯優(yōu)化算法本質(zhì)上采用了基于代理模型和采集函數(shù)的優(yōu)化策略,遺傳算法采用了基于啟發(fā)式規(guī)則的優(yōu)化策略,前者相比于后者更傾向于全局優(yōu)化,因此在搜索質(zhì)量方面表現(xiàn)更好,而在搜索效率和搜索速度方面表現(xiàn)相對較差。在實際應(yīng)用中,應(yīng)根據(jù)需要選擇不同搜索算法,達(dá)到更好的場景生成和測試效果。
本文面向自動駕駛決策規(guī)劃系統(tǒng)測試過程中的關(guān)鍵場景測試問題,以仿真場景測試方法為基礎(chǔ),基于優(yōu)化思想,將關(guān)鍵場景生成問題轉(zhuǎn)化為優(yōu)化搜索問題,提出了一種關(guān)鍵場景自動化生成方法。并以典型的前車切入場景為例,驗證了本文所提方法的有效性,進(jìn)一步對比了不同優(yōu)化搜索算法的效果。
(1)基于優(yōu)化搜索進(jìn)行關(guān)鍵場景自動化生成,能夠有效規(guī)避決策規(guī)劃系統(tǒng)測試過程中的場景數(shù)量爆炸問題,提高發(fā)現(xiàn)高測試價值場景的效率,減少無意義測試場景的數(shù)量,從而提高測試效率。
(2)不同優(yōu)化算法在場景生成效果上存在差異,以本文400輪迭代次數(shù)為例,這種差異較為顯著。在搜索效率方面,遺傳算法的搜索效率最高,隨機(jī)搜索的效率最低。遺傳算法和貝葉斯優(yōu)化算法搜索到的關(guān)鍵場景數(shù)量是隨機(jī)搜索算法的3.3倍和2.5倍;產(chǎn)生關(guān)鍵危險場景的平均間隔遺傳算法為9.25次每危險場景,貝葉斯優(yōu)化算法為47.06次每危險場景,隨機(jī)搜索則為160次每危險場景。在搜索質(zhì)量方面,貝葉斯優(yōu)化算法優(yōu)于遺傳算法,以相鄰具體場景參數(shù)組合歐式距離之和表征的分散程度,前者是后者的31.4倍。
(3)由于貝葉斯優(yōu)化算法本質(zhì)上采用了基于代理模型和采集函數(shù)的優(yōu)化策略,遺傳算法采用了基于啟發(fā)式規(guī)則的優(yōu)化策略,前者相比于后者更傾向于全局優(yōu)化,因此在搜索質(zhì)量方面表現(xiàn)更好,而在搜索效率方面表現(xiàn)相對較差。
綜上,在實際應(yīng)用場景下,結(jié)合不同的測試需求,選用合適的搜索算法,可以有效提高場景測試效率,加速測試過程?;诒疚奶岢龅姆椒?,在后續(xù)研究中將考慮組合不同的優(yōu)化算法以提高關(guān)鍵場景搜索效率和覆蓋率,同時進(jìn)一步提高算法的穩(wěn)定性,以及對決策規(guī)劃系統(tǒng)不確定性的適應(yīng)能力;考慮引入離散型參數(shù)并結(jié)合自然駕駛數(shù)據(jù)等分析參數(shù)分布,構(gòu)建更符合真實情況的多維復(fù)雜場景參數(shù)空間;構(gòu)建成本函數(shù)時將綜合考慮安全性、舒適性、魯棒性等多維度指標(biāo),以滿足不同功能和性能需求的關(guān)鍵場景測試。
作者貢獻(xiàn)說明:
邢星宇:算法優(yōu)化,測試結(jié)果分析,論文撰寫。
吳旭陽:算法調(diào)試與仿真測試,測試結(jié)果分析,論文修訂。
劉力豪:算法調(diào)試與仿真測試,論文修訂。
陳君毅:研究命題提出與構(gòu)思,仿真測試方案制定,論文修訂。
余卓平:論文修訂與審核。