潘澤鍇,楊浩然
(廣西職業(yè)技術(shù)學(xué)院機(jī)電與信息工程學(xué)院,廣西 南寧 530226)
劍麻繩品質(zhì)中無(wú)毛刺(或是少毛刺)、粗細(xì)均勻是其2項(xiàng)最重要的指標(biāo)。劍麻繩的粗細(xì)決定它的機(jī)械強(qiáng)度,劍麻繩毛刺影響零件的精度、整機(jī)可靠性和安全性[1]。劍麻繩的局部粗細(xì)不均容易造成整捆劍麻繩的機(jī)械強(qiáng)度降低,對(duì)麻繩粗細(xì)均勻程度的檢測(cè)有利于區(qū)分不同等級(jí)的麻繩強(qiáng)度,對(duì)麻繩粗細(xì)不均的部分進(jìn)行工藝改進(jìn)可以提高劍麻繩可靠性和經(jīng)濟(jì)價(jià)值[2]。因此,針對(duì)劍麻繩的品質(zhì)改進(jìn)與檢測(cè)新型工藝的研究,對(duì)提高鋼絲繩質(zhì)量和經(jīng)濟(jì)價(jià)值具有重要的意義。
圖像識(shí)別技術(shù)適用于解決麻繩直徑檢測(cè)的問(wèn)題,采用專用芯片和嵌入式操作系統(tǒng),把CMOS攝像頭輸出的信號(hào)進(jìn)行圖像壓縮編碼、圖像處理,從而為實(shí)現(xiàn)自動(dòng)控制提供參數(shù)依據(jù)[3]。本文在基于嵌入式Linux系統(tǒng)平臺(tái)上,選用嵌入式處理平臺(tái)實(shí)現(xiàn)前端圖像采集和控制,設(shè)計(jì)友好的界面接收與存儲(chǔ),采用圖像處理算法獲取控制參數(shù)[4]。使用SQLite數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ),維護(hù)與管理,統(tǒng)計(jì)生產(chǎn)過(guò)程中劍麻繩毛刺出現(xiàn)時(shí)段,劍麻繩直徑實(shí)時(shí)顯示,進(jìn)行誤差分析獲取控制參數(shù),為提高產(chǎn)品質(zhì)量提供可靠的數(shù)據(jù)依據(jù)[5]。
在實(shí)際的硬件設(shè)計(jì)中,克服生產(chǎn)前期劍麻繩毛刺生成過(guò)多,以及生產(chǎn)出的劍麻繩因粗細(xì)不均造成的整捆麻繩機(jī)械強(qiáng)度降低的問(wèn)題[6],以智能控制理論和圖像識(shí)別技術(shù)為基礎(chǔ),采用ARM和DSP 32位嵌入式微處理器,結(jié)合圖像處理和圖像檢測(cè)技術(shù),設(shè)計(jì)劍麻繩圖像獲取和粗細(xì)程度在線檢測(cè)系統(tǒng)。其劍麻繩粗圖像采集與在線檢測(cè)系統(tǒng)原理如圖1所示。

圖1 劍麻繩粗圖像采集與在線檢測(cè)系統(tǒng)原理
劍麻繩粗圖像采集與在線檢測(cè)系統(tǒng)由無(wú)線傳輸模塊、嵌入式處理器、圖像傳感器和控制對(duì)象等組成。圖1中的嵌入式處理平臺(tái)采用32位RISC嵌入式微處理器,具有高性價(jià)比、高主頻等優(yōu)點(diǎn),適用于圖像、視頻處理;圖像傳感器采用CMOS數(shù)字圖像技術(shù),具有采集快、高分辨率的優(yōu)點(diǎn);嵌入式圖像處理平臺(tái)與控制對(duì)象之間通過(guò)無(wú)線傳感器相連;無(wú)線測(cè)控終端是由無(wú)線傳感器和控制對(duì)象共同組成,控制對(duì)象是帶RS232或RS485接口的智能傳感器或執(zhí)行對(duì)象[7]。
嵌入式系統(tǒng)主要由圖像采集、存儲(chǔ)和處理3部分組成,其嵌入式系統(tǒng)設(shè)計(jì)如圖2所示。系統(tǒng)中由嵌入式硬件平臺(tái)外接帶CAMIF接口的CMOS攝像頭完成圖像采集,本設(shè)計(jì)采用CMOS攝像頭作為圖像采集部分,將CMOS攝像頭采集到的圖像信息通過(guò)CAMIF接口傳輸?shù)角度胧狡脚_(tái)上。由于這個(gè)嵌入式平臺(tái)可以兼容I2C的標(biāo)準(zhǔn),而本圖像采集裝置是采用CAMIF接口的標(biāo)準(zhǔn),所以還要編寫相應(yīng)的驅(qū)動(dòng)程序使系統(tǒng)能夠識(shí)別和接收傳輸?shù)膱D像信息。因?yàn)榍度胧狡脚_(tái)有2個(gè)RS232接口,同樣可以把GPIO的接口轉(zhuǎn)換成RS232接口實(shí)現(xiàn)圖像接收的任務(wù);系統(tǒng)將通過(guò)CMOS攝像頭采集到的圖像數(shù)據(jù)存儲(chǔ)在輸入緩沖區(qū),然后對(duì)緩沖區(qū)的圖像數(shù)據(jù)直接進(jìn)行相關(guān)處理,再保存并打成數(shù)據(jù)包后,系統(tǒng)通過(guò)算法進(jìn)行圖像處理[8]。

圖2 嵌入式系統(tǒng)設(shè)計(jì)
控制命令主要是根據(jù)圖像處理統(tǒng)計(jì)后得出的參數(shù)實(shí)現(xiàn)對(duì)控制對(duì)象的調(diào)整。無(wú)線傳輸控制原理如圖3所示。其中,無(wú)線傳輸模塊對(duì)外的通信接口統(tǒng)一采用串口RS232接口交換數(shù)據(jù),控制命令通過(guò)嵌入式處理平臺(tái)發(fā)出,下位機(jī)的無(wú)線傳輸接收模塊收到數(shù)據(jù)后送傳感器控制單元實(shí)現(xiàn)對(duì)控制對(duì)象的控制,為保障數(shù)據(jù)傳輸?shù)陌踩裕瑐鞲衅骺刂葡到y(tǒng)在接收到控制命令和實(shí)現(xiàn)控制后也通過(guò)無(wú)線傳輸模塊通知嵌入式處理平臺(tái),采用雙握手機(jī)制提高數(shù)據(jù)傳輸?shù)目煽啃浴T谏衔粰C(jī)和下位機(jī)的工作過(guò)程中,可靠的電源供給是信號(hào)穩(wěn)定傳輸?shù)谋U蟍9]。

圖3 無(wú)線傳輸控制原理
軟件設(shè)計(jì)主要包括嵌入式Linux內(nèi)核定制、外設(shè)驅(qū)動(dòng)開發(fā)和應(yīng)用程序開發(fā)。嵌入式Linux內(nèi)核定制需要加載必要的外設(shè)驅(qū)動(dòng),系統(tǒng)加載前期的處理通過(guò)BootLoader來(lái)完成,它主要實(shí)現(xiàn)的功能包括硬件初始化、設(shè)置內(nèi)存空間映射規(guī)則和分配內(nèi)存存儲(chǔ)空間等,為系統(tǒng)驅(qū)動(dòng)加載調(diào)試提供合適的環(huán)境。設(shè)計(jì)的嵌入式操作系統(tǒng)采用Linux2.4.18內(nèi)核,開發(fā)模式采用宿主開發(fā)模式,軟件和硬件之間的調(diào)試可以通過(guò)USB數(shù)據(jù)線在線完成,通過(guò)USB連線傳輸?shù)缴衔粰C(jī)上,利用QT編程完成接收應(yīng)用程序,實(shí)現(xiàn)在嵌入式平臺(tái)圖像存儲(chǔ)和圖像處理功能,測(cè)試通過(guò)后把程序統(tǒng)一固化到內(nèi)核文件中[10]。
攝像頭接口驅(qū)動(dòng)程序是抽象硬件和軟件的連接接口,屬于系統(tǒng)內(nèi)核的組成部分。攝像頭驅(qū)動(dòng)根據(jù)主設(shè)備號(hào)來(lái)創(chuàng)建1個(gè)放置在DEV目錄下的設(shè)備文件,當(dāng)要訪問(wèn)此攝像頭時(shí),調(diào)用Open、Read和Write等函數(shù)進(jìn)行操作。接口函數(shù)提供統(tǒng)一的對(duì)外數(shù)據(jù)通信接口,系統(tǒng)根據(jù)對(duì)應(yīng)的函數(shù)功能完成攝像頭數(shù)據(jù)控制與采集任務(wù)[11]。攝像頭驅(qū)動(dòng)加載流程如圖4所示。

圖4 攝像頭驅(qū)動(dòng)加載流程
攝像頭驅(qū)動(dòng)首先聲明1個(gè)可視化設(shè)備結(jié)構(gòu),獲得設(shè)備的相關(guān)初始化信息,接下來(lái)就開始圖像數(shù)據(jù)的幀打包,按照固定的格式把數(shù)據(jù)發(fā)送出去,在嵌入式平臺(tái)應(yīng)用程序發(fā)出文件操作的相關(guān)命令時(shí),檢驗(yàn)圖像數(shù)據(jù)幀是否采集完成。攝像頭驅(qū)動(dòng)加載主要工作是完成功能函數(shù)的調(diào)用,以參數(shù)的形式傳遞數(shù)據(jù),這樣就完成驅(qū)動(dòng)和核心之間的通信,實(shí)現(xiàn)圖像數(shù)據(jù)幀發(fā)送到嵌入式平臺(tái)[12]。
在CC2530處理器進(jìn)行控制命令的傳輸過(guò)程中,采用自動(dòng)連續(xù)轉(zhuǎn)換模式,在進(jìn)行數(shù)據(jù)的接口初始化之后,進(jìn)入控制命令的監(jiān)控狀態(tài),實(shí)時(shí)接收從嵌入式開發(fā)平臺(tái)發(fā)出的命令,當(dāng)接收到控制命令之后,將對(duì)控制對(duì)象進(jìn)行操作(控制對(duì)象通常是電機(jī)),控制對(duì)象在接收到命令之后通常也會(huì)反饋信息到中央處理平臺(tái),這樣可以增加數(shù)據(jù)傳輸?shù)目煽啃訹13]。控制數(shù)據(jù)相對(duì)容量較小,對(duì)傳輸速率要求不高,在實(shí)際的處理中使用數(shù)組進(jìn)行處理即可,數(shù)組數(shù)據(jù)存儲(chǔ)完成交由CC2530處理器統(tǒng)一處理。控制命令傳輸流程如圖5所示。

圖5 控制命令傳輸流程
針對(duì)劍麻繩生產(chǎn)過(guò)程中圖像快速變化的特點(diǎn),采用圖像處理的方法實(shí)時(shí)獲取劍麻繩直徑的變化情況[14]。劍麻繩圖像處理流程如圖6所示。在圖像采集的過(guò)程中,不間斷讀取麻繩的圖像存儲(chǔ)到本地文件夾中,對(duì)讀取進(jìn)入系統(tǒng)的圖像采用顏色空間轉(zhuǎn)換的方法,將圖像從RGB顏色空間轉(zhuǎn)換為HSI顏色空間,利用HSI顏色空間各分量相對(duì)獨(dú)立性以及麻繩的色調(diào)差異,通過(guò)改進(jìn)遺傳算法和改進(jìn)Otsu算法相結(jié)合的分割方法對(duì)H分量進(jìn)行分割,可以提高圖像分割的質(zhì)量和分割的速度,同時(shí)避免照度不均和背景光線變化帶來(lái)的影響[15];再通過(guò)數(shù)學(xué)形態(tài)學(xué),平滑濾波,去除毛刺噪聲,以及去除與圖像邊界連通的毛刺等方法進(jìn)行后續(xù)處理,修正圖像邊緣相連不完整的連線;最后對(duì)處理后的圖像提取麻繩圖像寬度的平均值并把數(shù)據(jù)實(shí)時(shí)顯示出來(lái),通過(guò)對(duì)直徑參數(shù)的變化情況統(tǒng)計(jì)獲取控制參數(shù),給自動(dòng)控制系統(tǒng)提供參數(shù)支持[16]。

圖6 劍麻繩圖像處理流程
圖像采集驅(qū)動(dòng)測(cè)試主要是完成攝像頭圖像的采集功能,系統(tǒng)驅(qū)動(dòng)通過(guò)內(nèi)核編譯的形式固化在系統(tǒng)內(nèi)核中,隨著系統(tǒng)的啟動(dòng)加載驅(qū)動(dòng)程序,驅(qū)動(dòng)程序調(diào)用對(duì)應(yīng)的接口函數(shù)完成硬件的初始化、圖像采集控制同步等功能,同時(shí)驅(qū)動(dòng)程序提供對(duì)應(yīng)的接口在系統(tǒng)內(nèi)核中供應(yīng)用程序開發(fā)調(diào)用,測(cè)試通過(guò)編寫對(duì)應(yīng)的應(yīng)用程序?qū)崿F(xiàn)圖像的采集、存儲(chǔ)和顯示等功能[17]。首先通過(guò)調(diào)用API函數(shù)創(chuàng)建1個(gè)用來(lái)顯示圖像的窗體,然后創(chuàng)建回調(diào)函數(shù)線程實(shí)時(shí)監(jiān)控?cái)?shù)據(jù),再根據(jù)回調(diào)函數(shù)中不同的操作向系統(tǒng)發(fā)送不同的消息值,處理圖像的讀取、顯示等。圖像存儲(chǔ)在系統(tǒng)內(nèi)存中,對(duì)圖像信息進(jìn)行處理時(shí),可以保存在本地文件夾中供圖像處理所用。攝像頭圖像采集驅(qū)動(dòng)測(cè)試如圖7所示。

圖7 攝像頭圖像采集驅(qū)動(dòng)測(cè)試
在實(shí)際的劍麻繩生產(chǎn)現(xiàn)場(chǎng),由于受到機(jī)器纏繞誤差和劍麻繩固有毛刺的影響,造成劍麻繩的大小和粗細(xì)不均勻從而影響麻繩機(jī)械強(qiáng)度,在實(shí)驗(yàn)現(xiàn)場(chǎng)需要實(shí)時(shí)檢測(cè)出劍麻繩的直徑變化情況,對(duì)設(shè)定超出閾值的麻繩發(fā)出預(yù)警。在實(shí)際的測(cè)試中,現(xiàn)場(chǎng)環(huán)境光線不足,光線受周邊的環(huán)境變化影響較大,故設(shè)計(jì)1個(gè)密閉的盒子,在盒子的內(nèi)部安置3個(gè)不同方向的光源,設(shè)計(jì)的光源穩(wěn)定,背景環(huán)境相對(duì)統(tǒng)一,降低環(huán)境對(duì)采集圖像質(zhì)量的干擾。在嵌入式控制平臺(tái)上使用圖像傳感器實(shí)時(shí)采集麻繩圖像,通過(guò)改進(jìn)遺傳算法和改進(jìn)Otsu算法的圖像處理方法,實(shí)時(shí)獲取麻繩的直徑值。麻繩平均直徑實(shí)時(shí)獲取測(cè)試如圖8所示。

圖8 麻繩平均直徑實(shí)時(shí)獲取測(cè)試
根據(jù)麻繩生產(chǎn)工藝的特殊情況,采用Linux嵌入式操作系統(tǒng)和SQLite 嵌入式數(shù)據(jù)庫(kù),實(shí)現(xiàn)劍麻繩生產(chǎn)過(guò)程中直徑參數(shù)的實(shí)時(shí)監(jiān)測(cè)和存儲(chǔ)。在實(shí)際的測(cè)試中,選擇任意200 s的數(shù)據(jù)作為研究樣本,每10 s采集1次麻繩的直徑,得出麻繩直徑檢測(cè)顯示曲線如圖9所示。實(shí)時(shí)顯示劍麻繩直徑的變化情況,為生產(chǎn)階段的自動(dòng)控制提供了比較準(zhǔn)確的決策依據(jù)。通過(guò)統(tǒng)計(jì)麻繩直徑誤差變化趨勢(shì)可知,麻繩的直徑變化在一個(gè)相對(duì)穩(wěn)定的區(qū)間內(nèi)可控,當(dāng)超過(guò)某個(gè)臨界值之后發(fā)出預(yù)警并記錄下時(shí)間。這個(gè)臨界值可以通過(guò)參數(shù)設(shè)置的方式改變。麻繩直徑誤差變化趨勢(shì)如圖10所示。

圖9 麻繩直徑檢測(cè)顯示曲線

圖10 麻繩直徑誤差變化趨勢(shì)
以嵌入式作為設(shè)計(jì)平臺(tái),實(shí)現(xiàn)劍麻繩的圖像采集與檢測(cè),這是在麻繩生產(chǎn)工業(yè)的自動(dòng)化控制的全新嘗試,在麻繩生產(chǎn)車間自動(dòng)化、集成監(jiān)控工藝技術(shù)方面新的應(yīng)用。系統(tǒng)可為自動(dòng)化控制提供可靠的參數(shù)支持,為實(shí)現(xiàn)整個(gè)劍麻繩生產(chǎn)工藝的自動(dòng)化提供可靠的保證,推動(dòng)劍麻繩制造業(yè)信息化管理建設(shè)發(fā)展,提高劍麻繩品質(zhì)量和產(chǎn)品檔次,節(jié)能節(jié)水,提高效益,增強(qiáng)市場(chǎng)競(jìng)爭(zhēng)力。