吳祿慎,馮秋歌,陳華偉,常參參
(南昌大學 機電工程學院,南昌 330031)
在太陽能電池板的焊接過程中[1-2],工廠普遍采用人工或者機械機構(gòu)進行擺放,效率不高而且容易損壞電池板。在實現(xiàn)電池板的焊接自動化過程中,由于來料時電池板的擺放位置具有很大的隨機性,機械手在抓取電池板的過程中,跟理想位置存在較大偏差,所以單靠機械手很難將電池板放到正確的位置。機器視覺對位技術(shù)的發(fā)展[3-4],使得太陽能電池板焊接過程中的某些環(huán)節(jié)已經(jīng)實現(xiàn)了焊接自動化。但是其中一個焊接環(huán)節(jié),在焊接之前需要將一塊長約1.58m的電池板按照標準位置擺放,并且誤差要控制在±0.5mm以內(nèi),按照其他工序一樣使用單個相機已經(jīng)很難解決對位問題。所以本文針對太陽能電池板焊接過程對電池板擺放高精度、高效率、低成本和智能化的需求,設(shè)計了基于機器視覺的太陽能電池板對位系統(tǒng),并且針對電池板尺寸較大,單相機拍攝定位精度差的問題,提出了雙相機拍攝的方法提高定位的精度和穩(wěn)定性,通過康耐視計算機視覺庫編寫圖像處理程序,并且給出了偏差的計算方法。實際結(jié)果表明,該系統(tǒng)能夠?qū)⑻柲茈姵匕鍦蚀_、穩(wěn)定、高效的擺放到規(guī)定位置。
視覺系統(tǒng)的硬件組成,往往由相機、鏡頭、光源、工控機以及通訊模塊等組成,采集到清晰、高對比度且滿足精度和視野要求的圖像,對后續(xù)的圖像處理非常重要,合適的硬件選型可以有利于算法的簡化,對提高運行速度和檢測的穩(wěn)定性都有重要的意義。本視覺系統(tǒng)的部分硬件組成如圖1所示。
根據(jù)此項目的實際需求,選用康耐視500萬的工業(yè)相機和日本computar系列的百萬像素級C接口16mm工業(yè)鏡頭來保證視野、物距和精度的要求。背光源是一種由LED燈珠均勻排布在光源底部的平板式光源,光線經(jīng)過導(dǎo)光板之后形成均勻的背光,亮度提升明顯,特別適合用于外形輪廓檢測,所以選用背光最佳。由于最終的數(shù)據(jù)要通過TCP通訊的方式傳送給機械系統(tǒng),所以選用的工控機配備三個Gigabit Ethernet千兆網(wǎng)口,其中兩個用于連接相機,一個用于和PLC進行通訊,工控機系統(tǒng)采用64位Windows操作系統(tǒng)。
圖1 視覺定位系統(tǒng)的硬件組成
圖2 系統(tǒng)總體流程
視覺對位系統(tǒng)[5-6]的軟件開發(fā)部分主要利用Cognex開發(fā)的VisionPro視覺庫和VB.net框架進行軟件開發(fā)。利用VisionPro中的采集圖像、訓練模板和定位、找?guī)缀涡螤畹裙ぞ撸Y(jié)合相機標定和坐標轉(zhuǎn)化算法,同時采用兩個相機來提高對位的精度。當機械手吸取工件第一次達到拍照位置后,由CogAcqFifoTool工具觸發(fā)CCD相機進行第一次拍照,采集到的圖像經(jīng)過GigE接口傳送至VisionPro軟件,首先運用CalibCheckerboardTool標定工具進行相機的標定,然后將標定完的圖像傳送給CogPMAlign工具進行模板訓練和圖像匹配,將匹配到的坐標參數(shù)傳送給CogFixtureTool進行定位。選用CogFixtureTool圖像定位空間,使用CogFindLineTool找線工具找到頂點的兩條邊,然后使用IntersectLineLineTool找交點工具可以找到這兩條線的交點的坐標,即點特征的坐標。最后進行偏差的計算,將結(jié)果通過TCP通訊的方式傳送給機械手進行校準。系統(tǒng)總體流程如圖2所示。
1.2.1 獲取圖像
使用兩個康耐視的五百萬像素工業(yè)相機,Gigabit Ethernet千兆網(wǎng)口連接CCD相機,設(shè)置好網(wǎng)關(guān)后,在VisionPro里面添加CogAcqFifoTool取圖工具,設(shè)置曝光量,調(diào)整鏡頭焦距和光圈大小,保證采集到清晰高對比度的電池板頂角圖像,如圖3所示。
圖3 電池板頂角圖像
1.2.2 攝像機標定
(1)鏡頭畸變的校準:由于鏡頭的畸變,通常導(dǎo)致拍攝到的圖像存在三種常見的扭曲:縱橫扭曲、透視扭曲和放射扭曲。采用CalibCheckerboardTool標定工具進行校準。該工具使用棋盤格標定板可以計算線性或者非線性轉(zhuǎn)換[7],光學或者透視扭曲的情況屬于非線性轉(zhuǎn)換。如圖4a所示,標定工具已記錄原始校準空間中標定板的頂點坐標,然后攝像機采集標定板的圖像,如圖4b所示,獲取采集圖像的頂點坐標。非線性轉(zhuǎn)換指的是這兩組點之間的映射關(guān)系,工具計算并且記錄這種映射關(guān)系,如圖4c所示。在程序運行期間,校準工具就可以利用這種映射關(guān)系對采集的圖像進行校準。接下來的圖像處理就可以利用校準好的圖像,進行更加精確的計算。
(2)像素坐標轉(zhuǎn)化為空間工件坐標:攝像機拍攝到的圖像,要想得到實際的偏移量,首先要將像素坐標系轉(zhuǎn)化到工件坐標系。一般標定板上的塊尺寸為1cm×1cm,用塊尺寸除以塊所占的像素數(shù)n,就可以得到圖像像素到空間工件實際坐標的比例轉(zhuǎn)化關(guān)系,棋盤格校準使用的棋盤格板可以計算像素和真實單位之間的轉(zhuǎn)換。
(a)原始校準空間 (b)標定板圖像 (c)映射關(guān)系圖4 棋盤格校準
1.2.3 定位和尋找點特征
圖5 模板匹配過程
電池板的頂角存在肉眼可見的加工誤差,導(dǎo)致每塊電池板的頂角存在不確定的變形,為了更好的找到太陽能電池板的頂點坐標,提高定位的精度,首先采用PMAlignTool工具中的PatMax[8]功能結(jié)合FixtureTool工具進行定位。PatMax是一種基于模板匹配算法[9]的圖案位置搜索技術(shù),PatMax圖案不依賴于像素格,其特征是表示圖像中不同區(qū)域之間界限的輪郭線,基于特征的表現(xiàn)可以比像素格柵表現(xiàn)更快捷和準確。其功能可以實現(xiàn)測量圖案的位置,相對于原來訓練圖案的尺寸,以及相對于原來訓練圖案的角度等等。然后把PMAlignTool模板匹配工具的特征位置變化信息Results.Item[0].GetPose()傳送給FixtureTool工具,實現(xiàn)了定位功能。模板匹配工具的使用過程如圖5所示。
圖6 組合工具效果圖
使用兩個FindLineTool找線工具可以找到過頂點的兩條邊,實際上該工具利用投影算法,計算出線上的一些點,然后擬合出一條線。使用IntersectLineLineTool找交點工具可以找到這兩條線的交點,同時可以得到交點的坐標,即頂點坐標。組合工具的效果如圖6所示。
1.2.4 坐標轉(zhuǎn)換
由于工件尺寸大,為了提高測量的精度,所以采用雙相機拍攝。雙相機拍攝帶來兩個相機像素空間坐標不統(tǒng)一的問題,這樣兩個相機采集到的數(shù)據(jù)就相互獨立,不容易計算出工件的擺放角度,所以首先要將兩個相機的坐標轉(zhuǎn)化到同一個坐標系下。不同平面直角坐標系之間的坐標轉(zhuǎn)換公式:
(1)單純移動
設(shè)兩個直角坐標系是Oxy和O′x′y′,有相同的坐標軸方向,坐標原點O′在坐標系Oxy中的坐標為(x0,y0)。點M在Oxy和O′x′y′坐標系下的坐標分別用(x,y)和(x′,y′)表示。在單純移動情況下,坐標轉(zhuǎn)換公式是:
(1)
(2)單純轉(zhuǎn)動
設(shè)兩坐標系有同一原點O,Ox和Ox′之間的夾角是t。在單純轉(zhuǎn)動情況下,坐標轉(zhuǎn)換公式是:
(2)
(3)移動和轉(zhuǎn)動
設(shè)兩個坐標系為Oxy和O′x′y′,坐標原點O′在坐標系Oxy中的坐標為(x0,y0),x軸和x′軸之間的夾角是t。在同時存在移動和轉(zhuǎn)動的情況下,坐標轉(zhuǎn)換公式是:
(3)
兩個相機平行安裝的方法:利用VisionPro軟件里面的浮動顯示圖像的功能,隨時可以觀察工件上任一點的像素坐標,調(diào)整相機使工件和兩個相機x方向都平行之后固定,如圖7所示。利用該方法可以使用公式(1)來簡化計算。
圖7 安裝效果圖
則O′在O內(nèi)的橫坐標為:
x0=x1+L-x2′
縱坐標為:y0=y1-y2′
(4)
1.2.5 位置偏差結(jié)果計算
進行位置偏差的計算,需要建立一個標準位置,將一個電池板放置在標準位置,機械手利用氣動吸嘴將工件吸起,沿y方向平移到拍照點,在移動的過程中,保證工件的x坐標不發(fā)生變化,以此位置的電路板為標準位置,記錄此時電路板的左側(cè)頂點坐標(xd,yd),以此坐標作為標準位置。先后進行兩次拍照,第一次拍照計算角度偏差,機械手校正完角度偏差之后進行第二次拍照,進行平移偏差的計算,校正完平移偏差之后,機械手將工件放到指定的擺放位置。
第一次拍照,進行角度偏差計算,如圖8所示。
圖8 角度偏差計算
利用轉(zhuǎn)換公式將坐標系2的頂點(x2′,y2′)轉(zhuǎn)化為坐標系1中的坐標(x2,y2):
即
(5)
設(shè)電池板的偏移角度為t,
(6)
第二次拍照進行平移偏差計算,如圖9所示。
(7)
圖9 平移偏差計算
機械手吸取6塊電池板,經(jīng)過視覺系統(tǒng)校正后,放到同一個坐標位置,重復(fù)進行10組測試來測試系統(tǒng)的
穩(wěn)定性,通過觀察法對存在較大偏差的電池板間隙用游標卡尺進行測量。通過測試可以明確得出,在10組測試中,電池板與標準位置幾乎重合,足以滿足項目對±0.5mm誤差的要求。實際上,通過人眼很難分辨偏差的大小,比人工擺放更精確。最終通過本系統(tǒng)校正的電池板整齊的擺放到規(guī)定的位置,效果圖見圖10。
圖10 對位效果圖
該視覺對位系統(tǒng)采用雙相機獲取圖像,利用VisionPro機器視覺庫里面的工具尋找特征,并且給出了偏差的計算方法,基于VB.Net框架開發(fā)了一種基于機器視覺的太陽能電池板自動對位系統(tǒng)。實際證明,該系統(tǒng)達到了很高的檢測速度和定位精度,實現(xiàn)了電池板準確的擺放,滿足實際的生產(chǎn)需求。本系統(tǒng)的設(shè)計,提高了太陽能電池板的焊接自動化程度,對發(fā)展綠色能源具有重要意義。
[參考文獻]
[1] 高志良.太陽能電池片自動焊接中視覺檢測關(guān)鍵技術(shù)的研究[D].天津:河北工業(yè)大學,2013.
[2] 李晨曦,袁紅兵. 基于VisionPro的太陽能電池片定位與缺陷檢測系統(tǒng)[J]. 機電一體化,2014(12):50-54.
[3] Zhang W. Development of Machine Vision and Its Industrial Applications[J]. Infrared, 2006,27(2):11-17.
[4] 張建業(yè),潘豐. 基于視覺的機器人抓取電梯門板定位系統(tǒng)設(shè)計[J]. 江南大學學報(自然科學版),2015,14(6):769-775.
[5] 陳偉華,馬瓊雄,陳月軍. 基于VisionPro的工業(yè)機器人視覺定位系統(tǒng)[J]. 組合機床與自動化加工技術(shù),2012(2):81-83,87.
[6] Chen W H, Qiong-Xiong M A, Chen Y J. Vision Positioning System of Industrial Robot Based On The VisionPro[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2012.
[7] Guo C, Hong Y. Fully automatic method for camera calibration based on checkerboard target[J]. Computer Engineering & Applications, 2016,52(12):176-179.
[8] Zhi-Qiang H E, Ding T, Er-Qiang X U, et al. Application of PatMax and PatQuick in Smart Electricity Meter′s LCD Detection[J]. Automation & Instrumentation, 2012(5):54-56.
[9]周麗莎.基于模板匹配的視覺定位技術(shù)研究與應(yīng)用[D].大連:大連理工大學,2012.