鐘佩思,王祥文,張 超,張振宇,王 曉,劉金銘
(1.山東科技大學(xué)先進(jìn)制造技術(shù)研究中心,山東青島 266590;2.青島澳科儀器有限責(zé)任公司,山東青島 266555)
在機(jī)器人動(dòng)力學(xué)參數(shù)辨識過程中,為了保證所有待估計(jì)參數(shù)都被激勵(lì)[1],激勵(lì)信號的選擇至關(guān)重要。為了使采集到的信號具有最大化的信噪比,激勵(lì)軌跡需要具有適當(dāng)?shù)姆?、相位和頻率,同時(shí)確保激勵(lì)軌跡在機(jī)器人允許的極限運(yùn)動(dòng)范圍之內(nèi)。徐建明等[2]選取傅里葉級數(shù)作為激勵(lì)軌跡,以回歸矩陣每一列元素平方和連乘積的導(dǎo)數(shù)作為目標(biāo)函數(shù),得到了優(yōu)化后的傅里葉級數(shù)。吳文祥[3]將傅里葉級數(shù)中的常數(shù)項(xiàng)用多項(xiàng)式代替,避免機(jī)器人運(yùn)行不穩(wěn)定,保證準(zhǔn)確平穩(wěn)的跟蹤激勵(lì)軌跡。
粒子群算法是由Kennedy和Eberhart[4]提出的一種優(yōu)化算法,具有收斂速度快,可調(diào)參數(shù)少等優(yōu)點(diǎn)。高鷹等[5]將粒子群算法與混沌搜索算法相融合,避免算法迭代陷入停滯,提高收斂的速度和精度。程志剛等[6]將種群粒子分類,使用混沌搜索擇優(yōu)進(jìn)化高適應(yīng)度值的粒子,有效提高了粒子種群的尋優(yōu)性能和效率。陳震等[7]利用Sigmoid函數(shù)使粒子的學(xué)習(xí)因子隨迭代次數(shù)變化,利用Sigmoid函數(shù)的非線性特征提高粒子種群的尋優(yōu)能力。王保民等[8]提出了一種慣性權(quán)重隨機(jī)變化的粒子群算法,通過對慣性權(quán)重進(jìn)行修改來調(diào)整粒子對上一時(shí)刻自身狀態(tài)的繼承比例,增大了粒子的搜索范圍,提高了算法的全局尋優(yōu)能力。
為了得到最優(yōu)的激勵(lì)軌跡,提高機(jī)器人參數(shù)辨識的精度,在上述研究的基礎(chǔ)上,以SCARA機(jī)器人為研究對象,進(jìn)行了以下研究:
(1)建立機(jī)器人動(dòng)力學(xué)模型,建立了激勵(lì)軌跡的優(yōu)化目標(biāo)和約束條件的數(shù)學(xué)模型;
(2)在粒子群算法中引入動(dòng)態(tài)控制參數(shù)策略和搜索增強(qiáng)機(jī)制,提出了一種改進(jìn)的混沌粒子群優(yōu)化(improved chaotic particle swarm optimization,ICPSO)算法;
(3)評估ICPSO的尋優(yōu)能力并利用其求解激勵(lì)軌跡,進(jìn)行動(dòng)力學(xué)參數(shù)辨識。
圖1為SCARA機(jī)器人的簡化模型及D-H(Denavit-Hartenberg)參數(shù)連桿坐標(biāo)系。由于SCARA機(jī)器人的連桿4可以看作是連桿3的負(fù)載,故可將其簡化為RRP結(jié)構(gòu)。
圖1 SCARA機(jī)器人D-H連桿坐標(biāo)系
僅對連桿1、2、3進(jìn)行動(dòng)力學(xué)建模[9],可得SCARA機(jī)器人的連桿動(dòng)力學(xué)模型為
(1)
將式(1)改寫含有慣性參數(shù)的線性表達(dá)式[10]:
(2)
使用參數(shù)重構(gòu)法確定機(jī)器人的最小慣性參數(shù):
P=[p1;p2;p3;p4]
(3)
由于SCARA機(jī)器人的連桿1、2的轉(zhuǎn)動(dòng)和連桿3的移動(dòng)可以看作相互獨(dú)立的[11],因此可將大小為3×4觀測矩陣Yr拆分為:
(4)
(5)
機(jī)器人參數(shù)辨識的精度很大程度上取決于激勵(lì)軌跡的質(zhì)量。選用改進(jìn)的傅里葉級數(shù)[12]作為機(jī)器人的激勵(lì)軌跡,如式(6)所示。
(6)
根據(jù)起始和終止位置的關(guān)節(jié)角速度和角加速度為零可得五次多項(xiàng)式的系數(shù)為:
(7)
式中qsf為起始角度和終止角度。
慣性參數(shù)矩陣P的精度主要由觀測矩陣條件數(shù)決定[13]。cond(Yr)越小,誤差越小,精度越高。因此激勵(lì)軌跡的優(yōu)化模型為
(8)
其約束條件為:
(9)
粒子群算法是一種具有顯著粒子協(xié)作特性的群體進(jìn)化算法。其粒子速度和位置更新公式為:
(10)
固定的慣性權(quán)重和學(xué)習(xí)因子會限制粒子的搜索能力,算法容易出現(xiàn)早熟現(xiàn)象導(dǎo)致迭代終止。針對上述不足,對慣性權(quán)重和學(xué)習(xí)因子做了如下改進(jìn)。
2.2.1 慣性權(quán)重
為平衡全局搜索能力和局部改良能力,引入雙曲正切函數(shù)對慣性權(quán)重進(jìn)行動(dòng)態(tài)自適應(yīng)調(diào)整,使其隨著迭代次數(shù)的變化而變化。
(11)
式中:ωmin、ωmax分別為慣性權(quán)重的最小值和最大值;k1、k2為任意實(shí)數(shù)。
圖2為當(dāng)k1=4、k2=3、ωmin=0.4、ωmax=0.9時(shí)的慣性權(quán)重變化曲線,可以看出:慣性權(quán)重在迭代初期和后期變化較小,可以避免早熟以及提高收斂精度;在迭代中期變化較快,保證了收斂速度。
圖2 慣性權(quán)重變化曲線
2.2.2 學(xué)習(xí)因子
引入動(dòng)態(tài)學(xué)習(xí)因子機(jī)制,讓學(xué)習(xí)因子根據(jù)當(dāng)前粒子本身適應(yīng)度和種群適應(yīng)度自適應(yīng)調(diào)整,在搜索前期讓c1取較大值、c2取較小值,充分發(fā)揮粒子的全局搜索能力,避免陷入早熟;在搜索后期讓c1取較小值、c2取較大值,對最優(yōu)區(qū)域進(jìn)行細(xì)致搜索,以期找到更加合適的最優(yōu)解。
(12)
(13)
種群早熟會導(dǎo)致粒子群算法尋優(yōu)性能降低,為了提高求解效率,避免早期粒子陷入局部最優(yōu),設(shè)計(jì)了一種搜索增強(qiáng)機(jī)制。搜索增強(qiáng)機(jī)制由粒子早熟判定標(biāo)準(zhǔn)和混沌搜索策略構(gòu)成,通過粒子層面的早熟判定,篩選早熟粒子,并通過混沌搜索優(yōu)化種群。
2.3.1 “早熟”判定標(biāo)準(zhǔn)
方差s2的大小反映了數(shù)據(jù)的離散程度。當(dāng)目前種群粒子的適應(yīng)度值方差s2小于某一給定常數(shù)C,且當(dāng)前全局最優(yōu)解fbest與理論最優(yōu)解或期望最優(yōu)解fd之差大于某一給定常數(shù)Δf時(shí),則表明種群出現(xiàn)早熟。種群適應(yīng)度方差計(jì)算公式為
(14)
式中fi為當(dāng)前迭代次數(shù)下第i個(gè)粒子的適應(yīng)度值。
判斷種群早熟的公式為
(15)
2.3.2 混沌搜索策略
篩選種群中適應(yīng)度大于上四分位數(shù)的粒子,將其放入待優(yōu)化粒子集合S1。采用Tent混沌序列[6]優(yōu)化集合S1,具體實(shí)現(xiàn)在式(16)中給出。
(16)
式中Xi為第i個(gè)粒子的位置映射在[0,1]區(qū)間內(nèi)的混沌序列。
以下是混沌搜索更新粒子位置的步驟:
(1)將粒子xi的每一維xij根據(jù)式(17)映射到[0,1]區(qū)間上;
(17)
式中[aj,bj]為第j維變量的定義域。
(3)根據(jù)式(18)將混沌序列逆映射回原空間:
(18)
(4)得到xi經(jīng)Tent映射的混沌序列的以優(yōu)化粒子集合S2:
(5)計(jì)算每一代的混沌點(diǎn)序列的適應(yīng)度值,取最優(yōu)的xim代替原來早熟的粒子位置xi。
圖3為ICPSO算法實(shí)現(xiàn)的流程圖。
圖3 ICPSO算法流程圖
首先評估了ICPSO、APSO和LPSO在5個(gè)基礎(chǔ)測試函數(shù)上的尋優(yōu)表現(xiàn),驗(yàn)證ICPSO尋優(yōu)能力;然后使用ICPSO算法對激勵(lì)軌跡優(yōu)化目標(biāo)進(jìn)行優(yōu)化求解,并進(jìn)行參數(shù)辨識實(shí)驗(yàn)。
本節(jié)中評估了ICPSO尋找5個(gè)常用基礎(chǔ)測試函數(shù)最優(yōu)值的能力,具體函數(shù)描述、取值范圍和理論最優(yōu)值在表1中給出。在算法驗(yàn)證中,ICPSO、APSO和LPSO分別在5個(gè)常用的基礎(chǔ)測試函數(shù)上各自運(yùn)行20次。3種算法共同設(shè)置cmin=0.5、cmax=2.5、ωmin=0.4、ωmax=0.9、T=100、Size=50、函數(shù)維度n=30。ICPSO算法單獨(dú)設(shè)置C=10、Δf=1。
表2展示了3種算法效果評估的數(shù)據(jù),使用最優(yōu)值的均值和方差評價(jià)算法。由表2可以看出,ICPSO算法在多峰測試函數(shù)F1、F2和單峰測試函數(shù)F3、F4的尋優(yōu)表現(xiàn)要好于APSO算法和LPSO算法,但在具有隨機(jī)干擾的單峰測試函數(shù)F5上的尋優(yōu)表現(xiàn)要差于APSO算法;LPSO算法在5個(gè)測試函數(shù)中的尋優(yōu)表現(xiàn)均較差。
使用MATLAB計(jì)算機(jī)器人的激勵(lì)軌跡,設(shè)基角頻率ωf=0.2π。待優(yōu)化的激勵(lì)軌跡模型共有30個(gè)待優(yōu)化參數(shù),采用ICPSO算法對激勵(lì)軌跡優(yōu)化的結(jié)果如表3所示,得到的觀測矩陣條件數(shù)分別為1.003 9和1.000 0。由于矩陣條件數(shù)總是大于等于1,因此求得的激勵(lì)軌跡參數(shù)為最優(yōu)值。
圖4為優(yōu)化后關(guān)節(jié)的位置、速度和加速度曲線圖,可知優(yōu)化后的激勵(lì)軌跡滿足約束,起始位置和終止位置連續(xù),軌跡平滑,保證機(jī)器人運(yùn)行的平穩(wěn)。第3關(guān)節(jié)所求觀測矩陣條件數(shù)為1,所求軌跡為最優(yōu)。這是因?yàn)榍?關(guān)節(jié)與第3關(guān)節(jié)解耦,優(yōu)化第3關(guān)節(jié)的激勵(lì)軌跡相當(dāng)于求解單關(guān)節(jié)的激勵(lì)軌跡。
為了驗(yàn)證ICPSO算法優(yōu)化激勵(lì)軌跡的可行性與可靠性,采用自適應(yīng)神經(jīng)網(wǎng)絡(luò)算法進(jìn)行參數(shù)辨識,并利用MATLAB仿真驗(yàn)證。
線性最小二乘法參數(shù)辨識容易造成結(jié)果發(fā)散,而神經(jīng)網(wǎng)絡(luò)算法可以通過神經(jīng)元之間的相互組合完成復(fù)雜的任務(wù)。神經(jīng)網(wǎng)絡(luò)的主要原理是梯度下降法,根據(jù)誤差來反向傳播并進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)的迭代更新[14]。不斷訓(xùn)練,獲得機(jī)器人的動(dòng)力學(xué)參數(shù)。
構(gòu)建如圖5所示的單層神經(jīng)網(wǎng)絡(luò)模型,輸入和輸出的數(shù)學(xué)關(guān)系為
Y=f(X·WT)
(19)
表1 測試函數(shù)
表2 算法效果評估
表3 最優(yōu)化激勵(lì)軌跡參數(shù)
(a)關(guān)節(jié)1、2角度曲線
(b)關(guān)節(jié)1、2角速度曲線
(c)關(guān)節(jié)1、2角加速度曲線
(d)關(guān)節(jié)3位移曲線
(e)關(guān)節(jié)3速度曲線
(f)關(guān)節(jié)3加速度曲線
圖5 神經(jīng)網(wǎng)絡(luò)參數(shù)辨識模型
式中:Y為輸出力矩;X為通過實(shí)驗(yàn)采集到的關(guān)節(jié)角度、速度及加速度計(jì)算得到的相應(yīng)觀測矩陣的數(shù)值;W為權(quán)重向量。
激活函數(shù)為f(x)=x。使用實(shí)際力矩和辨識力矩差值更新學(xué)習(xí)率,實(shí)現(xiàn)學(xué)習(xí)率的自適應(yīng)調(diào)節(jié),避免陷入局部最優(yōu)解和無法收斂。
動(dòng)力學(xué)參數(shù)仿真驗(yàn)證流程如圖6所示。使用前文得到的最優(yōu)激勵(lì)軌跡作為輸入,基于機(jī)器人動(dòng)力學(xué)模型得到機(jī)器人運(yùn)動(dòng)所需的關(guān)節(jié)力矩??紤]辨識過程中的噪聲干擾,加入干擾信號τd。圖7為參數(shù)辨識的MATLAB仿真模型,使用神經(jīng)網(wǎng)絡(luò)算法辨識得到機(jī)器人的動(dòng)力學(xué)參數(shù)如表4所示。為更好驗(yàn)證辨識參數(shù)的準(zhǔn)確性,采用如圖8所示的測試軌跡進(jìn)行驗(yàn)證,得到辨識模型和實(shí)際模型的輸出力矩對比曲線如圖9所示。
圖6 參數(shù)辨識仿真驗(yàn)證流程
圖7 動(dòng)力學(xué)參數(shù)辨識仿真模型
(a)關(guān)節(jié)1、2測試軌跡
(b)關(guān)節(jié)3測試軌跡
表4 動(dòng)力學(xué)參數(shù)辨識結(jié)果
據(jù)圖9可知辨識模型與實(shí)際模型所得到的3個(gè)關(guān)節(jié)的力矩曲線一致。為了更好量化表征理論計(jì)算值和實(shí)測值之間的誤差,分別利用均方根誤差和相關(guān)系數(shù)對其進(jìn)行描述,其表達(dá)式為:
(20)
(21)
計(jì)算得到各關(guān)節(jié)均方根誤差與相關(guān)系數(shù)如表5所示,可以看出各關(guān)節(jié)的均方根誤差和相關(guān)系數(shù)較小且符合第一關(guān)節(jié)辨識精度較低的規(guī)律。實(shí)驗(yàn)證明參數(shù)辨識結(jié)果的準(zhǔn)確性和ICPSO算法優(yōu)化方案的可行性。
表5 各關(guān)節(jié)誤差評價(jià)指標(biāo)
(a)關(guān)節(jié)1力矩對比
(b)關(guān)節(jié)2力矩對比
(c)關(guān)節(jié)3力矩對比
針對機(jī)器人動(dòng)力學(xué)參數(shù)辨識精度而提出的激勵(lì)軌跡優(yōu)化問題,改進(jìn)了混沌粒子群算法,以求解激勵(lì)軌跡的優(yōu)化模型。建立機(jī)器人的動(dòng)力學(xué)模型和激勵(lì)軌跡優(yōu)化目標(biāo)和約束條件的數(shù)學(xué)模型。在粒子群算法中引入基于迭代次數(shù)和種群適應(yīng)度的動(dòng)態(tài)控制參數(shù)策略以及基于混沌序列優(yōu)化早熟的種群粒子的搜索增強(qiáng)機(jī)制,并使用改進(jìn)后的粒子群算法優(yōu)化求解激勵(lì)軌跡。最后,采用神經(jīng)網(wǎng)絡(luò)算法進(jìn)行動(dòng)力學(xué)參數(shù)辨識,得到符合實(shí)際工況要求精度的機(jī)器人動(dòng)力學(xué)參數(shù)。