硬件在環的應用場景_硬件環境指的是什么
“關于硬件在環HIL測試的簡單介紹,供大家批評。”
硬件在環hardware-in-the-loop,簡稱HIL,大家可能經常聽到,那這到底是什么呢?可以說是一種對控制器進行測試的手段,而其名字已經揭示了含義。名字中的“hardware”硬件,即是這個測試手段的被測對象,一般是控制器實物,比如整車控制器VCU、電池管理系統BMS、ADAS控制器或者是自動駕駛的計算平臺;“in-the-loop”在環,強調了被測控制器要在一個閉合的回路里,這個回路即是控制器接收被控對象的狀態并發出控制指令,然后得到被控對象反饋并再次發出控制指令的過程。形成了這個測試閉環,就可通過設置被測對象不同的狀態,來測試控制器能否對不同的工況進行正確處理,其功能是否都能夠正常工作。
那么如何形成這個測試閉環呢?我們從真實控制器和真實被控對象的情況說起。比如真實的自動駕駛控制器控制真實車輛時,控制器發送控制指令(如加速、減速、轉向等)給車輛上的執行器,車輛根據控制指令做出相應的動作,然后車輛上安裝的傳感器檢測狀態信息(如車速、橫擺角、障礙物信息等),并反饋給控制器,控制器繼續根據新的狀態信息計算并發出控制指令,周而復始。
進行HIL測試時,使用HIL設備替代真實被控對象,接收所有控制指令,并模擬所有狀態信息返回給真實控制器,使控制器以為自己在控制真實對象,從而形成測試閉環。
這要求HIL設備一方面能夠按照真實被控對象和控制器接口的線路形式和協議收發信息,另一方面能夠對控制指令做出正確響應并發出正確的狀態值。從而,HIL設備一般由這樣幾部分構成:
(1)被控對象仿真模型:用來精確的模擬被控對象,發出正確狀態信息,比如車輛動力學模型、電池模型、交通場景模型和傳感器模型等。
(2)實時處理器:由于接入了控制器實物,由HIL設備模擬的虛擬被控對象也要能夠實時運行,這樣才能準確模擬真實對象。從而需要一個高性能的實時處理器來運行仿真模型以及處理I/O通信、數據記錄等各項HIL測試中的任務。
(3)I/O接口:用來模擬控制器和被控對象間的交互,按照真實的線路形式(如硬線、CAN總線、以太網等)和協議收發信息,按照與真實對象一樣的形式通過線路與控制器相連,并實現信號的收發。
(4)操作界面:有時也被稱為上位機軟件、試驗管理軟件,其與實時處理器通信,提供可視化操作和觀測界面,進行設備硬件、軟件和測試任務的管理。
為了使用的便利性,HIL設備的各個部分有時會集成到一個機柜中。
說了這么多,為什么需要進行HIL測試呢?或者說HIL測試有什么好處呢?簡單列舉如下幾種:
(1)節省成本
不管是開放道路還是封閉試驗場的實車測試都需要大量的費用,比如樣車制造費用比量產車輛要高很多、試驗場地昂貴的租賃費用和緊張的測試時間、實車測試設備費用常常較高、實車測試需要不同專業的測試人員等等。雖然HIL測試不能替代全部的實車測試,但使用HIL測試可以在實驗室完成一大部分的測試,從而節省大筆支出。
(2)減少危險
汽車是一個非常復雜的移動機電液耦合裝置,其機械和控制器部分都可能包含潛在的問題。在開發階段貿然的進行實車測試,特別是危險工況的實車測試,可能因為潛在問題的發生而造成危險,甚至是人員傷亡。在控制器安裝到車輛上進行實車測試前,進行常用的或者全部功能的HIL測試,有助于發現并解決很多潛在問題。這在一款新控制器的開發階段或者代碼更新后尤其有效。
(3)同步開發
一款全新汽車的開發可能要經歷兩三年的時間,而控制器和被控的整車或者零部件可能處于同步開發的狀態;也可能通用性的控制器遠早于整車的開發,比如控制器供應商提前完成控制器開發,再根據整車適配性修改。兩種情況都會造成控制器開發時,并沒有被控對象進行匹配測試。而HIL測試中通過仿真設備模擬被控對象信號,可以在開發早期實現控制器的功能測試,從而節省開發時間,提高測試效率。
(4)故障注入
控制器需要能夠妥善處理故障情況,比如信號丟失、線路短路等等。這些故障情況在實車上難以設置和復現,而且具有一定的危險性。通過HIL測試可方便的對多種故障的組合和取值進行遍歷測試,大大提高測試效率。
說了這么多,如果要進行HIL測試該怎么做呢?可以分為HIL工具開發、HIL系統集成、測試場景開發和HIL測試執行四個步驟。
(1)HIL工具開發
HIL工具涉及到軟件工具和硬件工具。對于自動駕駛測試來說,軟件工具包括場景和傳感器仿真軟件、車輛動力學仿真軟件、測試管理軟件等不同功能的軟件;硬件工具有實時仿真機、IO接口板卡和傳感器模擬器等。這些工具可以根據具體的需求情況和開發能力,在市場上選擇適合的現有工具或者自行開發。
(2)HIL集成
HIL系統集成包含兩個方面的工作:①根據測試需要選擇合適的測試工具并將其集成為完整的HIL測試環境;②將被測算法與HIL測試環境集成,實現閉環測試。
第一方面工作的難點在于:①市場上的測試工具種類較多,哪個能滿足測試需求?②這些測試工具多是由不同公司開發的,在將其集成到一起時,相互之間的數據接口需要定制化開發。
第二方面工作的難點在于:①現成的工具與被測算法的數據接口也不一致,在定制化開發通信接口的過程中,既需要創造性的思考,也需要步步為營的調試。②如何能夠保證仿真環境與真實環境的相似度,比如傳感器的信號是否與真實情況一致、車輛動力學模型的響應是否與真實車輛一致?
(3)測試場景開發
測試場景開發工作的一個關鍵問題是:如何保證仿真測試的場景覆蓋度?或者說算法在仿真環境進行了1000萬個場景、1000萬公里的測試后,我們可以有多大信心在真實世界的同樣場景下進行自動駕駛?
這需要針對自動駕駛算法的設計運行域進行詳細而系統的測試場景設計。充分考慮道路、周圍車輛的位置和運動、傳感器感知局限和自車狀態等等不同方面的影響。
(4)HIL測試執行
HIL測試執行包含兩個方面的工作:①對測試場景庫的維護和針對不同算法選擇合適的測試場景并進行測試;②在測試完成后,整理并提供清晰的測試報告,并提供測試結果的統計數據,為算法團隊的改進提供有效支撐。
HIL測試一般是自動化測試,配置好測試用例后進行無人值守的自動化運行和評估,這有利于提供測試效率、正確性和一致性。