加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 3.1 例子:快速開始搭建第一個自動駕駛場景仿真模型 
    • 結(jié)論
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

分享 | PreScan快速入門到精通:第四講 快速搭建第一個自動駕駛仿真模型

09/20 16:21
3.3萬
閱讀需 15 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

PreScan的愿景是通過提供虛擬驗證功能來彌補仿真和驗證之間的差距。 在實際建立一個PreScan實驗并運行之前,我們先來看看下圖                           

描繪了四個重要的建模步驟:1.構(gòu)建場景;2.增加控制系統(tǒng);3. 為傳感器系統(tǒng)建模;4.運行實驗。 這些步驟,通常是每次做實驗時都要遵循的。

構(gòu)建場景

最理想的情況是,首先使用實際的事故數(shù)據(jù)。只有這樣,才知道這個場景足夠重要,足以導(dǎo)致事故的發(fā)生。PreScan提供了輕松重建事故發(fā)生的可能性。它有各種各樣的工具,從構(gòu)建道路和實現(xiàn)抽象的基礎(chǔ)設(shè)施元素的模糊視點的簡單方法,到支持近距離碰撞的工具。這些工具的一個較大的部分是在第一個開始的時候就已經(jīng)涉及到了。

增加控制系統(tǒng)

控制系統(tǒng)的理解應(yīng)該比傳統(tǒng)的汽車控制系統(tǒng)如ESP、ACC等更寬泛??刂葡到y(tǒng)還包括對象感知算法、傳感器融合算法、決策算法等。

為傳感器系統(tǒng)建模

這可能很簡單,就像實現(xiàn)一個可自由調(diào)整的理想化傳感器(在PreScan中已經(jīng)有了),也可能很復(fù)雜,就像實現(xiàn)一個詳細的基于物理學(xué)的雷達模型,輸出原始感知信號,由自己的數(shù)據(jù)處理算法進行后處理,處理后的數(shù)據(jù)被送入自己的DSP模型,負責(zé)跟蹤和追蹤目標(biāo)。由于系統(tǒng)的邊界是靈活的,所以我們在這里更愿意談?wù)?quot;為傳感器系統(tǒng)建模"。

進行實驗

有幾種選擇:只需在Simulink環(huán)境中運行一個實驗,同時在范圍內(nèi)觀察結(jié)果,同時使用基于MATLAB的繪圖腳本對獲得的結(jié)果進行后期處理。另一種選擇是讓基于MATLAB的批處理腳本配置、運行和后期處理方案。如果這還不夠的話,作為用戶可以把自己的制動和油門和及方向盤鏈接上,在自己做的實驗場景中進行駕駛。

3.1 例子:快速開始搭建第一個自動駕駛場景仿真模型 

本教程將向第一次使用PreScan的用戶解釋如何在PreScan中設(shè)置和運行實驗。它提供了使用PreScan的工作指南。 

請不要在實驗名稱和實驗地點中使用非西方文字(如日語、韓語、中文等)。 

概念

PreScan的基本思路是在圖形用戶界面(GUI)中構(gòu)建一個實驗,并使用Simulink仿真實驗。在GUI中,可以將庫中的組件拖放到構(gòu)建區(qū)域中,得到實驗的大致布局??梢酝ㄟ^改變這些組件的屬性來設(shè)置細節(jié),使用適當(dāng)?shù)呐渲么翱诨驅(qū)傩跃庉嬈?,用鼠?biāo)右鍵到達的屬性編輯器。

在GUI中建立好實驗后,就會準(zhǔn)備一個實驗的Simulink模型,稱為:編譯表。用戶可以將自己的算法添加到這個Simulink模型中,并正常播放模型。 

Simulink模型只需要準(zhǔn)備一次;在Simulink中,有一個按鈕可以更新GUI中的更改。 

創(chuàng)建一個實驗場景

單擊 Windows 桌面或開始菜單上的 PreScan GUI 圖標(biāo),啟動 PreScan GUI (參見圖形用戶界面Graphical User Interface(GUI) (GUI) 一節(jié))。PreScan 啟動時,會出現(xiàn)以下界面。

 

 

要開始建立一個場景,應(yīng)該有一個實驗。從文件菜單中選擇 "新實驗New Experiment"。 

 

出現(xiàn) "新建實驗"對話框,在該對話框中可以命名實驗,描述作者,并給出實驗的簡短描述。

實驗位置是實驗的保存目錄。上次打開、保存或創(chuàng)建實驗的實驗位置將保存在窗口注冊表中。當(dāng)啟動MATLAB®時,它將在這個位置打開。

需要進一步設(shè)置實驗類型和實驗采樣率。

 

實驗完成后,左側(cè)的預(yù)掃描積木庫就會變成可用的,圖標(biāo)會變成正常的顏色,表示現(xiàn)在可以使用。 

底層

從為實驗創(chuàng)建一個底層開始。從 "環(huán)境 "選項卡 "環(huán)境"(底層(2-D))中選擇 "草",然后將其拖放到 "建立區(qū)域 "中??梢栽趯傩跃庉嬈鲄^(qū)域中設(shè)置底層的位置和方向。 

 

道路

第二步是建立道路網(wǎng)。從基礎(chǔ)設(shè)施庫中選擇環(huán)形路,然后將其拖到構(gòu)建區(qū)域。注意在屬性編輯區(qū)中可以設(shè)置以下屬性:方向、車道寬度、半徑等。 

 

軌跡

第三步是創(chuàng)建軌跡。從中間的任務(wù)欄中選擇繼承路徑圖標(biāo)(下圖中的中間圖標(biāo))。

 

當(dāng)用鼠標(biāo)懸停在環(huán)形路上時,會出現(xiàn)黃色的圓圈。這些是該路段的入口點和出口點。選擇左邊入口的下圓圈,選擇右邊出口的上圓圈。鼠標(biāo)左擊兩下,路徑就會自動生成。

 

路徑考慮到了實驗的默認設(shè)置:例如,在道路右側(cè)行駛,在環(huán)島上逆時針行駛。用戶的首選項可以在 "設(shè)置/首選項Settings / Preferences "中進行設(shè)置。

執(zhí)行器

現(xiàn)在我們將在創(chuàng)建的路徑上附加一個執(zhí)行器。從執(zhí)行器庫中選擇馬自達RX8,然后將其拖到Build區(qū)域。

當(dāng)角色被拖動到路徑上時,路徑將被高亮顯示。在這種情況下,如果你松開鼠標(biāo)按鈕,就會自動創(chuàng)建一個軌跡,并將執(zhí)行器連接到軌跡上。請注意,一系列的點是如何提供軌跡的可視化表示的,現(xiàn)在汽車被連接到它的軌跡。 

 

 

通過在Build區(qū)域或?qū)嶒灅渲杏覔羲璧腶ctor,并從出現(xiàn)的下拉菜單中選擇對象配置,打開actor的對象配置對話框。看一下這個角色是否連接到了PathObject_1和SpeedProfile_1。 

 

在執(zhí)行器庫中選擇第二輛車,將其拖到環(huán)島的右側(cè)出口處。將方向(偏航)設(shè)置為150度,讓它面向左邊。單擊 "方向 "旁邊的"+"-圖標(biāo),單獨顯示偏航方向。

 

縮放

使用工具欄中的縮放按鈕,將場景縮放到所需視圖。

傳感器

通過以下顯示圖標(biāo),可以切換傳感器光束、攝像頭光束、重心、GPS坐標(biāo)和車道定義的可見度。通過使用標(biāo)記的按鈕,設(shè)置傳感器光束和攝像頭光束的可見性。這些設(shè)置不作為實驗的一部分保存。

從傳感器庫中選擇AIR,并將其拖到Build區(qū)的Mazda上。

 

出現(xiàn)AIR對象配置對話框,在該對話框中可以對AIR傳感器進行配置。AIR配置參數(shù)有:位置、方向、光束范圍和光束掃射角度。

 

單擊 "確定 "后,AIR傳感器出現(xiàn)在實驗樹中。

攝像機

在仿真過程中,可以添加視覺輔助攝像機(Visu Aids)。選擇 "人眼視圖",選擇具有人眼等屬性的攝像機。

 

當(dāng)攝像機被拖到車輛上時,可以通過選擇駕駛員或副駕駛的眼睛位置,用左、右標(biāo)示的方式將攝像機固定在車輛上。

 

 

現(xiàn)在的實驗應(yīng)該和下面這個圖類似。 

 

保存 

保存實驗

匯編表

所有在PreScan GUI中創(chuàng)建的信息都被收集到Simulink模型中進行仿真。這個Simulink模型也被稱為 "匯編表",因為在PreScan中運行實驗所必需的信息都被有效地收集在這個Simulink匯編表中。用戶在這個編譯表中可以找到的元素包括在GUI中選擇的Simulink模型,如動力學(xué)模型,使用GUI定義的軌跡信息,以及到PreScan標(biāo)準(zhǔn)傳感器模型和PreScan仿真引擎的端口。

PreScan有一個名為Parse& Build的序列,用于制作編譯表。Parse是用來檢查仿真的不同組件的配置,如執(zhí)行器、軌跡和傳感器。在Build階段,編譯表被實際建立。只有在Parse階段成功完成后,才能建立一個編譯表。 

 

如果Parse結(jié)果沒有失敗,可以編譯實驗。

 

3D動畫

仿真是以3D可視化的。要做到這一點,需要通過選擇顯示3D世界來啟動VisViewer。

或使用工具欄中的藍色3D圖標(biāo),從"文件 "菜單或使用 "工具條 "中的藍色3D圖標(biāo)。2021版的動畫圖標(biāo)主要是顯示在創(chuàng)建場景的時候的3D預(yù)覽圖,其可以在創(chuàng)建過程中實時更新,但是仿真運行需要通過SIMULINK聯(lián)合仿真才能將實時動畫調(diào)出,并跟隨時間實時變化。

 

VisViewer出現(xiàn),放大到場景的外部邊界。 

如果在打開VisViewer并生成編譯表后,將執(zhí)行器添加到實驗中,則需要重新生成VisViewer和編譯表。 

現(xiàn)在,實驗已經(jīng)全部完成?,F(xiàn)在是時候開始仿真了。實驗樹現(xiàn)在看起來應(yīng)該是這樣的

仿真

在GUI中創(chuàng)建了實驗后,就進入了最重要的階段:仿真階段,在這個階段中,實驗要進行仿真。仿真環(huán)境可以通過文件菜單中的Invoke Simulink運行模式,通過控制欄中的圖標(biāo),或者直接通過開始菜單中的快捷方式或桌面上的快捷方式(兩者都有相同的圖標(biāo))來達到仿真環(huán)境。 

MATLAB啟動了。

等到MATLAB中的命令窗口中出現(xiàn)以下幾行。這表明MATLAB已經(jīng)正確配置了PreScan。

=================================================

MATLAB has been configured for PreScan R2021.0

=================================================

轉(zhuǎn)到GUI保存實驗的目錄下。注意,MATLAB已經(jīng)在 "實驗位置 "目錄下啟動了。

 

打開實驗的編譯表。編譯表的名稱總是在實驗名稱后面加上_cs.mdl或_cs.slx。在本例中是Experiment_FirstStart_cs.slx。實驗的Simulink模型打開

雙擊馬自達_RX8_1車型。就會出現(xiàn)以下(子)系統(tǒng)。在這個系統(tǒng)中,所有在GUI中定義的元素都存在:空氣傳感器和軌跡。還有一個額外的元素出現(xiàn)了。車輛狀態(tài)。這個元素與PreScan仿真引擎進行通信。 

寶馬的模型看起來有點不同,因為沒有給這輛車分配傳感器或軌跡。為了幫助你構(gòu)造你的實驗,我們創(chuàng)建了一個空的動力學(xué)塊。 

通過按下Simulink中的Play按鈕()開始仿真。在VisViewer中,可以在仿真時間內(nèi)跟蹤仿真進度。

現(xiàn)在來看一下VisViewer。從VisViewer的工具欄中選擇有兩個窗口的視圖。在底部窗口中點擊,從工具欄的下拉菜單中選擇HumanView_1。重新運行仿真(Simulink®中的播放按鈕),并查看VisViewer的兩個窗口。最多可以設(shè)置四個攝像頭來跟蹤場景。

現(xiàn)在我們通過添加Simulink模型中的SELF-port和AIR-sensor信號,來看看Simulink模型中的顯示塊。打開Simulink庫瀏覽器(按你習(xí)慣的方法),將一個Mux和一個顯示塊拖到實驗的Simulink模型中。這些塊可以分別在信號路由和Sinks下找到。

下圖中,可以看到傳感器的SELF端口和AIR傳感器的信號。 

 

 

SELF端口顯示的是行為體本身的信息。輸出的是實驗的全局軸系統(tǒng)中的位置,以及GPS坐標(biāo)。

AIR傳感器檢測到一個物體,產(chǎn)生6個信號的輸出。在沒有檢測到物體的情況下,輸出為0。輸出分別是范圍、方位角、仰角、ID、速度和航向。下圖顯示了這些輸出。

關(guān)于AIR傳感器的詳細說明,后期小明師兄會和大家一起學(xué)習(xí),歡迎關(guān)注,點贊,轉(zhuǎn)發(fā)三連。 

結(jié)論

實驗已經(jīng)準(zhǔn)備好了。它可以使用常規(guī)的Simulink方法插入自己的塊(控制邏輯、車輛動力學(xué))。Prescan仿真可以在連續(xù)模式和離散模式下運行。

當(dāng)添加自己的塊時,在離散模式下運行仿真時,編譯表不應(yīng)該包含任何連續(xù)狀態(tài),這一點很重要。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

智能駕駛行業(yè)從業(yè)者,專注于整車仿真與智能駕駛開發(fā)。B站個人主頁: https://space.bilibili.com/407007820/