劉曉剛, 高文博, 吳俊辰, 鄭利華
(1. 廣西科技大學 機械與汽車工程學院,廣西 柳州 545000;2.桂林航天工業學院 汽車工程學院,廣西 桂林 541000)
隨著中國制造2025的提出,機器人在工業發展中占據著不可或缺的重要位置。一些高污染、高輻射生產線逐漸被工業機器人所取代,例如汽車的焊接生產線、噴漆生產線等。為了使機器人能夠更好地完成指定任務,對其進行運動學分析是非常重要的。其中,運動學分析的基礎就是D-H參數建立和運動學的求解及驗證[1]。通過對運動學分析,能夠更好地了解到機器人各軸之間的關系。也有學者將MATLAB Robotics Toolbox仿真工具運用到建模仿真、可視化計算和軌跡規劃,如孫龍等[2]利用MATLAB Robotics Toolbox建立機器人仿真模型并驗證機器人結構和幾何參數設計的合理性;程正智[3]利用MATLAB Robotics Toolbox中的五次多項式函數和自適應遺傳算法對機器人進行軌跡優化。本文最后也采用五次多項式插值法對工業機器人運動軌跡進行優化,為今后研究提供理論依據。
安川MOTOMAN MC2000機器人是6軸多關節機器人,最大負載為50 kg,重復定位精度為±0.07 mm,但由于其制造誤差和工作磨損,可以通過標定技術來提高其精度[4]。MC2000機器人幾何參數來源于安川機器人官網,如圖1所示。

圖1 MC2000的幾何參數
在正運動學分析中有兩種方法:一種是標準D-H法;另一種是Craig的D-H法,又稱改進D-H法(MD-H法)。第一種是最常用的方法,但存在的問題比較多,因此本文采用MD-H法建立連桿坐標系,如圖2所示。

圖2 MC2000機器人坐標系
MC2000機器人MD-H參數如表1所示。其中機器人坐標系中,αi-1為繞著Xi-1軸從Zi-1移動到Zi的角度;ai-1為沿著從Zi-1旋轉到Zi的距離;θi為沿著Zi軸從Xi-1旋轉到Xi的角度;di為沿著Zi軸從Xi-1移動到Xi的距離。

表1 MC2000機器人MD-H參數
機器人運動學分析中正運動學是利用已知機器人的關節,推導出機器人的運動方程,并計算出其任意時刻的位姿;而逆運動學則是驅動機器人達到指定位置,求解當前狀態下的機器人關節角度。
根據MD-H參數法建模原則,可知齊次變換矩陣方程通式為



由式(9)可求出θ1=arctan(py/px);其余的關節角度依此類推,其詳細步驟見文獻[6]。由于逆解具有不唯一性,在選擇最優解時,要遵循工作空間無障礙時路徑為最短。
本文應用MATLAB R2020b和Robotics Toolbox 10.2的版本;其中Robotics Toolbox是一個對工業機器人仿真的工具箱,且為其提供了多種函數。例如連桿函數:
L=Link([ theta d a alpha offset],’modified’)。(10)
工業機器人進行運動學仿真時,需要根據表1中的參數,再結合工具箱中的Link()和SerialLink()函數建立機器人的模型。實現機器人仿真的MATLAB程序如圖3所示。

圖3 MC2000機器人模型代碼
將上述程序運行后得到MOTOMAN MC2000機器人模型,如圖4所示。

圖4 MD-H方法機器人示教模型
根據工業機器人各關節的角度,運用蒙特卡羅法結合表1中關節角的工作范圍和MATLAB中的函數fkine(),計算機器人的工作空間,為了節約篇幅,只展示部分MATLAB程序,如圖5所示。

圖5 蒙特卡羅法部分代碼
通過運行上述程序,將工業機器人末端執行器的坐標原點的位置生成工作空間點云圖,如圖6所示。

圖6 MC2000機器人工作空間
其中隨機點位50 000個, 構成工作空間的點分布相對密集, 說明該型號機器人能夠滿足一般的作業要求, 同時也反映機器人末端能夠到達位置,對研究躲避障礙物等問題有著實際意義[7]。
針對機器人正運動學的驗證,應先假設機器人各關節的初始角度為q0=[0 0 0 0 0 0],機械人末端終止位置時的關節角度為q=[-pi/6 pi/6 -pi/3 pi/3 pi/4 -pi/4]。利用工具箱中fkine()函數求出末端執行器的位姿為

從中可以得出,仿真的結果與運動方程計算結果相等,故證明機器人仿真模型正確。
針對機器人逆運動學驗證時,已知末端執行器位姿WY,將其代入MATLAB Robotics Toolbox中的ikine()函數中求出機器人各個關節的角度值q=[-0.5236 0.5236-1.0472 -2.0944 -0.7854 2.3562],接著運用逆運動學方程求出多組解,若有一組與MATLAB仿真結果相等,則證明機器人逆運動學方程是正確的。
假設工業機器人路徑起始點和終止點的位置是已知的,分別為T0=(1,0.5,1)、T1=(-1,0.3,-0.1),利用機器人工具箱中的函數transl () 將位置T0、T1轉化為位姿,利用函數ikine()和位姿求解各軸的關節角度。再運用五次多項式插值法jtraj()函數進行插值,其中五次多項式插值法的函數表達式為:


利用機器人工具箱的plot3()函數繪制出執行器末端的運動軌跡,如圖7所示,機器人從初始位運行到工作的指定位置,其中運行時的各個關節的角度、角速度、角加速度變化如圖8~圖10所示。

圖7 執行器末端運動軌跡

圖8 各關節的角度運動曲線

圖9 各關節的角速度運動曲線

圖10 各關節的角加速度運動曲線
從圖中可以得出機器人各關節角速度和角加速度連續且無突變,因此其運行軌跡是平緩無跳躍的,并減少了機器人在運行時出現強烈振動現象。
本文針對MC2000機器人為研究對象的運動學分析和軌跡規劃,運用MD-H法得到機器人的運動學方程,結合MATLAB對機器人進行仿真建模,其建模的結果與機器人結構是一致的,再調用工具箱中的函數和已知的關節的角度對其求出位姿,與運動學方程求出的結果進行比較;利用蒙特卡羅法繪制出了機器人的工作空間,能夠直觀有效地分析該機器人的工作范圍;并運用五次多項式插值法對其進行軌跡優化,優化后的軌跡曲線無明顯的波動,可為該型號機器人的后續運動分析提供思路。