《基于MATLAB与VRML的凸轮机构虚拟设计研究及实现.docx》由会员分享,可在线阅读,更多相关《基于MATLAB与VRML的凸轮机构虚拟设计研究及实现.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于MATLAB与VRML的凸轮机构虚拟设计研究及实现摘要:将Matlab软件的虚拟现实工具箱、M编程语言与VRML技术相结合,开发出一种可以对各类常用凸轮机构进展虚拟设计的系统。该系统通过简洁的图形用户界面,可以为用户提供各种常用凸轮的参数化设计、三维造型和虚拟运动仿真,并具有辅助参数优化、性能分析、图文数据输出等功能,同时用户还可以对实时生成的凸轮机构虚拟场景进展交互操纵,控制仿真进程。理论说明,运用该方法开发的虚拟设计系统,能公道地利用VRML和MATLAB各自的优点,大大降低开发的难度和强度,缩短开发时间。关键词:VRMLMATLAB面向对象编程凸轮机构虚拟设计凸轮机构是重要的传动机构
2、,广泛应用于各种机械产品,其设计和制造一直是机构学的热门。MATLAB自从61版本后集成了虚拟现实工具箱VirtualRealityToolbox,可对由VRML技术生成的虚拟场景进展可视化操纵和交互控制,为虚拟设计的实现提供了一种新的可能。作者通过对MATLAB软件、虚拟现实建模语言VRML、虚拟设计系统和凸轮机构进展深化研究后,产生了将MATLAB与VRML相结合来开发凸轮机构虚拟设计系统的设想,建立了凸轮机构的虚拟设计系统框架,开发出了一种可以对各类常用凸轮机构进展虚拟设计的系统。1根本技术介绍本软件在wind0ws2o0ONT平台下,采用MATLAB所提供的M语言进展编程,以VRML技
3、术实现凸轮机构的三维造型,并通过MATLAB的虚拟现实工具箱所提供的接口来实现对虚拟场景的交互和仿真。11虚拟现实与VRML技术虚拟现实VirtualReality是指综合利用计算机图形系统和各种显示、控制等接口设备生成的给人多种感官刺激和交互性操纵的虚拟环境VirtualEnvironment,是一种高级的人机交互系统。虚拟现实具有多感悟性MultiSensory、沉醉感Immersion、交互性Interaction、自主性Autonomy等特点,符合人们自然交互的习惯,是虚拟设计的根底。VRML虚拟现实建模语言,VirtualRealityModelingLanguage是SGI公司开发
4、的一种3D造型和渲染的图形描绘性语言,1997年12月被国际标准化组织ISOJYCISC24委员会认定为国际标准ISOIEC14772一l:1997。VRML是一种基于文本、描绘图形的三维造型和渲染的语言,在创立虚拟场景方面比任何编程语言都简单。它通过节点Node定义了3D应用中大多数概念,如光源、视点、几何形体、雾、材质属性和纹理映射等,具有交互功能强、平台无关性、源代码开放、体积小、通用性强等特点。VRML提供了6+1个自由度,可以沿着3个方向挪动和旋转,同时还可以建立与其它三维空间的超链接。12MArLAB及其虚拟现实工具箱MATLAB是美国MathWorks公司开发的用于教育、工程与科
5、学计算的软件产品,是国际控制界公认的标准计算软件。MATLAB主要由MATLAB主程序、Simulink动态仿真系统和功能各异的MATLAB工具箱Toolbox3大局部组成。其中主程序包括了MATLAB语言M语言、开发环境、图形句柄、数学函数库和应用程序接口5个局部;Simulink是一个用来对动态系统进展建模、仿真和分析的软件包,具有直观、方便、灵敏等优点;MATLAB工具箱是MATLAB软件在使用的经过中根据不同专业领域的特殊需要而用M语言编写的一些M文件的集合,以方便地解决本领域内常见的问题。目前MATLAB已拥有了50多个工具箱和功能模块,可以解决很多专业领域的问题,同时这些工具箱在M
6、ATLAB环境中可以互相调用,进而极大地扩展了MATLAB在各领域内的才能。MATLAB在61版以后便集成了虚拟现实工具箱VirtualRealityTolbox,将MATLAB和Simulink的才能拓展到了虚拟现实图形。使用标准的VRML技术,就可以通过MATLAB和Simulink环境生成三维场景:虚拟现实工具箱提供了灵敏的与虚拟现实世界相连的MATLAB接口,通过这些接口,可以方便地完成对虚拟场景中各节点的控制,进而为MATLAB能在一个三维虚拟现实环境中进展可视化操纵和与动态系统进展交互提供了一种有效的解决方案。本文所用MATLAB为651版,相应的Simulink版本为51版,虚拟
7、现实工具箱为VirtualRealityrbolbox31:2软件的设计思想本虚拟设计系统,集成有各类常用凸轮的工作曲面数据点的生成;三维图形建模、显示、观察、控制;凸轮机构的运动模拟;凸轮机构的性能分析;用户与虚场景的动态交互操纵;压力角、曲率及优化分析;数据可视化、设计结果保存及系统帮助等一系列功能。系统开发的最根本的设计思想在于利用相对成熟的MATLAB和VRML各自的功能和特长,来降低虚拟设计系统实现的难度,简化虚拟设计系统实现的经过,缩短系统开发周期。系统设计总体上遵循面向对象的设计思想,采用模块化的设计方法,并采用MATLAl所提供的面向对象编程方式的高级语言M语言来编程实现:在程
8、序实现时,利用MATLAB中有关的计算、图形函数,实现系统在数值计算及可视化方面的功能;利用MATLAB的图形用户界面GU技术,开发用户与系统交互的人机界面;通过编程实时生成VRML场景文件;利用VRML的三维造型和图形渲染功能实现系统的三维图形及交互控制功能;利用MATLAB中的simli仿真模型及虚拟现实工具箱中的有关接口函数,实现凸轮机构在虚拟场景中的动态仿真。3系统的功能模块本系统共含有启动模块、主界面模块、参数录入模块、运动规律模块、优化分析模块、参数校核模块、虚拟原型生成模块、仿真模型模块等8个功能模块,每个功能模块将通过所包含的程序完成预定的功能,各功能模块讲明如下:启动模块本模
9、块由系统启动程序camvdstartIll组成。该程序主要以基于命令行的方式来构建一个系统启动的欢送界面,并将系统的开发单位及版权等信息反响到该界面上。主界面模块主界面模块由程序camvirtualdesignIll构成,它和参数录入模块中的有关程序一起运行,构成用户与系统交互的凸轮机构虚拟设计的主界面:与启动程序类似,camvirtualdesignIll也主要是以基于命令行的方式来构建图形用户界面,它提供了用户与系统交互界面的根本框架,也是系统调用和治理其它模块的根本模块。基于方便用户使用、窗口设置精要的思想,该模块通过加强共用、实时刷新等方法和技术,将各类凸轮机构设计的交互界面都集中在一
10、个主界面上,用户只需在主界面上操纵即可完成各类凸轮机构的设计、分析和仿真全经过,进而大大减少了人机界面窗口,保证了系统界面的简洁,方便了用户的使用参数录入模块该模块根据不同的凸轮机构类型提供相应的参数录入界面,以完成凸轮机构的各项参数输入。该功能模块包含有多个子程序模块,每个子程序将产生一个图形界面,显示在主界面模块提供的“凸轮机构参数录入区内。各子程序提供的界面之间存在着关联设置,同一时间只能调用某一子程序,即只能显示一种子程序所提供的界面,之前调用的子程序所提供的界面将被去除。运动规律模块本模块由运动规律子程序movementruleIll来实现其功能。该程序通过stchcase构造语句收
11、录了常用的l6种运动规律的位移、速度、加速度和跃度无因次表达式,当该程序被调用时,程序通过传递过来的运动规律标识符的值,运行计算相应的运动规律各无因次表达式的值并将其返回给调用函数或者工作空间Workspace。优化分析模块该模块由一些与各凸轮机构类型相对应的优化分析子程序组成。这些子程序针对不同类型凸轮机构需要进展优化分析的内容,通过相应的数学表达式计算分析,而后通过可视化命令函数plot在综合显示区以图形的方式显示出来。用户通过配合使用通用按钮区内的有关按钮,对综合显示区内的图形进展操纵、观察和分析,以帮助选择比拟理想的有关参数。参数校核模块参数校核模块用于对各类凸轮机构的压力角和曲率半径
12、进展检查校核,以确保凸轮机构的有关性能。由于各类凸轮机构需校核的参数不尽一样,各校核的表达式也不尽一样,所以该模块也包含有假设干个不同的子程序。虚拟原型生成模块虚拟原型生成模块是系统的重要功能模块,它包含有数种子程序,分别用“等转角法计算各类凸轮机构的工作曲面的空间坐标值,而后根据一定的约束关系自动生成相应的凸轮和从动件的虚拟原型VRML文件,并配以一定的背景、灯光、视点和场景信息,构成一个完好的凸轮机构虚拟场景VRML文件。该功能模块是本系统实现三维可视化和虚拟动态仿真的根底。实现时,软件用多面体的边界表示法来定义和存储凸轮的形体信息。这样,通过各凸轮机构的数据模型求出凸轮工作轮廓曲线的空间
13、坐标后,再通过VRML中的有关节点实现凸轮工作曲面的空间造型,进而实现凸轮和凸轮机构的三维造型,其实现经过按“规划凸轮机构几何构造一获取运动参数和几何参数一取步长,确定等分角一的无因次化处理一调用运动规律子程序一计算工作曲面边界坐标一计算凸轮边界坐标一计算从动件坐标一数据处理一规划虚拟场景构造一VRML文件生成的流程进展。仿真模型模块该功能模块包含有各种不同的凸轮机构simlink仿真模型,在系统进展虚拟仿真时根据不同的凸轮类型调用相应的模型,实现对虚拟场景中的凸轮机构的控制和运动仿真。系统通过以上八种功能模块问的调用和数据传递,形成一个有机的整体,进而完成各类凸轮机构的虚拟设计。系统功能模块
14、的调用关系及工作机理如图14系统的实现选择系统启动程序cmnvdstartm运行,系统在显示启动界面几秒后将自动进入凸轮机构虚拟设计主界面。用户在主界面上通过单项选择框和下拉式菜单项选择择完待设计的凸轮机构类型后,主界面的参数录入区将刷新显示所选凸轮机构的设计参数录入界面。通过该界面,用户可设计一些常用的凸轮机构,图2为设计滚子直动从动件圆柱凸轮时截取的人机界面。其中右侧局部为设计主界面,左侧局部是在设计需要三维显示和动态仿真时才自动翻开的装有blaxxunCC3D插件的IE阅读器,用户可对阅读器进展随意拖放和大小调整,还可对其中的虚拟场景进展交互操纵。设计经过中系统将通过综合显示区为用户提供
15、一些有关参数优化、性能分析的等方面的信息,如图2中的综合显示区内显示的是所选从动件运动规律的无因次化运动特性图,通过右侧的“缩放开关与“栅格显示按扭可对该图进展放大、缩小和背景栅格显示、关闭等处理。图3是设计盘形凸轮机构时综合显示区内的有关辅助优化的分析图例,图3b是对图3a进展部分放大并翻开栅格显示时的情况。对压力角或者曲率半径的校核,系统将以弹出信息框的方式给出校核结果和改良提示。另外,假设用户在设计时出现了漏设、错设的设计参数或者错误操纵,系统也将以弹出信息框的方式给出错误提示。当初步设计出凸轮机构后,就可通过鼠标操纵,对所设计的凸轮机构在虚拟场景中进展全方位的交互操纵和观察,并通过“三
16、维仿真和“停顿仿真按钮进展虚拟动态仿真、控制仿真进程。这时还可通过“性能分析按钮,在综合显示区内观察凸轮运动时的一些运动参数特性:图4、图5等是利用本系统设计的尖底直动从动件盘形凸轮机构和弧面分度凸轮机构,对设计满足的凸轮机构的参数、图形等数据可通过“保存数据按钮保存到用户指定的文件夹。5结语VRML是一种标准的、应用广泛的虚拟现实技术,具有功能较强、源代码开放、较易实现等优点;MATLAB软件功能强大,其语言语句简单,内涵丰富,形式开放,可扩展性好,所集成的虚拟现实工具箱将MATLABSimlink的卓越功能拓展到了VRML所创造的虚拟世界之中。将MATLAB与VRML相结合来开发凸轮机构虚拟设计系统,能公道利用MATLAB软件和VRML技术已有的优点,汲取各自的优点,进而有效降低软件开发的难度和强度,对缩短软件开发周期,进步软件性能具有重要意义。该系统的实现,使得用户可以快速地对各种常用的凸轮机构进展设计和虚拟仿真,同时也为以MATLABT和VRML为根底开发其它虚拟设计系统奠定了一定的理论根底。0