王德會,王喜順,方海濤,羅昌杰,王書付
(1.華南理工大學 機械與汽車工程學院,廣州 510642;2.中國科學院 深圳先進技術研究院,廣東深圳 518055)
自動螺絲鎖付機器人由于其可實現自動組裝,生產效率高,生產成本低等優點被廣泛的使用于汽車零部件生產、電腦、顯示屏、手機等領域。目前的自動螺絲鎖付機器人對夾具定位工件精度要求高,不能自行校正螺絲孔位偏差,而且沒有進行螺絲鎖付路徑優化,對于規則,種類單一的工件,該類設備能夠做到穩定可靠地工作[1-2];但對于形狀不規則、種類較多,夾具無法做到精確定位的工件,目前的設備還不能高效準確穩定的實現鎖付。所以為了提高鎖付的準確度和效率,本文結合HexSight 圖像處理軟件,提出基于視覺定位的偏差補償算法,自行校正螺絲孔位偏差,并分析了傳統遺傳算法的優勢及缺陷,提出了改進遺傳算法對螺絲鎖付路徑進行優化,并給出兩種算法路徑優化圖,這種方法還可以應用到其他路徑優化問題。
自動螺絲鎖付機器人工作流程一般分為兩個系統:送料系統和螺絲鎖付系統。先將螺絲倒入自動螺絲排列機中,排序后的螺絲將由壓縮空氣高速吹至螺絲刀頭,最后由電批鎖入產品中。
螺絲鎖付工件如圖1 所示。

圖1 螺絲鎖付工件模型圖
本控制系統采用“PC 機+泓格PIO-D96 數字量輸入輸出卡+CCD 攝像機”開放式運動控制方法,PC 機為控制系統的中心部分,CCD 攝像機用于對螺絲鎖付孔位置精確反饋,PIO-D96 負責整個運動控制系統的完成。控制系統結構如圖2 所示。

圖2 控制系統結構圖
在工作中由于夾具無法對工件精確定位或電批旋轉扭力的作用引起工件的位置發生偏轉,從而造成鎖付不準確,需要人工二次鎖付,有的甚至損壞工件,大大降低工作效率,增加生產成本,所以鎖付過程中自行校準孔位偏差對整個系統運行的穩定性及準確性是至關重要的。
為了滿足自動螺絲鎖付機器人對鎖付螺紋孔高精度定位要求,在機器視覺部分,對CCD 攝像機采集圖像采用基于美國Adept 公司高性能機器視覺軟件開發包HexSight 在Microsoft Visual studio 2008 中的二次開發進行分析處理。通過引入HexSight 提供的具有豐富圖像處理資源的ActiveX 控件,對CCD 攝像機進行標定,建立待識別對象模式庫,配置所需的子模塊及各種定位功能子模塊,完成對象輪廓幾何特征的搜索和提取[3-5]。如圖3 所示,為視覺系統在工件某個位置的圖像識別效果。

圖3 視覺識別測試圖像
從圖3 可以看到,無論待鎖付螺紋孔及鎖付完畢螺紋孔位置相對關系如何,該視覺識別系統都能準確識別出待鎖付螺紋孔位置(待鎖付螺絲孔中心顯示藍色坐標),且不會出現誤識別情況。由此可以得出本文所建立的識別對象模式及相關參數配置準確可靠。
工件位置偏差主要由平移偏差和旋轉偏差組成,工件平移偏差可以通過視覺識別采集點坐標值,然后計算理論值與真實值之間的偏差得到平移偏差補償值。旋轉偏差的計算以平移偏差補償為基礎,即工件的實際坐標原點值與理論坐標原點值重合。圖4 顯示了工件向左及向右旋轉兩種情況。

圖4 工件左右旋轉偏差示意圖
向左旋轉時,工件右上角坐標值由(X0,Y0)變為(X1,Y1),根據對應幾何關系及對所得式化簡,得到下式:

式中,α 為工件相對坐標原點旋轉角度。
在自動螺絲鎖付機器人工作過程中,由視覺識別系統采集準確的坐標值(X1,Y1),根據已知坐標值(X0,Y0),結合式(1)(2)及對應關系可得到:

式(3)、(4)計算出工件旋轉的偏差量,那么根據已知的理論坐標值和計算出來的偏差量,代入公式(1)、(2)就可以得到工件任意螺紋孔i的實際坐標值(X1,Y1)系統可根據實際坐標值對工件坐標糾正更新,同時在工作過程中定期讀取螺紋孔坐標信息,對有偏差的坐標及時進行更新補償。
而向右旋轉時,則可簡化為由點(X2,Y2)向左旋轉λ 至(X0,Y0),利用向左旋轉情況聯合(1)、(2)、(3)、(4)式計算出工件上所有螺紋孔向右偏轉的實際坐標值。
基于視覺識別的位置偏差補償算法有效的校正了工件鎖付過程中產生的位置偏差,使得鎖付過程準確無誤,而且夾具對工件不需要高精度的定位,提高了效率。
為了提高螺絲鎖付效率,就要對螺絲鎖付路徑進行分析優化。螺絲鎖付路徑優化問題可以轉化為典型的TSP 問題,遺傳算法是求解該問題比較有效的方法之一[6],它克服了傳統優化算法容易陷入局部極小值的缺點,是一種全新的優化算法。遺傳算法有許多優點,但它存在收斂速度慢、早熟等缺陷[7]。為了改進遺傳算法的效果,許多研究者提出了不同的改進方法,文獻[8]提出了貪婪隨機自適應搜索過程產生初始群體,這樣初始群體有較好的質量;文獻[9-10]提出通過改變遺傳算法的交叉或變異算子來改善遺傳算法的優化結果。
基于傳統遺傳算法所具有的優勢及不足,提出一種改進的遺傳算法來解決螺絲鎖付點路徑優化問題,結果表明,改進后的遺傳算法優化結果比標準的遺傳算法優化結果有了一定的改進,其結果更接近理想值。
(1)初始群體的產生
標準遺傳算法中,初始群體是隨機產生的,而初始種群的質量會影響到群體演化過程的效率和解的結果,所以本文使用貪婪隨機自適應搜索過程來產生初始群體,這樣既能保證初始群體的多樣性,又能保證初始群體有著較好的質量。
(2)自適應調整交叉概率和變異概率
傳統的遺傳算法使用的是固定的交叉概率和變異概率,不變的交叉概率和變異概率嚴重影響算法的收斂效果,所以本文根據個體的具體情況,自適應地改變Pc、Pm的大小。自適應參數調整方案如下[10]:

式中,fmax為某代中最優個體適應度;為此代平均適應度。
本文設計的適應度函數為

式中,d(xi,xj)是兩點間的距離,系數Cmax是一個適當的相對比較大的數,是f(x)的最大值估計,可以是一個適當的輸入值。
(3)適應度值標定
在初始群體中,可能會出現某些個體適應度值很大,為了防止結果收斂于局部最優解,就要限制它們的繁殖;在計算接近結束時,群體中的個體適應度值很接近,很難繼續優化,解會在最優解附近搖擺,這時候就要放大個體適應度值,提高選擇能力。適應度值標定的計算公式如下[10]:

式中,f為原適應度值,fmax、fmin分別為適應度值的上下界,α 為開區間(0,1)內的一個正實數。
(4)貪婪兩點互插入變異算子
在最優路線中,大部分點都是與其比較近的點相鄰的,所以可以根據這一實驗結果采用貪婪兩點互插入變異算子。也就是說,在所有的個體中隨機選擇一個點c,在點c的左右兩邊分別插入與c最近的點c1 和c2。具體操作如下:如果在個體c左右兩邊的點都與c1,c2 不同,則將c1 與c左邊的點調換,c2 與c右邊的點調換;如果有相同的點就改變不同的,這樣得到的新個體的適應度若小于原個體的適應度,就用新個體替代原個體。
(5)動態順序插入交叉算子
大量實踐發現,一個好的交叉算子能夠使群體快速地達到最優解,反之,效果就不是很理想。本文使用動態順序插入交叉(DO IC)算子:將兩個待交叉的染色體一個當作基本染色體,另一個作為參考染色體,根據參考染色體中點與點之間的鄰接順序,采用三角距離差函數作為評價標準,運用貪婪策略思想,隨機動態地調整交叉步長,改變染色體的編碼順序,以此提高子代染色體的適應度。
現有79 個螺絲孔需要鎖付,為了提高鎖付效率,分別使用傳統遺傳算法和改進遺傳算法對它的路徑進行優化,如圖5、圖6 所示。

圖5 標準遺傳算法路徑圖

圖6 改進遺傳算法路徑圖
如圖5 所示,使用標準遺傳算法對螺絲鎖付路徑進行優化,其最短距離為1139mm,但路徑圖有交叉的地方,同時優化結果有早熟的趨向。而采用改進型遺傳算法如圖6 所示,得到路徑最優解為1103mm,其優化計算后得到的優化路徑為:53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 71 32 31 30 29 28 27 69 26 25 24 23 22 21 20 19 18 17 16 14 15 13 12 11 10 9 8 7 79 78 77 76 75 74 73 72 33 34 35 36 37 38 39 40 41 42 43 46 45 47 48 49 6 5 44 4 3 2 1 50 51 52。
使用改進遺傳算法得到的優化結果比標準遺傳算法得到的結果理想很多. 改進之后其路徑已經沒有交叉部分,其最短距離也縮小了36mm,更接近最優結果。同時改進之后優化結果早熟的趨向得到了一定的改善。所以經過改進遺傳算法優化之后螺絲鎖付路徑已經非常接近最優解了,這個優化路徑對實際應用有很大的指導意義。
采用改進遺產算法優化螺絲鎖付路徑,結果表明,改進后的遺傳算法優化結果比標準的遺傳算法優化結果有了一定的改進,其結果更接近理想值,早熟問題也得到改善。經過優化后螺絲鎖付路徑達到了理想的狀態,螺絲孔鎖付效率更高。基于視覺識別的自動螺絲鎖付機器人對需要螺絲鎖付工件偏差能夠進行自行糾正補償,顯著提高了螺絲鎖付準確性和穩定性。
[1]姚文欽,談士力 高速自動擰螺絲系統研究[J].機電一體化2009,15(11):1 -4.
[2]蔡軍爽.螺絲機控制系統研究與開發[D]. 沈陽:東北大學.2008
[3] Adept Technology Inc.," Hexsight Reference Manual,v3.3,"2009,279 -382.
[4]吳文琪,孫增圻.機器視覺中的攝像機標定方法綜述[J].計算機應用研究,2004,21(2):1 -3.
[5]賈云得.機械視覺[M].北京:科學出版社,2000.
[6]Jean-Yves Potvin. Genetic algorithms for the traveling salesman problem[J]. Annals of Operations Research,1996(63):339 -383.
[7]雷英杰,張善文,李續武,等.MATLAB 遺傳算法工具箱及應用[M].西安:西安電子科技大學出版社,2009.
[8]YANNIS MARINAKIS,ATHANASIOS MIGDALAS,PANOS M. PARDALOS. A Hybrid Genetic—GRASP Algorithm Using Lagrangean Relaxation for the Traveling Salesman Problem[J]. Journal of Combinatorial Optimization,2005(10):311 -326.
[9]Masafumi Kuroda ,Kunihito Yamamori etal. Development of a novel crossover of hybrid genetic algorithms for large-scale traveling salesman problems[J]. Artif Life Robotics,2010(15):547 -550.
[10]Fang-Geng Zhao,Jiang-Sheng Sun,Su-Jian Li etal. A Hybrid Genetic Algorithm for the Traveling Salesman Problem with Pickup and Delivery[J]. International Journal of Automation and Computing,2009,6(1):97 -102.