潘盛湖,張小軍,呂 東
(西南石油大學(xué)機(jī)電工程學(xué)院,四川成都 610500)
中國是制造大國。隨著“中國制造2025”的提出,制造業(yè)的轉(zhuǎn)型升級和跨越發(fā)展顯得尤為緊迫而艱巨[1-3]。隨著人工智能、工業(yè)互聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)與制造業(yè)的深度融合,生產(chǎn)制造正逐漸朝著智能化的方向邁進(jìn)。機(jī)器視覺在制造領(lǐng)域的應(yīng)用得到大量研究,已取得不少研究成果。如:周俊杰等[4]針對機(jī)床刀具磨損問題,設(shè)計了一種基于機(jī)器視覺的刀具磨損測量系統(tǒng),實(shí)現(xiàn)了刀具磨損在線測量。董玲等[5]將機(jī)器視覺與逆向工程技術(shù)相結(jié)合,開發(fā)了一套基于三維視覺的激光再制造機(jī)器人離線自動編程系統(tǒng),實(shí)現(xiàn)了對復(fù)雜形貌零件準(zhǔn)確而高效的修復(fù);周晶[6]針對玻璃生產(chǎn)中表面質(zhì)量檢測的需求,研究了基于機(jī)器視覺的玻璃精雕機(jī)AOI(automatic optical inspection,自動光學(xué)檢測)方法,有效解決了人工檢測效率低的問題;Wang等[7]采用單目視覺測量算法進(jìn)行漫游三維定位,在保證系統(tǒng)精度和檢測實(shí)時性的同時,解決了航標(biāo)識別和三維定位等關(guān)鍵問題,實(shí)現(xiàn)了空中自主加油對接;Yu等[8]設(shè)計了一種基于機(jī)器視覺的目標(biāo)識別系統(tǒng),提出了基于PXI(PCI extensions for instrumentation,面向儀器系統(tǒng)的PCI(peripheral component interconnection,外圍組件互連)擴(kuò)展)的機(jī)器視覺方案,利用視覺模塊實(shí)現(xiàn)了圖像采集和目標(biāo)識別,有效提高了火炮系統(tǒng)的標(biāo)定效率。
在服裝、包裝等的加工中,常常存在只有紙質(zhì)圖紙或模型樣件而無電子加工圖的情況。將機(jī)器視覺檢測技術(shù)與傳統(tǒng)平面加工機(jī)床控制系統(tǒng)相結(jié)合,設(shè)計了一種基于視覺的平面加工機(jī)床控制系統(tǒng),以實(shí)現(xiàn)對紙質(zhì)圖紙或模型樣件輪廓尺寸的快速獲取,解決人工測量中存在的準(zhǔn)確度不高及效率低下等問題,提高平面加工機(jī)床控制系統(tǒng)的智能化水平。
基于機(jī)器視覺的平面加工機(jī)床控制系統(tǒng)主要由工業(yè)CCD(charge coupled device,電荷耦合器件)相機(jī)、PC(personal computer,個人計算機(jī))、運(yùn)動控制板、步進(jìn)電機(jī)、電源、滑塊和導(dǎo)軌等構(gòu)成,整個加工執(zhí)行部分集成在同一平臺上。系統(tǒng)的結(jié)構(gòu)如圖1所示。系統(tǒng)的工作原理為:通過視覺采集終端提取圖像;將圖像信息上傳至PC,由圖像處理程序?qū)D像信息進(jìn)行處理,經(jīng)過圖像降噪、輪廓提取、輪廓降重后得到加工圖形完整的輪廓信息;通過轉(zhuǎn)換程序?qū)⑤喞畔凑找蟮木入x散成大量連續(xù)微小線段,并轉(zhuǎn)換成具有PLT文件格式的加工數(shù)據(jù),再傳輸至平面數(shù)控切割平臺以進(jìn)行圖形加工。
圖1 基于機(jī)器視覺的平面加工機(jī)床控制系統(tǒng)結(jié)構(gòu)Fig.1 Control system structure of plane machining machine tool based on machine vision
系統(tǒng)主要應(yīng)用于平面切割場景,因此只須實(shí)現(xiàn)在平面內(nèi)的運(yùn)動。切割平臺由滑塊和導(dǎo)軌拼接而成。在導(dǎo)軌上設(shè)有電機(jī)和傳送帶,當(dāng)電機(jī)轉(zhuǎn)動時傳送帶會擠壓滑塊從而實(shí)現(xiàn)其在水平方向(X向)和垂直方向(Y向)的運(yùn)動。在X向?qū)к壍碾姍C(jī)處配置切割刀具,以實(shí)現(xiàn)對加工材料的雕刻和切割。同時在X向和Y向?qū)к壍哪┒硕荚O(shè)有限位裝置,以防止電機(jī)移動到工作臺外。
基于開放式數(shù)控系統(tǒng)的設(shè)計理念進(jìn)行設(shè)計,使系統(tǒng)具有較好的二次開發(fā)能力,便于后續(xù)功能集成。系統(tǒng)的功能模塊主要有視覺采集模塊和運(yùn)動控制模塊,如圖2所示。視覺采集模塊主要由工業(yè)CCD相機(jī)、圖像采集卡、光源、光源控制器和PC組成,主要負(fù)責(zé)圖像信息的采集和處理。CCD相機(jī)通過光源輔助來拍攝圖像,將圖像信息經(jīng)圖像采集卡轉(zhuǎn)存到PC,由PC的上位機(jī)軟件對圖像信息進(jìn)行處理,提取加工圖形的輪廓信息并轉(zhuǎn)換成數(shù)控加工代碼,將其傳輸給運(yùn)動控制模塊。運(yùn)動控制模塊主要由ARM+MCX314控制單元、I/O接口、四軸運(yùn)動控制接口、顯示接口和通信接口等組成,主要負(fù)責(zé)電機(jī)運(yùn)動的控制和數(shù)據(jù)通信,進(jìn)而實(shí)現(xiàn)加工。
圖2 基于機(jī)器視覺的平面加工機(jī)床控制系統(tǒng)的功能模塊Fig.2 Function module of control system of plane machining machine tool based on machine vision
采用雙核結(jié)構(gòu)實(shí)現(xiàn)四軸運(yùn)動控制,并將雙核結(jié)構(gòu)封裝成獨(dú)立的控制盒,使其具有很好的移植性。采用ARM系統(tǒng)進(jìn)行控制,其主控芯片是STM32系列的Cortex-M4內(nèi)核芯片,該芯片具有高性能、低成本、低功耗的特點(diǎn)。采用MCX314專用運(yùn)動控制卡來開發(fā)運(yùn)動控制系統(tǒng),可以大大縮短產(chǎn)品的開發(fā)周期。
運(yùn)動控制模塊主控單元中的CPU選用STM32F 407ZGT6,實(shí)現(xiàn)數(shù)控系統(tǒng)的數(shù)據(jù)處理、存儲管理以及數(shù)據(jù)交換等功能。選用帶DSP的MCX314AS芯片,以實(shí)現(xiàn)電機(jī)的速度控制、插補(bǔ)驅(qū)動和位置控制。STM32F407ZGT6與MCX314AS之間的數(shù)據(jù)交互采用FSMC總線的方式,組建“主從式”結(jié)構(gòu)方式,使STM32F407ZGT6將MCX314AS當(dāng)作SARM進(jìn)行操作。MCX314AS設(shè)置在FSMC總線第1個區(qū)間的第4區(qū)域,地址為6C000000h-6FFFFFFFh。運(yùn)動控制模塊主控單元的硬件連接如圖3所示。采用3.3 V電源供電。
圖3 運(yùn)動控制模塊主控單元的硬件連接Fig.3 Hardware connection of main control unit of motion control module
STM32F407ZGT6與PC之間的通信通過串口實(shí)現(xiàn)。由于PC常用DB9(9針)接頭,須進(jìn)行電平轉(zhuǎn)換,將芯片的I/O端口電平轉(zhuǎn)換為RS232類型。采用SP3232E芯片對STM32F407ZGT6和PC的電平進(jìn)行轉(zhuǎn)換。設(shè)計的RS232標(biāo)準(zhǔn)串口設(shè)備通信結(jié)構(gòu)如圖4所示。
圖4 RS232標(biāo)準(zhǔn)串口設(shè)備通信結(jié)構(gòu)Fig.4 Communication structure of RS232 standard serial port equipment
電機(jī)轉(zhuǎn)動由脈沖信號決定。其中限位信號主要為各運(yùn)動軸的限位和回零信號,通過傳感器輸入。傳感器的信號很容易受到外界干擾,因此在信號傳輸至電機(jī)之前須進(jìn)行光電隔離以保證輸入信號的穩(wěn)定性和可靠性。采用四通道光電耦合器PC847進(jìn)行光電隔離。限位信號控制電路圖如圖5所示。
圖5 限位信號控制電路圖Fig.5 Circuit diagram of limit signal control
采用2塊差分放大芯片DS26LS31CM進(jìn)行電機(jī)控制接口的電平信號轉(zhuǎn)換,其電路圖如圖6所示。芯片采用通用5 V供電,其輸入引腳IN A、IN B、IN C、IN D與外部電機(jī)連接以實(shí)現(xiàn)四軸運(yùn)動控制,同時,單個運(yùn)動軸原點(diǎn)信號也通過該接口進(jìn)入運(yùn)動控制單元,以實(shí)現(xiàn)回原點(diǎn)操作。
圖6 電機(jī)控制接口的電路圖Fig.6 Circuit diagram of motor control interface
在圖像采集過程中,由于環(huán)境影響、攝像設(shè)備的缺陷以及光線差異,會產(chǎn)生不同程度的圖像噪聲,須進(jìn)行降噪處理。首先,采用張氏標(biāo)定法[9]對相機(jī)進(jìn)行標(biāo)定,使圖像坐標(biāo)系向?qū)嶋H空間坐標(biāo)系轉(zhuǎn)換來獲取單位像素對應(yīng)的圖像實(shí)際尺寸大小,并將相機(jī)拍攝的原始圖像轉(zhuǎn)換為灰度圖[10-11];然后,引入改進(jìn)的自適應(yīng)特征的小波收縮(feature adaptive wavelet shrinkage,FAWS)降噪算法[12]對灰度圖進(jìn)行降噪。FAWS降噪算法的能量函數(shù)和收縮函數(shù)如式(1)和式(2)所示。
式中:λ2=4δ2logR,δ2為噪聲的方差;d(h,k)為窗口像素的中心,h、k分別為中心像素所在行、列數(shù);m、n分別為中心像素周邊像素點(diǎn)所在的行、列數(shù);Q由R×R窗口獲得,R一般取值為3;p和q由經(jīng)驗(yàn)確定。
由FAWS降噪原理可知,參數(shù)p和q對降噪結(jié)果有較大影響。這2個參數(shù)一般采用經(jīng)驗(yàn)判斷方法進(jìn)行選擇,缺乏較為系統(tǒng)的判斷依據(jù)。針對該問題,提出以常相干函數(shù)為適應(yīng)度值,并將文獻(xiàn)[13]所提出的SSA(sparrow search algorithm,麻雀搜索算法)與FAWS降噪原理相結(jié)合,提出一種改進(jìn)的FAWS降噪算法。該算法通過尋找最小適應(yīng)度值實(shí)現(xiàn)對參數(shù)p和q的自適應(yīng)尋優(yōu),進(jìn)而完成圖像降噪。
3.1.1 麻雀搜索算法
麻雀搜索算法具有優(yōu)異的收斂速度和局部搜索能力[14]。算法中引入發(fā)現(xiàn)者、加入者以及意識到危險的麻雀作為身份特征,以麻雀的覓食習(xí)性推理尋優(yōu)過程。具有較低適應(yīng)度值的發(fā)現(xiàn)者能夠更優(yōu)先地獲得食物,此外發(fā)現(xiàn)者還可以為加入者提供覓食方向,并可以獲得更大的覓食搜索范圍。發(fā)現(xiàn)者位置更新描述如下:
式中:t為當(dāng)前迭代次數(shù);j為優(yōu)化問題變量的維數(shù);Imax為最大迭代次數(shù);X(i,j)為第i個麻雀在第j維的位置信息;α是一個(0,1]范圍內(nèi)的隨機(jī)數(shù);R2和S分別為預(yù)警值和安全值;O是服從正態(tài)分布的隨機(jī)數(shù),此處為1×1的矩陣;L為1×d的矩陣,矩陣內(nèi)每個元素賦值為1,d為待優(yōu)化問題的維數(shù)。
R2<S表示覓食環(huán)境安全,附近沒有捕食者,可以繼續(xù)進(jìn)行搜索操作;R2>S表示種群中已有一些麻雀發(fā)現(xiàn)周圍有捕食者,并向種群中其他麻雀發(fā)出警報,此時所有麻雀都須迅速尋找其他覓食區(qū)域。
對于加入者,當(dāng)發(fā)現(xiàn)者找到更好的食物時,加入者會立即離開現(xiàn)在的位置去爭奪,直到勝利為止。加入者的位置更新描述如下:
在該算法中假設(shè)意識到危險的麻雀數(shù)為總數(shù)量的10%~20%,且位置隨機(jī)產(chǎn)生,則麻雀位置更新描述如下:
fi>fg表示麻雀處于種群邊緣,容易遇到捕食者;fi=fg表示位于中間位置的麻雀意識到了危險,須向其他位置移動來減小危險。
3.1.2 適應(yīng)度函數(shù)設(shè)計
在對非仿真圖片進(jìn)行降噪分析時,由于缺乏不含噪聲的圖片數(shù)據(jù),不能利用信噪比等參數(shù)對降噪結(jié)果進(jìn)行判別,因此提出一種新的降噪效果判斷準(zhǔn)則。用常相干函數(shù)表示2個數(shù)據(jù)之間的相干性,其值為0~1。分別用x和y表示降噪后的數(shù)據(jù)和剔除的噪聲數(shù)據(jù),則:
3.1.3 改進(jìn)FAWS算法的執(zhí)行流程
改進(jìn)FAWS算法的執(zhí)行流程為:
1)根據(jù)多次降噪效果評價,選擇參數(shù)p和q合理的取值范圍;
2)初始化各參數(shù)值,包括發(fā)現(xiàn)者和加入者的比例;
3)根據(jù)式(3)更新發(fā)現(xiàn)者的位置信息;
4)根據(jù)式(4)更新加入者的位置信息;
5)根據(jù)式(5)更新意識到危險的麻雀的位置信息;
6)循環(huán)迭代進(jìn)行參數(shù)p和q的局部更新和全局更新,降噪并求取降噪后圖像與被剔除噪聲之間的常相干函數(shù)值,作為當(dāng)前適應(yīng)度值;
7)對比當(dāng)前適應(yīng)度值以及最小適應(yīng)度值,若當(dāng)前適應(yīng)度值小于最小適應(yīng)度值,則將當(dāng)前適應(yīng)度值更新為最小適應(yīng)度值,并保存對應(yīng)的參數(shù)p和q,否則最小適應(yīng)度值和p、q保持不變;
8)繼續(xù)循環(huán)迭代,重復(fù)步驟1)至步驟7),進(jìn)一步進(jìn)行局部參數(shù)優(yōu)化和全局參數(shù)優(yōu)化,以更新適應(yīng)度值和p、q,直到完成設(shè)定的迭代次數(shù);
9)更新獲得全局最小適應(yīng)度值和全局最優(yōu)參數(shù)p和q。
3.1.4 改進(jìn)FAWS算法降噪效果驗(yàn)證
以含0.05椒鹽噪聲的經(jīng)典Lean圖像為實(shí)驗(yàn)對象,設(shè)置算法中麻雀種群數(shù)量為20,最大迭代次數(shù)為500,依據(jù)經(jīng)驗(yàn)p、q分別取為0.1和0.3[13],p和q的邊界條件分別為[-0.5,0.5]和[0,0.5],單位階躍響應(yīng)為1。改進(jìn)FAWS算法的降噪效果如圖7所示。由圖7可知,經(jīng)過多次迭代,降噪后圖像中噪聲含量相對于降噪前顯著減少。適應(yīng)度值變化曲線如圖8所示。由圖8可知,適應(yīng)度值隨著迭代次數(shù)的增加呈減小趨勢,證明麻雀整體向?qū)ふ疫m應(yīng)度值減小的方向進(jìn)化。不同p、q對應(yīng)的適應(yīng)度值如圖9所示。由圖9可知,當(dāng)p、q分別取為0.1和0.3時,可以獲得全局最優(yōu)解。
圖7 改進(jìn)FAWS算法的降噪效果Fig.7 Noise reduction effect of improved FAWS algorithm
圖8 改進(jìn)FAWS算法的適應(yīng)度值變化曲線Fig.8 Change curve of fitness value of improved FAWS algorithm
圖9 不同p、q對應(yīng)的適應(yīng)度值Fig.9 Fitness values corresponding to different p and q
為了進(jìn)一步驗(yàn)證改進(jìn)FAWS算法的降噪效果,對含0.02高斯噪聲的Lean圖像分別采用高斯濾波和改進(jìn)FAWS算法進(jìn)行降噪處理,將降噪結(jié)果繪制成二維和三維直方圖,并與無噪聲的Lean原始圖像的二維和三維直方圖進(jìn)行對比,結(jié)果如圖10所示。
由圖10可知,雖然高斯濾波和改進(jìn)FAWS算法都能有效降低噪聲,但相比于高斯濾波,經(jīng)過改進(jìn)FAWS算法降噪后圖像細(xì)節(jié)部分的像素值更接近原始圖像,降噪效果更好。
為了更好地獲取圖像輪廓特征信息,減小圖像對比度和亮度變化對輪廓特征的影響,采用性能好、穩(wěn)定性較高的基于全局閾值的Otsu算法[15]對降噪后的灰度圖像進(jìn)行二值化處理以分割開目標(biāo)與背景,然后采用Canny算法[16]對二值化處理后的圖像進(jìn)行邊緣檢測以實(shí)現(xiàn)目標(biāo)邊緣和內(nèi)部的有效分離,最后采用移動最小二乘法[17]對目標(biāo)邊緣進(jìn)行輪廓擬合以消除邊緣檢測產(chǎn)生的信息誤差,使得輪廓曲線平滑,接近實(shí)際圖像。
提取出圖像具體輪廓信息后,采用八通道方向鏈碼的邊界跟蹤算法[18]將各輪廓按照一定的順序生成加工路徑。PLT文件主要包含圖像輪廓的坐標(biāo)信息和對應(yīng)刀筆的操作信息,所以直接將處理后的圖形輪廓按照要求的精度離散成大量連續(xù)的微小線段并轉(zhuǎn)換成PLT文件格式,傳輸至運(yùn)動控制模塊[19]。PLT文件中所有命令和參數(shù)的表達(dá)均采用HPGL(Hewlett-Packard graphic language,惠普圖形語言)描述,每條命令以分號結(jié)束,參數(shù)間以逗號隔開。常用的PLT指令如表1所示。
表1 常用PLT指令Table 1 Common PLT instructions
圖像處理模塊的部分程序可調(diào)用opencv庫輔助實(shí)現(xiàn),主要函數(shù)如下。
1)函數(shù)imageGraying()用于實(shí)現(xiàn)圖像灰度化。程序?yàn)椋?/p>
2)函數(shù)imageDenoise()用于對灰度圖的降噪處理,函數(shù)imageBinary()用于接收降噪后的圖像,并進(jìn)行二值化處理。
3)圖像邊緣提取函數(shù)contourGet()和輪廓擬合函數(shù)contourMatching()用于對加工輪廓信息的提取,函數(shù)contourPath()用于對提取的輪廓繪制加工路徑。
4)文件轉(zhuǎn)換函數(shù)createPltFile()用于將上述加工路徑的輪廓信息轉(zhuǎn)換為PLT文件。PLT轉(zhuǎn)換程序如下:
數(shù)據(jù)通信模塊主要滿足以下兩部分功能:實(shí)現(xiàn)系統(tǒng)與計算機(jī)之間的通信,使加工數(shù)據(jù)得以傳輸;實(shí)現(xiàn)系統(tǒng)各模塊之間的通信。其主要程序有:
1)InitHardUart(void)函數(shù)用于對串口的初始化配置,以實(shí)現(xiàn)STM32F407ZGT6與PC的通信。
2)主控制器初始化函數(shù)CPLD_Init(void)用于對STM32F407ZGT6進(jìn)行FSMC總線時序配置,其中部分程序如下:
基于機(jī)器視覺的平面加工機(jī)床控制系統(tǒng)的實(shí)驗(yàn)平臺如圖11所示。圖中:①為工業(yè)CCD相機(jī),②為PC,③為步進(jìn)電機(jī),④為PCB(printed circuit board,印制線路板)運(yùn)動控制板。平臺硬件采用模塊化設(shè)計,執(zhí)行部分由導(dǎo)軌和步進(jìn)電機(jī)組成。X軸電機(jī)頭部配置激光頭以實(shí)現(xiàn)加工圖像的雕刻。導(dǎo)軌能夠進(jìn)行平面內(nèi)X、Y向的運(yùn)動,最大行程為400 mm×600 mm,能夠滿足測試要求。
圖11 基于機(jī)器視覺的平面加工機(jī)床控制系統(tǒng)的實(shí)驗(yàn)平臺Fig.11 Experimental platform of plane machining machine tool control system based on machine vision
為測試系統(tǒng)的性能,加工材料選用厚度為3 mm的亞克力板。首先,將工業(yè)CCD相機(jī)與PC、PC與PCB運(yùn)動控制板進(jìn)行連接,確認(rèn)系統(tǒng)工作正常后,通過CCD相機(jī)獲取加工圖像信息;然后,將圖像信息進(jìn)行處理,得到加工圖像的數(shù)據(jù)。系統(tǒng)測試流程如圖12所示。
圖12 平面加工機(jī)床控制系統(tǒng)測試流程Fig.12 Test flow of control system of plane processing machine tool
將原圖與加工結(jié)果進(jìn)行對比。取13個測量組,測量加工前后圖像水平或豎直方向的輪廓間距并計算其誤差,結(jié)果如表2所示。由表可知:輪廓間距較大時,誤差較小;絕對誤差在-0.3~0.30 mm以內(nèi)??梢娫撈矫鏀?shù)控加工系統(tǒng)能夠滿足服裝、包裝等的加工需求。
表2 加工前后圖像輪廓間距及其誤差Table 2 Distance and error of image contour before and after processing
根據(jù)服裝、包裝等行業(yè)的生產(chǎn)需求,將數(shù)字圖像處理技術(shù)與傳統(tǒng)平面加工機(jī)床控制系統(tǒng)相結(jié)合,利用機(jī)器視覺檢測并提取圖像的輪廓數(shù)據(jù)來提高生產(chǎn)效率。
1)設(shè)計了一套利用機(jī)器視覺采集加工數(shù)據(jù)的平面加工機(jī)床控制系統(tǒng)。系統(tǒng)整體結(jié)構(gòu)精簡,易于實(shí)現(xiàn)。
2)完成了視覺檢測算法架構(gòu)。將麻雀搜索算法與FAWS降噪原理相結(jié)合,提出了自適應(yīng)參數(shù)尋優(yōu)的改進(jìn)FAWS降噪算法,并將其與傳統(tǒng)高斯濾波降噪進(jìn)行對比,驗(yàn)證了其先進(jìn)性。
3)搭建實(shí)驗(yàn)平臺對該控制系統(tǒng)進(jìn)行測試。測試結(jié)果表明,系統(tǒng)能夠通過視覺檢測完成平面二維圖像的加工,且加工誤差較小。利用該系統(tǒng)能夠有效降低人工成本,提高生產(chǎn)效率,因此具有一定的工程實(shí)用價值。