鐘佩思, 劉金銘, 呂文浩, 張振宇, 宋慶軍
(山東科技大學(xué)機(jī)電學(xué)院, 青島 266590)
隨著工業(yè)自動(dòng)化的發(fā)展,要求機(jī)器人完成的任務(wù)越來越復(fù)雜,對機(jī)器人與環(huán)境交互能力的要求越來越高。要想提高機(jī)器人的控制精度,提高機(jī)器人與環(huán)境的交互能力,需要得到機(jī)器人準(zhǔn)確的動(dòng)力學(xué)模型,設(shè)計(jì)基于機(jī)器人動(dòng)力學(xué)模型的控制系統(tǒng)[1]。參數(shù)辨識將理論建模和實(shí)驗(yàn)建模的優(yōu)點(diǎn)結(jié)合起來,利用實(shí)驗(yàn)數(shù)據(jù)得到準(zhǔn)確的機(jī)器人動(dòng)力學(xué)參數(shù),修正機(jī)器人的動(dòng)力學(xué)模型[2-4]。
工業(yè)機(jī)器人動(dòng)力學(xué)參數(shù)辨識流程包括動(dòng)力學(xué)模型建立及其線性化、激勵(lì)軌跡選取及其優(yōu)化、辨識算法設(shè)計(jì)、參數(shù)采集與處理、實(shí)驗(yàn)驗(yàn)證[5-6]等。其中,激勵(lì)軌跡的選取和優(yōu)化是決定機(jī)器人動(dòng)力學(xué)參數(shù)辨識是否精準(zhǔn)的重要基礎(chǔ)[7]。為了避免激發(fā)機(jī)器人的高頻特性[8-9],減少噪聲干擾對參數(shù)辨識的影響,提高機(jī)器人動(dòng)力學(xué)參數(shù)的辨識精度,需要選取合適的激勵(lì)軌跡并對其進(jìn)行優(yōu)化。
常用的激勵(lì)軌跡有三次、五次多項(xiàng)式、傅里葉級數(shù)及其改進(jìn)等。劉磊等[10]引進(jìn)S型函數(shù)優(yōu)化收斂因子,提出了一種改進(jìn)的基于S型函數(shù)的灰狼算法,擴(kuò)大了算法的搜索范圍,避免了算法的“早熟”。嚴(yán)浩等[11]采用基于排擠機(jī)制的小生境遺傳算法對SCARA機(jī)器人前兩關(guān)節(jié)的激勵(lì)軌跡進(jìn)行優(yōu)化,沒有考慮SCARA機(jī)器人其他關(guān)節(jié)的激勵(lì)軌跡。張師源等[12]采用遺傳算法優(yōu)化了激勵(lì)軌跡,沒有考慮遺傳算法易陷入局部最優(yōu)解的缺點(diǎn)。Liu[13]等提出了一種基于改進(jìn)的人工魚群算法的辨識方法,證明了辨識方法的有效性。張鐵等[14]使用lagrange法建立機(jī)器人的線性辨識模型,對六階傅里葉級數(shù)進(jìn)行優(yōu)化,得到了六自由度機(jī)器人的激勵(lì)軌跡,沒有考慮優(yōu)化算法。李家錚等[15]。通過遞推最小二乘法獲得辨識參數(shù),提高了辨識的準(zhǔn)確性。
針對上述問題,以SCARA機(jī)器人為研究對象,使用Newton-Euler迭代法建立機(jī)器人的動(dòng)力學(xué)模型并進(jìn)行線性化,以觀測矩陣條件數(shù)最小作為優(yōu)化目標(biāo),選擇5階傅里葉級數(shù)的作為激勵(lì)軌跡,使用改進(jìn)的雙層自適應(yīng)遺傳算法進(jìn)行優(yōu)化,利用遞推最小二乘法計(jì)算機(jī)器人的最小慣性參數(shù)集。
SCARA機(jī)器人的空間定位精度由連桿1、連桿2和連桿3決定,將連桿4示為連桿3的負(fù)載,僅對前三個(gè)工作臂進(jìn)行動(dòng)力學(xué)建模。
利用Newton-Euler法求機(jī)器人動(dòng)力學(xué)方程的具體過程分為兩部分,第一部分從連桿0到連桿n向外迭代計(jì)算連桿的速度和加速度。第一部分根據(jù)關(guān)節(jié)類型又可分為兩種遞推方式。對于轉(zhuǎn)動(dòng)關(guān)節(jié),外推公式為
(1)
對于移動(dòng)關(guān)節(jié),外推公式為
(2)
第二部分從連桿n到連桿1向內(nèi)計(jì)算連桿間的相互作用力和力矩以及關(guān)節(jié)驅(qū)動(dòng)力矩,計(jì)算公式為
(3)
式(3)中:F表示驅(qū)動(dòng)力;N表示驅(qū)動(dòng)力矩;m表示連桿質(zhì)量;I表示連桿坐標(biāo)系的慣性張量矩陣。
根據(jù)Newton-Euler迭代法的計(jì)算步驟,利用MATLAB編寫迭代計(jì)算程序,計(jì)算得到自由運(yùn)動(dòng)SCARA機(jī)器人各關(guān)節(jié)力矩[f1;n1][f2;n2][f3;n3]。
因?yàn)殛P(guān)節(jié)1、2為旋轉(zhuǎn)關(guān)節(jié),關(guān)節(jié)3為移動(dòng)關(guān)節(jié),且各關(guān)節(jié)的旋轉(zhuǎn)軸均為Z軸,得到各關(guān)節(jié)的驅(qū)動(dòng)力矩為
(4)
因?yàn)闄C(jī)器人的動(dòng)力學(xué)模型是其慣性參數(shù)的線形函數(shù),故可將機(jī)器人動(dòng)方程線性化為關(guān)節(jié)驅(qū)動(dòng)力矩與慣性參數(shù)的表達(dá)式,即
(5)
式(5)中:Y是大小為n×10的觀測矩陣;n為連桿數(shù)量;P為待辨識慣性參數(shù)集,P={xx1xy1xz1yy1yz1zz1mx1my1mz1mi}。
由于SCARA機(jī)器人動(dòng)力學(xué)模型較為簡單,采用數(shù)學(xué)推導(dǎo)的方法,依次確定連桿3至連桿1的最小慣性參數(shù)和觀測矩陣為
(6)
機(jī)器人在激勵(lì)軌跡中達(dá)到的位姿越多,測得的動(dòng)力學(xué)參數(shù)信息就越全面,動(dòng)力學(xué)參數(shù)的辨識精度就會越高;同時(shí),為了減少噪聲干擾對參數(shù)精度的影響,需要在進(jìn)行激勵(lì)軌跡優(yōu)化之前需要選擇合適的激勵(lì)軌跡模型,避免激發(fā)機(jī)器人的高頻特性。
關(guān)節(jié)i角度的改進(jìn)傅里葉級數(shù)公式為
(7)
根據(jù)式(7)可得關(guān)節(jié)i角速度和角加速度表達(dá)式為
(8)
改進(jìn)的傅里葉級數(shù)可以滿足連續(xù)性、周期性和運(yùn)行的平穩(wěn)性,在軌跡起始和停止的位置,關(guān)節(jié)i的角速度和角加速度為零,滿足上述要求的約束條件為
(9)
式(9)中:ts和tf分別為軌跡起始時(shí)刻和終止時(shí)刻,θs-f為起始和終止時(shí)刻關(guān)節(jié)角。
利用式(9)中的4個(gè)約束條件,可得改進(jìn)傅里葉級數(shù)中五次多項(xiàng)式的系數(shù)為
(10)
在進(jìn)行動(dòng)力學(xué)參數(shù)辨識的過程中,N階動(dòng)力學(xué)參數(shù)辨識方程τN=YNp由N組觀測數(shù)據(jù)組成回歸矩陣YN和關(guān)節(jié)驅(qū)動(dòng)力矩矩陣τN組成。當(dāng)YN和τN存在擾動(dòng)δYN和δτN時(shí),N階動(dòng)力學(xué)參數(shù)辨識方程為
(τN+δτN)=(YN+δYN)(p+δp)
(11)
聯(lián)立式(5),兩式相減可得
δτN=YNδp+δYNδp+δYNp
(12)
由式(12)推導(dǎo)可得
(13)
對式(13)兩邊取范數(shù)可得
(14)
進(jìn)一步化簡可得
(15)
(16)
最終可得待辨識參數(shù)集p的相對誤差為
(17)
根據(jù)定義可知,回歸矩陣的條件數(shù)為
(18)
將式(18)代入式(17)可得
(19)
在遺傳算法中,直接影響算法的收斂性。傳統(tǒng)的遺傳算法,遵循選擇、交叉和變異的順尋,但在種群相對集中的情況下,交叉的意義不大,種群依然有可能陷入局部最優(yōu)解[16-18]。因此,提出順序自適應(yīng)機(jī)制,通過判斷種群的集散程度,確定交叉和變異的順尋。當(dāng)種群較為集中時(shí),先進(jìn)行變異操作,跳出局部最優(yōu);當(dāng)種群較為發(fā)散時(shí),則先執(zhí)行交叉,再進(jìn)行變異。
此外,交叉概率大,容易使優(yōu)良基因被破壞;交叉概率小,舊的基因不容易被破壞,容易導(dǎo)致算法早熟。變異概率過小,不易形成新的個(gè)體,降低了全局搜索能力;變異概率過大,則增強(qiáng)了隨機(jī)性,增大了全局搜索時(shí)間。并且引入概率自適應(yīng)調(diào)整函數(shù),使交叉概率和變異概率跟隨個(gè)體適應(yīng)度大小和群體的分散程度進(jìn)行自動(dòng)調(diào)整。如圖1所示為改進(jìn)的自適應(yīng)遺傳算法的流程。
圖1 改進(jìn)自適應(yīng)遺傳算法流程
利用當(dāng)代種群適應(yīng)度的最大值和平均值作為評判標(biāo)準(zhǔn),完成對群體集散度的判斷和對交叉概率Pc和變異概率Pm的調(diào)整。概率自適應(yīng)調(diào)整函數(shù)為
(20)
(21)
當(dāng)個(gè)體最大適應(yīng)度大于當(dāng)代種群中的平均適應(yīng)度時(shí),認(rèn)為個(gè)體性能較好,則降低交叉概率Pc和變異概率Pm以盡可能保存其優(yōu)良特性;當(dāng)個(gè)體最大適應(yīng)度小于當(dāng)代種群中的平均適應(yīng)度時(shí),認(rèn)為個(gè)體性能不佳,則增大交叉概率Pc和變異概率Pm以加快個(gè)體更新速度。群體集散度判斷函數(shù)為
(22)
式(22)中:fmax是當(dāng)代種群中的最大適應(yīng)度值;favg是當(dāng)代種群中的平均適應(yīng)度值。
如果群體適應(yīng)度滿足該公式,則先認(rèn)為群體足夠離散,執(zhí)行交叉變異;否則,先執(zhí)行變異再進(jìn)行交叉。
經(jīng)過上述分析,最終可以確定改進(jìn)的傅里葉級數(shù)的軌跡優(yōu)化目標(biāo)為觀測矩陣條件數(shù),利用改進(jìn)的自適應(yīng)遺傳算法獲得全局最優(yōu)化的系數(shù)ai,k、bi,k、b0,具體的約束條件為
(23)
式(23)中:SCARA機(jī)器人各關(guān)節(jié)角度、角速度、角加速度的限制范圍如表1所示。
表1 關(guān)節(jié)運(yùn)動(dòng)限制范圍
在簡化后SCARA機(jī)器人中,連桿1、2的轉(zhuǎn)動(dòng)和連桿3的移動(dòng)是解耦的。因此,分別求取前兩關(guān)節(jié)和關(guān)節(jié)3的激勵(lì)軌跡。
根據(jù)式(6)可知,前兩關(guān)節(jié)和第三關(guān)節(jié)的觀測矩陣為
(24)
選擇改進(jìn)的5階傅里葉級數(shù)作為激勵(lì)軌跡,分別以式(23)中①、②條件數(shù)的表達(dá)式cond(Yr)作為目標(biāo)優(yōu)化函數(shù),共有30個(gè)待優(yōu)化參數(shù)。設(shè)置基頻ω=0.2π,迭代次數(shù)設(shè)置為400代,種群大小設(shè)置為60,交叉概率Pc設(shè)置為0.5,變異概率Pm設(shè)置為0.5。優(yōu)化結(jié)果如表2所示,改進(jìn)自適應(yīng)遺傳算法得到的前兩關(guān)節(jié)和第三關(guān)節(jié)的觀測矩陣條件數(shù)分別為1.041 4和1.000 0。
表2 最優(yōu)化傅里葉級數(shù)系數(shù)
為了驗(yàn)證本文提出的激勵(lì)軌跡優(yōu)化算法的可行性與可靠性,利用MATLAB和ADAMS進(jìn)行聯(lián)合仿真。因?yàn)镾CARA機(jī)器人第三關(guān)節(jié)與前兩關(guān)節(jié)解耦,所以分別對前兩關(guān)節(jié)和第三關(guān)節(jié)進(jìn)行參數(shù)辨識仿真實(shí)驗(yàn)。
表3 參數(shù)辨識結(jié)果
圖2 動(dòng)力學(xué)參數(shù)辨識仿真與驗(yàn)證流程圖
圖3 待辨識參數(shù)誤差收斂過程
將辨識結(jié)果代入機(jī)器人的動(dòng)力學(xué)模型中,得到參數(shù)辨識模型。將軌跡作為輸入,對比辨識模型和ADAMS物理模型輸出的關(guān)節(jié)力矩。圖4所示為各關(guān)節(jié)的辨識模型和ADAMS物理模型輸出的力矩對比曲線。
根據(jù)圖4所示的仿真結(jié)果可知,辨識模型與ADAMS物理模型得到的3個(gè)關(guān)節(jié)的力矩曲線整體趨勢大致相同,數(shù)據(jù)也基本吻合。為了更好地表征理論計(jì)算值與實(shí)測值之間的偏離程度即誤差,分別利用平均絕對誤差和均方根誤差來分別對其進(jìn)行描述。平均絕對誤差與均方根誤差的表達(dá)式為
(25)
根據(jù)式(25)計(jì)算得到的各關(guān)節(jié)平均絕對誤差與均方根誤差如表4所示。
表4 各關(guān)節(jié)誤差評價(jià)指標(biāo)
根據(jù)圖4中的信息可知,使用理論模型得到的理論力矩與使用辨識模型得到的辨識力矩在數(shù)值上和變化趨勢上均大致相同。根據(jù)表4的數(shù)據(jù)可知,使用雙層自適應(yīng)遺傳算法得到的激勵(lì)軌跡,提升了機(jī)器人的動(dòng)力學(xué)參數(shù)辨識精度[15]。
第一關(guān)節(jié)的均方根誤差和平均絕對誤差最大,這是由于第一關(guān)節(jié)的電機(jī)力矩最大??偟膩碚f,實(shí)驗(yàn)結(jié)果較為理想,證明了辨識結(jié)果的準(zhǔn)確性和改進(jìn)遺傳算法優(yōu)化方案的可行性。
(1)采用Newton-Euler法建立了SCARA機(jī)器人的動(dòng)力學(xué)模型,并采用數(shù)學(xué)推導(dǎo)的方法對模型進(jìn)行線性化和參數(shù)分離,得到了SCARA機(jī)器人前三關(guān)節(jié)的觀測矩陣和最小待辨識參數(shù)集。
(2)選擇改進(jìn)的傅里葉級數(shù)作為激勵(lì)軌跡,分析辨識參數(shù)辨識方程,確定了觀測矩陣條件數(shù)最小的優(yōu)化目標(biāo)。對遺傳算法進(jìn)行改進(jìn),提出了雙層自適應(yīng)機(jī)制,確定了基于雙層自適應(yīng)機(jī)制的激勵(lì)軌跡優(yōu)化方案。
(3)使用MATLAB和ADAMS進(jìn)行聯(lián)合仿真實(shí)驗(yàn),基于遞推最小二乘法得到了機(jī)器人的最小慣性參數(shù)集。實(shí)驗(yàn)結(jié)果表明,使用雙層自適應(yīng)遺傳算法得到的激勵(lì)軌跡可以保證機(jī)器人動(dòng)力學(xué)參數(shù)辨識的精度。