“評(píng)測(cè)NI的無(wú)人駕駛測(cè)試方案”在后臺(tái)獲得了一些業(yè)內(nèi)專業(yè)人士的踴躍交流和互動(dòng),師子小分隊(duì)成員們都感覺(jué)非常榮幸,決定百尺竿頭更進(jìn)一步,把HIL的基本原理和無(wú)人駕駛領(lǐng)域的相關(guān)測(cè)試技術(shù)結(jié)合起來(lái),做進(jìn)一步系統(tǒng)性介紹,希望大家能夠喜歡~
這個(gè)問(wèn)題好像挺尷尬的,“無(wú)人駕駛”就是機(jī)器代替人開(kāi)車嘛。人開(kāi)車的時(shí)候,要用耳朵聽(tīng)、眼睛看,做出判斷,去控制方向盤(pán)、油門(mén)剎車,從而在遵守交通法規(guī)的前提下,到達(dá)目的地。無(wú)人駕駛也是完全一樣,只不過(guò)控制車輛的是一個(gè)“控制器”,這個(gè)控制器要通過(guò)傳感器去觀察路況和周圍環(huán)境,通過(guò)自己的軟件算法,也去控制油門(mén)、剎車、方向盤(pán)等操控設(shè)備,從而在遵守交通法規(guī)的前提下,到達(dá)目的地。
美帝國(guó)主義對(duì)無(wú)人駕駛有級(jí)別分類,從L1到L5,“L”后面的數(shù)字越大,說(shuō)明無(wú)人駕駛做得越好、越強(qiáng)、越完善,大家可以百度查一下。
ADAS控制器是無(wú)人駕駛的決策中樞,它也是一個(gè)單片機(jī),但是性能非常強(qiáng)大,特別是圖像圖像處理方面。多數(shù)汽車芯片供應(yīng)商都發(fā)布了無(wú)人駕駛相關(guān)的處理芯片,比如飛思卡爾、瑞薩、mobileye等公司,當(dāng)然,在這個(gè)領(lǐng)域?qū)嵙ψ顬閺?qiáng)大的,還數(shù)美國(guó)的英偉達(dá)(當(dāng)然,Mobileye也不差)。
除了無(wú)人駕駛芯片和ADAS控制器之外,還有一些公司在搞ADAS的算法開(kāi)發(fā),它們可能是買的ADAS控制器,然后自己做ADAS軟件算法,下載到ADAS控制器里面去,賣給車企,比如百度、華為、博世等。
當(dāng)然,也有賣ADAS開(kāi)源算法的,但是,這個(gè)算法到底行不行,是最新的算法代碼還是一兩年前的版本,這個(gè)不太好判斷,估計(jì)最新的源碼應(yīng)該是不賣的吧。
除此之外,ADAS領(lǐng)域還有一些傳感器供應(yīng)商,它們供應(yīng)ADAS系統(tǒng)的眼睛和耳朵,負(fù)責(zé)“眼光六路耳聽(tīng)八方”,比如攝像頭、雷達(dá)、激光雷達(dá)等等。
還有一些相關(guān)的配套廠商,比如提供5G傳輸?shù)?,提供圖像LVDS傳輸?shù)牡鹊取?/div>
當(dāng)然,還有一些是做ADAS系統(tǒng)測(cè)試的,這個(gè)領(lǐng)域當(dāng)前也是相當(dāng)火,這也是本篇文章的重點(diǎn)所在。
02、ADAS測(cè)試的基本原理
ADAS測(cè)試也是HIL測(cè)試的一種,我們先來(lái)看看ADAS系統(tǒng)的構(gòu)成,然后再分析一下如何制定測(cè)試方案。
攝像頭有帶處理器的,可以先預(yù)處理一下,然后把處理后的信息發(fā)給ADAS控制器,也有不帶處理器的,把采集到的原始信號(hào)全部發(fā)給ADAS控制器。它們的區(qū)別,大致就相當(dāng)于數(shù)字傳感器和模擬傳感器的區(qū)別,誰(shuí)優(yōu)誰(shuí)劣不好說(shuō),但是總體而言,帶處理能力的攝像頭,會(huì)減輕ADAS算法的代碼量,因?yàn)樗鼤?huì)承擔(dān)一部分處理任務(wù),這就是一個(gè)分工的事情(但是,如何分工,分多少,行業(yè)內(nèi)沒(méi)有標(biāo)準(zhǔn))。如果攝像頭處理得比較少或者幾乎不處理,可以采用LVDS編碼傳輸信息(傳輸速度高),如果攝像頭處理得多一些,可以采用以太網(wǎng)傳輸處理后的信息,如果攝像頭內(nèi)部的處理器干了相當(dāng)大比例的活,甚至可以使用CAN,把處理后的信息傳遞給ADAS控制器。
2.1 閉環(huán)測(cè)試
我們用HIL測(cè)試的基本原理來(lái)剖析一下上面那個(gè)“ADAS系統(tǒng)基本構(gòu)成圖”。ADAS控制器發(fā)出的“轉(zhuǎn)向、加減速”等信息,按道理,如果想測(cè)得比較逼真,是需要一個(gè)場(chǎng)景模型的,這個(gè)“場(chǎng)景模型”可以通過(guò)“積分”等算法,知曉車輛在場(chǎng)景里的位置,而我們能夠在場(chǎng)景顯示界面里看到車的動(dòng)畫(huà)效果,栩栩如生,這就叫“閉環(huán)測(cè)試”。
但是,這種情況下,攝像頭、雷達(dá)的信息,是不可能再通過(guò)“回放”的方式去輸入給ADAS控制器了,因?yàn)樗^“閉環(huán)”,它的本質(zhì)意義就是,“第二類整車模型”的處理結(jié)果,要反饋輸入給被測(cè)對(duì)象,而這個(gè)“處理結(jié)果”,當(dāng)然包括車輛所處的“場(chǎng)景視野”、“攝像頭信息”,此種情況下,攝像頭信息只能來(lái)自這個(gè)閉環(huán)的“場(chǎng)景模型”,這個(gè)“場(chǎng)景模型”,一般就是指CarMaker、PreScan一類軟件。
場(chǎng)景軟件的場(chǎng)景,一般都是怎么送給ADAS系統(tǒng)的呢?看一下下面這個(gè)圖:
這就是一些廠家做的ADAS測(cè)試方案,叫“攝像頭在環(huán)”,其“虛實(shí)結(jié)合”的切割方法如下圖所示(→→HIL27講,零基礎(chǔ)教程,從根本原理上探討HIL的切割方法,師子一號(hào)一直搞不懂為什么叫這么名字,不就是形成了一個(gè)閉環(huán)嗎?這樣的閉環(huán)場(chǎng)景模型,也幾乎沒(méi)有人工控制的接口了):
他們把CarMaker的場(chǎng)景動(dòng)畫(huà)播放在了一個(gè)屏幕上,然后用攝像頭去拍攝這個(gè)屏幕,假裝自己就在鄉(xiāng)野公路上快樂(lè)地馳騁,路上根本沒(méi)有其他車,或者雖然有,但是很少而且都特別規(guī)矩。
我們先不去評(píng)價(jià)這種場(chǎng)景軟件(場(chǎng)景軟件=場(chǎng)景模型,朋友們后續(xù)可以這么理解)生成的場(chǎng)景是否實(shí)用、能否足夠深度地考察ADAS控制器,單就這個(gè)投影屏幕而言,它對(duì)場(chǎng)景模型生成的場(chǎng)景的還原度,是值得商榷的。
比如,它只能使用攝像頭,雷達(dá)什么的就別想了,你用雷達(dá)對(duì)著投影幕布,測(cè)出來(lái)的是到屏幕的距離,而絕非到屏幕中“前車”的距離。
受限于顯示技術(shù),如果場(chǎng)景軟件中,對(duì)面會(huì)車來(lái)了一輛開(kāi)著遠(yuǎn)光燈的寶馬,那這個(gè)屏幕也是幾乎不可能仿得出來(lái)的。
此外,顯示器畢竟也是一個(gè)物體,即使“場(chǎng)景”非常理想,光照適中、沒(méi)有太亮和太暗的部分、天氣晴朗、車況簡(jiǎn)單,那么,你用攝像頭拍出來(lái)的,也是像蒙上了一層?xùn)|西。“這層?xùn)|西”當(dāng)然需要在ADAS算法中把它處理掉,然后在實(shí)車上,是不存在“這層?xùn)|西”的,理論和實(shí)際脫節(jié)了一丟丟哦(當(dāng)然,可能也有那種非常專業(yè)的顯示設(shè)備,人眼根本看不出來(lái)是屏幕還是真實(shí)世界,師子小分隊(duì)的成員們都沒(méi)用見(jiàn)到過(guò),不好評(píng)論)……
后來(lái),隨著技術(shù)的進(jìn)步,攝像頭也變得強(qiáng)大了,內(nèi)部又可以劃分為攝像頭和攝像頭ECU了(前面我們說(shuō)的帶處理能力的攝像頭,指的就是這個(gè)“攝像頭ECU”處理的),如果能跳過(guò)這個(gè)效果不太好的投影屏拍攝環(huán)節(jié),直接把場(chǎng)景軟件生成的圖像圖像數(shù)據(jù)(雷達(dá)數(shù)據(jù)也類似)發(fā)給攝像頭ECU,不是更好嗎?
這個(gè)是可行的,因?yàn)閿z像頭這個(gè)環(huán)節(jié),是標(biāo)準(zhǔn)化的,它向攝像頭ECU發(fā)送信息,無(wú)論是協(xié)議數(shù)據(jù)格式還是插件接口類型,都是標(biāo)準(zhǔn)化的,所以場(chǎng)景軟件完全可以直接造出這種數(shù)據(jù)格式,直接送給攝像頭ECU,這種情況下的HIL測(cè)試系統(tǒng),切割點(diǎn)又變化了。如上圖所示,是從攝像頭內(nèi)部的連接線處進(jìn)行切割,被有些公司成為“攝像頭ECU在環(huán)”(搞不懂這名字到底是怎么起的)。
如果我們想更進(jìn)一步,把攝像頭ECU也跳過(guò),直接按照攝像頭ECU和ADAS控制器之間的交互協(xié)議,通過(guò)場(chǎng)景軟件把信息發(fā)給ADAS控制器,可以嗎?這個(gè)要看情況,如果攝像頭ECU沒(méi)有做邏輯算法處理,直接把原始數(shù)據(jù)編碼成LVDS或者以太網(wǎng)信號(hào),那是可以的,比如我們用LVDS板卡,把場(chǎng)景生成的信息流轉(zhuǎn)換成ADAS控制器可以接收的類型,就可以了。但是,如果攝像頭ECU承擔(dān)了一定的處理任務(wù),就很難再跳過(guò)攝像頭ECU了,因?yàn)槎鄶?shù)情況下,你并不知道它承擔(dān)了多少,干了哪些活,除非攝像頭ECU也是場(chǎng)景軟件商家提供的,或者等有一天,攝像頭ECU干的活也標(biāo)準(zhǔn)化了,才可能行。
當(dāng)我們把攝像頭跳過(guò)去之后,“拍攝屏幕”所導(dǎo)致的弊端,也就不存在了,這個(gè)時(shí)候,這個(gè)方案的優(yōu)劣,就取決于場(chǎng)景模型的質(zhì)量了。其實(shí)這個(gè)也沒(méi)太多可說(shuō)的,場(chǎng)景模型的圖像,非常理想化,有可能無(wú)法檢查出潛在的功能缺陷,而且可能難以適應(yīng)中國(guó)復(fù)雜的國(guó)情和路況,所以,這種測(cè)試方法,像有些朋友們說(shuō)的那樣,適合實(shí)驗(yàn)室理論研究,以及工程上的粗略初步測(cè)試,不能直接上車。
我們發(fā)現(xiàn)個(gè)問(wèn)題哈,攝像頭被跳過(guò)了,但是如果攝像頭出問(wèn)題了咋辦?這個(gè)也好辦,把攝像頭拎出來(lái)單獨(dú)測(cè)試就好了,很多企業(yè)就是這么干的,只測(cè)攝像頭,環(huán)節(jié)也少,效果也直觀,就像師子一號(hào)在之前介紹BMS的HIL測(cè)試那樣,有些企業(yè),會(huì)單獨(dú)把采集器拎出來(lái)做HIL測(cè)試。
2.2 開(kāi)環(huán)測(cè)試
開(kāi)環(huán)測(cè)試并不像它的名字給人的感覺(jué)那么低級(jí),相反,在HIL測(cè)試領(lǐng)域,因?yàn)殚_(kāi)環(huán)測(cè)試具有極大的靈活性,并且對(duì)設(shè)備的要求相對(duì)較低,所以它算是一種更高級(jí)更高效的做法,對(duì)工程師的要求更高。
關(guān)于開(kāi)環(huán)測(cè)試,我們可以用VCU的HIL測(cè)試來(lái)做個(gè)比方,如下圖所示,這是個(gè)閉環(huán)的:
車輛模型根據(jù)VCU發(fā)出來(lái)的“扭矩需求值”,通過(guò)各種計(jì)算公式,得出車速,把車速再反饋給VCU。VCU根據(jù)車速和踏板深度,查表得出“扭矩需求值”,又發(fā)給車輛模型。其中“踏板深度”是個(gè)軟件控件,由測(cè)試員操作,測(cè)試員在軟件界面上“踩下”一定深度,可以非常直觀地看到車速的變化,這,就是閉環(huán)HIL測(cè)試。
但是這種“閉環(huán)”,師子一號(hào)并不推崇,因?yàn)樗撕每础⒅庇^之外,對(duì)VCU測(cè)試而言并沒(méi)有太大幫助,如果要檢測(cè)VCU的功能,我們只需要看“扭矩需求值=f(踏板深度,車速)”的對(duì)應(yīng)關(guān)系是否準(zhǔn)確成立就可以了,開(kāi)環(huán)測(cè)試完全可以搞定,而且覆蓋率更高。
所謂開(kāi)環(huán)測(cè)試,我們還用上圖為例,車速就不是整車模型反饋回來(lái)的了,而是我們?nèi)藶橹圃斐鰜?lái)的,比如上圖中,我們把踏板深度設(shè)置為80%(很深了),把車速設(shè)置為20kmph,這個(gè)時(shí)候,我們用紙筆算一下,扭矩需求值大概是150Nm,所以VCU輸出的期望值,就是150Nm。這個(gè)時(shí)候,如果我們不修改車速值和踏板深度,VCU輸出的一直是150Nm,給人的感覺(jué)不夠逼真,油門(mén)踩了那么深了,車速就是上不去,但是,這沒(méi)關(guān)系,對(duì)驗(yàn)證VCU的功能而言,已經(jīng)夠了(除非VCU具有車速異常偵測(cè)功能,比如踩下踏板,車速上不去,會(huì)報(bào)錯(cuò),這個(gè)時(shí)候,你就必須通過(guò)模型或者通過(guò)自動(dòng)化測(cè)試工具,給它創(chuàng)造一個(gè)合情合理的車速哈~)。
開(kāi)環(huán)測(cè)試怎么應(yīng)用到ADAS測(cè)試?yán)锩婺兀?br />
首先,場(chǎng)景模型就不要想了,不存在的。
開(kāi)環(huán)測(cè)試的設(shè)備要求很簡(jiǎn)單,方法很靈活,一般都是把實(shí)車上攝像頭、雷達(dá)發(fā)給ADAS信號(hào)同步錄制下來(lái),它們之間用什么協(xié)議傳輸,你就要用什么協(xié)議的設(shè)備錄制下來(lái),比如用的是LVDS協(xié)議的話,可以采用德國(guó)GOEPEL公司的專用設(shè)備,然后拿到實(shí)驗(yàn)室回放,在同一時(shí)間坐標(biāo)下,比對(duì)ADAS輸出的“油門(mén)”、“剎車”、“轉(zhuǎn)向”等信號(hào)就可以了,當(dāng)然,也可以比對(duì)更多的信號(hào),這樣會(huì)更詳細(xì)精確一些。最理想的情況,當(dāng)然是ADAS輸出的信號(hào),和一個(gè)經(jīng)驗(yàn)豐富的老司機(jī)開(kāi)出來(lái)的信號(hào)完全一樣咯~
開(kāi)環(huán)測(cè)試存在的累積誤差,比如我們通過(guò)ADAS輸出的“油門(mén)”、“剎車”、“轉(zhuǎn)向”等信息,發(fā)現(xiàn)積分積出來(lái)的軌跡,和車輛的實(shí)際軌跡有明顯出入,但是這一般是不會(huì)有什么問(wèn)題的,因?yàn)锳DAS系統(tǒng)會(huì)根據(jù)誤差之后的“場(chǎng)景”進(jìn)行微調(diào)的,矯正回來(lái),一般不會(huì)像軌跡積分展示的那樣,開(kāi)到溝里去的。
在開(kāi)環(huán)測(cè)試的實(shí)車數(shù)據(jù)錄制中,還有一些企業(yè)會(huì)把攝像頭發(fā)給攝像頭ECU的信號(hào)錄制下來(lái),這相當(dāng)于錄制的視頻,然后回到實(shí)驗(yàn)室之后,再把視頻回放給攝像頭ECU,驗(yàn)證“攝像頭ECU+ADAS控制器”的整體表現(xiàn)。
03、開(kāi)環(huán)測(cè)試和閉環(huán)測(cè)試對(duì)比
閉環(huán)測(cè)試采用場(chǎng)景軟件,擁有更加豐富的場(chǎng)景庫(kù),可以信手拈來(lái),很方便,但是這些場(chǎng)景多數(shù)都是老外開(kāi)發(fā)的,并不適合中國(guó)國(guó)情,而且場(chǎng)景軟件的路況非常理想,對(duì)ADAS系統(tǒng)的考驗(yàn)很有限,所以,它們更適合做理論研究,或者企業(yè)中進(jìn)行初步粗測(cè)。
開(kāi)環(huán)測(cè)試采用的是實(shí)車數(shù)據(jù),可靠性自然不在話下。開(kāi)環(huán)測(cè)試的麻煩點(diǎn)在于,1,可能會(huì)有有較多的信號(hào)需要比對(duì)標(biāo)注,工作量較大,比較靈活;2,錄制不易,合適的場(chǎng)景不一定能錄得到。關(guān)于第一個(gè)問(wèn)題,業(yè)內(nèi)目前普遍在探索自動(dòng)化核對(duì)方法,對(duì)于第二個(gè),則借助大數(shù)據(jù),有望能獲取更多合適的錄制場(chǎng)景,比如借助英偉達(dá)公司建設(shè)的場(chǎng)景數(shù)據(jù)庫(kù),則可以在算法還未開(kāi)發(fā)好的情況下,就準(zhǔn)備提前準(zhǔn)備好測(cè)試case。