尹力,胡美姣
(遼寧理工學院 智能工程學院,遼寧 錦州 121013)*
印制電路板(PCB)是信息產業的基礎,其加工的自動化程度直接影響電子產品生產效率[1].影響雕刻機加工精度的因素有很多:如PCB板的制造誤差和定位誤差、雕刻機自身的滾珠絲杠、各軸零位傳感器精度等.因為PCB板具有柔性,在裝夾過程中會產生形變[2]:裝夾力度過大會因其柔性破壞原本加工件與雕刻機上的坐標與精度;裝夾力度過小會在加工過程中產生竄動;兩種情形都會影響加工精度[3].以上的各種誤差最終反映會到成品的加工精度上.現如今高檔的自動加工系統已經配備了快速、準確、魯棒性強的機器視覺系統.可以說機器視覺當下已經成為數控加工保證高精度加工的必備要素[4].
傳統的數控系統主要是依靠純機械定位或者是光學定位的方式進行誤差矯正,已經不能滿足電路板的加工精度需求.對于不同的生產任務也需要專門設計夾具,對當下小批量、靈活性高的生產任務適應性不佳.搭配了機器視覺系統的數控系統可以在保證加工精度的情況下對不同加工任務僅需進行特征點的采集即可,能夠有效節約生產成本和提高生產效率[5].
本實驗平臺使用工業攝像機配合相關機器視覺算法,對數控加工過程中因裝夾不標準產生的平移量和旋轉量進行采集與處理,通過雕刻機作為數控實驗平臺實現加工的自動矯正,并開展具體實驗對系統的加工精度進行測試.針對誤差產生原因進行分析并提出系統性能提升的改進方式.
視覺定位需要數控系統的世界坐標系與相機的世界坐標系轉換矩陣、相機內部參數、畸變參數信息等.工業相機的標定基于“張正友”標定法[6].通過標定可以把攝像頭的像素(pixel)與現實中的實際物體大小單位(mm)達成一定的線性關系,以此可以將攝像機像素與其世界坐標進行轉換[7].實驗使用的棋盤標定板和選取的標定用圖如圖1所示.

圖1 標定板實物圖及標定用圖
相機標定共使用11張在各個角度拍攝的圖像作為標定用圖,利用OpenCV開源計算視覺庫的現有標定算法進行標定(見圖2).標定完成后,為提高圖像處理效率.在采集到的圖像中,手動選取目標區域(RIO)進行圖像分割處理后再進行邊緣提取識別等工作[8](見圖3).大大減小需要處理的像素數量的同時也提高了系統的穩定性.

圖2 標定過程圖

圖3 感興趣區域(RIO)選取圖完成圖
將選取的感興趣區域降采樣為8bits灰度圖像后,采用Canny邊緣檢測算法進行邊緣檢測[9].為了獲取較好的邊界處理結果,對Canny算法進行非極大值抑制完成邊緣提取,在保證連通性的同時也能夠獲得較細的邊界.
Canny算子求解邊緣的算法步驟如下:
(a)對圖像進行高斯濾波,平滑圖像去除噪聲.
(b)用一階差分計算梯度值和梯度方向.
(c)對梯度進行非極大值抑制.
(d)利用雙閾值算法檢測和連接邊緣.
因Sobel算子得到的邊緣比較明亮且粗大,便于后續的待觀測邊緣像素驗證工作[10].邊緣提取算法中使用的一階差分算子為Sobel算子[11].在考慮8-鄰域的梯度的情況下,梯度角范圍從-π~π,將其近似為四個方向.分別代表水平垂直和對角線方向(0°,45°,90°,135°),以iπ/8(i=1,3,5,7)分割區域.給予落在不同區域的梯度角度一個指定值.這也就代表了待觀測邊緣像素的四個生長方向.
非極大值抑制(Non-Maximum Suppression)是進行邊緣檢測的一個重要步驟.通俗意義上就是尋找像素點局部的最大值,沿著梯度的方向,通過比較其前后的梯度,對當前像素點是否為邊緣像素進行驗證[12].原理見圖4.

圖4 非極大值抑制原理圖
圖4中g1、g2、g3、g4都代表中心像素c的8-鄰域中的四個像素點,圖中斜線代表梯度的方向,也就是說c如果是局部的極大值,其梯度幅值必須要大于直線與g1g2和g3g4的交點.dtmp1和dtmp2是梯度幅值,因dtmp1和dtmp2不是整數倍的像素,即坐標并不是整數,所以只需已知dtmp1所占g1、g2之間的比例系數即可計算出當前梯度幅值.而比例系數可以靠梯度角度計算得出.dtmp1由式(1)得出:
設M為錨點所在鄰域像素點的幅值.
M(dtmp1)=w·M(g2)+(1-w)·M(g1)
(1)
w=Dist(dtmp1,g1)/Dist(g1,g2)
(2)
式(2)中,Dist(g1,g2)表示兩點直接的距離,代表差分值,w為比例系數,比例系數w可以通過梯度的正切值求得.
正切值由式(3)、(4)、(5)所得,以I表示梯度,以|I|表示梯度的模,再利用θ作為梯度的方向.
(3)
(4)
(5)
在選取各個梯度方向上的梯度幅值后,比較中心像素和鄰域像素,如果小于任意一個,則拋棄此像素點,取最大方向并移動.示意圖如圖5所示.

圖5 尋求真實邊緣像素原理圖
利用非最大值抑制算法后,輸出的幅值如果直接顯示結果可能會把少量的偽邊緣像素包括下來,所以要通過閾值進行取舍.傳統的單閾值方法可能無法有效的過濾偽邊緣.Canny提出了雙閾值(Fuzzy Threshold)的過濾方法很好的實現了真實邊緣的選取,在實際的應用當中雙閾值方法在圖像邊緣的表現上還有鏈接邊緣的效果[13].
霍夫直線檢測[13]的基本原理是把圖像空間的像素坐標轉化為參數空間的正弦曲線.因為直角邊上的所有像素點都在參數空間有對應的曲線,所以存在不同的直線與其對應.如果參數空間的曲線存在交點,此交點即為這些點共同對應在世界坐標空間中的同一條直線[14].(見圖6)由此可以確定直角邊方程如式(6)所示.

圖6 世界坐標與參數空間轉換示意圖
(6)
在進行直線檢測時,豎直梯度方向PCB的直角邊和水平梯度方向PCB的直角邊需要分開檢測.以檢測其中一個角點為例,圖7為霍夫直線檢測檢測和Canny邊緣檢測的結果圖.

圖7 霍夫檢測和邊緣檢測圖
設PCB直角邊1與直角邊2的霍夫直線方程為式(6).通過計算求出兩個直線的交點(x,y),其中x和y的坐標值推導如式(7)所示.這個交點即為需要采集的MARK點.
(7)
完成邊緣檢測后,可以得出PCB板非標準裝夾和雕刻機加工坐標系的實際偏差如圖8所示.當圖像采集與計算處理完成后.根據角點坐標和檢測所得直線與機床坐標軸所成角度可以得出雕刻機機械平臺坐標系和PCB板工件坐標系轉換所需要的偏移量和旋轉角度參數.

圖8 霍夫檢測后的與機械平臺坐標偏差圖
利用所得偏移與旋轉角度參數,可以通過機器人正逆運動學原理對數控系統機械坐標和攝像機的世界坐標即工件坐標進行變換[15].
假設標準安放的角點1坐標為M(a0,b0),角點2坐標為N(c0,d0),實際安裝位置角點1坐標M(a1,b1),角點2坐標N(c1,d1).此四點坐標用于推導出矯正算法所需的相關參數.將旋轉矩陣和平移矩陣先做點乘,這樣在確定X、Y軸的平移量和旋轉角度三個參數時可以減少運算量.式(8)和(9)都是推導的過程參數公式.為了減少浮點運算的計算量,不需求解θ具體角度,僅計算出其正余弦值.
對機械坐標系和攝像機的世界坐標系進行取點采集.為后續兩坐標系之間的平移參數和旋轉參數求解做準備.
A=(a0-c0)2+(b0-d0)2
(8)
(9)
經由式(8)、(9)推導得到式(10),可以得到旋轉與平移參量.其中Δx、Δy表示的就是平移矩陣中的軸向平移量,而旋轉矩陣中參數cosθ、sinθ如式(10)所示.
最后將自矯正公式(10)選取合適的數據精度編寫程序,經過計算可得到相應矯正后的加工位置坐標,再將矯正完成的G代碼傳輸到運動控制器進行加工.
(10)
對PCB板標準裝夾加工和非標準裝夾兩種情形分別進行加工對比.非標準安裝情況如圖9所示.為了驗證機械視覺定位自矯正算法的精度,我們隨機裝夾PCB板.要注意偏差不能過大[16].因為在實際生產情景中實際裝夾位置與標準裝夾位置不會相差太遠.
在非標準裝夾PCB板后需要進行定位處理,如圖9所示.利用視覺定位確定兩個Mark點坐標:

圖9 非標準安裝圖
將首次定位的Mark點定義為PCB板右上角的頂點,后定位的Mark點定義為左下角PCB板的頂點;先后采集定位兩次;存儲坐標值并傳至至矯正程序;再向矯正程序傳遞標準裝夾時的加工G代碼,待矯正完成后自動,手動確認后開始加工.
加工完成后,將雕刻機所在標準條件和非標準條件下的加工情況進行對比,如圖10所示.左側為標準裝夾,右側為非標準裝夾.通過對比得知,在非標準裝夾情況下加工的電路板與標準裝夾下加工的電路板并無明顯差異,下面進行精度更高的誤差計算與統計.

圖10 標準安裝和非標安裝加工對比圖
根據矯正后的加工點坐標,計算到PCB板坐標系X軸的距離[17].根據距離公式(式(11)所示),只要知道實際裝夾工件坐標系中X軸在機械平臺坐標系中的函數方程,即可求出矯正前后到數控系統機械坐標X軸的距離距離,見圖11.

圖11 誤差分析示意圖
(11)
由于數控加工是基于數控系統的機械坐標的,所以必須求出非標準安裝PCB板的坐標系X軸函數方程.將非標準狀況下PCB電路板中對應點到標準安裝PCB板坐標系對應點沿X軸的距離,即可得到誤差值.隨機采集500個點的坐標進行誤差分析.表1列出了部分實驗數據.

表1 部分矯正誤差表 mm
對實驗數據進行數據可視化,分別計算實驗中X、Y軸兩個方向上實際位置與標準位置的絕對誤差,利用matplotlib進行數據可視化.見圖12.

圖12 X、Y軸上的誤差折線圖
從圖12中可以得知:
(1)在進行矯正后,誤差總體范圍在0.13~0.2mm之間,符合 PCB板最低誤差0.5 mm的要求;
(2)當非標準裝夾距離過于接近機械平臺原點時,誤差產生的較大.但是總體來看,誤差范圍限制在了一定限度內;
(3)誤差與測試偏差的距離大致成線性關系,即機械行程越大,產生的誤差越大.
最終系統產生的誤差主要包含:圖像采集過程中邊緣像素拾取準確度的誤差、選取的數據類型精度被圓整產生的誤差.實驗當中采用的工業相機分辨率為1260×960.如果攝像頭的性能參數(如分辨率),在標定時使用更多的標定圖像,在具體的加工場景選取更加合適的照明系統等方面上加以改進可以有效減小上述誤差,可以讓系統的矯正性能更佳.
本文實現了機器視覺技術與數控加工系統的結合應用.并以雕刻機作為實驗平臺,以PCB電路板加工問題展開實驗.解決了傳統的雕刻機在待加工件非標準裝夾情況下的加工難題.通過實驗驗證、誤差計算、誤差來源分析,得出系統滿足了精度要求的結論,提出了本系統性能可以提升的幾個方面.
實驗平臺基于數字圖像處理技術,利用機器視覺定位及自矯正算法在保證了PCB板非標準裝夾時加工的正確性的同時也達到了要求的精度.通過理論推導和實際測試并計算誤差證明矯正系統滿足設計的精度要求.可見在機器視覺技術的輔助下,未來的數控加工制造可以更加靈活.隨之帶來的就是產品品質和生產效率的提升.