摘要:針對OUR-2機械臂的構(gòu)形特點,對其進行運動學(xué)及空間分析。采用D-H方法建立了OUR-2機械臂的連桿坐標系,得到了以6個關(guān)節(jié)角度為變量的正運動學(xué)方程,并用MATLAB robotics toolbox對機械臂的正運動學(xué)進行了仿真?;诿商乜宸ǚ治隽藱C械臂的工作空間,并利用MATLAB編程得到機械臂末端的工作空間點云圖。
關(guān)鍵詞:OUR-2機械臂;D-H方法;正運動學(xué);蒙特卡洛法
OUR機械臂有別于傳統(tǒng)工業(yè)機械臂,其特點是體積小、重量輕、有很快的運動速度和較大的活動范圍,機械臂的最大運動速度可以達到180°/s,能夠處理更復(fù)雜、更危險的工作,具有極強的靈活度、精確度和安全性。
對于機械臂運動學(xué)而言,正運動學(xué)相對簡單,機械臂的工作空間求解方法主要有圖解法、解析法、數(shù)值法,以及由數(shù)值法衍生出來的蒙特卡洛法[1]。圖解法和解析法受到關(guān)節(jié)數(shù)目的限制,對于有些機械臂并不通用;數(shù)值法計算量太大,有些邊界曲面可靠性得不到保證[2]。蒙特卡洛法可以用數(shù)學(xué)圖形的形式直觀清晰地表示機械臂的工作空間。本文采用J.Craij改進的D-H方法建立機械臂的連桿坐標系,分析OUR-2機械臂的正運動學(xué)模型,得到機械臂正運動學(xué)的解析解,并利用MATLAB robotics toolbox進行正運動學(xué)仿真分析,運用蒙特卡洛法得到機械臂的工作空間。
1.1 機械臂模型
按照改進的D-H方法建立OUR-2六自由度機械臂的連桿坐標系。首先確定基坐標系的位置以及末端的初始位置和姿態(tài),然后采用D-H法建立基坐標系和各關(guān)節(jié)處的坐標系,對于相同的基坐標系,不同的D-H矩陣的末端位姿相同。建立的OUR-2機械臂連桿坐標系如圖1所示。
利用SolidWorks建立了OUR-2六自由度機械臂三維模型,如圖2所示。機械臂共包括6個部分:基座、肩部、肘部、腕部1、腕部2以及腕部3。OUR-2有別于傳統(tǒng)的六自由度機械臂,6個關(guān)節(jié)均為模塊化旋轉(zhuǎn)關(guān)節(jié),每個模塊均由高性能的伺服電機、諧波減速器、機械剎車、驅(qū)動器和通信總線組成,每個關(guān)節(jié)有一個自由度,機械臂的實驗平臺如圖3所示。
1.2 機械臂正運動學(xué)分析
機械臂的工作空間是指機械臂末端所能到的范圍,是機械臂靈活性的重要指標,理論上機械臂的工作空間是一個可以覆蓋機械臂所在位置的球形區(qū)域[3],實際上由于奇點的存在,使得機械臂的靈活性和空間工作范圍受到限制,如何擴大機械臂的工作空間以及增強它的靈活性是一個重要的研究方向。機械臂的運動學(xué)涉及末端位姿和關(guān)節(jié)變量,是空間分析的一個重要基礎(chǔ)[4]。
根據(jù)OUR-2機械臂的連桿坐標系可以得到機械臂連桿參數(shù),如表1所示。
表1 機械臂的連桿參數(shù)
關(guān)節(jié)編號關(guān)節(jié)變量θi(°)連桿長度ai-1mm扭角αi-1(°)連桿偏置dimm關(guān)節(jié)轉(zhuǎn)角極限(°)1θ10180d1(-98.5)±1752θ2090d2(-121.5)±1753θ3a2(408)1800±1754θ4a3(376)1800±1755θ50-90d5(-102.5)±1756θ60900±175
相鄰連桿坐標系D-H變換矩陣為:
(1)
由表1以及D-H變換矩陣可以得到OUR-2機械臂的末端姿態(tài):
(2)
經(jīng)過計算得到的基座和末端位姿的變換矩陣元素如下:
nx=-s6c1s432-c6(s1s5-c5c1c432),
ny=s6s1s432-c6(c1s5+c5s1s432),nz=-c5c6s432-s6c432,
ox=s6(s1s5-c5c1c432)-c6c1s432,
oy=s6(c1s5-c5s1c432)+c6s1s432,
oz=c5s6s432-c6c1c432,
ax=c5s1+s5c1c432,
ay=c5c1-s5c1c432,
az=-s5s432,
px=d2s1+a3c1c32-d5c1s432+a2c1c2,
py=d2c1-a3s1c32+d5s1s432-a2s1c2,
pz=a3s32-d5c432-a2s2-d1.
其中:sinθi=si;sin(θ3-θ2)=s32;cosθi=ci;cos(θ3-θ2)=c32;cos(θ4-θ3+θ2)=c432;sin(θ4-θ3+θ2)=s432。
1.3 OUR-2機械臂正運動學(xué)仿真
MATLAB robotics toolbox是一個功能強大的工具箱,可以對機械臂進行運動學(xué)、軌跡規(guī)劃、動力學(xué)等方面的仿真[5]。
MATLAB robotics toolbox的drivebot(r)命令可以生成OUR-2機械臂的三維模型,同時生成機械臂控制面板,控制面板可以調(diào)節(jié)機械臂的角度,從而使關(guān)節(jié)產(chǎn)生轉(zhuǎn)動。
設(shè)置仿真的初始關(guān)節(jié)變量和終止關(guān)節(jié)變量以及仿真時間,此時可以得到機械臂的末端位姿以及末端姿態(tài)矩陣。當初始角度θ初=(0,-π/3,π/6,π/2,0,0),終止角度θ終=(π/6,-π/6,π/3,-π/3,0,0)時,可以得到機械臂的初始和終止三維模型,如圖4所示。
圖4 機械臂的初始和終止三維模型
由于5、6關(guān)節(jié)角位移并沒有變化,這里不再列出其角位移曲線,利用MATLAB編程可以得到前4個關(guān)節(jié)的角位移曲線,如圖5所示,末端執(zhí)行器的運動軌跡如圖6所示。
圖5 前4個關(guān)節(jié)的角位移曲線
圖6 末端執(zhí)行器的運動軌跡
圖5表明了機械臂各關(guān)節(jié)運行正常,可以平穩(wěn)地從初始位置到達終止位置。圖6表明了OUR-2機械臂的參數(shù)設(shè)置合理,可以達到預(yù)期的目標。
機械臂的工作空間是指機械臂正常運行時,末端執(zhí)行器坐標系的原點能在空間活動的最大范圍,或者說該原點可達點占有的體積空間,這一空間又稱可達空間或總工作空間[6],記作W(p)。關(guān)節(jié)變量和工作空間的關(guān)系可表示為:
W(p)={P(θi,θi∈Q)}.
其中:θi為關(guān)節(jié)變量,θi=[θ1,θ2,θ3,θ4,θ5,θ6];Q為空間約束,Q={θ‖和分別為關(guān)節(jié)運動的下限和上限。因此,機械臂的工作區(qū)域可以表示為:
(3)
蒙特卡洛法是一種利用隨機抽樣解決數(shù)學(xué)問題的方法,其計算速度快,工作量小,能夠精確地繪制出計算機圖形,利用蒙特卡洛法求取工作空間的具體步驟如下[7]:
(1) 對OUR-2機械臂進行正向運動學(xué)分析,得到機械臂的末端姿態(tài)向量。
(2) 利用隨機函數(shù)Rand(j)產(chǎn)生N個隨機值(0~1之間),由此產(chǎn)生的隨機步長為(θimax-θimin)·Rand(j)(θimax和θimin為關(guān)節(jié)變量的上限和下限),可以得到機械臂各個關(guān)節(jié)轉(zhuǎn)角的偽隨機值為θi=θimin+(θimax-θimin)Rand(j)。
(3) 將 6個關(guān)節(jié)轉(zhuǎn)角代入正運動學(xué)方程,得到機械臂末端的坐標值,所求末端位置點數(shù)目越多,機器人的實際工作空間反映得越精確。
(4) 利用MATLAB強大的畫圖功能,將所得位置用點的形式表現(xiàn)出來,便可得到工作空間的“云圖”。三維云圖代碼如下:
xx = ;
yy = ;
zz = ;
for N = 1:10000
N
a1=(175*(2*rand(1)-1))*pi/180;
a2=(175*(2*rand(1)-1))*pi/180;
a3=(175*(2*rand(1)-1))*pi/180;
a4=(175*(2*rand(1)-1))*pi/180;
xx=[xx,-121.5*sin(a1)+376*cos(a1)*cos(a3- a2)+102.5*cos(a1)*sin(a4-a3+a2)+408*cos(a1)*cos(a2)];
yy=[yy,-121.5*cos(a1)-376*sin(a1)*cos(a3-a2)-102.5*cos(a1)*sin(a4-a3+a2)-408*sin(a1)*cos(a2)];
zz=[zz,376*sin(a3-a2)+102.5*cos(a4-a3+a2)-408*sin(a2)+98.5];
end
figure(1);
plot3(xx,yy,zz,'g.');
其中:a1=θ1;a2=θ2;a3=θ3;a4=θ4;xx、yy、zz為機械臂的空間位置向量。
本文取N=100 000,即隨機坐標數(shù)目為100 000個,應(yīng)用蒙特卡洛法可得機械臂的工作空間云圖,如圖7所示。
圖7 機械臂的工作空間云圖
由圖7可以看出,OUR-2機械臂幾乎可以達到最大區(qū)域的所有空間,利用蒙特卡洛法仿真模擬可以得到一系列的隨機點,但與真實的工作區(qū)域還有一定差距,這是由于該方法本身的限制,利用蒙特卡洛法只能不斷地逼近真實工作區(qū)域,并且這種逼近程度隨著關(guān)節(jié)組合數(shù)量越多越接近真實工作區(qū)域[8]。
本文首先分析了OUR-2機械臂的正運動學(xué)方程,利用MATLAB robotics toolbox進行了運動學(xué)仿真,驗證了結(jié)構(gòu)的合理性。然后基于蒙特卡洛法進行了空間分析,可以看到空間內(nèi)部點分布均勻,滿足機械臂的使用要求。蒙特卡洛法克服了幾何法受到自由度限制的缺陷,并且能夠精確反映機械臂的工作空間。