基于MATLAB与VRML的凸轮机构虚拟设计研究及实现

来源:网络  作者:网络转载   2019-09-25 阅读:772
摘 要:将Matlab软件的虚拟现实工具箱、M编程语言与VRML技术相结合,开发出一种能够对各类常用凸轮机构进行虚拟设计的系统。该系统通过简洁的图形用户界面,能够为用户提供各种常用凸轮的参数化设计、三维造型和虚拟运动仿真,并具有辅助参数优化、性能分析、图文数据输出等功能,同时用户还可以对实时生成的凸轮机构虚拟场景进行交互操作,控制仿真进程。实践表明,运用该方法开发的虚拟设计系统,能合理地利用VRML和MATLAB各自的优点,大大降低开发的难度和强度,缩短开发时间。关键词:VRML MATLAB 面向对象编程 凸轮机构 虚拟设计 引言 凸轮机构是重要的传动机构,广泛应用于各种机械产品,其设计和制造一直是机构学的热点。MAT—LAB自从6.1版本后集成了虚拟现实工具箱(VirtualRealityToolbox),可对由VRML技术生成的虚拟场景进行可视化操作和交互控制,为虚拟设计的实现提供了一种新的可能。作者通过对MATLAB软件、虚拟现实建模语言(VRML)、虚拟设计系统和凸轮机构进行深入研究后,产生了将MATLAB与VRML相结合来开发凸轮机构虚拟设计系统的构想,建立了凸轮机构的虚拟设计系统框架,开发出了一种能够对各类常用凸轮机构进行虚拟设计的系统。 1 基本技术介绍 本软件在wind0ws2o0O/NT平台下,采用MATLAB所提供的M语言进行编程,以VRML技术实现凸轮机构的三维造型,并通过MATLAB的虚拟现实工具箱所提供的接口来实现对虚拟场景的交互和仿真。 1.1 虚拟现实与VRML技术 虚拟现实(Virtual Reality)是指综合利用计算机图形系统和各种显示、控制等接口设备生成的给人多种感官刺激和交互性操作的虚拟环境(Virtual Environ—ment),是一种高级的人机交互系统。虚拟现实具有多感知性(Multi—Sensory)、沉浸感(Immersion)、交互性(Interaction)、自主性(Autonomy)等特点,符合人们自然交互的习惯,是虚拟设计的基础。 VRML(虚拟现实建模语言,Virtual Reality ModelingLanguage)是SGI公司开发的一种3D造型和渲染的图形描述性语言,1997年12月被国际标准化组织ISOJYCI/SC24委员会认定为国际标准(ISO/IEC 14772一l:1997)。VRML是一种基于文本、描述图形的三维造型和渲染的语言,在创建虚拟场景方面比任何编程语言都简单。它通过节点(Node)定义了3D应用中大多数概念,如光源、视点、几何形体、雾、材质属性和纹理映射等,具有交互功能强、平台无关性、源代码开放、体积小、通用性强等特点。VRML提供了6+1个自由度,可以沿着3个方向移动和旋转,同时还可以建立与其它三维空间的超链接。 1.2 MA rLAB及其虚拟现实工具箱 MATLAB是美国MathWorks公司开发的用于教育、工程与科学计算的软件产品,是国际控制界公认的标准计算软件。MATLAB主要由MATLAB 主程序、Simulink动态仿真系统和功能各异的MATLAB工具箱(Toolbox)3大部分组成。其中主程序包括了MATLAB语言(M语言)、开发环境、图形句柄、数学函数库和应用程序接口5个部分;Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,具有直观、方便、灵活等优点;MATLAB工具箱是MATLAB软件在使用的过程中根据不同专业领域的特殊需要而用M语言编写的一些M文件的集合,以方便地解决本领域内常见的问题。目前MATLAB已拥有了50多个工具箱和功能模块,能够解决许多专业领域的问题,同时这些工具箱在MATLAB环境中可以相互调用,从而极大地扩展了MATLAB在各领域内的能力。 MATLAB在6.1版以后便集成了虚拟现实工具箱(Virtual Reality Tolbox),将MATLAB和Simulink的能力拓展到了虚拟现实图形。使用标准的VRML技术,就可以通过MATLAB和Simulink环境生成三维场景:虚拟现实工具箱提供了灵活的与虚拟现实世界相连的MATLAB接口,通过这些接口,可以方便地完成对虚拟场景中各节点的控制,从而为MATLAB能在一个三维虚拟现实环境中进行可视化操作和与动态系统进行交互提供了一种有效的解决方案。 本文所用MATLAB为6.5.1版,相应的Simulink版本为5.1版,虚拟现实工具箱为Virtual Reality rbolbox 3.1: 2 软件的设计思想 本虚拟设计系统,集成有各类常用凸轮的工作曲面数据点的生成;三维图形建模、显示、观察、控制;凸轮机构的运动模拟;凸轮机构的性能分析;用户与虚场景的动态交互操作;压力角、曲率及优化分析;数据可视化、设计结果保存及系统帮助等一系列功能。系统开发的最基本的设计思想在于利用相对成熟的MATLAB和VRML各自的功能和特长,来降低虚拟设计系统实现的难度,简化虚拟设计系统实现的过程,缩短系统开发周期。系统设计总体上遵循面向对象的设计思想,采用模块化的设计方法,并采用MATLAl~所提供的面向对象编程方式的高级语言——M语言来编程实现: 在程序实现时,利用MATLAB中有关的计算、图形函数,实现系统在数值计算及可视化方面的功能;利用MATLAB的图形用户界面(GU)技术,开发用户与系统交互的人机界面;通过编程实时生成VRML场景文件;利用VRML的三维造型和图形渲染功能实现系统的三维图形及交互控制功能;利用MATLAB中的simli~仿真模型及虚拟现实工具箱中的有关接口函数,实现凸轮机构在虚拟场景中的动态仿真。 3 系统的功能模块 本系统共含有启动模块、主界面模块、参数录入模块、运动规律模块、优化分析模块、参数校核模块、虚拟原型生成模块、仿真模型模块等8个功能模块,每个功能模块将通过所包含的程序完成预定的功能,各功能模块说明如下: 启动模块 本模块由系统启动程序camvdstart.Ill组成。该程序主要以基于命令行的方式来构建一个系统启动的欢迎界面,并将系统的开发单位及版权等信息反应到该界面上。 主界面模块 主界面模块由程序camvirtualde—sign.Ill构成,它和参数录入模块中的有关程序一起运行,构成用户与系统交互的凸轮机构虚拟设计的主界面:与启动程序类似,camvirtualdesign.Ill也主要是以基于命令行的方式来构建图形用户界面,它提供了用户与系统交互界面的基本框架,也是系统调用和管理其它模块的基本模块。基于方便用户使用、窗口设置精要的思想,该模块通过加强共用、实时刷新等方法和技术,将各类凸轮机构设计的交互界面都集中在一个主界面上,用户只需在主界面上操作即可完成各类凸轮机构的设计、分析和仿真全过程,从而大大减少了人机界面窗口,保证了系统界面的简洁,方便了用户的使用参数录入模块 该模块根据不同的凸轮机构类型提供相应的参数录入界面,以完成凸轮机构的各项参数输入。该功能模块包含有多个子程序模块,每个子程序将产生一个图形界面,显示在主界面模块提供的“凸轮机构参数录入区”内。各子程序提供的界面之间存在着关联设置,同一时间只能调用某一子程序,即只能显示一种子程序所提供的界面,之前调用的子程序所提供的界面将被清除。 运动规律模块 本模块由运动规律子程序movementrule.Ill来实现其功能。该程序通过s~tch⋯case结构语句收录了常用的l6种运动规律的位移、速度、加速度和跃度无因次表达式,当该程序被调用时,程序通过传递过来的运动规律标识符的值,运行计算相应的运动规律各无因次表达式的值并将其返回给调用函数或工作空间(Workspace)。优化分析模块该模块由一些与各凸轮机构类型相对应的优化分析子程序组成。这些子程序针对不同类型凸轮机构需要进行优化分析的内容,通过相应的数学表达式计算分析,而后通过可视化命令函数plot在综合显示区以图形的方式显示出来。用户通过配合使用通用按钮区内的有关按钮,对综合显示区内的图形进行操作、观察和分析,以帮助选择比较理想的有关参数。 参数校核模块 参数校核模块用于对各类凸轮机构的压力角和曲率半径进行检查校核,以确保凸轮机构的有关性能。由于各类凸轮机构需校核的参数不尽相同,各校核的表达式也不尽相同,所以该模块也包含有若干个不同的子程序。 虚拟原型生成模块 虚拟原型生成模块是系统的重要功能模块,它包含有数种子程序,分别用“等转角法”计算各类凸轮机构的工作曲面的空间坐标值,而后根据一定的约束关系自动生成相应的凸轮和从动件的虚拟原型VRML文件,并配以一定的背景、灯光、视点和场景信息,构成一个完整的凸轮机构虚拟场景VRML文件。该功能模块是本系统实现三维可视化和虚拟动态仿真的基础。实现时,软件用多面体的边界表示法来定义和存储凸轮的形体信息。这样,通过各凸轮机构的数据模型求出凸轮工作轮廓曲线的空间坐标后,再通过VRML中的有关节点实现凸轮工作曲面的空间造型,进而实现凸轮和凸轮机构的三维造型,其实现过程按“规划凸轮机构几何结构一获取运动参数和几何参数一取步长,确定等分角一的无因次化处理一调用运动规律子程序一计算工作曲面边界坐标一计算凸轮边界坐标一计算从动件坐标一数据处理一规划虚拟场景结构一VRML文件生成”的流程进行。 仿真模型模块该功能模块包含有各种不同的凸轮机构simlink仿真模型,在系统进行虚拟仿真时根据不同的凸轮类型调用相应的模型,实现对虚拟场景中的凸轮机构的控制和运动仿真。系统通过以上八种功能模块问的调用和数据传递,形成一个有机的整体,从而完成各类凸轮机构的虚拟设计。系统功能模块的调用关系及工作机理如图1所示。 4 系统的实现 选择系统启动程序cmnvdstart.m运行,系统在显示启动界面几秒后将自动进入凸轮机构虚拟设计主界面。用户在主界面上通过单选框和下拉式菜单选择完待设计的凸轮机构类型后,主界面的参数录入区将刷新显示所选凸轮机构的设计参数录入界面。通过该界面,用户可设计一些常用的凸轮机构,图2为设计滚子直动从动件圆柱凸轮时截取的人机界面。其中右侧部分为设计主界面,左侧部分是在设计需要三维显示和动态仿真时才自动打开的装有blaxxun CC3D插件的IE浏览器,用户可对浏览器进行随意拖放和大小调整,还可对其中的虚拟场景进行交互操作。 设计过程中系统将通过综合显示区为用户提供一些有关参数优化、性能分析的等方面的信息,如图2中的综合显示区内显示的是所选从动件运动规律的无因次化运动特性图,通过右侧的“缩放开关”与“栅格显示”按扭可对该图进行放大、缩小和背景栅格显示、关闭等处理。图3是设计盘形凸轮机构时综合显示区内的有关辅助优化的分析图例,图3b是对图3a进行局部放大并打开栅格显示时的情况。对压力角或曲率半径的校核,系统将以弹出信息框的方式给出校核结果和改进提示。另外,若用户在设计时出现了漏设、错设的设计参数或错误操作,系统也将以弹出信息框的方式给出错误提示。 当初步设计出凸轮机构后,就可通过鼠标操作,对所设计的凸轮机构在虚拟场景中进行全方位的交互操作和观察,并通过“三维仿真”和“停止仿真”按钮进行虚拟动态仿真、控制仿真进程。这时还可通过“性能分析”按钮,在综合显示区内观察凸轮运动时的一些运动参数特性:图4、图5等是利用本系统设计的尖底直动从动件盘形凸轮机构和弧面分度凸轮机构,对设计满意的凸轮机构的参数、图形等数据可通过“保存数据”按钮保存到用户指定的文件夹。 5 结语 VRML是一种标准的、应用广泛的虚拟现实技术,具有功能较强、源代码开放、较易实现等优点;MAT—LAB软件功能强大,其语言语句简单,内涵丰富,形式开放,可扩展性好,所集成的虚拟现实工具箱将MAT—LAB/Simlink的卓越功能拓展到了VRML所创造的虚拟世界之中。将MATLAB与VRML相结合来开发凸轮机构虚拟设计系统,能合理利用MATLAB软件和VRML技术已有的优点,吸取各自的长处,从而有效降低软件开发的难度和强度,对缩短软件开发周期,提高软件性能具有重要意义。该系统的实现,使得用户能够快速地对各种常用的凸轮机构进行设计和虚拟仿真,同时也为以MATLABT和VRML为基础开发其它虚拟设计系统奠定了一定的实践基础。
标签: 凸轮
打赏

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

购物指南

支付方式

商家合作

关于我们

微信扫一扫

(c)2008-2018 DESTOON B2B SYSTEM All Rights Reserved
免责声明:以上信息由相关企业或个人自行免费发布,其真实性、准确性及合法性未证实。请谨慎采用,风险自负。本网对此不承担任何法律责任。

在线咨询

在线咨询:

QQ交流群

微信公众号