周紅勛,陳君寶,王生懷,陳育榮
(湖北汽車工業(yè)學(xué)院 機械工程學(xué)院,湖北 十堰 4420002)
基于混合粒子群算法的白車身焊接機器人路徑優(yōu)化
周紅勛,陳君寶,王生懷,陳育榮
(湖北汽車工業(yè)學(xué)院 機械工程學(xué)院,湖北 十堰 4420002)
提出了一種由粒子群算法和遺傳算法有效結(jié)合的混合粒子群算法。以某型轎車前地板線焊接工位機器人的路徑規(guī)劃為例,分別采用混合粒子群算法、遺傳算法對機器人的焊點焊接順序進行求解。2種算法在Matlab中的仿真優(yōu)化結(jié)果表明:混合粒子群算法在求解路徑優(yōu)化問題上能得到更佳的焊接路徑。
白車身;焊接機器人;混合粒子群算法;路徑優(yōu)化
白車身作為汽車的重要組成部分,通常由300~500個形狀復(fù)雜的薄板沖壓件組成,需要在55~75個工位上焊接4 000~6 000個點[1]。為了能在較短的時間內(nèi)制造出高質(zhì)量、低成本的車身,滿足市場的需求和提高市場占有率,國內(nèi)外企業(yè)紛紛采用以機器人為核心的柔性焊裝生產(chǎn)線。為了使機器人在盡可能短的時間里,無干涉地完成焊接任務(wù),必須對焊接任務(wù)進行分配、每臺機器人焊接路徑進行優(yōu)化。由于本文中以某型轎車前地板線補焊工位為研究對象,焊點分配任務(wù)已完成,故此處只需考慮焊接路徑的優(yōu)化。以往機器人的路徑規(guī)劃常常由人工完成,仿真人員主要根據(jù)自己的經(jīng)驗以及已有的資料,粗略規(guī)劃出機器人焊點焊接順序,這種規(guī)劃方法具有很大的隨意性,并且效率低,經(jīng)常出現(xiàn)機器人作業(yè)順序不合理,從而嚴(yán)重影響白車身焊接的生產(chǎn)效率[2]。為此,近年來國內(nèi)外許多研究者采用諸如遺傳算法、神經(jīng)網(wǎng)絡(luò)等智能算法來研究機器人的路徑優(yōu)化問題,雖然在解決路徑優(yōu)化方面有了很大的提高,但由于這些智能算法本身的不足,往往產(chǎn)生諸如尋優(yōu)效果不理想等不足。為了得到更好的優(yōu)化結(jié)果,本文中在對遺傳算法和粒子群算法的研究上,提出一種融合了上述2種算法各自優(yōu)點的智能算法——混合粒子群算法,并將其用于優(yōu)化某型轎車前地板線補焊工位的機器人焊接路徑優(yōu)化上,對于縮短焊接時間、提高生產(chǎn)效率、節(jié)約成本具有十分重要的意義[3]。
以轎車前地板線工位焊接上一臺焊接機器人的路徑優(yōu)化為研究對象,需要焊接28個焊點,在地板上的分布如圖1所示。由于其焊點分布范圍廣、不規(guī)則,從而增加了機器人運動時間和路徑,成為了阻礙整個焊接系統(tǒng)效率的瓶頸。機器人路徑優(yōu)化就是找一條最優(yōu)或者次優(yōu)的焊接路徑,使機器人的工具原點從起始點開始,依次焊接完28個焊點,又回到起始點,所用的時間或路程最短,因此焊接路徑問題是典型的旅行商問題。由于智能算法是從理論上對機器人路徑進行優(yōu)化,得到的結(jié)果往往需要現(xiàn)場修正,為了提高計算效率,最大限度地模仿真實環(huán)境,可以作如下簡化:1)焊接過程中焊槍和工件或夾具干涉問題,這方面可以用增加虛焊點修正的方法加以解決[4];2)不考慮焊接變形等約束條件對焊接順序的影響;3)通過對圖中28個焊點的坐標(biāo)進行分析可知,它們在Z軸上的偏差十分小,故在優(yōu)化時不考慮Z軸的變化,直接把焊點看成在XOY平面上的點。
圖1 地板線焊點分布圖
為了簡化模型,以機器人的焊接路徑最短為規(guī)劃目標(biāo),設(shè)C={C1,C2,C3,…,C28}為28個焊點的全排列,d(Ci,Ci+1)為非負數(shù),表示排列順序為Ci和Ci+1焊點間的距離,s為焊接路徑總長度,求使目標(biāo)函數(shù)式(1)路徑長度達到最小的28個焊點的順序排列:
2.1 遺傳算法
遺傳算法是美國密歇根大學(xué)John H.Holland教授提出的一種隨機自適應(yīng)的全局搜索算法,其基本原理是仿效生物界中的“物竟天擇、適者生存”的演化法則[5]。在用于解決機器人路徑規(guī)劃的旅行商問題時,將所有焊點焊接順序表示成染色體。隨后在可行解空間中初始化若干條染色體,根據(jù)適應(yīng)度值函數(shù)計算種群中每條染色體的適應(yīng)度值,選擇其中適應(yīng)度值高的染色體,對它們依次進行交叉,變異操作,產(chǎn)生更好的染色體種群。這一過程反復(fù)循環(huán),當(dāng)達到設(shè)定的最大遺傳代數(shù)時,算法結(jié)束,輸出最優(yōu)解,此算法的流程圖如圖2所示。
圖2 遺傳算法流程圖
2.2 粒子群算法
粒子群算法則源于鳥類捕食這種生物種群行為的啟發(fā)而提出一種基于群體智能的全局隨機搜索算法,用可看成質(zhì)點并且以一定速度飛行的粒子表示個體。假設(shè)在D維搜索空間中有N個粒子,Xi=(xi1,xi2,…,xiD),Vi=(vi1,vi2,…,viD)分別表示第i(i=1,2,3,n)個粒子的位置和速度,通過不斷追蹤粒子個體極值Pbest=(pi1,pi2,…,piD)(個體經(jīng)歷過的最好位置)和種群極值Gbest=(pg1,pg2,…,pgD)(種群中所有個體經(jīng)歷過的最好位置)來更新個體的位置和速度,更新公式為
圖3 粒子群算法流程圖
遺傳算法采用選擇、交叉和變異算子進行搜索,全局搜索能力較強,能有效解決離散優(yōu)化組合問題,但局部搜索能力較弱,很難得到問題的最優(yōu)解。而基本粒子群算法通過追隨個體極值和種群極值完成極值尋優(yōu),在解決非線性連續(xù)性的優(yōu)化問題上操作簡單、收斂迅速、尋優(yōu)能力強,但隨著迭代次數(shù)的不斷增加,易陷入局部最優(yōu)解周邊和無法用于離散的優(yōu)化組合問題(不能用于焊接機器人的路徑規(guī)劃問題)等。為了彌補它們在求解路徑優(yōu)化問題上的不足,本文中提出了一種由粒子群算法和遺傳算法有效結(jié)合的混合粒子群算法,它結(jié)合2種算法各自的優(yōu)點,避免了各自的不足,摒棄了傳統(tǒng)粒子群算法中的通過極值來更新粒子位置的方法,而是通過粒子同個體極值和群體極值的交叉以及粒子自身變異的方式來搜索最優(yōu)解,從而增加種群的多樣性,提高算法的全局搜索能力[6]。
3.1 求解過程
1)個體編碼 混合粒子群算法采用整數(shù)編碼的方式,即用一組所有焊點的焊接順序排列表示粒子、所有焊點的全排列當(dāng)成搜索空間的這種表達方式。比如當(dāng)有10個焊點,個體編碼為(4 1 9 2 3 7 6 8 5 10),表示焊接順序從4開始,經(jīng)過1,9,2……10,最終返回焊點4,從而完成焊接任務(wù)。
2)適應(yīng)度函數(shù)的設(shè)計 適應(yīng)度值表示為機器人焊接完所有焊點所運動的路程,如式(3)所示:
式中:n為焊點個數(shù);d(Ci,Ci+1)指粒子中排列順序為(Ci,Ci+1)的2個焊點之間的距離。
3)交叉算子的設(shè)計 基本粒子群算法無法用于離散的機器人焊點路徑優(yōu)化,故混合粒子群算法通過和個體極值、種群極值交叉來更新個體,采用整數(shù)交叉的方法。首先選擇2個交叉位置,然后把個體和個體極值、種群極值進行交叉。假定隨機選取的交叉位置為2和7,個體(4 1 9 2 3 7 6 8 5 10)與極值(9 2 1 6 3 7 4 10 8 5)交叉得到新個體(9 1 1 6 3 7 6 10 8 5)。假如產(chǎn)生的新個體存在重復(fù)位置,則用個體中未包括的焊點代替重復(fù)包括的焊點,將新個體(9 1 1 6 3 7 6 10 8 5)調(diào)整為(9 4 1 6 3 7 2 10 8 5)。如果交叉后新個體適應(yīng)度值變小,則用它代替原個體,否則原個體保持不變。
4)變異算子設(shè)計 為改善新算法的局部搜索能力,挖掘個體粒子的多樣性,混合算法在交叉算子后面增加了變異操作,采用個體內(nèi)部2位互換方法,首先隨機選擇變異位置互換,假設(shè)選擇的變異位置為5和9,變異操作如(9 4 1 6 3 7 2 10 8 5)變異成(9 4 1 6 8 7 2 10 3 5)。如果變異后個體適應(yīng)度值變小,則更新原個體,否則原個體保持不變。
圖4 混合粒子群算法流程圖
3.2 算法流程
混合粒子群算法流程圖如圖4所示。具體步驟為:1)初始化種群中粒子的隨機位置和個體數(shù)目。2)適應(yīng)度值計算。計算粒子群個體的適應(yīng)度值即焊接完所有焊點所運動的總路徑長度。總路徑長度越小的粒子對應(yīng)的適應(yīng)度值越大,粒子越優(yōu)秀。3)更新粒子。根據(jù)粒子適應(yīng)度值更新個體最優(yōu)粒子和群體最優(yōu)粒子。4)個體最優(yōu)交叉。把個體和個體最優(yōu)粒子進行交叉得到新粒子,如果新粒子的適應(yīng)變大,則接受變異,否則不接受變異。5)群體最優(yōu)交叉。把個體同群體最優(yōu)粒子進行交叉得到新粒子,如果新粒子的適應(yīng)變大,則接受變異,否則不接受變異。6)變異操作。對所得到的新個體采用保留優(yōu)秀個體策略,變異之后適應(yīng)度變大則接受變異,否則不接受。7)達到最大迭代次數(shù)程序結(jié)束,輸出結(jié)果;否則,返回步驟2),繼續(xù)執(zhí)行。
在Matlab中分別編寫優(yōu)化機器人焊接路徑的遺傳算法程序和混合粒子群算法程序。遺傳算法中迭代次數(shù)取500次,種群大小取1000,交叉概率取0.9,變異概率取0.05;混合粒子群算法程序中迭代次數(shù)取500次,種群大小取1000,慣性常數(shù)隨著迭代次數(shù)的增加,由0.9線性遞減到0.4,取加速度因子η1和η2均為2,共有28個焊點,如圖5所示。
由于上述2種算法都為隨機搜索算法,不可能每次運行得到的結(jié)果都一樣,為了保證算法的可比較性,將每種算法分別運行20次,取平均值,并且分別取里面適應(yīng)度值最小的那組仿真結(jié)果作為各自最終路徑優(yōu)化的結(jié)果,如表1所示。
圖5 焊點平面分布圖
表1 不同算法在路徑優(yōu)化中的結(jié)果對比
圖6 混合粒子算法路徑優(yōu)化和優(yōu)化過程圖
圖7 遺傳算法路徑優(yōu)化和優(yōu)化過程圖
混合粒子群算法優(yōu)化的路徑及適應(yīng)度值如圖6所示,由圖6 b可知:算法進化到80代左右,適應(yīng)度值達到最小并不再變化,得到全局最優(yōu)解,焊接最優(yōu)順序如圖6 a所示(從焊點23開始沿著箭頭順序焊接),總路程為4343.6004mm。遺傳粒子群算法優(yōu)化的路徑及適應(yīng)度值如圖7所示,由圖7b可知:算法進化到100代左右,適應(yīng)度值趨于穩(wěn)定,最優(yōu)路徑如圖7 a所示(從焊點12沿著箭頭順序焊接),總路程為4773.0459mm。
由仿真分析可知:混合粒子群算法在解決機器人路徑優(yōu)化問題上,克服了遺傳算法收斂慢,尋優(yōu)能力不強等不足,優(yōu)化所得到的最優(yōu)路徑和時間比遺傳算法的更短,提高了優(yōu)化效率。
本文中提出一種解決機器人路徑優(yōu)化旅行商問題的智能算法——混合粒子群算法,它引入遺傳算法中交叉和變異操作,通過粒子與個體極值和種群極值的交叉以及粒子自身變異的方式來搜索最優(yōu)解。將遺傳算法和混合粒子群算法分別用于求解前地板線補焊工位上機器人的焊接路徑,并在Matlab上仿真。仿真結(jié)果表明:混合粒子群算法比遺傳算法在優(yōu)化機器人焊接路徑上有更大的優(yōu)勢,得到的焊接路徑更好,速度更快。由于混合粒子群算法具有更好的全局搜索能力和收斂效果,故其在縮短機器人焊接時間、提高生產(chǎn)率、節(jié)約成本方面取得的效果更明顯。
[1]晁永生,劉江海.白車身焊接機器人加工路徑優(yōu)化和仿真[J].中國機械工程,2010,21(4):442-445.
[2]趙碩.多機器人協(xié)同的焊接路徑規(guī)劃研究[D].合肥:合肥工業(yè)大學(xué),2015.
[3]宋林森,杜紫薇,郭好杰.汽車白車身焊接機器人焊接路徑優(yōu)化技術(shù)研究[J].制造業(yè)自動化,2011,33(9):63-67.
[4]王學(xué)武,時應(yīng)盼.基于分區(qū)粒子群算法的焊接機器人路徑規(guī)劃[J].華東理工大學(xué)學(xué)報,2011(4):639-645.
[5]朱瑩瑩,王宇嘉.求解復(fù)雜旅行商問題的混合粒子群算法[J].輕工機械,2015(4):43-43.
[6]郁磊,史峰,王輝.MATLAB智能算法[M].北京:北京航空航天大學(xué)出版社,2015:144-145.
Path Optimization of Body-in-white Welding Robot Based on Hybrid PSO Algorithm
Zhou Hongxun,Chen Junbao,Wang Shenghuai,Chen Yurong
(School of Mechanical Engineering,Hubei University of Automotive Technology,Shiyan 442002,China)
A new hybrid particle swarm intelligence algorithm was presented based on the particle swarm optimization(PSO)algorithm and genetic algorithm.Taking the welding station robot path plan?ning of the first floor line for a car as an example,the hybrid particle swarm optimization algorithm and genetic algorithm were respectively adopted to solve for the solder welding sequence.The simulation op?timization results of the two algorithms in Matlab show that the hybrid PSO algorithm is more effective to solve the problem of the welding robot path optimization.
body-in-white;welding robot;hybrid PSO algorithm;path optimization
TP301.6
:A
:1008-5483(2016)04-0043-04
10.3969/j.issn.1008-5483.2016.04.010
2016-07-11
國家自然科學(xué)基金項目(51275159,51475150);湖北省自然科學(xué)基金項目(2013CFB045);
湖北省教育廳科學(xué)技術(shù)研究重點項目(D20141802)
周紅勛(1986-),男,湖北黃岡人,碩士生,從事白車身焊接機器人路徑優(yōu)化研究。E-mail:1069706661@qq.com