PreScan產(chǎn)品功能包含如下:
1. Pre-processor or GUI: 預(yù)處理器或GUI
2. Engineering Workspace or Compilation Sheet:工程工作區(qū)或編譯表
3. Main modules:主要模塊
4. Process Manager:進(jìn)程管理
5. Miscellaneous:其它項(xiàng)
1.1 預(yù)處理器或GUI
GUI的關(guān)鍵是其預(yù)定義和可自由配置的庫元素(library elements),能夠使用拖放操作快速構(gòu)建測(cè)試場(chǎng)景。通過查看可生成的報(bào)告(reporting),預(yù)覽(preview)和解析(parsing)等模式,幫助用戶了解已建立的場(chǎng)景類型及已經(jīng)使用的庫元素及相應(yīng)的配置。這些功能還可以幫助用戶確定試驗(yàn)中需要在實(shí)際在Engineering Workspace中執(zhí)行試驗(yàn)之前要解決的問題。同時(shí)GUI還可以完成自動(dòng)轉(zhuǎn)換較早版本的試驗(yàn)場(chǎng)景模型。
PreScan 2021中預(yù)處理器主要的部分,如下圖所示:
在標(biāo)準(zhǔn)Microsoft Windows類型的控件和工具欄旁邊,可以看到:
->在左側(cè)的選項(xiàng)卡代表可用的各種庫元素。庫元素包括執(zhí)行器(actors)(汽車,動(dòng)畫人物,卡車等),基礎(chǔ)元素(infrastructural elements)(建筑物,道路,樹木等)和傳感器(sensors)(以及其他傳感器)
->右側(cè)上部是稱作實(shí)驗(yàn)樹(experiment tree):顯示了實(shí)驗(yàn)中元素之間的關(guān)系。使用實(shí)驗(yàn)樹,可以快速查看汽車上安裝了哪種類型的傳感器以及為其分配了哪些軌跡。在屬性編輯器中不直接需要或不直接可見的信息(位于實(shí)驗(yàn)樹的下方和下方)可以使用“對(duì)象配置”對(duì)話框訪問,該對(duì)話框在將鼠標(biāo)懸停在所選對(duì)象上時(shí)按鼠標(biāo)右鍵即可調(diào)用。同時(shí),其他選項(xiàng)(例如復(fù)制,粘貼和編輯)也可以通過這種方式訪問。當(dāng)然,當(dāng)將鼠標(biāo)懸停在構(gòu)建區(qū)域中的對(duì)象本身上時(shí),如果按下相同的鼠標(biāo)按鈕,也可以調(diào)用相同的選項(xiàng)。
->在中間的 build area區(qū)域中,可以俯視PreScan世界中放置的所有元素,它們是設(shè)置實(shí)驗(yàn)的主要用戶界面。
1.1.1 Library items
預(yù)處理部分包含五種類別的library,他們分別是:
->帶有被稱為路基underlays環(huán)境(Environment)
->基礎(chǔ)設(shè)施(Infrastructure),包括路段(road segment),建筑物(buildings),可擴(kuò)展的所謂抽象對(duì)象(abstract objects)(稍后將詳細(xì)介紹),自然元素(Nature Elements)和交通標(biāo)志(traffic signs)等元素;
->具有諸如汽車(cars & motors),卡車(trucks)和公共汽車(busses),人類(humans)等元素的執(zhí)行器,及用于標(biāo)定傳感器讀數(shù)的標(biāo)定元素(calibration elements)。
->具有預(yù)先定義的人類視覺(human view)的VisuAids,可以將其拖放到汽車或大地坐標(biāo)系上。
下面對(duì)于上述元素庫將做一些簡要的說明:
執(zhí)行器(Actor)
執(zhí)行器是那些在試驗(yàn)場(chǎng)景中顯示的有效目標(biāo),通常指車輛和行人。
執(zhí)行器具有傳感器屬性,動(dòng)力學(xué)模型,控制器模型和動(dòng)畫屬性等,例如,可以點(diǎn)亮剎車燈并使車輪轉(zhuǎn)動(dòng)。執(zhí)行器也可以綁定到它們必須遵循的軌跡。此處提供了一個(gè)執(zhí)行器輸入樣本樣板,其中顯示了簡單動(dòng)力學(xué)模型(通常在PreScan中可用)在汽車上的使用情況。
基于MATLAB / Simulink的動(dòng)力學(xué)和控制器模型,用戶可以方便地實(shí)現(xiàn)自己模型的開發(fā)。同時(shí)動(dòng)力學(xué)模型包括可能使用的CarSim和VeDyna等比較廣泛使用的動(dòng)力學(xué)模型.
執(zhí)行器中非常特殊的類別是行人的類別。在PreScan中,可以使用三個(gè)人:騎自行車的人(cyclist),摩托車手(motorcyclist)和動(dòng)畫的人(animated human) (具有三種不同的姿勢(shì):靜止,行走和奔跑)。請(qǐng)注意,騎自行車的人和摩托車手實(shí)際上可以操縱。如下圖所示:
路段Road segments
可以在“基礎(chǔ)結(jié)構(gòu)庫( Infrastructure)”選項(xiàng)卡下找到路段。除了直線路段(straights)和折彎路段(bends)等標(biāo)準(zhǔn)路段外,用戶還會(huì)發(fā)現(xiàn)特殊的變體,例如入口和出口車道(entrance and exit lanes),合并路段(merge segment)和彎曲(curved road segments)路段。
所有路段類型均可由用戶自由配置:可以設(shè)置車道數(shù)量,行車方向,線型和顏色,環(huán)形交叉路口的車道數(shù)量等。此處的插圖顯示了可以在一分鐘內(nèi)完成的示例 :
攝像頭傳感器Camera sensor
可以將自己的單目或多目攝像頭傳感器拖放并安裝在執(zhí)行器上,當(dāng)其在四處行駛時(shí),會(huì)將運(yùn)行時(shí)的周圍環(huán)境輸出成攝像機(jī)圖像。下圖是各種狀態(tài)下的屏幕截圖以及“編譯表”中的顯示形式:
TIS 傳感器
該傳感器結(jié)合了雷達(dá)和激光雷達(dá)技術(shù),因此得名:技術(shù)獨(dú)立傳感器(Technology Independent Sensor TIS)。 它提供了三種基本的掃描感知模式,即:
->線掃描(Line Scan):這是最常用的模式,在該模式中,連續(xù)發(fā)射光束并水平或垂直捕獲信息。
->Z掃描(Z-Scan beamwise):Z掃描是執(zhí)行Z掃描模式的更為復(fù)雜的掃描形式;
->矩陣掃描(Z-Scan arraywise):可以將矩陣掃描與使用PC屏幕捕獲工具捕獲圖像進(jìn)行比較:以用戶指定的捕獲頻率捕獲整個(gè)圖像并檢索信息。當(dāng)然,此信息不是在位圖圖像(RGB值)中找到的信息,而是特定的TIS信息,例如方位角和仰角等。
下圖很好地說明了每個(gè)捕獲周期內(nèi)各種掃描模式之間的差異。藍(lán)色單元格顯示光束實(shí)際上在照亮場(chǎng)景的位置。
建筑物Buildings
可以在“基礎(chǔ)結(jié)構(gòu)庫(Infrastructure)”選項(xiàng)卡下找到建筑物。這是一些可用建筑物的樣本。還要注意樹木。這些樹使能通過檢測(cè)樹枝和樹葉感知到遮擋!
抽象目標(biāo)Abstract objects
也可以在“基礎(chǔ)結(jié)構(gòu)庫(Infrastructure)”選項(xiàng)卡下找到抽象對(duì)象。抽象對(duì)象用于裝飾場(chǎng)景,而不必過多關(guān)注細(xì)節(jié)等。所有抽象對(duì)象都是可伸縮的,可以設(shè)定傳感器屬性。以下對(duì)象已包含為抽象對(duì)象:教堂,工廠,房屋,辦公室,矩形框等。
交通信號(hào)Traffic signs
在“基礎(chǔ)結(jié)構(gòu)庫(Infrastructure)”選項(xiàng)中,同時(shí)可以快速創(chuàng)建交通信號(hào)標(biāo)志
車輛操縱定義Car Maneuver Definition
在GUI界面中使用專用的工具可以很容易進(jìn)行車輛操縱定義。假設(shè)想在兩輛汽車之間設(shè)計(jì)一次碰撞事故。首先通過將路徑組合在一起,創(chuàng)建需求的道路模型??捎玫木€段包括直線(straight line,),圓弧(arc),車道變化(lane change),高程變化(elevation change),貝塞爾曲線(Bézier curve)和回旋曲線(clothoid curve)。通過為它設(shè)定一個(gè)執(zhí)行器actor,同時(shí)創(chuàng)建一條軌跡(它基本上是路徑+速度信息)??梢允褂檬髽?biāo)或使用路徑編輯器來修改路徑。該界面還允許縮放和選擇各個(gè)細(xì)分類型。使用速度曲線編輯器可以設(shè)置速度曲線。在下面的圖片中,顯示了兩個(gè)軌跡以及路徑編輯器和速度曲線編輯器。
當(dāng)定義了另一個(gè)屬于不同執(zhí)行器的軌跡時(shí),可以通過同步角色位置來重構(gòu)接近碰撞。通過移動(dòng)動(dòng)畫滑塊并通過沿其軌跡移動(dòng)執(zhí)行器,可以使執(zhí)行器彼此相對(duì)。一旦使用“同步(synchronize button)”按鈕,軌跡就會(huì)隨著時(shí)間的推移而發(fā)生變化,從而使執(zhí)行器在正確的時(shí)間處在正確的位置。PreScan通過引入在所選軌跡的開始或結(jié)束處的延遲時(shí)間實(shí)現(xiàn)自動(dòng)計(jì)算。
解析和編譯機(jī)制Parse & Build Mechanism
所有警告對(duì)話框均已集中到一個(gè)名為“解析和編譯(parse & build)”的模塊中。在解析過程中,首先要檢查實(shí)驗(yàn)仿真速率的一致性。失敗時(shí),給出了明確的問題描述,用戶可以為識(shí)別的問題區(qū)域重新設(shè)置。成功完成所有解析步驟后,用戶可以選擇編譯實(shí)驗(yàn)。編譯過程涉及生成3D可視化所需的所有文件,并通過編譯(Compilation Sheet)表進(jìn)行實(shí)驗(yàn)。
PreScan的調(diào)度程序(scheduler)是使用直接鏈接到parse&build的檢查機(jī)制。調(diào)度程序顯示各個(gè)模塊要求和/或要求的模擬速率。調(diào)度程序的這張圖說明了PreScan的工作原理:在底部,PreScan引擎提供的用戶定義的模擬步長。在右側(cè),可以看到“硬件在環(huán)”接口,在新版本中獲得更新。
報(bào)告Reporting
存在兩種類型的報(bào)告,即。關(guān)于對(duì)象的報(bào)告,顯示它們具有什么屬性(傳感器屬性,控制器的名稱或類型等),以及關(guān)于傳感器的報(bào)告,顯示哪個(gè)傳感器用于感知哪些對(duì)象及實(shí)現(xiàn)什么功能。
自動(dòng)錯(cuò)誤報(bào)告 Auto-error reporting
程序執(zhí)行異常(即程序崩潰)時(shí),PreScan會(huì)自動(dòng)創(chuàng)建一個(gè)錯(cuò)誤信息文件。該文件包含日志文件,以zip格式本身經(jīng)歷或?qū)е卤罎⒌膶?shí)驗(yàn)以及生成的錯(cuò)誤消息的屏幕轉(zhuǎn)儲(chǔ)。請(qǐng)注意,也可以在不太嚴(yán)重的程序錯(cuò)誤時(shí)手動(dòng)生成此報(bào)告。
1.2 工程工作空間或編譯表(Engineering Workspace or Compilation Sheet)
編譯表是PreScan仿真引擎的從屬,并具有各種PreScan功能之間的所有連接。特殊的MATLAB / Simulink交互機(jī)制,使僅在PreScan生成和插入的特定塊的需要時(shí)刷新。在用戶重新生成實(shí)驗(yàn)后,將保留插入的Simulink塊或模型,這可以避免大量的反工,節(jié)省大量的時(shí)間。例如,當(dāng)使用GUI更改特定傳感器的設(shè)置。
編譯表中最引人注目的元素是執(zhí)行器。其具有輸入和輸出端口。例如,中間的汽車(Toyota Previa)上裝有三個(gè)系統(tǒng)。GPS系統(tǒng)(在PreScan中稱為SELF端口),一個(gè)稱為AIR(理想化傳感器)的傳感器和一個(gè)立體攝像機(jī)系統(tǒng)。右上角有一個(gè)表格,告訴實(shí)驗(yàn)中有哪些元素以及它們具有哪些特定的頂級(jí)屬性。還要注意中間引入的塊:該塊輸出碰撞檢測(cè)信息。
在顯示頂部的汽車下方(馬自達(dá)RX-8)雙擊時(shí),會(huì)發(fā)現(xiàn)由PreScan GUI生成的更多功能。PreScan生成的所有塊均為灰色,而用戶插入的塊默認(rèn)為黑色。在PreScan的GUI中定義了可以廣播的各種消息。除了這些塊外,還有一個(gè)GUI插入的軌跡和簡單的動(dòng)力學(xué)模型。
3D可視化觀察器The 3D Visualization Viewer
3D可視化觀察器用于可視化已建立的實(shí)驗(yàn)??梢允褂妙A(yù)定義的視點(diǎn)(例如頂視圖和默認(rèn)場(chǎng)景視圖),也可以在需要時(shí)定義自己的視點(diǎn)??梢暬^察器帶有使用鼠標(biāo)的直觀導(dǎo)航。同時(shí)也可以使用全屏模式,提高駕駛員對(duì)仿真場(chǎng)景的體驗(yàn)效果。
3D可視化查看器還用于生成影片和/或所選視點(diǎn)的單個(gè)圖片。 支持的單個(gè)圖片格式包括png和jpg.
1.3 主要模塊Main Modules
為了更好地了解產(chǎn)品功能和特性,應(yīng)該首先了解PreScan包含的三個(gè)主要模塊:
預(yù)處理模塊Pre-processor 也可叫做 'the GUI':
預(yù)處理模塊用于定義和修改試驗(yàn)工況和場(chǎng)景,Prescan試驗(yàn)場(chǎng)景通常包含一個(gè)定義的虛擬世界(道路、樹木、建筑等),定義的執(zhí)行器(行人、車輛等),其中每一個(gè)執(zhí)行器都有自己的控制器或者動(dòng)力學(xué)模型或者感知模型,及其它信息,例如跟隨路徑駕駛等。
工程工作空間 Engineering W orkspace:
工程工作區(qū)由專用的MATLAB / Simulink交互組成,通常稱為“編譯表”。該交互是PreScan模擬核心的從屬,并具有各個(gè)PreScan模塊之間的所有連接。編譯表是工程師進(jìn)行算法研究的主要界面。之所以選擇MATLAB / Simulink,有多種原因,但最重要的是,MATLAB / Simulink是汽車世界上首選的仿真選擇。MATLAB / Simulink中已經(jīng)提供了許多控制和決策算法,可以很容易地將其導(dǎo)入并在進(jìn)行任何轉(zhuǎn)換進(jìn)行重新使用。除此之外,使用MATLAB / Simulink還可以使用現(xiàn)代的V-Cycle開發(fā)工具(由dSPACE等推動(dòng))
3D可視觀察器 3D Visualization Viewer:
該模塊為提供了實(shí)驗(yàn)的多種觀測(cè)點(diǎn)。例如如果開發(fā)者想通過駕駛員的視角觀看仿真情況!其他選項(xiàng)包括預(yù)定義的視角,例如頂視圖和向北或向南的視圖。其導(dǎo)航控件非常直觀,并提供了廣泛的圖片和動(dòng)畫生成功能。
還有另外兩個(gè)對(duì)用戶不可見的模塊:
仿真引擎Simulation Engine:仿真引擎或調(diào)度程序是PreScan的真正核心。在此模塊中,將對(duì)傳感器進(jìn)行仿真并計(jì)算參與者的位置。它以1:1鏈接到PreScan的MATLAB / Simulink進(jìn)行交互。
進(jìn)程管理模塊Process Manager:進(jìn)程管理器監(jiān)督主要模塊,包括仿真引擎。它同步和調(diào)度模塊之間的各種信息流.
1.4 進(jìn)程管理Process Manager
進(jìn)程管理器監(jiān)控主要模塊GUI,MATLAB和VisServer。它同步和調(diào)度模塊之間的各種信息流。界面中的按鈕可用于啟動(dòng)這些模塊,下圖為PreScan配置的Windows命令窗口。在此窗口中,可以使用prescan run命令運(yùn)行已編譯的PreScan實(shí)驗(yàn)。
當(dāng)啟動(dòng)GUI或Engineering Workspace(即為PreScan配置的MATLAB接口)時(shí),Process Manager將自動(dòng)啟動(dòng)??梢酝ㄟ^在Windows任務(wù)欄中右鍵單擊并選擇“打開”,使用圖標(biāo)打開Process Manager GUI...
通過從菜單中選擇退出,可以同時(shí)停止所有PreScan進(jìn)程。
1.5 其它項(xiàng)Miscellaneous
PreScan同時(shí)帶有實(shí)例,工具設(shè)置和后處理工具。
Demos
PreScan包含的一些實(shí)例,將教使用者如何在Prescan設(shè)置典型的實(shí)驗(yàn),并幫助用戶快速搭建自己的實(shí)驗(yàn)產(chǎn)場(chǎng)景。一些實(shí)例展示了標(biāo)準(zhǔn)PreScan傳感器模型提供的功能(如噪聲和漂移),另一個(gè)實(shí)例展示了如何重建交通場(chǎng)景,還有實(shí)例演示了對(duì)規(guī)避的仿真。
這些實(shí)例涵蓋了不同關(guān)鍵字指示的領(lǐng)域。規(guī)避實(shí)例展示的關(guān)鍵詞包括:合并駕駛員模型,在軌跡之間切換以及模型初始化。另一個(gè)帶有動(dòng)畫的完整6自由度實(shí)例,其中汽車在雙掛架之間發(fā)生旋轉(zhuǎn)-作為關(guān)鍵字:引入了6自由度的車輛動(dòng)力學(xué)模型,能夠處理滑移的詳細(xì)輪胎模型以及車輪和輪胎的動(dòng)畫及方向盤。
工具模塊設(shè)置 Tool block sets
標(biāo)準(zhǔn)的PreScan安裝還具有一些方便的工具,這些工具是基于MATLAB / Simulink的模塊的形式。在工具庫中可以找到以下塊:
->一個(gè)簡單的駕駛員模型,使用戶可以在空間和時(shí)間(速度)上實(shí)際跟蹤軌跡。該塊讀取設(shè)定點(diǎn)并實(shí)現(xiàn)節(jié)氣門和轉(zhuǎn)向角的控制。
->坐標(biāo)轉(zhuǎn)換塊:此塊將世界位置和速度轉(zhuǎn)換為您自己的坐標(biāo)系中的位置和速度。
->根據(jù)整個(gè)車身運(yùn)動(dòng)計(jì)算車輪位置的模塊。該塊被認(rèn)為對(duì)于車輛動(dòng)畫很方便。
動(dòng)畫編譯工具 Movie compilation tool
MovieGenerator是一種特殊的后處理工具,已開發(fā)為將3D Visualization Viewer生成的各個(gè)位圖“粘合”在一起。這使用戶可以選擇觀看動(dòng)畫的視角。
歡迎關(guān)注,轉(zhuǎn)發(fā)和點(diǎn)贊 智駕社公眾號(hào),后期將會(huì)邀請(qǐng)小明師兄為大家分享更多的仿真文章,和小明師兄一起學(xué)習(xí)和進(jìn)步。同時(shí)歡迎加入智能駕駛場(chǎng)景仿真交流群。