APP下载

基于VR技术复杂测试系统工艺布置虚拟化技术

2020-06-16吴传贵郑永龙朱维玮李金猛

计算机技术与发展 2020年6期
关键词:布置动画模块

吴传贵,郑永龙,朱维玮,张 伟,李金猛

(安徽省航空设备测控与逆向工程实验室,安徽 芜湖 241007)

0 引 言

在复杂测试系统搭建过程中,存在系统组成和被测产品复杂、尺寸各异和电缆较多,及拟定建址区域空间有限、周围复杂、受限较多等问题,给系统搭建选址分析和工艺布置设计带来了一些困难,仅仅通过平面设计图纸方式难以满足分析论证要求,因此,必须采用新技术新方法,提高测试系统搭建工艺布置的有效性和科学性,促进系统搭建的顺利实施。文中所讨论的基于VR(virtual reality)虚拟现实技术的测试系统工艺布置设计方法,是基于VR技术,以被测产品和系统组成为研究对象,结合拟选建址和条件为约束,以3D显示和头盔演示为目标,重点围绕系统介绍、虚拟布置和仿真调试进行分析研究和设计,以实现VR技术在测试系统搭建选址和工艺布置设计演示系统的应用。

VR技术已有大量应用研究[1-10],文中系统采用VR技术的设计重点:一是利用CATIA、3Dmax软件设计被测产品和系统组成的三维数模;二是利用PostEngineer软件(PE平台)设计实现仿真场景和演示功能。

1 VR技术简介

虚拟不虚,未来已来[11]。随着第一届全球虚拟现实大会成功举办,VR/AR/MR技术再次快速进入大家的视野。VR技术就是虚拟现实,是利用计算机模拟产生三维虚拟世界,为使用者提供视觉听觉触觉等感官的模拟,让使用者能够全方位地体验到不同虚拟场景,真正体验到身临其境的观感,可以高效及时、毫无限制地观察三维空间内的任何事物。AR(augmented reality)技术就是增强现实,有真有假、真假结合,是通过计算机技术将虚拟的信息应用到真实世界,使真实环境和虚拟物体同时存在、实时地叠加到同一个画面或空间中。MR(mediated reality)技术就是混合现实,AR的增强版,包括增强现实和增强虚拟[12]。

VR具备沉浸性、交互性、构想性、动作性和自主性等5个特性。VR涉及的关键技术有三维计算机图形学技术、多功能传感器的交互式接口技术、高清晰度显示技术和平台交互开发技术。应用领域有工业仿真、娱乐、军事航天、室内设计、应急推演、医学、教学培训、体育和其他,可以实现科技上的合理性和追求艺术性与视觉效果[13]的统一。

2 系统功能及组成

测试系统工艺布置演示系统组成及功能如图1所示。

图1 系统组成及功能

测试系统工艺布置演示系统是复杂测试系统的一个集成显示演示系统,主要包括由主菜单和按钮组成的主模块和由系统介绍、虚拟布置和仿真调试等组成的功能子模块。其中,系统介绍利用显示视口,外加文字、音频等元素,多角度对系统各组成进行介绍;仿真布置是根据厂房场地及周边设施情况,模拟系统各设备的工艺布置;虚拟调试是在完成测试系统工艺布置的基础上,虚拟仿真被测产品的移动、安装和放置过程。系统开发软件PostEngineer(PE平台)是一套专注于开发三维交互式可视化系统的,三维模型创建软件是CATIA和3Dmax,其他还有文字、图片和音频处理软件等。

3 虚拟场景的实现

3.1 系统需求分析

针对测试系统组成,分别对综合仿真与测试、激励器和模拟器、专用仿真器、通用与辅助四部分进行梳理,形成各部分组成、安装形式及位置。确定了测试系统组成及放置原则:一是所有的计算机放置在2台1.6 m机柜内;二是所有显示器放置在2组控制台上集中显示;三是共有8台各类激励器等采用标准机柜的设备;四是划分地面区域放置非标环境设备;五是单独划分地面区域放置电源与液冷设备。

被测产品放置主要集中在三类:一是所有的人机接口产品全部在模拟舱内;二是需要10台双层工作台,放置一般尺寸和重要的产品,大的重的放置在工作台一层,小的轻的产品放置在二层;三是大型重量的被测产品直接放置在地面专用台架上。

3.2 场景仿真物体建模

演示系统中需要各种仿真物体模型,它们的创建直接影响到使用者的视觉效果和真实体验,主要有厂房及已有设施、系统组成、被测产品等。厂房有墙体、玻璃、地面地板等;场景中已有设施是传动试验系统,主要有通道、支座架、系统电脑控制组件、资源机柜组件、液压及机箱、屏幕组件和机翼地板组件等;测试系统组成主要有计算机及显示器、综合显示屏幕、琴式控制台及座椅、1.6 m机柜、双层工作台、台架、各种专用模拟器、液冷设备、交直流稳压电源、产品中转货架和推车等;被测产品主要由产品一、产品二、产品三、产品四、产品五等25件模型。

3.3 多媒体素材制作

为达到较好的显示和演示效果,增加逼真感,系统设计过程中需要进行多媒体素材制作,主要有图片,文字和音频等,图片涉及主菜单和功能按钮、背板、贴图等内容,用于人机交互控制操作;文字和音频主要是用于系统介绍模块,主要有综合显示屏幕、综合控制台、模拟舱、产品一、产品二、产品三、产品四、产品五、电源及液冷设备等9个组件的说明内容,实现打印文字时能够同时播放对应的音频。

3.4 虚拟场景模型实现

演示系统的模型的实现及编辑主要是在PE平台上完成,因为PE平台支持的模型格式是.vis格式,目前支持的图形软件只有PRO/E 3.0、Solidworks、3Dmax2009模型导出,而场景仿真实体建模是用CATIA设计开发的,所以首先把这些模型通过.stp中间格式转换进行导入3Dmax转换为.vis格式。

4 系统软件设计

4.1 主流程图

演示系统的主流程如图2所示。程序运行后,首先,加载基础的虚拟场景模型,并且进入项目主模块显示主视图;其次,根据演示要求,选择头盔输出或3D显示输出方式,并进入对应的输出模式,3D显示和头盔输出模式的控制分别通过按钮和控制点实现;再次,点击主菜单控件,显示子模块功能控制控件,选择系统介绍、虚拟布置和仿真调试控制件,进入并初始化对应的子模块;再次,通过功能控件,对各子模块功能进行开始、暂停、继续和终止控制,执行不同的动作;最后,当完成演示后,退出结束程序。

图2 主流程

4.2 功能模块设计

功能模块设计主要是对系统介绍、虚拟布置和仿真调试三个模块的设计,根据模块名称分别创建不同的三维虚拟场景、提供功能菜单控制按钮、自动播放等功能,其包含的元素主要有按钮、动画和变量。具体功能和元素详见表1。

表1 功能模块的功能及元素

5 人机交互设计实现

5.1 模型导入平台并编辑变换

载入模型后,可以通过平台对模型进行简单编辑:

(1)模型节点修改,如名称、路径的修改新建等,修改后,便于后期交互设计。

(2)模型材质处理贴图处理,为了使模型更加真实地接近真实的物体。

(3)调节模型的透明度、显示及隐藏,透明度的取值范围为(0,1),其中,0和1分别表示完全透明和不透明,通过选中物体或节点,选择显示或隐藏。

(4)对模型的大小进行缩放及位置调整,通常情况下,CATIA的采用单位是mm,而PE平台采用单位为m,为此,模型导入平台后,其大小需要缩小1 000倍,一般情况下,缩放时按坐标系x、y、z的三个方向同步调整,通过移动和旋转物体或节点实现模型位置的调整。

5.2 动画设计

PE平台提供帧动画、管道动画和组合动画等设计。帧动画完成移动平面对象、移动实体、旋转实体和缩放实体等动作;管道动画模拟一些接线、油路、电路走向功能;组合动画是通过平台的动画功能进行组合,将设计的帧动画及动作事件按照时间轴的形式组合起来。该系统设计过程中,只涉及到了帧动画和组合动画。现以仿真调试子模块为例,共包括有被测产品一至五移动安装等5个基本组合动画,将5个基本组合动画再次组合形成了自动播放仿真调试子模块的总动画,各基本组合动画都是由帧动画组合而成,如被测产品一移动安装动画包括有:推车移动、产品移动安装、推车及产品移动、推车及产品旋转、产品移动放置等帧动画。

5.3 界面对象设计

界面对象主要有图片、文字和声音等。其中,声音是以动画形式创建,图片和文字是通过添加界面对象方式创建。系统介绍子模块中,充分应用了图片、文字和声音等界面对象。图片有系统介绍背景和文本显示背景;打印文本的同时同步播放音频,文字和声音的内容相同,主要有综合显示屏幕、综合控制台、模拟座舱、被测产品一、被测产品二、被测产品三、被测产品四、被测产品五、电源及液冷设备测试区说明内容。

5.4 交互控制设计

平台提供了控制点、按钮、触发器、区域、键盘响应和旋钮等。其中,控制点是指当用鼠标点击某个物体时,用动画来表达产生的反馈。按钮类似于控制点,指鼠标点击平面按钮而产生的反馈,但是在头盔输出模式下,按钮的功能需要通过控制点来实现。触发器可以定义一个事件,当系统满足触发器设置条件时,自动执行相应的动画。本系统主要通过控制点、按钮和触发器实现交互控制,如在主模块中,通过按钮实现主菜单和功能菜单的控制交互;在系统介绍子模块中,通过控制点实现系统各组成的介绍控制;在仿真调试子模块中,通过控制点和触发器实现物体闪烁的停止。

5.5 程序控制设计

变量和函数程序编辑也是平台控制功能,变量用于记录交互过程中产生的数据变化,用于不同事件发生的逻辑控制;函数有系统库和自定义功能函数,系统库函数包括模型操作、数据库、网络通信以及其他函数。本系统中主模块定义有modeid变量,用于记录各模块之间的交互;在系统介绍子模块中,定义有close_type和control_id变量,用于打开/关闭介绍视口的控制。函数在设计过程中有大量的应用,特别是通过函数实现的3D显示和头盔输出功能,调用outputDisplay("3D")函数实现3D显示。

5.6 人机交互实现

运行测试系统工艺布置演示系统后,操作者可以通过菜单按钮实现各子模块的选择,实现自动或交互操作。如图3所示,系统介绍子模块中播放介绍综合控制台,通过文本、音频和动画,在新的视口中对其进行说明。

图3 系统介绍视口运行图

6 核心关键技术

6.1 基于软件框架设计技术

6.1.1 软件框架设计基本理解

软件框架是用户集成构件的架构,抽象描述应用系统中所有构件的接口关系及结合规则,可以从多个不同角度来理解:

(1)从构件角度,软件框架是整个或部分系统的可重用设计,是应用系统的骨架,由一组抽象构件及构件实例相互作用而成。

(2)从程序设计角度,软件框架主要是应用程序的框架定义,实现提供标准用户定义模块放置功能。

(3)从领域应用角度,软件框架是完成业务需求的功能集合的一个概念模型,具有根据用户需要快速实现相关参数修改而得到一个新的应用系统的能力。

软件框架设计可以为大规模开发提供基础和规范,其设计过程可以将一些公共部分抽象提取,形成公共类和工具类,从而达到应用的目的,缩短项目开发周期,降低开发和维护成本,同时,可以使开发人员更多地关注与业务逻辑相关的实现设计上,减少很多不必要的工作量,提高开发效率,总体上提高开发质量,实现多方互赢。

6.1.2 软件框架设计原则

软件框架设计遵循的原则主要有:

(1)满足功能需求和非功能需求的原则,软件框架是应用系统的骨架,必须遵循软件系统满足功能和非功能的基本设计原则。

(2)实用性原则,软件系统是针对用户需求而开发的,必须从实用出发,不能为了框架而设计框架,不要发生“高来高去”或“过度设计”的情况。

(3)满足重用的要求,这是软件框架设计的出发点,要最大程度提高开发效率和质量水平。

6.1.3 软件框架搭建

软件框架设计搭建主要包括需求分析、概要设计、软件结构设计、用户接口设计、软件结构搭建、具体功能实现和整合与调整。其中,对于软件结构搭建而言,重点工作是进行平面元素定义、功能布局、功能菜单切换跳转设计、模块分类组号设计、特殊功能及通用功能实现等。

6.2 基于XML格式的流程设计技术

6.2.1 XML格式基本形式

流程文件采用XML格式进行管理控制,以“workshop”关键字开始,包含多个流程“process”,“process”又由多个步骤“step”组成,基本形式如下:

< workshop...>

< process...>

< step.../>

< step.../>

...

< process...>

< step.../>

< step.../>

...

6.2.2 关键字说明

由于篇幅关系,现主要对“workshop”、“process”和步骤关键字进行简要说明。

关键字“workshop”包含两个属性“version”和“database”,“version”代表版本号,“database”指定了动作数据库的连接字符串。

关键字“process”包含“name”、“start”、“continuous”和“active”等四个属性,“name”为流程命名,若省略则由系统自动命名;“start”指定流程执行的相对起始时间,可省略,默认为“0”;“continuous”指定流程是否循环执行,“true”表示循环,“false”表示不循环,可省略,默认为“false”;“active”指示流程是否处于活动状态,“true”表示处于活动状态,“false”表示不处于活动状态,可省略,默认为“true”,此时流程会自动运行,否则流程不能自动运行,但可以当作子流程被调用。

步骤关键字必须内嵌于“process”中,其中有多种类型:如动作“step”、动画“animation”、程序“program”、判断“judgement”、空闲“idle”、挂起“untill”以及子流程“sub”。所有步骤类型都有如下的共同属性:步骤编号“id”,不能省略,必须唯一;前一步骤编号“prev”,表明前后步骤的串联关系,可省略,默认将上一个定义的步骤当作前一步骤,但是如果当前步骤是第一个定义的,则没有上一个步骤;相对于前一步骤的等待时间“waiting”,即表示当前一步骤结束后,等待多长时间当前步骤才开始执行,可省略,默认为“0”(即上一步骤执行完成后,立即执行当前步骤),该属性可以为负值,其表示为前一步骤结束前还剩余多长时间时就可以提前启动当前步骤,但是这个提前量不能早于上一步骤的启动时间。

7 结束语

测试系统工艺布置演示系统发布后,通过3D显示为决策建设选址和设计工艺布置提供直观的图像参考依据;通过头盔演示,使系统建设相关人员能够身临其境地体验VR场景,感受系统组成介绍的真实性、产品移动安装的空间合理性,可以提前发现问题和不足,不断及时完善,有效地节省时间和成本,提高了工艺布置的有效性和科学性。通过演示系统使工艺布置设计达到更好的效果,实现了科技合理性和艺术与视觉效果的统一,具有一定的借鉴和推广作用。

猜你喜欢

布置动画模块
Clifford hits the big screen
汽车线束布置设计要求
28通道收发处理模块设计
“选修3—3”模块的复习备考
我的动画梦
特别号都有了
必修模块相关知识过关训练
动画总动员
坦克的组成和总体布置