张钰,李玮,张利兵,王敏,郭子圣
(西南林业大学,昆明 650224)
目前,我国在机械加工实训教育中存在诸多的问题,如教学成本较高、安全隐患颇多、教师示范操作演示效果不佳等(图1为传统教学中的数控车床)。VR技术的出现能够很好地解决我国在机械加工实训教育中遇到的诸多问题。利用VR技术搭建的虚拟仿真空间可模仿真实的机加工设备(如图2),让使用者能够身临其境,对虚拟空间中的情景有直观的感受。虚拟仿真教学是一种理论与实践相结合的教学方法,能够激发学生的学习兴趣,更是未来教学智能化、虚拟化、兴趣化、安全化的一个缩影[1]。
图1 数控车床
图2 VR虚拟仿真教学空间中的数控车床
将VR技术应用在机械加工实训的教学中,采用VR技术仿真各类机床,以实现机床的拆装、数控加工实训的虚拟教学、数控产品的加工等多种操作,通过直观形象的展示和操作,完成了传统教学无法完成的任务,拓展了学生的认知领域[2]。
工程机械类专业课程着重启发、引导和培养学生专业知识领悟及实操应用技能,针对性强、实践性广。若内容枯燥、抽象,用传统的教学模式教学,学生的空间概念很难建立,学生容易产生厌学情绪。通过三维模型的建立,将VR虚拟仿真技术引入教学当中,可以巩固学生对知识的理解,转变传统的教学模式,促进学生主动学习,调动学生的学习积极性,有意识地培养学生的创新能力、自主探究能力,并能培养学生的空间思维能力、动手能力和创新能力[3]。让学生在虚拟教学空间中进行编程、加工等相关操作的模拟练习(如图3、图4),符合规范后再进行实机操作,可有效科学地处理相关问题,减小误操作对设备的损伤,将对正常教学的影响降到最低[4]。
图3 虚拟加工平台中的VR仿真产品
图4 VR 机械加工虚拟仿真教学空间
通过SolidWorks对CM6140卧式车床模型进行建模装配。CM6140卧式车床主要由主轴箱、进给箱、溜板箱、床身、尾架、刀架组成,对CM6140卧式车床进行简化、拆解,以满足后续的装配、仿真的需要[5]。在子装配体装配完成后,对CM6140卧式车床以床身为基础、采用“自下而上、自左而右”的装配思路进行装配(如图5)。同时,在虚拟装配过程中产品的装配尺寸、约束不能配合时,能够很快找到车床建模时存在的错误并进行改正。
图5 整机装配模型
1.2.1 虚拟光照和场景的构建
在虚拟装配及仿真模拟的过程中,首先要搭建虚拟场景。为了让场景更加真实,需要对场景从Unreal Enging 4的光源库中选择光源(如图6)。一般环境中应该有一个定向光源、一个天空光源、数个聚光源和数个点光源,此外还要在虚拟环境中添加一个反射球,通过调整反射球的反射光照次数、调整光照的角度和点聚光源的数量来改变环境的亮度和暖度,使画面效果更加逼真,避免同一材质在不同位置的光照反射。在场景构建的过程中,根据目标设备的大小,灵活地设置场景的大小,以达到最真实的虚拟场景的构建。随后,进行角色控制权的获取,确定操作角色默认的出生点,并进行相关参数的设计(如图7)。
图6 虚拟光源库
图7 角色控制权的获取
1.2.2 车床模型的载入和优化
利用3D MAX软件或者SolidWorks自带插件scanto3D插件完成模型从SolidWorks到Unreal Engine 4的数据转换。在转换过程中,模型的几何、装配等信息都得到了完整的保留。将模型导入Unreal Engine 4之后,为达到更为真实的效果,还需要对导入的模型赋予合适的材质。材质可以在Unreal Engine4自带的材质库(如图8)中选择更改。
图8 Unreal Engine4材质库
通过研究SolidWorks→3D MAX→Unreal Engine4的模型转换方法。解决了SolidWorks软件下的模型到Unreal Engine4软件下的模型的格式转换问题,使它们在机构和属性上较完美地衔接。
1.2.3 仿真CM6140卧式车床的装配过程
由于CM6140卧式车床模型的零件数量较大,因此对其装配的仿真可以简化为对重要子装配体的装配仿真与整机的装配仿真。其中主要子装配体包括主轴、刀架、尾架三大部分,在实现这三大部分装配仿真的情况下,以车架为基础对整机进行装配仿真。
对于主轴的装配仿真和后续装配体各部分的装配仿真,将用到Unreal Engine 4蓝图来操控物体在场景中空间位置变换,以此实现车床的装配工作。首先用Unreal Engine 4自带几何体为对象来进行功能的制作,利用set和get两个节点。set节点能够设置场景中变量的因素或设置场景中因素的相关属性,而get节点能够获取元素的数值。拉出2个几何体设置坐标,打开蓝图里面的关卡蓝图,右键创建一个cube,连接节点AddActorlicaloffset(对自身坐标的一个加法运算),设置X轴加100,然后添加键盘“1”连接该节点,将该cube的移动性在细节面板改为可移动,这样就可以控制cube在X方向以100为单位移动(如图9)。同理创建一个cube2,连接该节点,设置 Y 轴 加100,再添加一个键盘“1”,将cube2改为可移动,如此就可以通过键盘“1”同时控制cube和cube2朝不同方向移动(如图10)。通过上述操作就完成了车床的拆卸,逆向就完成了车床的装配。生成的整机爆炸图如图11所示。
图9 cube 移动
图10 cube and cube2 移动
图11 整机爆炸图
主轴、刀架、尾架的装配仿真过程中,首先对车床主轴的装配,依次装配夹具和主线旋转轴。随后进行整机的装配过程准备,最后进行整机装配,整机装配图如图12所示。
图12 整机装配图
1.2.4 主轴的旋转过程仿真
主轴自转是利用蓝图通信和自定义事件来实现,蓝图通信是一种用于蓝图之间数据通信的方式,可以在一个类里获得另外一个或多个类的一些变量来进行判断。
将自定义事件写到actor中,提高其它的可拓展性,按照创建文件夹-创建actor-添加节点AddLocalRotation-添加时间Tick-添加分支点-添加布尔变量-路径判断-键盘控制点-键盘控制主轴旋转过程,控制车床的主轴进行旋转。操作过程图如图13~图20所示。
图13 创建actor
图14 添加节点
图15 添加事件
图16 添加分支点
图17 添加布尔变量
图18 路径判断
图19 键盘控制点
图20 键盘控制主轴旋转
1.3.1 硬件设备的安装及调试
为充分发挥虚拟现实系统强大的图形处理能力和沉浸感显示。采用一套HTC Vive 设备(如图21)来实现。
图21 HTC Vive设备
安装HTC Vive设备后,检查软件、显卡、定位、头盔、手柄的状态,连接电脑后进行调试,将Unreal Engine4搭建好的场景通过蓝图编程,来实现在虚拟空间中的车床的装配,完成VR机械加工虚拟仿真教学空间的搭建。
1.3.2 软硬件设备的连接及调试
利用Seatm VR[6]软件进行连接、定位等操作,随后进行Steam VR插件设置,在连接好Steam VR硬件设备和安装Steam VR驱动之后,需要在Unreal Engine 4中完成相关的插件调用设置。随后输入重定义,修改Unreal Engine4系统使用的移动默认设置。然后进行pawn蓝图类设置,实现手柄控制视线的上下左右移动。然后通过设置节点,进行头显、前进后退、左右移动的设置。最后进行蓝图关卡和游戏模式的设置,设置运动控制器节点,输入出发节点后连接事件,事件包括车床爆炸装配、主轴旋转等,实现手柄按键对用户交互的控制。游戏模式的设置即设置插件,让Unreal Engine4能识别VR设备,让VR设备得以顺利工作。操作步骤如图22~图27所示。所有设置完成好后,打开创建好的关卡,检测体验是否正常,VR模式下的车床(拆装过程)如图28所示。连接调试成功后,配合设备进行虚拟现实输出及人机交互。
图22 输入设置
图23 pawn 蓝图类设置
图24 头显设置
图25 移动设置
图26 所需创建蓝图类
图27 设置游戏模式
图28 VR模式下的车床拆装过程
本文旨在融合VR技术、数据库技术、网络编程等技术,构建多维度、多场景、交互性强、沉浸感高的一个“VR机械加工虚拟仿真教学空间”,但项目经多年研究探索,目前仍存在以下问题。
从SolidWorks导入到Unreal Engine 4中的模型,在其装配位置上是准确的,但部分零部件间的约束关系没有了,部分运动关系也随之丢失了,因此在模型转换的完整性上需要更深层次的研究。
在条件许可的情况下,本文进一步简化了车床受力与转矩情况,但对其仿真有一定的影响,与现实中实际的车床运动有一定的不同。后期应对运动学进行仿真分析,改善受力分析的问题,减小该虚拟教学空间与实际车床运动之间的差距。
目前只进行了车床的爆炸装配仿真和主轴旋转仿真,很多机床的功能还没有完全实现,后续还有待更深的研究和探索。
本文介绍了VR机械加工虚拟仿真教学空间的研究背景,指出了本研究可提高机加工教学实训的教学效果、降低教学风险及损耗,在一定程度上满足国家、社会、高校层面对培养机加工人才的需求,且相对于传统机械加工教学,本研究具有一定的优势。
本文以CM6140卧式车床为载体,介绍了VR机械加工虚拟仿真教学空间的搭建及应用。系统地提出了三维模型虚拟装配的一般操作步骤:首先采用SolidWorks对CM6140卧式车床进行建模装配,在整机模型装配的基础上,根据约束关系对装配模型进行简化,再利用3D MAX软件和Unreal Engine4软件,进行CM6140卧式车床运动仿真。最后通过HTC Vive设备及Steam VR软件完成虚拟现实的输出和人机交互操作。
本文利用Unreal Engine4进行车床虚拟装配过程中的重要过程为:加载和优化车床相关模型、装配顺序规划、制作装配仿真动画;建立了车床的装配序列,完成了车床的虚拟装配。
最后,对本研究现阶段存在的问题进行阐述及反思,指出了未来研究的侧重方向。
(编辑 马忠臣)