• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    6R機(jī)器人的聯(lián)合仿真

    2013-03-26 08:25:00黃桂武扶宇陽
    機(jī)電工程技術(shù) 2013年4期
    關(guān)鍵詞:位姿運動學(xué)連桿

    楊 林,李 霆,黃桂武,扶宇陽

    (1.五邑大學(xué)機(jī)電學(xué)院,廣東江門 529020;2.廣東科杰機(jī)械自動化有限公司,廣東江門 529020)

    0 引言

    MATLAB軟件主要是面對科學(xué)計算、可視化及交互式程序設(shè)計的環(huán)境,它的基本數(shù)據(jù)單位是矩陣。通過調(diào)用其附加的神經(jīng)網(wǎng)絡(luò)等工具箱,可使開發(fā)算法的效率比C、C++等高。機(jī)器人學(xué)的相關(guān)運算主要以矩陣運算為主,且開發(fā)機(jī)器人路徑規(guī)劃、逆運動學(xué)等算法時有的需要用到神經(jīng)網(wǎng)絡(luò)、遺傳算法等,而這在MATLAB中的調(diào)用十分方便。而SolidWorks等三維軟件可以模擬現(xiàn)實物理環(huán)境,通過給關(guān)節(jié)添加電機(jī)可以模擬現(xiàn)實環(huán)境中的電機(jī)驅(qū)動機(jī)器人關(guān)節(jié),如果解決了Solid?Works引用MATLAB生成的電機(jī)數(shù)據(jù)的問題,就可以實現(xiàn)SolidWorks與MATLAB的聯(lián)合仿真。

    1 機(jī)器人聯(lián)合仿真任務(wù)說明

    要求機(jī)器人末端跟蹤一個在30°斜面上的矩形,矩形輪廓為:500 mm×200 mm,如圖1所示。

    機(jī)器人初始位置設(shè)為θ2為90°,其余為0°,跟蹤路徑要求機(jī)器人末端從初始位置0運動到點3用PTP跟蹤,再按照3-1-2-4-3順序直線連續(xù)跟蹤,再按PTP方式從位置3回到初始位置0。各段所用時間設(shè)置為2 s。

    圖1 任務(wù)說明

    圖2 跟蹤路徑

    2 建立機(jī)器人運動學(xué)模型

    2.1 建立連桿坐標(biāo)系

    JRB608機(jī)器人是某公司研發(fā)的一款用于搬運、焊接的6自由度機(jī)器人,末端負(fù)載能力為8 kg。各關(guān)節(jié)全部為旋轉(zhuǎn)關(guān)節(jié),其中4、5、6關(guān)節(jié)軸線相互垂直且交于一點,其幾何結(jié)構(gòu)滿足Pieper準(zhǔn)則。結(jié)構(gòu)如圖3所示。

    為分析機(jī)器人運動學(xué)正逆解問題,按照Dena?vit-Hartenberg方法[1],結(jié)合MATLAB機(jī)器人工具箱[3]函數(shù)格式,建立如圖4所示的前置坐標(biāo)系,即將關(guān)節(jié)i的軸線置為第i個連桿坐標(biāo)系的Zi軸,指向任意。具體建立方法為將機(jī)器人所有桿件移動到初始位置,對應(yīng)所有變量均為零值。基坐標(biāo)系{0}與坐標(biāo)系{1}的初始位置重合,坐標(biāo)系{i}的原點位于公垂線ai與關(guān)節(jié)軸i的交點處,Xi方向為沿ai方向由關(guān)節(jié)i指向關(guān)節(jié)i+1;坐標(biāo)系{N}的Yi軸由右手定則確定。機(jī)器人后三個關(guān)節(jié)軸線交與一點,原點都設(shè)在交點上。對應(yīng)于圖4所建立的坐標(biāo)系,機(jī)器人D-H參數(shù) αi、ai、 di、 θi(i=1,2…6)如表1所示。四個參數(shù)依次表示連桿扭角、連桿長度、兩連桿距離、兩連桿夾角。

    圖3 JRB608結(jié)構(gòu)

    圖4 機(jī)器人坐標(biāo)系

    表1 JRB608機(jī)器人連桿參數(shù)

    2.2 建立機(jī)器人運動學(xué)方程

    2.2.1 機(jī)器人正向運動學(xué)

    運動學(xué)正問題就是給定桿件的幾何參數(shù)和關(guān)節(jié)的位移,求解末端連桿坐標(biāo)系相對于基座標(biāo)系的位姿。

    式(1)中c=cos,s=sin。代入數(shù)據(jù)可得到機(jī)器人末端相對于基座標(biāo)系的位置和姿態(tài),矩陣表示為:

    式(2) 中, nx、ny、nz表示坐標(biāo)系{6}的 X 軸與基坐標(biāo)系{0}的 X0、Y0、Z0軸夾角的余弦值,ox、oy、oz表示坐標(biāo)系{6}的 Y 軸與基坐標(biāo)系{0}的X0、Y0、Z0軸夾角的余弦值, ax、ay、az表示坐標(biāo)系{6}的Z軸與基坐標(biāo)系{0}的 X0、Y0、Z0軸夾角的余弦值。 px、py、pz表示坐標(biāo)系{6}的原點在基坐標(biāo)系{0}中的位置。

    2.2.2 機(jī)器人逆向運動學(xué)

    機(jī)器人逆運動學(xué)問題是根據(jù)已知的末端執(zhí)行器的位姿,求解各個關(guān)節(jié)的角度值。

    本文采用微分變換求解逆向運動學(xué)問題[3]。將問題描述為:已知坐標(biāo)系{6}相對于基坐標(biāo)系{0}的微分變化時,求出各關(guān)節(jié)角度值的相應(yīng)變化。

    當(dāng)微分運動相對于基座標(biāo)系進(jìn)行時,微分變換記為Δ,相對于坐標(biāo)系T進(jìn)行時,記為ΔT,微分變換一般表達(dá)式為[2]:

    其中,δx,δy,δz分別表示dθ繞指定坐標(biāo)系的X,Y,Z軸的微分旋轉(zhuǎn),dx,dy,dz表示相應(yīng)的微分平移。

    3 用MATLAB求關(guān)節(jié)位移

    3.1 建立機(jī)器人模型

    表1是結(jié)合MATLAB機(jī)器人工具箱格式得出的連桿參數(shù),代入相關(guān)參數(shù),得到MATLAB環(huán)境下的機(jī)器人模型。建立機(jī)器人模型過程如下:

    連桿參數(shù):

    L{1}=link([pi/2.1175 0 0 0]);

    L{2}=link([0.59 0 0 0]);

    L{3}=link([pi/2.1675 0 0 0]);

    L{4}=link([-pi/2 0 0.671 0]);

    L{5}=link([pi/2 0 0 0 0]);

    L{6}=link([0 0 0 0 0]);

    構(gòu)建機(jī)器人:

    JRB_608=robot(L,'JRB608');

    JRB_608.name='JRB608';

    模型可視化:

    theta=[0 pi/2 0 0 0 0];

    plot(JRB_608,theta);

    drivebot(JRB_608);

    圖5是根據(jù)連桿參數(shù)繪制出的連桿模型,圖6為滑塊控制圖,可以驅(qū)動模型并查看各關(guān)節(jié)角度范圍限制。

    自編check.m函數(shù)用于檢測所給角度是否超出角度限制,關(guān)鍵語句為:

    圖5 JRB608模型

    theta(i)<min(L{i}.qlim)|theta(i)>max(L{i}.qlim)error(''):%引號內(nèi)為錯誤提示內(nèi)容。

    3.2 獲取各示教點位姿

    SolidWorks環(huán)境下,使焊槍末端與點3重合,且使焊槍與焊接平面垂直,依次與點1、點2、點4重合,初始點為0,得出4種位姿下各關(guān)節(jié)的角度:

    q0=[0 90 0 0 0 0]*pi/180;%起始點位置

    q3=[-10.33 71.17-7.69-5.15-42 0]*pi/180;

    q1=[-11.5 88.83-19.56-5.79-47 0]*pi/180;

    q2=[11.5 88.65-17.9 5.8-47.4 0]*pi/180;

    q4=[10.1 71.16-7.68 5-42.1 0]*pi/180;

    機(jī)器人在點0、3時的位姿矩陣,運用MAT?LAB機(jī)器人工具箱函數(shù)fkine()求解:

    T0=fkine(JRB_608,q0);%點0位姿矩陣

    T3=fkine(JRB_608,q3);%點3位姿矩陣

    機(jī)器人在點1,2,4處的位姿矩陣通過平移變換得到:

    T1=transl(-0.165,0,0.095)*T3;%點1處位姿矩陣

    T2=transl(0,0.49,0)*T1;%點2處位姿矩陣

    T4=transl(.165,0,-0.095)*T2;%點4處位姿矩陣

    圖6 滑塊控制圖

    3.3 求解關(guān)節(jié)位移

    由于所給任務(wù)為在笛卡爾空間的直線運動,必須將笛卡爾空間轉(zhuǎn)換到關(guān)節(jié)空間以得到關(guān)節(jié)位移增量。MATLAB中ctraj()函數(shù)可以計算兩點間笛卡爾空間軌跡插補(bǔ)的函數(shù)。求解關(guān)節(jié)角度語句如下:

    t1=0:0.02:2;%0~2s,采樣時間20ms

    Q0_3=ctraj(T0,T3,length(t1));%點0到點3

    Q03=ikine(JRB_608,Q0_3,q0);

    %點0到3各時刻關(guān)節(jié)角位移,起始位置q0

    同理,可得到Q31(點3到點1)、Q12(點1到點2)、Q24(點2到點4)、Q43(點4到點3)、Q30(點3到點0)。

    程序運行出來的數(shù)據(jù)就是6個關(guān)節(jié)在每個時刻的角度值,可使用語句:plot(JRB_608,Q04)在MATLAB環(huán)境下動態(tài)仿真,以檢查結(jié)果的正確性。

    圖7 定義關(guān)節(jié)馬達(dá)

    圖8 裝載數(shù)據(jù)

    3.4 生成txt文件

    對于6自由度機(jī)器人,要完成末端執(zhí)行器在笛卡爾空間直線軌跡仿真,想簡單的靠給電機(jī)輸入數(shù)據(jù)點,工作量非常大,而且一旦數(shù)據(jù)更改,就得重新輸入,費時且費力。但是MATLAB能夠生成txt、dat、mat等格式的文件,而SolidWorks motion可以讀取txt文件格式的數(shù)據(jù)給電機(jī),這給驗證運動學(xué)算法和機(jī)器人仿真帶來很大方便。

    MATLAB生成txt文件語句為:

    save('d:JRB6J1zhou.txt','J1','-ascii');

    語句中,J1代表要寫入數(shù)據(jù),J1zhou.txt為要生成的文件名。

    4 SolidWorks Motion運動仿真

    4.1 SolidWorks Motion功能說明

    SolidWorks Motion是集成于SolidWorks premi?um中的運動學(xué)與動力學(xué)分析插件,還可以檢測運動過程中是否會發(fā)生干涉。使用motion分析,軟件按照用戶定義的裝配關(guān)系,精確模擬并分析裝配體的運動,以圖形、動畫、表格等多種方式輸出分析結(jié)果。由于SolidWorks Motion運動算例分析同時計及了運動約束、材料屬性、質(zhì)量、及零部件接觸,所以可以很方便地模擬和求解現(xiàn)實受力情況。

    4.2 文件導(dǎo)入與仿真

    首先在SolidWorks環(huán)境下建立好機(jī)器人模型,定義好裝配關(guān)系,進(jìn)入運動算例界面,按照2.1節(jié)所建立的連桿坐標(biāo)系給每個關(guān)節(jié)定義電機(jī),電機(jī)方向如圖7所示,再點擊“從文件裝載”,如圖8所示,給馬達(dá)選擇3.4節(jié)生成的相應(yīng)txt文件,點擊“計算運動算例”,就可以使機(jī)器人按照編寫的算法運動。

    4.3 結(jié)果分析

    干涉檢查。本文在環(huán)境中放置一個干涉零件,如圖9所示的矩形零件,以說明焊槍與環(huán)境干涉檢查方法。在Motion Manager設(shè)計樹欄右鍵單擊“檢查干涉”,彈出圖10所示對話框,選中要檢查干涉的零部件,圖10中“結(jié)束幀數(shù)”選項按照motion分析中的每秒幀數(shù)設(shè)置,本算例中每秒幀數(shù)時42,為檢查前1.5 s內(nèi)有無干涉出現(xiàn),結(jié)束幀數(shù)應(yīng)該為63。計算出的干涉顯示在文本框中,點擊干涉,干涉區(qū)域會著重顯示,并且干涉位置會跟隨幀數(shù)變化,且干涉區(qū)域可以放大以更清楚查看。根據(jù)干涉結(jié)果,可以對機(jī)器人路徑規(guī)劃算法進(jìn)行檢驗,在三維實體模型下查看是否機(jī)器人已經(jīng)避開環(huán)境中的障礙。

    圖9 干涉零件

    圖10 干涉檢查

    軌跡與速度曲線跟蹤。在Motion界面,單擊“結(jié)果和圖解”,能生成運動過程中的關(guān)節(jié)力矩、目標(biāo)點運動速度、加速度、角位移,還能對目標(biāo)點進(jìn)行跟蹤。本文根據(jù)生成的文件,運行后對焊槍末端進(jìn)行軌跡跟蹤,跟蹤結(jié)果如圖11所示。

    從圖11說明此算法可以完成軌跡跟蹤要求,但圖12表明,末端速度有跳變,對機(jī)械結(jié)構(gòu)會產(chǎn)生沖擊,在軌跡規(guī)劃階段還需要對算法進(jìn)行優(yōu)化。從而為后期軟件規(guī)劃指明方向。

    圖11 末端軌跡

    圖12 末端運行速度

    5 結(jié)語

    本文通過SolidWorks與MATLAB之間文件共享,實現(xiàn)了兩者之間的聯(lián)合仿真。SolidWorks能將現(xiàn)實生活中的物理環(huán)境簡單而又逼真地顯示出來,而軟件開發(fā)工作人員又正好缺少這樣一個檢驗環(huán)境,通過觀察仿真得出的曲線,軟件開發(fā)人員可以直觀看出已經(jīng)實現(xiàn)了哪些功能,所編程序在實際運行中會不會產(chǎn)生干涉,還需要在哪些地方進(jìn)行改進(jìn)等;而對于機(jī)器人結(jié)構(gòu)設(shè)計人員,還可以在添加了Simulation之后,機(jī)器人本體結(jié)構(gòu)變形情況也會顯示在仿真當(dāng)中,可直觀看出在完成該任務(wù)下各個零件的變形情況,從而指導(dǎo)結(jié)構(gòu)優(yōu)化設(shè)計。

    綜上所述,通過聯(lián)合仿真,將軟件開發(fā)工作者與結(jié)構(gòu)設(shè)計工作者聯(lián)系起來,使得在開發(fā)階段可以得到各自想要的數(shù)據(jù),從而為后續(xù)結(jié)構(gòu)設(shè)計和軟件設(shè)計工作人員提供改進(jìn)方向。

    [1]John J.Craig.機(jī)械人學(xué)導(dǎo)論[M].北京:機(jī)械工業(yè)出版社,2006.

    [2]蔡自興.機(jī)械人學(xué)[M].北京:清華大學(xué)出版,2000.

    [3] Corke P I.A Robotics Toolbox for MATLAB [J].IEEE Robotics and Automation Magazine, 1996, 3 (1):24-32.

    [4]張愛紅,張秋菊.機(jī)器人示教編程方法[J].組合機(jī)床與自動化加工技術(shù),2005,27(2):75-78.

    [5] YUN Xiao-ping,ERIC R B.Design,Implementation,and Experimental Results of a Quaternion-Based Kalman Filter for Human Body Motion Tracking [J].IEEE Transaction on Robotics and Automation, 2004, 20(1): 160-167.

    [6] A.Gasparetto,V.Zanotto.A new method for smooth tra?jectory planning of robot manipulators [J].Mecha?nism,2004,42:455-471.

    [7]熊震宇,陳煥明,葛楊.基于ADAMS的弧焊機(jī)器人運動仿真[J].計算機(jī)工程與應(yīng)用,2005,11:166-167,213.

    [8]孔凡斌,姜培剛,宋玲玲.基于UGOpenC的FANUCM-16iB/20工業(yè)機(jī)器人動態(tài)仿真[J].計算機(jī)應(yīng)用與軟件,2008,25(6):169-171.

    [9]王嵐,陸露.套裝式助力機(jī)器人動力學(xué)建模與仿真[J].機(jī)電工程,2011(03):324-328.

    [10]劉成良,張為公,翟羽健,等.RV12L6R焊接機(jī)器人運動學(xué)及計算機(jī)仿真系統(tǒng)研究[J].機(jī)器人,1998,20(05):333-341.

    猜你喜歡
    位姿運動學(xué)連桿
    某發(fā)動機(jī)連桿螺栓擰緊工藝開發(fā)
    基于MATLAB的6R機(jī)器人逆運動學(xué)求解分析
    基于D-H法的5-DOF串并聯(lián)機(jī)床運動學(xué)分析
    基于共面直線迭代加權(quán)最小二乘的相機(jī)位姿估計
    基于CAD模型的單目六自由度位姿測量
    小型四旋翼飛行器位姿建模及其仿真
    基于運動學(xué)原理的LBI解模糊算法
    連桿的運動及有限元分析
    一種連桿、杠桿撬斷澆口的新型模具設(shè)計
    雙足機(jī)器人運動學(xué)分析與仿真
    鄯善县| 石柱| 霍山县| 徐汇区| 伊宁县| 原平市| 云南省| 四川省| 渭南市| 客服| 贵德县| 穆棱市| 肃宁县| 勐海县| 东光县| 金乡县| 拉孜县| 綦江县| 毕节市| 上思县| 拉萨市| 罗田县| 彭州市| 古浪县| 墨脱县| 鄂州市| 巩留县| 黔东| 越西县| 客服| 衡阳市| 东山县| 万安县| 贵港市| 公主岭市| 安徽省| 泰来县| 南康市| 五原县| 稻城县| 固安县|