Mathworks資深應(yīng)用工程師王鴻鈞:仿真加速自動(dòng)駕駛功能的開(kāi)發(fā)

時(shí)間:2018-10-29

來(lái)源:新智駕

0

導(dǎo)語(yǔ):10月27日,Mathworks資深應(yīng)用工程師王鴻均在2018全球智能駕駛峰會(huì)上發(fā)表主題為《以仿真加速自動(dòng)駕駛功能的設(shè)計(jì)、實(shí)現(xiàn)與驗(yàn)證》的演講,分享頂尖軟件開(kāi)發(fā)商和供應(yīng)商眼中仿真加速自動(dòng)駕駛所需要的功能,以及如何實(shí)現(xiàn)、驗(yàn)證。

10月27日,Mathworks資深應(yīng)用工程師王鴻均在2018全球智能駕駛峰會(huì)上發(fā)表主題為《以仿真加速自動(dòng)駕駛功能的設(shè)計(jì)、實(shí)現(xiàn)與驗(yàn)證》的演講,分享頂尖軟件開(kāi)發(fā)商和供應(yīng)商眼中仿真加速自動(dòng)駕駛所需要的功能,以及如何實(shí)現(xiàn)、驗(yàn)證。

他主要介紹了Mathworks的MATLAB和SIMUlink兩個(gè)主要產(chǎn)品,以及它們是如何在自動(dòng)駕駛中發(fā)揮作用的,并介紹了兩個(gè)實(shí)際應(yīng)用案例。

以下是王鴻鈞演講全部?jī)?nèi)容,新智駕進(jìn)行了不改變?cè)獾木庉嫞?

Mathworks作為工具軟件提供商,在系統(tǒng)供應(yīng)商的背后以自己的力量默默推動(dòng)著自動(dòng)駕駛系統(tǒng)的發(fā)展。包括整機(jī)產(chǎn)品里面,或多或少都有Mathworks參與的成分。

Mathworks和MATLAB、SIMUlink

Mathworks公司來(lái)自美國(guó),公司的宗旨是加速工程與科學(xué)的進(jìn)程。不管是做科研還是做產(chǎn)品,在各種各樣的系統(tǒng)開(kāi)發(fā)過(guò)程中Mathworks的這種基于仿真的工程軟件越來(lái)越多地發(fā)揮作用。Mathworks主要產(chǎn)品是MATLAB、SIMUlink。

MATLAB作為一個(gè)領(lǐng)先數(shù)學(xué)計(jì)算軟件,距今已有35年的歷史了。MATLAB語(yǔ)言已經(jīng)成為一個(gè)工業(yè)標(biāo)準(zhǔn)的高級(jí)編成語(yǔ)言,它被廣泛的應(yīng)用于算法開(kāi)發(fā)數(shù)據(jù)計(jì)算,數(shù)據(jù)的可視化以及數(shù)據(jù)的分析當(dāng)中。

SIMUlink是基于車(chē)輛控制系統(tǒng)框圖對(duì)動(dòng)態(tài)系統(tǒng)建模和仿真。然后去分析系統(tǒng)的特性、完成系統(tǒng)的設(shè)計(jì)。同時(shí)SIMUlink軟件支持模型到嵌入式代碼的自動(dòng)轉(zhuǎn)化,可以將建立的系統(tǒng)模型轉(zhuǎn)換成C或者C++的代碼,把這些代碼直接用到嵌入式系統(tǒng)當(dāng)中,省去了手寫(xiě)手動(dòng)編碼的一個(gè)過(guò)程,同時(shí)SIMUlink提供了非常多的工具箱,可以使用它去進(jìn)行自動(dòng)控制系統(tǒng)的設(shè)計(jì)、信號(hào)處理和通訊系統(tǒng)的設(shè)計(jì),以及各種物理對(duì)象的建模。

MATLAB和SIMUlink如何用于開(kāi)發(fā)自動(dòng)駕駛功能

王鴻鈞介紹,Mathworks可以作用于自動(dòng)駕駛開(kāi)發(fā)的三個(gè)分析:

第一個(gè)方面是控制,MATLAB、SIMUlink是一個(gè)自動(dòng)控制的行業(yè)標(biāo)準(zhǔn)的軟件,可以使用MATLAB、SIMUlink去進(jìn)行系統(tǒng)的建模,進(jìn)行控制算法,以及先進(jìn)控制算法的開(kāi)發(fā),包括在自動(dòng)駕駛里面經(jīng)常用到模型預(yù)測(cè)控制算法的開(kāi)發(fā)。可以進(jìn)行仿真、進(jìn)行算法的設(shè)計(jì)等等,同時(shí)用SIMUlink自動(dòng)對(duì)進(jìn)行進(jìn)行回歸測(cè)試。

第二個(gè)方面是感知,在感知層Mathworks可以開(kāi)發(fā)視覺(jué)算法,雷達(dá)算法,包括激光雷達(dá)算法,可以對(duì)采集到的數(shù)據(jù)進(jìn)行可視化,對(duì)傳感器收集到的數(shù)據(jù)進(jìn)行分析,包括去設(shè)計(jì)深度學(xué)習(xí)的算法。Mathworks可以直接在MATLAB當(dāng)中完成深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)、網(wǎng)絡(luò)的訓(xùn)練以及網(wǎng)絡(luò)的部署。也可以生成用于GPO的代碼或者是FPGA的代碼,可以直接把它部署到相應(yīng)的硬件。

第三個(gè)方面是導(dǎo)航,Mathworks可以使用MATLAB進(jìn)行路徑規(guī)劃的算法的仿真,同時(shí)和機(jī)器人操作系統(tǒng)之間有良好的連接性。

此外,作為一個(gè)通用的數(shù)學(xué)平臺(tái),MATLAB還提供了非常多的其它功能,比如數(shù)據(jù)分析,大數(shù)據(jù)或者基于大數(shù)據(jù)的機(jī)器學(xué)習(xí)等等。

功能安全方面,自動(dòng)駕駛系統(tǒng)是高安全性等級(jí)要求的系統(tǒng),Mathworks對(duì)系統(tǒng)功能安全方面有一系列認(rèn)證的要求,比如ISO26262的認(rèn)證,Mathworks提供了一整套的驗(yàn)證和測(cè)試的工具鏈,可以幫忙完成認(rèn)證的工作。

Mathworks和Scania的應(yīng)用案例

合作伙伴Scania是Mathworks工具應(yīng)用的典型案例,它用Mathworks工具開(kāi)發(fā)部署,用AEB的傳感器融合算法。目前AEB也是已經(jīng)開(kāi)始作為一個(gè)歐盟的標(biāo)準(zhǔn),強(qiáng)制安裝在貨車(chē)上面,在國(guó)內(nèi)也是很快會(huì)成為下一個(gè)需要強(qiáng)制安裝的對(duì)象。

在系統(tǒng)原理上,傳感器融合的算法是從兩類(lèi)傳感器采集到周?chē)沫h(huán)境感知數(shù)據(jù)。第一類(lèi)傳感器是毫米波雷達(dá),第二類(lèi)傳感器是攝像頭的圖像數(shù)據(jù),Mathworks針對(duì)這兩個(gè)傳感器采集到周?chē)?chē)輛目標(biāo)檢測(cè)的結(jié)果去進(jìn)行一個(gè)融合,然后獲得周?chē)h(huán)境的一個(gè)準(zhǔn)確感知。

需要通過(guò)搭載了雷達(dá)傳感器和視覺(jué)傳感器的實(shí)驗(yàn)車(chē)輛進(jìn)行大量公路的實(shí)驗(yàn),然后區(qū)別采集到傳感器第一手原始的數(shù)據(jù),把這些數(shù)據(jù)使用數(shù)存儲(chǔ)下來(lái)。傳統(tǒng)上來(lái)說(shuō),如果設(shè)計(jì)了一個(gè)新的算法,進(jìn)行了一輪新的迭代,需要從頭進(jìn)行路試,然后把新的算法再進(jìn)行整個(gè)100多萬(wàn)公里的公路測(cè)試,但是顯然這個(gè)效率是非常低的,所以Mathworks采用一種重復(fù)仿真的工作流程,這中間最關(guān)鍵的核心環(huán)節(jié)就是仿真,也就是采集到了150萬(wàn)公里的實(shí)車(chē)數(shù)據(jù)之后,不需要再去進(jìn)行公路測(cè)試了,可以把這些數(shù)據(jù)放到數(shù)據(jù)庫(kù)里面去,使用設(shè)計(jì)算法去運(yùn)行這些數(shù)據(jù)。Mathworks通過(guò)仿真的環(huán)節(jié)進(jìn)行一個(gè)虛擬的測(cè)試,可以進(jìn)行快速的迭代,每修改一輪算法之后只需要在服務(wù)器上面運(yùn)行仿真的環(huán)境,然后在這個(gè)仿真的環(huán)境里面測(cè)試算法就可以了。

Scania統(tǒng)計(jì)的結(jié)果是:每運(yùn)行一次150萬(wàn)公里的仿真需要的時(shí)間是12個(gè)小時(shí),只需要12個(gè)小時(shí)就可以替代150萬(wàn)公里的公路測(cè)試,這是一個(gè)非常高效率的行為。

MATLAB在整個(gè)傳感器融合算法的開(kāi)發(fā)過(guò)程中提供了一個(gè)完整可視化開(kāi)發(fā)的環(huán)境,以及一個(gè)圓形算法。MATLAB提供的功能包括:視頻的播放、視頻上的一些疊加顯示,包括目標(biāo)框的識(shí)別、車(chē)道線(xiàn)的識(shí)別以及右邊鳥(niǎo)瞰圖的繪圖,把這些部分組合起來(lái)就可以獲得一個(gè)圖形化的傳感器融合的開(kāi)發(fā)界面,同時(shí)Mathworks提供了MATLAB Coder,這是是從MATLAB代碼轉(zhuǎn)換成C或者是C++嵌入式代碼的一個(gè)工具。直接使用MATLAB Coder就可以將其轉(zhuǎn)換為C或者C++代碼。得到C代碼以后,就可以把這些算法用于計(jì)算機(jī)或者一些嵌入式系統(tǒng),只要獲得了C或者C++代碼就可以很容易進(jìn)行移植工作。

Mathworks和Voyage的應(yīng)用案例

Voyage是美國(guó)一個(gè)比較新興的自動(dòng)駕駛公司。Voyage在2017年公開(kāi)了一些自動(dòng)駕駛出租車(chē)運(yùn)行的信息。Voyage是怎樣使用MATLAB 和Simulink來(lái)開(kāi)發(fā)他們的車(chē)輛縱向控制的呢?

首先Voyage用Simulink進(jìn)行縱向模型控制器的仿真。然后生成一個(gè)ROS節(jié)點(diǎn),和ROS這類(lèi)系統(tǒng)是有一個(gè)比較好的互通性,因?yàn)镸athworks提供了相應(yīng)的支持,可以生成C++代碼,用于生成ROS的節(jié)點(diǎn),同時(shí)生成的ROS節(jié)點(diǎn),用戶(hù)可以把它集成到ROS開(kāi)源軟件的框架里面去。框架里面還有其它的組件,包括感知與規(guī)劃算法在內(nèi),可以很方便的把其中一部分功能用MATLAB和SIMUlink去補(bǔ),通過(guò)模型開(kāi)發(fā),然后再進(jìn)行代碼生成。

Voyage的一個(gè)硬件負(fù)責(zé)人說(shuō):“我們一直在尋找一種快速原型產(chǎn)品的開(kāi)發(fā)方式,我們發(fā)現(xiàn)用SIMUlink進(jìn)行控制器的開(kāi)發(fā)和代碼生成,同時(shí)使用MATLAB實(shí)現(xiàn)開(kāi)發(fā)任務(wù)的自動(dòng)化,可以幫助我們進(jìn)行快速的迭代,能夠大大提高我們整個(gè)產(chǎn)品的開(kāi)發(fā)效率。”

Voyage很快速的從MATLAB當(dāng)中提供一個(gè)參考事例的基礎(chǔ)上進(jìn)行仿真,并且生成控制器的C++代碼,在三天之內(nèi)就集成到了實(shí)車(chē)上進(jìn)行測(cè)試。其實(shí)它存在非常多的問(wèn)題,實(shí)在功能上,對(duì)它需求的定義也不是很完善,需要在實(shí)車(chē)上進(jìn)行大量的實(shí)驗(yàn),去完善控制器的設(shè)計(jì)需求。

對(duì)起停這兩個(gè)狀態(tài)分別做設(shè)計(jì),分別設(shè)一個(gè)獨(dú)立的控制算法,然后組合起來(lái),形成一個(gè)完整的縱向控制器,Voyage在實(shí)車(chē)測(cè)試的時(shí)候,發(fā)現(xiàn)了這些新需求,針對(duì)這些新的需求完善設(shè)計(jì),去修改控制器。反復(fù)加入了這類(lèi)需求之后,Voyage再去修改SIMUlink,和SIMUlink里的算法設(shè)計(jì)。最后去完成模型預(yù)測(cè)控制的參數(shù)迭代,以及一些邊界約束條件迭代等等,使得整個(gè)控制器的性能越來(lái)越好,就可以往產(chǎn)品化的方向繼續(xù)努力。

Mathworks提供一系列仿真自動(dòng)駕駛功能的參考程序

目前絕大多數(shù)已有的汽車(chē)產(chǎn)品處于L1-L2階段,在歐盟的標(biāo)準(zhǔn)里面,2020年是L1普及甚至成為強(qiáng)制標(biāo)準(zhǔn)的階段。L2在一些車(chē)輛上已經(jīng)實(shí)裝了,現(xiàn)在有些產(chǎn)品已經(jīng)有了L2的功能,比如說(shuō)TGA、交通擁堵輔助這類(lèi)功能就是典型L2的功能。

L3以上的技術(shù)目前為止并不成熟,Mathworks的demo也在不斷優(yōu)化完善中,目前提供了一個(gè)簡(jiǎn)單的仿真框架,就是使用雷達(dá)和視覺(jué)傳感器,傳感器融合模型預(yù)測(cè)控制等等模塊進(jìn)行系統(tǒng)閉環(huán)仿真的MATLAB。這個(gè)框架當(dāng)中包含了控制器、傳感器模型,可以在這個(gè)基礎(chǔ)上快速進(jìn)行原型系統(tǒng)的仿真。可以通過(guò)SIMUlink當(dāng)中一些樸實(shí)無(wú)華的功能去對(duì)仿真過(guò)程當(dāng)中的信號(hào)進(jìn)行分析。

控制器包括兩塊內(nèi)容:第一塊是傳感器融合與目標(biāo)跟蹤;第二塊是右邊ACC控制算法。使用模型預(yù)測(cè)控制可以把這部分分別生成C++代碼。對(duì)于車(chē)輛建模,車(chē)輛屬于被控對(duì)象,需要用到車(chē)輛動(dòng)力學(xué)模型,所以Mathworks也推出了車(chē)輛動(dòng)力學(xué)模塊庫(kù),同時(shí)也支持3D顯示,仿真過(guò)程可以通過(guò)3D畫(huà)面顯示出來(lái)。

同時(shí)Mathworks也支持批量的自動(dòng)化測(cè)試,因?yàn)閭€(gè)自動(dòng)駕駛功能的測(cè)試需要用到大量場(chǎng)景,甚至是幾十萬(wàn)上百萬(wàn)公里的測(cè)試場(chǎng)景。Mathworks提供了一個(gè)駕駛場(chǎng)景設(shè)計(jì)器可以去畫(huà)一些簡(jiǎn)單的測(cè)試場(chǎng)景,也提供了一些預(yù)制的駕駛場(chǎng)景,AEB、ACC等等的測(cè)試場(chǎng)景,Mathworks也支持Open driver道路文件的導(dǎo)入,用戶(hù)可以去導(dǎo)入一些已有的道路去進(jìn)行場(chǎng)景設(shè)計(jì),去進(jìn)行仿真。

還可以使用SIMUlink Test去運(yùn)行自動(dòng)化的批量測(cè)試,載入測(cè)試運(yùn)行測(cè)試,分析結(jié)果,所有的這些動(dòng)作都是自動(dòng)化的,最后可以生成一份測(cè)試報(bào)告,在測(cè)試報(bào)告中可以分析哪些測(cè)試通過(guò),哪些測(cè)試不通過(guò)。

最后如果還想把圖像算法或者是激光雷達(dá)算法等集成到整個(gè)閉環(huán)的仿真當(dāng)中,Mathworks還提供了一種是可以和“虛幻”引擎的3D道路場(chǎng)景進(jìn)行協(xié)同和仿真的方法。MATLAB通過(guò)插件可以使用虛幻編輯器去創(chuàng)造一些自定義的場(chǎng)景,并與SIMUlink進(jìn)行協(xié)同和仿真。

“虛幻”引擎這一類(lèi)的場(chǎng)景設(shè)計(jì)工具,有著相對(duì)豐富的資源和素材。同樣Mathworks的三維游戲引擎也可以用來(lái)去進(jìn)行雷達(dá)傳感器或者激光雷達(dá)傳感器的建模,整個(gè)系統(tǒng)仿真環(huán)境也可以把它放到硬件在環(huán)、甚至是車(chē)輛在環(huán)仿真里面去。因?yàn)镸athworks的車(chē)輛模型傳感器模型都是可以生成C或者是C++代碼的,可以分到仿真機(jī)這種實(shí)時(shí)計(jì)算機(jī)里面去運(yùn)行。

“虛幻”引擎可以在桌面上運(yùn)行,把嵌入式控制器連接起來(lái)就可以形成一個(gè)硬件在環(huán)仿真的環(huán)境。在傳統(tǒng)上,MATLAB和SIMUlink本身提供了一套基于模型設(shè)計(jì)的微開(kāi)發(fā)流程完整的工具鏈。

在整個(gè)需求定義模型設(shè)計(jì)完成之后,還要做相應(yīng)的軟件設(shè)計(jì)和代碼生成,Mathworks擁有Simulink Coder這類(lèi)基于模型的驗(yàn)證工具,包括代碼驗(yàn)證工具、進(jìn)行實(shí)時(shí)仿真測(cè)試的工具等等,這些工具都可以幫助用戶(hù)進(jìn)行一個(gè)實(shí)際產(chǎn)品的開(kāi)發(fā)。

Mathworks最后都是面向嵌入式的處理器或者嵌入式的系統(tǒng)進(jìn)行產(chǎn)品的實(shí)現(xiàn)。同時(shí)Mathworks也提供了大量的經(jīng)過(guò)認(rèn)證的工具,幫助用戶(hù)滿(mǎn)足功能安全標(biāo)準(zhǔn)。

低速無(wú)人駕駛產(chǎn)業(yè)綜合服務(wù)平臺(tái)版權(quán)與免責(zé)聲明:

凡本網(wǎng)注明[來(lái)源:低速無(wú)人駕駛產(chǎn)業(yè)綜合服務(wù)平臺(tái)]的所有文字、圖片、音視和視頻文件,版權(quán)均為低速無(wú)人駕駛產(chǎn)業(yè)綜合服務(wù)平臺(tái)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-85260609聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“低速無(wú)人駕駛產(chǎn)業(yè)綜合服務(wù)平臺(tái)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注低速無(wú)人駕駛產(chǎn)業(yè)聯(lián)盟公眾號(hào)獲取更多資訊

最新新聞