徐達 陶長城
摘要:隨著企業(yè)自動化程度的不斷提高,工業(yè)機器人路徑規(guī)劃問題逐漸受到重視。目前路徑規(guī)劃問題主要依靠仿真人員的工作經(jīng)驗,效率低且結(jié)果不一定最優(yōu)。將焊點路徑視為經(jīng)典的TSP問題,提出利用蟻群算法與遺傳算法相結(jié)合的方法得出一條較為合理的焊接路徑,并應(yīng)用于某實際項目中驗證其可行性。這降低了前期仿真較為繁雜的重復(fù)調(diào)試路徑工作,為實際仿真工作提供一種較為有效的處理方案,縮短焊接時間,提升了6%的工作效率。
關(guān)鍵詞:工業(yè)機器人;焊接路徑;蟻群算法;遺傳算法;效率
中圖分類號:TG409 文獻標(biāo)志碼:A 文章編號:1001-2303(2020)12-0037-06
DOI:10.7512/j.issn.1001-2303.2020.12.09
0 前言
隨著工業(yè)機器人在車身焊裝線上的廣泛應(yīng)用,其工作效率越來越受到關(guān)注[1]。工業(yè)機器人的路徑規(guī)劃是否合理是影響其工作效率的一個非常重要的因素。若能在保證焊接質(zhì)量的情況下進一步提高焊接效率,可以有效地降低生產(chǎn)成本。在由多個工位構(gòu)成的自動生產(chǎn)線中,若某一個工位工作時間延長,會導(dǎo)致后續(xù)每個工位的工作時間滯后,降低生產(chǎn)效率的同時也增加了車間的生產(chǎn)成本[2]。僅僅依靠仿真人員的工作經(jīng)驗來規(guī)劃路徑往往需要多次重復(fù)工作來調(diào)試路徑。
焊點路徑規(guī)劃可視為旅行商問題,針對這一課題一些學(xué)者提出了解決方案,M. Dorigo提出了蟻群算法[3],通過一種概率型算法來計算最短路徑,John holland提出的遺傳算法[4]是一種基于達爾文進化論的計算模型。
文中以汽車焊接生產(chǎn)線中的部分機器人焊接過程作為研究對象,通過蟻群算法進行路徑規(guī)劃后,再通過遺傳算法計算焊點之間的過渡路徑,并通過ROBCAD仿真其焊接過程。若在仿真過程中出現(xiàn)新的干涉問題,則進一步對實際問題進行解決并確立最終的規(guī)劃方案。
1 路徑規(guī)劃算法與數(shù)學(xué)模型
焊點的集合為C=[C1;C2;……;Cn],其中C1至Cn均為1×3的矩陣,分別代表了x、y、z軸焊點的坐標(biāo),焊點i與焊點j之間的距離設(shè)為Dij:
式中 i,j滿足條件1≤i,j≤n。
1.1 蟻群算法
蟻群算法即通過模擬蟻群尋找食物的過程來尋找最短路徑。在覓食過程中,蟻群整體的行動會逐漸趨向較短的路程,在蟻群中有信息的傳遞,通過信息素的釋放,蟻群的運動會趨向信息素濃度高的路徑,將蟻群整體引向更短的路徑行動[5]。
pkij為螞蟻k從城市i前往城市j的概率,其計算公式為:
式中 α為信息啟發(fā)因子;β為期望啟發(fā)因子;τij(t)為城市i與城市j在t時刻路徑上的信息素含量;ηik(t)為從城市i到城市j的期望程度;tabuk記錄了第k只螞蟻在探索路徑時已經(jīng)走過的城市,隨著探索的進程,記錄的城市數(shù)量不斷增加,tabuk可避免螞蟻在路徑探索時重復(fù)路徑點。其中值得注意的是期望程度函數(shù)ηik(t),在計算過程中取值為Dij的倒數(shù),則在計算距離矩陣時,當(dāng)訪問城市i與訪問城市j取同一點時,不能通過距離計算記錄為0而是賦予Dij一個極小值,避免計算出現(xiàn)錯誤。
其次是各個城市路徑上的信息素含量,為了避免在路徑規(guī)劃中出現(xiàn)局部最優(yōu)的情況,在探索過程中要時刻更新路徑上的信息素含量:
為了讓信息素含量不斷更新,設(shè)置ρ為信息揮發(fā)因子,則1-ρ為信息素殘留因子,同時設(shè)置一個信息素增量Q,一般來說Q為固定值。
蟻群算法的基本流程如圖1所示。
1.2 遺傳算法
遺傳算法是通過模擬達爾文的遺傳選擇和自然淘汰的生物學(xué)知識來進行計算的數(shù)學(xué)模型,在算法中將求解過程轉(zhuǎn)化為生物染色體的基因交叉、變異過程。通過對每個個體的評價及其適應(yīng)度來參與下一代的遺傳,適應(yīng)度低的不斷淘汰,新的個體形成新的種群。在文中的算法中主要通過三種方式對初代種群進行遺傳選擇,符合條件的輸出結(jié)果即適應(yīng)度最大的結(jié)果[6]。
(1)主要目標(biāo)為距離,則選擇一個較大的數(shù)來減去該段距離記為該段染色體的適應(yīng)度,所有適應(yīng)度的總和記為分母,個體適應(yīng)度記為分子,即可求出每個個體的相對適應(yīng)度,即每個個體遺傳到下一代的概率。在計算中隨機生成一個0~1之間的數(shù),該隨機數(shù)出現(xiàn)在某概率區(qū)域的次數(shù)代表該個體被選中的次數(shù)。
(2)交叉運算。在計算中初始設(shè)定一交叉概率pc,取值范圍為0.4~1。以概率的形式采用單點交叉的方法,文中每個個體有10個染色體,取隨機數(shù)x處于0~1之間,若x<pc,則發(fā)生交叉變異,此時隨機生成一個0~10之間的整數(shù)c,c決定了發(fā)生交叉變異的點,將兩端基因在c處進行交叉互換。
(3)變異運算。在計算中設(shè)定變異系數(shù)pm,取值范圍為0.001~0.1,對個體的某一個基因進行變異,取隨機數(shù)x處于0~1之間,若x<pm,則發(fā)生變異,同樣生成一個0~10之間的整數(shù)m,m決定了基因中發(fā)生變異的點。
1.3 避障模型與避障計算方法
通過柵格法建立障礙物模型,由于柵格法建立僅需要障礙物邊界點的坐標(biāo),正好為后續(xù)計算路徑與障礙物是否相交提供便利。
通過向量判別的方法來計算兩線段是否相交,即向量叉乘:
在向量叉乘的計算中,若將叉乘結(jié)果小于0定為向量b在向量a的順時針方向;那么相對應(yīng)的將結(jié)果小于0的判定為向量b在向量a的負方向。
如圖2中的兩個線段AB與CD,為了證明AB與CD相交需要滿足兩個條件:(1)點C與點D分別在線段AB兩側(cè);(2)點A與點B在線段CD兩側(cè)。
假設(shè)A、B、C、D四點坐標(biāo)為(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),為了滿足條件需要計算AD×AC與BC×BD是否同時小于0,若都滿足向量叉乘結(jié)果小于0則證明兩條線段相交。上文中提到了柵格法,在檢測過程中,路徑為其中一條線段,則柵格的邊界為另一條線段,以此來對路徑進行避障處理。
文中由于已知焊點的各個坐標(biāo),所以采用蟻群算法來計算基礎(chǔ)路徑,通過計算兩焊點間距離來確定其被選擇概率的大小,從而規(guī)劃基礎(chǔ)的焊接路徑。而在細節(jié)之處,例如有焊點分布在夾具兩側(cè),焊槍需要越過夾緊定位,將采用遺傳算法的方式,這是因為過渡路徑并無一定要到達的點位坐標(biāo),故采用隨機生成矩陣的方式來通過遺傳選擇篩選出過渡路徑的結(jié)果,其中對夾具部分進行了模型簡化,通過柵格法簡單建立夾具模型并將其視為路徑上的障礙物。文中后續(xù)將對兩種算法結(jié)合后計算的路徑進行分析,并在仿真中與計算前的路徑相比較,比較的參數(shù)主要為焊接時間,并保證在焊接作業(yè)時工業(yè)機器人6軸均不出現(xiàn)突變的情況。
2 實例應(yīng)用計算
以某項目汽車前圍上部內(nèi)板焊接總成為例,如圖3所示,選取其中一把焊槍在焊接工作中所要完成的54個焊點進行計算分析。
2.1 建立模型
將在CATIA中建立的夾具模型與工件模型并導(dǎo)入ROBCAD中,導(dǎo)入機器人與焊槍的文件,為后續(xù)仿真工作做好基礎(chǔ)準(zhǔn)備。仿真模型建立如圖4所示。
TCP定在焊槍的靜電臂處,如圖5所示。選用C型焊槍進行焊接,因為C型焊槍適用于點焊,并且在焊接過程中應(yīng)讓兩電極臂與焊接平面垂直,因此選擇C型焊槍。
在仿真模型后建立合適的坐標(biāo)系,記錄54個焊點的坐標(biāo)用于后續(xù)的算法計算對路徑進行基礎(chǔ)規(guī)劃。
2.2 路徑初始規(guī)劃
經(jīng)過多次的參數(shù)修改,最終選擇了一組效果較好的參數(shù):m=75,α=1,β=5,ρ=0.2,Ncmax=100。收斂速度適中,不易于陷入局部最優(yōu)解的結(jié)果,并且蟻群數(shù)量不至于過大或過?。ㄏ伻簲?shù)量過小會導(dǎo)致探索時漏掉未搜索路徑,而蟻群數(shù)量過大,搜索能力加強的同時會增加計算量)。此時的計算速度較快,且距離數(shù)值穩(wěn)定在一個較小范圍內(nèi)。收斂軌跡如圖6所示。
在基礎(chǔ)路徑的計算中,由于焊點坐標(biāo)均已知,所以采用蟻群算法重復(fù)計算每兩個焊點之間的距離,將距離的倒數(shù)記為該條路徑被選擇的概率,因此距離越短被選擇的概率越大。由于信息素的設(shè)置對計算機制起到了反饋作用,引導(dǎo)后續(xù)的蟻群更傾向這條較短的路徑。從初始焊點開始,通過兩焊點之間的選擇概率大小決定下一個焊點,兩兩相互連接從而形成了圖7中閉環(huán)的基礎(chǔ)路徑,這樣得出的路徑與之前規(guī)劃的路徑相比較更具有科學(xué)依據(jù),并且通過計算提升路徑規(guī)劃效率,避免了重復(fù)制作基礎(chǔ)路徑的繁雜流程。
如圖7所示,優(yōu)化后的基礎(chǔ)路徑的總長度為4 095.87 mm,由于焊點41與焊點47在路徑中的距離最長,將其定位為焊接路徑的起點和終點。后續(xù)通過對仿真的具體實例來判定優(yōu)化計算后的路徑是否達到了縮短總焊接時間的效果。
3 ROBCAD仿真驗證與結(jié)果分析
基于上述計算所得的基礎(chǔ)路徑,通過ROBCAD仿真軟件進行實際校核,并與仿真人員前期規(guī)劃路徑進行對比。
3.1 初期仿真路徑
通過Path Editor規(guī)劃焊點路徑,并在部分出槍位置添加過渡點,其中仿真人員前期依靠工作經(jīng)驗規(guī)劃的路徑如圖8所示,主要思路是在焊接過程中減少進槍出槍的動作,避免浪費時間,在一次進槍、一次出槍中,盡量焊接完成該區(qū)域內(nèi)的所有焊點。出槍后尋找最近的區(qū)域進行下一次進槍焊接。
3.2 計算后仿真路徑處理
計算得到基礎(chǔ)路徑后,仍要考慮實際焊接過程中所要碰到的干涉問題。由于焊接時不僅需要處理工件處的干涉問題,同樣也要考慮焊接過程中機器人與夾具的干涉問題,焊點常常分布于夾緊定位兩側(cè),在焊接過程中焊槍需要繞開這些支座以及連接塊與定位塊[7]。
文中采用柵格法的方法,利用遺傳算法對過渡路徑進行計算。通過隨機生成矩陣的方式,只限定起點坐標(biāo)與終點坐標(biāo),中間的路徑點隨機生成但是要滿足行動路徑繞過柵格即障礙物這個條件。在迭代的過程中不斷選取適應(yīng)度較高的路徑點,最后得出過渡路徑。
在計算中給出的路徑如圖9所示,此處明顯需要進槍出槍動作兩次,過于浪費時間,為了在不與計算路徑有過多差異的情況下減少進槍出槍的次數(shù),將4個焊點的路徑重新分配,如圖10所示。
在焊點路徑變化不大的情況下,減少一次進槍動作。同時考慮到定位夾具在z軸方向的距離遠大于y軸方向的距離,所以在過渡路徑的規(guī)劃中,選擇從z方向越過定位夾具,如圖11所示。
在過渡路徑中,盡量讓機器人走一個較為平滑的曲線,原因是如果機器人運動不平滑,可能會造成機器人關(guān)節(jié)的沖擊與震動,加快機器人傳動元件的磨損,從而影響機器人的使用壽命,并且在焊接路徑中可能會造成某個軸突變的情況[8]。
對夾具的夾緊塊連接塊進行柵格法簡要建模,利用遺傳算法計算過渡路徑并擬合一條較為平滑的曲線。由于過渡路徑除了將兩焊點視為路徑的起點和終點外,其他的中途路徑點無法確定,故采用隨機生成矩陣的方式來通過遺傳選擇篩選出過渡路徑的結(jié)果,其中對夾具模型的簡化以及計算擬合后的過渡路徑如圖12所示。
通過這種方法,為焊接機器人兩焊點間的過渡路徑設(shè)計提供一種合理有效的方法,避免運動過程中六軸機器人某一軸突變等問題。
3.3 路徑對比與計算結(jié)果分析
調(diào)整每個焊點的坐標(biāo)系后,制作焊接路徑,其中包括之前計算的過渡路徑。制作完成后進行測試,查看是否有焊槍各周突變的情況。
計算后的焊接路徑如圖13所示,將路徑中最長距離的兩點定為起點和終點,通過制作過渡點完成整條焊接路徑并記錄兩種路徑所需焊接時間。
其中方案1為仿真人員經(jīng)驗規(guī)劃路徑,方案2為計算規(guī)劃路徑,分別如圖14、圖15所示,在焊接過程中機器人6軸均未到達極限,從時間上來說方案2明顯優(yōu)于方案1,將焊接時間由3'47''縮短至3'33''左右。通過以上方法為機器人焊接路徑提供了一種較為有效的探尋方法,為仿真人員前期工作提供了便利,有效減少了重復(fù)的仿真工作量,對仿真工作效率具有一定的改善。
4 結(jié)論
通過ROBCAD仿真軟件,建立了汽車前圍上部內(nèi)板焊接總成的仿真模型,對焊接生產(chǎn)進行建模、仿真以及路徑優(yōu)化,采用遺傳算法與蟻群算法相結(jié)合的方法規(guī)劃基礎(chǔ)路徑,同時在細節(jié)干涉處考慮通過柵格法來建立模型,并通過遺傳算法規(guī)劃焊接作業(yè)中的過渡路徑。通過實際項目案例來解決焊接機器人在工作過程中的干涉問題以及可達性問題,通過科學(xué)有效的算法提出一種新的方案來探尋焊接機器人工作路徑,并且驗證了方案的可行性、實用性,將焊接時間從初始方案的3'47''縮短至3'33'',與優(yōu)化前的焊接方案相比提升了6%的生產(chǎn)效率。兩個路徑計算程序在50焊點以內(nèi)計算用時一共為45~50 s。隨著點數(shù)的增加,計算用時會小幅度增加,較為有效地減少了仿真人員前期的工作量以及重復(fù)的部分仿真過程。
參考文獻:
[1] 林巨廣,崔鵬,王健強. 基于ROBCAD的白車身焊裝自動線工藝規(guī)劃技術(shù)研究[J]. 合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2009,32(9):1365-1369.
[2] 許俊芳,敖銀輝. ROBCAD仿真技術(shù)在車身側(cè)圍補焊生產(chǎn)線的應(yīng)用[J]. 組合機床與自動化加工技術(shù),2017(6):118-121.
[3] 董詩繪. 基于ROBCAD工業(yè)機器人規(guī)劃路徑仿真的實現(xiàn)[D]. 內(nèi)蒙古:內(nèi)蒙古大學(xué),2014.
[4] 萬傳恒. 六自由度工業(yè)機器人軌跡規(guī)劃算法研究[D]. 廣東:華南理工大學(xué),2012.
[5] 張曉莉,楊亞新,謝永成. 改進的蟻群算法在機器人路徑規(guī)劃上的應(yīng)用[J]. 計算機工程與應(yīng)用,2020,56(2):29-34.
[6] 雷超帆. 基于改進蟻群算法的六自由度機械臂避障路徑規(guī)劃[D]. 河南:鄭州大學(xué),2019.
[7] 張卓. 白車身點焊機器人路徑規(guī)劃與仿真[D]. 北京:北京林業(yè)大學(xué),2019.
[8] 徐小劍. 汽車白車身車門焊裝線設(shè)計分析及機器人仿真關(guān)鍵技術(shù)研究[D]. 上海:上海工程技術(shù)大學(xué),2014.
收稿日期:2020-08-27
作者簡介:徐 達(1995— ),男,在讀碩士,主要從事汽車機器人焊接技術(shù)的研究。E-mail:751681017@qq.com。