張永貴,牛蓉,周明,夏恩帥
(1. 蘭州理工大學 機電工程學院,甘肅 蘭州 730050; 2. 蘭州空間技術物理研究所 真空技術與物理重點實驗室,甘肅 蘭州 730000)
銑削機器人動力學建模和分析,對于其運動學分析具有重要意義。其主要有Lagrange法[1]、Newton-Euler遞推法、達朗貝爾-虛功原理[2]等。Lagrange法不易求解復雜結構拉格朗日因子;Newton-Euler涉及到微分方程,推導過程復雜[3];而達朗貝爾-虛功原理,對于較復雜機構較為抽象[4]。
動力學仿真分析在機器人研究中起著至關重要的作用,也因此吸引了眾多學者的研究。李輝等人[5]基于MATLAB對工業機器人在復雜工作路徑下的動力學仿真進行研究。王戰中等人[6]基于ADAMS和MATLAB對6臂機器人進行聯合仿真,找出控制系統的不足之處并進行優化。馬如奇等人[7]使用MATLAB/Simulink模塊搭建其控制系統,基于ADAMS和MATLAB進行了聯合仿真。文獻[6-7]都是基于機器人三維模型導入ADAMS環境進行仿真分析,然后利用MATLAB/Simulink模塊進行控制系統仿真,并不是對機器人動力學方程進行編程計算,沒有驗證動力學建模正確性的環節。
本文基于機器人在銑削過程中動力學狀況對銑削加工質量的影響研究需要,以MOTOMAN UP50機器人(以下簡稱機器人)為對象,首先基于Creo軟件對機器人三維虛擬實體模型進行建模,獲得動力學建模所需的慣性參數;然后基于Newton-Euler遞推法對該機器人建立動力學方程,并采用MATLAB軟件對該方程進行編程,得到機器人末端執行器位移以及關節驅動力矩隨時間的變化曲線;最后基于ADAMS對建立的三維模型進行虛擬樣機動力學仿真分析,同樣得到上述的變化曲線,通過對比驗證了所建機器人動力學模型和所編制計算程序的正確性,為后續研究奠定了基礎。
圖1為基于Creo軟件建立的機器人虛擬樣機。在 Creo “質量屬性”工具中測得機器人各關節的質量mi,質心位置rci及慣性矩陣Ji,如表1所示,為后續基于MATLAB對機器人的動力學編程提供數據。

圖1 MOTOMAN UP50機器人三維模型

表1 機器人各關節慣性參數
為方便對該機器人進行動力學研究,對圖1所示的機器人建立如圖2所示的坐標系,該坐標系采用改進D-H法[8]建立,然后依據此圖可建立動力學方程。

圖2 銑削機器人連桿坐標系

(1)
式中i=0,1,2,3,4,5。
公式(2)解決了各關節的相互作用力、力矩、關節驅動:
(2)
式中:i=6,5,4,3,2,1;


Zi表示指定桿件坐標系的每個Zi軸向單位向量;
Zi+1表示指定桿件坐標系的每個Zi+1軸向單位向量;i+1表示第i+1根桿件;

Ri+1表示桿系{i+1}的旋轉矩陣;

Pci+1表示坐標系統中的位置矢量{i+1 };

Ici+1表示i+1桿相對于質心的慣性張量;
Ni+1、Fi+1分別表示i+1桿件慣性力矩以及質心處慣性力;
ni、fi分別表示i關節上的平衡力矩以及平衡力;
τi表示i關節中的驅動力矩。
當機器人工作時,已知其工作路徑,而且在各關節變量均為固定值的條件下,依據式(1)-式(2),可按順序推出各關節添加的驅動力。在已知各連桿速度、加速度和慣性張量的情況下,通過Newton-Euler方程,可以反推機器人銑削過程中末端的銑削力,得到各關節的作用力,為實現ADAMS動力學仿真提供理論依據。
基于表1利用連桿坐標系計算每個臂桿的姿態矩陣和位置矢量,然后基于第1節Newton-Euler法在MATLAB中編寫逆動力學算法程序,設置銑削加工所需要的軌跡,按照其軌跡編寫驅動函數,對1.2節動力學模型進行理論計算,得到角位移和各關節驅動力矩。
該機器人的初始位置為q0=[0 -90 0 0 0 0]T。根據銑削加工機器人工作需要,可規劃該機器人在MATLAB的末端軌跡,其運動路徑如圖3所示。圖4顯示了在該路徑下,通過程序計算出的6個關節驅動力矩隨時間變化的曲線。

圖3 MATLAB中銑削加工運動軌跡



圖4 MATLAB中計算的各關節力矩曲線
使用Creo來簡化機器人的三維模型,接著導入ADAMS以建立虛擬樣機模型,設置對應的材料特性、約束、驅動函數和外力等動態參數,最后進行動力學仿真。
將MATLAB中的驅動,運用“save q.txt -ascii a”指令將其導出并保存為txt格式,然后將其導入到ADAMS中生成樣條曲線,最后在各個驅動上添加相應的驅動函數。腰關節、肩關節、肘關節、手腕旋轉關節、手腕擺動關節、手腕回轉關節的驅動函數都表示為:
CUBSPL(time,0,SPLINE_1,0)。
當銑削條件、銑削用量以及銑削材料等各要素條件都選定時,即根據銑削加工要求選擇工件材料為可鍛鑄鐵,刀具材料為鋁合金,直徑為6mm的圓柱銑刀,且電主軸轉速為3000r/min。根據刀具材料和銑削工件材料選擇銑削公式進行計算主切削力,計算公式如下:
(3)
其中:FZ為銑削力,N;CFZ為銑削力系數,鋁合金的CFZ可取鋼的1/4(鋼的CFZ為641);ae為銑削寬度,mm,(圓柱銑的ae=0.05d0);af為每齒進給量,mm(圓柱銑的af為0.1~0.2);z為銑刀的齒數;d0為銑刀直徑;KFZ為銑刀銑削力修正系數,當刀具的前角系數為0時,KFZ=0.89。
其中ns為主軸轉速。一般銑削進給速度的計算公式為:Vf=f×ns=af×z×ns(mm/min)。
當圓柱銑刀的每齒進給量取0.1mm,銑削深度取0.2mm時,可以計算出末端銑削力FZ為388N。
添加銑削力后,將模擬結束時間設定為14s,將其模擬步數設定為500,并使用ADAMS/PostPocessor后處理模塊分析機器人,可得到該機器人在ADAMS中的運動軌跡如圖5所示,可輸出該銑削機器人末端執行器位移和各關節驅動力矩。

圖5 ADAMS中銑削加工運動軌跡
通過MATLAB計算和ADAMS仿真分析得到該機器人末端執行器位移和各關節驅動力矩。機器人末端執行器位移變化情況對比結果如圖6所示(因本刊為黑白印刷,如有疑問請咨詢作者)。

圖6 末端執行器位移對比曲線
由圖6可知,機器人結束時產生的運動軌跡基本上與期望的運動軌跡相同,只有在1.8s之前有輕微的偏差,因此z方向的誤差最大值是0.80%,而x方向和y方向的誤差值最大值分別是0.92%和0.86%。通過圖6可以看到,機器人末端執行器位移在MATLAB和ADAMS環境下的曲線基本吻合,充分證明機器人系統運動相對穩定,可以驗證所建立的機器人動力學模型的有效性。
圖7為機器人各關節驅動力矩隨時間變化情況的對比分析,其中計算結果指在MATLAB中進行編程計算得到的數據,仿真結果指在ADAMS中進行仿真分析得到的數據。
比較圖7可以看出,各個關節力矩的仿真和計算曲線的趨勢基本一致,且較大誤差均出現在曲線的波峰、波谷處,關節力矩曲線對比圖的最大誤差分別為0.250Nm、0.001Nm、0.200Nm、0.001Nm、0.010Nm、0.120Nm,兩者都在所允許的誤差范圍之內。誤差產生的主要原因是ADAMS環境中的動力學仿真更加接近工程環境,在仿真時如出現較大波動,ADAMS能夠更好地處理機械構件慣性影響,較編程計算更加準確,從而可驗證所建立的機器人動力學模型的合理性。



圖7 各關節MATLAB計算和ADAMS仿真力矩擬合曲線
1) 基于Creo三維軟件建立機器人三維虛擬實體模型,獲得動力學建模所需的慣性參數;基于Newton-Euler方程建立機器人的動力學模型并在MATLAB環境下編程計算,可以對6自由度銑削機器人進行動力學研究分析。
2) 對于同一機器人,在設置了同樣的銑削加工路徑的情況下,基于Newton-Euler方程進行MATLAB編程計算的結果與基于ADAMS仿真分析的結果基本一致,可以驗證基于Newton-Euler遞推法所建立的銑削機器人在銑削規定路徑時動力學模型的正確性。