楊孛 陳國安 劉兵
摘 要:隨著汽車行業(yè)的發(fā)展,全液晶汽車儀表應(yīng)用越來越廣泛,但由于其顯示內(nèi)容豐富,圖形界面復(fù)雜,利用傳統(tǒng)人工測試耗時(shí)長,測試結(jié)果依賴人員的主觀判斷,精度難以保證。為確保全液晶儀表顯示的正確性和穩(wěn)定性,本文提出了一種全液晶汽車儀表自動測試方法,利用OpenCV和CANalyzer搭建了一套液晶儀表自動測試系統(tǒng),對全液晶儀表進(jìn)行指針精度測試和警告燈測試,該測試方法檢測指針偏轉(zhuǎn)精度約為1.92°,警告燈點(diǎn)燈和熄燈異常檢出率約為97.7%。此方法比人眼觀察更為準(zhǔn)確,精度更高,同時(shí)減少了測試人員的工作量,降低了儀表的開發(fā)成本,通用性強(qiáng)。
關(guān)鍵詞:全液晶汽車儀表;自動測試;CANalyzer;OpenCV
中圖分類號:U467.3 文獻(xiàn)標(biāo)識碼:A 文章編號:1005-2550(2019)01-0039-07
Abstract: As motor industry is developing rapidly, the TFT (Thin-Film technology) meter has been widely used. However, due to the complex display contents, it is hard to guarantee the test accuracy by using the traditional test method. Therefore, an evaluation method based on OpenCV and CANalyzer has been proposed and a test platform has been built to ensure the meter display accuracy. The detection accuracy results of the pointer deflection angle is 1.92°. Moreover, it can also detect the abnormal display of warning lamp and the accuracy rate is about 97.7%. On one hand, this method can be more reliable than the subjective evaluation method. On the other hand, it can reduce the cost of research and development by improving the test efficiency.
Key Words: Thin-Film Technology vehicle meter; automatic test; CANalyzer; OpenCV
1 前言
汽車儀表為駕駛員提供發(fā)動機(jī)、蓄電池等汽車狀態(tài)相關(guān)信息,以便駕駛員能及時(shí)發(fā)現(xiàn)警報(bào)及故障信息,從而保障行車安全。目前大多采用人工評價(jià)汽車儀表,評價(jià)人員的主觀 因素會直接影響評價(jià)結(jié)果,檢測效率較低,可靠性低。為了達(dá)到縮短儀表研發(fā)周期,提高開發(fā)質(zhì)量,國內(nèi)外一直致力于儀表自動檢測系統(tǒng)的研究。
在提高儀表測試效率的相關(guān)學(xué)術(shù)研究中,關(guān)牧野等設(shè)計(jì)搭建了一個(gè)乘用車組合儀表測試臺
架[1],將手動測試與自動測試相結(jié)合,自動對信號進(jìn)行檢查,人工對測試結(jié)果進(jìn)行判斷,最后自動生成測試報(bào)告,此方法需要依賴人工對實(shí)驗(yàn)結(jié)果進(jìn)行判斷,并未完全實(shí)現(xiàn)自動測試。為了實(shí)現(xiàn)自動測試,研究者們均采用了攝像頭采集圖像,再運(yùn)用各種圖像處理方法進(jìn)行處理。孟祥雪等基于機(jī)器視覺理論研究并結(jié)合圖像處理技術(shù),研究設(shè)計(jì)了汽車儀表盤自動識別系統(tǒng)[2],此方法僅實(shí)現(xiàn)了儀表指針的自動測試,不能對儀表警報(bào)指示燈進(jìn)行自動檢測。Huang等提出了采用Hardware-in-the-loop與機(jī)器視覺技術(shù)相結(jié)合的汽車儀表自動測試系統(tǒng)[3, 4],但需對測試儀表做標(biāo)定且標(biāo)定過程復(fù)雜,因此不同儀表間的通用性不強(qiáng)。卜令駿等則在采集到儀表顯示圖片后,通過形態(tài)學(xué)的膨脹和腐蝕的組合處理獲取儀表指針的骨架,通過灰度分析獲得指針的中心線,采用顏色分析法判斷報(bào)警指示燈的色調(diào),來校驗(yàn)儀表的指示燈顯示精度[5]。尤曉俊等提出了采用VC和視覺開源庫OpenCV對采集到的圖像進(jìn)行處理和識別[6]。但此類方法在圖像采集過程中,受采集設(shè)備配置,照明亮度環(huán)境等影響,會給識別系統(tǒng)引入誤差,降低檢測準(zhǔn)確度。T.J.Narayana等基于LabVIEW圖像處理技術(shù)設(shè)計(jì)了閉合循環(huán)自動汽車儀表測試系統(tǒng)[7],此方法雖然利用LabVIEW模塊化的編程簡化了圖像處理程序,但模塊化的編程限制了僅能實(shí)現(xiàn)CAN傳輸儀表信號的自動檢測,I/O信號的儀表指示燈無法檢測。
本文利用通用測試盒搭建了全液晶汽車儀表自動檢測系統(tǒng),將測試程序通過測試盒控制儀表的顯示,儀表將實(shí)時(shí)顯示的圖像傳回至上位機(jī),形成測試回路,實(shí)現(xiàn)了儀表CAN信號和I/O信號的測試。其中利用OpenCV進(jìn)行圖像處理,與設(shè)計(jì)式樣對比并顯示具體差異,直接輸出測試結(jié)果。測試不同儀表時(shí),只需將設(shè)計(jì)式樣輸入上位機(jī)即可實(shí)現(xiàn)該儀表的自動測試,且該測試方法可檢測的指針偏轉(zhuǎn)精度約為1.92°,且警告燈點(diǎn)燈異常和熄燈異常檢出率約為97.7%。
2 儀表自動檢測圖像處理方法
2.1 圖像預(yù)處理
二值化處理后輸出由像素點(diǎn)Dk(x,y)組成的圖像,通過實(shí)驗(yàn)?zāi)M發(fā)現(xiàn),當(dāng)圖像90%的像素點(diǎn)正常顯示時(shí),該圖像清晰可見。因此以0.1k(k為該圖像所有的像素點(diǎn)個(gè)數(shù))作為判定閾值,當(dāng)輸出圖像N≤0.1k時(shí),說明實(shí)時(shí)采集的圖像與標(biāo)準(zhǔn)圖像之間的差異非常小,對比結(jié)果判定為OK。當(dāng)輸出圖像N>0.1k時(shí),則說明實(shí)時(shí)采集的圖像與標(biāo)準(zhǔn)圖像差異較大,對比結(jié)果判定為NG。通過輸出的圖像不僅能判斷實(shí)時(shí)采集的圖像與標(biāo)準(zhǔn)圖像是否存在差異,還能將差異像素點(diǎn)顯示出來。
3 儀表自動測試系統(tǒng)
3.1 儀表測試硬件系統(tǒng)
如圖3所示,本文的測試硬件系統(tǒng)主要由PC上位機(jī)、臺上通用測試盒、dSPACE以及全液晶儀表三部分組成。全液晶儀表的信號輸入主要分為I/O信號和CAN信號兩部分,車速、轉(zhuǎn)速、遠(yuǎn)光燈等為CAN總線信號,PKB警告燈、安全帶警告燈等為I/O引腳信號。
(1)上位機(jī)
上位機(jī)分為信號發(fā)送軟件和圖像處理軟件兩部分,通過CANalyzer編寫程序,進(jìn)行CAN信號的輸入,Matlab編寫程序,輸入I/0信號,實(shí)現(xiàn)I/O信號的自動測試,采用OpenCV對圖像進(jìn)行處理與運(yùn)算。
(2)通用測試盒、dSPACE
通用測試盒、dSPACE一端與上位機(jī)相連,一端與液晶儀表相連,形成與液晶儀表信號的發(fā)送和接收。其中通過通用測試盒形成CAN信號的互通,一方面通過程序向儀表發(fā)送CAN信號,另一方面將儀表顯示的圖像的相關(guān)CAN信號傳回上位機(jī),通過dSPACE將I/O信號自動發(fā)送給儀表,使儀表顯示相應(yīng)的警告燈等信號,無需手動進(jìn)行I/0信號對應(yīng)的開關(guān)操作。
(3)液晶儀表
液晶儀表的硬件包括CAN系統(tǒng)總線、I/O信號輸入接插件、核心板和TFT顯示屏。儀表接收到CAN信號、I/O信號發(fā)送給MCU(微控制器單元,Microcontroller Unit),MCU對接收到的信號進(jìn)行處理和解析,將完成處理之后的信號發(fā)給核心板,核心板接收到信號后在TFT顯示屏上進(jìn)行顯示。
硬件平臺中利用CAN總線將獲取到的儀表界面顯示圖像通過測試盒傳回到PC上位機(jī)中,通過上位機(jī)中的圖像對比軟件自動判斷儀表顯示是否正確。
3.2 儀表測試軟件系統(tǒng)
儀表的相關(guān)顯示主要通過軟件CANalyzer和Matlab進(jìn)行編程,通過測試盒向儀表輸入CAN信號,控制儀表指示燈、警告燈點(diǎn)燈和消燈,指針的動作等,如圖4所示。主要編寫兩部分測試程序:(1)指針精度測試;(2)警告燈測試,其中警告燈測試包含指警告燈點(diǎn)燈、熄燈測試和循環(huán)測試。
圖像處理采用OpenCV編寫程序,程序主要包括圖像采集和圖像處理兩部分,當(dāng)界面顯示應(yīng)用程序接收到信息改變并刷新界面時(shí),調(diào)用該圖像獲取代碼段,從而實(shí)現(xiàn)顯示界面的實(shí)時(shí)圖像采集,并進(jìn)行圖像預(yù)處理;圖像處理利用二值法對標(biāo)準(zhǔn)參考圖像和實(shí)時(shí)采集圖像進(jìn)行處理,輸出最終圖像作為測試結(jié)果。
3.3 儀表測試流程
儀表的測試內(nèi)容主要分為指針精度測試、警告燈測試兩個(gè)部分,其中標(biāo)準(zhǔn)參考圖像為儀表開發(fā)初期階段設(shè)計(jì)式樣書中的UI界面設(shè)計(jì)圖。
(1)指針精度測試
全液晶儀表取消了機(jī)械式指針,因此儀表指針的校準(zhǔn)以及后期使用的穩(wěn)定性就尤為重要。若采用人工觀察法,誤差較大無法達(dá)到精確校準(zhǔn)的目的。
本文測試所用的儀表轉(zhuǎn)速表顯示范圍為
0-8(x1000r/min),車速表的顯示范圍為
0-240km/h,因此利用CANalyzer輸入
0-8(x1000r/min)間隔為0.5(x1000r/min)的信號,輸入0-240km/h,間隔為10km/h的信號。
發(fā)送相應(yīng)的指針信號至儀表,并獲取相應(yīng)的顯示圖像,通過CAN總線將顯示圖像傳回作為實(shí)時(shí)采集的圖像數(shù)據(jù),再自動調(diào)用相應(yīng)的標(biāo)準(zhǔn)參考圖像,同時(shí)對兩張圖像進(jìn)行預(yù)處理后,進(jìn)行對比計(jì)算,輸出測試結(jié)果圖像。若輸出的圖像中白像素點(diǎn)N≤0.1k(k為該圖像所有的像素點(diǎn)個(gè)數(shù)),則說明對比的兩幅圖像一致,否則說明對比的兩幅圖像不一致,測試人員可直接查看具體的實(shí)驗(yàn)結(jié)果。
(2)警告燈測試
(a)警告燈點(diǎn)燈、熄燈測試
警告燈作為儀表最重要的顯示內(nèi)容之一,顯示的正確性直接影響著駕駛的安全性,因此對警告燈的點(diǎn)燈測試十分關(guān)鍵。由于警告燈的數(shù)量種類多,在實(shí)車測試階段很難讓所有警告燈作動,因此需利用臺上實(shí)驗(yàn)對警告燈進(jìn)行測試,以保證儀表警告燈的正確顯示。
警告燈的測試主要分為點(diǎn)燈測試和熄燈測試兩部分,通過CANalyzer編寫的程序?qū)崿F(xiàn)警告燈的全點(diǎn)燈,獲取儀表實(shí)時(shí)顯示圖像傳輸?shù)缴衔粰C(jī),與前期采集的標(biāo)準(zhǔn)圖像進(jìn)行對比,輸出測試結(jié)果圖像。若輸出的圖像中白像素點(diǎn)N≤0.1k,則說明對比的兩幅圖像一致,實(shí)驗(yàn)結(jié)果判為OK,否則說明對比的兩幅圖像不一致,判定實(shí)驗(yàn)結(jié)果為NG。同理,進(jìn)行警告燈全熄燈的測試,輸出圖像中白像素點(diǎn)N≤0.1k時(shí),實(shí)驗(yàn)結(jié)果OK。
(b)警告燈循環(huán)測試
儀表顯示的循環(huán)測試目的是為了得到儀表使用過程中的可靠程度,通過程序使警告燈點(diǎn)燈、消燈的循環(huán)測試,每一次點(diǎn)燈、消燈都將圖像與標(biāo)準(zhǔn)圖像進(jìn)行對比,得到并記錄對比結(jié)果,若輸出的圖像中白像素點(diǎn)N≤0.1k,則說明實(shí)時(shí)采集圖像與標(biāo)準(zhǔn)圖像差異較小,儀表顯示正確。
3.4 儀表自動測試結(jié)果
(1)指針精度測試
儀表指針精度要求指示值誤差為±2km/h,在測試中分別設(shè)置指針偏差±2km/h和±1km/h,當(dāng)指針偏差為±2km/h時(shí),自動測試系統(tǒng)輸出的判定結(jié)果為NG,當(dāng)指針偏差為±1km/h時(shí),自動測試系統(tǒng)輸出的判定結(jié)果為OK,因此該自動測試系統(tǒng)測試精度為1.92°,符合指針精度±2km/h的要求。
為了進(jìn)一步驗(yàn)證該自動測試系統(tǒng)的準(zhǔn)確性,分別設(shè)置5個(gè)轉(zhuǎn)速表和6個(gè)速度表的NG值,運(yùn)行自動檢測程序,得到輸出的測試結(jié)果圖,如圖5所示,NG結(jié)果顯示為指針在1.5(x1000r/min)指示值與標(biāo)準(zhǔn)參考圖像的指針指示值有約為α≈10°的偏差,需對該指示值需進(jìn)行再次校準(zhǔn)。
在轉(zhuǎn)速表指針和速度表指針測試中設(shè)置的NG值均被檢測出,具體結(jié)果如表1、2所示??梢园l(fā)現(xiàn)轉(zhuǎn)速表指針精度的16次測試中,其中設(shè)置的5個(gè)錯(cuò)誤值均被檢測出來,可直接查看測試結(jié)果輸出圖像,均無誤判。速度表指針精度共進(jìn)行了24次測試,其中設(shè)置的6個(gè)錯(cuò)誤均被成功檢測出來,均無誤判。
警告燈測試主要對遠(yuǎn)光燈、示寬燈、前霧燈、后霧燈、轉(zhuǎn)向燈以及P、N、D、R檔的顯示進(jìn)行測試,分別模擬測試了警告燈正常、警告燈點(diǎn)燈異常、警告燈點(diǎn)燈正常三種情況,輸出結(jié)果分別如圖7所示。其中,當(dāng)警告燈正常顯示時(shí),輸出的結(jié)果如圖6(a),輸出的圖像為全黑,即N≤0.1k,結(jié)果判定為OK;當(dāng)警告燈全點(diǎn)燈測試時(shí),使示寬燈異常不點(diǎn)燈,此時(shí)輸出的結(jié)果如圖6(b),輸出的圖像中只有示寬燈即N>0.1k,說明示寬燈在全點(diǎn)燈測試中NG;當(dāng)警告燈全熄燈測試時(shí),使示寬燈異常點(diǎn)燈,輸出的結(jié)果如圖6(c),輸出的圖像中只有示寬燈即N>0.1k,說明示寬燈在全熄燈測試中NG。通過模擬結(jié)果可以發(fā)現(xiàn),通過該測試系統(tǒng)均可正確判斷警告燈的顯示情況。
僅僅進(jìn)行一次警告燈的點(diǎn)燈、熄燈測試往往不夠,在儀表的實(shí)際使用過程,警告燈需要不斷點(diǎn)燈和熄燈,因此需要進(jìn)行循環(huán)點(diǎn)燈、熄燈測試以保證儀表長期使用性能。
該循環(huán)測試以警告燈點(diǎn)燈5秒再消燈5秒為一個(gè)循環(huán)周期,共進(jìn)行了100次循環(huán)。為了驗(yàn)證該測試方法的可靠性,在100次循環(huán)中,設(shè)置1次后霧燈異常熄燈,得到的測試結(jié)果輸出如圖7所示。其中,圖7 (a)為儀表正確顯示的參考圖像,(b)為后霧燈異常熄燈時(shí)實(shí)際采集的儀表界面顯示圖像,(c)圖是輸出的測試結(jié)果圖。
通過實(shí)驗(yàn)結(jié)果可以判斷,后霧燈在循環(huán)測試過程中N>0.1k,即測試結(jié)果為NG,通過輸出的圖像可直接確定后霧燈顯示NG,驗(yàn)證了該測試方法檢測結(jié)果準(zhǔn)確可靠。
為了進(jìn)一步驗(yàn)證警告燈自動測試的可靠性,進(jìn)行了1000次循環(huán)測試,其中誤判23次,檢出準(zhǔn)確率約為97.7%。
4 結(jié)論
本文搭建了一套全液晶儀表自動測試臺架,對全液晶儀表進(jìn)行指針精度測試、警告燈測試。首先將設(shè)計(jì)式樣書中的界面顯示圖像作為標(biāo)準(zhǔn)參考圖像,然后將實(shí)時(shí)采集的圖像傳回上位機(jī),與存儲的相應(yīng)標(biāo)準(zhǔn)參考圖像進(jìn)行圖像處理,最后輸出測試結(jié)果圖像,并自動判定實(shí)驗(yàn)結(jié)果。
通過模擬測試驗(yàn)證,該測試方法檢測指針偏轉(zhuǎn)精度約為1.92°,可檢測警告燈點(diǎn)燈異常和熄燈異常,以及在循環(huán)測試中警告燈的點(diǎn)燈、熄燈異常,準(zhǔn)確率約為97.7%。此方法比人眼觀察更為準(zhǔn)確,精度更高,同時(shí),該測試方法減少了測試人員的工作量,降低了儀表的開發(fā)成本,通用性強(qiáng)。此外,全液晶儀表的行車電腦相關(guān)功能的測試方法還需要做進(jìn)一步的研究,以實(shí)現(xiàn)儀表全功能的自動測試。
參考文獻(xiàn):
[1]關(guān)牧野,戰(zhàn)偉.乘用車組合儀表測試臺架的研究[J]. 現(xiàn)代電子技術(shù),2014,5(5):114-116.
[2]孟祥雪.基于機(jī)器視覺的汽車儀表讀數(shù)檢測技術(shù)研究[D].哈爾濱工業(yè)大學(xué),2012:2-6.
[3]HUANG Y, MOUZAKITIS A, MCMURRAN R, et al.Design Validation Testing of Vehicle Instrument Cluster Using Machine Vision and Hardware-in-the-loop[C]. Vehicular Electronics and Safety, 2008. ICVES 2008. IEEE International Conference on. 2008:265-270.
[4]HUANG Y, MCMURRAN R, DHADYALLA G,et al. Model-based Testing of a Vehicle Instrument Cluster for Design Validation Using Machine Vision[J]. Measurement Science & Technology, 2009, 20(6): 152-154.
[5]卜令駿.基于機(jī)器視覺的汽車儀表自動校驗(yàn)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].上海交通大學(xué),2011:3-7.
[6]尤曉俊.基于圖像識別的數(shù)字儀表自動校驗(yàn)系統(tǒng)研究[D].安徽理工大學(xué),2013:2-6.
[7]NARAYANA T, RAO S, GANESAN K. Automated Instrument Cluster Testing Using Image Processing[J].2013,3(1):28-32.
[8]竇菲,劉新平,王風(fēng)華.基于OpenCV的道路視頻分析系統(tǒng)[J]. 中國石油大學(xué)(華東),2017,26(8):94-98.
[9]HUANG Y, MOUZAKITIS A, MCMURRAN R, et al.Design Validation Testing of Vehicle Instrument Cluster Using Machine Vision and Hardware-in-the-loop[C]. Vehicular Electronics and Safety, 2008. ICVES 2008. IEEE International Conference on. 2008: 265-270.
[10]NARAYANA T, RAO S, GANESAN K. Automated Instrument Cluster Testing Using Image Processing[J].2013, 3(1): 28-32.
[11] OSSWALDS, SHETHP, TSCHELIGIM. Hardware-in-the-Loop-Based Evaluation Platform for Automotive Instrument Cluster Development[C]. Processdings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems. ACM,2013:323-332.
[12]NAGARAJ S C, MULI M D. Automated Instrument Panel Cluster Testing using Hardware in the Loop Simulators[J]. Sae International Journal of Passenger Cars Electronic & Electrical Systems, 2009,1(1):481-490.
[13]戚姜勇.基于嵌入式Linux的汽車全數(shù)字儀表界面的設(shè)計(jì)[D].蘇州大學(xué),2012:1-6.
[14]龔凌璞.Qt框架中信號和槽機(jī)制的研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(11):281-281.
[15]金繁,崔培雷.嵌入式Qt中信號與槽機(jī)制的研究[J].電子設(shè)計(jì)工程,2014,22(24):168-170.
[16]石新梅.車載人機(jī)界面集成開發(fā)環(huán)境的設(shè)計(jì)與實(shí)現(xiàn)[D].中南大學(xué),2014:2-7.
[17]王璐,潘明.基于CAN總線的嵌入式汽車儀表設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2013,32(7):20-23.
[18]ALLwinner Technology.全志科技A20處理器規(guī)格及方案亮點(diǎn)[EB/OL].http://www.allwinnertech.com/en/clq/processora/A20.html, 2015-03-25.
[19]張艷海.多功能全數(shù)字電動汽車虛擬儀表設(shè)計(jì)與研究[D].大連理工大學(xué),2012:1-6.
[20]ZHANG Y, FENGX, GUOY. Design fo Ethernet-CAN Protocol Conversion Module Based on STM32[J]. International Journal of Future Generation Communication & Network,2014: 189-194.
[21]劉馨,馬宏,王宏斌.基于OpenCV和DirectShow的交通運(yùn)動目標(biāo)檢測算法研究[J].華東交通大學(xué)學(xué)報(bào),2012,29(3):21-25.
[22]黃振峰,陳海平,鄧培,等.基于OpenCV與USB工業(yè)相機(jī)零件檢測系統(tǒng)的圖像處理研究[J].現(xiàn)代電子技術(shù),2012,35(18):128-132.
[23]安宗權(quán),余道和.汽車儀表技術(shù)現(xiàn)狀與展望[J]. 中國新技術(shù)新產(chǎn)品,2011(11): 164-165.
[24]劉鵬.汽車虛擬儀表平臺的設(shè)計(jì)與研究[D].大連:大連理工大學(xué).2010:1-4.
[25]中聯(lián)重科股份有限公司.汽車虛擬儀表盤:中國,CN201210351920.9[P].2013:1-2.