導(dǎo)讀
上一篇文章《自動(dòng)駕駛崗位入門技術(shù)及前景》中,我將自動(dòng)駕駛目前需求量較高的相關(guān)崗位分成了三大類,分別為算法、仿真以及測(cè)試方向,并且也著重介紹了算法類方向下的細(xì)分崗位的入門技術(shù)及未來(lái)前景。這篇文章就想和大家深入解讀一下另外的兩個(gè)方向:仿真及測(cè)試崗位。
1、什么是自動(dòng)駕駛仿真技術(shù)
自動(dòng)駕駛的仿真技術(shù)現(xiàn)如今越來(lái)越受到企業(yè)的重視,在自動(dòng)駕駛算法技術(shù)還不成熟的今天,進(jìn)行大規(guī)模的實(shí)車路測(cè)顯然是不現(xiàn)實(shí)的,這不僅有極大的安全隱患,同時(shí)也非常的沒(méi)有效率,目前的感知算法都依賴大量的數(shù)據(jù)集,如果僅僅依靠實(shí)車采集的數(shù)據(jù),顯然對(duì)提升感知效果幫助非常有限。
另外,在自動(dòng)駕駛算法日益成熟的今天,各大廠商著重解決的應(yīng)該是各種極端條件下的corner case,這不僅關(guān)乎到無(wú)人車的安全,更關(guān)系到企業(yè)的品牌,因?yàn)楦鞣Ncorner case而導(dǎo)致的實(shí)車事故都會(huì)對(duì)企業(yè)的品牌形象造成不可挽回的打擊。因此,在實(shí)車測(cè)試前,在仿真環(huán)境中進(jìn)行大量的corner case測(cè)試也就顯得至關(guān)重要了。
目前的自動(dòng)駕駛仿真技術(shù)的基本定義如下:
1) 自動(dòng)駕駛仿真技術(shù)是計(jì)算機(jī)仿真技術(shù)在汽車領(lǐng)域的應(yīng)用,它比傳統(tǒng)ADAS仿真系統(tǒng)研發(fā)更為復(fù)雜,對(duì)系統(tǒng)在解耦和架構(gòu)上的要求非常高;
2)類似其他通用仿真平臺(tái),它必須盡可能的真實(shí),而對(duì)仿真系統(tǒng)進(jìn)行分析和研究的一個(gè)基礎(chǔ)性和關(guān)鍵性的問(wèn)題就是將系統(tǒng)模型化;
3)通過(guò)數(shù)學(xué)建模的方式將真實(shí)世界進(jìn)行數(shù)字化還原和泛化,建立正確、可靠、有效的仿真模型是保證仿真結(jié)果具有高可信度的關(guān)鍵和前提;
4)仿真技術(shù)的基本原理是在仿真場(chǎng)景內(nèi),將真實(shí)控制器變成算法,結(jié)合傳感器仿真等技術(shù),完成對(duì)算法的測(cè)試和驗(yàn)證;
2、自動(dòng)駕駛仿真平臺(tái)
我們都知道自動(dòng)駕駛的仿真其實(shí)就是類似于游戲平臺(tái),因此目前主流的自動(dòng)駕駛仿真軟件都是根據(jù)游戲引擎來(lái)開發(fā)的。下面是我整理的幾個(gè)主流的仿真軟件:
仿真軟件 |
引擎 |
介紹 |
Udacity |
Unity |
優(yōu)達(dá)學(xué)城的自動(dòng)駕駛仿真平臺(tái) |
Carla |
Unreal4 |
Intel和豐田合作的自動(dòng)駕駛仿真平臺(tái) |
AirSim |
Unreal4 |
微軟的仿真平臺(tái) |
Lgsvl |
Unity |
LG的自動(dòng)駕駛仿真平臺(tái) |
DreamView |
百度Apollo的自動(dòng)駕駛仿真平臺(tái) |
Unreal4 - 主要的編程方式是c++,源碼完全開源,還可以通過(guò)藍(lán)圖來(lái)編程。比較著名的游戲有:《鬼泣5》《絕地求生:刺激戰(zhàn)場(chǎng)》
Unity - 主要的編程方式是c#和腳本,源碼不開放,超過(guò)盈利上限收費(fèi)。比較著名的游戲有:《王者榮耀》《爐石傳說(shuō)》
3、自動(dòng)駕駛仿真工程師
對(duì)自動(dòng)駕駛仿真工程師這個(gè)崗位,網(wǎng)上的相關(guān)介紹還是少了些。有些公司是直接把它納入到基礎(chǔ)架構(gòu)組里,有些是單獨(dú)招聘這個(gè)崗位,還有些是把它納到測(cè)試組里。
仿真工程師。從某種程度上說(shuō),像是產(chǎn)品+系統(tǒng)工程師+數(shù)據(jù)處理工程師。一個(gè)合格的仿真工程師應(yīng)該能打通整個(gè)數(shù)據(jù)鏈,使數(shù)據(jù)發(fā)揮出真正的價(jià)值,從這個(gè)方面來(lái)看,它又像是基礎(chǔ)架構(gòu)工程師了。這其實(shí)是一個(gè)要求很高的職位,不是只需要會(huì)用一些相關(guān)的軟件就夠了的。
操作系統(tǒng):Linux
編程:MATLAB/simulink、Python、C++
理論知識(shí):熟練操作一種常用車輛動(dòng)力學(xué)或無(wú)人車相關(guān)仿真軟件,比如Perscan、Carsim、Carmaker等。熟悉機(jī)器人操作系統(tǒng)ROS等。有的仿真崗位純屬于做仿真,但有的崗位需要做仿真環(huán)境的開發(fā),這樣的崗位對(duì)編程要求會(huì)更高一些。
4、自動(dòng)駕駛測(cè)試工程師
該方向主要負(fù)責(zé)自動(dòng)駕駛車輛的相關(guān)測(cè)試工作,測(cè)試自動(dòng)駕駛系統(tǒng)功能各項(xiàng)指標(biāo)的性能,評(píng)估其邊界條件和失效模式;根據(jù)研發(fā)人員對(duì)數(shù)據(jù)的需求,制作采集文檔,完成數(shù)據(jù)采集等操作。其中包括軟件、硬件等測(cè)試,需要熟悉如Linux編程測(cè)試環(huán)境等。
工作內(nèi)容:
需求review:第一篇的v-model中提到過(guò),在有了system requirement后,測(cè)試人員會(huì)和軟件開發(fā)一起review這份requirement,確認(rèn)沒(méi)有分歧。然后這份requirement就作為測(cè)試工程師寫test case的基礎(chǔ)。
寫test case:主要就是包含了針對(duì)這個(gè)ECU軟件,要做哪些測(cè)試,覆蓋哪些工況,測(cè)試步驟等等,確保要完全覆蓋system requirement。
編寫自動(dòng)化測(cè)試腳本:現(xiàn)在比較常用的是Vector的工具,測(cè)試工程師一般會(huì)基于CAPL編寫一些自動(dòng)化測(cè)試的腳本,這樣在今后的版本更迭中,只需要對(duì)應(yīng)做一些修改,就可以比較方便的進(jìn)行測(cè)試了 。
系統(tǒng)測(cè)試:基于測(cè)試腳本對(duì)軟件進(jìn)行測(cè)試,然后出測(cè)試報(bào)告,有了bug的話要通過(guò)一定的流程記錄報(bào)給開發(fā)解決。
5、結(jié)語(yǔ)
以上就全部介紹完了自動(dòng)駕駛行業(yè)中仿真和測(cè)試方向的相關(guān)崗位以及所需的入門知識(shí)技能,隨著行業(yè)的越發(fā)火熱,越來(lái)越多的同學(xué)加入進(jìn)自動(dòng)駕駛的領(lǐng)域中來(lái),對(duì)將行業(yè)做大做強(qiáng)起到了迅猛提升的作用。未來(lái)隨著自動(dòng)駕駛越發(fā)成熟,所需要的高精人才也會(huì)越來(lái)越多,而無(wú)論何時(shí),多了解跟上行業(yè)的最新技能,提高自身的核心競(jìng)爭(zhēng)力,都是使自己職業(yè)發(fā)展穩(wěn)步前進(jìn)的不二法則。
- End -