潘炳偉,呂 燕,蔣勁峰,薛佩姣
上海電氣集團股份有限公司 中央研究院 上海 200070
如果要提高高速、重載、高精度機器人的控制精度,那么需要采用構建更加先進的考慮機器人動力學模型的控制方法,如力矩控制、動力學前饋控制等。由于機器人的動力學模型體現了機器人內在的力與運動關系,因此基于機器人動力學模型的控制方法可以實時、準確地給出機器人進行目標運動所需要的力矩值[1]。
隨著工業、醫療及服務業水平的不斷提高,人們迫切希望工業機器人能夠與人類協同工作,人機協作的需求越來越強烈,協作機器人得到了快速發展。拖動示教和碰撞檢測功能是實現人機協作的基礎,實現這兩個功能,需要精準的動力學模型。得到精準動力學模型的前提是進行動力學參數辨識。
慣性參數是機器人動力學模型分析的重要指標之一,決定機器人末端執行器的控制精度,在機器人動力學研究中占據重要地位。慣性參數需要借助參數辨識的方法進行獲取,慣性參數的辨識問題一直是國內外專家學者研究的重點,為人們所關注和重視。慣性參數的辨識方法大致可以分為五類:解體測量法[2-3]、計算機輔助設計法[4-5]、不解體測量法、理論辨識法、加裝傳感器辨識法。
筆者對影響動力學參數辨識的因素——機器人關節摩擦進行建模與分析,設計關節摩擦力矩和重力矩的測量試驗,基于實測摩擦數據,研究動態力矩對摩擦力矩,即庫倫摩擦的影響,并應用關節勻速運動軌跡法對黏性摩擦系數進行擬合與對比。筆者在研究中提出基于連接組合體的機械臂慣性參數分步辨識方法,這一方法將關節鎖定,無論機器人關節數目多少,每次的辨識對象都是末端連桿。應用這一方法,每次辨識相互獨立,不需要將辨識結果帶入其它辨識中,誤差累積大大減小。這一方法對每個連桿組合體的慣性參數分別進行辨識,參數辨識精度高,尤其是對于靠近基座的關節而言。
串聯機器人由一系列連桿連接構成,通常應用Denavit-Hartenberg模型進行研究。為了清晰描述每個連桿與相鄰連桿之間的相對位置關系,需要在每個連桿上定義一個坐標系。將固連于連桿上的坐標系稱為連桿坐標系[6-7]。
將固連于機器人基座上的坐標系定義為坐標系{0},該坐標系通常固定不動,作為參考坐標系。在這個參考坐標系中,可以描述機器人其它連桿坐標系的位置。為了使問題簡化,通常設定Z0軸為沿關節軸1方向。
對于協作機器人而言,所有關節都是旋轉關節。對機器人各機械臂建立連桿坐標系,如圖1所示。根據Denavit-Hartenberg模型和圖1,推算出機器人的連桿參數,見表1。

圖1 協作機器人連桿坐標系

(1)
式中:Rx(αi-1)為繞x軸旋轉αi-1角度的旋轉變換矩陣;Dx(ai-1)為沿x軸平移ai-1距離的平移變換矩陣;Rz(θi)為繞z軸旋轉θi角度的旋轉變換矩陣;Dz(di)為沿z軸平移di距離的平移變換矩陣。

表1 協作機器人連桿參數
根據協作機器人的連桿參數,可以求出每一個連桿的變換矩陣,從而求出運動學正反解。
根據牛頓-歐拉動力學建模,得到協作機器人動力學模型為:
τ=τf+τd
(2)
(3)


pg=[Ixx,Ixy,Ixz,Iyy,Iyz,Izz,Hx,Hy,
Hz,m]
(4)
(5)
式中:Ixx、Ixy、Ixz、Iyy、Iyz、Izz為機器人慣量矩陣I中的六個參數;rcx、rcy、rcz為質心向量;m為質量。

機器人的動力學參數主要包括機械臂的慣性參數及關節摩擦參數,關節摩擦參數取決于所采用的摩擦模型。盡管摩擦是一種非常復雜的非線性現象,但對于大多數機器人系統而言,其線性近似模型可以保證所需的精度。因此,協作機器人動力學參數辨識一般采用線性摩擦模型[8]:
(6)

(7)
式中:σ為黏性摩擦系數,N·m·s/rad;fc為庫侖摩擦常數,N·m;μ為庫侖摩擦動態力矩因數。
由此,完整的動力學參數寫為向量形式為:
pd=[Ixx,Ixy,Ixz,Iyy,Iyz,Izz,Hx,Hy,Hz,m,
σ,fc,μ]
(8)
pd就是協作機器人動力學參數辨識的對象,每個關節均包含十個機械臂慣性參數與三個關節摩擦參數,因此每個關節的動力學參數均可表示為式(8)的形式。
對于任意機器人關節i,若關節的軸線始終與重力方向平行,即滿足平行條件,則當關節i恒速運動時,其余關節鎖住不動,慣性力為零,輸入力矩等于摩擦力矩。為提取摩擦數據,可使關節i由θ1恒速轉動至θ2,以不同的恒速重復多組試驗,得到不同速度下的摩擦數據。

(9)

試驗②運動方向與試驗①相反,輸入力矩u2為:
(10)
對于筆者研究的協作機器人,由于采用高精度的旋轉矢量減速機和諧波減速器傳動,正反摩擦力矩差異很小,因而有:
(11)
由式(9)至式(11)可以得到摩擦力矩、重力矩分別為:
(12)
τg(θ)=(u1+u2)/2
(13)

另一方面,重力矩也可以表示為:
τg(θ)=rcxmgcosθ+rcymgsinθ
(14)
式中:rcx、rcy分別為第i個連桿的質心在連桿坐標系{i}中x方向和y方向上的表示。
根據式(12)至式(14)能夠將rcxmg和rcymg求解出來,然后求解出不同角度位置的重力矩。
在協作機器人中,滿足平行條件的典型關節為關節1,不滿足平行條件的典型關節為關節2、關節3。
黏性摩擦力矩和關節轉速成正比,可以根據不同關節轉速下的摩擦力矩擬合出黏性摩擦系數。筆者以關節2為例,使用多組關節勻速轉動軌跡進行黏性摩擦系數的擬合。
第一步,只轉動關節2,其它關節鎖定,測量50組不同速度下不同角度位置的摩擦力矩與重力矩。
第二步,根據角度位置,使50組不同速度下的摩擦力矩一一對應,按角度位置重新分為若干組,每組中有50個不同速度的摩擦力矩。
第三步,關節2相同角度位置下的重力矩是相同的,所以庫侖摩擦也是相同的,可以看成一個常數。摩擦力矩的變化是由于角速度的不同導致黏性摩擦變化而引起的,對此有:
(15)
第四步,根據式(15),應用最小二乘法,將黏性摩擦系數σ擬合出。若干組角度位置可以擬合出若干結果,進而求得所有結果的平均值。
關節2向一個方向勻速轉動時,關節2的黏性摩擦系數是不變的,為常數,而由于角度位置不同,由式(14)可得關節2的重力矩τg在變化,也就是動態力矩τd在變化。由此,根據式(6)和擬合出的黏性摩擦系數,可以求出庫侖摩擦常數fc和庫侖摩擦動態力矩因數μ。
(16)
將關節2的勻速軌跡運動學參數、摩擦力矩和黏性摩擦系數代入式(16),應用最小二乘法,計算出關節2的庫侖摩擦常數fc和庫侖摩擦動態力矩因數μ。基于50組勻速軌跡,可以計算出50組庫侖摩擦數據。
協作機器人機械臂i的十個慣性參數在關節力矩τi中,只有(iIxx,iIxy,iIxz,iIyy,iIyz,iIzz,iHx,iHy)可辨識,所對應的最小參數集向量ipb=[iIxx-iIyy,iIxy,iIxz,iIyz,iIzz,iHx,iHy],這七個獨立參數可在與關節i不平行的關節j(j
所謂連接組合體,就是指將串聯機器人的關節i+1至關節n鎖定,這樣機械臂i至機械臂n都可以看作一個整體,記為連接組合體I。同理,關節i至關節n鎖定,機械臂i-1至機械臂n都可以看作一個整體,記為連接組合體I-1,依次類推。在筆者研究中,左上標I表示連接組合體的參數,左上標i表示單個機械臂的參數,兩者是關于同一個關節的兩種不同表示。將第I個連接組合體的獨立參數集表示為IpB=[IIxx-IIyy,IIxy,IIxz,IIyz,IIzz,IHx,IHy],將剩余參數集表示為IpR=[IHz,mI,IIyy]。mI為連桿組合體I的質量,IpB可由第i個關節力矩τi辨識,而剩余參數集IpR必須通過其它關節力矩來辨識。在τi-1中,參數IpR與i-1pB不相互獨立,兩者組合為最小參數集,最小參數集可由相鄰連接組合體的參數來表示。
基于以上分析,慣性參數辨識總體而言分為兩步。
第一步,由τi辨識連接組合體I的參數IpB。
τi-τif=IcBIpB
(17)
式中:τif為第i個關節的摩擦力矩;IcB為連接組合體I慣性參數的因數向量。
IcB可以由機器人運動學參數求得。對式(17)應用最小二乘法,即可解出辨識參數IpB:
IpB=[IcBTIcB]-1IcBT(τi-τif)
(18)
為了由組合體參數正確求出單個機械臂的參數,需要有關節鎖定時各關節的相對轉角。為方便計算,一般將關節鎖定在零位。
第一步結束后,所有關節所對應的連接組合體參數IpB均已辯識出。第二步,可以通過相鄰連接組合體的參數I+1pR、IpB求出單個機械臂的最小參數集組合值ipb。文獻[9]和文獻[10]給出了求解公式,但是所給出的求解公式較難理解,且沒有給出在不同連桿坐標系中的變換過程。因為組合體連桿I-1是由單個連桿i-1和組合體連桿I組成的,所以筆者根據不同坐標系之間慣性張量的平行軸定理和旋轉變換定理得出相鄰連接組合體的參數I+1pR、IpB,再求出單個機械臂的最小參數集組合值ipb。
(19)
(20)
mi-1=mI-1-mI
(21)

式(19)至式(21)中,參數I-1H、IH、I-1I、II均已辯識出。i-1ri為結構的幾何參數,是已知值。mI是IpR中的參數,此時是未知的,也是待辨識的。i-1Izz需要由I-1Izz、IIyy求得,而i-1Hx需要由I-1Hx、IHz求得。此時IIyy、IHz是待辨識的,因此無法求出i-1pb具體數值,只能將i-1H、i-1I,即參數i-1pb表示為待辨識參數IpR的函數。這樣,通過式(19)至式(21)就可以求出i-1pb各參數與I-1pB、IpR的關系。
動力學參數辨識正確與否,最直接的驗證方法是對測量力矩與所建立的動力學模型計算力矩進行對比。筆者應用ADAMS軟件對協作機器人進行動力學仿真,輸出力矩為仿真力矩,并使用辨識出的動力學參數在MATLAB軟件中建立數學模型,對兩者進行對比。仿真驗證流程如圖2所示。

圖2 仿真驗證流程
應用牛頓-歐拉遞推法對協作機器人進行動力學分析,并采用SolidWorks三維設計軟件及ADAMS動力學仿真軟件聯合建立接近實際的協作機器人動力學仿真模型,得到動力學仿真結果。將ADAMS軟件仿真結果與MATLAB軟件數學模型計算結果繪制為性能曲線,如圖3至圖8所示。圖3中,紅圈為ADAMS軟件仿真結果,藍點為MATLAB軟件計算結果,可以看出兩者完全吻合,驗證了筆者所述協作機器人動力學參數辨識方法的正確性,可以為協作機器人實現拖動示教和碰撞檢測功能提供依據。

圖3 關節1仿真驗證對比

圖4 關節2仿真驗證對比

圖5 關節3仿真驗證對比

圖6 關節4仿真驗證對比

圖7 關節5仿真驗證對比

圖8 關節6仿真驗證對比
筆者對協作機器人動力學參數的辨識方法進行了研究,提出了基于連接組合體的辨識方法,建立應用慣性參數組合值的動力學模型,對機器人的關節摩擦進行分析。
通過ADAMS軟件建立動力學仿真模型,將仿真結果與MATLAB軟件數學模型計算結果進行對比,驗證了所采用的參數辨識方法的正確性。