震驚!虛擬場景仿真測試還能這么玩


前言

 

 

智能駕駛場景仿真軟件難以實現復雜場景的ADAS測試?
用場景仿真軟件編寫ADAS測試用例效率太低?
不知如何將編寫的ADAS測試用例鏈接到需求?


來自德國的PikeTec公司潛心研發的TPT測試工具已經完美地解決了上述問題。


借助TPT,結合市面上主流的場景仿真軟件VTD、DYNA4、CarMaker和PreScan等,我們便可以快速構建復雜的測試場景,並實現從場景設計、三維重構、測試執行管理、結果評估、報告生成的自動化。下面我們就分別介紹下TPT如何與眾多場景工具實現強強聯合。


與TPT已有內嵌接口的場景仿真軟件


如果你使用VTD進行ADAS場景仿真,那么恭喜你,TPT已經內置了和VTD的接口,你可以直接在TPT中調用VTD的數據接口及控制接口,進行基於場景的測試用例編寫,並最終聯合VTD完成不同場景下的仿真測試。

 

如果你的場景仿真軟件支持FMU Export(如DYNA4 R5),由於TPT支持FMU Import,所以你可以很方便地實現其與TPT的數據交互,FMI與FUSION平台之間的通信原理如圖所示:


圖1 FMI與FUSION平台之間的通信


當你想在TPT中讀寫DYNA4的信號,你需要修改DYNA4的模型,定義整個模型的輸入輸出接口,生成並導入FMU文件到TPT,TPT就可以讀取這些接口,基於這些信號接口進行測試用例的編寫。

 

如果你用的場景仿真軟件不支持FMU Export(如CarMaker,PreScan),你同樣可以使用TPT中Fusion平台的用戶自定義節點(Custom Node),來構建與場景仿真軟件的數據接口。Custom Node中提供了更加開放的API接口,因此你可以完成更多定制化的場景測試功能。


換句話說,無論你使用何種場景仿真軟件,基於TPT提供的Fusion平台,你都可以實現對該場景仿真軟件中搭建的場景進行測試。


下面我們就以CarMaker為例,介紹一下如何通過TPT提供的Fusion平台連接場景仿真軟件,實現基於TPT的智能駕駛場景測試。


此外,對於PreScan,由於其與TPT集成的方法與CarMaker類似,我們放在最后進行簡略地介紹。

 


TPT Fusion平台簡介

 


連接到Fusion平台的模塊稱為節點,每個節點都通過API連接到Fusion。每個節點讀取輸入信號,計算一個時間步長的輸出,然后將其寫入Fusion。TPT運行時按順序依次執行工程所添加的各個節點,這樣可以實現更復雜的節點調度和函數調用。


圖2. Fusion 平台示意圖


TPT的Fusion平台中已經內置了很多用於和第三方軟件進行通信的節點,如AUTOSAR節點、CANape節點、CAN節點、CANoe節點、FMI節點、dSPACE節點等,還包括自定義節點Custom節點。

 


TPT Fusion與CarMaker集成方案

 


TPT和CarMaker的集成就使用Custom節點,該節點需要一個用於TPT與CarMaker數據交互的DLL文件,具體結構圖如下:


圖3.基於fusion平台的TPT與CarMaker集成結構圖


由上圖我們可以看出,TPT與CarMaker的集成代碼可以分為四部分:

  • Node.c——使用fusion平台提供的API接口實現節點啟動、節點初始化、功能執行、信號讀寫等功能
  •  CarMaker_Socket.cpp——與CarMaker建立TCP通信、啟動CarMaker並加載相應的TestRun工程、注冊DVA變量、讀寫DVA變量、關閉TCP通信等
  • API.h——用戶信號存儲的變量的聲明、相關函數的聲明;
  • Socket.h——定義用於和CarMaker進行數據交互的類,包含與CarMaker進行TCP連接的方法、基本TCP數據接收與發送方法、DVA數據注冊與讀寫等方法等。

 

在完成了上述源文件的編輯之后,通過g++編譯器進行編譯並生成為一個DLL文件即可。


在TPT的Custom Node中將生成的DLL文件加載進來,TPT就可以將Node.c中定義的信號導入到測試工程中,信號數值通過CarMaker_Socket.cpp從運行過程中的CarMaker工程進行讀寫。


這樣,我們就完成了TPT與CarMaker之間的數據交互,可以在TPT中編寫場景仿真的測試用例,來控制場景仿真軟件中被測車輛的運行狀態,實現對應場景的測試。
PreScan如何與TPT Fusion集成。


PreScan從2019.3版本開始提供了Prescan C ++ API,利用該API,我們同樣可以通過編寫C++程序,實現對PreScan的遠程控制與數據交互的功能。因此TPT Fusion平台與PreScan之間的集成方案與CarMaker類似,在此不做過多贅述。


圖4. Prescan C ++ API結構

 


如何在TPT中搭建場景仿真測試用例

 


在搭建測試用例過程中,如何邏輯清晰地把握場景中信號間的相互關系和激勵時段往往是復雜模型的測試難點所在。TPT作為PikeTec公司研發的嵌入式系統模型動態測試驗證工具,針對場景測試采用分時段邏輯路徑、參數variants、測試用例並行執行、圖形化的方式搭建測試用例,使得場景構建靈活便捷,下面我們將結合AEB場景對這些搭建特點進行說明。


在TPT中搭建場景仿真的測試用例具體方法,可以參考往期文章《如何符合E-NCAP測試規范?TPT讓AEB場景測試更簡單》。

 


PickTec公司介紹

 


PikeTec公司是全球知名的基於模型的嵌入式系統測試工具TPT的軟件供應商,總部位於德國柏林,其創始人均在戴姆勒公司擁有十多年的軟件測試經驗。TPT作為針對嵌入式系統的基於模型的動態測試工具,支持眾多業內主流的工具平台和測試環境,可應用於整個嵌入式軟件開發周期,實現各種異構環境下的自動化測試。無論是在測試建模,測試環境還是測試評估,測試報告方面,都占據強大優勢。

 

北匯信息作為PikeTec的中國合作伙伴,將為中國客戶提供有關TPT技術以及工具鏈集成方面的支持。

 

注:
工具是否支持FMU Export,可點擊鏈接https://fmi-standard.org/tools/確認
部分圖片來自於《Prescan C++ API》、《TPT User Guide》、pexels網站


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM