作者:AviNehemiah、PeterFryscak 和 MikeSasena, MathWorks
此篇博客將介紹 MathWorks 的三個平臺(MATLAB、Simulink 和 RoadRunner)如何幫助無人駕駛汽車 (AV) 開發者集成和支持使用 NVIDIA DRIVE Sim 的工作流, 而 NVIDIA DRIVE Sim 是一個可擴展的、支持物理上精確和多元化仿真的平臺。
本篇博客由兩部分組成,包括 MathWorks 平臺支持 AV 開發者的兩種方式:一種是使用 NVIDIA DRIVE Sim,另一種是將算法部署到 NVIDIA 硬件。第 1 部分 - 集成 DRIVE Sim 用于創建環境模型和車輛動力學:MathWorks 工具如何與 DRIVE Sim 集成來完成以下任務:
使用 RoadRunner 及其 DRIVE Sim 連接器來設計用于仿真的 3D 網絡和場景,再將仿真環境導出到 Omniverse。
將 Simulink Vehicle Dynamics Blockset 工具箱中的高保真車輛動力學模型與 DRIVE Sim 自動駕駛車輛結合使用。
第 2 部分 - 將算法部署到 DRIVE 平臺:如何通過 GPU Coder 和 Embedded Coder 從 MATLAB 代碼和 Simulink 模型生成優化的 CUDA 代碼, 旨在部署到 NVIDIA DRIVE 硬件上。
環境建模
AV 開發者需要開發逼真的 3D 環境來仿真和測試感知、規劃和控制算法。他們面臨的一個主要挑戰是現實世界的道路很復雜,創建可用于仿真的 3D 場景非常耗時。RoadRunner 是一款交互式編輯器, 可用于針對自動駕駛系統仿真和測試設計 3D 場景。開發者可以創建區域特定的道路標志和標記來自定義道路場景,也可以插入標志、信號、護欄、道路損壞、綠化、建筑物和其他三維模型。復雜的真實路網(左)和 RoadRunner 創建的仿真環境(右)AV 開發者可以通過“DRIVE Sim 匹配的 RoadRunner 連接器”,在 30 分鐘內創建以下 3D環境,并且導出到 NVIDIA Omniverse 進行仿真或與其他3D制作流程集成。
使用 RoadRunner 創建 3D 環境,并通過“DRIVE Sim 匹配的 RoadRunner 連接器”導出到 Omniverse。
以上環境可分為以下幾個組成部分:
添加道路、車道和人行道
創建路口
添加路口標記和道具
放置綠化
首先,讓我們創建路網以及相關的車道標記和人行道。要實現這一目標,我們可以使用 RoadRunner 中的 Road Plan Tool 道路規劃工具來創建和布置道路。然后,使用 Lane Tool 車道工具配置不同車道和設置道路屬性,包括行進方向和車道類型。在本例中,更改了車道的寬度,并且移除了一側的人行道以匹配航空圖像。RoadRunner 用戶通常會利用場景的航拍圖像或激光雷達圖像作為路網的模板。
現在我們已創建了路網,隨后我們將創建 T 型路口。當道路相交時,RoadRunner 會自動創建路口;在這個例子中,我們將使用 Custom Junction Tool 自定義路口工具創建T型路口。RoadRunner 包含多種 junction tools 路口工具,可自定義路口在仿真中的外觀和行為。
現在,我們使用 Prop Point Tool 道具點工具更新有停車標志的路口,使用 Marking Point Tool 標記點工具在道路上繪制“Stop”字樣,并使用 Marking Curve Tool 標記曲線工具創建一條停車線。
在創建路網和交叉路口后,可以插入一些綠化以更形象地模擬環境。RoadRunner 提供了一組預置的道具,同時也可以將外部創建的素材導入 RoadRunner。此場景使用了一組稱為 Prop Set 道具集的對象??梢詫⒌谰呒蟿拥浆F有的道具多邊形上,也可以使用 Prop Polygon Tool 道具多邊形工具填充新區域。
3D環境準備就緒后,現在就可以使用“DRIVE Sim 匹配的 RoadRunner 連接器”將場景從 RoadRunner 導出到 Omniverse。到目前為止,該示例還是基于一個簡單的場景。以下是 DRIVE Sim 中針對更復雜場景的一些效果圖片:
車輛動力學
為了進行整車級研究,開發者需要確定車輛模型本身所需的保真度水平。在某些情況下,車輛模型可能微不足道。例如,交通仿真通常將每輛車視為沿指定軌跡在空間中移動的簡單物體。然而,在緊急制動測試等情況下,則需要使用更高保真度的車輛模型。Vehicle Dynamics Blockset 是 Simulink 的附加產品,可幫助解決此類問題。以下是有關其應用的一些示例。Vehicle Dynamics Blockset 附帶了幾個預置的參考應用,使其更易于上手。例如,參考應用 Constant Radius Maneuver 等半徑控制包含車輛模型,以及駕駛員、控制器、傳感器、動力總成、車輪、制動器、轉向、懸架和底盤。
這類車輛模型可以非常詳細,并且可以參數化,以便更準確地反映相關系統。例如, 映射的火花點火發動機(SI Engine) 模型可以通過導入測試數據來標定發動機。
同樣,開發者可以使用運動學與柔順性(Kinematics and Compliance)參考應用從懸架測試或多體動力學仿真中導入數據,擬合響應曲面模型,并參數化映射的懸架模型,從而逼真地模擬真實系統的行為。
對車輛模型進行參數化后,讓我們進行一些實驗來表征其行為。Constant Radius 等半徑參考應用包括一個參考發生器模塊庫,允許開發者從預定義的標準測試(如雙車道變更或緩慢增加的轉向控制)列表中進行選擇。此過程從恒定半徑測試開始,以評估車輛在指定速度下保持固定轉彎半徑的能力。通過掃描越來越高的車速,可以查看車速、橫向加速度和車輛打滑等信號,以確定車輛是否滿足系統要求。
在測試了一組轉向操作之后,可以進行制動測試操作,以評估車輛在指定初始速度下的停車距離。該參考應用包括ABS控制器和對話框等功能,可用于指定路面條件來做不同附著系數路面的制動測試。
通過此制動測試,可以比較不同制動控制器和不同條件下生成的結果,以評估車輛的性能。
由于 Vehicle Dynamics Blockset 是基于 Simulink平臺開發的,因此這些類型的仿真都可以在 NVDIA DRIVE Sim 平臺上運行,這不僅為開發者更有效地進行研究增加了全新的性能和靈活性,又能充分利用 DRIVE Sim 生態系統的其他功能。點擊“閱讀原文”,查看本系列博客的第二部分(英文版),了解如何將 MATLAB 和 Simulink 中創建的算法部署到 NVIDIA DRIVE 平臺。要了解更多有關如何使用不同的 MathWorks 平臺進行自動駕駛開發以及其他 AV 開發者如何使用 MathWorks 平臺進行開發,您可以注冊參加將于 2021 年 6 月 8 日在北京舉辦的MATLAB EXPO 中國用戶大會。該活動包括來自 MathWorks 的其他汽車與自動駕駛用戶的演講:
原文標題:創建無人駕駛汽車(AV)仿真工具鏈
文章出處:【微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
3D
+關注
關注
9文章
2864瀏覽量
107340 -
仿真
+關注
關注
50文章
4048瀏覽量
133431 -
無人駕駛
+關注
關注
98文章
4038瀏覽量
120309
原文標題:創建無人駕駛汽車(AV)仿真工具鏈
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論