張劍鋒 馬玲 李廣召
(吉利汽車(chē)研究院)
如今,自動(dòng)駕駛汽車(chē)已經(jīng)成為各大車(chē)企競(jìng)相研發(fā)的領(lǐng)域之一。相對(duì)于傳統(tǒng)汽車(chē),自動(dòng)駕駛汽車(chē)依靠系統(tǒng)中的感知、決策、控制三大子系統(tǒng)完成汽車(chē)的無(wú)人駕駛?cè)蝿?wù)。自動(dòng)駕駛控制系統(tǒng)的研發(fā)必須把該系統(tǒng)的安全性放在第一位,而如何保證系統(tǒng)的安全性成為研發(fā)中最具挑戰(zhàn)性的難題。為了提高控制軟件的開(kāi)發(fā)效率和品質(zhì)[1],基于MATLAB/Simulink 的MBD[2](Model-Based Development)開(kāi)發(fā)方法,文章介紹了一套控制軟件算法的仿真測(cè)試環(huán)境,并使用該環(huán)境對(duì)控制軟件進(jìn)行了測(cè)試,達(dá)到了預(yù)期的目的。
在V 字形開(kāi)發(fā)流程中,MIL 測(cè)試環(huán)節(jié)的位置,如圖1 所示。
圖1 MIL 環(huán)節(jié)在V 字形開(kāi)發(fā)流程中位置的示意圖
文章介紹的MIL 環(huán)境主要分為4 個(gè)部分,如圖2所示。
圖2 MIL 環(huán)境的構(gòu)成示意圖
1)ADSM (Autonomous Driving Service Module)。ADSM模型主要包含傳感器對(duì)環(huán)境的感知、數(shù)據(jù)融合和軌跡規(guī)劃等功能。其中,傳感器對(duì)環(huán)境的感知部分由CarSim 中的Sensor 模型來(lái)模擬,其它部分由ADSM中的模型來(lái)完成。
2)MCM(Motion Control Module)。該部分主要包含車(chē)輛的模式管理、橫向控制、縱向控制、安全決策、人機(jī)管理等模型。這部分值得注意的是,搭建的自動(dòng)駕駛車(chē)輛運(yùn)動(dòng)控制MIL 仿真模型的主要目的之一就是為了測(cè)試基于模型開(kāi)發(fā)的MCM控制器的功能是否滿(mǎn)足需求,在設(shè)計(jì)智能PHEV 系統(tǒng)MIL 平臺(tái)時(shí),更多考慮的是如何仿真實(shí)現(xiàn)MCM的所有功能,因此另外3 個(gè)部分是圍繞如何實(shí)現(xiàn)MCM功能來(lái)設(shè)計(jì)的。
3)Vehicle。該模型由車(chē)輛動(dòng)力學(xué)仿真工具CarSim來(lái)完成,通過(guò)S-Function 的形式和Simulink 中的控制算法模型進(jìn)行聯(lián)合仿真。CarSim 中動(dòng)力系統(tǒng)的設(shè)置,如圖3 所示,其中原車(chē)中的發(fā)動(dòng)機(jī)、變速箱等部分被屏蔽掉,在差速器的輸入端接入MCM 發(fā)來(lái)的驅(qū)動(dòng)扭矩指令,另外再接入從MCM發(fā)來(lái)的轉(zhuǎn)向盤(pán)轉(zhuǎn)角指令和制動(dòng)主缸壓力指令,CarSim 輸出車(chē)輛的坐標(biāo)、速度、加速度、Yaw、Row、轉(zhuǎn)向盤(pán)轉(zhuǎn)角、車(chē)道線(xiàn)和障礙物信息等。
圖3 CarSim 中動(dòng)力系統(tǒng)的配置圖
4)Others。這部分內(nèi)容包括電子液壓制動(dòng)系統(tǒng)(EHB:Electric Hydraulic Brake)、車(chē)身穩(wěn)定控制器(ESC:Electronic Stability Control)等,為了提高仿真效率,這部分的控制器模型大部分是使用現(xiàn)有車(chē)型的控制器模型做簡(jiǎn)化后集成的。
上述MIL 環(huán)境搭建好之后,為了驗(yàn)證該環(huán)境的正確性,選取了一種工況,采集實(shí)車(chē)的驅(qū)動(dòng)扭矩、制動(dòng)主缸壓力和轉(zhuǎn)向盤(pán)轉(zhuǎn)角數(shù)據(jù),同時(shí)在MIL 模型中模擬同一種工況,記錄驅(qū)動(dòng)扭矩、制動(dòng)主缸壓力和轉(zhuǎn)向盤(pán)轉(zhuǎn)角,并與實(shí)車(chē)數(shù)據(jù)進(jìn)行了對(duì)比,如圖4 所示。從對(duì)比結(jié)果來(lái)看,MIL 仿真結(jié)果在趨勢(shì)上與實(shí)車(chē)結(jié)果是吻合的,因此,該環(huán)境可以用來(lái)對(duì)自動(dòng)駕駛車(chē)輛控制算法進(jìn)行功能性驗(yàn)證和測(cè)試。
圖4 實(shí)車(chē)采集數(shù)據(jù)與MIL 仿真數(shù)據(jù)的對(duì)比結(jié)果圖
測(cè)試用例編寫(xiě)的難易程度受到需求描述是否足夠詳細(xì)、明確,以及測(cè)試工具的易用程度的影響[3]。當(dāng)上游工程將軟件需求釋放之后,準(zhǔn)確理解需求是寫(xiě)好測(cè)試用例的前提條件。測(cè)試工具選擇MATLAB/Simulink 工具箱Simulink Test,文章以MCM 中的模式管理模塊為例,介紹測(cè)試用例的編寫(xiě)方法。
首先,自動(dòng)駕駛車(chē)輛運(yùn)動(dòng)控制MIL 仿真模型中根據(jù)測(cè)試需求將需要操作的輸入輸出信號(hào)通過(guò)Simulink的Inport、Outport 模塊引出來(lái),創(chuàng)建帶有Test Sequence模塊的Test Harness(Test Harness 是Simulink Test 根據(jù)模型生成的測(cè)試框架模型,它附著在主模型上,也可以進(jìn)行批量化管理),如圖5 所示。在Test Sequence 模塊中可以實(shí)現(xiàn)對(duì)輸入信號(hào)的控制和對(duì)輸出信號(hào)的判斷,以及對(duì)每個(gè)測(cè)試步驟設(shè)置遷移條件。Test Sequence 支持豐富的語(yǔ)句,包含賦值語(yǔ)句、when、verify()、assert()等,遷移條件語(yǔ)句有duration (),after (),true。創(chuàng)建好Test Harness 后,便可在Test Sequence 中編寫(xiě)測(cè)試用例。
圖5 Test Harness 中Test Sequence 的示意圖
表1 示出模式管理模塊的部分軟件需求,依據(jù)該軟件需求,使用Test Sequence 模塊設(shè)計(jì)出的測(cè)試用例,如圖6 所示。圖7 示出從示波器中觀(guān)察到的運(yùn)動(dòng)控制模式信號(hào)(XCU_AutoDriverSts)隨測(cè)試步驟的跳轉(zhuǎn)圖。
表1 MCM 中模式管理模塊部分模式的跳轉(zhuǎn)需求
圖6 Test Sequence 中測(cè)試步驟截圖
圖7 XCU_AutoDriverSts 信號(hào)的模式跳轉(zhuǎn)圖
如果編寫(xiě)的測(cè)試用例數(shù)量很多,可以借助Simulink Test 中的Test Manager 工具實(shí)現(xiàn)批量化自動(dòng)執(zhí)行,如圖8 所示。Test Manager 可實(shí)現(xiàn)多個(gè)Test Harness 一鍵運(yùn)行測(cè)試,并在運(yùn)行結(jié)束后產(chǎn)生測(cè)試報(bào)告。應(yīng)用此方法,在第1 輪MCM軟件迭代開(kāi)發(fā)過(guò)程中,MIL 測(cè)試共發(fā)現(xiàn)了包含軟件開(kāi)發(fā)與需求不符,軟件bug 等在內(nèi)的42 個(gè)軟件問(wèn)題,其中:1)軟件bug 問(wèn)題占4 個(gè);2)需求功能軟件暫未實(shí)現(xiàn)問(wèn)題占6 個(gè);3)軟件功能與需求不符問(wèn)題占32 個(gè)。
圖8 Test Manager 中同時(shí)管理多個(gè)Test Harness 的截圖
文章主要介紹了一種基于Simulink Test 的自動(dòng)駕駛車(chē)輛運(yùn)動(dòng)控制的MIL 測(cè)試方法。在完成對(duì)MIL 環(huán)境的搭建之后,通過(guò)與實(shí)車(chē)數(shù)據(jù)進(jìn)行對(duì)比,驗(yàn)證了該MIL環(huán)境的正確性。在此基礎(chǔ)上,對(duì)軟件需求進(jìn)行了理解和分析,借助于MATLAB/Simulink 工具箱Simulink Test,編寫(xiě)出相應(yīng)的測(cè)試用例并進(jìn)行了MIL 測(cè)試。測(cè)試結(jié)果表明,使用該方法,可以在控制軟件開(kāi)發(fā)的早期,發(fā)現(xiàn)軟件中存在的bug 以及需求和軟件不符之處,有效地提高了軟件的品質(zhì),縮短了軟件的開(kāi)發(fā)周期。
然而,在實(shí)際測(cè)試過(guò)程中也發(fā)現(xiàn)了以下不足之處:1)軟件需求難于理解;2)CarSim 交通場(chǎng)景搭建耗時(shí)耗力;3)MIL 模型復(fù)雜導(dǎo)致的仿真速度慢。對(duì)于此類(lèi)問(wèn)題,將在后續(xù)的工作中持續(xù)加以解決和改善。