劉馳,田成軍,史俊,楊捷
(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)
目前機(jī)械臂在制造業(yè)中得到廣泛應(yīng)用,而制造業(yè)自動化的要求越來越高,因此對機(jī)械臂自主抓取的工作精度和運(yùn)動平穩(wěn)度的要求也越來越高[1]。目前對抓取作業(yè)機(jī)器人的研究主要在怎么使它基于目標(biāo)位置,準(zhǔn)確地規(guī)劃出空間路徑,并且連續(xù)且穩(wěn)定地沿著路徑運(yùn)動。其中利用拋物線、多項(xiàng)式以及不同曲線相結(jié)合的算法是主流的機(jī)械臂軌跡規(guī)劃算法[2]。趙智勇等人[3]對Dobot機(jī)器人進(jìn)行了正運(yùn)動學(xué)和逆運(yùn)動學(xué)分析建模,并采用五階樣條曲線進(jìn)行軌跡規(guī)劃,為機(jī)器人的實(shí)際應(yīng)用提供了相應(yīng)的理論依據(jù)。李楊等人[4]采用五次多項(xiàng)式插值方法在機(jī)械臂的關(guān)節(jié)空間進(jìn)行軌跡規(guī)劃,并給出了機(jī)械臂的工作空間范圍。由于五次樣條算法相對簡單,運(yùn)算量小,因此在實(shí)際工程中比較常用,但是關(guān)節(jié)位移比較大,容易造成機(jī)械臂的振動和沖擊,影響機(jī)械臂工作的平穩(wěn)性,是該算法應(yīng)用的局限性[5]。張蕾[6]提出采用七次樣條曲線插值方法在關(guān)節(jié)空間進(jìn)行軌跡規(guī)劃,結(jié)果表明穩(wěn)定性優(yōu)于五次樣條曲線插值方法。
本文以四自由度機(jī)器人Open-Manipulator為對象,利用Matlab中的Robotics Toolbox工具箱建立了機(jī)械臂模型,并根據(jù)抓取功能需求進(jìn)行運(yùn)動學(xué)分析;采用七次樣條曲線方法在關(guān)節(jié)空間對目標(biāo)抓取過程進(jìn)行軌跡規(guī)劃,并在Matlab中進(jìn)行建模仿真,結(jié)果表明,機(jī)器人軌跡規(guī)劃滿足應(yīng)用需求,能夠?qū)δ繕?biāo)準(zhǔn)確地抓取,且機(jī)械臂運(yùn)動能保持平穩(wěn),該研究為Open-Manipulator機(jī)器人進(jìn)一步研究提供了相應(yīng)的理論依據(jù)。
一個串聯(lián)的機(jī)械臂通常被看作由一系列被稱為連桿的剛體組合而成,這些連桿由關(guān)節(jié)進(jìn)行有機(jī)地連接。Open-Manipulator機(jī)械臂共有五個關(guān)節(jié),都是旋轉(zhuǎn)關(guān)節(jié),但是關(guān)節(jié)5只能控制夾爪開合,并不改變末端執(zhí)行器的位姿,因此Open-Manipulator為4R模型。Open-Manipulator機(jī)械臂的本體結(jié)構(gòu)如圖1所示。
圖1 open-manipulator機(jī)械臂本體結(jié)構(gòu)
根據(jù)圖1中機(jī)械臂的本體結(jié)構(gòu),采用改進(jìn)的D-H表示法[7],可建立坐標(biāo)系的簡化圖,如圖2所示。
圖2 open-manipulator機(jī)械臂的連桿坐標(biāo)系
根據(jù)圖2中的機(jī)械臂連桿坐標(biāo)系,可得出機(jī)械臂的各個關(guān)節(jié)角、連桿偏移、連桿長度和連桿轉(zhuǎn)角參數(shù),如表1所示。表1中,各個連桿參數(shù)分別為d1=77 mm,a2=135 mm,a3=124 mm,α1=pi/2。抓取動作是橫向抓取,可使夾爪始終與水平面平行,來提高運(yùn)動學(xué)求解的效率和準(zhǔn)確度,因此可得:
表1 四自由度機(jī)械臂D-H參數(shù)表
表1中,i表示機(jī)器人的各個關(guān)節(jié);θi表示以Zi軸方向看,Xi-1和Xi之間的夾角(也稱關(guān)節(jié)角);di表示沿著Zi方向看,Xi-1和Xi之間的距離(也稱連桿偏移);ai-1表示沿著Xi-1方向看,Zi-1和Zi之間的距離(也稱連桿長度);αi-1表示以Xi-1方向看,Zi-1和Zi之間的夾角(也稱連桿轉(zhuǎn)角)。
根據(jù)改進(jìn)的D-H參數(shù)轉(zhuǎn)換法則,由表1中的數(shù)據(jù)可得各坐標(biāo)系齊次變換矩陣分別為:
將式(2)中的矩陣相乘,得機(jī)器人末端執(zhí)行器坐標(biāo)系和基座坐標(biāo)系之間的轉(zhuǎn)換關(guān)系為:
機(jī)械臂的逆運(yùn)動學(xué)求解表示給定機(jī)器人末端執(zhí)行器相對于參考坐標(biāo)系的期望位姿,求解所需的機(jī)械臂各個關(guān)節(jié)角[9]。將Open-Manipulator機(jī)械臂各連桿之間的齊次變換矩陣相乘,可得到末端執(zhí)行器相對于基座的位姿方程為:
由式(3)和式(4)相等,可得:
令式(6)兩邊矩陣元素(2,4)分別對應(yīng)相等,得pycosθ1-pxsinθ1=0,從而可求得:
令式(6)兩邊矩陣元素(1,4)和(3,4)分別對應(yīng)相等,得:
令式(8)方程兩邊平方之后相加,整理得:
由式(9)和反三角函數(shù)可求出θ3。
將式(8)展開,并整理得:
由式(10)進(jìn)一步求得:
因此,根據(jù)期望點(diǎn)的位姿可由式(7)、式(9)、式(11)和式(12)求出各個關(guān)節(jié)角θ1~θ4。
軌跡規(guī)劃分為笛卡爾空間軌跡規(guī)劃和關(guān)節(jié)空間軌跡規(guī)劃[10]。關(guān)節(jié)空間軌跡規(guī)劃計(jì)算量比較小,實(shí)時性更強(qiáng),常用的為基于多項(xiàng)式插值和基于線性插值,基于多項(xiàng)式插值的運(yùn)動軌跡、速度、加速度時間相關(guān)變化曲線更為光滑連續(xù),即軌跡精度較好[11]。其中七次多項(xiàng)式插值比三次、五次運(yùn)動性能平穩(wěn),因而本文采用七次多項(xiàng)式插值方法[12]進(jìn)行關(guān)節(jié)空間中的軌跡規(guī)劃,設(shè)計(jì)一個由機(jī)械臂個關(guān)節(jié)角度、速度、加速度的時間序列構(gòu)成的位姿軌跡,在作業(yè)任務(wù)和精度的保證下,使機(jī)械臂末端執(zhí)行器能盡可能沿著既定的位姿軌跡去抓取一個物體,設(shè)七次多項(xiàng)式:
對式(13)分別求一階、二階、三階導(dǎo)數(shù),得:
各關(guān)節(jié)在起點(diǎn)和終點(diǎn)的角度、角速度、角加速度和角加加速度的約束條件為:
由式(13)和式(14)可求得約束條件為:
令式(15)和式(16)等式右邊分別相等,得到含有8個未知量的8個方程,聯(lián)立成矩陣方程為:
式(17)是形式為Θi=T8×8(tf)?A的矩陣方程,其中A是待定系數(shù)a0~a7組成的向量,Θi為約束條件組成的向量,是已知向量,T8×8(tf)為系數(shù)矩陣,只與tf有關(guān),又tf≠ 0,則det(T8×8(tf)) ≠ 0,因此方程有唯一解,A=T8×8(tf)-1?Θi,即求得待定系數(shù)a0~a7,進(jìn)而可求得七次多項(xiàng)式的表達(dá)式。
首先,構(gòu)建機(jī)械臂模型。以表1中的D-H參數(shù)為依據(jù),利用 Matlab 中的 Robotics Toolbox[13]中工具箱中的Link分別進(jìn)行各個關(guān)節(jié)構(gòu)建,利用SerialLink函數(shù)將各個關(guān)節(jié)進(jìn)行有機(jī)整合實(shí)現(xiàn)整個機(jī)械臂模型的構(gòu)建。建立的四自由度機(jī)械臂模型,如圖3所示。其中紅色代表機(jī)械臂的關(guān)節(jié),藍(lán)色代表連桿。
圖3 機(jī)器人初始狀態(tài)
完成機(jī)械臂模型構(gòu)建之后,要使機(jī)械臂完成從起始點(diǎn)到目標(biāo)點(diǎn)的運(yùn)動,需要進(jìn)行運(yùn)動學(xué)軌跡規(guī)劃,本文采用七次樣條插值方法進(jìn)行點(diǎn)到點(diǎn)的軌跡規(guī)劃。已知在操作空間的笛卡爾坐標(biāo)系[14]中的一點(diǎn),先用逆運(yùn)動學(xué)求解方法,求出各關(guān)節(jié)對應(yīng)的角度,然后對其進(jìn)行七次多項(xiàng)式插值,得到角度、加速度、角加速度的時間相關(guān)變化曲線。
本文四自由度機(jī)械臂主要實(shí)現(xiàn)的是對目標(biāo)物體的抓取。設(shè)機(jī)器人初始狀態(tài)為A,抓取時設(shè)定一個過渡位姿B,在B處各個關(guān)節(jié)的角度為:qb=[0 1.570 8-0.7854-0.7854],現(xiàn)設(shè)定C=( )208,0,176為目標(biāo)物體在基座坐標(biāo)系中的空間位置。依據(jù)1.3節(jié)中逆向運(yùn)動學(xué)求解方法可得姿態(tài)C時各個關(guān)節(jié)的角度為qc=[0-0.5236 0.9512 0.4451],則得到初始位姿A、過渡位姿B、目標(biāo)位姿C時機(jī)械臂各關(guān)節(jié)的關(guān)節(jié)角度,采用七次多項(xiàng)式插值算法進(jìn)行軌跡規(guī)劃,設(shè)定四自由度機(jī)械臂抓取運(yùn)動的仿真時間是2 s,時間間隔為0.02 s,各個關(guān)節(jié)角速度、角加速度、角加加速度的邊界約束條件設(shè)置為0,機(jī)械臂末端的運(yùn)動軌跡如圖4所示。B到C過程中,各個關(guān)節(jié)的角度、角速度、角加速度隨時間的變化曲線分別如圖5、圖6和圖7所示。
圖4 機(jī)械臂末端運(yùn)動軌跡
圖5 各關(guān)節(jié)角度隨時間變化曲線
圖6 各關(guān)節(jié)角速度隨時間變化曲線
圖7 各關(guān)節(jié)角加速度隨時間變化曲線
圖4為四自由度機(jī)械臂末端在BC段運(yùn)動的軌跡曲線,從中可看出整個運(yùn)動過程均變化連續(xù),沒有突變,各連桿均未出現(xiàn)錯位情況,符合機(jī)械臂對目標(biāo)物體平穩(wěn)抓取的要求。圖5—圖7為各個關(guān)節(jié)的角度、速度和加速度隨時間的變化曲線,均平滑,沒有突變,故實(shí)現(xiàn)了機(jī)械臂平穩(wěn)的抓取軌跡規(guī)劃。
本文采用改進(jìn)的D-H參數(shù)建模方法對四自由度機(jī)械臂Open-Manipulator進(jìn)行了運(yùn)動學(xué)建模,實(shí)現(xiàn)了運(yùn)動學(xué)正解和逆解計(jì)算;根據(jù)機(jī)器人工作特點(diǎn),采用七次多項(xiàng)式插值的方法在關(guān)節(jié)空間對Open-Manipulator機(jī)械臂進(jìn)行軌跡規(guī)劃,在Matlab平臺下仿真實(shí)現(xiàn)了機(jī)械臂目標(biāo)抓取的運(yùn)動控制,得到了運(yùn)動過程中各關(guān)節(jié)角度、角速度、角加速度隨時間變化的曲線。結(jié)果表明,在抓取運(yùn)動目標(biāo)過程中,機(jī)械臂末端的運(yùn)動曲線連續(xù),沒有抖動,各關(guān)節(jié)角度、速度及角加速度隨時間變化曲線也連續(xù),沒有突變,實(shí)現(xiàn)了機(jī)械臂平穩(wěn)且連續(xù)的運(yùn)行,該軌跡規(guī)劃方法是一種準(zhǔn)確且穩(wěn)定的方法,為以后Open-Manipulator機(jī)械臂的研究和應(yīng)用提供了理論依據(jù)。