劉馳,田成軍,史俊,楊捷
(長春理工大學 電子信息工程學院,長春 130022)
目前機械臂在制造業(yè)中得到廣泛應用,而制造業(yè)自動化的要求越來越高,因此對機械臂自主抓取的工作精度和運動平穩(wěn)度的要求也越來越高[1]。目前對抓取作業(yè)機器人的研究主要在怎么使它基于目標位置,準確地規(guī)劃出空間路徑,并且連續(xù)且穩(wěn)定地沿著路徑運動。其中利用拋物線、多項式以及不同曲線相結合的算法是主流的機械臂軌跡規(guī)劃算法[2]。趙智勇等人[3]對Dobot機器人進行了正運動學和逆運動學分析建模,并采用五階樣條曲線進行軌跡規(guī)劃,為機器人的實際應用提供了相應的理論依據(jù)。李楊等人[4]采用五次多項式插值方法在機械臂的關節(jié)空間進行軌跡規(guī)劃,并給出了機械臂的工作空間范圍。由于五次樣條算法相對簡單,運算量小,因此在實際工程中比較常用,但是關節(jié)位移比較大,容易造成機械臂的振動和沖擊,影響機械臂工作的平穩(wěn)性,是該算法應用的局限性[5]。張蕾[6]提出采用七次樣條曲線插值方法在關節(jié)空間進行軌跡規(guī)劃,結果表明穩(wěn)定性優(yōu)于五次樣條曲線插值方法。
本文以四自由度機器人Open-Manipulator為對象,利用Matlab中的Robotics Toolbox工具箱建立了機械臂模型,并根據(jù)抓取功能需求進行運動學分析;采用七次樣條曲線方法在關節(jié)空間對目標抓取過程進行軌跡規(guī)劃,并在Matlab中進行建模仿真,結果表明,機器人軌跡規(guī)劃滿足應用需求,能夠對目標準確地抓取,且機械臂運動能保持平穩(wěn),該研究為Open-Manipulator機器人進一步研究提供了相應的理論依據(jù)。
一個串聯(lián)的機械臂通常被看作由一系列被稱為連桿的剛體組合而成,這些連桿由關節(jié)進行有機地連接。Open-Manipulator機械臂共有五個關節(jié),都是旋轉關節(jié),但是關節(jié)5只能控制夾爪開合,并不改變末端執(zhí)行器的位姿,因此Open-Manipulator為4R模型。Open-Manipulator機械臂的本體結構如圖1所示。

圖1 open-manipulator機械臂本體結構
根據(jù)圖1中機械臂的本體結構,采用改進的D-H表示法[7],可建立坐標系的簡化圖,如圖2所示。

圖2 open-manipulator機械臂的連桿坐標系
根據(jù)圖2中的機械臂連桿坐標系,可得出機械臂的各個關節(jié)角、連桿偏移、連桿長度和連桿轉角參數(shù),如表1所示。表1中,各個連桿參數(shù)分別為d1=77 mm,a2=135 mm,a3=124 mm,α1=pi/2。抓取動作是橫向抓取,可使夾爪始終與水平面平行,來提高運動學求解的效率和準確度,因此可得:


表1 四自由度機械臂D-H參數(shù)表
表1中,i表示機器人的各個關節(jié);θi表示以Zi軸方向看,Xi-1和Xi之間的夾角(也稱關節(jié)角);di表示沿著Zi方向看,Xi-1和Xi之間的距離(也稱連桿偏移);ai-1表示沿著Xi-1方向看,Zi-1和Zi之間的距離(也稱連桿長度);αi-1表示以Xi-1方向看,Zi-1和Zi之間的夾角(也稱連桿轉角)。


根據(jù)改進的D-H參數(shù)轉換法則,由表1中的數(shù)據(jù)可得各坐標系齊次變換矩陣分別為:

將式(2)中的矩陣相乘,得機器人末端執(zhí)行器坐標系和基座坐標系之間的轉換關系為:

機械臂的逆運動學求解表示給定機器人末端執(zhí)行器相對于參考坐標系的期望位姿,求解所需的機械臂各個關節(jié)角[9]。將Open-Manipulator機械臂各連桿之間的齊次變換矩陣相乘,可得到末端執(zhí)行器相對于基座的位姿方程為:

由式(3)和式(4)相等,可得:


令式(6)兩邊矩陣元素(2,4)分別對應相等,得pycosθ1-pxsinθ1=0,從而可求得:

令式(6)兩邊矩陣元素(1,4)和(3,4)分別對應相等,得:

令式(8)方程兩邊平方之后相加,整理得:

由式(9)和反三角函數(shù)可求出θ3。
將式(8)展開,并整理得:

由式(10)進一步求得:

因此,根據(jù)期望點的位姿可由式(7)、式(9)、式(11)和式(12)求出各個關節(jié)角θ1~θ4。
軌跡規(guī)劃分為笛卡爾空間軌跡規(guī)劃和關節(jié)空間軌跡規(guī)劃[10]。關節(jié)空間軌跡規(guī)劃計算量比較小,實時性更強,常用的為基于多項式插值和基于線性插值,基于多項式插值的運動軌跡、速度、加速度時間相關變化曲線更為光滑連續(xù),即軌跡精度較好[11]。其中七次多項式插值比三次、五次運動性能平穩(wěn),因而本文采用七次多項式插值方法[12]進行關節(jié)空間中的軌跡規(guī)劃,設計一個由機械臂個關節(jié)角度、速度、加速度的時間序列構成的位姿軌跡,在作業(yè)任務和精度的保證下,使機械臂末端執(zhí)行器能盡可能沿著既定的位姿軌跡去抓取一個物體,設七次多項式:

對式(13)分別求一階、二階、三階導數(shù),得:

各關節(jié)在起點和終點的角度、角速度、角加速度和角加加速度的約束條件為:

由式(13)和式(14)可求得約束條件為:

令式(15)和式(16)等式右邊分別相等,得到含有8個未知量的8個方程,聯(lián)立成矩陣方程為:

式(17)是形式為Θi=T8×8(tf)?A的矩陣方程,其中A是待定系數(shù)a0~a7組成的向量,Θi為約束條件組成的向量,是已知向量,T8×8(tf)為系數(shù)矩陣,只與tf有關,又tf≠ 0,則det(T8×8(tf)) ≠ 0,因此方程有唯一解,A=T8×8(tf)-1?Θi,即求得待定系數(shù)a0~a7,進而可求得七次多項式的表達式。
首先,構建機械臂模型。以表1中的D-H參數(shù)為依據(jù),利用 Matlab 中的 Robotics Toolbox[13]中工具箱中的Link分別進行各個關節(jié)構建,利用SerialLink函數(shù)將各個關節(jié)進行有機整合實現(xiàn)整個機械臂模型的構建。建立的四自由度機械臂模型,如圖3所示。其中紅色代表機械臂的關節(jié),藍色代表連桿。

圖3 機器人初始狀態(tài)
完成機械臂模型構建之后,要使機械臂完成從起始點到目標點的運動,需要進行運動學軌跡規(guī)劃,本文采用七次樣條插值方法進行點到點的軌跡規(guī)劃。已知在操作空間的笛卡爾坐標系[14]中的一點,先用逆運動學求解方法,求出各關節(jié)對應的角度,然后對其進行七次多項式插值,得到角度、加速度、角加速度的時間相關變化曲線。
本文四自由度機械臂主要實現(xiàn)的是對目標物體的抓取。設機器人初始狀態(tài)為A,抓取時設定一個過渡位姿B,在B處各個關節(jié)的角度為:qb=[0 1.570 8-0.7854-0.7854],現(xiàn)設定C=( )208,0,176為目標物體在基座坐標系中的空間位置。依據(jù)1.3節(jié)中逆向運動學求解方法可得姿態(tài)C時各個關節(jié)的角度為qc=[0-0.5236 0.9512 0.4451],則得到初始位姿A、過渡位姿B、目標位姿C時機械臂各關節(jié)的關節(jié)角度,采用七次多項式插值算法進行軌跡規(guī)劃,設定四自由度機械臂抓取運動的仿真時間是2 s,時間間隔為0.02 s,各個關節(jié)角速度、角加速度、角加加速度的邊界約束條件設置為0,機械臂末端的運動軌跡如圖4所示。B到C過程中,各個關節(jié)的角度、角速度、角加速度隨時間的變化曲線分別如圖5、圖6和圖7所示。

圖4 機械臂末端運動軌跡

圖5 各關節(jié)角度隨時間變化曲線

圖6 各關節(jié)角速度隨時間變化曲線


圖7 各關節(jié)角加速度隨時間變化曲線
圖4為四自由度機械臂末端在BC段運動的軌跡曲線,從中可看出整個運動過程均變化連續(xù),沒有突變,各連桿均未出現(xiàn)錯位情況,符合機械臂對目標物體平穩(wěn)抓取的要求。圖5—圖7為各個關節(jié)的角度、速度和加速度隨時間的變化曲線,均平滑,沒有突變,故實現(xiàn)了機械臂平穩(wěn)的抓取軌跡規(guī)劃。
本文采用改進的D-H參數(shù)建模方法對四自由度機械臂Open-Manipulator進行了運動學建模,實現(xiàn)了運動學正解和逆解計算;根據(jù)機器人工作特點,采用七次多項式插值的方法在關節(jié)空間對Open-Manipulator機械臂進行軌跡規(guī)劃,在Matlab平臺下仿真實現(xiàn)了機械臂目標抓取的運動控制,得到了運動過程中各關節(jié)角度、角速度、角加速度隨時間變化的曲線。結果表明,在抓取運動目標過程中,機械臂末端的運動曲線連續(xù),沒有抖動,各關節(jié)角度、速度及角加速度隨時間變化曲線也連續(xù),沒有突變,實現(xiàn)了機械臂平穩(wěn)且連續(xù)的運行,該軌跡規(guī)劃方法是一種準確且穩(wěn)定的方法,為以后Open-Manipulator機械臂的研究和應用提供了理論依據(jù)。