一种MATLAB联合方法分析

时间:2022-09-20 08:21:35

一种MATLAB联合方法分析

摘要:本文以MATLAB为平合,通过结合SIMULINK、VR工具箱及VR编辑器有机地进行联合仿真,提出一种简易的虚拟现实仿真方法。主要对建立的虚拟现实标记语言VRML模型实现仿真。

关键词:MATLAB; VRML; 联合仿真

中图分类号:O244 文献标识码:B 文章编号:1009-9166(2008)33(c)-0052-01

VRML是“Virtual Reality Modeling Language”的缩写形式,意思是“虚拟现实造型语言”,是一种建模语言,用来描述三维物体及其行为,可以构建虚拟境界(Virtual World), 可以集成文本、图像、影像等多种媒体类型,还可以内嵌用Java、ECMAScript等语言编写的程序代码。VRML语句结构化、层次化,文件占有的存储空间小,其生成的图形元素可被重复使用,适合于在计算机网络上进行传播,适合在Internet上进行信息交互,具有平立性,交互性强,易扩展。

一、基于SIMULNK与VRML的仿真方法的特点

1、仿真简便易学易用。目前在对准确仿真追求中,最常用的还是利用底层硬件,通过OpenGL进行编程。但是OpenGL对能力要求较高。相比而言MATLAB的演算式编程更为直接易懂,而且强大的工具包也为编程提供了很大的便捷。2、仿真功能的全面,移植性通用性好,适于网络传播使用。本方法可以通过编写不同的计算程序来实现不同的仿真功能,而且MATLAB作为一种优秀的仿真计算语言,提供了大量的工具包,还可以通过与c语言、c++的混编,实现模型文件在c/c++集成环境中编译,提高了仿真的通用性和移植性。VRML文件还特别适合网络传播,只需要IE3.0以上或者Netscape浏览器就可以浏览模型。3、数值与运动仿真的良好融合。通过联合仿真,仿真计算可以编程实现,只要把计算结果传递到SIMULINK的仿真模型中,就可以不需要转换就直接反映在模型之中。4、建模简捷方便。VRML只需要使用WINDOWS自带的记事本就可以进行建模,不需要在集成环境中处理,而且现在几乎所有建模软件都有VRML格式的文件输出功能,因此也可以利用熟悉的软件进行建模,提高建模的效率。

二、VRML模型特点。VRML建立的模型,构件间没先后顺序,只有构件与构件间的组织形式与层次关系。对一个用于

仿真的模型,充分考虑模型间的组织形式,这样才比较方便仿真模型的修改以及仿真模型之间的数据传递,以及模型构件之间的位置关系的坐标变换。[1]

三、适用情况分析。与其它能够和MATLAB联合建模的软件相比,VRML相对最适用的情况是:利用VRML或者第三方建模软件对构件建模,同时在总体模型文件中使用transform 节点,内联构件模型作为transform 节点的shape域的域值。本结构形式最有利于虚拟现实的建模,由于它可以很快的改变模型参数,并且改变参数的修改量在其它形式的构型方式中是最少的,与之相比,利用VRML或者第三方建模软件对构件建模,然后把构件通过内联,直接作为节点读入到同一个模型中去的方式,由于在直接作为节点内联进入模型中,虽然在建模的时候也是独立的建模,但是在独立建模的时候要考虑整体模型的相对位置关系,才能在整体模型中体现正确的装配,然而对于本种方式则不需考虑相对位置,只考虑构件本身的局部坐标系,然后在模型内联中通过改变局部坐标系在绝对坐标系中的位置、转角从而把构件加入模型之中,这也符合一般的零件加工装配的思想和流程。同时也便于仿真的参数化的仿真,这只要给定参数,求解出局部坐标系与绝对坐标系的坐标变换矩阵就可以了。

四、系统的虚拟装配模型。虚拟装配就是借助SOLIDWORKS等三维CAD设计软件准确地构造虚拟模型的各部份(比如零件),然后将零件的可视属性(如色彩、纹理等)、几何属性、公差、位置、方位、装配约束等信息自动提供给VADE(Virtual Assembly Design Environment),在VADE(虚拟装配设计环境)中,进行虚拟装配模型的制作。若零件图存储在几个图形文件中,在进行零件的三维设计时,在一个装配体中的各零件,它们的坐标系统要相同,这样在装配时才能方便准确地定位。在SOLIDWORKS中,将装配文件(*.asm)另存为后缀名为(*.wrl)的VRML文件。利用V-realm Builder,修改*.wrl文件, 形成动态效果及控制流。对每一个零件或组件进行诸如外形、颜色、坐标等的设计, 并可在相应的位置加入声音、动画等,通过反复调试, 完成虚拟模型的制作。[2]

五、系统仿真模型的建立。虚拟装配模型建立后,利用Simulink中的Virtual Reality Toolbox(虚拟现实工具箱) 将VRML模型(*.wrl)与控制系统连接。在连接中,注意VR Signal Expander(虚拟现实扩展器)的参数设置,其输出宽度要与VR Sink匹配。[3]

六、VRML模型在SIMULINK中运动仿真。VRML本身具有动画的功能,但是由于各帧的情况都是不一样的,因此直接利用VRML的动画功能比较麻烦,需要编写各帧的位置数据表。同时也要建立大量的传感器(censor)和路由 (route)。SIMULINK中的VR工具包中有一个VR sink模块,它可以直接修改VRML模型中的各个参数,并在VRML浏览器中实时浏览,因此利用该模块只要给定一个时间序列的输入,就可以得到一个基于时间变化的场景,从而达到仿真动画的目的。

七、建模方法分析讨论。由上面可以看出,本文提出的简便的仿真方法在教学试验或者一些研究设计中有一定的实际的使用价值。通过结合MATLAB,数据的处理计算也是很方便的,为产品开发或者研究提供了一个良好的环境,具体操作步骤如下图所示:

在实际操作中,只要加入不同的计算模块就可以实现相应的仿真功能。

作者单位:沈阳化工学院信息工程学院

参考文献:

[1]严子翔.《VRML虚拟现实网页语言》.北京.清华大学出版社.2001

[2]周进雄,张陵译.《机构动态仿真》.西安.西安交通大学出版社.2002

[3]黄永安,马路,刘慧敏.《MATLAB7.0/simulink6.0建模仿真开发与高级工程应用》.北京.清华大学出版社.2005

上一篇:论锅炉汽包水位的控制 下一篇:发电机氢气纯度超标的研究与治理