APP下载

虚拟现实技术在铣削加工实训教学中的应用

2020-10-09朱文华孙张驰顾鸿良

实验技术与管理 2020年1期
关键词:铣床碰撞检测立体

蔡 宝,朱文华,孙张驰,顾鸿良

(上海第二工业大学 工程训练中心,上海 201209)

随着计算机显示技术的快速发展,虚拟现实(virtual reality,VR)技术的应用研究愈发深入,并在高危险、难实现、难操作、难观察的实验教学和实践教学中得到广泛应用,其中机械加工实训教学是其典型应用之一[1-2]。国内在机械加工虚拟仿真方面有很多科研成果,例如四开动梁龙门式五轴联动高速数控雕铣机床虚拟加工仿真系统、虚拟车床加工过程仿真系统、基于VERICUT 仿真平台的车铣复合加工中心虚拟仿真加工系统、数控机床机械结构的虚拟装配与运动仿真实验等[3-8]。然而国内对于机械加工虚拟仿真系统的开发主要是实现机床的虚拟功能,而且虚拟现实的表现形式比较单一,系统的沉浸性和可交互性也有待完善。本文以铣床切削加工为例,研究开发虚拟现实技术的多种表现形式,使其具有更好的沉浸性与交互性。

在铣床切削加工虚拟现实仿真技术的研究中,首先应用传统的Unity3D 虚拟仿真软件对机床加工进行仿真开发,然后分别进行 zSpace 虚拟现实开发和Vuforia 增强现实开发,最后基于裸眼立体的画面跨屏显示是建立在zSpace 虚拟现实开发基础之上进行。

1 基于zSpace 的虚拟现实系统开发

基于zSpace 的虚拟现实系统是在Unity3D 软件基础之上建立的。zSpace 提供zCore 开发包,将开发包导入 Unity3D 中便可进行后续开发。开发过程包含 3个核心步骤:模型准备、交互方式开发和碰撞检测。

1.1 模型准备

三维模型的准备包含几何建模、物理建模和行为建模3 部分。

(1)几何建模。使用SolidWorks 建模软件建立几何形状,如图1 所示。建模时应将机床运动部件与静止部件分开,以便后续添加运动指令。

图1 铣床三维模型

(2)物理建模。在立体 Maxs 和 Photoshop 软件中对几何模型进行贴图和渲染。为了使模型更逼真,将相机拍下的实际铣床表面图案导入 Photoshop 中,进行校正处理后作为素材。在Maya 中进行贴图操作,铣床操作面板贴图前后的效果比较如图2 所示。

图2 贴图前后效果对比

(3)运动建模。在Maya 中描述虚拟模型动作与行为逻辑,包括铣床基本运动和切削加工过程。由于该内容单一,本文未列出。

1.2 模型的交互方式开发

zSpace 虚拟现实是整合现实工作环境的桌面式虚拟现实系统[9-10],它具有高保真的立体显示系统和低延迟的跟踪系统。

zSpace 虚拟现实使用的是Unity3D 开发引擎。传统的人机交互操作大多是通过鼠标和键盘手柄完成,而zSpace 提供了6 自由度的交互笔,故在开发虚拟铣床切削加工VR 系统时,将UI 交互改为三维模型直接交互的方式,使其交互性能更为自然。

使用Unity3D 中的LineRender 创建一个可调整宽度、长度的光线来指引现实中的交互笔在虚拟世界中的方向。当交互笔与虚拟模型碰撞时,笔尖会自适应地依附在虚拟模型表面,提示用户当前可以进行交互,其关键程序如下:

1.3 碰撞检测在切削加工中的应用

虚拟铣床切削过程必须符合实际铣床切削加工的逻辑顺序。首先对实际切削数据进行采集,包括铣床切削用量和运动参数等,然后在虚拟切削的程序中增加逻辑判断与碰撞检测功能,从而使得整个切削过程既具有逻辑控制性,也符合实际的工艺要求。

Unity3D 中的碰撞检测是使虚拟铣床切削过程符合逻辑的关键环节,其功能不仅是防止虚拟铣床刀具在切削过程中运动部件超出形成范围,避免由操作失误导致的部件间的碰撞,还要作为触发器,触发连带的切削动作。

碰撞检测分为两种:一种是切削加工碰撞检测,即如果工件与刀具发生碰撞,表示正在进行切削,反之表示未进行切削;另一种是机床运动部件碰撞检测,即如果部件间发生碰撞,则表示其运动越界或者超出规定行程,须停止运动,否则可继续运动。

2 基于裸眼立体的跨屏显示开发

开发虚拟铣床切削加工的跨屏显示技术,其目的是更好地显示内容和进行信息的传递,而zSpace 虚拟现实显示的立体画面,跨屏幕展示的也为立体画面,zSpace 虚拟现实屏幕为 26 英寸,立体显示器屏幕为70 英寸,可适用于一般的教学、展览等多人互动场景。为了达到zSpace 立体画面屏幕的分享功能,将zSpace虚拟现实与裸眼立体显示设备相结合,在zSpace 虚拟现实的基础上进行开发,具体实现步骤如下:

(1)创建虚拟跨屏相机。在Unity3D 软件中创建一个跨屏幕照相机,并设置相关参数。参数包括聚焦位置、相机小孔、聚焦尺寸、物体聚焦,相机的方位、角度和投影矩阵。

(2)设置渲染纹理,用于接收Unity3D 画面。在Unity3D 软件的场景中创建 RenderTexture 型渲染纹理,此渲染纹理实现DLL 渲染;设置3 种纹理渲染格式,包括s3d(彩色+深度)格式、sbs(左右格式或者上下格式)、null 其他格式。设置渲染纹理分辨率为1920×1080 像素,关键代码如下:

(3)绑定zCore 中的相机。将创建的虚拟相机绑定于zSpace 中的任意一立体相机,即可进行深度方向的渲染。

(4)设置相机参数,形成立体画面。调整相机的位置等相关参数,使裸眼立体显示器中的画面有较好的立体感。裸眼显示屏幕设置为每25 ms 刷新一次,使画面传输流畅。

如图 3 所示是按照上述步骤实现的裸眼立体+虚拟现实铣床加工系统跨屏幕显示画面,图中左下为zSpace 虚拟现实立体画面,右上为裸眼立体跨屏显示画面。由于裸眼立体屏幕较大(70 英寸),可以实现立体画面屏幕的分享。

图3 裸眼立体+虚拟现实跨屏显示画面

3 基于Vuforia 的AR 移动端开发

增强现实(augmented reality,AR)是近年来发展迅速的虚拟现实技术,其沉浸感主要来源于虚拟场景与现实场景的融合。增强现实的交互性是指现实世界的特征物体与虚拟世界的场景之间的交互,它可拓展人们对现实世界的认知[11]。增强现实利用移动设备的摄像头采集真实环境信息,并将本地或网络上的虚拟信息通过特殊处理后叠加显示,实现增强现实的效果[12]。

铣床加工AR 系统是在Unity3D 虚拟仿真的基础上开发的,Vuforia 可作为插件导入后直接进行使用,其开发关键是特征图的识别。

特征图的识别准确与否直接关系到最终显示效果。识别图一般为彩色图,黑白二值图不利于照相机进行图的特征识别。通常会设置识别阀值,照相机在识别特征图时会产生一个实际值,当实际值大于阀值时才会识别,否则识别失败。当照相机远离特征图时,该实际值会变小,识别率变低;当照相机靠近特征图时,该实际值会变大,识别率变高。

为了能方便、有效地进行虚拟铣床AR 演示和学习,开发了基于移动端(通常为安卓操作系统)的虚拟铣床增强现实APP。按照图4 所示铣床加工AR 系统的操作流程,需先通过扫描二维码下载APP 打包文件和特征图,文件格式为 apk;APP 安装完成后即可进行特征图的识别,识别不同的特征图即可显示不同的内容。显示的内容主要包括铣床的基本结构、工作原理、切削加工3 部分。APP 不需借助其他设备,仅利用手机或者平板电脑即可进行操作学习。实践教学表明:融入虚拟铣床APP 的虚实结合的工程实践课程能够加深学生对铣削加工的理解和认识。

图4 移动端AR 操作流程

4 总结与展望

本文以铣床加工为例探究了机械加工的虚拟仿真实践教学方法,将裸眼立体显示技术与zSpace 虚拟现实开发相结合进行跨屏显示,初步形成虚实结合的教学体系。作为本研究的后续研究,将以单体设备的虚拟仿真为基础,开发制造系统的虚拟化实践教学平台,特别要研究智能制造系统与虚拟现实技术的融合以及制造系统虚拟化的一般方法。

猜你喜欢

铣床碰撞检测立体
风力发电机刹车盘修复铣床技术
全新预测碰撞检测系统
念个立体咒
基于BIM的铁路信号室外设备布置与碰撞检测方法
立体登陆
三坐标数控龙门铣床自动换头关键技术研究
Pop—Up Books立体书来了
五轴联动三主轴大型数控龙门铣床再制造技术探索与应用
空间遥操作预测仿真快速图形碰撞检测算法
BIM技术下的某办公楼项目管线碰撞检测