MATLAB/Simscape在機(jī)械手仿真教學(xué)的應(yīng)用

時(shí)間:2022-07-28 10:59:33

導(dǎo)語:MATLAB/Simscape在機(jī)械手仿真教學(xué)的應(yīng)用一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

MATLAB/Simscape在機(jī)械手仿真教學(xué)的應(yīng)用

摘要:針對(duì)機(jī)械手教學(xué)過程中的動(dòng)力學(xué)問題,以一個(gè)三桿機(jī)械手為例,利用Simscape模塊庫進(jìn)行仿真教學(xué)建模,并詳細(xì)介紹其基本組成模塊,根據(jù)機(jī)械手的結(jié)構(gòu)簡(jiǎn)圖可直接建立物理仿真模型,通過仿真結(jié)果可直接觀察到各桿臂的運(yùn)動(dòng)軌跡及各關(guān)節(jié)的運(yùn)動(dòng)參數(shù)。

關(guān)鍵詞matlab;simscape機(jī)械手;仿真試驗(yàn)

機(jī)械手是自動(dòng)化生產(chǎn)過程中逐漸出現(xiàn)的一種新型工業(yè)設(shè)備,隨著《中國制造2025》的提出,工業(yè)機(jī)械手成為智能制造必不可少的設(shè)備,而社會(huì)上操作維護(hù)機(jī)械手的技術(shù)人員相對(duì)緊缺,故各高校紛紛開設(shè)機(jī)器人相關(guān)課程[1]。機(jī)械手的運(yùn)動(dòng)軌跡規(guī)劃和控制策略研究是機(jī)器人課程教學(xué)中的重要環(huán)節(jié),通常利用公式推導(dǎo)、求解微分方程以及畫圖等方法對(duì)其進(jìn)行求解,過程較為煩瑣且容易出錯(cuò),不利于學(xué)生理解,所以可將計(jì)算機(jī)仿真技術(shù)應(yīng)用在機(jī)械手教學(xué)上[2]。隨著科學(xué)技術(shù)和教育現(xiàn)代化的快速發(fā)展,計(jì)算機(jī)仿真模擬教學(xué)以其效率高、互動(dòng)性強(qiáng)等特點(diǎn)越來越受到國內(nèi)高校的重視[3]。本文以三桿機(jī)械手為例,介紹使用MATLAB/Simulink中Simscape下的Multibody子模塊庫建立其仿真教學(xué)模型的過程。Simulink是MATLAB最重要的仿真工具之一,提供了可視化的人機(jī)交互環(huán)境,仿真模型由方框圖表示,與傳統(tǒng)的仿真軟件用微分方程和差分方程相比,具有更直觀、方便、靈活的特點(diǎn),能夠更好地幫助學(xué)生理解問題,提高課堂效率[4-5]。

1機(jī)械手結(jié)構(gòu)

機(jī)械手結(jié)構(gòu)一般由多個(gè)桿件通過鉸鏈連接起來。如圖1所示一個(gè)三桿機(jī)械手,設(shè)A點(diǎn)為坐標(biāo)原點(diǎn),AB、BC和CD桿長度為l1=l2=l3,初始位置如圖中所示,BC桿與Y軸的夾角a=45°。假設(shè)AB、BC和CD桿的質(zhì)量均勻分布,可求得B點(diǎn)的坐標(biāo)為(0,l1,0),AB桿的重心坐標(biāo)為(0,l1/2,0)。同理,C端坐標(biāo)為(l1sina,l1+l2cosa,0),BC桿重心坐標(biāo)為(l2sina/2,l1+l2cosa/2,0),D端坐標(biāo)為(l2sina+l3,l1+l2cosa,0),CD桿重心坐標(biāo)為(l2sina+l3/2,l1+l2cosa,0)。

2物理仿真模型的建立

現(xiàn)利用Simscape工具箱下的多體結(jié)構(gòu)模塊Multibody建立教學(xué)仿真模型。如圖2所示,Ground模塊、BodyAB模塊、BodyBC模塊和BodyCD模塊分別代表地、連桿AB、連桿BC和連桿CD,它們之間分別通過鉸鏈模塊RevoluteA,RevoluteB和RevoluteC連接,各個(gè)關(guān)節(jié)通過FromWorkspace模塊和JointActuator模塊提供驅(qū)動(dòng)力。另外,為了得到各個(gè)關(guān)節(jié)的運(yùn)動(dòng)參數(shù),在每個(gè)鉸鏈模塊處都設(shè)置了關(guān)節(jié)傳感器模塊JointSensor,由此可測(cè)得每個(gè)關(guān)節(jié)處的速度、加速度等參數(shù),并通過示波器模塊Scope顯示出來。仿真模型模塊介紹如下。

2.1基本組成模塊

Ground模塊表示絕對(duì)坐標(biāo)系中的靜止地面點(diǎn),將其連接到關(guān)節(jié)會(huì)阻止該關(guān)節(jié)的一側(cè)移動(dòng),每個(gè)有效的模型必須至少有一個(gè)Ground模塊,且必須將其中一個(gè)連接到MachineEnvironment模塊。Body模塊表示具有可以自定義屬性的剛體,必須定義的屬性包括剛體的端點(diǎn)坐標(biāo)和重心坐標(biāo)等,還可改變顯示剛體的幾何顏色信息。如圖3所示,在屬性框內(nèi)分別輸入各桿的端點(diǎn)及其重心的坐標(biāo),由于各點(diǎn)坐標(biāo)都是絕對(duì)坐標(biāo),故均選擇“world”選項(xiàng)即可。Revolute模塊可使兩個(gè)物體圍繞之間的軸進(jìn)行旋轉(zhuǎn),有單個(gè)旋轉(zhuǎn)自由度,旋轉(zhuǎn)方向符合右手法則。旋轉(zhuǎn)關(guān)節(jié)是Multibody的原始關(guān)節(jié)之一,必須將關(guān)節(jié)模塊連接到兩個(gè)且僅兩個(gè)Body塊,即基座和從動(dòng)塊。在參數(shù)設(shè)置界面將Numberofsensor/actuatorports設(shè)置為2,則會(huì)多出兩個(gè)接口用來連接JointActuator和JointSensor模塊。

2.2驅(qū)動(dòng)和傳感器模塊

JointActuator模塊可以把與時(shí)間相關(guān)的力、扭矩或運(yùn)動(dòng)輸入關(guān)節(jié),兩個(gè)物體之間的連接表示物體之間的相對(duì)自由度。若運(yùn)動(dòng)是平移的,則該模塊需要輸入位置、速度和加速度信號(hào);若運(yùn)動(dòng)是旋轉(zhuǎn)的,則該模塊需要輸入角度、角速度和角加速度信號(hào)。JointSensor模塊可用來測(cè)量關(guān)節(jié)處指定參考坐標(biāo)系中沿某一旋轉(zhuǎn)軸(或關(guān)于球形單元的樞軸點(diǎn))的運(yùn)動(dòng),包括關(guān)節(jié)塊中關(guān)節(jié)單元的位置、速度或加速度,還可測(cè)量接頭上的反作用力和扭矩等。在每個(gè)Revolute模塊處都連接一個(gè)JointSensor模塊,用于監(jiān)測(cè)機(jī)械手運(yùn)動(dòng)過程中各個(gè)關(guān)節(jié)的運(yùn)動(dòng)參數(shù)。BodySensor模塊用來監(jiān)測(cè)剛體塊的運(yùn)動(dòng),將BodySensor連接到想要監(jiān)測(cè)的Body模塊上,可以測(cè)量該Body模塊相對(duì)于原點(diǎn)的運(yùn)動(dòng)位移、運(yùn)動(dòng)方向、速度和加速度大小等運(yùn)動(dòng)參數(shù)。本文將BodySensor模塊連接到D端,用于監(jiān)測(cè)機(jī)械手執(zhí)行端的運(yùn)動(dòng)軌跡。

2.3輸入和輸出模塊

圖5關(guān)節(jié)A角度變化曲線圖5關(guān)節(jié)A角度變化曲線圖6關(guān)節(jié)A角速度變化曲線圖6關(guān)節(jié)A角速度變化曲線圖7D端位移變化曲線圖7D端位移變化曲線FromWorkspace模塊可以從MATLAB的工作空間內(nèi)讀取信號(hào)數(shù)據(jù)并將其輸入模型中,采用關(guān)節(jié)空間三次多項(xiàng)式軌跡規(guī)劃法,公式如下:θ(t)=c0+c1t+c2t2+c3t3根據(jù)已知的各關(guān)節(jié)起始點(diǎn)和終止點(diǎn)的位置和角度,求出三次多項(xiàng)式軌跡函數(shù)的四個(gè)系數(shù)[6]。Scope模塊可將模擬過程中所監(jiān)測(cè)的連續(xù)或離散信號(hào)顯示出來,支持Simulink所有數(shù)據(jù)類型,維度包括標(biāo)量、一維(矢量)、二維(矩陣)和多維,可根據(jù)信號(hào)數(shù)量自動(dòng)調(diào)節(jié)多通道顯示。需要注意的是,當(dāng)連接到一個(gè)恒定信號(hào)時(shí),Scope模塊可能顯示一個(gè)單點(diǎn)。在每個(gè)JointSensor模塊后都連接一個(gè)Scope模塊,用于顯示機(jī)械手姿態(tài)變化時(shí)各關(guān)節(jié)的運(yùn)動(dòng)參數(shù)。

3仿真試驗(yàn)結(jié)果

為得到仿真效果,需設(shè)置Env屬性中的Visua-lization(可視化)選項(xiàng),在Openconfigurationparameter中選擇Animatemachineduringsimu-lation選項(xiàng),得到仿真效果如圖4所示。運(yùn)行后雙擊Scope模塊可查看機(jī)械手每個(gè)關(guān)節(jié)處所測(cè)得的速度、加速度、角加速度等運(yùn)動(dòng)參數(shù),如圖5和圖6分別表示關(guān)節(jié)A處旋轉(zhuǎn)角度和角速度隨時(shí)間變化的曲線,可設(shè)置JointSensor模塊選擇測(cè)量其他運(yùn)動(dòng)參數(shù)并得到相應(yīng)的曲線。圖7為BodySensor模塊測(cè)得的機(jī)械手執(zhí)行端D的運(yùn)動(dòng)位移變化曲線。

4結(jié)論

針對(duì)MATLAB/Simscape工具箱,介紹了Multi-body模塊庫的基本組成模塊,并介紹了利用模塊庫建立機(jī)械手物理仿真模型進(jìn)行動(dòng)力學(xué)分析的仿真教學(xué)。與傳統(tǒng)的圖解法相比,此方法簡(jiǎn)單有效,不需要進(jìn)行復(fù)雜公式求解,就可以很直觀地觀察到機(jī)構(gòu)的運(yùn)動(dòng)狀況,并得出相關(guān)的運(yùn)動(dòng)參數(shù),還可以通過改變不同的仿真參數(shù),得到不同類型的運(yùn)動(dòng)效果,形象地向?qū)W生展示出機(jī)械手的運(yùn)動(dòng)軌跡和各關(guān)節(jié)運(yùn)動(dòng)參數(shù),大大提高了教學(xué)質(zhì)量。

參考文獻(xiàn)

[1]楊波.基于MELFA_Works的三菱機(jī)械手在仿真教學(xué)的應(yīng)用[J].自動(dòng)化應(yīng)用,2018(11):69-70.

[2]王胤,楊慶.仿真教學(xué)系統(tǒng)在專業(yè)課程教學(xué)中的應(yīng)用與探索[J].教育現(xiàn)代化,2019(61):165-169.

[3]趙海濱,劉沖,陸志國,等.MATLAB_Simulink軟件在機(jī)器人實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].中國教育技術(shù)裝備,2018(12):125-126,131.

[4]高勝靈,胡松啟.基于Matlab/Simulink的導(dǎo)彈六自度彈道仿真系統(tǒng)設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2011(1):29-34.

[5]閆小軍,陳夏玲.例談Simulink在物理教學(xué)中的應(yīng)用[J].中國教育技術(shù)裝備,2019(3):48-51.

[6]李建剛,尹文慶,胡飛,等.基于MATLAB/Simulink的取苗機(jī)械臂運(yùn)動(dòng)軌跡仿真[J].中國制造業(yè)信息化,2009(15):27-29,34.

作者:秦志英 趙季福 趙月靜 路子安 王偉