01 引言
隨著自動駕駛技術(shù)的飛速發(fā)展,仿真測試已成為替代成本高昂且充滿風(fēng)險的道路測試的關(guān)鍵環(huán)節(jié)。它能夠在虛擬環(huán)境中模擬各種復(fù)雜的交通場景和極端天氣,極大地加速了自動駕駛系統(tǒng)的開發(fā)與驗(yàn)證進(jìn)程。然而,一個常被忽視的問題正悄然侵蝕著仿真測試的可信度——非確定性,即仿真測試過程中因核心引擎或其他因素導(dǎo)致的隨機(jī)性。

目前,許多市面上的仿真軟件,尤其是基于游戲引擎開發(fā)的平臺,其核心設(shè)計(jì)目標(biāo)之一是高效地為玩家提供充滿驚喜和變化的娛樂體驗(yàn)。這種內(nèi)在的隨機(jī)性,在游戲世界里是優(yōu)點(diǎn),但在嚴(yán)謹(jǐn)?shù)钠嚋y試領(lǐng)域,卻是一個致命的缺陷。
想象一下在仿真測試過程中,工程師精心設(shè)置了所有參數(shù)——車輛速度、行人軌跡、天氣狀況、傳感器配置——期望能穩(wěn)定復(fù)現(xiàn)一個特定的危險場景。然而,每次點(diǎn)擊“開始”,結(jié)果卻不盡相同:第一次,車輛完美避讓;第二次,發(fā)生了輕微碰撞;第三次,又安然無恙。這或許并非是算法時好時壞,而是仿真環(huán)境本身在“搖擺不定”。
02 隨機(jī)性的前因與后果
Greg等人研究指出,基于游戲引擎的仿真環(huán)境,其隨機(jī)性并非偶然,而是源于其底層架構(gòu)的諸多方面:
(1)資源負(fù)載與調(diào)度:系統(tǒng)CPU/GPU的負(fù)載波動,會直接影響物理引擎的計(jì)算時機(jī)和順序,導(dǎo)致即使輸入完全相同,輸出的軌跡也會產(chǎn)生高達(dá)數(shù)十厘米的偏差。
(2)物理引擎的“模糊”處理:為了實(shí)時渲染流暢的畫面,游戲引擎在處理物體碰撞等復(fù)雜物理交互時,往往采用近似計(jì)算。這種不精確性在一次碰撞后會被急劇放大,甚至影響到場景中其他未參與碰撞的物體,造成全局性的結(jié)果污染。
(3)多線程與并行計(jì)算:為了效率,引擎會將任務(wù)分配給多個線程并行處理,但線程完成的順序并非每次都固定,這種執(zhí)行順序的微小變化,會像蝴蝶效應(yīng)一樣,最終導(dǎo)致仿真結(jié)果的巨大差異。
這種隨機(jī)性帶來的問題是災(zāi)難性的:
(1)問題無法追溯:當(dāng)測試中出現(xiàn)問題,工程師無法穩(wěn)定復(fù)現(xiàn)它,也就無從定位和修復(fù)缺陷,極大地增加了調(diào)試成本和時間。
(2)結(jié)果失去可信度:如果仿真結(jié)果不穩(wěn)定,如何相信它所提供的安全驗(yàn)證報告?這會給自動駕駛系統(tǒng)的安全性帶來“偽證”,造成虛假的安全感。
(3)測試覆蓋率失效:隨機(jī)性使得精確控制測試用例、確保覆蓋所有關(guān)鍵場景變得不可能。
歸根結(jié)底,對于自動駕駛這種安全至上的系統(tǒng),測試必須是科學(xué)、嚴(yán)謹(jǐn)且可重復(fù)的。因此,一個具備高度確定性、一致性的仿真平臺,是所有有效測試的絕對前提。
03 確定性的驗(yàn)證——以aiSim為例
為了驗(yàn)證一個仿真平臺的確定性,最直接的方式便是確保各項(xiàng)參數(shù)不變的情況下進(jìn)行重復(fù)仿真,對輸出的仿真數(shù)據(jù)進(jìn)行最直接的比較,判斷是否存在差異。
例如,世界上首個獲得ISO 26262 ASIL-D認(rèn)證的AD/ADAS仿真測試軟件aiSim,它構(gòu)建了獨(dú)特的仿真內(nèi)核,摒棄了游戲引擎中那些為“體驗(yàn)”而犧牲“精確”的設(shè)計(jì)。為了驗(yàn)證aiSim的確定性,我們進(jìn)行了一系列重復(fù)性實(shí)驗(yàn)。
1、傳感器選型與配置

圖2 aiSim傳感器配置GUI
通過在GUI中拖放仿真?zhèn)鞲衅?/strong>,我們在仿真車輛中添加了1個帶有目標(biāo)檢測功能的1920×1080的前置針孔Camera、1個帶有目標(biāo)檢測功能的前置Radar、1個帶有目標(biāo)檢測功能的128線頂置LiDAR、1個內(nèi)置IMU、1個內(nèi)置GPS以及1個可以反饋?zhàn)攒嚑顟B(tài)的Vehicle sensor。

圖3 仿真?zhèn)鞲衅鲾?shù)據(jù)示例
2、場景與方法

圖4 仿真場景示例
aiSim本身包含了數(shù)十種城市、郊區(qū)的室內(nèi)、室外場景。本文以真實(shí)世界常見的“行泊一體”為例,在一個包含14輛他車的室外停車場環(huán)境(Parking_US-CA_SanJoseAlamitos)中,對主車執(zhí)行了“跟車 -> 切入變道 -> 尋找車位 -> 泊車”的全套連貫動作。
我們在完全固定的軟硬件環(huán)境下,針對三種典型天氣進(jìn)行了5輪完全獨(dú)立的重復(fù)測試,每一輪測試都記錄了長達(dá)1000幀的數(shù)據(jù),以確保完整與統(tǒng)一。我們將每一輪測試的數(shù)據(jù)與首次測試的基準(zhǔn)數(shù)據(jù)進(jìn)行精確比對:
晴天 (Sunny):在Sunny.json配置下,模擬了日光充足的理想泊車環(huán)境。
雨天 (Rainy):切換至Rainy.json配置,引入了雨水對傳感器性能的干擾。
復(fù)雜雪天 (Snowy & Broken Road):在Snowy.json的預(yù)設(shè)配置基礎(chǔ)之上,加入了道路老化、標(biāo)線磨損、路面破損、坑洼等極端退化元素,將測試環(huán)境推向了極限。
測試過程中,我們記錄了全部傳感器和車輛狀態(tài)數(shù)據(jù),包括:
視覺數(shù)據(jù) (Camera):RGBA原始圖像、語義分割圖、目標(biāo)檢測圖及JSON格式的2D/3D標(biāo)注框。
雷達(dá)數(shù)據(jù) (Radar & LiDAR):毫米波雷達(dá)和激光雷達(dá)的點(diǎn)云(LAS v1.4)、目標(biāo)列表及3D標(biāo)注框。
車輛自身狀態(tài) (GPS, IMU, Vehicle):高精度的定位、姿態(tài)、加速度及車輛動力學(xué)信息。

圖5 仿真相機(jī)輸出圖像類型
我們采用均方根誤差(RMSE)來量化圖像、點(diǎn)云等原始數(shù)據(jù)的細(xì)微差異,并對JSON格式的結(jié)構(gòu)化數(shù)據(jù)采用根據(jù)樣本數(shù)值差異個數(shù)進(jìn)行判定的統(tǒng)計(jì)確定性檢驗(yàn)。
3、驗(yàn)證結(jié)果
Camera Sensor的RGBA原始圖像、分割圖像、目標(biāo)檢測圖像均以tga格式輸出,2D Bounding Box、3D Bounding Box均已json格式輸出。通過比較同一環(huán)境、場景下相同幀之間的誤差或差異項(xiàng),驗(yàn)證Camera的確定性。
對于tga格式文件,計(jì)算所有1000幀圖像所有通道的像素均方根誤差(MSE,Mean Squared Error)。在3類天氣5次測試過程中,RGBA原始圖像、分割圖像、目標(biāo)檢測圖像的所有通道的像素均方根誤差均為0;

圖6 基于python腳本可視化的彩色圖像、分割圖像、目標(biāo)檢測圖像均方根誤差結(jié)果
對于json格式文件,比較2D與3D Bounding Box的所有Group的key與value,記錄差異項(xiàng)個數(shù)(Number of Differences)。在3類天氣5次測試過程中,Bounding Box信息(包括位置、姿態(tài)、個數(shù)、類型、id、相對速度、持續(xù)時間、像素遮擋率等)不存在差異項(xiàng)。

圖7 基于python腳本可視化的2D&3D BoundingBox差異項(xiàng)個數(shù)結(jié)果
Radar Sensor輸出json格式的檢測目標(biāo)相關(guān)信息,包括距離、旋轉(zhuǎn)、相對速度、id、類型等,因此與相機(jī)的Bounding Box一樣,記錄差異項(xiàng)個數(shù)(Number of Differences),結(jié)果也是一樣,不存在差異項(xiàng)。

圖8 基于python腳本可視化的Radar檢測差異項(xiàng)個數(shù)結(jié)果
LiDAR Sensor生成的輸出包括兩種格式的數(shù)據(jù):LAS格式的3D激光點(diǎn)云和JSON格式的目標(biāo)檢測數(shù)據(jù)。激光點(diǎn)云數(shù)據(jù)包含每個點(diǎn)的坐標(biāo)、強(qiáng)度、返回次數(shù)、唯一標(biāo)識符(ID)等,我們比較內(nèi)部的所有屬性,記錄差異項(xiàng)個數(shù)(Number of Differences);
對于以JSON格式輸出的目標(biāo)檢測數(shù)據(jù),與Camera類似,我們將比較所有Group的鍵(key)與值(value),并記錄差異項(xiàng)個數(shù)(Number of Differences)。最終結(jié)果與前面相同,在3類天氣5次測試之間均不存在差異項(xiàng)。
需要指出的是,由于las文件和檢測到的目標(biāo)內(nèi)部包含的GPS時間屬性在aiSim中取自系統(tǒng)時間(UTC時間),該項(xiàng)不納入差異比較范圍。

圖9 基于python腳本可視化的LiDAR檢測差異項(xiàng)個數(shù)結(jié)果
GPS Sensor、IMU Sensor以及用于觀測仿真自車狀態(tài)的Vehicle Sensor輸出的均為JSON格式的信息,同樣比較所有Group的鍵(key)與值(value),并記錄差異項(xiàng)個數(shù)(Number of Differences)。對于3類天氣5次測試的GPS、IMU、Vehicle數(shù)據(jù)信息,3類天氣5次測試之間均不存在差異項(xiàng)。

圖10 基于python腳本可視化的GPS、IMU、Vehicle Sensor結(jié)果
04 總結(jié)
在本文設(shè)計(jì)的傳感器配置與場景中,aiSim的各項(xiàng)傳感器數(shù)據(jù)在固定的參數(shù)配置下,仿真過程與仿真結(jié)果不存在任何差異(除UTC時間)。除了本文提到的傳感器與場景,在其他不同環(huán)境、傳感器配置下的驗(yàn)證中,aiSim也均表現(xiàn)出了卓越的確定性。
在aiSim的仿真世界里,沒有偶然和隨機(jī),只有精確和必然。每一次的測試結(jié)果都真實(shí)反映了被測算法的真實(shí)能力,每一次的問題暴露都能被穩(wěn)定復(fù)現(xiàn)和修正。
參考文獻(xiàn)
1.On Determinism of Game Engines Used forSimulation-Based Autonomous Vehicle Verification
-
傳感器
+關(guān)注
關(guān)注
2564文章
52839瀏覽量
765873 -
算法
+關(guān)注
關(guān)注
23文章
4706瀏覽量
95168 -
仿真測試
+關(guān)注
關(guān)注
0文章
99瀏覽量
11567 -
python
+關(guān)注
關(guān)注
56文章
4826瀏覽量
86523 -
自動駕駛
+關(guān)注
關(guān)注
788文章
14276瀏覽量
170292
發(fā)布評論請先 登錄
康謀分享 | 3DGS:革新自動駕駛仿真場景重建的關(guān)鍵技術(shù)

康謀分享 | 自動駕駛仿真進(jìn)入“標(biāo)準(zhǔn)時代”:aiSim全面對接ASAM OpenX

未來已來,多傳感器融合感知是自動駕駛破局的關(guān)鍵
FPGA在自動駕駛領(lǐng)域有哪些應(yīng)用?
自動駕駛的到來
自動駕駛系列報告大放送了涉及傳感器,芯片,執(zhí)行控制等
自動駕駛的五大傳感器各有千秋
自動駕駛汽車中傳感器的分析
這些自動駕駛傳感器,你了解多少?
傳感器成自動駕駛“硬實(shí)力” 有哪些
一文詳解自動駕駛多傳感器標(biāo)定
康謀新聞丨走進(jìn)康謀科技——您的自動駕駛解決方案合作伙伴

康謀技術(shù) | 自動駕駛多傳感器數(shù)據(jù)融合方法

康謀分享 | 自動駕駛聯(lián)合仿真——功能模型接口FMI(三)

康謀分享 | 汽車仿真與AI的結(jié)合應(yīng)用

評論