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