湯 彬, 王學(xué)武, 薛立卡, 顧幸生
(華東理工大學(xué)化工過程先進(jìn)控制和優(yōu)化技術(shù)教育部重點實驗室,上海 200237)
?
雙焊接機(jī)器人避障路徑規(guī)劃
湯 彬, 王學(xué)武, 薛立卡, 顧幸生
(華東理工大學(xué)化工過程先進(jìn)控制和優(yōu)化技術(shù)教育部重點實驗室,上海 200237)
針對白車身雙機(jī)器人同步焊接路徑規(guī)劃問題,采用柵格法建立雙機(jī)器人同步焊接模型。首先通過改進(jìn)蟻群算法和粒子群算法實現(xiàn)焊接機(jī)器人與工件之間的避障;其次通過C空間法實現(xiàn)兩個焊接機(jī)器人無碰撞,求解出局部和全局最優(yōu)焊接路徑較好的近似解,并與標(biāo)準(zhǔn)蟻群和粒子群算法進(jìn)行仿真對比實驗。仿真結(jié)果表明,采用改進(jìn)蟻群算法和帶有交叉因子的粒子群算法,收斂速度較快,較其他算法更能縮短焊接工時。仿真結(jié)果驗證了笛卡爾空間和C空間結(jié)合路徑規(guī)劃方法的可行性,對于雙焊接機(jī)器人的路徑規(guī)劃具有指導(dǎo)意義。
雙焊接機(jī)器人; 避障; 路徑規(guī)劃; C空間
近年來,機(jī)器人廣泛應(yīng)用于工業(yè)生產(chǎn)、軍事活動、空間探索等過程中。然而,在倡導(dǎo)高效的今天,單機(jī)器人系統(tǒng)由于不能快速完成一些如白車身焊接的復(fù)雜任務(wù),促使雙機(jī)器人焊接系統(tǒng)迅速發(fā)展。迄今為止,已經(jīng)有許多專家學(xué)者提出了一些有效的雙機(jī)器人協(xié)調(diào)焊接策略。文獻(xiàn)[1]根據(jù)已知的主機(jī)器人路徑獲得從機(jī)器人協(xié)調(diào)鏡像運(yùn)動路徑,并給出了從機(jī)器人協(xié)調(diào)鏡像運(yùn)動軌跡生成的流程圖。文獻(xiàn)[2]針對雙機(jī)器人變姿態(tài)協(xié)調(diào)跟隨運(yùn)動路徑生成方法,提出了從機(jī)器人變姿態(tài)協(xié)調(diào)跟隨運(yùn)動路徑離線生成的更換工具坐標(biāo)系方法,給出了雙機(jī)器人協(xié)調(diào)跟隨運(yùn)動的運(yùn)動學(xué)約束分析,描述了變姿態(tài)協(xié)調(diào)跟隨運(yùn)動中從機(jī)器人工具末端路徑生成的方法和步驟。文獻(xiàn)[3]以雙機(jī)器人持工件焊接為例,提出了多機(jī)器人系統(tǒng)在焊接過程中的運(yùn)動協(xié)作和軌跡模仿的運(yùn)動學(xué)關(guān)系。文獻(xiàn)[4]針對兩臺機(jī)器人在同一工作區(qū)間進(jìn)行焊接工作可能發(fā)生碰撞的問題,提出了一種基于“假設(shè)修正”策略和遺傳算法的無碰撞路徑規(guī)劃方法。
雙機(jī)器人系統(tǒng)在現(xiàn)代制造業(yè)生產(chǎn)領(lǐng)域有著舉足輕重的地位,根據(jù)機(jī)器人焊接操作類型,雙機(jī)器人協(xié)調(diào)焊接可以大致分為兩類:一是一個機(jī)器人持工件,另一個機(jī)器人焊接;二是兩個機(jī)器人同時焊接一個固定的工件。其中第2類又可劃分為主從機(jī)器人跟隨或鏡像焊接和雙機(jī)器人分別焊接。本文主要解決第2類中雙機(jī)器人分別焊接的避障路徑規(guī)劃問題。
在雙機(jī)器人系統(tǒng)中,焊點的劃分至關(guān)重要,直接關(guān)系到雙機(jī)器人系統(tǒng)的效率。文獻(xiàn)[5]根據(jù)焊點與機(jī)器人間的距離將全部焊點劃分為兩部分,并對劃分好的焊點排序,使雙機(jī)器人路徑規(guī)劃轉(zhuǎn)換為兩個機(jī)器人各自的焊接路徑規(guī)劃,最終達(dá)到路徑長度最短的目標(biāo)。文獻(xiàn)[6]引入虛擬焊點將多旅行商問題轉(zhuǎn)化為單旅行商問題,通過虛擬焊點將整條路徑劃分為3個部分,并由兩個機(jī)器人完成焊接;并將多個算法進(jìn)行對比,解決雙機(jī)器人同步焊接問題,最終滿足焊接時間最短的優(yōu)化目的。文獻(xiàn)[7]描述了兩自由度雙機(jī)械臂的實時避障問題,在已知主機(jī)械臂路徑的前提下,由C空間法規(guī)劃出從機(jī)械臂的實時無碰撞路徑。文獻(xiàn)[8]將C空間與改進(jìn)的蟻群算法相結(jié)合,引入蟻群后退策略,提高蟻群的適應(yīng)度,實現(xiàn)機(jī)器人雙臂無碰撞路徑規(guī)劃。文獻(xiàn)[9]利用三維空間二維化策略,簡化C空間,減小機(jī)器人避障路徑規(guī)劃的計算量。然而,上述文獻(xiàn)并沒有對機(jī)器人之間的碰撞進(jìn)行深入研究。本文將雙機(jī)器人無碰撞路徑規(guī)劃和C空間相結(jié)合,尋求機(jī)器人與工件、機(jī)器人之間的無碰撞路徑,并通過仿真驗證方法的可行性。
雙焊接機(jī)器人路徑規(guī)劃是多旅行商問題,將MTSP 轉(zhuǎn)化為TSP的基本策略最早是由 Gorenstein[10]提出。其方法為設(shè)置一個虛擬焊點a′A′,a′A′的坐標(biāo)與主焊接機(jī)器人的起點坐標(biāo)AA相同,距離為無窮遠(yuǎn)。這樣就將雙機(jī)器人路徑規(guī)劃轉(zhuǎn)換為TSP問題:焊接機(jī)器人從AA點出發(fā),完成主機(jī)器人焊點的焊接后到達(dá)a′A′點,然后從a′A′點出發(fā)完成剩下焊點的焊接。然而,在工業(yè)應(yīng)用中,生產(chǎn)商在需要焊接路徑最短的同時還需要兩個機(jī)器人的焊接時間近似并最短。若采用虛擬焊點的方法,可能會出現(xiàn)一個機(jī)器人的路徑長度遠(yuǎn)大于另一個機(jī)器人的情況,此時不能保證兩個機(jī)器人的焊接路徑長度近似且焊接時間最短。因此,本文雙機(jī)器人路徑劃分標(biāo)準(zhǔn)為每一個機(jī)器人的路徑長度近似為總路徑長度的一半。這種焊點的劃分方法能滿足兩個機(jī)器人焊接時間相近,且總的焊接用時最短的要求。
本文從實際問題出發(fā),選取白車身的一部分作為工件,工件形狀及焊點位置如圖1所示,焊點坐標(biāo)如表1所示。
圖1 工件圖Fig.1 Workpiece
雙焊接機(jī)器人的路徑規(guī)劃要求焊槍遍歷所有的焊點且不重復(fù)。包含避障的雙機(jī)器人路徑規(guī)劃是指在運(yùn)動過程中機(jī)器人需要避開環(huán)境中的障礙物和另一個機(jī)器人,并且路徑長度最短,這是一個NP-hard問題。設(shè)焊點個數(shù)為n,焊接序列為π(i),(i=1,2,…,n),此時可以將路徑規(guī)劃問題視為一個有約束條件的TSP問題,焊接全局路徑規(guī)劃問題可以描述為
(1)
s.t. pathπ(i)π(i+1) is safe path
(i=1,2,…,n-1)
(2)
式中:pathπ(i)π(i+1)為局部的2個焊點π(i),π(i+1)之間的路徑,局部兩點間的路徑規(guī)劃稱為局部路徑規(guī)劃。本文假設(shè)焊槍末端在2個焊點之間的移動過程中依靠中間點以實現(xiàn)避障,中間點之間為直線運(yùn)動。
焊接局部路徑規(guī)劃中,設(shè)定焊槍的起始點為π(i),終止點為π(i+1),中間點為[X1,X2,…,XK]
表1 焊點坐標(biāo)
pathπ(i)π(i+1),由pathπ(i)X1,pathXkπ(i+1),pathXkXk+1,(k=1,2,…,K-1)組成,此時的路徑規(guī)劃可以描述為
minLπ(i),π(i+1)=dist(π(i),X1)+
(3)
(4)
其中:dist(X,Y)表示點X,Y之間的歐幾里得距離;XY是安全路徑,即焊接機(jī)器人從X點運(yùn)動到Y(jié)點的過程中與環(huán)境中的障礙物不發(fā)生碰撞。
2.1 局部搜索算法
2.1.1 自適應(yīng)信息素更新策略蟻群算法 局部搜索是從初始解出發(fā)搜索附近領(lǐng)域,若找到更優(yōu)解,則替換初始解。標(biāo)準(zhǔn)蟻群算法具有收斂速度快、魯棒性強(qiáng)等優(yōu)點。然而,蟻群算法由于收斂速度過快,極易陷入局部最優(yōu),產(chǎn)生“早熟”問題,因此,本文采用信息素自適應(yīng)更新策略的改進(jìn)蟻群算法解決蟻群算法的“早熟”問題[11]。信息素自適應(yīng)更新策略的基本思想是對信息素?fù)]發(fā)因子ρ作自適應(yīng)調(diào)節(jié)。當(dāng)ρ過小時,路徑上的信息素濃度高,算法全局搜索能力降低;當(dāng)ρ過大時,路徑上殘余的信息素過少,算法的收斂速度降低。為解決上述矛盾,采用式(5)對信息素?fù)]發(fā)因子作自適應(yīng)調(diào)節(jié):
(5)
式中的ε在[0,1]之間取值。初始迭代過程中,ρ較大,算法的收斂速度高;迭代后期,ρ較小,算法的全局搜索能力增強(qiáng)。
雙機(jī)器人兩點間局部避障路徑規(guī)劃基本流程如下:
Step1 初始化蟻群算法的參數(shù):路徑權(quán)重α為1,啟發(fā)性信息素權(quán)重β為11。迭代次數(shù)N設(shè)為500,螞蟻種群數(shù)量M設(shè)為50,初始化起始點與終止點位置坐標(biāo),初始化信息素矩陣τ,將信息素設(shè)定為0.5,信息素?fù)]發(fā)因子ρ根據(jù)式(5)在[0.5,0.9]自適應(yīng)調(diào)節(jié)。
Step2 進(jìn)入循環(huán)1,初始化迭代器n=1。
Step3 進(jìn)入循環(huán)2,初始化迭代器m=1。
Step4 進(jìn)入循環(huán)3,此循環(huán)為單個螞蟻的路徑搜索過程,清空禁忌表,將起始點加入禁忌表。
Step5 計算下一步各個節(jié)點的概率,此處將螞蟻鄰近節(jié)點的步長設(shè)為1,每個節(jié)點的下一步可選節(jié)點個數(shù)最多為6,當(dāng)鄰近節(jié)點為障礙物時則不能選擇,此時下一步可選節(jié)點個數(shù)小于6。依據(jù)輪盤賭選擇螞蟻要移動的下一個節(jié)點,將該節(jié)點加入禁忌表。
Step6 如果該螞蟻到達(dá)終止點或者陷入死胡同(當(dāng)下一個可選節(jié)點個數(shù)為0時,螞蟻陷入死胡同)則停止循環(huán)3,否則跳到Step5。
Step7 如果螞蟻到達(dá)終點,則根據(jù)式(3)、式(4)計算路徑長度L,根據(jù)式(5)計算螞蟻在路徑上留下的信息素Δτ。若m小于M,則m=m+1,跳到Step4,否則循環(huán)2結(jié)束。
Step9 選擇距離最短的路徑作為焊接機(jī)器人避障路徑。
2.1.2 算法驗證 為了驗證本文算法的有效性,采用4個TSP問題(eil51,pr76,Oliver30,st70)進(jìn)行測試,與標(biāo)準(zhǔn)蟻群算法進(jìn)行比較。兩種算法均迭代500次,獨立測試30次,最終結(jié)果取平均值。算法參數(shù)如表2所示,算法收斂性如圖2所示。
表2 改進(jìn)的蟻群算法參數(shù)
表2中信息素?fù)]發(fā)因子ρ在路徑搜索前期取值較大,可以保證改進(jìn)蟻群算法的快速收斂性;信息素?fù)]發(fā)因子ρ在路徑搜索后期取值較小,可以增強(qiáng)改進(jìn)蟻群算法的全局搜索能力,防止改進(jìn)蟻群算法陷入局部最優(yōu)。
從圖2的收斂曲線可以看出,相較于標(biāo)準(zhǔn)蟻群算法,當(dāng)信息素?fù)]發(fā)因子ρ作自適應(yīng)調(diào)節(jié)后,改進(jìn)蟻群算法在迭代初期仍能保持較快的收斂速度,迭代后期全局搜索能力強(qiáng),不會陷入局部最優(yōu)。
圖2 收斂曲線對比圖 Fig.2 Comparison of convergence curves with improved ant algorithm
2.2 全局搜索算法
2.2.1 帶交叉算子的粒子群算法 傳統(tǒng)的粒子群算法在后期容易陷入局部最優(yōu),針對這一問題,本文采用遺傳粒子群算法[12](GAPSO)。其基本思想為:在每一次迭代后,適應(yīng)度高于平均水平的粒子直接作為下一代繼續(xù)迭代;適應(yīng)度低于平均水平的粒子兩兩隨機(jī)配對,進(jìn)行交叉操作,其中適應(yīng)度高于平均水平的子代粒子作為下一代繼續(xù)迭代;每個粒子按照變異概率進(jìn)行變異。該算法的基本流程如下:
Step1 初始化粒子群速度和位置。
在江蘇濱海白首烏主要分布區(qū)、河北、山東、貴州等地收集濱海白首烏及其近緣蘿藦科藥用植物樣品54份,樣品均經(jīng)南京中醫(yī)藥大學(xué)谷巍教授鑒定,憑證樣本和數(shù)字影像信息保存于南京中醫(yī)藥大學(xué)藥學(xué)院標(biāo)本館,實驗材料信息及GenBank登錄號見表1。從GenBank數(shù)據(jù)庫中下載了濱海白首烏及近緣蘿藦科植物和何首烏的ITS2序列共47條,信息見表2。
Step2 計算每個粒子的適應(yīng)度值,根據(jù)各個粒子的pbest找出初始種群的gbest。
Step3 按照基本粒子群速度和位置公式更新整個種群的速度和位置。
Step4 計算每個粒子在當(dāng)前位置的適應(yīng)度值,并判斷是否高于平均水平。
Step5 將適應(yīng)度高于平均水平的粒子直接作為下一代繼續(xù)迭代。適應(yīng)度低于平均水平的粒子兩兩隨機(jī)配對,進(jìn)行交叉操作,若交叉變異后適應(yīng)度值高于交叉前,則作為下一代粒子繼續(xù)迭代。
Step6 每個粒子按照變異概率Pm進(jìn)行變異,若適應(yīng)度值優(yōu)于變異前,則保留,否則保留變異前的適應(yīng)度值。
Step7 判斷是否滿足終止條件。若不滿足終止條件,返回Step2。
該算法與傳統(tǒng)的粒子群算法相比主要區(qū)別是:粒子群在進(jìn)行速度和位置的更新后還要進(jìn)行交叉、變異操作。通過交叉、變異操作增加了粒子的多樣性,跳出局部最優(yōu),加強(qiáng)了對粒子間區(qū)域的搜索能力,加快了算法的收斂速度。
2.2.2 離散化帶交叉算子的粒子群算法 改進(jìn)后的算法可以完成對連續(xù)函數(shù)進(jìn)行路徑搜索,然而雙機(jī)器人避障路徑規(guī)劃是MTSP問題,其解空間為離散狀態(tài),因此需要將上述算法離散化。本文采用重新定義操作算子的方法對MPSO算法離散化。
Clerc[13]在求解TSP問題時提出了TSP-DPSO算法。該算法引入了交換子和交換序列的概念,交換子S=Swap(i,j)是指交換粒子第i個和第j個元素的位置,交換子集則是指一組以特定順序排列的交換子。粒子的速度則是指粒子為達(dá)到最優(yōu)解所需要對當(dāng)前位置執(zhí)行的基本交換序。基于此概念,本文引用TSP -DPSO 算法對粒子群中的加減法等操作算子重新定義,MPSO速度和位置更新公式如下:
vt+1=c1vt⊕c2(Pi,t-Xt)⊕c3(Pg,t-Xt)
(6)
Xt+1=Xt+vt+1
(7)
其中:Xt和vt分別為粒子的位置和速度,由0和1組成;c1,c2,c3是隨機(jī)生成的學(xué)習(xí)因子;Pi,t和Pg,t是粒子局部最優(yōu)和全局最優(yōu)值;速度與隨機(jī)數(shù)的數(shù)乘表示依隨機(jī)數(shù)概率保留原速度中的交換子,算子⊕為粒子速度間的異或操作。
2.2.3 算法有效性驗證 為了驗證該算法的有效性,本文采用4個TSP問題(eil51,pr76,Oliver30,st70)進(jìn)行測試,兩種算法均迭代500次,獨立測試30次,最終結(jié)果取平均值。算法參數(shù)如表3所示,算法收斂性如圖3所示。
表3 遺傳粒子群及傳統(tǒng)粒子群算法參數(shù)
圖3 收斂曲線對比圖Fig.3 Comparison of convergence curves with GAPSO
在參數(shù)設(shè)定中,變異因子Pm值過大,將會導(dǎo)致粒子群變化較大,收斂速度慢;變異因子Pm值過小,將會導(dǎo)致粒子變化效果不明顯,不能快速找到全局最優(yōu)。通過實驗發(fā)現(xiàn),Pm取值為0.35時,收斂效果較好,且可以快速找到全局最優(yōu)解。通過多次實驗對比發(fā)現(xiàn),交叉因子Pc設(shè)定較大時能保持粒子的多樣性,避免粒子陷入局部最優(yōu)。
通過圖3的收斂曲線可以看出,離散后的遺傳粒子群算法仍能保持較快的收斂速度。遺傳粒子群算法在迭代后期,全局收斂效果優(yōu)于傳統(tǒng)粒子群算法,不易陷入局部最優(yōu)。
3.1 三維柵格法建模
機(jī)器人路徑規(guī)劃首先要解決的問題是機(jī)器人工作環(huán)境建模。由于柵格法表示簡單,所生成的路徑點較為直觀且利于局部環(huán)境的判斷,因此選擇柵格法進(jìn)行環(huán)境建模。本文中工件是立體的,且采用6自由度焊接機(jī)器人,二維柵格法不能完整地表現(xiàn)出工件,因此將二維柵格法擴(kuò)展到三維空間,具體建模步驟如下:
(1) 將工件簡化為多個三角形的組合。為了方便對路徑的描述及規(guī)劃,將工件簡化。三角形在進(jìn)行柵格劃分時較為容易劃分出自由柵格和障礙柵格,因此采用三角形化簡工件。
(2) 建立柵格矩陣。柵格大小的劃分影響路徑規(guī)劃的精度。柵格劃分得越小,路徑搜索得越精確,但是耗時越長;反之柵格劃分得越大,搜索時間變短,但路徑搜索精確度低。綜合考慮搜索時間和路徑搜索精度,本文將整個空間劃分為邊長為5 mm的立方體,以各個立方體的中心作為搜索路徑的起點,把各個中心點向平面投影,若投影點在三角形之外,則表示該三角形不是該點的障礙物,若投影點在三角形內(nèi)部,且垂線段長度小于6 mm,則表示該三角形是該點的障礙物。
(3) 劃分自由柵格和障礙柵格。如果中心點存在障礙物,則表示該點為障礙點,否則表示該點為自由點,如圖4所示。
3.2 機(jī)器人與工件避障
3.2.1 局部避障路徑規(guī)劃 局部避障路徑規(guī)劃采用信息素自適應(yīng)更新策略蟻群算法。由2.2.1節(jié)的局部搜索算法可得雙機(jī)器人局部避障路徑。由改進(jìn)蟻群算法得到的路徑連線并不是一條直線而是一條折線,不能滿足焊接路徑最短的要求。為了實現(xiàn)焊接路徑最短這一目標(biāo),選取螞蟻走出的原始路徑中間的某一個點作為中間點,對局部路徑進(jìn)行二次優(yōu)化。以焊點1和焊點22為例,采用信息素自適應(yīng)更新策略蟻群算法進(jìn)行兩點間的局部路徑規(guī)劃,并進(jìn)行二次優(yōu)化,仿真結(jié)果如圖5 所示。
圖4 三維柵格法環(huán)境模型Fig.4 Three-dimensional environment model using grid method
圖5 局部避障(a)及二次優(yōu)化(b)路徑規(guī)劃 Fig.5 Local obstacle avoidance (a) and quadratic optimization (b) path planning
3.2.2 全局路徑規(guī)劃 全局路徑規(guī)劃采用帶交叉算子的粒子群算法。為彌補(bǔ)添加虛擬焊點的路徑劃分的缺陷,本文采用每一個機(jī)器人的路徑長度近似為總的路徑長度的一半的路徑劃分方法。雙機(jī)器人全局路徑規(guī)劃步驟如下:
Step1 初始化參數(shù)。迭代次數(shù)為2 000次,種群大小為500,學(xué)習(xí)因子c1=0.5,c2=0.7,交叉因子Pc=0.9,變異因子Pm=0.35,慣性權(quán)重ω隨著迭代次數(shù)增加而遞減,初始化粒子的位置和速度,求出每個粒子的適應(yīng)度函數(shù),將其作為個體的歷史最優(yōu),求出初始時刻的全局最優(yōu)。
Step2 根據(jù)局部避障得到的路徑矩陣更新粒子的個體最優(yōu)序列pbest和全局最優(yōu)序列g(shù)best,根據(jù)pbest,gbest更新粒子最優(yōu)序列,并更新各個粒子的適應(yīng)度函數(shù)。
Step3 判斷是否達(dá)到迭代次數(shù),若沒有則返回Step2。
Step4 得到雙焊接機(jī)器人各自的全局路徑。
最終全局路徑規(guī)劃得到的雙機(jī)器人路徑順序為:1-2-3-4-8-9-11-12-13-31-30-17-28-29-27-26和10-7-6-5-20-23-19-22-18-21-24-25-14-15-16,如圖6所示。
圖6 雙機(jī)器人(a),機(jī)器人1(b),機(jī)器人2(c)路徑規(guī)劃Fig.6 Dual-robot(a),robot1(b),robot2(c) path planning
通過以上步驟即可得到雙焊接機(jī)器人與工件的無碰撞路徑,并且滿足路徑長度最短的要求。雙機(jī)器人焊接系統(tǒng),不僅需要考慮焊接機(jī)器人與工件的避障,還需要考慮到機(jī)器人之間的避障。本文建立C空間對已得到的焊接機(jī)器人的路徑做出調(diào)整,設(shè)定機(jī)器人1為從機(jī)器人,機(jī)器人2為主機(jī)器人。C空間法將針對從機(jī)器人的路徑進(jìn)行局部調(diào)整使其滿足在焊接過程中不與主機(jī)器人發(fā)生碰撞。
3.3 機(jī)器人間避障路徑規(guī)劃
3.3.1 建立C空間 C空間又叫構(gòu)形空間(Configuration Space),由Lozano-Perez和Wesley[14-15]于1978年提出。C空間本質(zhì)為廣義空間,該廣義空間以一組用以確定運(yùn)動剛體位姿的參數(shù)作為坐標(biāo)變量。三維空間中的運(yùn)動剛體的C空間是一個六維的廣義空間,其中三維用以表示剛體的位置,另三維用以表示剛體的姿態(tài)。C空間的引入將運(yùn)動剛體在三維空間中的一個特定位姿轉(zhuǎn)化為C空間中的一個特定點[8]。由于運(yùn)動物體在任意時刻的位姿都是C空間中的一個點,因此焊接機(jī)器人的路徑規(guī)劃就由物理空間中的機(jī)器人實體轉(zhuǎn)換為C空間中一點的路徑規(guī)劃。C空間法使得避障路徑算法不再依賴于機(jī)器人的外形和尺寸,機(jī)械臂在焊接過程中的位姿由各個關(guān)節(jié)角唯一確定,只要空間建立得足夠精確,使用的避障算法合適就能夠確保規(guī)劃出機(jī)器人的無碰撞路徑。C空間法由于其對機(jī)器人外形和尺寸的簡化更適用于焊接機(jī)器人的避障路徑規(guī)劃。本文使用的焊接機(jī)器人為6自由度的工業(yè)機(jī)器人,由于超過三維后空間將變得不直觀,因此只取決定焊接機(jī)器人位置的前3個自由度建立C空間。
(8)
主機(jī)器人的路徑已知,則主機(jī)器人在任意時刻的位姿是確定的。為了滿足從機(jī)器人與主機(jī)器人無碰撞的要求,將主機(jī)器人在笛卡爾空間中的路徑視為從機(jī)器人C空間中障礙物的一部分。由于從機(jī)器人還需避開工件,使其滿足最終路徑與工件和主機(jī)器人均無碰撞的要求,因此將焊接工件和主機(jī)器人的路徑均作為從機(jī)器人的障礙物,并將其投影到C空間中,由此可以確定出從機(jī)器人在C空間的自由空間和障礙空間。建立從機(jī)器人C空間的目的就是為了方便地劃分出從機(jī)器人的障礙空間和自由空間,為了使得從機(jī)器人的障礙空間和自由空間便于蟻群行走,使用柵格法將C空間柵格化。通過上述方法可以將從機(jī)器人C空間分為障礙空間和自由空間。
3.3.2 從臂的避障路徑規(guī)劃 完成C空間柵格化后,根據(jù)信息素自適應(yīng)更新策略蟻群算法和帶交叉算子的粒子群算法在C空間的自由柵格中搜索機(jī)器人間無碰撞路徑??紤]到實際應(yīng)用中要求焊接機(jī)器人焊接時間盡量長且焊接中斷次數(shù)最少,從機(jī)器人最終的焊接路徑需要滿足搜索到的避障路徑長度最短且機(jī)械臂運(yùn)行平穩(wěn),即控制機(jī)械臂運(yùn)動時電機(jī)起、制動次數(shù)最少的要求。
C空間從臂避障路徑規(guī)劃的基本流程為:首先通過信息素自適應(yīng)更新策略蟻群算法得到從機(jī)器人的15個焊點中每2個焊點之間的路徑長度,生成焊點間的距離矩陣。然后采用帶交叉算子的粒子群算法,根據(jù)焊接距離最短原則,利用信息素自適應(yīng)更新策略,蟻群算法生成的焊點間的距離矩陣得到從機(jī)器人焊接路徑最短的焊點循序的排列,該排序滿足兩焊接機(jī)器人之間無碰撞且焊接機(jī)器人與工件之間無碰撞的要求,最后將最優(yōu)的焊點順序輸出。
最終得到最優(yōu)的焊點順序為10-7-6-5-20-23-19-22-18-21-24-25-14-15-16,與圖6結(jié)果相同。由于焊點在全局路徑規(guī)劃后生成的兩條路徑分布較遠(yuǎn),因此,在C空間中尋求機(jī)器人之間的無碰撞路徑時,最終生成的路徑與全局路徑相同。若全局路徑分布較為緊密或出現(xiàn)重合部分,則在C空間路徑規(guī)劃后,從機(jī)器人的最終路徑會有所改變。
利用路徑平均焊點劃分方法,采用柵格法建立基于信息素自適應(yīng)更新策略蟻群算法和帶交叉算子的粒子群算法的雙機(jī)器人焊接模型。將C空間和雙機(jī)器人路徑規(guī)劃結(jié)合,實現(xiàn)了機(jī)器人和工件以及機(jī)器人之間的避障。最終仿真求解局部和全局最優(yōu)焊接路徑的較好近似解。
[1] 歐陽帆,張鐵.雙機(jī)器人協(xié)調(diào)鏡像對稱運(yùn)動的路徑規(guī)劃[J].高技術(shù)通訊,2013,23(9):960-964.
[2] 張鐵,歐陽帆.雙機(jī)器人協(xié)調(diào)跟隨運(yùn)動的運(yùn)動學(xué)分析與路徑規(guī)劃[J].上海交通大學(xué)學(xué)報,2013,47(8):1251-1256.
[3] 張鐵,歐陽帆.雙機(jī)器人協(xié)調(diào)焊接任務(wù)規(guī)劃及仿真[J].焊接學(xué)報,2012,33(12):9-12.
[4] 張立棟,李亮玉.雙機(jī)器人松協(xié)調(diào)焊接過程無碰路徑規(guī)劃[J].焊接學(xué)報,2015,36(3):55-58.
[5] WANG Xuewu,SHI Yingpan,DING Dongyan,etal.Double global optimum genetic algorithm:Particle swarm optimization-based welding robot path planning[J].Engineering Optimization,2016,48(2):299-316.
[6] 王鄭拓,馮振禮,葉國云,等.基于人工蜂群算法的雙機(jī)器人路徑規(guī)劃研究[J].焊接學(xué)報,2015,36(2):97-100.
[7] 孫抗,黃獻(xiàn)龍.基于C空間方法的機(jī)械臂三維避碰路徑規(guī)劃[J].深空探測研究,2007,5(2):38-42.
[8] WANG Jianhui,GUO Min,LI Lin,etal.Collision-free path planning of dual-arm robots based on improved ant colony algorithm[C]//Chinese Control and Decision Conference (CCDC).Guilin:Control and Decision,2009:1438-1442.
[9] 黃一飛.空間機(jī)器人避障路徑規(guī)劃的C空間簡化方法[J].軟件導(dǎo)刊,2012(4):27-29.
[10] GORENSTEIN S.Printing press scheduling for multi-edition periodicals[J].Management Science,1970,16(6):373-383.
[11] 馮月華.一種求解 TSP 問題的改進(jìn)蟻群算法[J].理論與算法,2014(8):38-40.
[12] 劉凱,牛江川,申永軍.基于遺傳粒子群算法的堆垛機(jī)作業(yè)路徑優(yōu)化[J].石家莊鐵道大學(xué)學(xué)報(自然科學(xué)版),2016(2):67-71.
[13] CLERC M.Discrete Particle Swarm Optimization,Illustrated by the Traveling Salesman Problem[M].Berlin Heidelberg:Springer,2004:219-239.
[14] LOZANO-Pérez T.Automatic planning of manipulator transfer movements[J].IEEE Transactions on Systems,Man,and Cybernetics,1981,SMC-11(10):681-698.
[15] LOZANO-Pérez T.Spatial planning:A configuration space approach [J].IEEE Transactions on Computers,1983,C-32(2):108-120.
Dual-Welding Robots Collision-Free Path Planning
TANG Bin, WANG Xue-wu, XUE Li-ka, GU Xing-sheng
(Key Laboratory of Advanced Control and Optimization for Chemical Processes,Ministry of Education,East China University of Science and Technology,Shanghai 200237,China)
Aiming at the robot path planning problem in the synchronous welding of white car body,this paper proposes a grid method to establish the mathematical model of double synchronous welding robot.Firstly,an improved ant colony algorithm and a modified particle swarm optimization algorithm with crossover operator (MPSO) are made to realize the collision-free between welding robots.And then,the C space method is used to attain the collision-free between robots.Moreover,the better local and global paths are obtained and the comparing experiment is also made with standard ant colony algorithm and PSO algorithm.The result shows that the proposed MPSO has quicker convergence and shorter welding time.Finally,the simulations verify the feasibility of the proposed scheme for the dual-welding robots path plan.
dual-welding robots; collision-free; path planning; C space
1006-3080(2017)03-0417-08
10.14135/j.cnki.1006-3080.2017.03.019
2016-09-28
上海市自然科學(xué)基金(14ZR1409900);國家自然科學(xué)基金(61573144)
湯 彬(1992-),女,山東威海人,碩士生,研究方向為焊接自動化。E-mail:13162184898@163.com
王學(xué)武,E-mail:wangxuew@ecust.edu.cn
TP241.2 ; TP273
A