潘炳偉,呂 燕,蔣勁峰,薛佩姣
上海電氣集團股份有限公司 中央研究院 上海 200070
如果要提高高速、重載、高精度機器人的控制精度,那么需要采用構(gòu)建更加先進的考慮機器人動力學(xué)模型的控制方法,如力矩控制、動力學(xué)前饋控制等。由于機器人的動力學(xué)模型體現(xiàn)了機器人內(nèi)在的力與運動關(guān)系,因此基于機器人動力學(xué)模型的控制方法可以實時、準(zhǔn)確地給出機器人進行目標(biāo)運動所需要的力矩值[1]。
隨著工業(yè)、醫(yī)療及服務(wù)業(yè)水平的不斷提高,人們迫切希望工業(yè)機器人能夠與人類協(xié)同工作,人機協(xié)作的需求越來越強烈,協(xié)作機器人得到了快速發(fā)展。拖動示教和碰撞檢測功能是實現(xiàn)人機協(xié)作的基礎(chǔ),實現(xiàn)這兩個功能,需要精準(zhǔn)的動力學(xué)模型。得到精準(zhǔn)動力學(xué)模型的前提是進行動力學(xué)參數(shù)辨識。
慣性參數(shù)是機器人動力學(xué)模型分析的重要指標(biāo)之一,決定機器人末端執(zhí)行器的控制精度,在機器人動力學(xué)研究中占據(jù)重要地位。慣性參數(shù)需要借助參數(shù)辨識的方法進行獲取,慣性參數(shù)的辨識問題一直是國內(nèi)外專家學(xué)者研究的重點,為人們所關(guān)注和重視。慣性參數(shù)的辨識方法大致可以分為五類:解體測量法[2-3]、計算機輔助設(shè)計法[4-5]、不解體測量法、理論辨識法、加裝傳感器辨識法。
筆者對影響動力學(xué)參數(shù)辨識的因素——機器人關(guān)節(jié)摩擦進行建模與分析,設(shè)計關(guān)節(jié)摩擦力矩和重力矩的測量試驗,基于實測摩擦數(shù)據(jù),研究動態(tài)力矩對摩擦力矩,即庫倫摩擦的影響,并應(yīng)用關(guān)節(jié)勻速運動軌跡法對黏性摩擦系數(shù)進行擬合與對比。筆者在研究中提出基于連接組合體的機械臂慣性參數(shù)分步辨識方法,這一方法將關(guān)節(jié)鎖定,無論機器人關(guān)節(jié)數(shù)目多少,每次的辨識對象都是末端連桿。應(yīng)用這一方法,每次辨識相互獨立,不需要將辨識結(jié)果帶入其它辨識中,誤差累積大大減小。這一方法對每個連桿組合體的慣性參數(shù)分別進行辨識,參數(shù)辨識精度高,尤其是對于靠近基座的關(guān)節(jié)而言。
串聯(lián)機器人由一系列連桿連接構(gòu)成,通常應(yīng)用Denavit-Hartenberg模型進行研究。為了清晰描述每個連桿與相鄰連桿之間的相對位置關(guān)系,需要在每個連桿上定義一個坐標(biāo)系。將固連于連桿上的坐標(biāo)系稱為連桿坐標(biāo)系[6-7]。
將固連于機器人基座上的坐標(biāo)系定義為坐標(biāo)系{0},該坐標(biāo)系通常固定不動,作為參考坐標(biāo)系。在這個參考坐標(biāo)系中,可以描述機器人其它連桿坐標(biāo)系的位置。為了使問題簡化,通常設(shè)定Z0軸為沿關(guān)節(jié)軸1方向。
對于協(xié)作機器人而言,所有關(guān)節(jié)都是旋轉(zhuǎn)關(guān)節(jié)。對機器人各機械臂建立連桿坐標(biāo)系,如圖1所示。根據(jù)Denavit-Hartenberg模型和圖1,推算出機器人的連桿參數(shù),見表1。
圖1 協(xié)作機器人連桿坐標(biāo)系
(1)
式中:Rx(αi-1)為繞x軸旋轉(zhuǎn)αi-1角度的旋轉(zhuǎn)變換矩陣;Dx(ai-1)為沿x軸平移ai-1距離的平移變換矩陣;Rz(θi)為繞z軸旋轉(zhuǎn)θi角度的旋轉(zhuǎn)變換矩陣;Dz(di)為沿z軸平移di距離的平移變換矩陣。
表1 協(xié)作機器人連桿參數(shù)
根據(jù)協(xié)作機器人的連桿參數(shù),可以求出每一個連桿的變換矩陣,從而求出運動學(xué)正反解。
根據(jù)牛頓-歐拉動力學(xué)建模,得到協(xié)作機器人動力學(xué)模型為:
τ=τf+τd
(2)
(3)
pg=[Ixx,Ixy,Ixz,Iyy,Iyz,Izz,Hx,Hy,
Hz,m]
(4)
(5)
式中:Ixx、Ixy、Ixz、Iyy、Iyz、Izz為機器人慣量矩陣I中的六個參數(shù);rcx、rcy、rcz為質(zhì)心向量;m為質(zhì)量。
機器人的動力學(xué)參數(shù)主要包括機械臂的慣性參數(shù)及關(guān)節(jié)摩擦參數(shù),關(guān)節(jié)摩擦參數(shù)取決于所采用的摩擦模型。盡管摩擦是一種非常復(fù)雜的非線性現(xiàn)象,但對于大多數(shù)機器人系統(tǒng)而言,其線性近似模型可以保證所需的精度。因此,協(xié)作機器人動力學(xué)參數(shù)辨識一般采用線性摩擦模型[8]:
(6)
(7)
式中:σ為黏性摩擦系數(shù),N·m·s/rad;fc為庫侖摩擦常數(shù),N·m;μ為庫侖摩擦動態(tài)力矩因數(shù)。
由此,完整的動力學(xué)參數(shù)寫為向量形式為:
pd=[Ixx,Ixy,Ixz,Iyy,Iyz,Izz,Hx,Hy,Hz,m,
σ,fc,μ]
(8)
pd就是協(xié)作機器人動力學(xué)參數(shù)辨識的對象,每個關(guān)節(jié)均包含十個機械臂慣性參數(shù)與三個關(guān)節(jié)摩擦參數(shù),因此每個關(guān)節(jié)的動力學(xué)參數(shù)均可表示為式(8)的形式。
對于任意機器人關(guān)節(jié)i,若關(guān)節(jié)的軸線始終與重力方向平行,即滿足平行條件,則當(dāng)關(guān)節(jié)i恒速運動時,其余關(guān)節(jié)鎖住不動,慣性力為零,輸入力矩等于摩擦力矩。為提取摩擦數(shù)據(jù),可使關(guān)節(jié)i由θ1恒速轉(zhuǎn)動至θ2,以不同的恒速重復(fù)多組試驗,得到不同速度下的摩擦數(shù)據(jù)。
(9)
試驗②運動方向與試驗①相反,輸入力矩u2為:
(10)
對于筆者研究的協(xié)作機器人,由于采用高精度的旋轉(zhuǎn)矢量減速機和諧波減速器傳動,正反摩擦力矩差異很小,因而有:
(11)
由式(9)至式(11)可以得到摩擦力矩、重力矩分別為:
(12)
τg(θ)=(u1+u2)/2
(13)
另一方面,重力矩也可以表示為:
τg(θ)=rcxmgcosθ+rcymgsinθ
(14)
式中:rcx、rcy分別為第i個連桿的質(zhì)心在連桿坐標(biāo)系{i}中x方向和y方向上的表示。
根據(jù)式(12)至式(14)能夠?qū)cxmg和rcymg求解出來,然后求解出不同角度位置的重力矩。
在協(xié)作機器人中,滿足平行條件的典型關(guān)節(jié)為關(guān)節(jié)1,不滿足平行條件的典型關(guān)節(jié)為關(guān)節(jié)2、關(guān)節(jié)3。
黏性摩擦力矩和關(guān)節(jié)轉(zhuǎn)速成正比,可以根據(jù)不同關(guān)節(jié)轉(zhuǎn)速下的摩擦力矩擬合出黏性摩擦系數(shù)。筆者以關(guān)節(jié)2為例,使用多組關(guān)節(jié)勻速轉(zhuǎn)動軌跡進行黏性摩擦系數(shù)的擬合。
第一步,只轉(zhuǎn)動關(guān)節(jié)2,其它關(guān)節(jié)鎖定,測量50組不同速度下不同角度位置的摩擦力矩與重力矩。
第二步,根據(jù)角度位置,使50組不同速度下的摩擦力矩一一對應(yīng),按角度位置重新分為若干組,每組中有50個不同速度的摩擦力矩。
第三步,關(guān)節(jié)2相同角度位置下的重力矩是相同的,所以庫侖摩擦也是相同的,可以看成一個常數(shù)。摩擦力矩的變化是由于角速度的不同導(dǎo)致黏性摩擦變化而引起的,對此有:
(15)
第四步,根據(jù)式(15),應(yīng)用最小二乘法,將黏性摩擦系數(shù)σ擬合出。若干組角度位置可以擬合出若干結(jié)果,進而求得所有結(jié)果的平均值。
關(guān)節(jié)2向一個方向勻速轉(zhuǎn)動時,關(guān)節(jié)2的黏性摩擦系數(shù)是不變的,為常數(shù),而由于角度位置不同,由式(14)可得關(guān)節(jié)2的重力矩τg在變化,也就是動態(tài)力矩τd在變化。由此,根據(jù)式(6)和擬合出的黏性摩擦系數(shù),可以求出庫侖摩擦常數(shù)fc和庫侖摩擦動態(tài)力矩因數(shù)μ。
(16)
將關(guān)節(jié)2的勻速軌跡運動學(xué)參數(shù)、摩擦力矩和黏性摩擦系數(shù)代入式(16),應(yīng)用最小二乘法,計算出關(guān)節(jié)2的庫侖摩擦常數(shù)fc和庫侖摩擦動態(tài)力矩因數(shù)μ?;?0組勻速軌跡,可以計算出50組庫侖摩擦數(shù)據(jù)。
協(xié)作機器人機械臂i的十個慣性參數(shù)在關(guān)節(jié)力矩τi中,只有(iIxx,iIxy,iIxz,iIyy,iIyz,iIzz,iHx,iHy)可辨識,所對應(yīng)的最小參數(shù)集向量ipb=[iIxx-iIyy,iIxy,iIxz,iIyz,iIzz,iHx,iHy],這七個獨立參數(shù)可在與關(guān)節(jié)i不平行的關(guān)節(jié)j(j
所謂連接組合體,就是指將串聯(lián)機器人的關(guān)節(jié)i+1至關(guān)節(jié)n鎖定,這樣機械臂i至機械臂n都可以看作一個整體,記為連接組合體I。同理,關(guān)節(jié)i至關(guān)節(jié)n鎖定,機械臂i-1至機械臂n都可以看作一個整體,記為連接組合體I-1,依次類推。在筆者研究中,左上標(biāo)I表示連接組合體的參數(shù),左上標(biāo)i表示單個機械臂的參數(shù),兩者是關(guān)于同一個關(guān)節(jié)的兩種不同表示。將第I個連接組合體的獨立參數(shù)集表示為IpB=[IIxx-IIyy,IIxy,IIxz,IIyz,IIzz,IHx,IHy],將剩余參數(shù)集表示為IpR=[IHz,mI,IIyy]。mI為連桿組合體I的質(zhì)量,IpB可由第i個關(guān)節(jié)力矩τi辨識,而剩余參數(shù)集IpR必須通過其它關(guān)節(jié)力矩來辨識。在τi-1中,參數(shù)IpR與i-1pB不相互獨立,兩者組合為最小參數(shù)集,最小參數(shù)集可由相鄰連接組合體的參數(shù)來表示。
基于以上分析,慣性參數(shù)辨識總體而言分為兩步。
第一步,由τi辨識連接組合體I的參數(shù)IpB。
τi-τif=IcBIpB
(17)
式中:τif為第i個關(guān)節(jié)的摩擦力矩;IcB為連接組合體I慣性參數(shù)的因數(shù)向量。
IcB可以由機器人運動學(xué)參數(shù)求得。對式(17)應(yīng)用最小二乘法,即可解出辨識參數(shù)IpB:
IpB=[IcBTIcB]-1IcBT(τi-τif)
(18)
為了由組合體參數(shù)正確求出單個機械臂的參數(shù),需要有關(guān)節(jié)鎖定時各關(guān)節(jié)的相對轉(zhuǎn)角。為方便計算,一般將關(guān)節(jié)鎖定在零位。
第一步結(jié)束后,所有關(guān)節(jié)所對應(yīng)的連接組合體參數(shù)IpB均已辯識出。第二步,可以通過相鄰連接組合體的參數(shù)I+1pR、IpB求出單個機械臂的最小參數(shù)集組合值ipb。文獻[9]和文獻[10]給出了求解公式,但是所給出的求解公式較難理解,且沒有給出在不同連桿坐標(biāo)系中的變換過程。因為組合體連桿I-1是由單個連桿i-1和組合體連桿I組成的,所以筆者根據(jù)不同坐標(biāo)系之間慣性張量的平行軸定理和旋轉(zhuǎn)變換定理得出相鄰連接組合體的參數(shù)I+1pR、IpB,再求出單個機械臂的最小參數(shù)集組合值ipb。
(19)
(20)
mi-1=mI-1-mI
(21)
式(19)至式(21)中,參數(shù)I-1H、IH、I-1I、II均已辯識出。i-1ri為結(jié)構(gòu)的幾何參數(shù),是已知值。mI是IpR中的參數(shù),此時是未知的,也是待辨識的。i-1Izz需要由I-1Izz、IIyy求得,而i-1Hx需要由I-1Hx、IHz求得。此時IIyy、IHz是待辨識的,因此無法求出i-1pb具體數(shù)值,只能將i-1H、i-1I,即參數(shù)i-1pb表示為待辨識參數(shù)IpR的函數(shù)。這樣,通過式(19)至式(21)就可以求出i-1pb各參數(shù)與I-1pB、IpR的關(guān)系。
動力學(xué)參數(shù)辨識正確與否,最直接的驗證方法是對測量力矩與所建立的動力學(xué)模型計算力矩進行對比。筆者應(yīng)用ADAMS軟件對協(xié)作機器人進行動力學(xué)仿真,輸出力矩為仿真力矩,并使用辨識出的動力學(xué)參數(shù)在MATLAB軟件中建立數(shù)學(xué)模型,對兩者進行對比。仿真驗證流程如圖2所示。
圖2 仿真驗證流程
應(yīng)用牛頓-歐拉遞推法對協(xié)作機器人進行動力學(xué)分析,并采用SolidWorks三維設(shè)計軟件及ADAMS動力學(xué)仿真軟件聯(lián)合建立接近實際的協(xié)作機器人動力學(xué)仿真模型,得到動力學(xué)仿真結(jié)果。將ADAMS軟件仿真結(jié)果與MATLAB軟件數(shù)學(xué)模型計算結(jié)果繪制為性能曲線,如圖3至圖8所示。圖3中,紅圈為ADAMS軟件仿真結(jié)果,藍點為MATLAB軟件計算結(jié)果,可以看出兩者完全吻合,驗證了筆者所述協(xié)作機器人動力學(xué)參數(shù)辨識方法的正確性,可以為協(xié)作機器人實現(xiàn)拖動示教和碰撞檢測功能提供依據(jù)。
圖3 關(guān)節(jié)1仿真驗證對比
圖4 關(guān)節(jié)2仿真驗證對比
圖5 關(guān)節(jié)3仿真驗證對比
圖6 關(guān)節(jié)4仿真驗證對比
圖7 關(guān)節(jié)5仿真驗證對比
圖8 關(guān)節(jié)6仿真驗證對比
筆者對協(xié)作機器人動力學(xué)參數(shù)的辨識方法進行了研究,提出了基于連接組合體的辨識方法,建立應(yīng)用慣性參數(shù)組合值的動力學(xué)模型,對機器人的關(guān)節(jié)摩擦進行分析。
通過ADAMS軟件建立動力學(xué)仿真模型,將仿真結(jié)果與MATLAB軟件數(shù)學(xué)模型計算結(jié)果進行對比,驗證了所采用的參數(shù)辨識方法的正確性。