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