基于VRML/Simulink技术的3D单摆仿真

2016-06-02 09:01汪昭徐文娟魏江常熟理工学院物理与电子工程学院江苏常熟215500
中国科技纵横 2016年2期
关键词:单摆仿真

汪昭 徐文娟 魏江(常熟理工学院物理与电子工程学院,江苏常熟 215500)



基于VRML/Simulink技术的3D单摆仿真

汪昭 徐文娟 魏江
(常熟理工学院物理与电子工程学院,江苏常熟 215500)

【摘 要】运用计算虚拟技术设计实验仿真是时下高校实验室教学改革的重点方向之一。基于VRML/Simulink技术,通过建立数学模型,设计了一个摆幅和阻尼系数可控的3D单摆计算机仿真模型,并设计了图形用户界面,实现了用户的对实验参数的控制。应用该模型研究了较大摆幅和存在阻尼时的单摆的运动情况。最后,我们对实验进行了总结与展望。

【关键词】VRML Simulink 单摆 仿真

【Abstract】Nowadays, designing the virtual experiment with computational simulation technology is becoming one of the most important direction of current laboratory teaching reform in colleges and universities.Based on VRML/Simulink technology,by establishing the mathematical model, we designed a 3D computer model of simple pendulum, whose swing and damping coefficient could be controlled.We also designed a graphical user interface to control the experimental parameters.Applying the model, we studied the motion of pendulum with large swing or damping.Finally, we summarized and prospected about the experiment.

【Keywords】VRML;Simulink;Simple pendulum;Simulation

1 引言

物理学是一门基于实验的学科。但是受到场地和仪器数量的客观限制,学生能实际操作实验的机会较少。在不增加实验室负担的前提下,设置一定数量的虚拟实验是一个比较好的解决方案。国内许多知名高校都在不断研发、改进物理虚拟实验室[1-2]。

单摆是一种简单的物理模型。当单摆的摆幅较小(一般认为小于5°)时,并且不存在阻尼时,单摆的摆动可近似看成简谐振动。若单摆摆幅较大或者存在阻尼,其摆动的情况则不能看成简谐运动。

本文的主要目标,是运用VRML语言建立3D单摆模型;用MATLAB/Simulink进行数值计算,并利用计算获得的结果控制单摆模型的运动,通过GUI设计控制Simulink计算中的单摆参数,观察单摆运动的变化。

2 三维可控计算机仿真单摆的设计

从实验者观察的角度,我们可以将物理实验分成两类。第一类实验在实验的过程中实验者不需要改变视角,例如电路元件的伏安特性研究,此类;第二类则需要观察者经常更换视角观察实验仪器的变化。对于第一类实验,采用虚拟仿真软件如Labview仿真较为方便。对于第二类实验,需要采用可交互3D仿真来实现。

建立三维模型比较常见的工具有VRML语言、3D MAX、MAYA等工具。VRML语言简单,便于控制和交互[3-4]。本文即采用VRML进行建模。VRML(Virtual Relity Modeling Language)虚拟现实建模语言,是一种用来在网络上实现三维虚拟现实场景的计算机语言。VRML语言除了可以实现3D场景,还可以实现3D动画和人机交互。

2.1 VRML设计3D单摆

编辑VRML语言可使用VRMLPad直接编写源代码,使用VRML浏览器编译查看,也可以使用MATLAB中所带工具VRealm Builder绘制3D图形。3D单摆并不复杂。首先建立一个正方体,一个圆柱体和一个圆锥体。通过缩放、旋转和位置变换,得到如下3D模型(图1)。

其中,细圆柱(摆线)和圆锥的转轴都是长方体的中心位置。当单摆开始摆动时,摆线和摆锤的转角保持一致。

2.2 Simulink控制3D单摆的运动

3D单摆模型建立后是静止的,需要通过运算获得其运动规律,并对单摆的转动进行控制。可以控制VRML模型运动的计算机语言很多,例如JAVASCRIPT[3]、JAVA[5]、MATLAB等。由于本实验需要进行积分等数值运算,我们选择采用MATLAB/Simulink工具。其优点是数值计算效率较高,且与VRML的接口完善。

单摆有其自身的运动规律,为了使单摆的摆动符合实际情况,我们需要通过计算获得摆角θ与时间t之间的关系。

单摆模型可以如图2描述。

设摆锤质量为m,摆长为l,则当白线与竖直方向夹角为 θ时,单摆受到的力矩大小为 mglsin θ。

根据转动定律,无阻尼单摆的微分方程可以写成:若 θ较小时, θ≈sin θ,解微分方程可得:

若存在阻尼,则有:

即:

若 θ较大,则无法采用近似解给出微分方程的解析解。为了进行仿真,我们采用数值解的方式给出 θ(t)。

Simulink是Matlab软件下一个常用的仿真工具箱。运用Simulink可以方便地实现数据的输入、计算和输出。Simulink 3D Animation专门针对VRML开发的额工具箱。

运用Simulink中的VR sink模块可以将Simulink和VRML建立的3D模型连接起来。

Simulink仿真线路如图3所示。

需要注意的一点是Simulink中的时间是相对时间,若使用相对时间连接VRML模型,模型运动将比实际情况快很多。要对3D单摆进行仿真,需要使用实时内核(Real-Time Kernal),使积分时间和计算机内置时间同步,增加单摆的真实感。

2.3 GUI的设计

对运行者而言,在Simulink中操作改变参数较麻烦。我们需要一个相对用户友好、能快速上手控制的界面,用以修改单摆的各项参数,例如:弦长、摆幅和阻尼系数。MATLAB中,设计用户图形界面的工具为GUI(Graphical User Interface)。运用MATLAB中的GUI设计了图形用户界面如图4。

图4为设计的GUI界面。通过输入数据框,获得用户数据,按下“确定”按钮,后台经过计算,为Simulink流程中的的Gain(增益)和Constant3赋值,改变单摆的运动规律。显示和关闭按钮可按照用户的要求调用/光比Simulink中的示波器(Scope)。

为了使运行初始条件在一定范围内,我们对用户输入的数据进行了控制。当用户输入的单摆摆幅必须再0到40°之间,弦长在0.5-3m之间,阻尼系数范围在0-0.5之间。当用户输入数据超出这个范围,系统会跳出“msgbox”报错,如图5所示。

若用户在不经意间修改了系统的参数,可以按“重置”按钮将系统参数恢复到默认值。

3 运行和测试

当系统运行是,用户可以通过在用户图形界面GUI中输入原始数据,观察单摆的摆动情况。同时,可以通过示波器(scope)观察时间-摆角的波形和时间-角速度的波形。

上图6和图7为不同阻尼系数条件下,角度、角速度-时间曲线。其中初值为0的曲线为角速度曲线。从图中不难看出,在阻尼为0的条件下,摆幅始终保持不变。在阻尼为1时,摆幅迅速减小,在10秒内迅速趋近于0。

也可以观察仿真单摆的摆动,3D仿真单摆的优点是,可以从不同的角度观察单摆的摆动情况。如图8中,左图(1)为单摆摆动时的主视图,右图(2)为单摆摆动时的俯视图。运用VRML仿真类似的力学实验,可以通过改变观察视角,全方位体验实验的进程,使实验者身临其境。

4 总结与展望

本文运用了通过运用VRML语言,MATALBA中的Simulink和GUI工具,完成了3D仿真单摆实验。本实验仿真度相对较高,未使用过多的近似,而是采用数值积分的方法,只要积分精度足够高,就可以保证单摆的摆动和实际情况保持一致。

运用这个单摆模型,除了可以研究摆幅较大和存在阻尼摆动的情况,还可以研究变质量摆动、受周期驱动的单摆的摆动情况。用类似的方法,还可以完成对复摆、傅科摆、混沌摆等物理实验。

我们认为,VRML建立3D 模型相对直观,MATLAB/Simulink控制仿真物理效果的准确性,GUI设计控制仿真操作的简便性,三者结合可以很好满足物理实验仿真的需要。

参考文献:

[1]郭雷,霍剑青,王晓蒲.仿真物理实验教学系统的设计与实现[J].中国科学技术大学学报,2002,32(3):373-380.

[2]谭守标,霍剑青,王晓蒲.虚拟实验软件的建模方法与实现[J].小型微型计算机系统,2003,24(12):2239-2243.

[3]薛庆文,辛允东.虚拟现实VRML程序设计与实例[M].北京:清华大学出版社,2012.

[4]刘怡,张洪定,崔欣.虚拟现实VRML程序设计[M].天津:南开大学出版社,2007.

[5]闫龙,基于JAVA3D的网络物理实验室的研究与实践[J].中国电力教育,2011,5:115-118.

基金项目:常熟理工学院校级教改立项项目(CITJGGN201328)资助。

作者简介:汪昭(1982—),男,江苏常熟人,常熟理工学院物理与电子工程学院,实验师,硕士,研究方向:计算机辅助教学,混沌理论。

猜你喜欢
单摆仿真
发挥等效法在单摆运动周期问题中的大作用
一种帮助幼儿车内脱险应急装置的仿真分析
单摆模型中重力加速度的探讨
利用机械能守恒求解非惯性系单摆的振动周期
单摆振动实验数字化演示的定量分析
单摆的性质及其应用