01.
背景與整體方案架構(gòu)
隨著汽車電子軟件系統(tǒng)的飛速發(fā)展,高級輔助駕駛系統(tǒng)(ADAS系統(tǒng))越來越獲得消費(fèi)者的重視。如何在研發(fā)的各個(gè)階段對ADAS系統(tǒng)進(jìn)行測試,成為行業(yè)內(nèi)關(guān)注的熱點(diǎn)。
在當(dāng)前的開發(fā)流程中,硬件在環(huán)(HIL)測試已經(jīng)廣泛普及,開發(fā)人員習(xí)慣在域控制器軟件和硬件初步開發(fā)完成后先在HIL臺架進(jìn)行測試,進(jìn)行軟件和硬件Bug的篩查,然后在實(shí)車上對ADAS功能進(jìn)行最終的性能測試。實(shí)車測試的成本非常昂貴,一方面是測試人員的人力成本,一方面是試驗(yàn)場地和設(shè)備的租賃費(fèi)用。因此頻繁展開實(shí)車測試會(huì)導(dǎo)致開發(fā)成本的快速上升。
在這種背景下,車輛在環(huán)(VIL)的概念應(yīng)運(yùn)而生。如果在仿真軟件中虛擬化測試場景,而車輛依舊由駕駛員操控,實(shí)際行駛在開闊的安全場地中,則可以節(jié)省租賃和布置試驗(yàn)場地的成本,并最大程度上保留對性能測試的精準(zhǔn)度。同時(shí),虛擬場景可以最大程度地還原法規(guī)標(biāo)準(zhǔn)和企業(yè)標(biāo)準(zhǔn),可以用于最終性能測試前的摸底測試。
針對車輛在環(huán)的測試需要,Vector提供基于DYNA4、CANoe軟件和VN系列總線接口卡硬件的整體解決方案。
DYNA4是一款成熟的車輛動(dòng)力學(xué)及場景仿真軟件,提供以下功能:
>
高精度的參數(shù)化車輛動(dòng)力學(xué)模型;
>
基于OpenDRIVE和OpenSCENARIO標(biāo)準(zhǔn)的場景仿真;
>
多種理想傳感器和物理傳感器模型;
>
>
基于DYNYanimation的高精度3D模型渲染。
關(guān)于DYNA4軟件的特性可以參考往期文章:DYNA4新版本R9正式發(fā)布
基于這些特性,Vector的VIL測試方案如下圖所示:
圖1:VIL系統(tǒng)圖解
1.
主車:需要將ADAS域控制器暴露在外,由總線接口卡接入診斷與標(biāo)定接口,以及部分通過總線進(jìn)行注入的傳感器接口;
2.
RTK車載單元:安裝在車輛的固定位置,測試人員需要記錄下RTK設(shè)備與車輛前保險(xiǎn)杠之間的距離以用于場景標(biāo)定;
3.
RTK基站:布置在試驗(yàn)場地。RTK基站設(shè)置后,測試人員需要使用基站標(biāo)定坐標(biāo)系的功能對RTK坐標(biāo)系進(jìn)行初始化;
4.
CANoe軟件:運(yùn)行在工控機(jī)中,負(fù)責(zé)診斷、標(biāo)定和總線仿真,并能夠調(diào)用DYNA4+DYNA animation;
5.
總線接口卡:硬件通訊接口,能夠仿真和測量CAN、CAN FD、FlexRay、Ethernet等總線協(xié)議;
6.
工控機(jī):接入NVIDIA高性能顯卡。在工控機(jī)中,DYNA4通過編譯成DYNA4-Export Package的方式,在CANoe中運(yùn)行,并且能夠調(diào)用DYNAanimation,實(shí)時(shí)發(fā)送渲染指令。工控機(jī)和其余設(shè)備通過支架固定在車內(nèi),由車載供電系統(tǒng)進(jìn)行供電;
7.
視頻注入硬件:將視頻注入給ECU,支持FPD-Link和GMSL協(xié)議。仿真場景渲染出的視頻Raw Data通過注入硬件轉(zhuǎn)換為ECU需要的格式,并通過視頻同軸線纜傳輸給ECU;
8.
DSI3注入硬件:支持將Object List轉(zhuǎn)化為DSI3信號,用于物理模擬超聲波雷達(dá)的探測結(jié)果;
9.
DYNA4軟件:進(jìn)行場景渲染和理想傳感器Object List生成。
02.
VIL測試場景構(gòu)成
在ADAS測試過程中,一個(gè)測試場景通常由以下部分構(gòu)成:
1.
主車
在傳統(tǒng)HIL測試中,主車行為由仿真的駕駛員模型控制,在功能激活時(shí)由真實(shí)ECU發(fā)出指令接管,所有指令由車輛動(dòng)力學(xué)模型進(jìn)行計(jì)算,結(jié)果將會(huì)被實(shí)時(shí)渲染在場景中。而在VIL環(huán)境中,車輛在場景開始時(shí)由真實(shí)駕駛員控制,然后在功能激活時(shí)由真實(shí)ECU接管控制,控制指令的反饋不經(jīng)過車輛模型,而是直接體現(xiàn)在真實(shí)世界中,通過RTK設(shè)備進(jìn)行位置和姿態(tài)的記錄。如何將真實(shí)世界中的車輛位置姿態(tài)反饋在渲染出的虛擬場景中是車輛在環(huán)測試系統(tǒng)面臨的第一個(gè)關(guān)卡。
DYNA4軟件同時(shí)擁有動(dòng)力學(xué)模型模塊以及場景仿真模塊,同時(shí)客戶也可根據(jù)需求只使用動(dòng)力學(xué)模塊或是場景仿真模塊。當(dāng)只使用DYNA4的場景仿真模塊時(shí),車輛動(dòng)力學(xué)模型由外部提供。外部車輛動(dòng)力學(xué)模型的方案完美符合VIL測試系統(tǒng)的需求。在VIL測試過程中,DYNA4的自由車輛動(dòng)力學(xué)模塊將被屏蔽,來自RTK設(shè)備所測量的相對位移和相對速度、加速度以及車輛姿態(tài)的結(jié)果會(huì)被直接接入場景模塊,由DYNAanimation進(jìn)行3D渲染。通過將RTK坐標(biāo)系中的位置進(jìn)行坐標(biāo)換算為DYNA4世界系統(tǒng)中的坐標(biāo),就可以將車輛真實(shí)位置反饋在虛擬場景中。
RKT設(shè)備所獲得的相對位置(X、Y、Z方向)、速度(X、Y、Z方向)、加速度(X、Y、Z方向)和姿態(tài)(橫擺角Yaw,俯仰角Pitch,側(cè)傾角Roll)也會(huì)通過CAN總線或是RTK供應(yīng)商要求的通訊協(xié)議,傳遞給CANoe軟件,然后在CAPL腳本中經(jīng)過坐標(biāo)轉(zhuǎn)換,最終傳輸給OpenSCENARIO控制器。OpenSCENARIO控制器根據(jù)這些數(shù)據(jù)計(jì)算場景中Ego車輛和交通參與者車輛(GVT)/行人(VRU)的軌跡并由DYNAanimation進(jìn)行3D渲染。
圖2:坐標(biāo)系之間關(guān)聯(lián)
2.
交通參與者
在測試中,交通參與者,比如人、車、自行車、電動(dòng)自行車、摩托車,也需要渲染在3D場景中,并能夠被攝像頭模型或者雷達(dá)模型等傳感器捕捉到,從而將結(jié)果輸出至ECU中。DYNA4提供兩種交通參與者的仿真方法:一種是在OpenSCENAIO中建立預(yù)定義軌跡,一種是在仿真過程中實(shí)時(shí)給定參與者的位置和姿態(tài)。
1)、在OpenSCENARIO場景描述文件中預(yù)定義軌跡
在一個(gè)特定的場景中,交通參與者的行為通常是被定義好的,每一個(gè)行人、車輛都被定義好了相對Ego自車的行動(dòng)軌跡,在OpenSCENARIO中將這些行為的集合稱之為Story。
在Storyboard中,可以定義行人與車輛相撞,也就是同一時(shí)間到達(dá)同一個(gè)地理位置的行為。
在HIL測試中,Ego車輛的軌跡來自于車輛動(dòng)力學(xué)模型的輸出,而在VIL環(huán)境中,來自外部設(shè)備記錄的車輛位置姿態(tài)也同樣會(huì)在場景中生效。也就是說,基于給定的車輛位置和速度,DYNA4 中的OpenSCENARIO控制器將會(huì)計(jì)算出交通參與者將在何時(shí)啟動(dòng),以和Ego車輛完成碰撞預(yù)期。
在OpenSCENARIO中,所有參與者的位置都是以路網(wǎng)(高精地圖)作為基準(zhǔn)的。
在這種情況下,DYNA4支持OpenDRIVE地圖的導(dǎo)入,在OpenSCENARIO中可以將交通參與者通過指定路網(wǎng)中的道路的Id、車道的Id、縱向偏移ds和橫向偏移dt便可精準(zhǔn)將交通參與者或者Ego車輛放置在指定位置。
圖3:Ego車輛位置初始化
進(jìn)一步,行人或者車輛的軌跡被定義為Route(按照OpenDRIVE中定義的車道行駛),或者Trajectory(不按照車道而是按照路徑點(diǎn)進(jìn)行行駛)。
更進(jìn)一步,通過仿真時(shí)間,或是對Ego車輛位置、速度的約束可以設(shè)置StartTrigger激活交通參與者的Story,讓其按照預(yù)定義的路徑行動(dòng)(比如設(shè)定仿真開始后10秒,行人開始橫穿馬路)。
圖4:交通參與者路徑
2)、通過Traffic接口實(shí)時(shí)渲染
在DYAN4場景中,對交通參與者的行為定義除了由OpenSCENARI控制器進(jìn)行控制之外,還支持添加用戶自定義路徑的額外交通參與者。這種方案可以用于回放試驗(yàn)場記錄的場景,可以用于和第三方的交通流仿真軟件(如SUMO)進(jìn)行聯(lián)合仿真。
如圖5所示的DYNA4 Traffic模塊所示,模型中的SXRefValueFlag和SXRefValue是記錄每個(gè)交通參與者在DYNA4坐標(biāo)系X方向的控制標(biāo)志位和控制數(shù)值,比如用戶已經(jīng)在OpenSCENARIO描述文件中定義了2名行人,那么數(shù)組的第3位就可以用來控制額外的交通參與者。
假設(shè)給定Flag為101和SXRefValue為100,則可以將交通參與者設(shè)置到DYNA4世界坐標(biāo)X=100的位置處。
圖5:DYNA4交通參與者控制模塊
圖6:與CANoe交互示例
3)、傳感器輸出
如圖1所示,在實(shí)際測試中,測試車輛中的真實(shí)ADAS控制器和毫米波雷達(dá)(Radar)傳感器的部分總線會(huì)被連接至Vector總線接口卡,這些總線中的控制器狀態(tài)信息和傳感器同步信息會(huì)被CANoe軟件讀取并用于后續(xù)仿真。
同時(shí),經(jīng)過DYNA4交通傳感器篩選后的目標(biāo)物列表也會(huì)發(fā)送給ADAS控制器。毫米波雷達(dá)的目標(biāo)物可以通過總線直接傳輸,超聲波雷達(dá)(USS)則可以通過Vector的USS注入硬件按照DSI3協(xié)議格式發(fā)送給ECU。
對于攝像頭的仿真,場景經(jīng)過3D渲染后產(chǎn)生的畫面會(huì)通過DYNAanimation中配置的攝像頭模型進(jìn)行處理后,由視頻注入硬件將ECU所需格式的視頻流(GMSL或FPD-Link)傳輸給ECU。ADAS控制器會(huì)根據(jù)收到的傳感器數(shù)據(jù)判斷碰撞風(fēng)險(xiǎn),作出剎車動(dòng)作,制動(dòng)效果同樣會(huì)通過RTK設(shè)備的記錄從而傳輸給DYNA4進(jìn)行渲染,測試人員可以在DYNA4界面中看到完整的緊急制動(dòng)功能激活過程。
此外,DYNA4提供多種傳感器模型以適配多種用戶方案,同時(shí)支持用戶自定義數(shù)據(jù)格式的定制化開發(fā)。針對攝像頭傳感器,Vector可以針對客戶提供的畸變參數(shù)或者自定義畸變模型來定制化開發(fā)仿真插件,并在DYNA4配置界面直接使用。針對USS傳感器,Vector也提供傳感器模型以及DSI3協(xié)議仿真硬件接口。
03.
測試流程與結(jié)果
1)、場景初始化
與HIL硬件在環(huán)測試不同的地方在于,雖然OpenSCENARIO中定義的交通參與者位置會(huì)直接在場景中預(yù)定義,但Ego車輛的位置和姿態(tài)則完全由外部輸入控制,也就是說為了保證碰撞場景的實(shí)現(xiàn),Ego車輛在場景中需要初始化在特定的位置上。
DYNA4 OpenSCENARIO場景模塊支持Python腳本模塊的導(dǎo)入,可將OpenSCENARIO中定義的Variable和CANoe中的System Variable橋接起來,從而讀取OpenSCENARIO的設(shè)定值并導(dǎo)入到DYNA4模型中進(jìn)行渲染。
圖7:Scenario Engine中的Python腳本
圖8:OpenSCENARIO中的變量關(guān)聯(lián)
舉例如下:
>
通過bind_signal_source接口將OpenSCENARIO中的Variable綁定到System Variable橋中;
>
通過VariableAction接口將OpenSCENARIO中預(yù)定義的Parameter值傳導(dǎo)給Variable;
>
DYNA4接收到初始化指令,按照系統(tǒng)變量中的坐標(biāo)值初始化自車,根據(jù)OpenSCENARIO中交通參與者的參數(shù)初始化交通參與者。
2)、自車啟動(dòng)
駕駛員通過加速踏板、制動(dòng)踏板和方向盤操控自車,自車的行為會(huì)通過RTK設(shè)備測量,結(jié)果會(huì)通過總線傳給CANoe,再關(guān)聯(lián)到DYAN4中進(jìn)行實(shí)時(shí)渲染。
3)、實(shí)現(xiàn)碰撞點(diǎn)
交通參與者會(huì)通過自車的位置和速度,在定義的時(shí)刻開啟運(yùn)動(dòng),并實(shí)現(xiàn)碰撞。
4)、分析結(jié)果
測試結(jié)束后,測試數(shù)據(jù)會(huì)被記錄以用于后續(xù)分析:
RTK設(shè)備的總線記錄文件中會(huì)記錄自車的位置、速度信息;
DYNA4中的Traffic Sensor模塊會(huì)記錄目標(biāo)物和自車之間的相對距離、相對速度、相對加速度、TTC;
XCP接口讀取到的ECU內(nèi)部變量,可以記錄控制器內(nèi)部算法運(yùn)行的結(jié)果;
DYNAanimation中可以進(jìn)行仿真畫面的回放。
總體效果如下:
總結(jié)與展望
基于CANoe軟件和DYNA4軟件可以實(shí)現(xiàn)車輛在環(huán)仿真的基本框架,同時(shí)具有很強(qiáng)的可拓展性,后續(xù)可以基于基礎(chǔ)框架,進(jìn)一步拓展。后續(xù)拓展的可能性有:
>
定制化傳感器模型:例如圖像傳感器,DYNA4團(tuán)隊(duì)可以基于客戶參數(shù)定制化畸變模型;
>
多種傳輸協(xié)議:CANoe軟件支持多種總線協(xié)議,如CAN、LIN、FlexRay、Ethernet等,還可以根據(jù)客戶需求集成DDS、ZMQ等傳輸協(xié)議。
Vector致力于在ADAS測試領(lǐng)域努力滿足客戶和行業(yè)的測試需求,提供高質(zhì)量的一站式服務(wù)。
-
HIL
+關(guān)注
關(guān)注
2文章
65瀏覽量
17907 -
硬件在環(huán)
+關(guān)注
關(guān)注
2文章
13瀏覽量
11931 -
adas
+關(guān)注
關(guān)注
310文章
2239瀏覽量
209873 -
CANoe
+關(guān)注
關(guān)注
4文章
71瀏覽量
9068
原文標(biāo)題:基于DYNA4和CANoe的ADAS車輛在環(huán)(Vehicle In the Loop)測試方案
文章出處:【微信號:VectorChina,微信公眾號:Vector維克多】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第9期:2025.04.21--2025.04.25
ADAS1000-4 adi

CANoe仿真HTTP節(jié)點(diǎn)的實(shí)戰(zhàn)秘籍大公開

智能駕駛整車在環(huán)實(shí)驗(yàn)室SYNO解決方案

基于DYNA4的智能大燈控制算法的仿真閉環(huán)測試

汽車HiL測試:利用TS-GNSS模擬器掌握硬件性能的仿真藝術(shù)


MXsteerWheel與DYNA4的強(qiáng)強(qiáng)聯(lián)手#ADAS #智能駕駛 #線控轉(zhuǎn)向
“亦”真“亦”假?——MXsteerWheel與DYNA4的強(qiáng)強(qiáng)聯(lián)手

輕松上手CANoe Scenario Editor—智能網(wǎng)聯(lián)工程師入門篇


【干貨分享】硬件在環(huán)仿真(HiL)測試





評論