點擊上方藍字談思實驗室
獲取更多汽車網絡安全資訊

控制器開發的V流程中,有兩個與實時性強相關的環節:快速控制原型(RCP)與硬件在環仿真(HIL)。RCP和HIL怎么區分?簡單而言,我們可以參考以下公式:
RCP=假的控制器+真的被控對象 HIL=真的控制器+假的被控對象
以電機控制為例,如下圖。

控制軟件的V型開發流程
01
快速控制原型
1.1 快速控制原型的概念
快速控制原型(Rapid Control Prototype,簡稱RCP)。實時硬件運行Simulink控制算法(模擬控制器),控制真實被控對象(如開關、電磁閥、電機、發動機等),快速驗證該Simulink算法。此時實時硬件可以看作是原型的控制器,通過這種方式我們快速地得到了一個原型控制器,對原型的控制算法進行測試,故稱之為快速控制原型。此時,被控對象是真的,控制器是假的(所謂控制器是假的,并不是說控制器是虛擬的,而是控制器不是客戶的最終控制器)。

1.2 為什么要做快速控制原型
當用戶開發出了相關的控制算法后,他可能已經通過電腦仿真的方式對算法進行了初步的測試(此測試中,控制算法是Simulink模型,被控對象也是Simulink模型,仿真測試純粹在電腦中運行)。在這個初步的仿真測試之后,用戶希望進一步驗證該算法,此時一個比較合理的方式是讓該控制算法去控制真實的被控對象,在更加真實的環境中對算法加以測試。
這時候就遇到了一個很明顯的問題:用戶開發的控制算法是一個Simulink模型,是虛擬的東西,沒法直接去控制真實的被控對象。比如一個真實的電機,它可能是被PWM信號或者模擬信號控制的,而我們的電腦是沒法發出這樣的信號去控制電機的,需要專門的硬件去發出這樣的電氣信號。這時候,傳統的方式中,用戶會自己去開發一個硬件,并且撰寫調用硬件資源的代碼,然后把控制算法部署到硬件中。這種方式有幾個缺點:
① 用戶需要自己開發硬件和底層代碼,費時費力
② 用戶自己開發的硬件和底層代碼,可能存在bug,后期使用的時候,一旦出了問題,調試又是費時費力
對于很多用戶來說,他面臨兩種狀況:
① 他專注的是應用層的控制算法,根本不關注底層和硬件,完全沒有必要自己去開發硬件和底層。硬件和底層只是他用來測試應用層控制算法的輔助工具。
② 用戶也要開發自己的硬件和底層。如果按照從傳統瀑布式的開發方式,用戶想測應用層算法,必須先得等自己的硬件和底層開發完畢,然后三者集成在一起進行測試,這種方式的開發和測試流程非常長,大大延長了產品的上市時間。用戶很希望在硬件和底層沒有ready之前,就能對應用層算法進行全面的測試,發現和消除大部分的bug。這樣等到硬件和底層ready之后,整個測試工作就會輕松很多。
對于這些用戶,他們有一個明顯的需求,就是:有人能給他們提供一個成熟的、無bug的硬件,同時給他們提供這個硬件的底層(一般是Simulink驅動模塊),讓他們能夠直接將應用層算法下載到這個硬件中,使得他們可以直接用這個硬件去控制被控對象,在實時的環境中驗證應用層算法。So,快速控制原型應運而生!

PolarBox快速控制原型
1.3 快速控制原型設備的特點
RCP中的原型控制器,一般具有如下特點:
① CPU、內存等配置較高,用戶無需擔心硬件資源夠不夠的問題,比如如下典型配置

② 易于將Simulink模型編譯、下載到原型控制器中(一般通過網口下載)
③ IO及通訊接口靈活且豐富,能夠滿足不同應用的需求,不同應用的接口需求也是大不相同
④部分應用要求快速控制原型設備便攜、抗震抗沖擊,比如車載快速控制原型應用。
MATLAB/Simulink有多款代碼生成工具,RCP和HIL用的都是MATLAB Coder和Simulink Coder,而生成產品級代碼用的是Embeded Coder。
遇到一個比較常見的問題是:RCP的時候,為什么不用Embeded Coder,而用MATLAB Coder和Simulink Coder?這是因為使用Embeded Coder的時候,用戶需要做定標之類的大量工作以優化生成的代碼,提高代碼在硬件上的運行速度。在RCP階段,用戶主要關心他的Simulink模型的功能邏輯是否OK,而不是生成代碼質量。借助于MATLAB Coder和Simulink Coder,用戶無需關注定標、硬件資源等一系列事情,只需在Simulink中點擊Build將應用層控制算法模型編譯下載到快速控制原型設備中。
所以快速控制原型最大的意義在于,幫助用戶快速地構建一個原型控制器,這個原型控制器可以跟真實被控對象相連,在實時環境下驗證用戶的應用層算法。
02
硬件在環仿真
2.1 硬件在環仿真的概念
硬件在環仿真(Hardware-in-loop,簡稱HIL),是一個與快速控制原型RCP反過來的過程,實時硬件運行Simulink被控對象模型(模擬被控對象),受真實控制器的控制,以此對控制器進行測試。此時,控制器是真的,被控對象是假的。
舉個例子,在實車測試之前,先通過HIL模擬車輛來對控制器做一個全面的功能測試。因為該被控對象(車)是假的,所以HIL比實車測試安全高效,而且可以測試一些實車測試中不容易實現的極端case。其他領域,航空航天、能源、機器人等領域,也是同理。

2.2 為什么要做硬件在環仿真
有些人可能會有疑問:為什么要進行硬件在環仿真?為什么要拿一個假的被控對象去測真實的控制器?為什么不直接用真實的被控對象去測真實的控制器,比如開發出車載控制器后,直接把該控制器放到車上去上路測試?原因有這么幾個(以汽車控制器為例):
1、安全性。控制器如果沒有經過全面的測試,直接去控制真實被控對象,可能會發生事故。而如果是做硬件在環仿真,即便控制器出問題了,也就是導致硬件在環設備中的模型跑飛而已。
2、效率。用真實的被控對象去測真實的控制器,測試必須一步一步、按部就班完成,測試效率低。而在硬件在環仿真中,可以使用自動化測試的手段大大提高測試效率,縮短控制器上市時間。比如測試汽車控制器,某次測試結束后,下一次測試要求汽車重新回到初始狀態再開始測試(比如車子開回原來的位置或者達到初始的速度)。在實車測試時,就真的得把車子開到初始的狀態;而在硬件在環仿真過程中,只要點擊初始化按鈕,車輛模型就回到了初始化的狀態。又比如,測試時,需要車輛從初始狀態車速=1m/s,3ms/s,5m/s分三次進行測試,對于硬件在環仿真,只需要設置循環,循環時設置好初始車速即可完成三次測試。
3、成本。一則,第二條中已經指出,自動化測試的方式大大提高了效率,這便能節省大量的時間和人力成本。二則,以汽車測試為例,PSA做過一個研究,通過包括硬件在環仿真在內的多種測試手段,可減少30%的測試車輛。一般而言,一個平臺的測試車輛,最少在1000輛左右,如果省去30%的測試車輛,也就是幾乎省去300輛車的成本。
4、全面性。硬件在環仿真中,因為測試場景和被控對象都是虛擬的,所以可以輕松創建一些在現實世界中較難實現的測試用例來對控制器進行測試,比如車速達到180公里/小時,電機超負荷運行等等(這些工況如果實車測試,會很危險)。硬件在環仿真可以輕松創建全面的測試用例對控制器進行全面的測試。
5、測試前置。傳統的臺架或實物測試,往往是在產品開發的后期才有條件可以進行,而現在各行各業的節奏都很快,產品上市周期很短,所以往往希望能夠把測試環節往前提。在產品開發的前期,只要有控制器,就可以進行HIL測試,盡早排查bug,這樣后期的臺架測試和實物測試的工作量就會減少,縮短產品上市周期。
用真實的被控對象去測真實的控制器(暫且命名為實物測試)是必不可少的,但硬件在環仿真是對實物測試的一種有效補充。在實物測試之前,通過硬件在環仿真充分、全面地對控制器進行測試,提前暴露和解決控制器的bug,讓實物測試更省時省力省錢。
2.3 硬件在環仿真設備的特點

① CPU配置更高。一般而言,被控對象模型比控制算法模型復雜,所以要求硬件在環仿真設備的算力更強,典型配置如下。

② 易于將Simulink模型編譯、下載到原型控制器中(一般通過網口下載)
③ IO及通訊接口靈活且豐富,能夠滿足不同應用的需求,不同應用的接口需求也是大不相同
2.4 硬件在環仿真設備的分類
根據設備的形態,可以分為兩類:桌面式和機柜式。
① 機柜式
一般汽車領域用得多。汽車領域的硬件在環仿真設備幾乎已經有了一定的標準,涉及到很多部件,桌面式的設備已經難以容納這些設備,所以會做成機柜的形式,把這些設備都集成在一個大機柜中。
航空航天領域,往往把HIL稱為半實物仿真,在整個系統中加入了更多的實物部件,所以也做得比較復雜,會做成機柜的形式。

②桌面式
有些應用場景的硬件在環仿真設備相對沒那么復雜,多放在桌面上。比如桌面式的PolarFlexBox或PolarLabBox如下圖。

至于具體選擇機柜式還是桌面式,需要根據實際需求來定。
03
一套實時機,可以兼具RCP或HIL功能嗎
完全可以。
其實,對于某個型號的實時機而言,比如我們的PolarLabBox,它并不是只做RCP或只做HIL。RCP或HIL只是功能類型,只要這個實時機的算力和硬件資源足夠,那么它既可以做RCP,又可以做HIL。你拿它去跑控制算法,它就是RCP;你拿它跑被控對象模型,它就是HIL。
舉個例子,如下的PolarLabBox,常規來說,它更多用于RCP應用,因為它緊湊便攜,很適合當做控制器來用。

很多用戶,拿PolarLabBox去做電機控制,或者別的應用場景的控制,此時它就是RCP。
也有不少用戶,拿PolarLabBox去做HIL,尤其是有不少用戶(包括車企和高校)拿它做雙電機HIL。
一種設備,兩種用途,性價比更高。
PolarMicroBox和PolarFlexBox也是同理,也是既可以做RCP,也可以做HIL。只是PolarMicroBox通常用作RCP偏多些,PolarFlexBox通常用作HIL偏多些。
來源:知乎@卿顏
https://zhuanlan.zhihu.com/p/208494900
談思-汽車出海安全合規(歐洲)
交流群
談思 AutoSec Europe 峰會旨在搭建一個能融匯全球視野與中國實踐、連接技術前沿與落地應用的國際性專業平臺,以助力中國汽車應對在出海過程中面臨的網絡與數據安全合規痛點。從前沿技術研討、合規要點解析到經驗交流,都將通過本平臺為您提供持續支持。社群已超過200人,需邀請加入,如需入群,歡迎添加社群小助手微信taaslabs01。

談思-SDV&AIDV技術出海
交流群
誠邀行業同仁加入談思SDV&AIDV出海技術交流群,聚焦軟件定義汽車、AI定義汽車、下一代EEA、智能座艙、智能駕駛、軟件架構、域控制器開發、芯片技術、軟件工具等核心議題,歡迎大家加群交流探討~~社群已超過200人,需邀請加入,如需入群,歡迎添加社群小助手微信taaslabs01。

end

談思汽車媒體門戶

精品活動推薦


AutoSec系列沙龍

專業社群
部分入群專家來自:
新勢力車企:
特斯拉、理想、極氪、小米、零跑汽車、阿維塔汽車、智己汽車、小鵬、嵐圖汽車、蔚來汽車、吉祥汽車、賽力斯......
外資傳統主流車企代表:
大眾中國、大眾酷翼、奧迪汽車、寶馬、福特、戴姆勒-奔馳、通用、保時捷、沃爾沃、現代汽車、日產汽車、捷豹路虎、斯堪尼亞......
內資傳統主流車企:
吉利汽車、上汽乘用車、長城汽車、上汽大眾、長安汽車、北京汽車、東風汽車、廣汽、比亞迪、一汽集團、一汽解放、東風商用、上汽商用......
全球領先一級供應商:
博世、大陸集團、聯合汽車電子、安波福、采埃孚、科世達、舍弗勒、霍尼韋爾、大疆、日立、哈曼、華為、百度、聯想、聯發科、普瑞均勝、德賽西威、蜂巢轉向、均聯智行、武漢光庭、星紀魅族、中車集團、濰柴集團、地平線、紫光同芯、字節跳動、......
二級供應商(500+以上):
中科數測、ETAS、BlackDuck、NXP、上海軟件中心、Deloitte、奇安信、為辰信安、云馳未來、信長城、澤鹿安全、紐創信安、復旦微電子、天融信、奇虎360、中汽中心、中國汽研、上海汽檢、加特蘭微電子、浙江大學......
人員占比

公司類型占比

文章
關于涉嫌仿冒AutoSec會議品牌的律師聲明
一文帶你了解智能汽車車載網絡通信安全架構
網絡安全:TARA方法、工具與案例
汽車數據安全合規重點分析
淺析汽車芯片信息安全之安全啟動
域集中式架構的汽車車載通信安全方案探究
系統安全架構之車輛網絡安全架構
車聯網中的隱私保護問題
智能網聯汽車網絡安全技術研究
AUTOSAR 信息安全框架和關鍵技術分析
AUTOSAR 信息安全機制有哪些?
信息安全的底層機制
汽車網絡安全
Autosar硬件安全模塊HSM的使用
首發!小米雷軍兩會上就汽車數據安全問題建言:關于構建完善汽車數據安全管理體系的建議