過去十年,自動(dòng)駕駛和高級(jí)駕駛輔助系統(tǒng) (AD/ADAS) 軟件和硬件的開發(fā)成為了各大汽車公司的主要投資目標(biāo)之一。各大汽車公司對(duì)?AD/ADAS 持續(xù)不斷的投資加快了 AD/ADAS 組件的開發(fā)周期,但也揭示了目前需要解決的重大挑戰(zhàn)——如何快速了解開發(fā) AD/ADAS 組件中的車輛行為,以便進(jìn)行改進(jìn)!
一、方案背景
由于 AD/ADAS 的運(yùn)行環(huán)境很復(fù)雜,從仿真到真實(shí)駕駛,任何 AD/ADAS 組件的每次更改都需要根據(jù)大量場(chǎng)景進(jìn)行驗(yàn)證。然而,場(chǎng)景數(shù)量龐大且每天都在增長,傳統(tǒng)的機(jī)器人開發(fā)支持工具(如 RVIZ)無法滿足我們的需求。例如,RVIZ只允許我們實(shí)時(shí)檢查車輛的行為,很難快速跳轉(zhuǎn)到任何特定事件。
為此,康謀推出IVEX自動(dòng)駕駛場(chǎng)景管理及分析平臺(tái)來克服這一難題。IVEX是一個(gè)基于云的平臺(tái),包含許多功能來支持 AD/ADAS 的驗(yàn)證和開發(fā)。
下文康謀將為您分享在AD/ADAS開發(fā)中使用IVEX的經(jīng)驗(yàn)。
二、康謀方案——IVEX自動(dòng)駕駛場(chǎng)景管理及分析平臺(tái)
圖1 IVEX頁面
1、數(shù)據(jù)輸入
我們通過將原始數(shù)據(jù)轉(zhuǎn)換為所需的格式,然后將轉(zhuǎn)換后的數(shù)據(jù)上傳到基于云的服務(wù)器來與安全分析平臺(tái)進(jìn)行交互。平臺(tái)的輸入數(shù)據(jù)以 Protobuf 消息格式定義,包括執(zhí)行期間有關(guān)環(huán)境和AD/ADAS 行為的信息,例如:
a.自車狀態(tài)變量,例如位姿、速度、加速度和轉(zhuǎn)向角;
b.?自我車輛規(guī)劃軌跡;
c.障礙物信息,如位姿、邊界框、速度和類型;
d.上下文圖像;
e.標(biāo)記事件,其中每個(gè)事件由一個(gè)標(biāo)簽和相應(yīng)的時(shí)間戳組成;
2、場(chǎng)景執(zhí)行結(jié)果
(1)格式
IVEX清晰且定義良好的輸入格式有助于無縫處理不同的數(shù)據(jù)格式。由于場(chǎng)景來自不同的來源,因此場(chǎng)景執(zhí)行結(jié)果具有不同的格式,例如 Autoware ROS2 Bags、Apollo Cyber?Records、Carla Simulator 日志格式和其他商業(yè)模擬器日志格式。
對(duì)于每種數(shù)據(jù)格式,我們都有一個(gè)適配器(通常只是一個(gè) Python 腳本),用于將數(shù)據(jù)轉(zhuǎn)換為安全分析的 Protobuf 輸入格式。Protobuf 是大多數(shù)工程師都熟悉的格式。通常只需幾個(gè)小時(shí)即可開發(fā)一個(gè)適配器,將新的數(shù)據(jù)格式轉(zhuǎn)換為安全分析的 Protobuf 輸入格式。
(2)上傳
圖2 將數(shù)據(jù)上傳到IVEX的命令行界面
通過命令行界面將場(chǎng)景執(zhí)行結(jié)果上傳到IVEX?平臺(tái)。數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)上傳都集成到 CI/CD 流程中。同時(shí)每位工程師都可以執(zhí)行任何特定場(chǎng)景并將結(jié)果上傳到 IVEX?平臺(tái)。這種靈活性使我們能夠快速試驗(yàn)AD/ADAS開發(fā)中的每項(xiàng)更改。
(3)檢查
在 IVEX?的 Web 界面上檢查場(chǎng)景執(zhí)行結(jié)果。我們可以根據(jù)不同的元數(shù)據(jù)(例如執(zhí)行日期、軟件版本或場(chǎng)景名稱)搜索、過濾和選擇相關(guān)場(chǎng)景。
圖3 IVEX的搜索功能示例
a.快速概覽
由于場(chǎng)景驗(yàn)證通常是大量的,因此快速概覽結(jié)果十分重要。使用 IVEX?的聚合視圖可以實(shí)現(xiàn)快速概覽。在篩選和選擇感興趣的場(chǎng)景后,可以訪問聚合視圖,該視圖可快速提供有關(guān)所有標(biāo)記事件的信息,這些事件按不同的操作設(shè)計(jì)域進(jìn)行分類。標(biāo)記的事件可以包含在要上傳到 IVEX?的輸入數(shù)據(jù)中,從而能夠標(biāo)記與驗(yàn)證任務(wù)相關(guān)的任何類型的事件。IVEX?還會(huì)自動(dòng)標(biāo)記幾個(gè)標(biāo)準(zhǔn)事件,例如緊急剎車、關(guān)鍵碰撞時(shí)間等。
例如,當(dāng)在IVEX中開發(fā)一項(xiàng)新功能并想要比較自主車輛以不同速度行駛時(shí)的結(jié)果時(shí),啟用聚合視圖來顯示按不同速度范圍分類的信息,如下圖所示。
圖4 IVEX的聚合視圖
b.快速導(dǎo)航
除了概覽場(chǎng)景執(zhí)行結(jié)果中發(fā)生的事件之外,我們還需要能夠快速導(dǎo)航到特定事件以檢查車輛的行為。從聚合視圖可以直接跳轉(zhuǎn)到任何感興趣的事件。
例如,如果想檢查當(dāng)自車行駛速度超過 30 公里/小時(shí)時(shí)發(fā)生的緊急剎車事件,可以點(diǎn)擊與該事件和速度相對(duì)應(yīng)的框。事件的分布和特定時(shí)間戳的列表與上下文圖像一起顯示。點(diǎn)擊任何一張卡片都會(huì)來到數(shù)據(jù)日志視圖,該視圖提供在特定時(shí)間戳發(fā)生的詳細(xì)信息。
圖5 聚合視圖中事件選擇示例
圖6 在數(shù)據(jù)日志視圖中檢查急剎車事件
在數(shù)據(jù)日志視圖中,可以詳細(xì)檢查事件。該視圖具有詳細(xì)的可視化功能,可顯示當(dāng)時(shí)的所有信息,包括自車的狀態(tài)、地圖、障礙物及其相關(guān)信息,例如速度、類型和與自車的距離。我們還可以從場(chǎng)景列表直接跳轉(zhuǎn)到數(shù)據(jù)日志視圖。
圖7 數(shù)據(jù)日志視圖的可視化
數(shù)據(jù)日志視圖還幫助我們重播并查看場(chǎng)景中發(fā)生的情況。只需點(diǎn)擊幾下,我們就可以在每個(gè)時(shí)間戳之間來回切換。我們還可以看到所有標(biāo)記的事件并導(dǎo)航到其中任何一個(gè)。使用此視圖,可以快速評(píng)估和了解任何情況。
圖8 跨時(shí)間觀察障礙物
圖9 快速導(dǎo)航至特定事件或時(shí)間戳
c. 團(tuán)隊(duì)共享
一旦發(fā)現(xiàn)需要進(jìn)一步檢查的事件,我們就可以與其他同事分享完全相同的視圖,然后同事就可以隨時(shí)檢查該事件。在團(tuán)隊(duì)工作時(shí),共享此類信息可以大大促進(jìn)我們的溝通,并幫助我們專注于正確的方向。
三、結(jié)論
IVEX大大推動(dòng)了AD/ADAS的開發(fā)工作:
a.輕松集成駕駛數(shù)據(jù)到平臺(tái)
b.快速了解車輛行為
c.快速導(dǎo)航感興趣事件
d.訪問所有有價(jià)值的可視化信息了解情況
e.團(tuán)隊(duì)共享信息
期待您繼續(xù)關(guān)注康謀之后的文章,我們將分享有關(guān)AD/ADAS的基于場(chǎng)景的驗(yàn)證和數(shù)據(jù)分析的更多信息。