(安徽埃夫特智能裝備有限公司,安徽 蕪湖 241000)
基于Matlab/Simulink的機(jī)器人仿真平臺(tái)分析
許禮進(jìn) 胡國(guó)棟
(安徽埃夫特智能裝備有限公司,安徽 蕪湖 241000)
隨著計(jì)算機(jī)的發(fā)展,仿真逐步成為當(dāng)今重要研究工具,它為開(kāi)發(fā)者提供強(qiáng)大的可視化功能。仿真技術(shù)也在機(jī)器人領(lǐng)域中發(fā)揮非常重要的作用,可用于運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)分析,離線編程,控制算法設(shè)計(jì),機(jī)器人機(jī)械結(jié)構(gòu)設(shè)計(jì),機(jī)器人工作單元和生產(chǎn)線設(shè)計(jì)等。Matlab是目前應(yīng)用最廣泛的用于系統(tǒng)建模和仿真的開(kāi)發(fā)平臺(tái)。本文以一個(gè)三自由度機(jī)器人作為示例,在MATLAB/ Simulink環(huán)境中進(jìn)行建模和仿真分析,重點(diǎn)介紹了Matlab里有四類(lèi)仿真工具的功能和特點(diǎn),最后進(jìn)行了對(duì)比分析。
Matlab;Simulink;Planar Manipulators;SD/FAST;Robotic;SimMechanics
仿真作為一個(gè)跨學(xué)科的工具平臺(tái),應(yīng)用領(lǐng)域發(fā)展成為從工程技術(shù)到社會(huì)科學(xué),從學(xué)術(shù)研究到生產(chǎn)制造,仿真實(shí)現(xiàn)過(guò)程包括:系統(tǒng)的建模、模型的執(zhí)行、輸出量的分析以及模型的優(yōu)化分析等。掌握了仿真技術(shù)可以創(chuàng)造性地為解決許多技術(shù)難題提供捷徑,為一個(gè)不存在的對(duì)象進(jìn)行分析、設(shè)計(jì)、可視化以及測(cè)試。使用仿真工具可以減少反復(fù)實(shí)驗(yàn)過(guò)程而造成的物品破壞,減少產(chǎn)品開(kāi)發(fā)周期,降低產(chǎn)品投產(chǎn)后的修改而造成的設(shè)計(jì)風(fēng)險(xiǎn),另外仿真工具還可以通過(guò)修改時(shí)間常數(shù)加快實(shí)驗(yàn)過(guò)程,從而更快知道實(shí)驗(yàn)結(jié)果,反過(guò)來(lái),仿真也可以慢化實(shí)驗(yàn)過(guò)程,觀察其中的細(xì)微變化,比如:化學(xué)反應(yīng)過(guò)程的分析。所以仿真具有諸多優(yōu)點(diǎn),是科學(xué)研究不可缺少的手段。
圖1 平面3R機(jī)器人
圖2 實(shí)施流程圖
圖3 動(dòng)力學(xué)模型
機(jī)器人系統(tǒng)仿真軟件很多,可以分為兩大類(lèi):基于通用平臺(tái)的仿真工具(Tools Based On General Simulation Systems )和專用機(jī)器人仿真工具(Special Tools For Robot Systems)。 通 用 仿 真工 具 包 括MATLAB/Simulink, Dymola/ Modelica, 20-sim,Mathematica,其優(yōu)點(diǎn)是可以利用平臺(tái)內(nèi)多種工具模塊,實(shí)現(xiàn)復(fù)雜系統(tǒng)的仿真計(jì)算。專用機(jī)器人仿真平臺(tái)體現(xiàn)了專用性,功能包括離線編程、工作站設(shè)計(jì)、運(yùn)動(dòng)學(xué)動(dòng)力學(xué)分析以及機(jī)構(gòu)設(shè)計(jì)等,可以應(yīng)用于移動(dòng)機(jī)器人、水下機(jī)器人等各種特種機(jī)器人。
Matlab在數(shù)學(xué)計(jì)算和軟件接口兼容方面具有很大優(yōu)勢(shì),Simulink作為其工具箱,為各種動(dòng)態(tài)系統(tǒng)提供了仿真手段,主要用于機(jī)器人仿真的模塊有四個(gè):1)Planar Manipulators Toolbox;2)Planar Manipulators Toolbox with SD/FAST; 3)Robotic Toolbox;4)SimMechanics Toolbox。為了分析各個(gè)模塊,本文首先構(gòu)建了一個(gè)機(jī)器人關(guān)節(jié)臂,含有3個(gè)關(guān)節(jié),可以實(shí)現(xiàn)在在平面內(nèi)的運(yùn)動(dòng),如圖1所示。
機(jī)器人關(guān)節(jié)力為[2.4,-1,0.4],末端外力為[-10,0],通過(guò)Dynamic model功能塊,計(jì)算出機(jī)器人關(guān)節(jié)位置q和關(guān)節(jié)速度qd,并通過(guò)機(jī)器人示波器輸出,下面對(duì)各工具進(jìn)行分析。
Planar Manipulators Toolbox是基于拉格朗日方程的方法進(jìn)行關(guān)節(jié)型平面機(jī)構(gòu)的仿真分析,可以實(shí)現(xiàn)運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)分析,控制算法設(shè)計(jì),軌跡規(guī)劃等。為了讓用戶更加方便使用,許多功能塊已被開(kāi)發(fā),通過(guò)這些功能塊可以很容易搭建一個(gè)模型,如圖3所示,外部力作用在執(zhí)行機(jī)構(gòu)末端,dymodall模塊計(jì)算出系統(tǒng)向量和矩陣x, J, j., H,h 和g,然后通過(guò)拉格朗日方程計(jì)算出關(guān)節(jié)位置和速度。
圖4 3R機(jī)器人系統(tǒng)描述文件(SD/FAST)
Planar Manipulators Toolbox with SD/FAST使 用 的 是Planar manipulators toolbox,但是動(dòng)力學(xué)計(jì)算是使用SD/FAST庫(kù),SD/FAST可以進(jìn)行各種機(jī)構(gòu)系統(tǒng)設(shè)計(jì)分析,機(jī)構(gòu)由關(guān)節(jié)進(jìn)行聯(lián)接、有力的作用或者運(yùn)動(dòng)位置驅(qū)動(dòng)以及包含外部約束,動(dòng)態(tài)模型與圖3類(lèi) 似,dymodall是 一個(gè)與SD/FAST進(jìn)行接口的S-Function(系統(tǒng)函數(shù)),機(jī)器人幾何尺寸參數(shù)與桿件慣量參數(shù)通過(guò)系統(tǒng)描述文件傳遞給SD/FAST(如圖4),然后使用SD/FAST編譯器產(chǎn)生動(dòng)力學(xué)模型,然后在S-Function中調(diào)用。SD/FAST是使用Kane’s方程and Order(n)方程進(jìn)行動(dòng)力學(xué)計(jì)算。
圖5 動(dòng)力學(xué)模型
圖6 單體構(gòu)件模型
Robotics Toolbox提供了許多實(shí)用的功能,比如機(jī)器人運(yùn)動(dòng)學(xué),動(dòng)力學(xué)和軌跡產(chǎn)生器等模塊,功能十分全面,它不僅可以用來(lái)仿真,也可以對(duì)實(shí)際機(jī)器人進(jìn)行實(shí)驗(yàn)分析,而且可以不需要實(shí)體機(jī)器人的情況下作為機(jī)器人原理的教育培訓(xùn)。動(dòng)力學(xué)求解計(jì)算通過(guò)Newton–Euler方程實(shí)現(xiàn)。 圖5表示了機(jī)器人模型的定義以及使用Robotics toolbox構(gòu)建的動(dòng)力學(xué)模型方塊圖。
SimMechanics是Simulink在機(jī)械建模和仿真領(lǐng)域的應(yīng)用,通過(guò)SimMechanics可以構(gòu)建一個(gè)機(jī)器人構(gòu)件模型,在模型里定義質(zhì)量,慣量,空間位置關(guān)系,運(yùn)動(dòng)約束和坐標(biāo)系以及驅(qū)動(dòng)關(guān)節(jié)的運(yùn)動(dòng)(位置、速度、加速度)或者力矩,還能測(cè)量各關(guān)節(jié)的運(yùn)動(dòng)和力矩。在構(gòu)建一個(gè)機(jī)器人模型之前,首先需要建立單體構(gòu)件模型(如圖6),即把關(guān)節(jié)和具有質(zhì)量特征的桿件連接起來(lái),然后將所有桿件聯(lián)接在一起形成一個(gè)完整的機(jī)器人動(dòng)態(tài)模型(如圖7)。
以上四個(gè)工具模塊都可以很容易構(gòu)造一個(gè)機(jī)器人系統(tǒng),區(qū)別在于其機(jī)器人專用工具箱預(yù)先定義的函數(shù)和功能塊,另外就是模型執(zhí)行的效率。在圖8中給出了以上方法仿真執(zhí)行時(shí)間,我們能夠看到SD/FAST 在執(zhí)行時(shí)間上是最快的,而且隨著自由度的增加影響不大,Planar Manipulators Toolbox在低自由度時(shí)執(zhí)行時(shí)間很快,但是隨著自由度增加,明顯變慢,Robotics Toolbox在進(jìn)行逆動(dòng)力學(xué)計(jì)算時(shí)候較快,然而進(jìn)行Jacobian矩陣計(jì)算時(shí)明顯變慢。在實(shí)際科學(xué)研究中使用哪類(lèi)工具箱,需要根據(jù)機(jī)器人特點(diǎn)和研究的目標(biāo)來(lái)確定。
[1]MATLAB Help System(R2012B)(MATLAB幫助系統(tǒng))[Z].
[2]SimMechanics_User,s_Guide(R2012B)[Z],2012.
[3]Robotics Toolbox for MATLAB 幫助手冊(cè)(英文)[Z],2008.
[4]霍偉.機(jī)器人動(dòng)力學(xué)與控制[M].北京高等教育出版社,2004.
[5]Craig J.J.機(jī)器人學(xué)導(dǎo)論[M].北京:機(jī)械工業(yè)出版社,2006.
圖7 3R 機(jī)器人動(dòng)力學(xué)模型
TP24 < class="emphasis_bold"> 文獻(xiàn)標(biāo)識(shí)碼:A
A
智能制造裝備發(fā)展專項(xiàng)