作者 | 單線程生物小編 | 吃不飽
隨著汽車行業的蓬勃發展,與之相關的自動駕駛功能越來越受到人們的關注。自動駕駛給人們帶來方便的同時,也帶來了某些安全隱患。為了最大程度的確保安全,除了要進行功能邏輯測試外,也需要進行功能場景測試(比如鬼探頭、多岔路上坡等場景)。
目前主流的場景測試工具有Carmaker、VTD、DYNA4、CarSim和PreScan。為了使場景測試的測試用例可讀性更強,對復雜功能的評估更高效,北匯信息提出基于TPT的測試解決方案。接下來,以TPT+Carmaker為例,介紹如何實現自動化的場景測試。
01TPT和場景仿真軟件集成
TPT提供以上場景測試工具的集成平臺和接口。TPT中的FUSION平臺存在CarMaker FMU Node、VTD Client Node、FMI Fusion Node和Custom Node Dll,能夠實現與場景測試軟件的集成,感興趣的小伙伴可以查看北匯公眾號前期文章《震驚!虛擬場景仿真測試還能這么玩》。
下面,我們以Carmaker FMU Node為例,介紹配置過程。
在TPT中新建Carmaker platform,配置如下:加載Carmaker工程和Test run,導入信號即可完成配置,非常簡單。
圖 1 TPT中Carmaker平臺配置02場景測試用例編寫
TPT中支持測試步驟列表和狀態機測試用例,測試步驟列表簡單快捷,狀態機圖形化便于理解。
例如AEB(自動緊急剎車)功能,測試場景為主車逐漸靠近目標,當距離小于閾值時,剎車確保安全。圖 2 AEB功能場景
根據如上場景,搭建狀態機測試用例。根據狀態機及轉移線顯示的內容,能夠很快了解到測試場景內容,例如:整車上電,開啟AEB功能,油門為30,整車加速至50km/h,持續15s。圖 3 TPT場景測試用例
另外,通過改變狀態機變種或跳轉條件,可以很方便的實現其他測試場景。圖 4 變換場景
03測試評估多樣化編寫TPT支持在測試用例中編寫評估,也有獨立于測試用例的GUI和腳本評估。
自動駕駛邏輯往往非常復雜,評估需要多個條件,TPT評估語法為Python語法,方便快捷,另外,TPT內置了很多函數,例如:上升沿、下降沿、積分、微分等等,編寫評估時直接使用即可。
例如當前測試場景,當主車與目標距離小于10m時,剎車應>=0.7,降低車速,避免與目標碰撞。GUI和腳本評估會自動尋找滿足condition的區間開啟評估,并判斷是否滿足期望結果。
如下為Trigger Rule評估的Trigger Condition形式,當滿足Start Condition條件時,開啟評估并檢查是否符合期望,滿足Stop Condition條件時,關閉評估。
Tips:TPT.risingEdge()用法為,當()里的條件由不滿足到滿足時觸發,由于主車與目標距離逐漸降低,則應為:
TPT.risingEdge(Sensor::ds_p<10)。
同理,如果為TPT.fallingEdge(),則條件為Sensor::ds_p>10。
圖 5 評估語法
上述評估也可以基于Script評估實現,示例如下:圖 6 腳本評估
我們也可以將腳本評估作為庫,方便其他同事使用。
04測試運行
可以在TPT當中新建TestSet,對測試用例進行分組,運行指定的測試集。當然了,最方便的方法是直接選中想要執行的測試用例,直接運行。圖 7 TestSet設置
測試用例執行完成后可以在Build Progress中查看結果,在Signals中查看測試數據,在Overview Report中查看測試報告。圖 8 測試用例執行圖 9 測試數據圖 10 部分測試報告
說了那么多,來看一下TPT是如何執行場景測試的吧。
05總結
TPT的功能不僅限于上述內容,TPT可以通過集成不同平臺實現所有的產品研發階段測試(MiL、SiL、PiL、HiL、ViL),更多精彩等您來探索。
-
測試
+關注
關注
8文章
5315瀏覽量
126714 -
自動化
+關注
關注
29文章
5588瀏覽量
79350 -
TPT
+關注
關注
0文章
23瀏覽量
6991
發布評論請先 登錄
相關推薦
評論