本發(fā)明涉及焊接機器人技術(shù)領(lǐng)域,尤其是一種基于離散粒子群算法的焊接機器人焊接路徑規(guī)劃方法。
背景技術(shù):
隨著對工業(yè)機器人技術(shù)的研究越來越深入,機器人技術(shù)越來越成熟,其正在成為自動化生產(chǎn)線的重要組成部分,將從事于惡劣環(huán)境、繁雜體力勞動的工人解救出來。焊接機器人從事焊接加工,在焊接加工的過程中經(jīng)常會出現(xiàn)不希望看到的問題,比如機器人啟動停車時焊槍末端的抖動,有時會伴隨有機器人本體的劇烈震動,焊接時不能精確的運動到指定的焊點位置,電弧焊時焊接路徑不精確等,這些焊接問題的出現(xiàn),都是不能滿足焊接任務(wù)規(guī)劃要求的,有的更是不滿足安全使用焊接機器人的相關(guān)規(guī)定。因此這就要求從事機器人研究的人員在對機器人控制系統(tǒng)進行開發(fā)的過程中,遵循一定的原則:即保證機器人在加工作業(yè)過程中盡量平滑、平穩(wěn),也就是要避免位置、速度和加速度的突變,如果運動不平穩(wěn)會加劇機器人部件的磨損,并導(dǎo)致機器人的振動和沖擊。因此為了保證機器人能夠高速、平穩(wěn)的運動到焊接位置,進而提高整個焊接機器人系統(tǒng)的安全性、穩(wěn)定性和可靠性。焊接機器人進行焊接作業(yè)之前的軌跡規(guī)劃就顯得非常重要。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于,提供一種基于離散粒子群算法的焊接機器人焊接路徑規(guī)劃方法,能夠達到算法的局部搜索能力和全局搜索能力有所平衡的目的,進而使算法更快的搜索到最優(yōu)解。
為解決上述技術(shù)問題,本發(fā)明提供一種基于離散粒子群算法的焊接機器人焊接路徑規(guī)劃方法,包括如下步驟:
(1)建立焊接機器人的路徑的數(shù)學(xué)模型;
(2)建立粒子群算法的模型;
(3)粒子群算法求解的行為參數(shù)分析;
(4)離散粒子群算法的焊接機器人路徑規(guī)劃;
(5)輸出最優(yōu)路徑。
優(yōu)選的,步驟(1)中,建立焊接機器人的路徑的數(shù)學(xué)模型,具體為:若需要焊接n個焊點,機器人從某個焊點出發(fā)焊接所有焊點后返回起始焊點,已知每個焊點的位置坐標(biāo),要求對焊接作業(yè)順序進行合理規(guī)劃,使得該機器人行走距離最短,并滿足以下約束條件:
(1)焊接機器人以某焊點為起點和終點;
(2)每個焊點必須且只能焊接一次;
其數(shù)學(xué)模型表示如下:
其中:dij表示焊點i和j之間的距離;xij為約束變量,xij=1表示焊接機器人行走路徑包含從焊點i到焊點j的這段路徑,xij=0表示機器人沒有行走i到j(luò)這段路徑;s表示已經(jīng)焊接過的焊點集合;|s|表示集合s中元素的個數(shù)。
優(yōu)選的,步驟(2)中,建立粒子群算法的模型,具體為:假設(shè)由m個粒子組成一個d維搜索空間的粒子群體,其中用一個d維的向量表示第i個粒子,第i個粒子的飛行速度也用一個d維的向量來表示,記為vi=(vi1,vi2,…,vid),i=1,2,…,m,用pi=(pi1,pi2,…,pid)表示第i個粒子目前搜索到的最優(yōu)值pbest的位置,pg=(pg1,pg2,…,pgd)表示迄今為止整個群體搜索到的最優(yōu)值gbest的位置,xi=(xi1,xi2,…,xid),d個焊點,表示第i個粒子對應(yīng)位置,粒子的適應(yīng)度函數(shù)用f(x)表示,本發(fā)明中的f(x)表示焊接機器人所需行走的最短焊接路徑;
粒子i的當(dāng)前最好位置由下式確定:
群體所經(jīng)歷的最好位置可由式(7)確定:
在找到兩個最優(yōu)值(pbest和gbest)時,粒子根據(jù)公式(8)和(9)來更新自己的速度和新的位置:
其中i=1,2,…,m表示粒子個數(shù);d=1,2,…,d表示搜索空間的維數(shù);k為迭代計算的次數(shù);
優(yōu)選的,步驟(3)中,粒子群算法求解的行為參數(shù)分析,具體為:
(1)改進慣性因子ω
慣性因子線性遞減公式如式(10)所示:
式(10)中,tm表示算法設(shè)定的最大終止迭代次數(shù),t表示算法當(dāng)前迭代次數(shù),ωs表示算法設(shè)定的初始慣性權(quán)重,ωe表示算法設(shè)定的終止慣性權(quán)重;本發(fā)明求解焊接機器人最優(yōu)焊接路徑的離散粒子群算法,選用式(10)這種線性遞減算式來對慣性因子進行調(diào)整;
(2)學(xué)習(xí)因子分析
學(xué)習(xí)因子c1和c2,如式(11)和(12)所示;這種學(xué)習(xí)因子,在算法初期通過加速c1的變大和c2的變小,從而加快了前期全局搜索能力,使得算法快速進入局部搜索階段;而在算法后期,通過c1和c2的合理變化,使算法仍保持一定的搜索速度,避免過早收斂到局部極值,盡可能獲得最優(yōu)解。
其中,c1s、c2s表示學(xué)習(xí)因子c1和c2的初始設(shè)定值,c1e、c2e表示表示學(xué)習(xí)因子c1和c2的設(shè)定終值,t表示算法當(dāng)前迭代次數(shù),tmax為設(shè)定的算法最大迭代次數(shù);本發(fā)明求解焊接機器人最優(yōu)焊接路徑的離散粒子群算法,選用式(11)和(12)反余弦策略來對學(xué)習(xí)因子進行調(diào)整;
(3)粒子速度位置更新公式
結(jié)合交換序和交換子的概念,把速度和位置更新公式(8)和(9)進行重新定義,以適用于求解焊接機器人路徑規(guī)劃問題;把xid定義為焊點順序的一個隨機全排列(初始位置),vid定義為焊點個數(shù)的一個全排列(交換集);依照交換子和交換序的運算法則,式(8)和(9)更新為式(13)和(14):
其中,其它參數(shù)與粒子群算法的模型中的定義保持一樣。
優(yōu)選的,步驟4所述離散粒子群算法的焊接機器人路徑規(guī)劃,具體為:
(41)初始化粒子群,每個粒子賦一個隨機焊點位置的全排列xid和一個隨機的交換集vid;
(42)評價每個粒子的適應(yīng)度值,如果達到結(jié)束條件最大迭代次數(shù),則結(jié)束,同時顯示求出的最優(yōu)解、最優(yōu)路徑、適應(yīng)度值進化曲線等;否則繼續(xù)執(zhí)行(43);
(43)根據(jù)粒子當(dāng)前位置xid,計算其下一個位置xi'd,即新解;
(431)計算交換序
(432)根據(jù)式(13)將基本交換序
(433)根據(jù)式(14)計算搜索到的新解;
(44)根據(jù)式(6)更新單個粒子搜索到的最優(yōu)位置pid;
(45)根據(jù)式(7)更新群體的最優(yōu)位置pgd;
(46)轉(zhuǎn)到(42)。
本發(fā)明的有益效果為:本發(fā)明在焊接機器人進行焊接作業(yè)之前,通過對焊接任務(wù)進行分析,在保證焊接所有焊點的情況下,不能有漏焊,更不能有重復(fù)焊,力求尋找到一條焊接機器人運行距離最短的焊接路徑;本發(fā)明采用粒子群優(yōu)化算法,通過設(shè)置不同的慣性權(quán)重算式,提升粒子群算法的自適應(yīng)調(diào)節(jié)能力,從而達到算法的局部搜索能力和全局搜索能力有所平衡的目的,進而使算法更快的搜索到最優(yōu)解;具體在用算法解決優(yōu)化問題時,引入適應(yīng)度函數(shù)(fitnessfunction)來對每個粒子對應(yīng)的最優(yōu)解進行評價,通過適應(yīng)度函數(shù)評價,不斷更新pbest和gbest,以此來產(chǎn)生新一代更優(yōu)異的種群,始終保持每個粒子對應(yīng)的最優(yōu)解,和整個種群對應(yīng)的最優(yōu)解,都是目前為止搜索到的最優(yōu)的,為了將粒子群算法用于離散空間優(yōu)化問題的求解,引入了交換子和交換序的概念,本發(fā)明可以提高搜索速度和路徑質(zhì)量。
附圖說明
圖1是本發(fā)明計算時的焊點坐標(biāo)示意圖。
圖2是本發(fā)明仿真得到的粒子群算法進化曲線示意圖。
圖3是本發(fā)明最終得到的粒子群算法最優(yōu)路徑示意圖。
圖4是本發(fā)明的基于離散粒子群算法的焊接機器人焊接路徑規(guī)劃方法的流程示意圖。
具體實施方式
如圖1-4所示,一種基于離散粒子群算法的焊接機器人焊接路徑規(guī)劃方法,包括如下步驟:
步驟一:建立焊接機器人的路徑的數(shù)學(xué)模型;
焊接機器人的路徑優(yōu)化問題可描述為:若需要焊接n個焊點,機器人從某個焊點出發(fā)焊接所有焊點后返回起始焊點。已知每個焊點的位置坐標(biāo),要求對焊接作業(yè)順序進行合理規(guī)劃,使得該機器人行走距離最短,并滿足以下約束條件:
(1)焊接機器人以某焊點為起點和終點;
(2)每個焊點必須且只能焊接一次。
其數(shù)學(xué)模型表示如下:
其中:dij表示焊點i和j之間的距離;xij為約束變量,xij=1表示焊接機器人行走路徑包含從焊點i到焊點j的這段路徑,xij=0表示機器人沒有行走i到j(luò)這段路徑;s表示已經(jīng)焊接過的焊點集合;|s|表示集合s中元素的個數(shù)。
步驟二:粒子群算法的模型;
假設(shè)由m個粒子組成一個d維搜索空間的粒子群體。其中用一個d維的向量表示第i個粒子,第i個粒子的飛行速度也用一個d維的向量來表示,記為vi=(vi1,vi2,…,vid),i=1,2,…,m。用pi=(pi1,pi2,…,pid)表示第i個粒子目前搜索到的最優(yōu)值pbest的位置,pg=(pg1,pg2,…,pgd)表示迄今為止整個群體搜索到的最優(yōu)值gbest的位置,xi=(xi1,xi2,…,xid),d個焊點,表示第i個粒子對應(yīng)位置。粒子的適應(yīng)度函數(shù)用f(x)表示,本發(fā)明中的f(x)表示焊接機器人所需行走的最短焊接路徑。
粒子i的當(dāng)前最好位置由下式確定:
群體所經(jīng)歷的最好位置可由式(7)確定:
在找到兩個最優(yōu)值(pbest和gbest)時,粒子根據(jù)公式(8)和(9)來更新自己的速度和新的位置:
其中i=1,2,…,m表示粒子個數(shù);d=1,2,…,d表示搜索空間的維數(shù);k為迭代計算的次數(shù);
步驟三:粒子群算法求解的行為參數(shù)分析;
3.1改進慣性因子ω
shi等經(jīng)過多組反復(fù)實驗后,得出慣性因子線性遞減公式如式(10)所示:
式(10)中,tm表示算法設(shè)定的最大終止迭代次數(shù),t表示算法當(dāng)前迭代次數(shù),ωs表示算法設(shè)定的初始慣性權(quán)重,ωe表示算法設(shè)定的終止慣性權(quán)重。
本發(fā)明求解焊接機器人最優(yōu)焊接路徑的離散粒子群算法,選用式(10)這種線性遞減算式來對慣性因子進行調(diào)整。
3.2學(xué)習(xí)因子分析
學(xué)習(xí)因子c1和c2,如式(11)和(12)所示。這種學(xué)習(xí)因子,在算法初期通過加速c1的變大和c2的變小,從而加快了前期全局搜索能力,使得算法快速進入局部搜索階段;而在算法后期,通過c1和c2的合理變化,使算法仍保持一定的搜索速度,避免過早收斂到局部極值,盡可能獲得最優(yōu)解。
其中,c1s、c2s表示學(xué)習(xí)因子c1和c2的初始設(shè)定值,c1e、c2e表示表示學(xué)習(xí)因子c1和c2的設(shè)定終值,t表示算法當(dāng)前迭代次數(shù),tmax為設(shè)定的算法最大迭代次數(shù)。本發(fā)明求解焊接機器人最優(yōu)焊接路徑的離散粒子群算法,選用式(2.11)和(2.12)反余弦策略來對學(xué)習(xí)因子進行調(diào)整。
3.3粒子速度位置更新公式
結(jié)合焊接機器人路徑規(guī)劃問題,可描述如下:每個粒子與焊點位置的全排列(一條焊接路徑)相對應(yīng),比如第i個粒子對應(yīng)位置xi=(xi1,xi2,…,xid)(d個焊點),把速度定義為焊點位置的交換集。位置加上速度的運算,定義為依次交換速度中所有的變換子。位置與位置做減法運算,結(jié)果為速度;速度與速度做加法運算,結(jié)果為速度;位置與速度做加法運算,結(jié)果為位置。位置與位置做減法運算,結(jié)果生成一組交換集。
結(jié)合交換序和交換子的概念,把速度和位置更新公式(8)和(9)進行重新定義,以適用于求解焊接機器人路徑規(guī)劃問題。把xid定義為焊點順序的一個隨機全排列(初始位置),vid定義為焊點個數(shù)的一個全排列(交換集)。依照交換子和交換序的運算法則,式(8)和(9)更新為式(13)和(14):
其中,其它參數(shù)與粒子群算法的模型中的定義保持一樣。
步驟四:離散粒子群算法的焊接機器人路徑規(guī)劃;
離散粒子群算法用于求解焊接機器人路徑規(guī)劃問題時,其算法的流程如下:
4.1:初始化粒子群,每個粒子賦一個隨機焊點位置的全排列(xid)和一個隨機的交換集(vid);
4.2:評價每個粒子的適應(yīng)度值,如果達到結(jié)束條件最大迭代次數(shù),則結(jié)束,同時顯示求出的最優(yōu)解、最優(yōu)路徑、適應(yīng)度值進化曲線等;否則繼續(xù)執(zhí)行4.3;
4.3:根據(jù)粒子當(dāng)前位置xid,計算其下一個位置xi'd,即新解;
1)計算交換序
2)根據(jù)式(13)將基本交換序
3)根據(jù)式(14)計算搜索到的新解;
4.4:根據(jù)式(6)更新單個粒子搜索到的最優(yōu)位置pid;
4.5:根據(jù)式(7)更新群體的最優(yōu)位置pgd;
4.6:轉(zhuǎn)到4.2。
步驟五:根據(jù)優(yōu)化算法輸出最優(yōu)路徑;
為了驗證離散粒子算法求解焊接機器人最優(yōu)焊接路徑的可行性,本發(fā)明用matlab編寫粒子群算法的程序并進行試驗仿真。
實驗中,算法采用圖1顯示的數(shù)據(jù)和適應(yīng)度函數(shù)。粒子群算法的控制參數(shù)設(shè)定如下:種群規(guī)模為m=30,學(xué)習(xí)因子取c1s=0.9,c1e=0.1,c2s=0.1,c2e=0.9,慣性權(quán)重ωs=0.96,ωe=0.1,最大迭代次數(shù)t=30,50,100,200,300,400。應(yīng)用圖1給出的每個焊點的坐標(biāo)(研究選取30個焊接點,作為焊接機器人的焊接任務(wù)),及算法參數(shù)設(shè)置,重復(fù)測試50次,優(yōu)化結(jié)果表所示。
表1粒子群算法的優(yōu)化結(jié)果
從表中可以看出粒子群算法在有限的迭代次數(shù)內(nèi)找到焊接機器人的最優(yōu)路徑或近似最優(yōu)路徑,其路徑的平均值為11.8829。說明粒子群算法每次運算搜索到的最優(yōu)路徑已經(jīng)接近于實際的最優(yōu)路徑。最優(yōu)值為10.3235。迭代次數(shù)為400時粒子群算法的最優(yōu)路徑的進化曲線如圖2所示。迭代次數(shù)為400時粒子群算法的最優(yōu)路徑圖如圖3所示。
盡管本發(fā)明就優(yōu)選實施方式進行了示意和描述,但本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,只要不超出本發(fā)明的權(quán)利要求所限定的范圍,可以對本發(fā)明進行各種變化和修改。