日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

如何從MATLAB/Simulink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?

2020-07-10 00:23:38·  來源:自動駕駛仿真  作者:卿顏  
 
自動駕駛相關(guān)的軟件工具有不少,作為汽車工程師,我們最熟悉的可能是MATLAB/Simulink。如何從MATLAB/Simulink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?今天我們主要來介紹兩部
自動駕駛相關(guān)的軟件工具有不少,作為汽車工程師,我們最熟悉的可能是MATLAB/Simulink。如何從MATLAB/Simulink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?

今天我們主要來介紹兩部分內(nèi)容:1、如何精準(zhǔn)獲取MATLAB/Simulink關(guān)于自動駕駛方面的學(xué)習(xí)資料;2、從MATLAB/Simulink可以學(xué)習(xí)到哪些自動駕駛知識。

特別聲明,以下有部分圖片引自MATLAB/Simulink的幫助文檔以及MathWorks公開課(尤其感謝MathWorks中國公司員工的公開課視頻),如果MathWorks公司認(rèn)為存在侵權(quán),可聯(lián)系刪除。另外,以下內(nèi)容主要是基于MATLAB R2020a和R2019b,低版本可能略有出入。

01  如何精準(zhǔn)獲取MATLAB/Simulink關(guān)于自動駕駛方面的學(xué)習(xí)資料

MathWorks官網(wǎng)是個寶藏,有事沒事上去逛逛興許就能學(xué)到東西。MATLAB用戶很多,但我相信會去逛MathWorks官網(wǎng)的人并不多。官網(wǎng)有不少好東西,在不熟悉官網(wǎng)架構(gòu)的情況下要找到自己想要的東西有時候挺費(fèi)勁的,所以我會把有用的欄目都用瀏覽器收藏了,下回再翻就很方便了。
 
1.1  強(qiáng)烈推薦MathWorks官網(wǎng)的Videos and Webinars
   
Videos and Webinars提供了一些很有價值的學(xué)習(xí)視頻,可以幫助用戶快速地了解相關(guān)工具箱。
 
如何從MATLAB Simul<em></em>ink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?
Videos and Webinars在MathWorks官網(wǎng)的位置

MATLAB/Simulink工具箱很多,與其相關(guān)的視頻也就更多了,有中文的、英文的、日語的、漢語的還有俄語的……有圖像處理的、有自動駕駛的、有新能源的、還有功能安全的……只要在搜索框中輸入自己感興趣的關(guān)鍵詞,就能找到相關(guān)的學(xué)習(xí)視頻。比如對于自動駕駛,我墻裂推薦的“小邁步”系列。

小邁步系列視頻

小邁步的第一課和第二課,就有介紹怎么用MATLAB去設(shè)計、訓(xùn)練神經(jīng)網(wǎng)絡(luò),并將網(wǎng)絡(luò)模型用MATLAB Coder和GPU Coder生成代碼,并部署到CPU/GPU中。

如果你搜索“自動駕駛”或者將Videos and Webinars的范圍縮小至Automate Driving Toolbox(在搜索頁面左側(cè)選中這個工具箱),就可以找到直接跟自動駕駛相關(guān)的視頻。

自動駕駛相關(guān)視頻

比如上圖框起來的視頻,也是墻裂推薦的,是MathWorks中國工程師在MATLAB EXPO CHINA 2019大會上介紹MATLAB R2019a的自動駕駛工具箱(Automated Driving Toolbox)的新特性,看過視頻之后能對自動駕駛工具箱有個大概的了解。以上僅僅是部分內(nèi)容,大家可以按興趣去搜索查找。

1.2  直接查看相關(guān)工具箱的幫助文檔和參考示例
   
與自動駕駛相關(guān)的工具箱如下:

**學(xué)習(xí)類

· 
Statistics and Machine Learning Toolbox

·  
Deep Learning Toolbox

·  
Reinforcement Learning Toolbox

感知類

·  
Image Acquisition Toolbox

·  
Image Processing Toolbox

·  
Computer Vision Toolbox

·  
Vision HDL Toolbox

·  
Automated Driving Toolbox

·  
Sensor Fusion and Tracking Toolbox

規(guī)劃控制類

·  
Automated Driving Toolbox

·  
Navigation Toolbox

·  
Stateflow

·  
Fuzzy Logic Toolbox

·  
Robust Control Toolbox

·  
Model Predictive Control Toolbox

車輛類

·  
Powertrain Blockset

·  
Vehicle Dynamics Blockset

·  
Simscape

其他

·  
ROS Toolbox

·  
Vehicle Network Toolbox

·  
MATLAB Coder

·  
Simulink Coder

·  
Embedded Coder

·  
HDL Coder

·  
GPU Coder

·  
Simulink Real-Time

不僅有各種工具箱,還有各種app,與自動駕駛相關(guān)的主要有

·  
Classification Learner

·  
Deep Network Designer

·  
Ground Truth Labeler

·  
Camera Calibrator

·  
Driving Scenario Designer

這些app還是挺有用和有趣的,MathWorks的工具幾乎已經(jīng)覆蓋了自動駕駛開發(fā)測試的各個環(huán)節(jié),有做數(shù)據(jù)標(biāo)注的Ground Truth Labeler,有專門做相機(jī)標(biāo)定的app——Camera Calibrator……

工具箱和app都有詳盡的幫助文檔,幫助文檔中也會有參考示例。比如不同版本自動駕駛工具箱的這些demo:

如何從MATLAB Simul<em></em>ink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?
MATLAB提供的自動駕駛demo

1.3  借助MATLAB Answers解決問題
   
MATLAB/Simulink使用過程中遇到了解決不了的問題,可以上官網(wǎng)的MATLAB Answers去搜索問題關(guān)鍵詞,很可能就能找到答案。MATLAB Answers是用戶提問以及解決問題的版塊。

有一回我在做Simulink和Unreal Engine的自動駕駛仿真時,遇到了一個bug,怎么都解決不了。后來上MATLAB Answers找到了原因,竟然是Windows更新導(dǎo)致的,這種問題真的很難自己debug。

02  從MATLAB/Simulink可以學(xué)習(xí)到哪些自動駕駛知識

簡化而言,自動駕駛開發(fā)測試涉及以下環(huán)節(jié)。涉及感知、規(guī)劃、控制等算法,以及對算法的測試。

自動駕駛算法開發(fā)測試

如果按V型開發(fā)流程,又涉及以下。先按感知、規(guī)劃、控制、仿真測試以及對應(yīng)的MATLAB工具箱/app來說明,同時部分糅合V型開發(fā)流程。
V流程

2.1  感知

自動駕駛的傳感器主要有攝像頭、激光雷達(dá)、毫米波雷達(dá)、超聲波雷達(dá)、IMU等等,這邊主要介紹前兩者相關(guān)內(nèi)容。

2.1.1  攝像頭與MATLAB/Simulink

涉及工具箱:
·  Statistics and Machine Learning Toolbox
·  Deep Learning Toolbox
·  Reinforcement Learning Toolbox
·  Image Acquisition Toolbox
·  Image Processing Toolbox
·  Computer Vision Toolbox
·  Vision HDL Toolbox
·  Automated Driving Toolbox
·  Sensor Fusion and Tracking Toolbox
·  MATLAB Coder
·  HDL Coder
·  GPU Coder

涉及app:
·  Classification Learner
·  Deep Network Designer
·  Ground Truth Labeler
·  Camera Calibrator

整個鏈條大致如下。

如何從MATLAB Simul<em></em>ink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?1
 
1、采集圖像

采集圖像的同時,有一個很重要的工作就是做相機(jī)標(biāo)定。何謂相機(jī)標(biāo)定:

在圖像測量過程以及機(jī)器視覺應(yīng)用中,為確定空間物體表面某點(diǎn)的三維幾何位置與其在圖像中對應(yīng)點(diǎn)之間的相互關(guān)系,必須建立相機(jī)成像的幾何模型,這些幾何模型參數(shù)就是相機(jī)參數(shù)。在大多數(shù)條件下這些參數(shù)必須通過實(shí)驗(yàn)與計算才能得到,這個求解參數(shù)的過程就稱之為相機(jī)標(biāo)定(或攝像機(jī)標(biāo)定)。無論是在圖像測量或者機(jī)器視覺應(yīng)用中,相機(jī)參數(shù)的標(biāo)定都是非常關(guān)鍵的環(huán)節(jié),其標(biāo)定結(jié)果的精度及算法的穩(wěn)定性直接影響相機(jī)工作產(chǎn)生結(jié)果的準(zhǔn)確性。

MathWorks提供了相機(jī)標(biāo)定的工具——Camera Calibrator。
 
Camera Calibrator

2、標(biāo)注圖像

MathWorks提供了數(shù)據(jù)標(biāo)注工具——Ground Truth Labeler。
 
Ground Truth Labeler

之前的版本中,Ground Truth Labeler只能標(biāo)注圖像數(shù)據(jù),從2020a開始支持同時標(biāo)注代表同一場景的多個信號,比如對圖像和激光雷達(dá)點(diǎn)云同時標(biāo)注。可以加載來自單個來源(例如rosbag)的信號集合。也支持將標(biāo)記的激光雷達(dá)數(shù)據(jù)用作深度學(xué)習(xí)模型的訓(xùn)練數(shù)據(jù)。

Ground Truth Labeler可以手動標(biāo)注,也可以根據(jù)內(nèi)置的自動標(biāo)注算法或者自定義的標(biāo)注算法來進(jìn)行自動標(biāo)注。

3、設(shè)計和訓(xùn)練網(wǎng)絡(luò)

·  
Classification Learner

·  
Deep Network Designer

小邁步的第一課第二課有介紹如何用Deep Network Designer來設(shè)計網(wǎng)絡(luò)。
 
Deep Network Designer

MATLAB提供了直接導(dǎo)入Caffe和Tensorflow-Keras模型的接口。
 
 
同時支持通過ONNX導(dǎo)入其他框架的模型。
ONNX
 
如果你想用Simulink去做圖像處理,可以關(guān)注下這兩個工具箱。

·  
Image Processing Toolbox

·  
Computer Vision Toolbox

Computer Vision Toolbox

4、自動生成代碼及部署到硬件

MATLAB的厲害之處不僅在于提供了覆蓋各個領(lǐng)域的工具箱,你可以快速方便地實(shí)現(xiàn)模型在環(huán)測試Model-in-lop(MIL),而且有各種代碼生成工具,幫助實(shí)現(xiàn)快速控制原型Rapid Control Prototype(RCP)、軟件在環(huán)測試Software-in-lop(SIL)、硬件在環(huán)測試Hardware-in-lop(HIL),還可以部署到硬件(CPU、GPU、FPGA)。

這些代碼生成工具有:

·  
MATLAB Coder

·  
Simulink Coder

·  
Embedded Coder

·  
HDL Coder

·  
GPU Coder

對于前三個Coder,做傳統(tǒng)汽車控制器的同仁們應(yīng)該都有所了解,基于模型設(shè)計(Model based Design,MBD)會涉及。另外兩個Coder,HDL Coder和GPU Coder分別用以將MATLAB/Simulink的代碼、模型生成FPGA的代碼(VHDL或Verilog)和CUDA代碼。
 
小邁步第二課主要介紹了MATLAB Coder和GPU Coder的應(yīng)用。
 
自動生成代碼,部署深度學(xué)習(xí)模型
 
MATLAB Coder和GPU Coder
 
小邁步第四課主要介紹了HDL Coder的應(yīng)用。
 
我平常用HDL Coder比較多,因?yàn)橹粫imulink,不會寫VHDL或Verilog……HDL Coder最大的優(yōu)勢就是——用簡便的Simulink建模方式代替了晦澀的硬件描述語言編程方式,使得FPGA算法開發(fā)回歸到了汽車工程師熟悉的Simulink建模。

用戶按照傳統(tǒng)的Simulink建模方式搭建圖像處理和計算機(jī)視覺算法,調(diào)用MATLAB的HDL Coder將Simuink模型生成VHDL或Verilog代碼,然后部署到FPGA板卡上,整個流程可以無需編寫代碼。

使用HDL Coder進(jìn)行FPGA圖像處理算法開發(fā),可以使用Vision HDL Toolbox。

Vision HDL Toolbox

對于這塊內(nèi)容,墻裂推薦一個視頻——MathWorks HDL Coder產(chǎn)品負(fù)責(zé)人趙志宏經(jīng)理的演講《從MATLAB到FPGA: 視頻和圖像處理》。喜歡他那種如數(shù)家珍、游刃有余的狀態(tài),職業(yè)生涯中能打造出如此出色的產(chǎn)品,真是值得驕傲。
不僅做基于FPGA的圖像處理可以用HDL Coder,做電機(jī)電網(wǎng)電力電子以及其他高頻應(yīng)用的控制或仿真都可以用到HDL Coder。

2.1.2  激光雷達(dá)與MATLAB/Simulink

·  
Computer Vision Toolbox > Lidar and Point Cloud Processing

·  
Automated Driving Toolbox > Perception with Computer Vision and Lidar

·  
Navigation Toolbox > SLAM

MATLAB目前支持導(dǎo)入PCAP、PLY和PCD等格式的點(diǎn)云文件,提供了激光雷達(dá)點(diǎn)云分簇、配準(zhǔn)、融合等函數(shù),可用于目標(biāo)檢測、構(gòu)建高精地圖等。

如何從MATLAB Simul<em></em>ink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?2
 
 

R2020a的Ground Truth Labeler支持和激光雷達(dá)點(diǎn)云標(biāo)注,也支持將標(biāo)記的激光雷達(dá)數(shù)據(jù)用作深度學(xué)習(xí)模型的訓(xùn)練數(shù)據(jù)。MATLAB提供了一些exmples。

如何從MATLAB Simul<em></em>ink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?3
MATLAB提供的激光雷達(dá)相關(guān)example

2.1.3  傳感器融合

·  
Automated Driving Toolbox

·  
Sensor Fusion and Tracking Toolbox

Automated Driving Toolbox和Sensor Fusion and Tracking Toolbox提供了相關(guān)的模塊和函數(shù)。

 
如何從MATLAB Simul<em></em>ink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?4
 
 
來看看基于攝像頭和毫米波雷達(dá)傳感器融合的ACC:
ACC示例模型
 
2.2  規(guī)劃控制

·  
Automated Driving Toolbox

·  
Navigation Toolbox

·  
Stateflow

·  
Fuzzy Logic Toolbox

·  
Robust Control Toolbox

·  
Model Predictive Control Toolbox

Automated Driving Toolbox>Planning and Control

Simulink從MATLAB R2017a開始推出了Automated Driving Toolbox,提供了Longitudinal Controller Stanley、Lateral Controller Stanley等模塊,還提供了RRT*等路徑規(guī)劃算法。

規(guī)劃相關(guān)demo

控制方面可以了解一下MPC工具箱。
 
2.3  仿真測試

算法或者ECU開發(fā)完畢后,需要形成閉環(huán)來測試。為了構(gòu)成閉環(huán),還需要車輛模型、駕駛場景和傳感器模型。
仿真測試框架

2.3.1  車輛模型

·  
Powertrain Blockset

·  
Vehicle Dynamics Blockset

·  
Simscape

2.3.1.1  車輛動力總成
參考Powertrain Blockset。
 
動力總成工具箱
 
如何從MATLAB Simul<em></em>ink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?5
動力總成模塊
 
輪系模塊
 
轉(zhuǎn)向系模塊
 
如何從MATLAB Simul<em></em>ink入手,系統(tǒng)地學(xué)習(xí)自動駕駛?6
懸架模塊
 
車身模塊
 
行駛場景模塊
 
工具箱還提供了動力總成參考模型,如下圖,有燃油車、純電車、混動車(P0/ P1/ P2/ P3/ P4 )。
 
參考模型匯總
 
參考模型是類似這樣的:
 
參考模型示例
 
P2混動模型
 
另外,也可以用Simscape來搭建動力總成模型。官網(wǎng)Videos and Webinars也有不少關(guān)于PT工具箱的。

2.3.1.2  車輛動力學(xué)模型

參考Vehicle Dynamics Blockset,提供了3自由度、7自由度和14自由度車輛動力學(xué)參考模型。
 
3自由度、7自由度和14自由度車輛動力學(xué)模型
 
MathWorks將車輛動力學(xué)模型和動力總成模型結(jié)合,又提供了幾個完整車輛的參考應(yīng)用模型如下圖,包括:雙移線模型、正弦掃頻轉(zhuǎn)向模型、慢增量轉(zhuǎn)向模型等。
 
參考模型示例
 
官網(wǎng)Videos and Webinar有不少關(guān)于VD工具箱的視頻。
 
官網(wǎng)學(xué)習(xí)視頻
 
除此之外,如果你習(xí)慣用代碼寫車輛動力學(xué)模型,也可以直接把代碼封裝在s-function中。
 
2.3.2  駕駛場景和傳感器模型

市面上大多數(shù)的場景軟件都提供了MATLAB/Simulink的接口,這些軟件在這咱們就不著重提了。這里介紹下MathWorks自己開發(fā)的場景構(gòu)建工具Driving Scenario Designer以及與它合作緊密的另一個軟件Unreal Engine。這兩個軟件各有特點(diǎn),針對不同的需求。
 
Driving Scenario Designer和Unreal Engine

總的來說,Driving Scenario Designer使用拖放操作創(chuàng)建道路和交通參與者,可快速構(gòu)建場景,用作Control-in-loop應(yīng)用的測試和驗(yàn)證,但無法提供逼真的場景和傳感器數(shù)據(jù)。

Unreal Engine能提供高保真度的場景和傳感器模型,能夠合成逼真的圖像和激光雷達(dá)點(diǎn)云數(shù)據(jù)等等,適用于Perception-in-loop的應(yīng)用。

2.3.2.1  Driving Scenario Designer
Driving Scenario Designer
 
Driving Scenario Designer有這些特點(diǎn):

1、使用拖放操作創(chuàng)建道路和交通參與者,快速構(gòu)建場景

2、使用低保真度的視覺和雷達(dá)傳感器模型,直接輸出檢測到的目標(biāo)列表

3、支持將場景導(dǎo)出成MATLAB Function,再通過修改MATLAB Function實(shí)現(xiàn)批量化生成場景

4、支持將場景和傳感器導(dǎo)出成Simulink模塊

5、支持導(dǎo)入OpenDrive路網(wǎng)文件,支持基于記錄的實(shí)車數(shù)據(jù)構(gòu)建場景
 
2.3.2.2  Unreal Engine

MathWorks結(jié)合游戲引擎Unreal Engine構(gòu)建駕駛場景,并提供了與Unreal Engine場景交互的攝像頭、激光雷達(dá)、毫米波雷達(dá)等傳感器模型,去覆蓋Perception-in-loop的應(yīng)用。
 
Unreal Engine與Simulink交互

Unreal Engine(虛幻引擎,簡稱Unreal),由Epic開發(fā),是世界知名的游戲引擎之一,占有全球商用游戲引擎很高的市場份額。Unreal開發(fā)的游戲,代表作有《戰(zhàn)爭機(jī)器》系列,《質(zhì)量效應(yīng)》系列,《絕地求生》……

用戶在Unreal中構(gòu)建場景,MathWorks提供了場景中的傳感器模型。
 
自動駕駛工具箱中與Unreal Engine交互的傳感器模型

這些傳感器能輸出圖像RGB數(shù)據(jù)、激光雷達(dá)點(diǎn)云數(shù)據(jù)等等。
 
傳感器輸出的數(shù)據(jù)類型
 
每個傳感器都提供了相關(guān)的參考示例,放一個用Unreal構(gòu)建的場景來做高速公路車道跟隨的參考示例。
 
以上是我對從MATLAB/Simulink入手學(xué)習(xí)自動駕駛的一點(diǎn)經(jīng)驗(yàn),希望對感興趣的朋友有所幫助。 
分享到:
 
反對 0 舉報 0 收藏 1 評論 0
滬ICP備11026917號-25