《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計(jì)應(yīng)用 > 多關(guān)節(jié)機(jī)器人工作空間仿真方法
多關(guān)節(jié)機(jī)器人工作空間仿真方法
來源:微型機(jī)與應(yīng)用2014年第2期
林海峰,,王 姮
(西南科技大學(xué) 特殊環(huán)境機(jī)器人技術(shù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 綿陽621010)
摘要: 多關(guān)節(jié)機(jī)器人的工作空間是反映機(jī)器人運(yùn)動(dòng)能力的一個(gè)重要指標(biāo)。提出了一種簡化的多關(guān)節(jié)機(jī)器人工作空間仿真方法,,可以不用求解正運(yùn)動(dòng)學(xué)方程,,只要根據(jù)簡單的機(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ī)劃等工作提供參考,。
Abstract:
Key words :

摘  要: 多關(guān)節(jié)機(jī)器人的工作空間是反映機(jī)器人運(yùn)動(dòng)能力的一個(gè)重要指標(biāo),。提出了一種簡化的多關(guān)節(jié)機(jī)器人工作空間仿真方法,,可以不用求解正運(yùn)動(dòng)學(xué)方程,只要根據(jù)簡單的機(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ī)器人,。對機(jī)器人的應(yīng)用大大降低了工人勞動(dòng)強(qiáng)度,,降低了勞動(dòng)成本,提高了工作效率,,具有很大的應(yīng)用價(jià)值,。多關(guān)節(jié)機(jī)械臂的靈活程度對其工作能力有著至關(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ǔ)上,,提出了一種簡化的工作空間仿真方法,,只要知道機(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為例,,首先畫出其簡化的機(jī)械臂模型,,然后確定關(guān)節(jié)間D-H變換參數(shù)[3-4],最后通過仿真驗(yàn)證參數(shù)的正確性,。Brokk50機(jī)器人的機(jī)械臂簡圖如圖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)連桿長度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é)間公垂線的距離,;連桿長度為已知,;連桿扭角αn為相鄰兩個(gè)z軸的夾角。
2 Brokk50機(jī)器人建模仿真
    對于機(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ù)對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é)連接起來;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)來表示的,,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)的空間求取方法——蒙特卡洛方法,。可以快速求出機(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ī)步長為(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。