摘 要: 多關(guān)節(jié)機(jī)器人的工作空間是反映機(jī)器人運(yùn)動(dòng)能力的一個(gè)重要指標(biāo)。提出了一種簡(jiǎn)化的多關(guān)節(jié)機(jī)器人工作空間仿真方法,可以不用求解正運(yùn)動(dòng)學(xué)方程,只要根據(jù)簡(jiǎn)單的機(jī)器人關(guān)節(jié)變換參數(shù)就可以通過仿真迅速得到其運(yùn)動(dòng)空間。以Brokk50機(jī)器人為例,首先建立其D-H變換坐標(biāo)圖并確定變換參數(shù),然后以Matlab為仿真工具建立仿真模型并驗(yàn)證參數(shù)正確性,最后運(yùn)用提出的新方法快速求出其運(yùn)動(dòng)空間。從而能夠?yàn)槎嚓P(guān)節(jié)機(jī)器人的設(shè)計(jì)改進(jìn)、遙操作和軌跡規(guī)劃等工作提供參考。
關(guān)鍵詞: 多關(guān)節(jié)機(jī)器人;工作空間仿真;Matlab仿真
多關(guān)節(jié)機(jī)器人是一種應(yīng)用非常廣泛的機(jī)器人,絕大部分工業(yè)機(jī)器人和智能移動(dòng)機(jī)器人都是多關(guān)節(jié)機(jī)器人,擁有多關(guān)節(jié)機(jī)械臂。機(jī)器人在農(nóng)業(yè)上可以完成蔬菜和水果的采摘,在工業(yè)上的應(yīng)用更是比比皆是,如各種噴涂和焊接機(jī)器人。對(duì)機(jī)器人的應(yīng)用大大降低了工人勞動(dòng)強(qiáng)度,降低了勞動(dòng)成本,提高了工作效率,具有很大的應(yīng)用價(jià)值。多關(guān)節(jié)機(jī)械臂的靈活程度對(duì)其工作能力有著至關(guān)重要的作用[1-2]。關(guān)節(jié)臂的工作空間是多關(guān)節(jié)機(jī)器人靈活程度的重要指標(biāo)之一,它是指其末端參考點(diǎn)所能達(dá)到的空間點(diǎn)集合。目前,機(jī)器人工作空間的仿真通常通過建立機(jī)器人的正運(yùn)動(dòng)學(xué)方程,然后求解機(jī)器人的末端坐標(biāo),最后將末端坐標(biāo)點(diǎn)集合顯示在坐標(biāo)圖中加以實(shí)現(xiàn),這通常需要大量的矩陣運(yùn)算,步驟繁瑣工作量大,極易出錯(cuò)。本文在Robotics Toolbox仿真工具箱的基礎(chǔ)上,提出了一種簡(jiǎn)化的工作空間仿真方法,只要知道機(jī)械臂模型和相關(guān)參數(shù),不需要進(jìn)行正運(yùn)動(dòng)學(xué)解,即可求出末端坐標(biāo),進(jìn)而求出工作空間的仿真圖??晒┰O(shè)計(jì)者、操作員和運(yùn)動(dòng)規(guī)劃者分析工作問題,制定工作策略。
1 機(jī)器人模型建立和參數(shù)
本文以Brokk50為例,首先畫出其簡(jiǎn)化的機(jī)械臂模型,然后確定關(guān)節(jié)間D-H變換參數(shù)[3-4],最后通過仿真驗(yàn)證參數(shù)的正確性。Brokk50機(jī)器人的機(jī)械臂簡(jiǎn)圖如圖1所示。
為了方便查看,圖1中將坐標(biāo)系0和坐標(biāo)系1的原點(diǎn)放在了一起。
oxyz:與固定坐標(biāo)相連的固定參考坐標(biāo)系,稱為基坐標(biāo)系。
onxnynzn:與機(jī)器人的第n個(gè)桿件相固連,坐標(biāo)原點(diǎn)在第n+1關(guān)節(jié)的中心點(diǎn)處。
確定和建立每個(gè)坐標(biāo)系遵循以下3條規(guī)則:
(1)zn-1軸沿著第n關(guān)節(jié)的運(yùn)動(dòng)軸;
(2)xn軸垂直于zi軸及zi-1軸并指向離開zi-1軸的方向;
(3)yn軸按右手坐標(biāo)系的要求建立。
同時(shí),剛性桿件的D-H表示法取決于連桿的以下4個(gè)參數(shù):
(1)連桿長(zhǎng)度an:表示沿xn軸方向zn-1軸與zn軸之間的距離;
(2)連桿扭角αn:表示繞xn軸線由zn-1軸到zn軸所旋轉(zhuǎn)的角度;
(3)連桿間距dn:表示沿zn軸方向xn-1軸到xn軸的距離;
(4)轉(zhuǎn)角變量θn:表示繞軸由xn-1軸到xn軸所旋轉(zhuǎn)的角度。
由圖1和機(jī)械臂參數(shù)可以確定連桿參數(shù)和變量,如表1所示。
其中,轉(zhuǎn)角變量θi為關(guān)節(jié)繞z軸的旋轉(zhuǎn)角度,是未知量;連桿間距為相鄰關(guān)節(jié)間公垂線的距離;連桿長(zhǎng)度為已知;連桿扭角αn為相鄰兩個(gè)z軸的夾角。
2 Brokk50機(jī)器人建模仿真
對(duì)于機(jī)械臂的運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)以及軌跡規(guī)劃分析,可以使用基于Matlab平臺(tái)的機(jī)器人工具箱—Robotics Toolbox,此工具箱最新版本在2002年4月由Peter I.Corke更新。該工具箱函數(shù)可以在Matlbab7.1版本上運(yùn)行。它提供給用戶一些常用的函數(shù),可以實(shí)現(xiàn)機(jī)械臂運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)仿真,是一款非常方便和容易上手的輔助工具[5-6]。
下面使用工具箱中的函數(shù)對(duì)Brokk機(jī)器人機(jī)械臂進(jìn)行建模和正運(yùn)動(dòng)學(xué)仿真,具體實(shí)現(xiàn)函數(shù)如下:
L1=link([pi/2 0 0 40],'standard');
L2=link([0 60 0 0],'standard');
L3=link([0 80 0 0],'standard');
L4=link([0 60 0 0],'standard');
L5=link([-pi/2 50 0 0],'standard');
r=roBot({L1 L2 L3 L4 L5});
r.name='Brokk機(jī)械臂';
q=[0 0 0 0 0];
driveBot(r,q)
link函數(shù)中的參數(shù)從前到后分別代表D.H參數(shù)表中的α、a、θ、d;standard表示采用的是標(biāo)準(zhǔn)D.H建模方法;roBot函數(shù)作用是將機(jī)械臂各桿與關(guān)節(jié)連接起來(lái);q表示關(guān)節(jié)變量的初始角度;driveBot是繪制機(jī)械臂的函數(shù)。這里取L1、L2、L3、L4、L5分別為40、60、80、60、50。采用工具箱函數(shù)得到的仿真結(jié)果如圖2所示。其中x、y、z分別表示抓持器的位置;ax、ay、az表示抓持器的姿態(tài),是用RPY旋轉(zhuǎn)來(lái)表示的,ax表示偏航角,ay表示俯仰角,az表示滾動(dòng)角;q1、q2、q3、q4、q5為5個(gè)關(guān)節(jié)角度值。由圖2可以看出機(jī)械臂參數(shù)正確,可以進(jìn)行工作空間分析。
3 機(jī)械臂工作空間仿真方法
本文采用一種不需要正運(yùn)動(dòng)解算的機(jī)器人末端坐標(biāo)求取方法,改進(jìn)了傳統(tǒng)的空間求取方法——蒙特卡洛方法??梢钥焖偾蟪鰴C(jī)器人的末端坐標(biāo)并得到工作空間圖像,計(jì)算速度快,適合任何關(guān)節(jié)型機(jī)械臂工作空間求解,只需要具有大致模型和參數(shù)。具體求解步驟如下:
(1)根據(jù)機(jī)器人參數(shù)確定參數(shù)值和變化范圍;
(2)利用隨機(jī)函數(shù)RAND(j)(j=1,2,…,N)產(chǎn)生N個(gè)0~1之間的隨機(jī)值,由此產(chǎn)生的隨機(jī)步長(zhǎng)為(qmaxi-qmini)×RAND(j),得到機(jī)械關(guān)節(jié)變量的偽隨機(jī)值為[7]:
qi=qmini+(qmaxi-qmini)RAND(j)
式中qmaxi、qmini為關(guān)節(jié)變量的上下限,i為關(guān)節(jié)數(shù)目;
(3)將N個(gè)關(guān)節(jié)變量組合帶入Robotics Toolbox公式 fkine(機(jī)器人名,c)中,得到機(jī)械臂末端運(yùn)動(dòng)矩陣,并提取x、y、z坐標(biāo)分別存于矩陣X、Y、Z中;
(4)通過plot3(x,y,z)和plot(x,y)、plot(x,z)、plot(y,z)得到工作空間的點(diǎn)集云圖。
Brokk50機(jī)器人工作空間的仿真結(jié)果如圖3所示。
靈活運(yùn)用基于Matlab平臺(tái)的機(jī)器人工具箱——Robotics Toolbox,可以在僅僅知道機(jī)械臂的部分參數(shù)的情況下快速建立機(jī)械臂仿真模型,并在不計(jì)算機(jī)械臂運(yùn)動(dòng)學(xué)正解的情況下得出工作空間,減少了大量復(fù)雜的矩陣運(yùn)算,提高了工作效率。可以直觀地指導(dǎo)機(jī)械臂的設(shè)計(jì)工作,確定設(shè)計(jì)參數(shù);也可以為遙操作和軌跡規(guī)劃提供一些理論支持,減少實(shí)際調(diào)試時(shí)間,優(yōu)化運(yùn)動(dòng)軌跡,避免機(jī)構(gòu)干涉等問題。
參考文獻(xiàn)
[1] 郁邦永,茅獻(xiàn)彪.機(jī)械手工作空間分析與仿真系統(tǒng)探討[J].煤礦機(jī)械,2012,33(8):68-70.
[2] 梁喜鳳,王永維,苗香雯,等.番茄收獲機(jī)械手工作空間分析與仿真[J].浙江大學(xué)學(xué)報(bào)(農(nóng)業(yè)與生命科學(xué)版),2005,31(6):807-811.
[3] 任崇軒.五自由度機(jī)械臂運(yùn)動(dòng)和控制仿真分析[D].廣州:華南理工大學(xué),2012.
[4] 馬江.六自由度機(jī)械臂控制系統(tǒng)設(shè)計(jì)和運(yùn)動(dòng)學(xué)仿真[D].北京:北京工業(yè)大學(xué),2012.
[5] 馮飛,張洛平,張波.四自由度機(jī)器人Matlab仿真實(shí)例[J].河南科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,29(3):24-26.
[6] 康嘉瑞,樊留群,LAURISCHKAT R.基于Matlab的機(jī)器人逆運(yùn)動(dòng)學(xué)研究[J].佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,29(3):24-26.
[7] 田海波,馬宏偉,魏娟.串聯(lián)機(jī)器人機(jī)械臂工作空間與結(jié) 構(gòu)參數(shù)研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2013,44(4):196-201.