摘 要:作為汽車在行駛過程中的狀態(tài)反饋界面,儀表盤是駕駛員在行駛過程中獲取汽車狀態(tài)的重要渠道,文章利用機(jī)器視覺[1]技術(shù)代替人眼來對儀表盤中報警燈狀態(tài)、指針儀表狀態(tài)和字符等進(jìn)行功能檢測,實(shí)現(xiàn)對汽車儀表盤狀態(tài)信息的自動化測試。
關(guān)鍵詞:機(jī)器視覺;儀表盤;報警燈;指針儀表;字符
1 概述
汽車控制儀表盤的信號主要包括數(shù)字信號、模擬信號和CAN總線信號[2]等,當(dāng)儀表盤接收到對應(yīng)的信號后會點(diǎn)亮對應(yīng)的指示燈或使儀表指針發(fā)生轉(zhuǎn)動。在儀表盤進(jìn)入整車實(shí)驗(yàn)之前,必須對儀表盤的功能進(jìn)行全方位的測試,而為了減少整車實(shí)驗(yàn)次數(shù)和降低實(shí)驗(yàn)成本,須在模擬整車環(huán)境下對汽車儀表盤進(jìn)行功能測試。當(dāng)汽車儀表盤接收到對應(yīng)傳感器上的信號時,傳統(tǒng)方法中我們是通過人工觀測來判斷儀表指示燈是否亮滅,儀表指示燈的顏色是否正確,儀表的指針是否指到對應(yīng)的刻度等。很明顯這種方法受人工因素影響較大,特別是在測試指針刻度時,不同的測試人員在不同的測試時間得到的測試結(jié)果可能不一樣,容易產(chǎn)生誤判。為了適應(yīng)汽車電子儀表的快速發(fā)展,需大大提高汽車儀表檢測的自動化程度和準(zhǔn)確程度。機(jī)器視覺技術(shù)是用相機(jī)代替人眼進(jìn)行檢測,這種技術(shù)不但可以大大提高檢測效率,還可以提高檢測的自動化程度。
2 機(jī)器視覺系統(tǒng)的硬件設(shè)計(jì)
如圖1所示,典型的機(jī)器視覺系統(tǒng)一般包括圖像的采集、圖像的處理和分析和圖像的輸出和控制。本系統(tǒng)設(shè)計(jì)的硬件部分主要包括暗箱、儀表盤夾具、運(yùn)動導(dǎo)軌、光源、智能相機(jī)和通信模塊。
2.1 光源
光源是機(jī)器視覺的重要組成部分,它的選取直接影響著圖像采集的質(zhì)量,本設(shè)計(jì)中整個系統(tǒng)處于密閉的暗箱中,光源負(fù)責(zé)照明。本系統(tǒng)采用環(huán)形LED光源[3],21V直流供電,光源的位置放在儀表盤和相機(jī)的中間。
2.2 相機(jī)和鏡頭
系統(tǒng)獲取到的圖像是由相機(jī)采集的,因此相機(jī)的選取決定著整個機(jī)器視覺系統(tǒng)功能能否實(shí)現(xiàn)。本設(shè)計(jì)選取的是美國COGNEX公司的CCD型智能相機(jī)In-Sight Micro1403C[4],如圖2所示。
2.3 相機(jī)I/O模塊
智能相機(jī)與外部通訊是通過擴(kuò)展模塊CIO-MICRO實(shí)現(xiàn)的。如圖3所示,擴(kuò)展模塊通過M12接頭和M8接頭與相機(jī)連接,M12接頭(綠線)為網(wǎng)絡(luò)通信提供以太網(wǎng)連接并為視覺系統(tǒng)提供電源,M8接頭(黃線)提供到采集觸發(fā)器輸入端和高速輸出端的連接。擴(kuò)展模塊為相機(jī)提供三種與外部的通訊方式,包括TCP/IP通訊[5]、串口通訊和數(shù)字量通訊。
3 機(jī)器視覺系統(tǒng)的軟件設(shè)計(jì)
機(jī)器視覺軟件主要包括對儀表盤中指示燈狀態(tài)、指針儀表狀態(tài)和字符等進(jìn)行功能檢測。本設(shè)計(jì)采用COGNEX公司提供的相機(jī)自帶的開發(fā)環(huán)境Insight Explore,該軟件有兩種編程界面:EasyBuilder開發(fā)界面和電子表格開發(fā)界面,本設(shè)計(jì)的圖像處理部分都是在電子表格界面開發(fā)的。
3.1 指示燈狀態(tài)檢測
汽車指示燈包括左轉(zhuǎn)燈、右轉(zhuǎn)燈、機(jī)油、壓力、安全氣囊、ABS燈、ESP燈等。以左轉(zhuǎn)燈為例,當(dāng)左轉(zhuǎn)燈亮和滅的時候,左轉(zhuǎn)燈位置的灰度[6]是不一樣的,如圖4所示,首先確定左轉(zhuǎn)燈的位置,左圖中所示區(qū)域就是左轉(zhuǎn)燈的位置,外圍區(qū)域是搜索區(qū)域的位置,調(diào)用提取灰度的函數(shù)ExtractHistogram,得到此時所示區(qū)域的平均灰度值21。當(dāng)左轉(zhuǎn)燈接收到信號后被點(diǎn)亮,如圖4右圖所示,此時檢測到所示區(qū)域的平均灰度值為45。在實(shí)時檢測的時候,設(shè)定灰度的閾值為30,若檢測到所示區(qū)域的灰度值小于30,就判定此時左轉(zhuǎn)燈沒被點(diǎn)亮,若大于30,則判定左轉(zhuǎn)燈接收到信號被點(diǎn)亮。
3.2 指針儀表位置的檢測
通過測量指針旋轉(zhuǎn)的角度換算成儀表對應(yīng)的刻度來實(shí)現(xiàn)。以車速表為例,當(dāng)指針接收到仿真信號發(fā)生轉(zhuǎn)動時,首先將指針區(qū)域轉(zhuǎn)化為二值圖像,以0刻度作為起始點(diǎn)。調(diào)用函數(shù)FindMultiLine來尋找0刻度的兩條邊,確定邊的原則是邊的兩邊灰度是不一樣的。尋找到0刻度的兩條邊,記為0和1,根據(jù)邊的坐標(biāo)得到起始點(diǎn)的坐標(biāo)。接著將指針移動到的位置記為終點(diǎn)。根據(jù)指針兩邊的灰度不同,找到指針的兩條邊,同樣記為0和1,根據(jù)邊的坐標(biāo)得到終點(diǎn)的坐標(biāo)。因?yàn)橹羔槂x表的形狀是一個圓形,儀表的正中間也是一個黑色的圓,調(diào)用函數(shù)FindCircle來獲取圓的位置,圖中確定圓的算法是在兩個圈的中間尋找,根據(jù)灰度的不同來確定圓的位置。圖中所示區(qū)域即是尋找到的圓,根據(jù)圓的位置可以得到圓心的坐標(biāo)。最后將前面步驟中得到了起點(diǎn)的坐標(biāo)、終點(diǎn)的坐標(biāo)和圓心的坐標(biāo),連接起點(diǎn)和圓心的坐標(biāo),終點(diǎn)和圓心的坐標(biāo),會得到兩條連線的夾角,而儀表盤的刻度又是均勻的,通過夾角可以換算出此時指針對應(yīng)的刻度。
3.3 字符的檢測
儀表盤中需要檢測的字符包括0-9、a-z和A-Z等,以字符0-9為例,具體實(shí)現(xiàn)方法:
(1)在檢測字符時,字符間的差距很大,如字符的大小、形狀和字體都會影響檢測的結(jié)果,必須先建立一個標(biāo)準(zhǔn)字符庫,作為以后檢測時的模板,調(diào)用函數(shù)TrainFont訓(xùn)練字符,通過訓(xùn)練分割出的字符得到字符庫。
(2)有了字符模板庫,在檢測字符時,只需將檢測到的字符與模板庫進(jìn)行比對即可,如圖5所示區(qū)域?yàn)闄z測到的字符。
4 結(jié)束語
文章將機(jī)器視覺系統(tǒng)應(yīng)用于汽車電子系統(tǒng)設(shè)計(jì)階段的驗(yàn)證測試,本項(xiàng)目的研究將有助于我國汽車電子系統(tǒng)開發(fā)驗(yàn)證方法的改進(jìn),對我國汽車電子系統(tǒng)的研發(fā),尤其是新能源汽車電子系統(tǒng)的研究開發(fā)具有重要的現(xiàn)實(shí)意義。
參考文獻(xiàn)
[1]機(jī)器視覺科技技術(shù)百度百科[EB/OL].http://baike.baidu.com/link?url=8kpdtj1mMoMeSr5NKvqh7tsn7rtAEkGWtMMNNFcfrdA7RE1ECREjNY
VU5jy3f6_eel0R7Ya23RWFDB2jdskxQzArPuCmzwtC2LxMggFsUfW.
[2]曹曉琳.汽車CAN總線數(shù)字組合儀表設(shè)計(jì)[J].汽車工程,2010,32(1).
[3]李英杰.MATLAB與CCU之間的TCP/IP通訊技術(shù)開發(fā)和應(yīng)用[J].
計(jì)算技術(shù)及自動化,2010,30(4).
[4]李炳乾.LED環(huán)形光源研制[J].照明工程學(xué)報,2007,18(1):64-6.
[5]Cognex vision toolbox manuals available at http://www.cognex.com.[EB/OL].
[6]鄭運(yùn)平.一種新的灰度圖像表示算法研究[J].計(jì)算機(jī)學(xué)報,2010,33(12).
作者簡介:陶旭東(1994,11-),男,漢族,浙江紹興人,嘉興學(xué)院學(xué)生,測控技術(shù)與儀器專業(yè)。
*通訊作者:楊立娜