朱永飛,查文斌,周 攀,徐向榮
(安徽工業大學,安徽 馬鞍山 243000)
隨著“中國智能制造2025”的提出,工業機器人成為智能制造中不可或缺的角色[1],同時,因其獨特的操作靈活性, 已在工業裝配, 焊接噴涂、安全防爆等領域得到廣泛應用[2]。筆者研究的雙臂機器人各有六個自由度,理論上六自由度的機械臂可以達到空間任一位置,這也是實際生產生活中應用最多的一種機器人。
利用SolidWorks建立6-DOF雙臂機器人模型,確定D-H參數[3], 建立關節連桿模型,利用MATLAB工具箱Robotics Toolbox[4]建立機械臂D-H模型,分別采用七次多項式和B樣條曲線[5]對機械臂進行軌跡規劃,得出機械臂位移、角速度和角加速度等重要運動參數隨時間的變化數據,最后利用Adams軟件建立機械臂虛擬樣機,將軌跡規劃仿真數據導入Adams中,對其進行動力學仿真分析,得出各個關節力矩變化。
利用SolidWorks繪圖建立六自由度雙臂機器人的三維模型,如圖1所示,相鄰兩部件均通過關節軸構成轉動副,通過轉動副的角度轉動,便可使得機械臂達到預定的空間位置。

圖1 6-DOF雙臂機器人三維模型
工業機器人運動性能的優劣往往體現在運動是否平穩,運動控制算法、外部干擾以及機器人自身結構等都是影響其運動軌跡平滑的因素,其中軌跡規劃是最重要的[6]。
機械臂末端從一個位置運動到另一個位置的方法有許多,軌跡規劃就與運動的方法有關系。通過對各關節的位移、角速度等參數的確定,并且滿足運動學和動力學的要求,以此減小機械臂在運動過程中出現的振動,獲得預想中的運動軌跡。軌跡與何時到達路徑中的每個部分有關,強調時間性,依賴速度和加速度。在關節空間軌跡規劃中,常用的方法有多項式插值、B樣條插值及正弦函數軌跡等[7]。
當機械臂的運動指定了起止位置外,還指定了其他中間點時,可以通過匹配兩個運動段上的每一點的位置、速度和加速度來規劃出一條連續的軌跡[8]。
設七次多項式為:
θ(t)=c0+c1t+c2t2+c3t3+c4t4+c5t5+
c6t6+c6t7
(1)
由于對路徑上的每一點都求解高次多項式方程需要大量計算,采取一種替代方法:在軌跡不同的運動段采用不同的低次多項式,然后將其平滑連接一起以滿足各點的邊界條件,本文采用4-3-4軌跡來代替七次多項式軌跡[9]。起點到第一個中間點的軌跡利用四次多項式進行規劃,第一和第二中間點之間的軌跡規劃利用三次多形式進行,從第二中間點到終點位置的軌跡再次使用四次多項式規劃。
對于4-3-4軌跡,位移、角速度、角加速度公式為:
(2)
(3)
(4)
采用上述函數需要14個約束條件:
(5)

式(2)~(4)可以表示為:
[θ]=[M][C]
(6)
式中:[M]是位移、角速度和角加速度的時間矩陣;[C]是未知系數矩陣。
B樣條曲線是Bezier曲線的一般化情況,是B樣條基曲線的線性組合,但是它與Bezier曲線不同,Bezier曲線的形狀受到每一個控制點的影響,而在B樣條曲線中,控制點只會對整個曲線的部分有影響,對曲線形狀可以進行局部修改,B 樣條曲線具有優點如下:導數連續;局部支撐;關節位移變化率小及可拓展,因此B樣條曲線有著更好的靈活性[10]。設計一個B樣條曲線,需要一系列的控制點、節點和系數,每個系數對應一個控制點,所有的曲線段連接在一起滿足某個連續條件,再將多個Bezier曲線連接就可以得到B樣條。如果次數越低, B樣條曲線更加逼近控制點形成的控制曲線。
在關節空間坐標系中,通過B樣條曲線計算得到各個關節變量關于時間t的函數表達式,這個過程稱為利用B樣條曲線進行軌跡規劃[11]。
有n+1個控制點Pi(i=0,1,…,n)和一個節點向量U={u0,u1,…,u},依次連接這些控制點可以構成一個特征多邊形,k+1階(k次)B樣條曲線的表達式為(2≤k≤n+1),必須滿足m=n+k+1。B樣條的數學表達式如下:
(7)
式中:Ni,k(u)為k次B樣條基函數,其遞歸公式為:
uk≤u≤un+1
(8)
基函數是由U定義的,基函數要滿足下面的微分方程:
(9)
在SolidWorks中建立機械臂三維模型,然后以“.X_T”格式保存并導入到Adams[12]中的View接口模塊,從而建立起虛擬樣機(如圖2)來進行仿真實驗。

圖2 Adams機械臂虛擬樣機
首先在MATLAB中得出的各關節角度變化的數據導入View中的數據單元形成spline曲線,然后對機械臂的各關節添加驅動,用函數CUBSPL作為驅動函數,將spline曲線作為驅動添加到CUBSPL函數中。
在參數設置完成后,進行仿真,仿真后用點擊PostProcessor模塊查看仿真過程中各關節的受到的力矩。
機械臂的初始位置關節角為[0 0 0 0 0 0],終止位置關節角為[60° 80° 90° 100° 45° 30°],運用MATLAB中的工具箱Robotics Toolbox,采用Link函數結合表中D-H參數建立機械臂模型,下面給出的是雙臂機器人右臂的D-H參數,如表1。圖3是在MATLAB中建立的雙臂模型。

表1 D-H參數

圖3 機械臂MATLAB模型
以右臂第五關節為研究對象,仿真時間設置為8 s,把數據帶入式(2)中,可以得出:
(10)
論文用B樣條曲線插值進行軌跡規劃選取次數k=5,選取的控制點的個數為20,控制點的選取來自右臂第五關節在4-3-4軌跡中的數據。實驗在MATLAB中進行。六關節角度變化曲線、基于4-3-4軌跡的第五關節運動位置、角速度和角加速度曲線、位置、角速度和角速度在2 s時的放大曲線、5次B樣條曲線分別如圖5~7所示。

圖4 六關節角度變化曲線

圖5 基于4-3-4軌跡的第五關節運動位置、角速度和角加速度曲線

圖6 位置、角速度和角速度在2 s時的放大曲線

圖7 5次B樣條曲線
比較圖5~7,從圖中可以看到基于4-3-4軌跡得到的位置和角速度圖像在第2 s位置突然向上波動,角速度和角加速度均出現明顯變化,表明機械臂在運動過程中出現了振動,對比之下,B樣條插值得到的運動曲線的平滑度良好,可以保證關節驅動的穩定性。當改變控制點的位置,也可擬合出相應的運動曲線。因此B樣條曲線用于機械臂的軌跡規劃效果更好。
機械臂動力學是在Adams中進行的,仿真過程如圖8所示。

圖8 Adams動力學仿真流程圖
在對機械臂進行動力學仿真時,把軌跡規劃中的關節角的數據導入Adams中,用以作為驅動函數。設置仿真時間為8 s,步數為200,外加載荷F=50 N。如圖9所示。

圖9 Adams和MATLAB軌跡驗證
通過圖10可以看到,機械臂模型在Adams和MATLAB的運動過程中,兩者的軌跡相同,驗證了整個仿真過程的正確性。
在仿真結束點擊PostProcessor模塊查看仿真過程中各關節的受到的力矩,并對圖像進行后處理。


圖10 右臂第3~6關節轉動力矩圖
圖10顯示了機器人右臂第3~6關節力矩隨著旋轉角度的變化情況,通過以上幾幅關節力矩圖,可以看出,隨著關節旋轉角度的變化,關節力矩在XYZ方向上均平滑變化,無突然波動情況出現,說明機械臂仿真過程中運行平穩,和文章前面運動曲線的平滑過渡相對應,驗證了整個模型的正確性。
論文以六自由度雙臂機器人為研究對象,基于MATLAB建立了D-H模型;根據關節角度變化數值,分別采用七次(4-3-4軌跡)多項式插值以及5次B樣條曲線插值方法對機械臂進行運動學軌跡規劃研究,經過實驗研究分析,B樣條曲線插值法對復雜運動軌跡插值有較好地適應性;基于軌跡規劃中關節數據,利用Adams軟件對機械臂進行動力學仿真,得出各關節的力矩變化情況,為后續機械臂的實際應用打下基礎。