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