趙伊齊,張引,申成剛,王嚴(yán)
?
基于Prescan的智能駕駛輔助系統(tǒng)在環(huán)研究
趙伊齊,張引,申成剛,王嚴(yán)
(華晨汽車(chē)工程研究院,遼寧 沈陽(yáng) 110141)
為在短時(shí)間內(nèi)完成大量驗(yàn)證高級(jí)駕駛輔助系統(tǒng)的產(chǎn)品性能,利用Prescan對(duì)控制器進(jìn)行軟件在環(huán)研究。首先對(duì)產(chǎn)品的性能及功能規(guī)范提出開(kāi)發(fā)需求,作為測(cè)試依據(jù);利用仿真軟件Prescan完成測(cè)試場(chǎng)景及動(dòng)力學(xué)模型的搭建;運(yùn)用Matlab/Simulink實(shí)現(xiàn)自動(dòng)化測(cè)試。結(jié)果表明,利用Prescan進(jìn)行軟件在環(huán)測(cè)試,可縮短開(kāi)發(fā)周期,減少開(kāi)發(fā)成本,有效提高產(chǎn)品性能。
高級(jí)駕駛員輔助系統(tǒng);軟件在環(huán);自動(dòng)化測(cè)試
高級(jí)駕駛員輔助系統(tǒng)(以下簡(jiǎn)稱(chēng)ADAS)是一項(xiàng)提高安全系數(shù)的主動(dòng)安全技術(shù),其主要通過(guò)傳感器完成對(duì)周?chē)盘?hào)的采集、CAN等通訊系統(tǒng)完成相關(guān)信號(hào)的傳遞。最后將信號(hào)傳送給整車(chē)控制器,使駕駛員能夠在最快時(shí)間內(nèi)察覺(jué)可能發(fā)生的情況。
目前,很多在研究高級(jí)駕駛員輔助系統(tǒng)設(shè)計(jì)環(huán)節(jié)中引入在環(huán)仿真測(cè)試,主要有模型在環(huán)(Model in the loop,以下簡(jiǎn)稱(chēng)MIL)、軟件在環(huán)(Software in the loop,以下簡(jiǎn)稱(chēng)SIL)及硬件在環(huán)(Hardware in the loop,以下簡(jiǎn)稱(chēng)HIL)。MIL主要驗(yàn)證控制模型,其控制算法模型是否準(zhǔn)確實(shí)現(xiàn)功能要求;SIL旨在通過(guò)PC驗(yàn)證代碼實(shí)現(xiàn)的功能是否實(shí)現(xiàn)功能需求;HIL是將被控對(duì)象模型放在模擬整車(chē)環(huán)境下進(jìn)行測(cè)試。SIL可實(shí)現(xiàn)被控模型算法的在線或離線仿真,減少實(shí)際代碼的調(diào)試,從而降低成本[1]。
本文利用Prescan對(duì)控制器軟件進(jìn)行軟件在環(huán)測(cè)試,將對(duì)產(chǎn)品提出的功能需求以及安全需求作為測(cè)試用例并作為仿真測(cè)試依據(jù),利用Prescan完成測(cè)試場(chǎng)景以及傳感器模型的搭建;將模型代碼以S function的形式進(jìn)行封裝并通過(guò)simu -link進(jìn)行比較;最后基于Matlab完成M文件的編寫(xiě),實(shí)現(xiàn)控制器軟件的自動(dòng)化測(cè)試。
當(dāng)前ECU開(kāi)發(fā)流程一般是工程師根據(jù)控制目標(biāo)開(kāi)發(fā)控制模型,由控制模型生成控制代碼(或者手工編寫(xiě)控制代碼),將代碼導(dǎo)入ECU硬件然后通過(guò)模型仿真被控對(duì)象及系統(tǒng)環(huán)境進(jìn)行硬件在環(huán)測(cè)試(HIL)。軟件在環(huán)仿真(SIL)測(cè)試可通過(guò)特定的控制軟件設(shè)置ECU的相關(guān)信號(hào)代替HIL中的硬件,并將待測(cè)ECU代碼信息集成配置為虛擬ECU,通過(guò)運(yùn)行虛擬控制器中的I/O模型和系統(tǒng)環(huán)境中的車(chē)輛模型來(lái)模擬控制器所需的各種傳感器信號(hào),并接收虛擬ECU發(fā)出的控制信號(hào)及臺(tái)架傳感器的信號(hào)。從而與被測(cè)ECU的代碼信息和系統(tǒng)環(huán)境模型連接。最終實(shí)現(xiàn)閉環(huán)仿真,完成對(duì)控制系統(tǒng)進(jìn)行測(cè)試驗(yàn)證。
由于目前許多汽車(chē)公司已經(jīng)從傳統(tǒng)的開(kāi)發(fā)模式轉(zhuǎn)移到V形開(kāi)發(fā)模型(如圖1),以減少重復(fù)的代碼編制和實(shí)車(chē)試驗(yàn)[2]。在V形開(kāi)發(fā)模式下,通過(guò)SIL平臺(tái)一方面可在開(kāi)發(fā)過(guò)程中更早介入,確保前期開(kāi)發(fā)過(guò)程中通過(guò)對(duì)嵌入式軟件的測(cè)試及時(shí)發(fā)現(xiàn)存在的問(wèn)題,以提高整改效率從而大幅節(jié)約ECU功能開(kāi)發(fā)成本和周期;另一方面,由于SIL測(cè)試采用純軟件仿真的手段,無(wú)需真實(shí)車(chē)輛及HIL臺(tái)架測(cè)試。可在開(kāi)發(fā)和測(cè)試過(guò)程中靈活使用,因而軟件在環(huán)測(cè)試系統(tǒng)正在成為一種理想的功能測(cè)試工具。

圖1 V形開(kāi)發(fā)模型
Prescan是一款用于高級(jí)駕駛員輔助系統(tǒng)和主動(dòng)安全系統(tǒng)開(kāi)發(fā)驗(yàn)證的仿真軟件,支持基于攝像頭、雷達(dá)、激光雷達(dá)等多種應(yīng)用功能的開(kāi)發(fā)應(yīng)用。包含場(chǎng)景搭建、傳感器建模、開(kāi)發(fā)控制算法以及運(yùn)行仿真(如圖2)。其中場(chǎng)景搭建可利用prescan自帶軟件庫(kù)對(duì)道路、交通使用者、環(huán)境模型以及天氣光照等車(chē)輛周邊環(huán)境因素的搭建(如圖2);實(shí)現(xiàn)高級(jí)駕駛員輔助系統(tǒng)的前提即為可實(shí)時(shí)獲取周邊交通以及環(huán)境信息,Prescan可通過(guò)模擬傳感器并保證與真實(shí)傳感器功能一致。傳感器建模主要是針對(duì)攝像頭、雷達(dá)/毫米波雷達(dá)以及車(chē)聯(lián)網(wǎng)短程通訊傳感器的模型仿真,根據(jù)ECU軟件提供的傳感器類(lèi)型可運(yùn)用Prescan對(duì)攝像頭和雷達(dá)進(jìn)行不同程度上的仿真。
開(kāi)發(fā)控制算法即通過(guò)仿真平臺(tái)(Matlab/Simulink),可引入編程工具開(kāi)發(fā)的算法代碼。本文利用控制器軟件算法作為輸入端接收傳感器模型輸入的傳感器信號(hào),經(jīng)過(guò)算法計(jì)算作為輸出端發(fā)送請(qǐng)求指令給車(chē)輛動(dòng)力學(xué)模型[3]。動(dòng)力學(xué)通過(guò)接收的請(qǐng)求指令做出響應(yīng)形成駕駛場(chǎng)景,形成一個(gè)閉合的在環(huán)測(cè)試,從而達(dá)到驗(yàn)證控制器算法的目的,即為軟件在環(huán)測(cè)試。動(dòng)力學(xué)模型可在Prescan自帶demo基礎(chǔ)上通過(guò)更改模型參數(shù)(主要指底盤(pán)、傳動(dòng)系統(tǒng)和發(fā)動(dòng)機(jī),具體可參考圖3)或者直接通過(guò)第三方仿真軟件直接插入得到理想動(dòng)力學(xué)模型[4]。

圖2 運(yùn)行仿真

圖3 動(dòng)力學(xué)模型
基于SIL平臺(tái),測(cè)試人員可根據(jù)不同的功能需求實(shí)現(xiàn)以下測(cè)試:
(1)手工測(cè)試
手工測(cè)試也稱(chēng)交互式測(cè)試。通常利用SIL系統(tǒng)配置相應(yīng)的仿真面板GUI,從而直接控制變量輸入,并通過(guò)仿真面板的控界面直接觀察輸出量的變化是否符合要求[5]。Prescan仿真軟件提供多種GUI單元。用戶(hù)可以通過(guò)簡(jiǎn)單的拖放操作來(lái)創(chuàng)建及調(diào)試GUI(如圖4)。

圖4 手工測(cè)試
手工測(cè)試操作具有較好的問(wèn)題處理能力,能通過(guò)人為的邏輯判斷校驗(yàn)當(dāng)前步驟的功能實(shí)現(xiàn)正確與否。
(2)自動(dòng)化測(cè)試
在仿真平臺(tái)Prescan基礎(chǔ)上利用Matlab編寫(xiě)腳本文件M.驅(qū)動(dòng)仿真,通過(guò)配置完成代碼覆蓋率程度測(cè)試[6]。在不同SIL系統(tǒng)中,雖然配套使用的應(yīng)用軟件不同,但均可通過(guò)編寫(xiě)并運(yùn)行腳本實(shí)現(xiàn)自動(dòng)測(cè)試的目的。通常,不同的測(cè)試平臺(tái)需要準(zhǔn)備不同的測(cè)試腳本,測(cè)試腳本可隨時(shí)修改調(diào)用以方便執(zhí)行測(cè)試。腳本編輯完成后,SIL可對(duì)控制器實(shí)現(xiàn)自動(dòng)測(cè)試,并在自動(dòng)測(cè)試完成后由應(yīng)用軟件自動(dòng)生成相應(yīng)的測(cè)試報(bào)告,下圖為不同傳感器掃描范圍所得到結(jié)果[7]。
控制器功能測(cè)試需進(jìn)行回歸測(cè)試和重復(fù)測(cè)試,為節(jié)約測(cè)試成本以及提高測(cè)試效率。大部分功能測(cè)試建議采用自動(dòng)測(cè)試來(lái)完成。下圖5即為駕駛輔助系統(tǒng)在Prescan完成自動(dòng)化測(cè)試所得到的結(jié)果。

圖5 駕駛輔助系統(tǒng)自動(dòng)化測(cè)試結(jié)果
本文基于MATLAB和Simulink平臺(tái)完成自動(dòng)化測(cè)試,SIL的具體測(cè)試流程如下:
3.2.1 測(cè)試計(jì)劃
系統(tǒng)開(kāi)發(fā)工程師對(duì)產(chǎn)品分別提出性能及功能上的需求,供應(yīng)商根據(jù)需求制定軟件版本釋放計(jì)劃,SIL測(cè)試人員根據(jù)軟件釋放計(jì)劃和功能集成情況制定相應(yīng)測(cè)試計(jì)劃及方案[8]。
3.2.2 測(cè)試需求
根據(jù)SIL測(cè)試計(jì)劃制定測(cè)試需求,主要包括:測(cè)試樣件需求、工具需求和文件需求。
(1)測(cè)試樣件需求:根據(jù)開(kāi)發(fā)工程師提出的產(chǎn)品需求,提供相應(yīng)的控制器算法、對(duì)應(yīng)接口及軟件版本號(hào);
(2)工具需求:根據(jù)SIL測(cè)試的搭建需求制定工具需求列表;
(3)文件需求:整車(chē)模型參數(shù)(底盤(pán)、傳動(dòng)以及發(fā)動(dòng)機(jī)相關(guān)參數(shù))及產(chǎn)品性能規(guī)范。
3.2.3 接收測(cè)試文件
測(cè)試人員在每一輪軟件釋放時(shí)間節(jié)點(diǎn)接收測(cè)試軟件,若測(cè)試軟件無(wú)更新,則開(kāi)發(fā)工程師需要提前告知測(cè)試人員并不用再重新提交。測(cè)試人員需要對(duì)接收的測(cè)試軟件進(jìn)行登記并管理[9]。
3.2.4 執(zhí)行測(cè)試
SIL測(cè)試包括及用戶(hù)功能測(cè)試、回歸測(cè)試。用戶(hù)功能測(cè)試主要針對(duì)控制器的功能進(jìn)行測(cè)試;回歸測(cè)試主要是驗(yàn)證上一輪測(cè)試或更早之前發(fā)現(xiàn)的問(wèn)題是否被解決;
(1)測(cè)試人員按照每一輪軟件釋放的SIL測(cè)試計(jì)劃和測(cè)試目標(biāo)執(zhí)行測(cè)試任務(wù);
(2)根據(jù)SIL測(cè)試任務(wù)篩選測(cè)試用例;
(3)SIL場(chǎng)景搭建;
1)將測(cè)試用例提出的測(cè)試前提作為環(huán)境搭建依據(jù);
2)完成虛擬道路、交通設(shè)施等元素的搭建;
3)完成虛擬傳感器及車(chē)輛動(dòng)力學(xué)模型建模;
4)修改動(dòng)力學(xué)參數(shù)或利用動(dòng)力學(xué)工具,利用外部接口,進(jìn)行模型載入[10]。
(4)利用腳本驅(qū)動(dòng)仿真,通過(guò)配置或者軟件編寫(xiě)自動(dòng)化測(cè)試模塊,執(zhí)行自動(dòng)化測(cè)試;
(5)編寫(xiě)腳本文件,自動(dòng)生成測(cè)試報(bào)告,報(bào)告應(yīng)包含以下內(nèi)容:
a)本輪SIL測(cè)試的時(shí)間計(jì)劃概況;
b)本輪SIL測(cè)試軟件的版本概況;
c)本輪SIL測(cè)試的目標(biāo);
d)本輪SIL集成測(cè)試的結(jié)果;
e)本輪SIL集成測(cè)試的問(wèn)題概況。
每輪測(cè)試階段完成后,都需要提交本輪SIL測(cè)試報(bào)告。
3.2.5 分析測(cè)試結(jié)果
測(cè)試工程師應(yīng)按照測(cè)試用例執(zhí)行測(cè)試,做好每一條測(cè)試結(jié)果記錄,將測(cè)試用例給定的期望結(jié)果與測(cè)試結(jié)果進(jìn)行對(duì)比,通過(guò)記為“OK”,未通過(guò)記為“NO”并描述實(shí)際測(cè)試結(jié)果,當(dāng)前SIL狀態(tài)或者樣件狀態(tài)無(wú)法滿足測(cè)試的記錄為“NP”(Not Possible)。對(duì)于測(cè)試出的問(wèn)題,測(cè)試人員需要按照模板編寫(xiě)問(wèn)題報(bào)告提交給問(wèn)題管理工程師。
本文利用仿真軟件Prescan完成高級(jí)駕駛輔助系統(tǒng)的軟件在環(huán)測(cè)試,通過(guò)模擬雷達(dá)、攝像頭傳感器完成對(duì)周?chē)h(huán)境的監(jiān)測(cè);通過(guò)MATLAB/SIMULINK完成模型的仿真以及自動(dòng)化測(cè)試運(yùn)行的腳本文件。結(jié)果表明:在給定的條件下進(jìn)行仿真,利用仿真軟件完成的軟件在環(huán)測(cè)試與實(shí)際測(cè)試結(jié)果基本相同,很大程度縮短開(kāi)發(fā)成本、縮短開(kāi)發(fā)周期。達(dá)到理想效果。
[1] 周云山,鐘勇,汽車(chē)電子控制技術(shù)[M].北京,機(jī)械工業(yè)出版社,2008: 207-216.
[2] 單忠偉,宋珂,章桐.符合AUTOSAR規(guī)范的汽車(chē)軟件開(kāi)發(fā)工具鏈及其應(yīng)用流程[J].機(jī)電一,2018,24(3):47-52,64. DOI:10.16413/j. cnki.issn.1007-080x.2018.03.008.
[3] 彭億強(qiáng),基于模型的汽車(chē)電控電源仿真測(cè)試技術(shù)研究[J],中國(guó)測(cè)試技術(shù),2006,32(6);15-19.
[4] 趙垚森,朱勇,徐小東.基于Simulink的汽車(chē)ABS仿真分析[J].機(jī)電工程,2018,35(12):1357-1360. DOI:10.3969/j.issn. 1001-4551.2018. 12.020.
[5] 李波,黃新靜.MATLAB軟件算法在層次分析法中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2018,37(12):35-38,54.
[6] ShengliWei,ZhileiSong,Chongrong Wu, et al.Study of dual closed- loop control strategyof exhaust gas recirculation for diesel engines [J].Energy Sources, Part A: Recovery,Utilization, andEnvironmental Effects,2019,41(11):1380-1390.DOI:10.1080/15567036.2018.15485 16.
[7] WangNa,WangSiyuan, PengZhen, et al.Braking control performances of a disk-type magneto-rheological brake viahardware-in-the-loop simulation[J].Journal of IntelligentMaterial Systemsand Structures, 2018,29(20):3937-3948.DOI:10.1177/1045389X18800395.
[8] 胡遠(yuǎn)志,呂章潔,劉西.基于PreScan的AEB系統(tǒng)縱向避撞算法及仿真驗(yàn)證[J].汽車(chē)安全與節(jié)能,2017,8(2):136-142. DOI:10.3969/j.issn. 1674-8484.2017.02.004.
[9] 葛如海,儲(chǔ)亞婷,謝永東, 等.基于Prescan的換道預(yù)警規(guī)則研究[J].重慶交通大學(xué)學(xué)報(bào)(自),2016,35(1):172-176. DOI:10.3969/j.issn. 1674-0696.2016.01.33.
[10] KwangkookLee,KwangkookLee,MijinJeong, et al.Software-In-the- Loop based Modeling and Simulation of Unmanned Semi-submersi -ble Vehicle for Performance Verification of Autonomous Navigation [J].IOP Conference Series: Materials Science and Engineering, 2017, 280(1):012042(7pp). DOI:10.1088/1757-899X/280/1/012042.
Research on the loop of Advanced driver assistance systembased on Prescan
Zhao Yiqi, Zhang Yin, Shen Chenggang, Wang Yan
( Brilliance Auto R&D Center, Liaoning Shenyang 110141 )
In order to complete a large number of product performance verification of advanced driving assistance system in a short time, Prescan was used to study the controller software in the loop.Firstly, the development requirements of product performance and functional specifications are proposed as the test basis.The simulation software Prescan was used to build the test scene and dynamic model.Matlab/Simulink for automated testing.The results show that using Prescan can shorten the development cycle, reduce the development cost and improve the product performance.
Driving assistance system;Software in the loop;Testautomation
U467
A
1671-7988(2019)09-47-04
U467
A
1671-7988(2019)09-47-04
趙伊齊,工程師,就職于華晨汽車(chē)工程研究院,從事自動(dòng)駕駛系統(tǒng)軟件測(cè)試工作。
*國(guó)家重點(diǎn)研發(fā)計(jì)劃(2016YFB0101107)資助。
10.16638/j.cnki.1671-7988.2019.09.014