秦 律,汪木蘭,朱曉春,王保升
(南京工程學(xué)院江蘇省先進(jìn)數(shù)控技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 211167)
隨著智能制造的深入發(fā)展,具備焊接、碼垛、搬運(yùn)等功能的串聯(lián)機(jī)器人因其結(jié)構(gòu)簡單、制造成本低廉、控制便捷等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)自動化生產(chǎn)線[1-2]。軌跡規(guī)劃作為機(jī)器人運(yùn)動控制的基礎(chǔ),對研究機(jī)器人的運(yùn)行效率、作業(yè)精度和工作平穩(wěn)性具有重要意義。為尋求軌跡最優(yōu)解,可分別對能量、時間、沖擊等機(jī)器人工作指標(biāo)進(jìn)行局部優(yōu)化,或者綜合考慮上述指標(biāo)以獲取全局最優(yōu)[3]。
對機(jī)器人運(yùn)行時間的最優(yōu)化求解為當(dāng)前的研究熱點(diǎn),其中較為成熟的時間優(yōu)化算法有人工神經(jīng)網(wǎng)絡(luò)算法、遺傳算法、粒子群算法和蟻群算法[4]。文獻(xiàn)[5]提出了一種改進(jìn)型免疫克隆優(yōu)化方法,以擁擠距離確定克隆規(guī)模大小來保留最優(yōu)解,采用親和度較高的個體代替消亡個體,加速種群的收斂速度。文獻(xiàn)[6]采用序列二次規(guī)劃方法求解在非線性約束條件下的最短時間,在目標(biāo)函數(shù)進(jìn)行迭代時,以牛頓法得到的拉格朗日函數(shù)構(gòu)成的Hessian矩陣來實(shí)現(xiàn)收斂,但該方法判斷收斂的條件復(fù)雜,降低了尋優(yōu)效率,并且不能保證局部軌跡的精度。文獻(xiàn)[7]采用自適應(yīng)遺傳算法進(jìn)行時間優(yōu)化,通過調(diào)整后期變異概率,增加種群的多樣性。但利用罰函數(shù)處理運(yùn)動學(xué)約束時,不滿足約束的個體所受懲罰量較大,易出現(xiàn)適應(yīng)度值較大的特殊個體引導(dǎo)種群發(fā)展,導(dǎo)致尋優(yōu)過程陷入局部最優(yōu)并過早收斂。
本文在用三次樣條函數(shù)對機(jī)器人軌跡進(jìn)行插值的基礎(chǔ)上,采用聚類方法改進(jìn)的遺傳算子對個體適應(yīng)度值大小進(jìn)行分類,制定不同選擇方法,保留優(yōu)良個體并兼顧種群多樣性。以新的變異操作對后期的最優(yōu)個體進(jìn)行調(diào)整,提高搜索效率,求出機(jī)器人的最短工作時間。
三次樣條插值函數(shù)的剖分子區(qū)間均為三次多項(xiàng)式,通過給定邊界條件對各型值點(diǎn)進(jìn)行插值擬合。將其運(yùn)用于機(jī)器人軌跡規(guī)劃中,既保證了機(jī)器人關(guān)節(jié)位移和速度的連續(xù)性,又能防止關(guān)節(jié)角加速度的突變,使機(jī)器人運(yùn)行平穩(wěn)且避免震動。
(1)
(2)
(3)
對式(1)進(jìn)行微分,求出相應(yīng)時間段的關(guān)節(jié)角加加速度,即:
(4)
(5)
(6)
依此類推,將式(5)寫成矩陣形式得:
(7)
式中:方程組的系數(shù)矩陣為三對角矩陣,由于|λi|+|μi|=1,則|λi|+|μi|,|λi|,|μi|三者均小于主對角元素2,所以系數(shù)矩陣為嚴(yán)格對角占優(yōu)矩陣。通過追趕法求得Sj,1,Sj,2,…,Sj,n的數(shù)值,代入式(3),得到完整的關(guān)節(jié)角位移表達(dá)式。
通過三次樣條函數(shù),使機(jī)器人能對關(guān)節(jié)的角位移、角速度與角加速度進(jìn)行實(shí)時控制??紤]到提高機(jī)器人的運(yùn)行效率,還需要對各關(guān)節(jié)的運(yùn)行時間進(jìn)行優(yōu)化,使機(jī)器人能夠高效地完成工作任務(wù)。
將機(jī)器人運(yùn)動的整段軌跡曲線按選取的型值點(diǎn)進(jìn)行剖分,通過對各分段軌跡的時間優(yōu)化來達(dá)到總時間的最優(yōu),即:
(8)
式中:Tmin為機(jī)器人完成整段軌跡曲線所需最短時間。機(jī)器人關(guān)節(jié)在進(jìn)行軌跡規(guī)劃運(yùn)動時還會受速度、加速度、加加速度的約束,即:
(9)
遺傳算法是在進(jìn)化論和自然遺傳機(jī)制上衍生的搜索方法,相對于傳統(tǒng)優(yōu)化算法,具有全局性、并行性、靈活性等特點(diǎn)。本文利用基于聚類方法的遺傳算法[8-9],對進(jìn)行三次樣條插值后的關(guān)節(jié)軌跡進(jìn)行時間優(yōu)化,在保證種群多樣性的同時,加強(qiáng)了局部搜索能力。其具體算法流程如圖1所示。
圖1 基于聚類方法的遺傳算法流程圖
1)編碼。
對各分段軌跡曲線的運(yùn)動時間進(jìn)行二進(jìn)制編碼,設(shè)定編碼長度,使可行解的精度為0.001。該操作簡單易行,使交叉、變異等遺傳操作便于實(shí)現(xiàn)。
2)種群初始化。
在滿足約束條件的情況下,對種群進(jìn)行初始化,在hi的值域內(nèi),隨機(jī)生成多個新個體,并設(shè)置種群的規(guī)模為m。為保持種群的多樣性,并方便后續(xù)的適應(yīng)度值分類,m選取20~100之間的奇數(shù)。
3)適應(yīng)度函數(shù)建立與標(biāo)定。
用外罰函數(shù)法處理式(9)中的不等式約束條件,通過對不滿足約束條件的個體施加懲罰項(xiàng),并隨著種群的發(fā)展,增大懲罰量,迫使迭代點(diǎn)逐步向可行域靠近。其表達(dá)式如下:
(10)
(11)
(12)
當(dāng)算法逐漸收斂時,由于群體中個體的適應(yīng)度值比較接近,造成尋優(yōu)停留在最優(yōu)解附近,為提高選擇能力,此時應(yīng)增大個體適應(yīng)度值。因此針對式(11)的適應(yīng)度函數(shù)進(jìn)行重新標(biāo)定,即:
(13)
式中:F(t)為標(biāo)定后的適應(yīng)度值;Fit(t)min為原適應(yīng)度函數(shù)值的下界;Fit(t)max為原適應(yīng)度函數(shù)值的上界;δ為開區(qū)間(0,1)內(nèi)的一個正實(shí)數(shù)。
4)選擇與交叉。
(14)
5)變異。
在尋優(yōu)過程進(jìn)入后期時,由于采用的標(biāo)準(zhǔn)遺傳算法其變異概率保持不變,使得算法在后期迭代時停滯不前,降低了收斂速度。為加強(qiáng)局部搜索能力,在后期引入新的變異算子。具體定義如下:
首先對PUMA560機(jī)器人進(jìn)行運(yùn)動學(xué)分析,采用D-H法建模,構(gòu)建機(jī)器人各關(guān)節(jié)坐標(biāo)系,并求出對應(yīng)參數(shù),即關(guān)節(jié)角θi、相鄰兩關(guān)節(jié)軸扭角αi-1、連桿長度ai-1、相鄰兩連桿間偏置di,再將參數(shù)導(dǎo)出,具體見表1。
表1 PUMA560的D-H參數(shù)表
在MATLAB的Robotics Toolbox中創(chuàng)建PUMA560機(jī)器人,將D-H參數(shù)表中各數(shù)值導(dǎo)入Link函數(shù)LINK([alpha A theta D sigma offset],‘Standard’)中來定義連桿屬性,再用SerialLink函數(shù)SerialLink([L1,L2,L3,L4,L5,L6])定義6個關(guān)節(jié)屬性,建立的機(jī)器人模型如圖2所示。
圖2 PUMA560機(jī)器人模型
本文引用文獻(xiàn)[10]、[11]中的型值點(diǎn)參數(shù)和各關(guān)節(jié)運(yùn)動學(xué)約束條件,其參數(shù)見表2和表3。對PUMA560的前3個關(guān)節(jié)(腰部、肩部、大臂)進(jìn)行時間優(yōu)化,對比上述文獻(xiàn)中的結(jié)果,驗(yàn)證改進(jìn)的遺傳算法的可行性。
表2 型值點(diǎn)關(guān)節(jié)位置序列 (°)
總共選取8個型值點(diǎn),并且3個關(guān)節(jié)運(yùn)動軌跡的起點(diǎn)與終點(diǎn)角速度都為0。
表3 運(yùn)動學(xué)約束條件
將型值點(diǎn)的關(guān)節(jié)位置序列代入改進(jìn)后的遺傳算法進(jìn)行優(yōu)化仿真,在滿足關(guān)節(jié)的角速度、角加速度、角加加速度的約束條件下,求解的前3個關(guān)節(jié)的最優(yōu)軌跡規(guī)劃時間為[14.015,14.317,13.952]s,比文獻(xiàn)[10]中的優(yōu)化結(jié)果[20.680,20.772,19.920]s減少了[6.665,6.455,5.968]s,比文獻(xiàn)[11]中的優(yōu)化結(jié)果[16.018,16.444,17.416]s減少了[2.003,2.127,3.464]s,達(dá)到了對機(jī)器人軌跡規(guī)劃運(yùn)行時間優(yōu)化的目的。將優(yōu)化后的時間迭代圖與文獻(xiàn)[7]、[11]中的AGA(自適應(yīng)遺算法)、SGA(標(biāo)準(zhǔn)遺傳算法)的迭代圖進(jìn)行比較,其對比結(jié)果如圖3所示。
圖3 算法迭代收斂對比圖
由圖可知,采用SGA算法在第180代時開始收斂,采用AGA算法在第90代時開始收斂,而基于聚類方法的遺傳算法在第75代時就開始收斂,收斂速度得到較大提升,說明該算法在后期的搜索效率得到提高,縮短了算法迭代收斂的時間。進(jìn)行時間優(yōu)化后的關(guān)節(jié)角位移、角速度、角加速度與角加加速度的曲線如圖4所示。由圖可知,優(yōu)化后的角位移、角速度、角加速度的運(yùn)行軌跡連續(xù)且光滑,同時滿足表3中的運(yùn)動學(xué)約束條件,完成了機(jī)器人時間最優(yōu)軌跡規(guī)劃的任務(wù)。
圖4 關(guān)節(jié)時間最優(yōu)軌跡曲線
本文利用三次樣條函數(shù)擬合機(jī)器人運(yùn)動軌跡,保證各關(guān)節(jié)角位移、角速度、角加速度的連續(xù)性。在滿足運(yùn)動學(xué)約束條件的情況下,利用基于聚類方法的遺傳算法對插值時間進(jìn)行優(yōu)化。從對比實(shí)驗(yàn)的結(jié)果來看,該算法在后期的迭代收斂速度得到提升,機(jī)器人各關(guān)節(jié)的運(yùn)行時間也明顯縮短。在后期的研究中,將對能量、沖擊等目標(biāo)進(jìn)行綜合優(yōu)化,以進(jìn)一步提高機(jī)器人運(yùn)行效率。