劉任平,陳賽清,劉梅
摘 要: 焊接機器人路徑規(guī)劃對于提高機器人的焊接效率至關重要。傳統(tǒng)的機械臂焊接規(guī)劃采用示教-再現(xiàn)方式,這種焊接模式難以達到高效率、低耗能的要求。對焊接機器人路徑規(guī)劃問題以及遺傳算法進行研究,從時間最優(yōu)角度重點對遺傳編碼方式、適應度函數(shù)、選擇、交叉、變異等進行了分析,并采用VS2010對焊接機器人進行仿真,該遺傳算法明顯提高了焊接機器人的焊接效率。
關鍵詞: 焊機機器人; 路徑規(guī)劃; 遺傳算法; 交叉; 變異
中圖分類號:TP319 文獻標志碼:A 文章編號:1006-8228(2013)06-13-03
Application research of welding robot path planning based on genetic algorithm
Liu Renping, Chen Saiqing, Liu Mei
(North China University of Technology, Beijing 100144, China)
Abstract: Welding robot path-planning is essential in improving the efficiency of the robot welding. Traditional mechanical arm welding planning adopts the way of teaching-reproduction, which is hard to achieve the requirement of high efficiency and low energy exhausting. By researching the welding robot path-planning issues and related algorithm, the genetic encoding method, fitness function, selection, crossover and mutation are analyzed from the aspects of the optimal time, simulating the welding robot by using VS2010. The experiments show that genetic algorithm has obvious advantages for improving the efficiency of the robot welding.
Key words: welding robot; path-planning; genetic algorithm; crossover; mutation
0 引言
路徑規(guī)劃是指按照一定的性能指標,讓機器人從所處的環(huán)境中搜索到一條從初始位置到目標位置的最優(yōu)或次優(yōu)路徑。路徑規(guī)劃是機器人研究中的重要領域,國內外在機器人路徑規(guī)劃上已經做了大量的研究工作。傳統(tǒng)的機械臂焊接規(guī)劃采用示教-再現(xiàn)方式,這種一成不變的焊接方式難以達到高效率、低能耗的要求。本文基于遺傳算法對機械臂焊接進行規(guī)劃,使機械臂焊接路徑得到優(yōu)化,減少了焊接芯片的生產時間,提高了生產效率,降低生產成本。
1 焊接機器人模型
焊接機器人采用四軸聯(lián)動機械手,它由底部基座、大臂、小臂和手組成,共三個自由度,各自由度之間有旋轉關節(jié)連接,如圖1所示。
圖1 焊接機器人模型
焊機機器人的三個旋轉關節(jié),其軸線相互平行,在平面內進行定位和定向。另一個關節(jié)是移動關節(jié),用于完成末端件在垂直于平面的運動,它以旋轉關節(jié)的角位移和移動關節(jié)的位移來確定末端工作位置與姿態(tài)。每個動作都用一個直流伺服電機加以驅動,因此這個機器人驅動系統(tǒng)至少需要四個步進電機來實現(xiàn)其運動控制。
2 遺傳算法
本文基于時間因素對焊接機器人進行研究。從起點到終點對焊點的焊接可以歸結為求哈密爾頓回路問題。要使焊接芯片的時間縮短,則要找出一條最短的哈密爾頓回路,類似于TSP問題。我們采用遺傳算法進行處理。
遺傳算法是一類借鑒生物界自然選擇和自然遺傳機制的隨機搜索算法,它模擬自然選擇和自然遺傳過程中發(fā)生的繁殖、交叉和基因突變現(xiàn)象,在每次迭代中都保留一些候選解,并按某種指標從結群中選取較優(yōu)的個體,利用遺傳算子(選擇、交叉和變異)對這些個體進行組合,產生新一代的候選結群,重復此過程,知道滿足某種收斂指標為止。遺傳算法的組成主要包括遺傳編碼、適應度函數(shù)、遺傳算子(選擇、交叉、變異)、運行參數(shù)。
這里要解決的是,機械臂從待機位姿出發(fā),焊接所有焊點,回到作業(yè)原點,求路程或時間最短。假設把機械臂所要焊接的點編號為1,2,3…,n。
2.1 遺傳編碼方式
用遺傳算法來求解機械臂軌跡規(guī)劃問題時,首先要確定問題解的編碼。哈密爾頓問題的求解是一條回路?;诤附有酒奶攸c,這里采用順序表示[1]:
假定焊接芯片中所有的焊接點組成一個列表即為W,給每個焊接點分配一個1到n的序列,將這個序列記為W,即:
用編碼串表示為:
T:1 2 3 4 5 6 7 … n
說明對焊接芯片的焊接順序從焊接點v1開始,依此經過的焊接點為v2,v3,v4,v5,…,vn,然后在返回v1。
2.2 適應度函數(shù)
遺傳算法對一個個體(解)的好壞用適應度函數(shù)值來評價,適應度函數(shù)值越大,解的質量越好。適應度函數(shù)是遺傳算法進化過程的驅動力,也是進行自然選擇的惟一標準,它的設計應結合求解問題本身的要求而定。根據機械臂焊接路徑的特點,不同的路徑機械臂耗能不一樣,而機械臂耗能可以直接體現(xiàn)在機械臂轉動的角度上,所有定義適應度函數(shù)的值是一次焊接完所有焊點機械臂轉動角度的總和[2]。機器人機械臂焊接平面圖如圖2所示。
圖2 機器人機械臂焊接的平面圖模型
圖2中實線部分OA1和A1B1分別代表機械臂的大臂和小臂,設∠A1OB1=θ1,∠A2OD=θ2,∠B1A1O=θ3,∠B2A2O=θ4,為了完成從B1到B2的焊接,大臂和小臂所轉過的角度和為(θ2-θ1)+(θ4-θ3)。為了方便運算,假設A1B1=OA1,B1、B2分別為焊接芯片上兩個相鄰的焊點,從B1 到B2的焊接,由于A1B1、OA1和OB1的長度已知,求得∠CA1O1、∠B1OA1,從而求得θ3、θ1的值。同理由A2B2、OB2、OA2的長度求得θ4、θ2,最后計算出F(x)=(θ2-θ1)+(θ4-θ3)。
即適應度函數(shù)可以定義為:
2.3 遺傳算子
⑴ 選擇
選擇就是從種群里挑選出適應性好的個體,同時淘汰適應性不好的個體。選擇主要基于個體適應度,適應度越高的個體被選中的概率越大。把適應性好的個體直接遺傳或間接交叉操作產生新的個體遺傳到下一代。本論文采用了兩種選擇機制,輪盤賭選擇機制和選取父代最優(yōu)個體子代所有個體的選擇機制。我們采用輪盤賭選擇方法來選擇。
⑵ 交叉
生物進化的核心作用是生物遺傳基因的重組,相對應,遺傳算法的核心操作是交叉算子,所謂交叉是指兩個或兩個以上的父代個體的部分結構加以替換重組而生成新個體的操作。
由于本文編碼方式要求每一條路徑的染色體編碼中不允許出現(xiàn)重復的基因碼,即每一個焊點必須并且只能訪問一次[3],所以遺傳算法一般的交叉操作產生子個體的方法不適用這種編碼方式,交叉算子也只能根據此編碼方式進行設計,這里采用一致雜交的順序交叉法(OX)[4],具體操作步驟為:
① 從第一個雙親中隨機選擇一個子串(由一個隨機數(shù)得到);
② 將子串復制到一個空子串的相應位置,產生一個原始后代;
③ 刪除第二雙親中已有的基因,得到原始后代需要的其他基因的排序;
④ 按照這個基因排序,從左到右將這些基因定位到后代的空缺位置上。
隨機在串中選擇一組隨機數(shù):
當?shù)趇個隨機數(shù)小于0.5時,父代的第i位參與交叉,否則保留。然后所缺的元素由另一父本的相應元素保持順序不變來填充。假設所選交叉位置為2、3、5、7、10,則交叉操作位:
⑶ 變異
變異是指依據變異概率將個體編碼串中的某些基因值用其他基因值來替換,從而形成一個新的個體。GA中的變異運算是產生新個體的輔助方法,它決定了GA的局部搜索能力,同時保持種群的多樣性。交叉運算和變異運算的相互配合,共同完成對搜索空間的全局搜索和局部搜索。本文采用對換變異[3],具體操作如下:
隨機在串中選擇一組隨機數(shù),假設第i、j為的隨機數(shù)是隨機數(shù)數(shù)列中最小的兩個,則將第i、j兩位對應的基因交換位置。假設為3、7為:
父本: 1 2 11 12 5 7 9 3 4 6 8 10
子代: 1 2 9 12 5 7 11 3 4 6 8 10
完整的遺傳算法具體過程如圖3所示。
[產生新一代群體][是][否][重
復
N
代][設種群規(guī)模為M執(zhí)行M/2][變異運算][交叉運算][輪盤賭選擇][計算個體適應度][是否滿足停止準則][產生初始群體][輸出結果并結束]
圖3 遺傳算法的具體過程
3 實驗結果和分析
隨機取12個焊點進行模擬仿真,種群規(guī)模為100,交叉概率為0.7,變異概率為0.05,進行仿真,結果如圖4所示。
圖4 遺傳算法仿真結果
隨機取16個焊點進行模擬仿真,種群規(guī)模為100,交叉概率為0.7,變異概率為0.05,再次進行仿真,結果如圖5所示。
圖5 遺傳算法仿真結果
由圖4和圖5可知,遺傳算法在仿真過程中效果很好。應用遺傳算法后,機械臂焊接在實際應用中,能保證時間上有優(yōu)化,而且在時間優(yōu)化的情況下,能量也有相應的優(yōu)化。
4 結束語
實驗表明,應用遺傳算法的焊機機器人的焊接效率在很大程度上得到了提高。與此同時,讓焊機機器人具備了一定的路徑規(guī)劃自學習能力,摒棄傳統(tǒng)的焊機機器人示教-再現(xiàn)方式。由于本文只是單方面從時間最優(yōu)的角度對機械手焊接路徑的規(guī)劃進行了研究,因此本系統(tǒng)還需要進行更深層次的改進和創(chuàng)新。
參考文獻:
[1] 汪可.遺傳算法求解TSP問題的研究[J].電腦知識與技術,2011.9.
[2] 遲寧,王月海.焊接機器人智能控制程序的研究與實現(xiàn)[D].北方工業(yè)大學,2011.7.
[3] 王濤,謝仲生.遺傳算法和禁忌搜索算法相結合在壓水堆換料優(yōu)化中的應用[J].第十屆反應堆數(shù)值計算和粒子輸運學術會議,2006.
[4] 劉燁,倪志偉,劉慧婷.求解旅行商問題的一個改進的遺傳算法[J].計算機工程與應用,2007.6.