高 明,陸 穎
(1.江蘇 信息職業(yè)技術(shù)學(xué)院,江蘇 無(wú)錫 214000;2.江蘇 大學(xué),江蘇 鎮(zhèn)江 212000)
家用汽車(chē)引擎蓋及車(chē)身焊點(diǎn)眾多,焊點(diǎn)質(zhì)量及焊接效率對(duì)汽車(chē)質(zhì)量和生產(chǎn)效率具有至關(guān)重要的影響,當(dāng)前點(diǎn)焊機(jī)器人按照人工示教方式進(jìn)行焊接,對(duì)工程師個(gè)人經(jīng)驗(yàn)具有極大依賴(lài)性,因此研究焊接路徑的智能規(guī)劃方法意義重大[1]。
國(guó)內(nèi)外對(duì)焊接路徑規(guī)劃的研究熱點(diǎn)集中在智能算法求解上,主要包括對(duì)現(xiàn)有智能算法進(jìn)行改進(jìn)和多智能算法融合兩個(gè)方面,達(dá)到焊接路徑短、生產(chǎn)效率最高、焊接路徑平穩(wěn)等不同目標(biāo)。
文獻(xiàn)[2]使用變異的概率地圖規(guī)劃了多機(jī)械臂無(wú)碰路徑,為解決機(jī)械臂相互干涉提供了新方法;文獻(xiàn)[3]在規(guī)劃雙臂機(jī)器人裝配作業(yè)路徑時(shí),為降低復(fù)雜度,將軌跡分為相對(duì)軌跡和組裝軌跡分別進(jìn)行規(guī)劃;文獻(xiàn)[4]使用分區(qū)粒子群算法求解了大規(guī)模焊點(diǎn)路徑規(guī)劃問(wèn)題,優(yōu)點(diǎn)是解決了粒子群算法應(yīng)對(duì)大規(guī)模焊點(diǎn)時(shí)計(jì)算量大的問(wèn)題,缺點(diǎn)是分區(qū)無(wú)確定規(guī)則,隨機(jī)性大;文獻(xiàn)[5]使用離散萊維飛行粒子群算法規(guī)劃了汽車(chē)前輪擋板焊點(diǎn)路徑,解決了粒子群算法早熟的問(wèn)題,得到了較優(yōu)的焊接路徑。
這里以引擎蓋焊接路徑規(guī)劃為研究課題,建立了焊接路徑優(yōu)化模型,提出了自適應(yīng)混沌蟻群算法的求解方法。
在傳統(tǒng)蟻群算法基礎(chǔ)上,提出了局部信息素自適應(yīng)更新方法和全局信息素混沌擾動(dòng)更新方法,實(shí)現(xiàn)了引擎蓋焊接路徑最短的優(yōu)化目的。
用于執(zhí)行引擎蓋焊接任務(wù)的機(jī)械臂為IRB2600機(jī)械臂,此機(jī)械臂由6根連桿串聯(lián)鉸接而成,可用于焊接、涂膠、切割等,如圖1所示。
圖1 IRB2600機(jī)械臂模型Fig.1 IRB2600 Robotic Arm Model
表1 機(jī)械臂參數(shù)取值Tab.1 Parameters Value of Robotic Arm
則6 連桿齊次變換矩陣的連乘積即為機(jī)械臂運(yùn)動(dòng)學(xué)正解方程:
機(jī)械臂運(yùn)動(dòng)學(xué)逆解與正解過(guò)程恰好相反,逆解存在多解和奇異點(diǎn)的問(wèn)題,但是通過(guò)規(guī)避和添加輔助條件等方法可以解決,此非本文重點(diǎn),這里不再討論。
汽車(chē)引擎蓋的焊點(diǎn)大多分布在鈑金邊緣,呈不規(guī)則狀分布在三維空間中。引擎蓋焊點(diǎn)分布的二維投影圖,如圖2所示。圖中白色圓圈為焊點(diǎn),焊點(diǎn)旁數(shù)字為焊點(diǎn)編號(hào)。焊點(diǎn)路徑規(guī)劃的目標(biāo)為:設(shè)計(jì)一條合適的焊接路徑,要求完成所有焊接任務(wù)后焊接機(jī)械臂回到初始位置,且達(dá)到焊接路徑最短的優(yōu)化目標(biāo)。
圖2 引擎蓋焊點(diǎn)分布圖Fig.2 Engine Hood Welt Spot Distribution
焊接點(diǎn)路徑規(guī)劃類(lèi)似于旅行商問(wèn)題,焊接頭從初始位置出發(fā),遍歷所有焊點(diǎn)而后返回初始位置。記焊點(diǎn)集合為P={pi} ,i=1,2,…,n,pi為三維空間的焊點(diǎn),記其坐標(biāo)為pi=(xi,yi,zi),則焊接路徑長(zhǎng)度為:
式中:L—完成一次焊接周期的路徑長(zhǎng)度;‖ ‖—?dú)W氏距離。
式(3)中前半部分為遍歷所有焊點(diǎn)走過(guò)的路徑長(zhǎng)度,后半部分為最后一個(gè)焊點(diǎn)回到初始位置的路徑長(zhǎng)度。
引擎蓋焊接路徑規(guī)劃的目的是尋找使式(3)取值最小的焊接路徑,由此將焊接路徑規(guī)劃問(wèn)題轉(zhuǎn)化為優(yōu)化問(wèn)題。由于焊接點(diǎn)路徑規(guī)劃問(wèn)題類(lèi)似于旅行商問(wèn)題[7],因此使用蟻群算法求解此優(yōu)化問(wèn)題。
蟻群系統(tǒng)(Ant Colony System,ACS)相比于基本蟻群算法區(qū)別在于:
(1)行為選擇規(guī)則更加積極;
(2)信息素只在最優(yōu)路徑上揮發(fā)和釋放;
(3)螞蟻每經(jīng)過(guò)一段路徑就去掉此路徑上的部分信息素,增加其他路徑被選概率[8]。
使用螞蟻聚集程度衡量路徑多樣性和種群多樣性,螞蟻聚集程度越高則螞蟻分布越集中,此時(shí)路徑多樣性和種群多樣性差;螞蟻聚集程度越低則螞蟻分布越均勻,此時(shí)路徑多樣性和種群多樣性好。這里將螞蟻聚集度定義為:
式中:Sta—螞蟻聚集度;
r—以城市i為起點(diǎn)所有相連路徑的數(shù)量;
al—每條路徑上的螞蟻數(shù)量。
混沌映射具有遍歷性和類(lèi)隨機(jī)性[10],傳統(tǒng)的Tent映射遍歷性好,在(0,1)范圍內(nèi)分布較為均勻,但主要集中在(0.2,0.8)范圍內(nèi),為了解決這一問(wèn)題,使用隨機(jī)過(guò)程改進(jìn)Tent映射為:
取a=0.5、x1=0.32,將傳統(tǒng)Tent映射和改進(jìn)Tent映射分別迭代200次得數(shù)據(jù)序列,如圖3所示。
圖3 傳統(tǒng)Tent映射與改進(jìn)Tent映射Fig.3 Traditional Tent Mapping and Improved Tent Mapping
通過(guò)對(duì)比傳統(tǒng)Tent映射與改進(jìn)Tent映射方法,兩個(gè)混沌系統(tǒng)均具有遍歷性,但是改進(jìn)Tent映射的隨機(jī)性和遍歷性明顯好于傳統(tǒng)Tent映射。
信息素對(duì)蟻群算法的收斂和尋優(yōu)性能具有至關(guān)重要的影響,當(dāng)信息素集中時(shí),利于算法收斂而不利于跳出局部最優(yōu);當(dāng)信息素分散時(shí),利于算法大范圍尋優(yōu)而不利于算法收斂,因此算法的尋優(yōu)能力和收斂速度是相互矛盾的。為了平衡算法的尋優(yōu)能力和收斂速度,以螞蟻聚集度為參考或依據(jù),提出了局部信息素自適應(yīng)更新方法。
局部信息素自適應(yīng)更新方法只應(yīng)用于算法前期,當(dāng)螞蟻聚集度高時(shí),說(shuō)明螞蟻以城市i為起點(diǎn)時(shí)路徑集中在少數(shù)幾個(gè),路徑趨于收斂,此時(shí)應(yīng)降低這幾條路徑上的信息素,增加螞蟻選擇其他路徑的概率,從而增加路徑多樣性。當(dāng)螞蟻聚集度低時(shí),說(shuō)明螞蟻以城市i為起點(diǎn)時(shí)路徑較為分散,螞蟻選擇不同路徑的概率相差不大,算法收斂度低,此時(shí)應(yīng)該提高較優(yōu)路徑上的信息素濃度,提高算法收斂速度。基于以上分析,局部信息素自適應(yīng)更新方法為:
iter0—迭代次數(shù)閾值,當(dāng)?shù)螖?shù)小于閾值時(shí),局部信息素使用自適應(yīng)更新方法,為了平衡熟練速度和尋優(yōu)范圍;
當(dāng)?shù)螖?shù)大于閾值時(shí),局部信息素更新使用傳統(tǒng)更新方法,為了加快收斂速度。
式(11)中:S—上一個(gè)迭代周期中路徑ij上的螞蟻數(shù)量,Sta0—螞蟻聚集度閾值。
鑒于混沌系統(tǒng)的隨機(jī)性和遍歷性,算法前期在全局信息素更新中加入混沌擾動(dòng),可以使算法有效跳出局部最優(yōu),同時(shí)提高全局搜索能力,方法為:
式中:c—混沌系數(shù);xn—混沌變量。
分析式(12)可知,在算法前期,混沌的隨機(jī)性增加了信息素分布的多樣性和隨機(jī)性,從而增加了算法全局搜索能力和跳出局部最優(yōu)能力。
算法后期,為了使算法集中在最優(yōu)區(qū)域附近搜索,去除了混沌擾動(dòng),使算法更加專(zhuān)注于最優(yōu)區(qū)域附近搜索。
以蟻群算法為基礎(chǔ),結(jié)合局部信息素自適應(yīng)更新方法和全局信息素混沌擾動(dòng)方法,制定自適應(yīng)混沌蟻群算法流程,如圖4所示。
圖4 自適應(yīng)混沌蟻群算法流程Fig.4 Flow of Adaptive Chaos Ant Colony Algorithm
本節(jié)首先對(duì)自適應(yīng)混沌蟻群算法的性能進(jìn)行測(cè)試,然后使用自適應(yīng)混沌蟻群算法規(guī)劃引擎蓋焊點(diǎn)路徑。
在上文中對(duì)蟻群系統(tǒng)的改進(jìn)包括兩個(gè)方面:(1)局部信息素的螞蟻聚集度自適應(yīng)更新方法;(2)全局信息素的混沌擾動(dòng)更新方法。
為了驗(yàn)證每個(gè)改進(jìn)算子的效用,設(shè)計(jì)四種算法進(jìn)行性能比較,分別為:傳統(tǒng)蟻群系統(tǒng)算法,記為算法1;傳統(tǒng)蟻群系統(tǒng)算法加局部信息素自適應(yīng)更新方法,記為算法2;傳統(tǒng)蟻群系統(tǒng)算法加全局信息素混沌擾動(dòng)更新方法,記為算法3;自適應(yīng)混沌蟻群算法記為算法4。
分別使用四種算法對(duì)TSPLIB數(shù)據(jù)集中的kroB150測(cè)試集進(jìn)行仿真實(shí)驗(yàn),算法的參數(shù)設(shè)置為:信息素濃度因子α=1,啟發(fā)信息因子β=4,信息素?fù)]發(fā)系數(shù)ρ=0.4,局部信息素殘留因子ξ=0.1,隨機(jī)變量閾值q0=0.8,混沌系數(shù)c=0.1,迭代次數(shù)閾值iter0=20,螞蟻聚集度閾值Sta0=30,算法最大迭代次數(shù)為200次。四種算法對(duì)kroB150測(cè)試集均獨(dú)立運(yùn)行20次,各自的最優(yōu)結(jié)果隨迭代次數(shù)變化過(guò)程,如圖5所示。
圖5 不同算法的尋優(yōu)過(guò)程Fig.5 Optimizing Process of Different Algorithm
由圖5可知,相比于傳統(tǒng)蟻群系統(tǒng)算法,只加入一種改進(jìn)算子的算法2和算法3具有更優(yōu)的規(guī)劃結(jié)果,而加入兩種改進(jìn)算子的自適應(yīng)混沌粒子群算法具有最優(yōu)的規(guī)劃結(jié)果。
說(shuō)明局部信息素自適應(yīng)更新方法和全局信息素混沌擾動(dòng)更新方法對(duì)蟻群算法的提高均起到一定作用,且兩種改進(jìn)算子的疊加沒(méi)有出現(xiàn)相互抵消的現(xiàn)象,而是更大程度地提高了算法規(guī)劃性能,很好地平衡了算法收斂速度和尋優(yōu)能力之間地矛盾。
在引擎蓋上建立三維坐標(biāo)系,將焊點(diǎn)離散在三維坐標(biāo)系中,結(jié)果,如圖6所示。
圖6 焊點(diǎn)三維分布圖Fig.6 3 Dimension Histogram of Welding Spot
使用自適應(yīng)混沌蟻群算法對(duì)焊點(diǎn)路徑進(jìn)行規(guī)劃,目標(biāo)函數(shù)為式(3),算法參數(shù)設(shè)置與前文一致。
算法對(duì)焊點(diǎn)路徑規(guī)劃獨(dú)立運(yùn)行10次,選取最短路徑結(jié)果,如圖7所示。
圖7 焊點(diǎn)最優(yōu)路徑Fig.7 3 Optimal Path of Welding Spot
最優(yōu)焊接路徑的焊接順序?yàn)椋?-18-19-20-27-28-21-22-23-24-29-25-26-30-32-33-31-15-17-16-14-10-9-13-8-7-6-5-12-11-4-3-2-1。從焊點(diǎn)1出發(fā)遍歷所有焊點(diǎn)再回到焊點(diǎn)1的最短路徑長(zhǎng)度為6.2m,焊接路徑長(zhǎng)度隨算法迭代的變化過(guò)程,如圖8所示。
圖8 焊接路徑長(zhǎng)度變化曲線(xiàn)Fig.8 Welding Spot Path Length Changing Curve
由圖8可知,在算法前期,由于使用了局部信息素自適應(yīng)更新方法和全局信息素混沌擾動(dòng)更新方法,使得算法前期的收斂速度極快,在迭代次數(shù)閾值處,為了維持算法穩(wěn)定,收斂速度變緩,最終得到焊接最短路徑長(zhǎng)度為6.2m。路徑以引擎蓋對(duì)稱(chēng)軸為軸,呈現(xiàn)對(duì)稱(chēng)性。以焊接路徑為空間軌跡,使用機(jī)械臂運(yùn)動(dòng)學(xué)逆解求解機(jī)械臂的關(guān)節(jié)空間軌跡,未出現(xiàn)奇異點(diǎn)和不可到達(dá)點(diǎn),即IRB2600機(jī)械臂可以實(shí)現(xiàn)此焊接路徑。
研究了汽車(chē)引擎蓋焊接路徑規(guī)劃問(wèn)題,建立了焊接路徑優(yōu)化模型,提出了自適應(yīng)混沌蟻群算法的求解方法。經(jīng)實(shí)驗(yàn)驗(yàn)證,得出了以下結(jié)論:(1)局部信息素自適應(yīng)更新方法和全局信息素混沌擾動(dòng)更新方法均能夠提高蟻群算法性能,兩者的疊加可以更大程度提高算法性能,沒(méi)有出現(xiàn)相互抵消現(xiàn)象;(2)使用自適應(yīng)混沌蟻群算法規(guī)劃的焊接軌跡以引擎蓋對(duì)稱(chēng)軸為軸呈現(xiàn)對(duì)稱(chēng)性,實(shí)現(xiàn)了焊接路徑的最優(yōu)規(guī)劃。