美文网首页
Mass-Spring-Damper Oscillations

Mass-Spring-Damper Oscillations

作者: Seaton | 来源:发表于2019-11-28 22:35 被阅读0次

    摘要:

           本章介绍了如何使用MATLAB构建由多个部件所构成的现实物理系统的虚拟现实模型。在MATLAB中的VRML环境下,作者选取现实物理场景中的质量弹簧减震器场景为例子,选取多个虚拟部件作为组成部件,并且以牛顿第二定律作为协调、控制这些部件运动的方程,构造了一个虚拟现实模型。并且,作者通过MATLAB中的.m文件来统筹这个虚拟现实模型,以达到模拟真实物理场景中系统动态的过程。

    关键词:MATLAB,VRML,质量弹簧减震器,牛顿第二定律

    1.    引言

    随着计算机技术的发展,计算机仿真和虚拟现实技术成为了当前计算机应用技术的一大重要分支。在工程设计中需要以最小的代价设计出在现实世界中可靠的产品,以达到提高产品质量的目的;在灾害预防领域中需要提前模拟出灾难发生时的隐患,提前做出相应的预防;在创造新式体验的方面,完全沉浸式的交互环境能更大程度上刺激用户的感官,提升用户的体验。计算机仿真技术以及虚拟现实技术的出现刚好可以解决上述问题,给生产、安防、交互等一系列领域都提供了便利。

           在计算机技术突飞猛进的时代,在计算机仿真和虚拟现实技术必将深刻改变我们世界的时代,了解并且学习计算机仿真和虚拟现实技术能够使我们更好地参与到当前的科技革命中,跟上时代的发展。

           为了有一定深度地了解和学习,亲自搭建一个现实世界场景的模型是一个直接、高效的方法。在亲手构建模型的过程中,学生必将深刻理解到现实场景和抽象模型之间的对应关系,更好地掌握计算机仿真和虚拟现实技术。

           为了更简单方便的构建虚拟模型,作者特意在VRML环境下进行仿真实验教学。VRML是一种专为WWW(万维网)而设计的三维图像置标语言。全称是虚拟现实建模语言,是由VRML协会设计的。VRML标准中既定义了描述三维模型的编码格式,也定义了描述交互或脚本的编码及行为模式。VRML格式除了一般3D模型呈现外,对于3D扫描所产生的点云数据亦可记录与呈现,且数据是带有色彩(R、G、B)的信息。为了使得模型能够更好地模拟客观世界的动态变化过程,作者选用了MATLAB控制整个VRML模型的构建以及动态变化过程。MATLAB是MATrix LABoratory(矩阵实验室)的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有一个配套软件包Simulink,提供一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。

           MATLAB以及VRML工具的结合,不光能够模拟出现实世界各种庞大而复杂的模型,而且操作非常直观、便捷,易于学习。

    2.问题描述

    现实世界中,经常出现利用弹簧减震相关的场景,而质量弹簧减震器振动就是对现实世界这一现象的模拟。

    在作者给定的模型中,有一个质量为1kg,三维长度均为2m的方块正方体连接在一个刚度系数K=1(N/m),阻尼常数C=0.1(Ns/m)的弹簧上。整个系统的运动被限制在水平的地面上。在模拟系统运动时,方块沿着屏幕的水平方向,也就是x轴方向来回振动。根据牛顿第二定律,方块在x轴上的位移的二阶微分方程可以描述如下:

    给定方块在时间t=0s的时刻的位移x=0(m),速度x‘=2(m/s),则该方块在平衡位置附近的振动的模型大致如下:

    3.    [endif]创建质量弹簧减震器的模型

    用来构建这个系统的部件有:方块、弹簧、墙体(弹簧的一端与之相连接)、水平地面。其中,由于VRML的一些局限性,长度为5的弹簧这样复杂的部件是在其它3d软件中建模形成的,但这并不影响它被加载到VRML环境下的模型之中。所有部件在刚刚添加到VRML环境中的质心初始三维坐标都是(0,0,0)。在VRML中构建模型的步骤描述大致如下:

    [if !supportLists]1) [endif]通过单击界面中的Insert Box,来插入方块、墙体、地板等部件

    [if !supportLists]2) [endif]通过修改这些部件在三维空间中的各个维度的长度来分别模拟方块、墙体、水平地板

    [if !supportLists]3) [endif]通过修改方块、墙体、水平地板的颜色和纹理,使其与现实世界中的物体更加相像

    [if !supportLists]4) [endif]通过修改方块、墙体、水平地板以及弹簧的质心坐标使他们的空间位置与真实物体相吻合,例如将水平地板放置墙体以及方块的下表面相连处、将墙体和方块分别放至弹簧的两端。

    [if !supportLists]4.    [endif]求解微分方程以及控制运动的m文件

    在该仿真实验中,作者使用MATLAB中的ode45函数来求解方块位移的微分方程。作者提供的MSD_solver.m文件就是用来调用ode45函数求解上述微分方程的。

    基于由MSD_solver.m文件求解出的瞬时速度x(t),利用MSD_animate.m文件就可以动态的模拟现实世界中有初速度的方块在质量弹簧减震器这一系统中的振动情况,并且该文件也会生成一个MSD.avi视频动画文件。复杂的MSD_animate.m文件可以分为三部分:第一部分用于启动和可视化虚拟场景;第二部分用于设置最后生成的视频文件;第三部分用于设置模型中各个部件的初始大小以及位置。在文件最后循环的部分,用于设置运动的时间间隔(往往会设置一个非常小的值,这样在视觉上就可以看作是一个连续的动态变化过程),并且根据设置的时间节点,利用微分方程解出该时刻方块的瞬时位移、弹簧x轴上的瞬时长度。这样,整个系统的动态变化过程就得以被可视化。

    [if !supportLists]5.    [endif]总结

    这个章节打开了我学习计算机仿真技术和虚拟现实的大门,并且极大的激发了我的学习兴趣。在读完整个章节之后,最为直观的感受就是原来以为相当复杂的计算机仿真和虚拟现实技术,竟然可以通过一步一步地细分为各个部件,并且辅之以控制整个系统运动的物理公式,清晰地描述出来。

    现实世界中任何一个系统都是由一个个小部件构成的。也许整个系统对于我们是复杂的,各个部件构成的整体在时空中的运动难以衡量,但是任何一个系统都可以拆分成一个个关键的小部件,这些小部件是我们容易把握和衡量的。通过仿真和虚拟现实技术,控制这一个个组成部件的运动方式,我们就得以模拟出整个系统的动态变化过程,得到我们曾经难以想象的结果。计算机仿真和虚拟技术让我们更容易去看到复杂的整体,使得我们能够获得更加丰富的感官体验,使得我们能够获得更加可靠的信息作为我们未来决策的依据。

    此外,在进行仿真实验的过程中,我感慨如今计算机仿真和虚拟现实技术的成熟。如果没有这些成熟的工具,很难想象要描绘出丰富的现实世界,并且将其表述为一帧一帧直观的画面需要编写多少代码。而且即便是能够通过画面来拼凑出现实世界一些微小的系统的变化情况,也很难让学习者能够了解到模型中各个组成部件相互之间的交互模式和作用方式。再次,即便拥有强大的计算能力,没有足够优秀的引擎也很难实现如此顺畅接近真实世界的画面。是各位工程师以及学者们的辛苦贡献,使得计算机应用得更加广泛,更好的为我们服务。

    找到目标,先化繁为简,化整为零,搭建好每一个小部件,然后从整体协调优化,最后的仿真才得以实现。这也正是我学习之路上要告诫自己的,在做具体事情的时候不忘最终的目标,在思考整体规划的时候不忘认真走好自己脚下的每一步路,只有这样最后才能够得到像精细的仿真画面一样美好的结果。

    相关文章

      网友评论

          本文标题:Mass-Spring-Damper Oscillations

          本文链接:https://www.haomeiwen.com/subject/aeiiwctx.html