晏云闽,李杰,刘雪霞,何宇航
(大连交通大学a.机械工程学院;b.创新创业教育学院;c.软件学院,辽宁 大连116000)
目前,高校十分注重大学生创新能力的培养,而工程训练课程是工科大学生重要的学科基础课,是培养大学生创新精神、工程意识和动手能力的重要环节,在培养创新型人才方面是其他课程不可替代的。传统的工程训练教学受到设备资源少、时间和场地空间受限等问题的制约,学生在现场实操过程中往往由于设备台套数不足而存在着排队等待时间过长、实际动手机会有限等诸多问题,导致学生在实训过程中积极性不高、实践效果较差。
虚拟现实技术的出现,为教育行业带来了全新的教育理念和教育方法,其利用计算机生成一种实时动态的三维立体逼真图像模拟环境。将该技术应用到工程训练教学中,可以打破设备、时间、场地的限制,同时提供给学生科学系统的教学内容,学生可以根据自己的实际情况自主安排学习内容和学习进程,满足学生自主实践的需求。鉴于此,目前国内许多高校将虚拟现实技术应用于实践教学,开发出各具特色的虚拟实训系统。如文献[1]采用虚拟现实和增强现实技术,基于Unity3D构建了RV减速器虚拟仿真实践教学系统;文献[2]基于Unity3D构建了典型减速器虚拟拆装实验系统;文献[3]基于Unity3D开发了工业机器人本体拆装的虚拟教学系统;文献[4]基于Cult3D技术构建了基于网络的减速器虚拟拆装实验平台;文献[5]利用VRMI技术设计了减速器拆装虚拟教学实验室;文献[6] 基于Unity3D开发了机械基础虚拟实验平台,并以二级展开式斜齿圆柱减速器为例详细介绍了实现方法。
本文采用Unity3D 作为开发引擎,结合使用SolidWorks、3D Max软件进行离心泵拆装场景建模和拆装动画制作,并利用C#语言进行界面交互逻辑控制,开发了离心泵拆装虚拟实训教学系统。目前,该系统已经应用于工程训练实践教学中,效果良好。
离心泵是利用叶轮高速旋转产生的离心力来抽取液体或其它物料,是给水系统中不可缺少的重要设备,广泛应用于化工、市政、农业等行业,图1所示为典型的单级单吸式离心泵外观。
离心泵的基本组成部件有叶轮、泵体、泵体盖、泵轴、轴封装置、联轴器和轴承等,如图2所示。
图2 离心泵的典型结构组成
叶轮工作时高速旋转,是直接对泵内的液体做功的部件,系离心泵的供能装置。泵体为固定件,其外形像蜗牛,其作用是为了汇集从叶轮甩出的液流,由于它的过水断面是逐渐增大的,所以能够保持液体的流速基本不变。由于泵轴转动而泵体固定不动,在两者接触处必然存在一定的间隙。为了避免泵内高压液体沿着泵轴与泵体之间的间隙泄漏或防止外界空气进入泵内,离心泵内必须设置轴封装置,一般有填料函和机械密封两种形式。
离心泵拆装是工程训练课程中机械拆装实训模块中的一个重要项目。离心泵拆装实训项目的主要目的是使学生了解离心泵的工作原理、机械结构组成、拆装方法,学会使用常用的拆装工具,是培养学生工程意识、动手操作能力、启迪学生创新思维的重要手段。
根据该实训项目的教学目的,本文所设计的离心泵虚拟拆装实训系统包含多个模块:离心泵基础知识讲解、组成零部件认识、拆装动画演示、手动交互拆装操作,如图3所示。
图3 系统结构框架
基于Unity3D的虚拟实训系统开发主要分为3个阶段:第一个阶段是素材准备,利用三维建模软件SolidWorks和动画渲染软件3D Max制作较为较为真实的三维几何模型素材;第二阶段是系统的交互功能设计,将利用SolidWorks软件和3D Max软件处理好的三维几何模型导入Unity3D引擎软件中,进行虚拟场景搭建,并编写脚本,实现人机交互;最后是系统的发布。具体的开发流程如图4所示。
2.3.1 搭建虚拟场景
将利用三维建模软件SolidWorks软件和动画渲染软件3D Max软件处理后的接近于真实的离心泵三维几何模型导出为FBX格式文件与场景图片JPG文件,一起导入至Unity3D 软件中。将场景图片和离心泵模型拖入到初始场景后,需进行位置的调试,利用Unity NGUI 插件创建面板,为用户提供多种功能模块的选择,完成系统的多个场景搭建,同时为控制器添加场景切换脚本,最后运用SceneManager. LoadScene功能进行场景管理,来实现多场景之间的切换。
2.3.2 离心泵虚拟拆装功能的实现
该系统具有离心泵的自动拆装动画演示和学生自主拆装操作两个不同的环节。自动拆装动画演示是根据离心泵正确的拆装顺序,编写相应的C#脚本,控制离心泵各组成零部件的移动顺序来实现的,其主要目的是给学生演示,让学生了解离心泵的详细结构组成并掌握正确的拆装顺序;而自主拆装模块需要用户通过鼠标或者键盘拖拽离心泵各个零部件到指定位置,从而实现离心泵的拆卸和安装,该模块以真实模拟现场拆装操作为目的,起到让学生自主动手训练的效果。
1)拆装演示。自动拆装为离心泵模型整体拆卸,通过脚本控制事先准备好的模型进行实时渲染,进而产生动画的效果,并具备实现动画片段选择播放、动画播放速度控制两个功能。
使用Unity3D的DOTween插件来实现离心泵的自动拆装演示。通过设置离心泵中各组成零部件在不同时间节点上的Position和rotation属性值,从而实现位移和旋转的功能,利用Unity3D引擎强大的可扩展性和兼容性环境下的DOTween插件实现动作变换,使其在用户选择该功能时进行实时渲染,最终表现出离心泵的拆卸效果。当用户了解离心泵拆装后,可以点击手动拆装按钮进入手动拆装场景。图5为系统进行离心泵自动拆装演示的界面。
图4 系统开发流程
图5 自动拆装演示
2)自主拆装。手动拆卸和装配是该系统的一个核心功能模块,通过该功能模块的操作,可以使学生掌握离心泵的拆装要领,也是现场实训中的主要目的。
手动装配模块,设计为用户通过拖动零部件,将其摆放到指定的位置处,并通过设计脚本实现所有装配对象的顺序展示、目标对象的闪烁提示、鼠标检测并拾取待装配对象、鼠标拖拽待装配对象等功能。图6为系统进行离心泵手动拆装场景。
图6 手动拆装场景
该功能的设计过程为用户从零件库中选择合适的零件移动到场景中,当该零件与场景中绿色半透明部件接触且特征完全吻合,零件将替代半透明部件,完成该零件的装配,同时重新生成新的绿色半透明待装配部件,等待下一零件的装配,如此往复,最终完成装配。
2.3.3 交互功能的设计和实现
人机交互操作,是指用户通过计算机的输入输出设备来实现。学生通过使用计算机的输入设备键盘或者鼠标,来控制系统中实时渲染出的零部件模型,即切换不同的界面就可以实现不同的功能,同时在显示器上对用户的操作做出实时更新。该系统中的交互功能是采用C#编程设计语言和Unity3D游戏开发引擎进行模块化的开发。既保证了逻辑代码文件封装性完好,又使用户能轻松、简单地操作系统中相关的元素。
主界面为进入系统的第一个场景,可实现用户与系统的交互,通过按键点击各个功能模块的链接可进行相应场景的跳转,该系统的主界面如图7所示。
在主界面上,用户通过点击对应的按钮来选取要体验的功能。点击“零件相关”按钮进入离心泵详细信息展示场景,此时用户能够看到离心泵旋转展示的动画效果并在右侧包含离心泵的介绍信息。此外,用户也可以自由选择零件并显示其相关信息,控制模型的视角变换和放大缩小,可清楚查看零件细节结构,零件相关界面如图8所示。点击返回按钮回到系统主界面,选择手动拆装按钮。进入手动拆装功能界面,按照绿色透明部件提示进行离心泵的装配,点击左上角的返 回 按钮,系统再次回到主界面。
将虚拟现实技术应用到工程训练课程的具体实训项目中,基于Unity3D技术开发了一套具有良好的身临其境效果、交互性强、功能性全的离心泵拆装虚拟实训系统。利用该系统,学生可以自主完成理论知识学习、熟练掌握产品拆装动作,不仅充分调动了学生的积极主动性,提升了学习效果,还有效缓解了设备紧缺及场地有限等硬件问题,为工程实践教学提供了新型且高效的教学手段,值得进一步研究和应用。
图7 系统主界面
图8 零件相关界面