作者:來自安波福的 Krishna Koravadi 和來自 MathWorks 的 Seo-Wook Park
此工作流使用 MATLAB 和 RoadRunner 產品完成,它提供了一種結構化的方法來創(chuàng)建虛擬場景,使安波福的工程師能夠通過仿真嚴格驗證 ADAS/AD 閉環(huán)算法。
對于開發(fā)下一代汽車的工程師,具備在逼真的駕駛場景下測試高級駕駛輔助系統(tǒng) (ADAS) 和自動駕駛 (AD) 系統(tǒng)算法的能力至關重要。但是,在真實交通中測試新開發(fā)算法的性能和穩(wěn)健性是不切實際的。理想的替代方案是根據(jù)實際道路測試期間所捕獲的傳感器數(shù)據(jù)生成虛擬場景。這些場景隨后可以經濟高效的方式,在虛擬環(huán)境中安全、可重復地測試和微調 ADAS/AD 算法。
安波福的工程師通過我們實現(xiàn)的工作流從記錄的車輛數(shù)據(jù)中獲取駕駛場景。此工作流是使用 MATLAB 和 RoadRunner 產品分三步完成的。
第一步是,基于來自車載 GPS、慣性測量單元 (IMU)、相機和地圖數(shù)據(jù)的輸入,重建自主車輛的軌跡。
第二步是,使用雷達數(shù)據(jù)和非因果聯(lián)合集成概率數(shù)據(jù)關聯(lián) (JIPDA) 跟蹤算法重建非自主車輛的軌跡,以創(chuàng)建周圍交通的動態(tài)表示。
最后一步是,使用 RoadRunner 生成場景,根據(jù)需要進行編輯,并將其導出為 ASAM OpenSCENARIO 格式,該格式可用于其他場景編輯和可視化工具。此工作流是使用 MATLAB 和 RoadRunner 產品完成的,它提供了一種結構化的方法來創(chuàng)建虛擬場景,使 安波福的工程師能夠通過仿真嚴格驗證 ADAS/AD 閉環(huán)算法(圖 1)。
圖 1. 從傳感器數(shù)據(jù)中獲取場景的工作流。
重建自主車輛的軌跡
在工作流的第一階段,我們會創(chuàng)建一個虛擬道路場景,并添加一個自主車輛,其軌跡是根據(jù)記錄的傳感器數(shù)據(jù)重建的。
為了創(chuàng)建虛擬場景,我們使用 RoadRunner Scene Builder 從導入的高清地圖創(chuàng)建三維道路模型,該地圖以通過 GPS 獲得的車輛位置為中心。我們從地圖上刪除不需要的道路并保存場景(圖 2)。
圖 2. 使用 RoadRunner Scene Builder 從高清地圖生成場景。
此時,我們可以使用 GPS 數(shù)據(jù)在地圖上疊加自主車輛的軌跡。然而,完全依賴 GPS 輸入進行自主車輛跟蹤是有問題的,原因有如下幾個:確定車輛行駛在哪個車道通常不夠準確;GPS 信號可能會臨時丟失;其采樣時間(通常為數(shù)百毫秒)相對較長。為了彌補這些缺陷,我們使用 Navigation Toolbox 中的 insfilterAsync 對象,將 GPS 數(shù)據(jù)與來自 IMU 的加速度計和陀螺儀數(shù)據(jù)融合在一起。IMU 數(shù)據(jù)每 10 毫秒采樣一次。通過融合該數(shù)據(jù),我們能夠更精確地估計自主車輛的軌跡(圖 3)。
圖 3. 根據(jù)單獨的 GPS 數(shù)據(jù)(藍色)和融合的 GPS 和 IMU 數(shù)據(jù)(紅色)估計的自主車輛軌跡。
盡管 GPS 和 IMU 數(shù)據(jù)融合提高了準確度,但結果仍不足以可靠地確定自主車輛行駛在哪個車道上。為了提高準確度,我們利用相機數(shù)據(jù)跟蹤自主車輛及其相鄰車道的車道標線檢測情況。然后,我們校正自主車輛軌跡,使基于高清地圖計算的車道數(shù)和偏移量與基于車道檢測計算的車道數(shù)和偏移量相符(圖 4)。
圖 4. 通過車道檢測定位之前(藍色)和之后(紅色)的自主車輛軌跡。
這樣,我們就有了車道級別準確度的自主車輛軌跡,該軌跡可導出到逗號分隔值 (CSV) 文件。
然后,我們可將該 CSV 文件導入 RoadRunner Scenario 以創(chuàng)建一個場景,以供我們可以用來運行自主車輛的仿真(圖 5)。
圖 5. 通過車道檢測定位之前(白色)和之后(藍色),在 RoadRunner Scenario 中運行的自主車輛仿真。
重建非自主車輛的軌跡
工作流中的第二步是將非自主車輛的軌跡添加到場景中。在此步驟中,我們評估了幾種不同方法,包括使用雷達、激光雷達以及雷達和相機的組合。最終,我們決定繼續(xù)使用基于雷達的方法,因為我們記錄的大多數(shù)車輛數(shù)據(jù)都包括雷達測量值,而激光雷達數(shù)據(jù)只能從專門安裝儀器的車輛獲得。
為了準備用于跟蹤的雷達數(shù)據(jù),我們需要運行一系列信號處理操作來區(qū)分靜態(tài)檢測(如護欄)和動態(tài)檢測(如其他車輛),以及過濾由多徑反射引起的重影。然后,我們應用基于密度的含噪空間聚類 (DBSCAN) 算法來生成目標級檢測結果。
接下來,我們將目標級檢測結果饋送到非因果聯(lián)合集成概率數(shù)據(jù)關聯(lián) (JIPDA) 跟蹤器。這種跟蹤算法是非因果的,因為在每個時間步,它都使用該時間步之前和之后直到記錄數(shù)據(jù)結束的所有檢測結果。在線多目標跟蹤算法(例如,在行駛的車輛中運行的算法)只能依賴過去和當前的測量值,而非因果算法可以離線運行,并使用從場景開始到結束的所有雷達測量值。由于事先獲得了這些測量值,離線 JIPDA 跟蹤算法可比在線跟蹤算法更準確地解決數(shù)據(jù)關聯(lián)中的多義性(這種多義性會導致軌跡切換、分段和錯誤軌跡)問題。
為了實現(xiàn)這種改進的性能,JIPDA 算法會運行迭代數(shù)據(jù)關聯(lián)(圖 6)。在每個時間步,它都使用截至時間步 k-1 的測量值執(zhí)行前向跟蹤,然后使用從時間步 k+1 到 N 的測量值執(zhí)行后向跟蹤。該算法將這兩項操作的融合預測與檢測相關聯(lián),并移至下一個時間步。最后,該算法會執(zhí)行 Rauch-Tung-Striebel 平滑處理。雖然該算法本身可能看似很復雜,但在 MATLAB 中實現(xiàn)它只需使用 Sensor Fusion and Tracking Toolbox 中的 smootherJIPDA 對象編寫幾行代碼即可。
圖 6. JIPDA 算法的圖形化表示。
使用 JIPDA 算法計算每個非自主車輛的軌跡后,我們將雷達跟蹤結果與相機的視圖進行比較(圖 7)。
圖 7. 雷達跟蹤結果與同步相機視圖。
場景生成和驗證
作為工作流的第三步也是最后一步,我們將非自主車輛軌跡與自主車輛軌跡相結合來完成場景的創(chuàng)建。為此,我們使用 Automated Driving Toolbox 中的 actorprops 函數(shù)將非自主車輛軌跡變換為世界坐標系。
完成這些操作后,我們將非自主車輛軌跡導出到 CSV 文件,并將該文件導入 RoadRunner Scenario,以將這些軌跡添加到場景中。然后,我們運行仿真來檢查結果。
我們可以使用 RoadRunner Scenario 編輯該場景或將其導出為 ASAM OpenSCENARIO 格式。該場景隨后可用于任何兼容 ASAM OpenSCENARIO 的仿真器和播放器,包括 esmini。
作為最后的驗證步驟,我們將獲得的場景與擋風玻璃相機的視圖進行比較,以確認車道變更、車輛超車和其他事件的匹配情況。
一旦此工作流得到驗證,我們就會應用它從更多的記錄傳感器數(shù)據(jù)集自動生成虛擬場景。這些虛擬場景隨后用于測試 ADAS/AD 算法,作為我們仿真工作流的一部分。
審核編輯:湯梓紅
-
傳感器
+關注
關注
2561文章
52199瀏覽量
761840 -
matlab
+關注
關注
187文章
2990瀏覽量
232841 -
adas
+關注
關注
310文章
2228瀏覽量
209666 -
自動駕駛
+關注
關注
788文章
14129瀏覽量
168893
原文標題:安波福:從記錄的傳感器數(shù)據(jù)中獲取駕駛場景
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
未來已來,多傳感器融合感知是自動駕駛破局的關鍵
數(shù)據(jù)記錄儀的計數(shù)原理和應用場景
汽車ADAS系統(tǒng)中的傳感器
如何在ardupilot中獲取傳感器數(shù)據(jù)和發(fā)送傳感器數(shù)據(jù)?
自動駕駛汽車中傳感器的分析
這些自動駕駛傳感器,你了解多少?
從輔助駕駛到自動駕駛: 感知型車輛建立在底層高質量的傳感器數(shù)據(jù)基礎之上
在ADAS應用程序中使用MIPI CSI-2端口復制記錄傳感器數(shù)據(jù)的方法
構建一個無線傳感器來記錄駕駛情況
傳感器數(shù)據(jù)采集/總線數(shù)據(jù)采集記錄知識分享
怎樣使用BSP_MOTION_SENSOR_GetAxes函數(shù)從傳感器套件獲取數(shù)據(jù)呢
USB傳感器與存儲器在數(shù)據(jù)記錄中的應用
如何在 ADAS 應用中使用 MIPI CSI-2 端口復制記錄傳感器數(shù)據(jù)

如何從各種傳感器中獲取數(shù)據(jù)并將其記錄在SD卡上
如何從您喜愛的傳感器中獲取數(shù)據(jù)

評論