彭云春,曾 鈺
(廣州智能裝備研究院有限公司, 廣州 510530)
在機器人的運動控制中,往往需考慮機器人的關節在工作作業時的電機扭矩范圍,既要滿足關節的伺服電機在最大扭矩范圍內,又要滿足超額定扭矩的占比在某個數值范圍內,這就少不了對動力學模型的計算。傳統的對于動力學模型的參數辨識,往往將動力學模型進行符號轉換合并,化為最小參數矩陣來辨識連桿本體和摩擦相關的參數,此過程涉及變量相對多,過程也相對繁瑣、復雜[1-3]。由于目前機械加工精度的逐漸提高,水平機器人Scara 本體的機械慣量參數,通常理論和實際相差甚小,同批次不同本體的差異,往往只是由于生產和安裝工藝的差異,在摩擦/轉子慣量相關的參數會有明顯的區別。鑒于此,采取理論的機械慣量參數+摩擦/轉子慣量系數的辨識來建立水平機器人Scara動力學模型,方法相對簡單清晰、實現難度低、辨識流程短、可操作性強,可以滿足軌跡規劃中電機扭矩的估算。
水平機器人Scara 主要有基座、大臂、小臂、絲桿4 個部分,其動力學模型分析的結構模型如圖1所示。其中大臂、小臂的運動平面與重力方向垂直,由矢量叉積可推得第1、2軸運動中的電機出力與重力無關,絲桿包含上下運動(第3軸)和旋轉運動(第4軸),上下運動方向同重力方向同線,旋轉運動平面同重力方向平行,也可由矢量叉積得到第4軸運動中電機的出力與重力項無關。采用傳統的拉格朗日方法建立的通用機器人的動力學模型[4-8]如下:
圖1 Scara結構模型Fig.1 Scara structure model
其中,每個連桿包含10 個慣性參數,分別是質量、質心 、 慣性張量, 可用慣性參數集表示為p=[Ixx,Ixy,Ixz,Iyy,Iyz,Izz,Mx,My,Mz]。如機構為n連桿結構,則為10n個慣性參數,水平機器人為4連桿機構,按此方法為40個慣性參數。
根據水平機器人Scara 的結構特點, M (q) 為慣性矩陣;C (q,) 為科里奧利力和離心力;G(q)為重力項; Tfric為摩擦力項[9-10]; Tj為傳動轉子慣量項。考慮摩擦力項、轉子慣量項,可獲得水平機器人Scara 具體完整的動力學方程T(式5),其中每個連桿的摩擦力項Tfric關聯2個參數[B,τf],轉子慣量項Tj關聯1個參數[J]。
式中:θ為伺服電機旋轉角度,與q存在減速比Gear對應關系,將Tfric和Tj兩部分合并為Tfj如下:
得到:
由式(7)可以看出,考慮到每個軸的摩擦力項和轉子慣量項參數,動力學參數有40+3×4=52 個參數變量,而由于機構的運動因素,有些參數項是不會影響運動中電機出力的,是無法得到有效辨識的。因此,傳統辨識過程的方法是先對這些參數項作簡化處理,化簡為最小慣量參數集后再來進行辨識。最小慣性參數集計算公式[8]為:
其中,水平機器人第1 軸為R3 型,第2 軸為R2 型,第3軸為T3型,第4軸為R2型,那么水平機器人可得到最小慣性參數為16 個。考慮到每個軸的摩擦力項和轉子慣量項參數,動力學參數仍有16+3×4=28 個參數變量,辨識過程仍計算復雜,且多為矩陣計算,也容易造成矩陣奇異,影響辨識的正確性。
鑒于水平機器人本體的結構和制造工藝,其本體制造引入的機械慣量參數偏差很小,機械的理論慣量參數在本體設計時就已明確,而摩擦因數和減速機電機轉子慣量在本體設計無法給出。基于此,可不作最小慣量參數化簡,直接采用水平機器人本體理論慣性參數計算,只進行摩擦/轉子慣量的參數辨識,從而有效把辨識參數減少到12個參數,便于控制應用。
由式(7)得:
令:
則可得:
通過工業總線的方式,運行軌跡以1 ms 的周期采樣伺服驅動對應編碼器數據、實時電流數據,經濾波處理后,轉換為對應關節角度q、關節速度、關節加速度、關節力矩T。將采集的若干組數據關節角度q、關節速度q、關節加速度,通過式(2)可計算得到Tdym,從而式(10)左邊可得;通過將該組數據的關節速度、關節加速度代入式(9)中,可得到矩陣A;對矩陣A 按行進行關節軸1~4 分類,可計算得到各軸的摩擦/轉子慣量參數。根據式(10),最終可得到如下矩陣等式:
依次采用最小二乘方法可求得各軸的摩擦/轉子慣量參數[Bj,τf,Jj]數據。
采用本公司自主研發的驅控一體控制器、水平機器人Scara 本體,本體的慣量參數通過Solidworks 獲取。如圖2~3所示的慣性張量(由輸出坐標系決定)。
圖2 Scara本體大臂慣量信息Fig.2 Inertia information of Scara main body arm
對軌跡運行的數據實時進行電機編碼位置、電流進行1 ms采樣存儲,對位置、電流數據進行FFT 變換,進行頻域分析,設計濾波器濾波后,其中位置、電流波形如圖4~6 所示。對采樣數據通過第2 節的摩擦/轉子慣量的參數辨識處理,可分別求得第1~4 軸對應的[B,τf,J],分別如表1 所示。根據辨識的參數,驗證不同軌跡下的理論計算電機力矩和實際電機力矩的峰值對比,如圖7所示。從圖中可以看出,力矩曲線間會存在一些差異,這部分差異主要是由于本體慣量參數造成,但對于軌跡規劃中電機扭矩的估算,該差異可近似忽略。
圖7 第1軸的采樣力矩和計算力矩Fig.7 Sampling torque and calculated torque of the first axis
表1 第1軸~第4軸辨識的摩擦/轉子慣量系數[B, τf , J]Tab.1 Friction / rotor inertia coefficients identified for the first and fourth shafts [B, τf , J]
圖3 Scara本體小臂慣量信息Fig.3 Inertia information of SCARA body small arm
圖4 J1軸、J2軸位置-采樣數據Fig.4 Position of axis J1 and J2-sampling data
圖5 J1軸電流數據原始/濾波后振幅譜Fig.5 Amplitude spectrum of original / filtered current data of J1 axis
圖6 J1軸力矩采樣數據和濾波曲線Fig.6 Torque sampling data and filtering curve of J1 axis
在機器人控制系統中,應用動力學技術時,傳統模型辨識關聯過多的參數變量,易造成的數據采集處理步驟繁瑣、計算量大,從而不便于在產品中應用。基于此,本文提出一種水平機器人動力學模型簡化辨識的方法。該方法基于拉格朗日的動力學模型,通過采集本體軌跡和電流實時數據,用最小二乘法來辨識摩擦/轉子慣量系數。從實驗效果來看,采用該方法辨識的參數,理論計算的力矩同實際電流采樣力矩軌跡曲線近似相同,誤差較小,可滿足軌跡規劃中電機扭矩的估算要求。本文的方法相對簡單清晰、實現難度低、辨識流程短、可操作性強,易于在產品中應用。