陳飛翔,李成剛,儲(chǔ)亞東,王劍,岳云雙
(南京航空航天大學(xué) 機(jī)電學(xué)院,江蘇 南京 210016)
機(jī)器人動(dòng)態(tài)控制需確定動(dòng)力學(xué)參數(shù),再通過設(shè)計(jì)激勵(lì)軌跡,將采樣點(diǎn)數(shù)據(jù)代入動(dòng)力學(xué)模型,并結(jié)合相關(guān)辨識(shí)方法以求解參數(shù)值并驗(yàn)證。柳賀等將機(jī)器人動(dòng)力學(xué)模型線性化處理后,使用多項(xiàng)式作為激勵(lì)軌跡,并用最小二乘法辨識(shí)參數(shù)[1]。ATKESON C G等依據(jù)辨識(shí)矩陣上三角結(jié)構(gòu),將參數(shù)分成兩組進(jìn)行辨識(shí)[2]。丁亞東等鑒于機(jī)器人肘、腕關(guān)節(jié)差異性,將六自由度機(jī)器人前后三關(guān)節(jié)參數(shù)分開辨識(shí)[3]。分步辨識(shí)利于簡化模型,但上述研究從機(jī)器人具體結(jié)構(gòu)或辨識(shí)矩陣特殊形式說明參數(shù)集可分成獨(dú)立的參數(shù)組,進(jìn)而進(jìn)行分步辨識(shí),故其不具普適性。
張鐵等提出先完成摩擦參數(shù)辨識(shí),使動(dòng)力學(xué)模型可線性化,再辨識(shí)慣性參數(shù)[4]。GROTJAHN M等根據(jù)不同激勵(lì)條件,選擇對應(yīng)關(guān)節(jié)組合運(yùn)動(dòng),實(shí)現(xiàn)分步辨識(shí)[5]。對于無法獨(dú)立分離的參數(shù),只可將已辨識(shí)參數(shù)代入后續(xù)辨識(shí)方程組中,則此時(shí)會(huì)產(chǎn)生誤差累積。但各研究均未給出減少誤差的具體方法。
本文針對柔性關(guān)節(jié)機(jī)器人,首先建立了包含重力補(bǔ)償?shù)膭?dòng)力學(xué)模型,同時(shí)將模型線性化處理。隨后,依據(jù)各參數(shù)的獨(dú)立性進(jìn)行初分組,并確定對應(yīng)激勵(lì)軌跡形式,將辨識(shí)矩陣轉(zhuǎn)換為觀測矩陣,分析其秩與條件數(shù),進(jìn)行再分組。最后,結(jié)合變量間的關(guān)聯(lián)關(guān)系確定辨識(shí)順序,采用最小二乘法進(jìn)行參數(shù)分步辨識(shí)。以二自由度機(jī)器人為例,通過本文所提出策略,得出具體的參數(shù)分組與辨識(shí)順序,并驗(yàn)證了策略可實(shí)現(xiàn)模型所有參數(shù)的辨識(shí)。
將柔性關(guān)節(jié)簡化為圖1所示模型,即用剛度為ki的彈簧表示諧波減速器中柔輪的柔性,θmi為電機(jī)i轉(zhuǎn)子輸出轉(zhuǎn)角,θri為減速后轉(zhuǎn)角,θli為最終連桿i輸出轉(zhuǎn)角。
圖1 柔性關(guān)節(jié)機(jī)器人關(guān)節(jié)簡化模型圖
由于諧波減速器采用行星齒輪傳動(dòng),故輸入與輸出軸軸線可視作重合,又因質(zhì)量主要集中在連桿,速度集中在轉(zhuǎn)子,故僅考慮轉(zhuǎn)子與連桿動(dòng)能。由此,可用標(biāo)準(zhǔn)D-H法建立連桿與轉(zhuǎn)子坐標(biāo)系。
以二自由度機(jī)器人為例,建立如圖2所示的坐標(biāo)系。設(shè)O′i-x′iy′iz′i為轉(zhuǎn)子坐標(biāo)系,Oi-xiyizi為連桿坐標(biāo)系,li、d′i分別為桿長與電機(jī)安裝位置幾何參數(shù)。
圖2 二自由度柔性關(guān)節(jié)機(jī)器人坐標(biāo)系分析圖
由D-H參數(shù)可得各系變換矩陣,后利用拉格朗日方程建立機(jī)器人動(dòng)力學(xué)模型。因轉(zhuǎn)子上任一點(diǎn)的速度由自身相對轉(zhuǎn)速與對應(yīng)桿牽連速度組成,使得轉(zhuǎn)子動(dòng)能中存在轉(zhuǎn)子轉(zhuǎn)角與連桿轉(zhuǎn)角耦合項(xiàng)。當(dāng)減速器減速比較大時(shí),可忽略連桿轉(zhuǎn)速。另設(shè)轉(zhuǎn)子質(zhì)心位于旋轉(zhuǎn)軸上,由此可消去耦合項(xiàng),同時(shí)簡化重力勢能項(xiàng),利于后續(xù)參數(shù)辨識(shí)。最終柔性關(guān)節(jié)機(jī)器人動(dòng)力學(xué)模型如下所示:
(2)
τ=K(N-1θm-θl)
(3)
本文針對裝有轉(zhuǎn)矩傳感器的機(jī)器人進(jìn)行重力補(bǔ)償。目前機(jī)器人模型中,重力補(bǔ)償多是針對六維力傳感器,抑或是研究并聯(lián)機(jī)器人,此處給出柔性關(guān)節(jié)串聯(lián)機(jī)器人的重力補(bǔ)償模型。圖3為機(jī)器人在靜止?fàn)顟B(tài)下關(guān)節(jié)所受重力矩作用示意圖。
圖3 機(jī)器人靜態(tài)下的關(guān)節(jié)受力分析圖
因關(guān)節(jié)2跟隨連桿1運(yùn)動(dòng),連桿1與轉(zhuǎn)子1重力未對關(guān)節(jié)2產(chǎn)生相對運(yùn)動(dòng)趨勢,所以關(guān)節(jié)2轉(zhuǎn)矩傳感器僅受到連桿2的重力作用。可求得如下關(guān)系式:
(4)
(5)
取Mg1、Mg2的Z維度數(shù)值,即得作用在關(guān)節(jié)1、關(guān)節(jié)2軸上的總重力矩Mg1Z、Mg2Z。機(jī)器人運(yùn)動(dòng)狀態(tài)下,轉(zhuǎn)矩傳感器示數(shù)包括零點(diǎn)值、重力矩、外力矩與連桿慣性力,有
τ=MgZ+M0+τext+Fa
(6)
式中:MgZ為重力矩向量;M0為傳感器零點(diǎn)向量;Fa為連桿慣性力。聯(lián)立式(1)、式(6),可得式(7),即為基于轉(zhuǎn)矩傳感器的機(jī)器人重力補(bǔ)償動(dòng)力學(xué)模型。
(7)
其中g(shù)′v為gv與MgZ之差,兩者具有相同參數(shù),故可合并。
分析機(jī)器人動(dòng)、勢能公式,可知?jiǎng)恿W(xué)方程可化作關(guān)于慣性參數(shù)的線性方程,且當(dāng)摩擦、阻尼等均采用線性模型時(shí),機(jī)器人整體動(dòng)力學(xué)模型可線性化。此處考慮關(guān)節(jié)柔性與重力矩,其對應(yīng)模型在形式上同樣易化為線性方程組。
采用最小二乘法求解線性方程組的解,則此時(shí)需保證系數(shù)矩陣非奇異,故去除模型中的線性相關(guān)項(xiàng),使所對應(yīng)參數(shù)化作最小參數(shù)集,對應(yīng)系數(shù)矩陣行、列滿秩。可得如下方程組:
Y[pg,pI,plf]T=τext+τ
(8)
Ym[pm,pmf]T=τm-N-1τ
(9)
(10)
MgZ+M0=[Yg,E][pg,M0]T
(11)
式中:pg為重力矩相關(guān)參數(shù);pI為慣量相關(guān)參數(shù);plf、pmf為連桿、轉(zhuǎn)子摩擦參數(shù);pm為電機(jī)相關(guān)參數(shù);pk為彈簧剛度參數(shù);Y、Ym、Yk、Yg為各方程組系數(shù)矩陣;E為單位矩陣;n1、n2為對應(yīng)關(guān)節(jié)減速比。
設(shè)計(jì)激勵(lì)軌跡θl=θl(t)或θm=θm(t),t為軌跡運(yùn)行時(shí)間。依據(jù)設(shè)備確定采樣頻率fs,以式(8)為例,可將方程寫作如下形式:
[τext0+τ0,τext1+τ1,…,τextNA+τNA]T=
YN[pg,pI,plf]T
(12)
其中:T為單次運(yùn)動(dòng)時(shí)間;YN為辨識(shí)矩陣Y的觀測矩陣;NA=Tfs為時(shí)間T內(nèi)除0時(shí)刻外的總采樣點(diǎn)數(shù)。當(dāng)確定激勵(lì)軌跡后,控制機(jī)器人運(yùn)動(dòng),代入實(shí)驗(yàn)所測反饋值,得YNr,則可由最小二乘法得出所求參數(shù)值。
由此可知,YN中線性無關(guān)行向量必須大于等于所求變量數(shù)。故在進(jìn)行辨識(shí)實(shí)驗(yàn)前,需驗(yàn)證YN的秩。本文采用不同變量表示不同時(shí)刻采樣值,變量間彼此獨(dú)立,則此時(shí)系數(shù)矩陣無需按采樣頻率進(jìn)行擴(kuò)充,僅需滿足行數(shù)大于等于對應(yīng)變量數(shù)。如pm為六維向量,而Ym行數(shù)為2,則僅需取3組無關(guān)變量作為3個(gè)時(shí)刻的采樣值,求解該偽觀測矩陣的秩即可。
當(dāng)機(jī)器人靜止,且無外力矩作用時(shí),若(Yg,E)滿足秩要求,則式(11)可進(jìn)行辨識(shí)。但計(jì)算知(Yg,E)不可能滿秩,故無法單獨(dú)進(jìn)行重力與零點(diǎn)的參數(shù)辨識(shí)。同理,式(8)在無摩擦力的情況下才可辨識(shí)。
經(jīng)對各式系數(shù)矩陣秩的分析,可確定各參數(shù)的基本辨識(shí)順序,即必須先單獨(dú)進(jìn)行摩擦參數(shù)pf辨識(shí),后代入連桿模型,以辨識(shí)pg與pI,進(jìn)而求取M0。因系數(shù)矩陣滿秩,故pm、pmf可直接辨識(shí),而式(10)同時(shí)包含連桿與轉(zhuǎn)子轉(zhuǎn)角,可直接沿用前連桿或轉(zhuǎn)子所得激勵(lì)軌跡進(jìn)行辨識(shí)。
cond2(A1A2)≤cond2(A1)cond2(A2)
(13)
其中:cond2(A1A2)一般接近其最大值;A1、A2為任意矩陣。當(dāng)式(10)與式(9)聯(lián)立時(shí),有:
[Ym,N-1Yk][pm,pmf,pk]T=
[Ym,E2×2]diag(E6×6,N-1Yk)[pm,pmf,pk]T=
(14)
[τm0,τm1,…,τmNA]T
(15)
(16)
綜上所述,對于機(jī)器人動(dòng)力學(xué)模型參數(shù)辨識(shí),需要從系數(shù)矩陣的秩與條件數(shù)兩個(gè)方面出發(fā),確定各參數(shù)組合情況。所提參數(shù)分步辨識(shí)策略流程如圖4所示。
圖4 機(jī)器人動(dòng)力學(xué)模型參數(shù)分步辨識(shí)策略
當(dāng)考慮阻尼、干擾力矩,或是分析剛性機(jī)器人等,上述策略仍適用。對于二自由度柔性關(guān)節(jié)機(jī)器人,具體辨識(shí)過程如圖5所示。
圖5 柔性關(guān)節(jié)機(jī)器人參數(shù)分步辨識(shí)流程圖
由于使用最小二乘法后,對應(yīng)系數(shù)矩陣條件數(shù)為觀測矩陣條件數(shù)的平方,故為保證精度,觀測矩陣條件數(shù)一般<10。
針對二自由度柔性關(guān)節(jié)機(jī)器人,采用多項(xiàng)式形式的激勵(lì)軌跡,以驗(yàn)證所提策略的可行性。為防止偶然性,將多項(xiàng)式軌跡修正為周期函數(shù),有
θ(t)=a0+a1mod(t,T)+a2[mod(t,T)]2+…+
aNF[mod(t,T)]NF
(17)
式中:θ為任意關(guān)節(jié)連桿或電機(jī)轉(zhuǎn)角;ai為激勵(lì)軌跡系數(shù);NF為多項(xiàng)式次數(shù);t為時(shí)間參數(shù);T為運(yùn)動(dòng)周期;mod(t,T)為t對T作取余運(yùn)算。為保護(hù)設(shè)備,應(yīng)使電機(jī)柔性啟動(dòng),且在安全范圍內(nèi)運(yùn)動(dòng),有邊界條件如下:
(18)
依據(jù)條件方程數(shù)目,可知NF≥8。此處采用八次多項(xiàng)式作為激勵(lì)軌跡,代入各方程的觀測矩陣中。同時(shí),為簡化運(yùn)算,統(tǒng)一指定初始角度為30°,周期為5 s,采樣頻率為50 Hz,機(jī)器人參數(shù)如表1所示。
表1 機(jī)器人模型參數(shù)表
采用遺傳算法求解各方程條件數(shù)最小值,其相關(guān)參數(shù)如表2所示。
表2 遺傳算法主要參數(shù)表
由于觀測矩陣滿秩是條件數(shù)衡量方程解誤差的前提,故僅對滿足秩要求的方程進(jìn)行最小條件數(shù)計(jì)算,結(jié)果如表3所示。
表3 機(jī)器人模型最小條件數(shù)統(tǒng)計(jì)表
由計(jì)算結(jié)果,可得各模型優(yōu)化后的激勵(lì)軌跡曲線,如圖6、圖7所示。
圖6 單桿運(yùn)動(dòng)各桿激勵(lì)軌跡圖
圖7 雙桿運(yùn)動(dòng)各桿激勵(lì)軌跡圖
由仿真計(jì)算結(jié)果,可得如下結(jié)論:
1)各模型最小條件數(shù)均較小,滿足要求;
2)依條件數(shù)大小,先單獨(dú)運(yùn)動(dòng)各桿以辨識(shí)摩擦參數(shù),后運(yùn)動(dòng)桿2辨識(shí)部分慣性參數(shù),最后同時(shí)運(yùn)動(dòng)兩桿,辨識(shí)剩余參數(shù);
3)軌跡范圍大小與條件數(shù)不一定成正比;
4)采樣頻率與運(yùn)動(dòng)周期應(yīng)取較大值,否則條件數(shù)將較大。
本文提出基于關(guān)節(jié)轉(zhuǎn)矩傳感器重力補(bǔ)償?shù)娜嵝躁P(guān)節(jié)機(jī)器人動(dòng)力學(xué)模型。在模型可線性化以及辨識(shí)方法為最小二乘法的前提下,本文制定了基于矩陣秩與條件數(shù)的參數(shù)分步辨識(shí)策略,并針對線性方程,說明了進(jìn)行分步辨識(shí)的判據(jù)、確定辨識(shí)順序的方法以及降低誤差的途徑等。該策略同樣可用于其他領(lǐng)域線性方程組的參數(shù)辨識(shí)。