APP下载

基于zSpace 的涡轮风扇发动机虚拟拆装系统

2022-04-20潘亚东

科学技术创新 2022年11期
关键词:风扇涡轮虚拟现实

陈 伟 李 磊 潘亚东

(1、中国民航大学航空工程学院,天津 300300 2、中国民航大学工程训练创新创业实践基地,天津 300300)

1 概述

航空发动机是飞机的心脏,是“工业皇冠上的明珠”。航空发动机的研制水平充分体现了一个国家的工业基础、经济实力和科技水平等综合国力,在民航领域,航空发动机的自主研发与制造是我国建设民航强国的重要举措。民用航空运输领域现在普遍采用涡轮风扇发动机,其研发周期长、技术难度大且结构异常复杂,同时由于涡扇发动机体形庞大,造价高昂,因此满足所有人观察研究真实涡扇发动机结构的需求极其困难。

虚拟现实(Virtual Reality)技术,是利用电脑模拟产生一个三维空间的虚拟环境,通过输出设备提供给使用者关于视觉、听觉、触觉等感官的模拟,通过各种输入设备与虚拟环境中的事物进行交互,让使用者如同身临其境一般,并能够及时、无限制地观察三维空间内的事物,近年来广泛应用于医学、教育、设计、影视娱乐等领域。因此采用虚拟现实技术搭建一个涡轮风扇发动机拆装系统,不仅能够清晰展示发动机的构造与系统,而且成本较低,具备良好的推广价值。本文以CFM56-7B 涡轮风扇发动机为对象,结合桌面虚拟现实系统zSspace 和实时3D 互动创作平台Unity 3D,开发一套涡轮风扇发动机虚拟拆装系统,实现发动机VR 模型拆装的人机交互以及相关理论知识学习。

2 系统设计

2.1 系统开发流程

系统开发整体流程设计如下:首先,收集涡扇发动机的信息,整理相关资料并完成发动机选型,利用SolidWorks 软件建立发动机三维模型,并将建好的三维模型导入3DS Max 软件中进行渲染和格式转换,导出为FBX 文件,然后导入Unity 3D 平台进行系统开发。其次,由于本系统开发使用zSpace 300 型一体机为硬件平台,需提前下载并安装zSpace SDK,并将zSpace 提供的zCore 和zView 两个插件包导入到Unity 3D 平台,为下一步开发做好准备。最后将开发出的系统在zSpace 平台上进行软件硬件匹配测试。开发具体流程如图1 所示。

图1 开发具体流程

2.2 系统结构框架

涡扇发动机虚拟拆装系统结构框架如图2 所示,包括三个模块,分别是账号管理、VR 模型交互和拓展与补充。账号管理首先是注册与登录界面,拥有账号的特定用户才可使用系统,既确保了系统安全,也避免重要信息泄露给无关人员。注册成功并登录后进入到系统目录(如图3 所示),用户根据自身需求选择相应板块进行体验。系统目录包含VR 模型交互和拓展与补充两大类,每个大类又下设三个小项。在VR 模型交互模块,用户使用6 自由度触控笔完成抓取、旋转、平移、缩放模型等交互操作,模拟人手与发动机的交互,全方位沉浸式观看发动机,同时发动机模型剖视可以展示更多信息,如发动机内部的转子和静子叶片、高低压转子轴、内外涵道气流通路等,在此过程中zSpace 保证了模型不失真、不变形,而且在增强现实模式下,发动机模型便“脱离”屏幕的束缚,与现实世界融为一体。

图2 系统结构框架

图3 系统目录

发动机部件拆卸、组装两个模块可以完成对发动机的整机拆装和对五大部件(风扇和进气道、压气机、燃烧室、涡轮和尾喷管)的拆装,更详细地了解发动机的组成与功用,了解发动机的构造与系统。拓展与补充板块则利用动画、视频和图片,较充分地还原发动机的工作过程、气流通路的形成、高低压转子及风扇间的传动关系等,另提供发动机相应的技术参数,达到对发动机工作过程进行动态展示,也可根据系统需求,补充相应内容,如发动机部件拆装视频等。

3 开发过程

3.1 建模优化与模型导入

首先需建立发动机模型,机型选用CFM56-7B 涡轮风扇发动机,因Unity3D 本身无法建立复杂的三维模型,因此采用SolidWorks 进行建模。在模型建立完成之后,为了使模型更真实需导入3DS Max 进行模型渲染,由于SolidWorks 不支持FBX 格式的导出,所以需先将三维模型导出为STL 格式,再通过3DS Max 自带的合并导入方式,依次将CFM56-7B 零部件模型导入3DS Max 中,同时用3DS Max 对模型各零部件的位置和角度进行调整优化以减少模型占用的系统内存。修改完成之后,将模型导出为FBX 格式并拖拽至Unity3D 中,建模如图4 所示。

图4 CFM56-3 发动机模型

模型在3DS Max 中导出为FBX 格式文件后可直接将文件拖拽至Unity 3D 的Assets 工程文件下,Unity 3D将自动读取模型。同时,为了方便管理及后续故障排查,在Assets 下创建文件夹将所有工程素材、代码程序、场景动画分别储存。在完成资源导入后,通过File 下的New Scene 创建新场景,将Assets 中Unity 3D 读取的模型文件直接拖拽至Scene 窗口下,通过界面Hierarchy 面板可查看管理已添加至场景中的模型。

3.2 基于zSpace 的Unity 3D 开发

3.2.1 zSpace 资源包的使用

完成系统开发首先需要导入zSpace 提供的插件包。实现增强现实效果需要借助zView 插件包,但同时标准zCore 组件必须出现在Unity 3D 场景中,zView 才能正常工作,所以需要先导入zCore 组件并完成相应配置。本系统选用的是zCore 6.0 版本,目前与该版本兼容的Unity 3D 版本包括2018.x 的所有版本和2019.x 版本,为了成功构建在zSpace 上以立体呈现的独立可执行文件,必须配置Unity 3D 中的相关选项,主要是对Project Settings中的Player 选项进行相关调试以实现立体效果。另外,还需对Unity 3D 进行基础的场景配置,进行角度、显示比例等的调整以适配zSpace 的显示大小。然后将Assets/zSpace/zView 文件夹中的zView 添加到场景中,加上相应脚本才能够实现增强现实效果。

3.2.2 模型交互与增强现实

zSpace 运用六自由度的触笔代替人手与虚拟世界的模型进行交互,模拟人手抓取、移动和旋转物体的过程,另外本系统还添加了模型缩放和模型爆炸两种交互方式,避免由于zSpace 屏幕大小的限制而无法完整浏览发动机的情况发生,同时模型爆炸能更清楚地观看发动机各个部件。

3.2.2.1 实现用触控笔抓取对象,首先需利用函数构造虚拟光线然后确定光线相交的对象。通过射线与待拾取物体包围盒碰撞检测的方式来确定抓取时机,运用Unity 3D 软件提供的Raycast(检测是否碰撞)和zCore 资源包提供的GetTargetPose(获取射线发射位置、方向)实现,模型实际抓取效果如图5 所示。

图5 实际抓取效果

3.2.2.2 模型零部件的平移和旋转通过Unity 中的插件iTween 动画库来实现,部分代码如下:

iTween.MoveBy (gameObject,iTween.Hash (“y”,5,“easeType”,“easeInOutExpo”,“loopType”,“none”,“delay”,5)

3.2.2.3 涡轮风扇发动机整体模型的旋转缩放功能通过射线函数Lerp 函数实现,函数调用语句如下:

Ray=Camera.main.ScreenPointToRay(Input.mousePosition);transform.rotation =Quaternion.Lerp (transform.rotation,mRotation,Time.deltaTime*Damping).

3.2.2.4 利用Unity 3D 的动画系统实现涡轮风扇发动机重要零部件的爆炸动画,在程序中运用anima.SetBool(“anima-name”,true)实现对动画的播放控制,进而实现模型的爆炸效果。

3.2.2.5 依靠zView 资源包和外接摄像头,实现增强现实效果。并利用GetCurrentActiveConnection()函数(获取当前链接)、ConnectToDefaultViewer()函数(连接到显示软件)、SetConnectionMode()函数(设置连接模式)使模型“挣脱”屏幕的束缚,与现实世界融为一体,沉浸式360 度观察发动机模型。

4 结论

基于zSpace 桌面虚拟现实系统、Unity3D 虚拟现实引擎开发的涡轮风扇发动机虚拟仿真系统,该系统发挥了zSpace 的良好交互性、高保真度以及增强现实等特征优势,极大地提高了虚拟仿真的交互性与沉浸感,使整套系统硬件设备更轻便,并且较好完成了对涡轮风扇发动机结构、工作过程的虚拟仿真。实践表明,该虚拟仿真系统在实践方面取得较好效果,可为虚拟仿真技术在航空发动机领域的应用提供可资借鉴的经验。

猜你喜欢

风扇涡轮虚拟现实
AirFan手持小风扇
虚拟现实技术在中学校园中的应用
2014款宝马525Li涡轮增压压力过低
电风扇
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
新蒙迪欧车冷却风扇常高速运转
涡轮增压发动机与双离合变速器的使用
奇瑞A5车散热风扇无低速挡
Opel公司新型1.0L涡轮增压直接喷射汽油机