simulink显示多个数据_Matlab/Simulink与自动驾驶(ADAS)算法开发
Simulink是如何存在自動(dòng)駕駛的開發(fā)過程中?廢話少講,讓咱們開始娓娓道來!
- 自動(dòng)駕駛的開發(fā)架構(gòu)是什么?
自動(dòng)駕駛軟件開發(fā)基礎(chǔ)的架構(gòu),逃不出我們經(jīng)常所說的三大法寶,感知--- 決策(規(guī)劃)--- 執(zhí)行(控制),這三個(gè)內(nèi)容,軟件開發(fā)基礎(chǔ)思路都不一樣,且聽小編娓娓道來!
感知:
雷達(dá)的感知大多都是一些傅里葉變換一類的算法來處理多普勒效應(yīng)的脈沖波信號(hào),目前主流的都是用C來做代碼。雷達(dá)的種類很多,這個(gè)算法僅僅限于毫米波雷達(dá),激光雷達(dá)小編了解不多。
攝像頭對(duì)應(yīng)的大多都是進(jìn)行圖像處理,雖然說目前Simulink包含對(duì)應(yīng)的圖像處理算法模型,但是這些算法模型僅僅對(duì)于大家寫論文有用,容易出結(jié)果,容易仿真!但是實(shí)際的算法中大多都是用OpenCV與C++進(jìn)行融合使用。
像慣性導(dǎo)航,GPS里面的算法,都是另外一個(gè)范疇,Simulink參與的不多,輪速,車身姿態(tài)大多來源于ESC,EPS,這些相對(duì)應(yīng)的模塊!
綜上所述,Simulink在感知這個(gè)層面,用的不多。
決策:
在L3以上的級(jí)別,因地圖的參與,我們稱之為規(guī)劃,L3級(jí)別以下的大多稱之為決策,即多個(gè)目標(biāo)的來源的融合,進(jìn)行決策。
融合算法目前大多在雷達(dá)與攝像頭里面,但是目前有逐漸獨(dú)立的趨勢(shì),向域控制器靠攏,相當(dāng)多的算法都柔和在里面。軟件開發(fā)雖然說有用Simulink開發(fā)的,但是很多還是用C,C++進(jìn)行開發(fā),尤其是對(duì)多維度的目標(biāo)追蹤與融合!
執(zhí)行(控制):
執(zhí)行分為,橫向控制域,縱向控制。橫向控制主要是與EPS進(jìn)行角度,以及扭矩的交互。縱向控制主要與動(dòng)力總成,底盤進(jìn)行交互,交互的核心就是加速度的需求與制動(dòng)的需求。
這些控制邏輯,用通俗的來說,都是簡(jiǎn)單的門控制邏輯,大都是或,與,非,一類的邏輯,這些就是Simulink的長(zhǎng)項(xiàng),所以執(zhí)行相關(guān)的邏輯,都是應(yīng)用Simulink進(jìn)行開發(fā),然后進(jìn)行代碼自動(dòng)生成,最后進(jìn)行柔和!
綜上所述,Simulink對(duì)自動(dòng)駕駛的支持,其實(shí)目前并不是很廣泛,大多集中在功能的控制方面,其它相關(guān)的圖像,雷達(dá)算法的應(yīng)用,其它大多都還在寫論文階段,總結(jié)如下所示!
- Simulink如何搞自動(dòng)駕駛算法開發(fā)?
目前搞自動(dòng)駕駛算法開發(fā)的,Simulink中有很多對(duì)應(yīng)的庫(kù)文件以及示例可以參考,如下圖所示的庫(kù)文件,可以拿來直接應(yīng)用。
以及對(duì)應(yīng)的示例文件,直接點(diǎn)擊Help,自己學(xué)習(xí)一下,應(yīng)該也問題不大。
然后講對(duì)應(yīng)的算法生成,進(jìn)行集成即可!至于所說的Simulink可以做融合,感知算法,小編無法否認(rèn),但是實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),現(xiàn)在實(shí)際工程用的還是很少的!
但是,當(dāng)你在開發(fā)某個(gè)功能的時(shí)候,前期的驗(yàn)證如何搞?如何搞個(gè)模擬的感知算法,如何搞個(gè)仿真的融合算法,如何驗(yàn)證前期你的功能算法,這個(gè)就需要我們的大殺器出場(chǎng)了!
- Simulink的大殺器--ADAS系統(tǒng)仿真與數(shù)據(jù)處理
這兩個(gè)東西,才是ADAS系統(tǒng)開發(fā)的主角,因?yàn)檎嬲墓δ荛_發(fā),肯定沒有發(fā)動(dòng)機(jī),變速箱復(fù)雜,但是ADAS系統(tǒng)的數(shù)據(jù)量,以及仿真需求,遠(yuǎn)遠(yuǎn)大于其它系統(tǒng),因?yàn)檫@個(gè)東西不仿真,直接測(cè)試,太花錢!
ADAS的系統(tǒng)是一個(gè)非常復(fù)雜的東西,在開發(fā)早期,特定階段或者某個(gè)場(chǎng)景的驗(yàn)證,如果用實(shí)際車輛的話,那就太花錢,而且不實(shí)際!所以我們?cè)谠缙谶M(jìn)行場(chǎng)景驗(yàn)證時(shí)候,后期問題復(fù)現(xiàn),就需要我們的大殺器Simulink!尤其對(duì)于L3,L4級(jí)別的功能,必須要我們這個(gè)大殺器才能完成幾百萬公里的驗(yàn)證。
ADAS系統(tǒng)仿真與驗(yàn)證
在Simulink的環(huán)境中建立仿真環(huán)境進(jìn)行算法驗(yàn)證與開發(fā),目前Simulink集成了Driving Scenario Designer的庫(kù),這個(gè)庫(kù)可以完成場(chǎng)景的規(guī)劃與定義,如下所示:
- 環(huán)境建模---道路,車道線。
- 車輛建模---道路車輛,行駛軌跡,自身車輛的尺寸,雷達(dá)相關(guān)截面積。
- 標(biāo)準(zhǔn)支持---目前網(wǎng)上有很多Open Drive 格式的路網(wǎng)文件,可以直接導(dǎo)入,進(jìn)行計(jì)算。
場(chǎng)景的建模完成后,Matab可以將其轉(zhuǎn)化為Mat文件(類似于自動(dòng)代碼生成的S-Function格式),然后導(dǎo)入Simulink的環(huán)境中,添加對(duì)應(yīng)的傳感器模型,進(jìn)行開環(huán),閉環(huán)的仿真!如下圖的開環(huán)仿真,以驗(yàn)證對(duì)應(yīng)的融合算法!
閉環(huán)的仿真是增加了車輛動(dòng)力學(xué),以及對(duì)應(yīng)的路徑設(shè)計(jì)。將其變成閉環(huán),以驗(yàn)證對(duì)應(yīng)的功能算法,比如ACC,AEB,TJA一類的功能。這兩個(gè)就是我們所說的SIL, 軟件在環(huán)仿真的學(xué)術(shù)定義!
當(dāng)這些場(chǎng)景與算法設(shè)計(jì)完成后,就需要對(duì)其進(jìn)行測(cè)試,測(cè)試的工具和方法,與之前講的自動(dòng)代碼生成的測(cè)試方法一樣,都可以用Simulink的Test Manager進(jìn)行動(dòng)態(tài)的Test Case 與靜態(tài)的代碼覆蓋率的測(cè)試,
以上講的都是正規(guī)的算法驗(yàn)證過程,適用于基礎(chǔ)功能開發(fā),但目前大多用的都是應(yīng)用型項(xiàng)目,應(yīng)用型項(xiàng)目的主要的測(cè)試工作都是進(jìn)行道路數(shù)據(jù)采集,然后進(jìn)行驗(yàn)證,這樣更加真實(shí)可靠,同時(shí)也省下很多仿真模型建立的工作。省錢高效!哈哈哈。
中國(guó)OEM的傳統(tǒng)做法。具體的操作方法與以上類似!導(dǎo)入場(chǎng)景數(shù)據(jù),可以驗(yàn)證具體的傳感器算法,導(dǎo)入目標(biāo)列表數(shù)據(jù),可以驗(yàn)證具體的功能算法,如下圖所示!
設(shè)計(jì),仿真,測(cè)試,這個(gè)閉環(huán)形成ADSA算法的開發(fā)與驗(yàn)證,顯示Simulink軟件的過人之處:
ADAS的數(shù)據(jù)處理
在實(shí)際的測(cè)試與驗(yàn)證的過程中,會(huì)收取大量的數(shù)據(jù),攝像頭的圖像數(shù)據(jù),雷達(dá)數(shù)據(jù),車道檢測(cè)數(shù)據(jù),激光雷達(dá)數(shù)據(jù),慣性測(cè)量單元數(shù)據(jù)等,這些結(jié)果如何處理?如何標(biāo)注真值呢?
Simulink中的ADST工具箱里面含有對(duì)應(yīng)的函數(shù),然后可以講對(duì)應(yīng)的圖像數(shù)據(jù),分析后的目標(biāo)列表,統(tǒng)一顯示分析在一個(gè)圖表中,進(jìn)行我們所謂的真值標(biāo)定, 然后進(jìn)行可視化,這個(gè)要比我們?nèi)庋劭?#xff0c;要NB多了,請(qǐng)參考下圖!
在做可視化的時(shí)候,Simulink可以將車輛坐標(biāo)系與圖像坐標(biāo)系的進(jìn)行同屏轉(zhuǎn)化,這樣可以繪制不同的點(diǎn)云數(shù)據(jù),便于傳感器信號(hào)的分析,驗(yàn)證。
- 小結(jié)
鄙人才疏學(xué)淺,這些總結(jié)僅僅為朋友們,進(jìn)行拋磚引玉,大家共同學(xué)習(xí)!ADSA系統(tǒng)的算法研究,猶如星辰大海,只要你抓住其中一個(gè)閃亮的星,就可以使你在智能化的大潮中屹立橋頭,成為大潮中的弄潮兒,同時(shí)也希望與我們所有的同行,共同學(xué)習(xí),共同進(jìn)步,一起去征服那個(gè)燦爛的星辰大海!
學(xué)無止境,深入淺出,精心研究,方成大器!與有志者共勉!
總結(jié)
以上是生活随笔為你收集整理的simulink显示多个数据_Matlab/Simulink与自动驾驶(ADAS)算法开发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python代码变成运行程序_pytho
- 下一篇: getter方法的作用 vuex_Vue