作者: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 道具集的對象。可以將道具集拖動到現有的道具多邊形上,也可以使用 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文章
2910瀏覽量
107830 -
仿真
+關注
關注
50文章
4124瀏覽量
133884 -
無人駕駛
+關注
關注
98文章
4088瀏覽量
120858
原文標題:創建無人駕駛汽車(AV)仿真工具鏈
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論