黃 巖,黎奕輝,張凱富,管貽生
(廣東工業(yè)大學機電工程學院,廣東 廣州 510006)
在過去的幾十年時間里,隨著電子行業(yè)的快速發(fā)展,電子元器件的組裝也變得越來越重要,在自動化生產(chǎn)線上,異型器件的裝配有兩種方式可供選擇:手工裝配或者使用自動化裝配[1]。前者不僅效率低、成本高,而且質量難以保證;后者主要采用單個機器人進行異型插件的裝配工作[2],然而在重復性較高的自動化生產(chǎn)線上,依然存在工序繁多和空間利用率低等問題。結合當前多機器人系統(tǒng)的眾多優(yōu)勢[3],國內外已有學者提出了將雙機器人應用于協(xié)同下棋[4]、焊接[5]及復雜樣品的制備和測量過程[6]。
目前,很少有將多機器人應用于自動插件的系統(tǒng),為了提高異型電子元器件裝配方面的自動化水平及插件的效率,減少電子制造業(yè)中的工序數(shù)量和生產(chǎn)設備的占用空間,設計了一種雙SCARA機器人異型插件系統(tǒng)。該系統(tǒng)在硬件層面采用“PC+運動控制器”的架構形式,結構簡單,上下位關系清晰;在軟件開發(fā)時引入了模塊化的編程思想,有效的縮短了系統(tǒng)開發(fā)周期。根據(jù)異型元件和PCB自身結構的特點,在目標識別時采用特征提取的方法,結果表明該方法具有很高的可靠性。最后通過在樣機上實驗成功完成了異型元件的自動化裝配,驗證了本系統(tǒng)的可行性。
本系統(tǒng)的硬件結構主要包括工控機、雙SCARA 機器人本體、兩臺控制器、視覺系統(tǒng)和PCB傳送裝置等。其總體結構如圖1所示。兩個SCARA機器人分別由兩臺控制器控制,通過Ethernet與上位機連接。本系統(tǒng)采用的是基于“PC+運動控制器”形式的集中式控制體系,PC作為上位機,對每個機器人進行全局路徑規(guī)劃,并接受機器人的反饋信息;運動控制器作為下位機,實現(xiàn)對機器人各軸的實時控制。
圖1 系統(tǒng)結構圖Fig.1 System Structure Diagram
SCARA機器人由3個旋轉關節(jié)和1個移動關節(jié)組成,由于其自身結構特點,在平面上的定位具有較強的優(yōu)勢,特別適合于裝配作業(yè)。雙SCARA機器人是整個硬件系統(tǒng)中的執(zhí)行部件,負責插件任務,它們分別位于PCB傳送裝置的兩側,各自配有兩個料盤,末端裝有氣動夾爪。
系統(tǒng)在運行時,需要實時讀取機器人的反饋及各I/O 的狀態(tài),計算量比較大。此外,上位機所要連接的外部設備也比較多,為保證系統(tǒng)運行的穩(wěn)定性及實時性,本系統(tǒng)采用的上位機為嵌入式無風扇工控機,具有較強的抗干擾能力,擴展接口多,能滿足與多種類型外部設備的通訊。
PCB傳送裝置采用的是單段式皮帶線,其寬度與PCB剛好相吻合,由一個交流電機帶動兩側的皮帶線運動,皮帶線上放置PCB,而交流電機的啟停由每個傳感器的狀態(tài)決定,頂板和阻擋位由氣缸控制。
用機器視覺代替人的眼睛來識別與定位目標,可以避免人眼疲勞這一缺陷且能夠24小時不停工作。視覺系統(tǒng)主要包括三個工業(yè)相機(CCD1、CCD2和CCD3)、光學鏡頭、圖像采集卡和圖像處理軟件等。工業(yè)相機通過網(wǎng)線與主機相連,其中CCD1和CCD2安裝于雙SCARA異型插件機底座上方,視野朝上,用于對SCARA機器人所夾持的異型插件針腳進行質量檢測以及位姿計算;CCD3安裝在SCARA2上,視野朝下,用于計算PCB的位姿,從而得到插件的目標位置。
系統(tǒng)采用某公司的驅控一體機,可以對四個軸進行控制,同時配有相對應的手持示教器,方便用戶的手動操作。驅控一體機集成了多個控制模塊CPU,內置有高性能伺服驅動模塊、I/O模塊、顯示模塊、通訊模塊。單軸功率低于1.2KW,四軸合計功率低于3KW;I/O接口豐富,滿足插件系統(tǒng)I/O控制的需求;運動控制功能有直線插補、圓弧插補、連續(xù)插補、軌跡跟隨和各類加減速等;支持RS-232、Ethernet、USB等總線擴展方式,方便數(shù)據(jù)的高速傳輸。
在Windows平臺上,常用的編程語言有Visual Basic、C、C++等,為了方便系統(tǒng)功能的擴充以及進行人機交互,以C++為編程語言,基于Qt Creator設計了系統(tǒng)軟件。在軟件的設計過程中,采用模塊化的思想,將整個系統(tǒng)分為通訊模塊、機器人控制模塊、運動學模塊、仿真模塊、視覺模塊、IO模塊和軌跡規(guī)劃模塊等。
通訊的建立至關重要,只有成功的連接上各個設備,才能進行后續(xù)的操作。在本系統(tǒng)中,上位機與視覺系統(tǒng)、機器人控制器之間通過TCP協(xié)議通訊,上位機作為客戶端(Client),視覺系統(tǒng)和機器人控制器作為服務端(Server),連接成功后,服務端不斷監(jiān)聽客戶端的控制指令,并將接收到的數(shù)據(jù)進行解析,然后發(fā)送到全局地址中,控制器根據(jù)這些收到的指令執(zhí)行相應的動作。
仿真可以用于模擬系統(tǒng)的運行狀況,驗證算法的可行性,當出現(xiàn)異常時減小不必要的損失。在本系統(tǒng)中,為了更好的融入Qt,系統(tǒng)的仿真采用Coin3D開發(fā)。按照1:1的比例建立好三維模型后,通過設置各模塊的坐標系、輸入?yún)?shù)索引、關節(jié)限位、透明度、顏色等以及相鄰模塊間的位姿關系,即可導入Coin3D仿真平臺。在離線模式時,只需給機器人設定起點和終點的位姿,系統(tǒng)通過運動學逆解計算,可以得到在不同位姿下各個關節(jié)的角度,然后通過關節(jié)空間插補的方法及正解計算,在操作空間生成一條無碰的路徑,模仿機器人的運動,用戶可以將該路徑保持下來發(fā)給實際機器人執(zhí)行;當系統(tǒng)與實際機器人連接上時,仿真動畫可以實時跟隨機器人的運行。
本系統(tǒng)的運行流程,如圖2所示。啟動系統(tǒng)后,首先會運行初始化程序,并檢查機器人上位機與驅控一體機的通訊狀態(tài)、視覺系統(tǒng)通訊狀態(tài)以及各IO的狀態(tài),如果有異常,系統(tǒng)會自動發(fā)送相關警告信息,直到異常解除后才能進入下一步工作。之后進入準備階段,先恢復視覺軟件的狀態(tài),然后運行軌跡規(guī)劃算法,即無碰路徑生成器,確保兩個SCARA機器人處于原點位置,復位所有IO端口。
圖2 雙SCARA異型插件系統(tǒng)運行流程Fig.2 Process of Odd-form Component Insertion System of Dual-SCARA
系統(tǒng)進入插件流程后,運行邏輯控制器,首先通過PCB傳送裝置中的紅外傳感器檢測PCB是否到達指定位置,如果未檢查到PCB,系統(tǒng)會開啟傳送帶,傳送PCB并將其固定到插件區(qū)域,兩個SCARA 機器人到料盤中夾取異型插件,并分別運送到CCD1 和CCD2中檢測,如果異型插件的針腳發(fā)生了彎曲或斷裂,則系統(tǒng)會將其淘汰并讓機器人重新取料,如果通過檢測,兩個SCARA機器人會通過系統(tǒng)生成的無碰軌跡將該異型插件安插在目標位置。
在異型元件的自動化插裝系統(tǒng)中,需要通過機器視覺技術對異型元件和PCB進行識別。而在視覺檢測中,圖像的處理是其關鍵技術,目前,圖像處理算法不具通用性,需要根據(jù)具體產(chǎn)品制定相應的檢測算法。通過相機采集到圖像后,需要對圖像進行預處理、分割和特征提取等操作。
在實際的工作環(huán)境中,相機采集的圖像上往往有許多噪聲,這對后期的異型元件和PCB檢測會造成很大的干擾,因此,在圖像分割前需要先去除圖像噪聲。
經(jīng)過對采集到的異型元件圖像和PCB圖像進行分析,發(fā)現(xiàn)這兩者圖像上的噪聲主要是高斯噪聲,故選取高斯濾波[7]對圖像進行去噪處理。公式如下:
式中:G(x,y,σ)—5×5 的高斯濾波模板;f1(x,y)—含有噪聲的像素值;f2(x,y)—濾波后的像素值。
在對異型元件進行識別時,只需要識別出異型元件圖像上的某個區(qū)域即可,比如大塊的方形區(qū)域。圖像分割是在一定的標準下,將圖像中相似的像素點歸為一類,表明它們是同一個區(qū)域。通過圖像分割處理,可以將預處理后的圖像分解為若干互不交涉區(qū)域的集合[8]。
圖像分割的方法有很多,包括基于閾值的分割法、基于邊緣或區(qū)域的分割法和基于數(shù)學形態(tài)的分割法等。由于在本插件系統(tǒng)中,異型元件采用萃盤上料,其表面具有大量的線性和面性特征,且目標對象與背景圖像的灰度有較大差異,故采用基于閾值的分割法,并根據(jù)最大類間方差法選定閾值的大小。
設原圖像為f(x,y),所選的閾值為T,經(jīng)過閾值分割后的圖像為g(x,y),則有:
從而將圖像分割為背景區(qū)域(標記為0的像素點的集合)和前景區(qū)域(標記為1的像素點的集合)。
在對目標物體進行定位之前,需要提取出圖像上的特征信息。特征提取指的是使用不同的算法確定圖像上的點或連通域是否屬于一個圖像特征。通常提取的特征主要有周長、面積、圓形度和矩形度等[9],對于異型元件和PCB,可以將面積、圓形度和矩形度作為關鍵特征對目標進行識別和位姿測量。
4.3.1 面積
面積是連通域S內的像素值之和,可以表示為:
4.3.2 圓形度和矩形度
圓形度和矩形度特征的計算方法類似,圓度表示連通區(qū)域與標準圓形的相似度,矩形度是連通域的面積與其最小外接矩形面積之比。計算圓形度或矩形度的公式如下:
其中,相似度δ的值在0到1之間,其值越大,表明該特征越接近圓形(或矩形)。
為了驗證本系統(tǒng)的有效性和可行性,以及檢測本系統(tǒng)在實際插件應用中的效果,進行了避碰仿真實驗、異型元件檢測實驗和具體的插件實驗。
在本仿真實驗中,以兩個SCARA 機器人的零點位置為起點,以它們各自取料處上方的某點為終點,在系統(tǒng)中分別記錄這兩點的機器人構型,然后生成機器人的運動軌跡[10]。為保證機器人能夠成功的避碰,每條運動軌跡被分成了多段,機器人在運行時,在同一時刻,它們會運動到各自的關鍵點處。如圖3所示,紅色的機器人代表SCARA1,藍色的代表SCARA2,兩條相交的曲線是它們運動的路徑。
圖3 雙SCARA避碰仿真Fig.3 Collision Avoidance Simulation of Dual-SCARA
從圖中可以看到,如果一開始兩個機器人就相向而行,那么它們必然會在中途發(fā)生碰撞。所以為了避免發(fā)生碰撞,當SCARA2從起點向終點運動時,SCARA1先是有一個反方向的運動過程,如圖3(b)所示,當SCARA2運動到不會與SCARA1發(fā)生碰撞的安全位置后,SCARA1才開始向靠近終點的方向運動,如圖3(c)所示。最終,兩個SCARA機器人成功的運動到了目標位置。
對于不同的異型元件,所選用的特征信息也不同,本例中元件A的頭部和B的正面都呈矩形,引腳截面呈圓形,且元件A有3個引腳,元件B有2個引腳,據(jù)此作為檢測的依據(jù),如表1所示,其中WR代表圓形度,WC代表矩形度。
表1 特征信息參數(shù)Tab.1 Feature Information Parameters
對這兩種元器件分別進行了100組重復檢測試驗,其中元件A 的檢測成功率約為97%,平均耗時5.73ms,元件B 的檢測成功率約為99%,平均耗時5.92ms,它們的檢測時間比較接近,而元件A的檢測成功率偏低的原因可能是其結構更加復雜,引腳更多。元件A的檢測過程,如圖4所示。
圖4 元件A檢測過程Fig.4 The Detection Process of Component A
雙SCARA機器人每次總共可以安插4個異型元件,需要事先在軟件中設定它們在PCB中的位姿,然后通過矩陣變換得到它們在各機器人基坐標系的位姿,而取件和插件位置的精定位是通過視覺系統(tǒng)來測量的。本系統(tǒng)中,PCB的孔徑為0.8mm,異型元件引腳直徑為0.6mm,機器人最大運行速度約為5m/s。在相同速度下不同元件的插件結果,如表2所示。同一元件在不同速度的插件結果,如表3所示。由表格數(shù)據(jù)可知,該異型插件系統(tǒng)受異型元件引腳數(shù)量和機器人運行速度的影響較小,穩(wěn)定性較好,具有較高的實用意義。
表2 相同速度下不同元件插件結果Tab.2 Different Component Plug-in Results at the Same Speed
表3 同一元件在不同速度插件結果Tab.3 Different Speed Plug-in Results for the Same Component
設計了一種雙SCARA 機器人異型插件系統(tǒng)。詳細介紹了基于“PC+運動控制器”架構形式的集中式控制體系,以及硬件系統(tǒng)的主要部件,包括SCARA機器人本體、上位機、PCB傳送裝置、視覺系統(tǒng)和控制器。采用面向對象的C++為編程語言,基于Qt Creator設計了軟件系統(tǒng)。此外,提出了異型元件和PCB的視覺檢測方案,根據(jù)檢測對象自身的結構特點,在目標識別時采用特征提取的方法。最后,通過仿真平臺和實際平臺上的實驗進一步驗證了本系統(tǒng)的可行性,所開發(fā)的雙SCARA機器人異型插件系統(tǒng)能有效的減少電子制造業(yè)中的工序數(shù)量和生產(chǎn)設備的占用空間,對異型電子元器件的快速插裝和多機器人系統(tǒng)的研究具有較大的參考價值和實用價值。在后續(xù)的工作中,將進一步研究如何提高插件的精度以及對機器人的運動軌跡進行優(yōu)化,從而進一步提高插件作業(yè)的成功率和效率。