覃艷明 趙靜一 仝少帥 王建軍
(燕山大學(xué)機(jī)械工程學(xué)院, 秦皇島 066004)
隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人[1]得到越來越廣泛的應(yīng)用。作為機(jī)器人主要執(zhí)行裝置的機(jī)械臂則成為機(jī)器人技術(shù)的重要研究課題。我國是農(nóng)業(yè)大國,農(nóng)業(yè)是國民經(jīng)濟(jì)的基礎(chǔ),農(nóng)業(yè)裝備則是現(xiàn)代農(nóng)業(yè)的重要支撐。農(nóng)業(yè)機(jī)器人是一種以農(nóng)產(chǎn)品為操作對象、兼有人類部分信息感知和四肢行動功能、可重復(fù)編程的柔性自動化或半自動化設(shè)備[2-4]。
目前國內(nèi)學(xué)者對機(jī)器人在農(nóng)業(yè)方面的應(yīng)用進(jìn)行了大量的研究[5-8]。由于農(nóng)業(yè)機(jī)器人在執(zhí)行任務(wù)過程中需要避障功能,所以一般采用冗余自由度機(jī)械臂。八自由度農(nóng)業(yè)機(jī)器人機(jī)械臂為冗余機(jī)構(gòu),其運(yùn)動學(xué)反解存在無窮多組解,求解比較困難[9],目前均采用數(shù)值解求解各關(guān)節(jié)變量值,計(jì)算效率低下。因此,本文以八自由度農(nóng)業(yè)機(jī)器人機(jī)械臂為研究對象,采用反變換的方法求解機(jī)械臂逆運(yùn)動學(xué)的解析解,為該類農(nóng)業(yè)機(jī)器人控制的軌跡規(guī)劃及智能化作業(yè)提供依據(jù)。
采用SolidWorks對農(nóng)業(yè)機(jī)器人的機(jī)械臂進(jìn)行三維建模,它是具有8個自由度的關(guān)節(jié)機(jī)器人,其中2個關(guān)節(jié)為移動副,6個關(guān)節(jié)為轉(zhuǎn)動副。根據(jù)各部分的三維幾何關(guān)系進(jìn)行建模,按順序?qū)⑷S模型進(jìn)行裝配,可得到農(nóng)業(yè)機(jī)器人的裝配體,如圖1所示。
圖1 八自由度農(nóng)業(yè)機(jī)器人三維模型Fig.1 Three-dimensional model of 8-DOF agricultural robot1.基座 2.鉸座 3、9.液壓缸 4.大臂內(nèi)管 5.旋轉(zhuǎn)機(jī)構(gòu) 6.回轉(zhuǎn)油缸 7.小臂 8.連接件 10.大臂外管
農(nóng)業(yè)機(jī)器人具有8個關(guān)節(jié),根據(jù)機(jī)械臂結(jié)構(gòu),采用D-H法[10-14]進(jìn)行各關(guān)節(jié)坐標(biāo)系的建立。先確定機(jī)械臂的初始位姿,根據(jù)此位姿建立基礎(chǔ)坐標(biāo)系和各關(guān)節(jié)的坐標(biāo)系。為了簡化計(jì)算,將關(guān)節(jié)1的坐標(biāo)系與基礎(chǔ)坐標(biāo)系重合,之后依次在各關(guān)節(jié)上建立坐標(biāo)系,所得機(jī)構(gòu)簡圖和各關(guān)節(jié)坐標(biāo)系如圖2所示。
圖2 機(jī)械臂各關(guān)節(jié)坐標(biāo)系Fig.2 Arm joint coordinate system1.基座 2.鉸座 3.大臂外管 4.大臂內(nèi)管 5.連接件 6.旋轉(zhuǎn)機(jī)構(gòu) 7.末端擺動 8.末端裝置
正運(yùn)動學(xué)求解就是已知各個關(guān)節(jié)變量的值,計(jì)算機(jī)械臂的末端相對于基礎(chǔ)坐標(biāo)系的位置的姿態(tài)。根據(jù)各連桿參數(shù)以及所建立的坐標(biāo)系的關(guān)系可得出各關(guān)節(jié)的D-H參數(shù)表,如表1所示。表中θ1、θ2、d3、θ4、θ5、θ6、θ7和d8為關(guān)節(jié)變量。
根據(jù)建立的坐標(biāo)系以及D-H參數(shù)表可計(jì)算各連桿的齊次變換矩陣。由坐標(biāo)系{i+1}至坐標(biāo)系{i}的齊次變換矩陣為
表1 八自由度農(nóng)業(yè)機(jī)器人的D-H參數(shù)Tab.1 8-DOF agricultural robot D-H parameters
(1)
農(nóng)業(yè)機(jī)器人有8個自由度,故有8個相鄰坐標(biāo)系的齊次變換矩陣,可分別求得
由上述各關(guān)節(jié)的齊次變換矩陣可得機(jī)械臂的末端位姿矩陣為
(2)
式中前3列向量分別為末端坐標(biāo)系{8}的X、Y、Z軸在基礎(chǔ)坐標(biāo)系中的方向矢量,第4列為末端坐標(biāo)系原點(diǎn)在基礎(chǔ)坐標(biāo)系中的位置矢量。
將各關(guān)節(jié)變量的初值代入式(2)可得出機(jī)器人機(jī)械臂的初始位姿矩陣
(3)
逆運(yùn)動學(xué)求解就是已知機(jī)械臂末端相對于基礎(chǔ)坐標(biāo)系的位置和姿態(tài),求解各個關(guān)節(jié)變量的值。逆運(yùn)動學(xué)求解有多種方法,如PAUL等[15]提出的反變換法,LEE等[16]的幾何法,PIEPER等[17]的方法等。沒有唯一確定的機(jī)器人逆運(yùn)動學(xué)求解的方法,本文采用反變換法(也稱代數(shù)方法)對農(nóng)業(yè)機(jī)器人進(jìn)行逆運(yùn)動學(xué)求解。
由于有8個自由度,但能列出的等式僅有6個,考慮到機(jī)械臂為冗余機(jī)構(gòu),在空間操作時(shí)可有效躲避障礙物,另外機(jī)械臂在工作過程中小臂需垂直于工作面,則可約束關(guān)節(jié)2和關(guān)節(jié)4在工作過程中有θ2-θ4=-180°,關(guān)節(jié)1和關(guān)節(jié)5在工作過程中有θ1+θ5=-90°。添加2個約束條件后,機(jī)械臂在空間操作過程中可有效地躲避障礙物和優(yōu)化工作空間。因關(guān)節(jié)8是一個末端移動關(guān)節(jié),在實(shí)際工作過程中只需前7個關(guān)節(jié)確定姿態(tài)后,末端在其軸線方向上移動即可,故在運(yùn)動學(xué)分析時(shí)可令末端不移動,即d8為定值,取d8=1 775 mm,這樣雖然減少了機(jī)構(gòu)的自由度,但不影響機(jī)械臂實(shí)際的工作過程,有利于計(jì)算[18]。為了書寫方便,下面表達(dá)式中令cosθi=Ci和sinθi=Si,下文atan(y,x)是雙變量反正切函數(shù)。由式(2)可得
θ6=±arccosoz
(4)
(5)
由式(5)可求得
(6)
進(jìn)而求得
θ5=-90°-θ1
(7)
θ7=atan2(-S5,C5C6)±atan2(q1,q2)
(8)
其中
(9)
(10)
由式(10)可求得
(11)
其中
(12)
由θ2-θ4=-180°可得
θ4=θ2+180°
(13)
進(jìn)而求得
d3=-C1S2(px-axd8)-S1S2(py-ayd8)-
C2(pz-azd8)+140S2-420S4C5S6+745S4S5-
134.4S4-420C4C6-96C4
(14)
上述求得的各關(guān)節(jié)變量共有16組解,根據(jù)各關(guān)節(jié)在實(shí)際工作時(shí)的取值范圍和工作環(huán)境,可舍去的解有θ1的第2組解、θ7的加號組解、θ2的加號組解,最后剩余的只有兩組解,即
(15)
(16)
依據(jù)“最優(yōu)原則”,當(dāng)向機(jī)械臂末端左邊旋轉(zhuǎn)時(shí),采用第1組解,θ6取負(fù)號,即旋轉(zhuǎn)機(jī)構(gòu)逆時(shí)針旋轉(zhuǎn),如圖3a所示;當(dāng)向右邊旋轉(zhuǎn)時(shí),采用第2組解,θ6取正號,即旋轉(zhuǎn)機(jī)構(gòu)順時(shí)針旋轉(zhuǎn),如圖3b所示。
圖3 旋轉(zhuǎn)位形Fig.3 Rotation bitmap
利用Matlab軟件對正運(yùn)動和逆運(yùn)動求解仿真進(jìn)行驗(yàn)證。將正運(yùn)動和逆運(yùn)動算法輸入到Matlab中,從D-H參數(shù)表中各關(guān)節(jié)變量的取值范圍中任意取值,將其代入編寫的Matlab正運(yùn)動程序中,求得末端位姿矩陣,將此位姿矩陣代入逆運(yùn)動程序中進(jìn)而求得各關(guān)節(jié)變量的值,與開始輸入量進(jìn)行比較,以驗(yàn)證仿真結(jié)果。為了更加直觀地觀察機(jī)械臂各部分運(yùn)動情況,可導(dǎo)入到ADAMS中建立仿真模型[19-20]。利用逆運(yùn)動求解公式可計(jì)算各關(guān)節(jié)變量的值,輸入到仿真模型中進(jìn)行仿真,與理論分析進(jìn)行對比,驗(yàn)證其正確性。
將機(jī)械臂的三維模型導(dǎo)入到ADAMS中,各關(guān)節(jié)變量值的初值為[0° -90° 2 808 mm 90° -90° 0° 0° 1 775 mm],可得各關(guān)節(jié)在基礎(chǔ)坐標(biāo)系下的初始位姿如圖4所示。
圖4 仿真模型中的初始位姿Fig.4 Initial pose in simulation model
給定一組各關(guān)節(jié)變量值輸入到Matlab正運(yùn)動程序中,可得末端位姿矩陣為
(17)
將式(17)作為已知量代入到Matlab逆運(yùn)動程序中,可求得兩組解分別為[9.999 8° -95.000 0° 3 000 mm 84.999 8° -100.000 4° -30.002 9° 0° 1 775 mm]和[17.093 2° -94.841 3° 3 097.8 mm 85.158 7° -107.093 2° 30.002 9° 0° 1 775 mm]。
目標(biāo)位置在機(jī)械臂末端的左側(cè),根據(jù)“最優(yōu)原則”,選用第1組解。
將算例中各關(guān)節(jié)變量的值輸入到ADAMS中進(jìn)行仿真,可得到機(jī)械臂位姿如圖5所示,在機(jī)械臂末端建立的Mark點(diǎn)可測得末端的位姿參數(shù),位置參數(shù)為[5 721.73 mm 775.32 mm 853.36 mm],與式(17)給定的預(yù)期位置雖有誤差但基本一致。測得的姿態(tài)參數(shù)為[90° 30° 90°],由于本文默認(rèn)采用Z-Y-X歐拉角描述剛體姿態(tài),因此可算得其姿態(tài)矩陣為
(18)
結(jié)果也與式(17)給定的預(yù)期姿態(tài)矩陣一致,仿真驗(yàn)證了運(yùn)動學(xué)正解與反解求解結(jié)果的正確性。
圖5 機(jī)械臂最終位姿Fig.5 Adams pose simulation
為了驗(yàn)證該運(yùn)動學(xué)算法的正確性,搭建實(shí)驗(yàn)平臺進(jìn)行實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)平臺如圖6所示,機(jī)械臂固定在底座上,幕布上的點(diǎn)代表末端要到達(dá)的位置點(diǎn)。
在幕布上目標(biāo)點(diǎn)中任取10個點(diǎn),將目標(biāo)點(diǎn)的數(shù)據(jù)傳輸?shù)娇刂破髦?,控制機(jī)械臂到達(dá)目標(biāo)位置點(diǎn),可求得末端位置的實(shí)際值,與理論值進(jìn)行比較,如圖7所示,從圖7可以得出,存在誤差,但基本一致,引起誤差的原因可能是機(jī)械臂的剛度問題。
(1)以八自由度冗余農(nóng)業(yè)機(jī)器人機(jī)械臂為研究對象,求解其位置運(yùn)動學(xué)模型的解析解。采用D-H法得到了正運(yùn)動學(xué)方程,根據(jù)農(nóng)業(yè)機(jī)器人實(shí)際工況與機(jī)械臂結(jié)構(gòu)特點(diǎn),建立其約束條件,采用反變換法得到各關(guān)節(jié)變量的逆運(yùn)動學(xué)解析表達(dá)式,根據(jù)最短路徑原則,舍去不在工作范圍內(nèi)的解,最終共有兩組解。
圖6 實(shí)驗(yàn)平臺Fig.6 Experiment platform
圖7 末端位置對比Fig.7 Comparison of end position
(2)采用ADAMS軟件建立了機(jī)械臂仿真模型,對其進(jìn)行運(yùn)動學(xué)仿真,并搭建實(shí)驗(yàn)平臺進(jìn)行實(shí)驗(yàn),驗(yàn)證了正逆運(yùn)動學(xué)算法的正確性。