基于Unity3D的跨平台数控机床装调虚拟仿真训练系统开发

2017-10-21 12:45曾欣宋宁夏谦
科技风 2017年19期
关键词:跨平台虚拟仿真数控机床

曾欣 宋宁 夏谦

摘要:现有的数控机床仿真应用主要停留在PC平台,应用过程中,硬件投入成本较高。本文提出一种基于Unity3D的跨平台数控机床装调虚拟仿真训练系统开发方案,介绍了该系统的开发路线,论述了模型的建立及优化、仿真场景的设计、机床运动物理仿真的等开发过程中的关键技术。采用本方案开发出的数控机床装调虚拟仿真训练系统能较好的适应不同的操作系统平台和硬件环境,特别是满足移动终端用户的使用需求,降低了软件应用的投入成本。

关键词:数控机床;虚拟仿真;跨平台;装调;Unity3D

数控机床作为数控加工中重要的一种精密设备,在以往数控机床维修、装调培训中,由于硬件和管理的限制,不便于长期反复拆卸,因此实际训练环节不便于实施,特别是针对高职院校学生而言更是如此。利用虚拟仿真技术实现数控机床装调的仿真训练,可以避免培训过程中造成设备损耗和损坏、降低训练成本,有效解决大型设备、精密设备的培训问题。跨平台的数控机床装调仿真软件,有效降低软件、硬件平台和系统软件的成本,扩大软件的普及应用。本文探索一种基于Unity 3d的数控机床跨平台仿真训练系统的开发,该系统能够运行在高性能计算机和智能终端等不同的硬件平台和软件系统环境中,完成相同的仿真训练功能。

1 机械模型的建立与优化

数控机床的机械模型建立方法总的可概括为两种:多边形网格建模和nurbs建模。多边形网格建模简单, nurbs建模精度高,非常适合建立机械模型,但是nurbs需要转换为多边形网格模型才能为Unity引擎使用。

为了最大限度地充分利用现有CAD模型资源,本文采用SolidWorks建模,并且在SolidWorks中完成机床的装配。完成的装配体导出到3ds max等软件进行模型优化和材质贴图处理。将SolidWorks模型导入3ds max 时,导入通道有几种选择:IGS格式、STL格式、step(stp)格式。Step文件可以用较少到顶点数表示较高精度的模型,是导出高精度几何模型到首选通道。另外,3ds max 2015以后版本可以直接導入SolidWorks模型。本项目中选择stl导入SolidWorks建造到数控机床模型到3ds max中,并进一步精简模型。以VMC 650数控加工中心机床主体为例,从SolidWorks导入的模型多边形数量为97652,经过优化后,模型的多边形数量为18206。经过优化后的网格模型能很好地适应各种硬件性能低的移动终端。

2 机床检测的实现

使用Unity可以将物件的形态、表观和功能有机结合起来,再现实物,实现完全的物理功能模拟,这一点与以往的通过动画虚拟对象是完全不一样的。在Unity中实现基于物理的仿真需要5个步骤:(1)按实际比例建立对象的功能模型,并且导入Unity3D;(2)通过纹理贴图和着色脚步表现对象的表观特性;(3)在模型上对应设置“感知”功能部件,如碰撞点、接触面等;(4)根据对象的工作原理,编写程序控制对象动作反应。(5)建立对象的虚拟应用环境,让对象跟虚拟环境中的其它对象产生相互作用,或者与用户互动来展现对象的功能和特性。

下面以机床装调时使用的百分表仿真对象的建立和使用百分表检测机床工作台移动直线度的物理仿真为例,说明在Unity中实现物理仿真对象的具体方法:(1)建立百分表的模型。严格按照功用和实际比例来建立百分表模型,为了减少计算机资源的占用,百分表内部的螺钉等不需要表现的零件建模时可以忽略。(2)绘制贴图。使用Photoshop等软件为上一步中建立的模型制作贴图。螺纹等零件的表面细节,在此步中通过法线贴图来表现。(3)设置百分表的动作触发部件。百分表的动作只有两个:一是百分表校正,这一操作是通过拨动表盘完成的;另一个是百分表测量读数,当百分表的测量头接触工件受到挤压时,测量头移动,指针就会发生偏转,从而在表盘上产生读数。因此在模型资源导入Unity3D中后,需要做两件事:一是将表盘设置为mesh collider,使之能互動;二是在测量头处设置碰撞体,当它与其他物体接触时,产生位移。(4)设计百分表的运动程序。百分表的测量动作原理为:测量头受压时,测量杆产生向上的位移;测量头没有受到碰撞时,百分表内部的复位元件作用使测量杆复位。测量杆的位移使百分表指针的转动在表盘上产生读数。根据百分表的这一工作原理,我们就可以编写出对应的程序,控制虚拟百分表的动作行为。程序逻辑如图1。

(5)百分表应用仿真。根据以上四步设计出的仿真百分表组成如图2所示。以下以机床工作台移动直线度测量为例,说明仿真百分表的应用方法。

将机床工作台设置为碰撞体,将百分表按现实中应用的情形装夹到检测位置。当百分表的测量头与被导轨接触到时,如果导轨存在直线度误差,百分表表盘指针就会发生偏转,产生读数,这个读数反应的正是虚拟的工作台“真实”的移动直线度误差,如图3。

2 系统实例

本项目数控机床装调仿真系统是运用上述路线开发的一个跨平台程序实例,它能运行在Android、IOS、Windows、Mac、Linux等当今各大主流操作系统平台上,适应各种不同分辨率的屏幕,对硬件也有较好的适应性。该软件实现了0632数控车床、VMC650数控加工中心的各种机床运动的手工操作仿真以及机床装调过程中典型的机械测量的仿真,能够满足了数控机床装调仿真训练的基本需要。图4所示为基于Unity3D的跨平台数控机床装调仿真系统的功能组成,图5所示为该系统的机床拆装虚拟界面。

4 结语

本文探索、全面阐述了基于Unity 3d的数控机床装调仿真系统的开发方案,这一解决方案和其中采用的开发方法在总结前人开发经验的基础上,根据自身产品的特点做了一定的优化和创新,对于同类产品的开发具有一定的参考价值。

本项目中的数控机床装调仿真系统对各种操作系统、各种硬件系统具有较好的兼容性,软件应用投入成本低,便于在更多场合开展应用,能更好地帮助学校和企业完成人员的数控机床装调仿真训练。

参考文献:

[1]罗求顺,张其,郭建,汪广扩.基于Quest3D的钻床加工虚拟教学系统的研究[J].计算机工程与应用,2015,59(1): 262266.

[2]林聪.虚拟现实技术在普通机床拆装课程教学中的应用研究[D].厦门:厦门大学, 2013.

[3]王琴,王双利.基于虚拟现实的数控车床结构拆装与仿真系统[J].科技与企业,2013, (12): 116117.

[4] Unity Technologies.USER INTERFACE (UI)[EB/OL].

猜你喜欢
跨平台虚拟仿真数控机床
数控机床故障检测与维修
一款游戏怎么挣到全平台的钱?
潜力双跨平台:进阶:谁将跨入下一个“十大”?
数控机床人机联合故障排查研究
提高数控机床维修性的途径
基于C++语言的跨平台软件开发
浅析虚拟仿真技术在海军院校教学中的应用
虚实结合和科教融合的计算机实验教学体系
数字积分法插补仿真实验教学系统开发
网络虚拟仿真实验中心建设研究与实践