湯 彬, 王學(xué)武, 薛立卡, 顧幸生
(華東理工大學(xué)化工過(guò)程先進(jìn)控制和優(yōu)化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,上海 200237)
?
雙焊接機(jī)器人避障路徑規(guī)劃
湯 彬, 王學(xué)武, 薛立卡, 顧幸生
(華東理工大學(xué)化工過(guò)程先進(jìn)控制和優(yōu)化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,上海 200237)
針對(duì)白車身雙機(jī)器人同步焊接路徑規(guī)劃問(wèn)題,采用柵格法建立雙機(jī)器人同步焊接模型。首先通過(guò)改進(jìn)蟻群算法和粒子群算法實(shí)現(xiàn)焊接機(jī)器人與工件之間的避障;其次通過(guò)C空間法實(shí)現(xiàn)兩個(gè)焊接機(jī)器人無(wú)碰撞,求解出局部和全局最優(yōu)焊接路徑較好的近似解,并與標(biāo)準(zhǔn)蟻群和粒子群算法進(jìn)行仿真對(duì)比實(shí)驗(yàn)。仿真結(jié)果表明,采用改進(jìn)蟻群算法和帶有交叉因子的粒子群算法,收斂速度較快,較其他算法更能縮短焊接工時(shí)。仿真結(jié)果驗(yàn)證了笛卡爾空間和C空間結(jié)合路徑規(guī)劃方法的可行性,對(duì)于雙焊接機(jī)器人的路徑規(guī)劃具有指導(dǎo)意義。
雙焊接機(jī)器人; 避障; 路徑規(guī)劃; C空間
近年來(lái),機(jī)器人廣泛應(yīng)用于工業(yè)生產(chǎn)、軍事活動(dòng)、空間探索等過(guò)程中。然而,在倡導(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)動(dòng)路徑,并給出了從機(jī)器人協(xié)調(diào)鏡像運(yùn)動(dòng)軌跡生成的流程圖。文獻(xiàn)[2]針對(duì)雙機(jī)器人變姿態(tài)協(xié)調(diào)跟隨運(yùn)動(dòng)路徑生成方法,提出了從機(jī)器人變姿態(tài)協(xié)調(diào)跟隨運(yùn)動(dòng)路徑離線生成的更換工具坐標(biāo)系方法,給出了雙機(jī)器人協(xié)調(diào)跟隨運(yùn)動(dòng)的運(yùn)動(dòng)學(xué)約束分析,描述了變姿態(tài)協(xié)調(diào)跟隨運(yùn)動(dòng)中從機(jī)器人工具末端路徑生成的方法和步驟。文獻(xiàn)[3]以雙機(jī)器人持工件焊接為例,提出了多機(jī)器人系統(tǒng)在焊接過(guò)程中的運(yùn)動(dòng)協(xié)作和軌跡模仿的運(yùn)動(dòng)學(xué)關(guān)系。文獻(xiàn)[4]針對(duì)兩臺(tái)機(jī)器人在同一工作區(qū)間進(jìn)行焊接工作可能發(fā)生碰撞的問(wèn)題,提出了一種基于“假設(shè)修正”策略和遺傳算法的無(wú)碰撞路徑規(guī)劃方法。
雙機(jī)器人系統(tǒng)在現(xiàn)代制造業(yè)生產(chǎn)領(lǐng)域有著舉足輕重的地位,根據(jù)機(jī)器人焊接操作類型,雙機(jī)器人協(xié)調(diào)焊接可以大致分為兩類:一是一個(gè)機(jī)器人持工件,另一個(gè)機(jī)器人焊接;二是兩個(gè)機(jī)器人同時(shí)焊接一個(gè)固定的工件。其中第2類又可劃分為主從機(jī)器人跟隨或鏡像焊接和雙機(jī)器人分別焊接。本文主要解決第2類中雙機(jī)器人分別焊接的避障路徑規(guī)劃問(wèn)題。
在雙機(jī)器人系統(tǒng)中,焊點(diǎn)的劃分至關(guān)重要,直接關(guān)系到雙機(jī)器人系統(tǒng)的效率。文獻(xiàn)[5]根據(jù)焊點(diǎn)與機(jī)器人間的距離將全部焊點(diǎn)劃分為兩部分,并對(duì)劃分好的焊點(diǎn)排序,使雙機(jī)器人路徑規(guī)劃轉(zhuǎn)換為兩個(gè)機(jī)器人各自的焊接路徑規(guī)劃,最終達(dá)到路徑長(zhǎng)度最短的目標(biāo)。文獻(xiàn)[6]引入虛擬焊點(diǎn)將多旅行商問(wèn)題轉(zhuǎn)化為單旅行商問(wèn)題,通過(guò)虛擬焊點(diǎn)將整條路徑劃分為3個(gè)部分,并由兩個(gè)機(jī)器人完成焊接;并將多個(gè)算法進(jìn)行對(duì)比,解決雙機(jī)器人同步焊接問(wèn)題,最終滿足焊接時(shí)間最短的優(yōu)化目的。文獻(xiàn)[7]描述了兩自由度雙機(jī)械臂的實(shí)時(shí)避障問(wèn)題,在已知主機(jī)械臂路徑的前提下,由C空間法規(guī)劃出從機(jī)械臂的實(shí)時(shí)無(wú)碰撞路徑。文獻(xiàn)[8]將C空間與改進(jìn)的蟻群算法相結(jié)合,引入蟻群后退策略,提高蟻群的適應(yīng)度,實(shí)現(xiàn)機(jī)器人雙臂無(wú)碰撞路徑規(guī)劃。文獻(xiàn)[9]利用三維空間二維化策略,簡(jiǎn)化C空間,減小機(jī)器人避障路徑規(guī)劃的計(jì)算量。然而,上述文獻(xiàn)并沒(méi)有對(duì)機(jī)器人之間的碰撞進(jìn)行深入研究。本文將雙機(jī)器人無(wú)碰撞路徑規(guī)劃和C空間相結(jié)合,尋求機(jī)器人與工件、機(jī)器人之間的無(wú)碰撞路徑,并通過(guò)仿真驗(yàn)證方法的可行性。
雙焊接機(jī)器人路徑規(guī)劃是多旅行商問(wèn)題,將MTSP 轉(zhuǎn)化為TSP的基本策略最早是由 Gorenstein[10]提出。其方法為設(shè)置一個(gè)虛擬焊點(diǎn)a′A′,a′A′的坐標(biāo)與主焊接機(jī)器人的起點(diǎn)坐標(biāo)AA相同,距離為無(wú)窮遠(yuǎn)。這樣就將雙機(jī)器人路徑規(guī)劃轉(zhuǎn)換為TSP問(wèn)題:焊接機(jī)器人從AA點(diǎn)出發(fā),完成主機(jī)器人焊點(diǎn)的焊接后到達(dá)a′A′點(diǎn),然后從a′A′點(diǎn)出發(fā)完成剩下焊點(diǎn)的焊接。然而,在工業(yè)應(yīng)用中,生產(chǎn)商在需要焊接路徑最短的同時(shí)還需要兩個(gè)機(jī)器人的焊接時(shí)間近似并最短。若采用虛擬焊點(diǎn)的方法,可能會(huì)出現(xiàn)一個(gè)機(jī)器人的路徑長(zhǎng)度遠(yuǎn)大于另一個(gè)機(jī)器人的情況,此時(shí)不能保證兩個(gè)機(jī)器人的焊接路徑長(zhǎng)度近似且焊接時(shí)間最短。因此,本文雙機(jī)器人路徑劃分標(biāo)準(zhǔn)為每一個(gè)機(jī)器人的路徑長(zhǎng)度近似為總路徑長(zhǎng)度的一半。這種焊點(diǎn)的劃分方法能滿足兩個(gè)機(jī)器人焊接時(shí)間相近,且總的焊接用時(shí)最短的要求。
本文從實(shí)際問(wèn)題出發(fā),選取白車身的一部分作為工件,工件形狀及焊點(diǎn)位置如圖1所示,焊點(diǎn)坐標(biāo)如表1所示。

圖1 工件圖Fig.1 Workpiece
雙焊接機(jī)器人的路徑規(guī)劃要求焊槍遍歷所有的焊點(diǎn)且不重復(fù)。包含避障的雙機(jī)器人路徑規(guī)劃是指在運(yùn)動(dòng)過(guò)程中機(jī)器人需要避開環(huán)境中的障礙物和另一個(gè)機(jī)器人,并且路徑長(zhǎng)度最短,這是一個(gè)NP-hard問(wèn)題。設(shè)焊點(diǎn)個(gè)數(shù)為n,焊接序列為π(i),(i=1,2,…,n),此時(shí)可以將路徑規(guī)劃問(wèn)題視為一個(gè)有約束條件的TSP問(wèn)題,焊接全局路徑規(guī)劃問(wèn)題可以描述為
(1)
s.t. pathπ(i)π(i+1) is safe path
(i=1,2,…,n-1)
(2)
式中:pathπ(i)π(i+1)為局部的2個(gè)焊點(diǎn)π(i),π(i+1)之間的路徑,局部?jī)牲c(diǎn)間的路徑規(guī)劃稱為局部路徑規(guī)劃。本文假設(shè)焊槍末端在2個(gè)焊點(diǎn)之間的移動(dòng)過(guò)程中依靠中間點(diǎn)以實(shí)現(xiàn)避障,中間點(diǎn)之間為直線運(yùn)動(dòng)。
焊接局部路徑規(guī)劃中,設(shè)定焊槍的起始點(diǎn)為π(i),終止點(diǎn)為π(i+1),中間點(diǎn)為[X1,X2,…,XK]

表1 焊點(diǎn)坐標(biāo)
pathπ(i)π(i+1),由pathπ(i)X1,pathXkπ(i+1),pathXkXk+1,(k=1,2,…,K-1)組成,此時(shí)的路徑規(guī)劃可以描述為
minLπ(i),π(i+1)=dist(π(i),X1)+

(3)
(4)
其中:dist(X,Y)表示點(diǎn)X,Y之間的歐幾里得距離;XY是安全路徑,即焊接機(jī)器人從X點(diǎn)運(yùn)動(dòng)到Y(jié)點(diǎn)的過(guò)程中與環(huán)境中的障礙物不發(fā)生碰撞。
2.1 局部搜索算法
2.1.1 自適應(yīng)信息素更新策略蟻群算法 局部搜索是從初始解出發(fā)搜索附近領(lǐng)域,若找到更優(yōu)解,則替換初始解。標(biāo)準(zhǔn)蟻群算法具有收斂速度快、魯棒性強(qiáng)等優(yōu)點(diǎn)。然而,蟻群算法由于收斂速度過(guò)快,極易陷入局部最優(yōu),產(chǎn)生“早熟”問(wèn)題,因此,本文采用信息素自適應(yīng)更新策略的改進(jìn)蟻群算法解決蟻群算法的“早熟”問(wèn)題[11]。信息素自適應(yīng)更新策略的基本思想是對(duì)信息素?fù)]發(fā)因子ρ作自適應(yīng)調(diào)節(jié)。當(dāng)ρ過(guò)小時(shí),路徑上的信息素濃度高,算法全局搜索能力降低;當(dāng)ρ過(guò)大時(shí),路徑上殘余的信息素過(guò)少,算法的收斂速度降低。為解決上述矛盾,采用式(5)對(duì)信息素?fù)]發(fā)因子作自適應(yīng)調(diào)節(jié):
(5)
式中的ε在[0,1]之間取值。初始迭代過(guò)程中,ρ較大,算法的收斂速度高;迭代后期,ρ較小,算法的全局搜索能力增強(qiáng)。
雙機(jī)器人兩點(diǎn)間局部避障路徑規(guī)劃基本流程如下:
Step1 初始化蟻群算法的參數(shù):路徑權(quán)重α為1,啟發(fā)性信息素權(quán)重β為11。迭代次數(shù)N設(shè)為500,螞蟻種群數(shù)量M設(shè)為50,初始化起始點(diǎn)與終止點(diǎn)位置坐標(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)為單個(gè)螞蟻的路徑搜索過(guò)程,清空禁忌表,將起始點(diǎn)加入禁忌表。
Step5 計(jì)算下一步各個(gè)節(jié)點(diǎn)的概率,此處將螞蟻鄰近節(jié)點(diǎn)的步長(zhǎng)設(shè)為1,每個(gè)節(jié)點(diǎn)的下一步可選節(jié)點(diǎn)個(gè)數(shù)最多為6,當(dāng)鄰近節(jié)點(diǎn)為障礙物時(shí)則不能選擇,此時(shí)下一步可選節(jié)點(diǎn)個(gè)數(shù)小于6。依據(jù)輪盤賭選擇螞蟻要移動(dòng)的下一個(gè)節(jié)點(diǎn),將該節(jié)點(diǎn)加入禁忌表。
Step6 如果該螞蟻到達(dá)終止點(diǎn)或者陷入死胡同(當(dāng)下一個(gè)可選節(jié)點(diǎn)個(gè)數(shù)為0時(shí),螞蟻陷入死胡同)則停止循環(huán)3,否則跳到Step5。
Step7 如果螞蟻到達(dá)終點(diǎn),則根據(jù)式(3)、式(4)計(jì)算路徑長(zhǎng)度L,根據(jù)式(5)計(jì)算螞蟻在路徑上留下的信息素Δτ。若m小于M,則m=m+1,跳到Step4,否則循環(huán)2結(jié)束。
Step9 選擇距離最短的路徑作為焊接機(jī)器人避障路徑。
2.1.2 算法驗(yàn)證 為了驗(yàn)證本文算法的有效性,采用4個(gè)TSP問(wèn)題(eil51,pr76,Oliver30,st70)進(jìn)行測(cè)試,與標(biāo)準(zhǔn)蟻群算法進(jìn)行比較。兩種算法均迭代500次,獨(dú)立測(cè)試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),不會(huì)陷入局部最優(yōu)。

圖2 收斂曲線對(duì)比圖 Fig.2 Comparison of convergence curves with improved ant algorithm
2.2 全局搜索算法
2.2.1 帶交叉算子的粒子群算法 傳統(tǒng)的粒子群算法在后期容易陷入局部最優(yōu),針對(duì)這一問(wèn)題,本文采用遺傳粒子群算法[12](GAPSO)。其基本思想為:在每一次迭代后,適應(yīng)度高于平均水平的粒子直接作為下一代繼續(xù)迭代;適應(yīng)度低于平均水平的粒子兩兩隨機(jī)配對(duì),進(jìn)行交叉操作,其中適應(yīng)度高于平均水平的子代粒子作為下一代繼續(xù)迭代;每個(gè)粒子按照變異概率進(jìn)行變異。該算法的基本流程如下:
Step1 初始化粒子群速度和位置。
在江蘇濱海白首烏主要分布區(qū)、河北、山東、貴州等地收集濱海白首烏及其近緣蘿藦科藥用植物樣品54份,樣品均經(jīng)南京中醫(yī)藥大學(xué)谷巍教授鑒定,憑證樣本和數(shù)字影像信息保存于南京中醫(yī)藥大學(xué)藥學(xué)院標(biāo)本館,實(shí)驗(yàn)材料信息及GenBank登錄號(hào)見(jiàn)表1。從GenBank數(shù)據(jù)庫(kù)中下載了濱海白首烏及近緣蘿藦科植物和何首烏的ITS2序列共47條,信息見(jiàn)表2。
Step2 計(jì)算每個(gè)粒子的適應(yīng)度值,根據(jù)各個(gè)粒子的pbest找出初始種群的gbest。
Step3 按照基本粒子群速度和位置公式更新整個(gè)種群的速度和位置。
Step4 計(jì)算每個(gè)粒子在當(dāng)前位置的適應(yīng)度值,并判斷是否高于平均水平。
Step5 將適應(yīng)度高于平均水平的粒子直接作為下一代繼續(xù)迭代。適應(yīng)度低于平均水平的粒子兩兩隨機(jī)配對(duì),進(jìn)行交叉操作,若交叉變異后適應(yīng)度值高于交叉前,則作為下一代粒子繼續(xù)迭代。
Step6 每個(gè)粒子按照變異概率Pm進(jìn)行變異,若適應(yīng)度值優(yōu)于變異前,則保留,否則保留變異前的適應(yīng)度值。
Step7 判斷是否滿足終止條件。若不滿足終止條件,返回Step2。
該算法與傳統(tǒng)的粒子群算法相比主要區(qū)別是:粒子群在進(jìn)行速度和位置的更新后還要進(jìn)行交叉、變異操作。通過(guò)交叉、變異操作增加了粒子的多樣性,跳出局部最優(yōu),加強(qiáng)了對(duì)粒子間區(qū)域的搜索能力,加快了算法的收斂速度。
2.2.2 離散化帶交叉算子的粒子群算法 改進(jìn)后的算法可以完成對(duì)連續(xù)函數(shù)進(jìn)行路徑搜索,然而雙機(jī)器人避障路徑規(guī)劃是MTSP問(wèn)題,其解空間為離散狀態(tài),因此需要將上述算法離散化。本文采用重新定義操作算子的方法對(duì)MPSO算法離散化。
Clerc[13]在求解TSP問(wèn)題時(shí)提出了TSP-DPSO算法。該算法引入了交換子和交換序列的概念,交換子S=Swap(i,j)是指交換粒子第i個(gè)和第j個(gè)元素的位置,交換子集則是指一組以特定順序排列的交換子。粒子的速度則是指粒子為達(dá)到最優(yōu)解所需要對(duì)當(dāng)前位置執(zhí)行的基本交換序。基于此概念,本文引用TSP -DPSO 算法對(duì)粒子群中的加減法等操作算子重新定義,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 算法有效性驗(yàn)證 為了驗(yàn)證該算法的有效性,本文采用4個(gè)TSP問(wèn)題(eil51,pr76,Oliver30,st70)進(jìn)行測(cè)試,兩種算法均迭代500次,獨(dú)立測(cè)試30次,最終結(jié)果取平均值。算法參數(shù)如表3所示,算法收斂性如圖3所示。

表3 遺傳粒子群及傳統(tǒng)粒子群算法參數(shù)

圖3 收斂曲線對(duì)比圖Fig.3 Comparison of convergence curves with GAPSO
在參數(shù)設(shè)定中,變異因子Pm值過(guò)大,將會(huì)導(dǎo)致粒子群變化較大,收斂速度慢;變異因子Pm值過(guò)小,將會(huì)導(dǎo)致粒子變化效果不明顯,不能快速找到全局最優(yōu)。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),Pm取值為0.35時(shí),收斂效果較好,且可以快速找到全局最優(yōu)解。通過(guò)多次實(shí)驗(yàn)對(duì)比發(fā)現(xiàn),交叉因子Pc設(shè)定較大時(shí)能保持粒子的多樣性,避免粒子陷入局部最優(yōu)。
通過(guò)圖3的收斂曲線可以看出,離散后的遺傳粒子群算法仍能保持較快的收斂速度。遺傳粒子群算法在迭代后期,全局收斂效果優(yōu)于傳統(tǒng)粒子群算法,不易陷入局部最優(yōu)。
3.1 三維柵格法建模
機(jī)器人路徑規(guī)劃首先要解決的問(wèn)題是機(jī)器人工作環(huán)境建模。由于柵格法表示簡(jiǎn)單,所生成的路徑點(diǎn)較為直觀且利于局部環(huán)境的判斷,因此選擇柵格法進(jìn)行環(huán)境建模。本文中工件是立體的,且采用6自由度焊接機(jī)器人,二維柵格法不能完整地表現(xiàn)出工件,因此將二維柵格法擴(kuò)展到三維空間,具體建模步驟如下:
(1) 將工件簡(jiǎn)化為多個(gè)三角形的組合。為了方便對(duì)路徑的描述及規(guī)劃,將工件簡(jiǎn)化。三角形在進(jìn)行柵格劃分時(shí)較為容易劃分出自由柵格和障礙柵格,因此采用三角形化簡(jiǎn)工件。
(2) 建立柵格矩陣。柵格大小的劃分影響路徑規(guī)劃的精度。柵格劃分得越小,路徑搜索得越精確,但是耗時(shí)越長(zhǎng);反之柵格劃分得越大,搜索時(shí)間變短,但路徑搜索精確度低。綜合考慮搜索時(shí)間和路徑搜索精度,本文將整個(gè)空間劃分為邊長(zhǎng)為5 mm的立方體,以各個(gè)立方體的中心作為搜索路徑的起點(diǎn),把各個(gè)中心點(diǎn)向平面投影,若投影點(diǎn)在三角形之外,則表示該三角形不是該點(diǎn)的障礙物,若投影點(diǎn)在三角形內(nèi)部,且垂線段長(zhǎng)度小于6 mm,則表示該三角形是該點(diǎn)的障礙物。
(3) 劃分自由柵格和障礙柵格。如果中心點(diǎn)存在障礙物,則表示該點(diǎn)為障礙點(diǎn),否則表示該點(diǎn)為自由點(diǎn),如圖4所示。
3.2 機(jī)器人與工件避障
3.2.1 局部避障路徑規(guī)劃 局部避障路徑規(guī)劃采用信息素自適應(yīng)更新策略蟻群算法。由2.2.1節(jié)的局部搜索算法可得雙機(jī)器人局部避障路徑。由改進(jìn)蟻群算法得到的路徑連線并不是一條直線而是一條折線,不能滿足焊接路徑最短的要求。為了實(shí)現(xiàn)焊接路徑最短這一目標(biāo),選取螞蟻?zhàn)叱龅脑悸窂街虚g的某一個(gè)點(diǎn)作為中間點(diǎn),對(duì)局部路徑進(jìn)行二次優(yōu)化。以焊點(diǎn)1和焊點(diǎn)22為例,采用信息素自適應(yīng)更新策略蟻群算法進(jìn)行兩點(diǎ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ǔ)添加虛擬焊點(diǎn)的路徑劃分的缺陷,本文采用每一個(gè)機(jī)器人的路徑長(zhǎng)度近似為總的路徑長(zhǎng)度的一半的路徑劃分方法。雙機(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ù)增加而遞減,初始化粒子的位置和速度,求出每個(gè)粒子的適應(yīng)度函數(shù),將其作為個(gè)體的歷史最優(yōu),求出初始時(shí)刻的全局最優(yōu)。
Step2 根據(jù)局部避障得到的路徑矩陣更新粒子的個(gè)體最優(yōu)序列pbest和全局最優(yōu)序列g(shù)best,根據(jù)pbest,gbest更新粒子最優(yōu)序列,并更新各個(gè)粒子的適應(yīng)度函數(shù)。
Step3 判斷是否達(dá)到迭代次數(shù),若沒(méi)有則返回Step2。
Step4 得到雙焊接機(jī)器人各自的全局路徑。
最終全局路徑規(guī)劃得到的雙機(jī)器人路徑順序?yàn)?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
通過(guò)以上步驟即可得到雙焊接機(jī)器人與工件的無(wú)碰撞路徑,并且滿足路徑長(zhǎng)度最短的要求。雙機(jī)器人焊接系統(tǒng),不僅需要考慮焊接機(jī)器人與工件的避障,還需要考慮到機(jī)器人之間的避障。本文建立C空間對(duì)已得到的焊接機(jī)器人的路徑做出調(diào)整,設(shè)定機(jī)器人1為從機(jī)器人,機(jī)器人2為主機(jī)器人。C空間法將針對(duì)從機(jī)器人的路徑進(jìn)行局部調(diào)整使其滿足在焊接過(guò)程中不與主機(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)動(dòng)剛體位姿的參數(shù)作為坐標(biāo)變量。三維空間中的運(yùn)動(dòng)剛體的C空間是一個(gè)六維的廣義空間,其中三維用以表示剛體的位置,另三維用以表示剛體的姿態(tài)。C空間的引入將運(yùn)動(dòng)剛體在三維空間中的一個(gè)特定位姿轉(zhuǎn)化為C空間中的一個(gè)特定點(diǎn)[8]。由于運(yùn)動(dòng)物體在任意時(shí)刻的位姿都是C空間中的一個(gè)點(diǎn),因此焊接機(jī)器人的路徑規(guī)劃就由物理空間中的機(jī)器人實(shí)體轉(zhuǎn)換為C空間中一點(diǎn)的路徑規(guī)劃。C空間法使得避障路徑算法不再依賴于機(jī)器人的外形和尺寸,機(jī)械臂在焊接過(guò)程中的位姿由各個(gè)關(guān)節(jié)角唯一確定,只要空間建立得足夠精確,使用的避障算法合適就能夠確保規(guī)劃出機(jī)器人的無(wú)碰撞路徑。C空間法由于其對(duì)機(jī)器人外形和尺寸的簡(jiǎn)化更適用于焊接機(jī)器人的避障路徑規(guī)劃。本文使用的焊接機(jī)器人為6自由度的工業(yè)機(jī)器人,由于超過(guò)三維后空間將變得不直觀,因此只取決定焊接機(jī)器人位置的前3個(gè)自由度建立C空間。

(8)
主機(jī)器人的路徑已知,則主機(jī)器人在任意時(shí)刻的位姿是確定的。為了滿足從機(jī)器人與主機(jī)器人無(wú)碰撞的要求,將主機(jī)器人在笛卡爾空間中的路徑視為從機(jī)器人C空間中障礙物的一部分。由于從機(jī)器人還需避開工件,使其滿足最終路徑與工件和主機(jī)器人均無(wú)碰撞的要求,因此將焊接工件和主機(jī)器人的路徑均作為從機(jī)器人的障礙物,并將其投影到C空間中,由此可以確定出從機(jī)器人在C空間的自由空間和障礙空間。建立從機(jī)器人C空間的目的就是為了方便地劃分出從機(jī)器人的障礙空間和自由空間,為了使得從機(jī)器人的障礙空間和自由空間便于蟻群行走,使用柵格法將C空間柵格化。通過(guò)上述方法可以將從機(jī)器人C空間分為障礙空間和自由空間。
3.3.2 從臂的避障路徑規(guī)劃 完成C空間柵格化后,根據(jù)信息素自適應(yīng)更新策略蟻群算法和帶交叉算子的粒子群算法在C空間的自由柵格中搜索機(jī)器人間無(wú)碰撞路徑。考慮到實(shí)際應(yīng)用中要求焊接機(jī)器人焊接時(shí)間盡量長(zhǎng)且焊接中斷次數(shù)最少,從機(jī)器人最終的焊接路徑需要滿足搜索到的避障路徑長(zhǎng)度最短且機(jī)械臂運(yùn)行平穩(wěn),即控制機(jī)械臂運(yùn)動(dòng)時(shí)電機(jī)起、制動(dòng)次數(shù)最少的要求。
C空間從臂避障路徑規(guī)劃的基本流程為:首先通過(guò)信息素自適應(yīng)更新策略蟻群算法得到從機(jī)器人的15個(gè)焊點(diǎn)中每2個(gè)焊點(diǎn)之間的路徑長(zhǎng)度,生成焊點(diǎn)間的距離矩陣。然后采用帶交叉算子的粒子群算法,根據(jù)焊接距離最短原則,利用信息素自適應(yīng)更新策略,蟻群算法生成的焊點(diǎn)間的距離矩陣得到從機(jī)器人焊接路徑最短的焊點(diǎn)循序的排列,該排序滿足兩焊接機(jī)器人之間無(wú)碰撞且焊接機(jī)器人與工件之間無(wú)碰撞的要求,最后將最優(yōu)的焊點(diǎn)順序輸出。
最終得到最優(yōu)的焊點(diǎn)順序?yàn)?0-7-6-5-20-23-19-22-18-21-24-25-14-15-16,與圖6結(jié)果相同。由于焊點(diǎn)在全局路徑規(guī)劃后生成的兩條路徑分布較遠(yuǎn),因此,在C空間中尋求機(jī)器人之間的無(wú)碰撞路徑時(shí),最終生成的路徑與全局路徑相同。若全局路徑分布較為緊密或出現(xiàn)重合部分,則在C空間路徑規(guī)劃后,從機(jī)器人的最終路徑會(huì)有所改變。
利用路徑平均焊點(diǎn)劃分方法,采用柵格法建立基于信息素自適應(yīng)更新策略蟻群算法和帶交叉算子的粒子群算法的雙機(jī)器人焊接模型。將C空間和雙機(jī)器人路徑規(guī)劃結(jié)合,實(shí)現(xiàn)了機(jī)器人和工件以及機(jī)器人之間的避障。最終仿真求解局部和全局最優(yōu)焊接路徑的較好近似解。
[1] 歐陽(yáng)帆,張鐵.雙機(jī)器人協(xié)調(diào)鏡像對(duì)稱運(yùn)動(dòng)的路徑規(guī)劃[J].高技術(shù)通訊,2013,23(9):960-964.
[2] 張鐵,歐陽(yáng)帆.雙機(jī)器人協(xié)調(diào)跟隨運(yùn)動(dòng)的運(yùn)動(dòng)學(xué)分析與路徑規(guī)劃[J].上海交通大學(xué)學(xué)報(bào),2013,47(8):1251-1256.
[3] 張鐵,歐陽(yáng)帆.雙機(jī)器人協(xié)調(diào)焊接任務(wù)規(guī)劃及仿真[J].焊接學(xué)報(bào),2012,33(12):9-12.
[4] 張立棟,李亮玉.雙機(jī)器人松協(xié)調(diào)焊接過(guò)程無(wú)碰路徑規(guī)劃[J].焊接學(xué)報(bào),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] 王鄭拓,馮振禮,葉國(guó)云,等.基于人工蜂群算法的雙機(jī)器人路徑規(guī)劃研究[J].焊接學(xué)報(bào),2015,36(2):97-100.
[7] 孫抗,黃獻(xiàn)龍.基于C空間方法的機(jī)械臂三維避碰路徑規(guī)劃[J].深空探測(cè)研究,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空間簡(jiǎn)化方法[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 問(wèn)題的改進(jìn)蟻群算法[J].理論與算法,2014(8):38-40.
[12] 劉凱,牛江川,申永軍.基于遺傳粒子群算法的堆垛機(jī)作業(yè)路徑優(yōu)化[J].石家莊鐵道大學(xué)學(xué)報(bào)(自然科學(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);國(guó)家自然科學(xué)基金(61573144)
湯 彬(1992-),女,山東威海人,碩士生,研究方向?yàn)楹附幼詣?dòng)化。E-mail:13162184898@163.com
王學(xué)武,E-mail:wangxuew@ecust.edu.cn
TP241.2 ; TP273
A