基于VR技术的设备拆装系统设计

2012-09-18 01:42李依桐
吉林大学学报(信息科学版) 2012年1期
关键词:实训用户设备

胡 畔,姜 睐,李依桐

(1.东北电力大学 输变电技术学院,吉林 吉林132012;2.北京邮电大学 计算机学院,北京 100876)

0 引 言

由于机电产品价格昂贵、设计精密,对实物的设备拆装实训不易开展。传统的设备拆装实训教学一般是通过指导教师在图纸、模型上的原理讲解与实物演示相配合完成,其缺点是实训互动性不强,受训者缺乏参与体验和主动探索的积极性,而且拆装过程中的某些重要细节不易展示,实训活动存在一定的局限[1],效果不理想。

基于虚拟现实技术(VR:Virtual Reality)的设备拆装实训系统可在虚拟环境中对设备拆装过程进行演示和虚拟操作,从而帮助受训人员掌握设备构造、拆装规程等方面的知识,为实物拆装实训提供必要的补充和准备,并辅助相关理论知识的理解和实践技能的形成,提高学习兴趣与动力,为培养空间思维能力、实践动手能力、创新能力和工程意识提供帮助。

在虚拟设备拆装系统环境中,可以使用各类交互设备(如:数据手套、位置跟踪器和力反馈操作设备等)模拟真实环境中对设备零部件的各类拆装操作[2]。系统提供实时的碰撞检测、装配约束处理、装配路径指示等功能规范操作过程,受训者可以随时停止拆装活动,通过可视化的装配过程对设备部件进行多角度、近距离观察,并参加零部件拆装序列验证和规划等;拆装结束后,系统记录拆装过程的所有信息,并生成评审报告、视频录像等,进而验证拆装操作的正确与否,以便发现在拆装过程中存在的问题,及时进行修改,从而避免实物拆装实训中对设备造成不可挽回的损坏。

基于VR的设备拆装系统是VR技术在工程设计和教育培训领域的重要应用。针对不同目标,国内外已经提出了多个开发模式与方法(如VRML&Java、VC++&OpenGL、LabVIEW&MAQvision等软件解决方案),但该领域尚没有公认的能全面适合各种条件的开发方案。笔者结合实训具体情况,提出了一种“模型文件+开发包”的开发思路和方法,据此设计构建了具有高效率、高质量、低成本的VR设备拆装实训系统。

1 系统开发方案

在基于VR技术的设备拆装系统设计中,设计与实训工程环境一致的、可交互的虚拟场景信息是整个系统实现的基础。系统开发的组织者根据实训大纲对具体项目的目标要求,编写实训活动的虚拟场景剧本,说明该项实训活动的目标、设备情况、零部件组成信息和拆装规则等情况;对设备进行分解,析出的零件模型设计任务交由模型设计人员完成。虚拟环境由大量的与实物对应的虚拟零件组成,有多种软件(如3DMAX、AutoCAD、MAYA等)可用于构造这些静态模型,完整的静态模型包括零件3D模型、纹理贴图、渲染路径[3,4]、生成日期等基本信息以及零件的质量、材质、规格及功能说明等高级信息。

虚拟场景是在计算机环境中对现实拆装环境的模拟再现,是基于VR技术的设备拆装系统设计的核心。虚拟设备及零件的三维模型根据用户输入的拆装操作指令进行动态变化(如:移动、旋转、放缩等),进而实现具体拆装的组合、分解和碰撞[5]等效果。传统的VR系统的开发通常使用编程语言(如:VC)调用底层图形接口(如:OpenGL)读取静态模型的方式构造虚拟场景,再使用编程语言对内部基本对象和交互控制操作进行描述实现,这种方式的设计过程对开发人员要求较高,且开发的虚拟拆装系统功能单一,不易维护,系统的灵活性、可移植性和交互性较差。设计则直接使用编程语言(VC)内嵌TrueVision3D(简称TV3D)引擎的解决方案实现系统的设计。TV3D是个优秀的3D开发引擎,具有开源、简洁、开发高效等特点,直接使用VC的语法调用TV3D中的API即可实现虚拟场景的开发。此方案仅使用通用的编程语法就可以简单、高效地完成三维虚拟场景的生成和渲染、模型的动态增删、物体的碰撞检测、场景的实时渲染和交互控制等功能。

2 系统架构设计

设计良好的系统架构对于保障开发质量、降低开发成本和达成软件设计目标要求至关重要,系统总体设计结构如图1所示。交互控制系统负责接收用户提出的操作请求,转为交互指令提交给场景调度系统,场景调度根据系统后备拆装信息资源提供的数据验证该指令,并将具体的动作要求提交给装配场景,该部分是整个系统的核心部分,其将零件模型按装配关系进行计算机再现,并根据场景调度的要求模拟拆装过程。

图1 系统结构框图Fig.1Block diagram of system

3 虚拟现实设备拆装系统的实现

3.1 模型的建立

为了更好地体现键连接、螺纹连接、销连接和带传动机构等典型连接的拆装工艺,系统以粉碎机为例分析了系统的设计过程。粉碎机在结构上由轴承台、定刀台、筛片和筛架等组成,其特征在于轴承台和定刀台铸在下机壳轴预留孔外侧的同一平面上,筛架在下机壳内经螺丝固定形成阶梯形,为椭圆形模型。使用3DMAX软件设计设备零件模型,导出为.3ds格式文件后,将相关信息添加到数据库系统中,为加载模型文件到虚拟环境提供支持。模型生成须按系统所要求的标准化规格统一设计,一个模型可以在一个场景中或系统中的多个场景中反复使用,从而减少了重复性建模工作,对提高系统的开发效率尤为重要。

根据场景剧本的要求,对各零件模型分别赋予旋转、移动、放缩、对齐和复合等操作,据此生成相应的拆装操作的动作信息并将其添加到系统数据库中,为场景调度活动提供支持。

3.2 数据库组织

系统管理员负责对系统运行的后备资源数据库进行维护和管理。包括多种文件类型的后备资料,如模型库中存储包括3D素材对象的模型、材质、纹理和贴图等;场景资料库存放多个备用场景的构成元素的描述信息;装配内容资料库则以文字、图片、声音和动画等多种形式存放供系统引用的设备元件、装配资料等。

为了更加便捷地访问和处理模型、纹理、材质等内容,数据库组织如表1所示。

表1 数据表的组织Tab.1The table of the organization of the data in database

另外系统为不同用户分别实现增、删、改、查询等操作权限,以满足各类资源的修改和更新要求。对场景中的固定实体(如构成一个设备的必要实体元件),只允许管理员对其进行增、删、改操作。普通用户仅可以对学习场景中实体的纹理、材质、位置和角度进行改变。在用户参与装配的训练方式中允许用户增加元件,但有数目的限制。

3.3 核心场景的建立

针对具体拆装任务,考虑实际拆装过程中可能遇到的情况设计出符合实际操作要求的VR设备拆装系统的核心场景是首要任务。包括地形的建立、场景中设备模型的加载等[6]。

建立符合装配内容要求的地形是提升虚拟场景真实效果的重要部分。系统设计采用数字高程模型(DEM:Digital Elevation Model)描述地形结构,从事先准备好的数据库中进行高程图文件和地面纹理文件的读取,并直接使用TV3D中的TVLandscape类(见图2)实现地貌效果。高程信息根据具体的目标场景要求设计,使用基于灰度图像的DEM生成方法实现地面模型的生成。

场景中的模型包括电动机(三角带、连接螺栓、带轮及连接键)、上盖(连接销、螺栓及壳体、挡板、牙板)等,通过TVMesh和TVScene类(见图3)对存放在后备资源数据库中模型的ID和几何参数等信息进行读取,在获取了用户的交互信息或有新的元件加载要求触发时,根据控制参数对场景中相应区域调用对应的模型。在某些场景中,需要描述模型的动态变化,即行为效果(如设备运转时相关组件的动态变化,设备中各组件在不同装配状态的外观、位置的变化等),展示各元件在虚拟环境中的位置、大小、状态(纹理、材质、灯光、摄像机、角色等)及关系的变化情况。引用TV3D的API在虚拟场景中直接封装并加载顶点和索引数据的Mesh对象,从而实现在系统中加载存储于.3ds文件中的模型数据。通过Mesh的属性、方法、事件实现对场景中的模型进行纹理、材质、色彩的变化控制,以及几何位置的移动、旋转、大小缩放等动态行为描述。对一些固定的行为效果在场景数据库中可以直接进行描述,再由场景初始化时直接加载其效果。另外一些复杂的行为描述(如螺纹/键/销/过盈连接、带传动等)则需要使用编程代码对其变化过程进行精确的说明。

图2 地形实现类Fig.2Class of TVLandscape

图3 加载模型类Fig.3Class of TVMesh and TVScene

3.4 系统的交互控制

交互控制在系统中主要负责精确地响应用户的交互行为,并产生对应行为的实时变化。通过视觉反馈设备(显示器、数据眼镜等)[7],操作者接收到场景中设备元件的实时变化,从而完成进一步的交互。系统的交互控制主要包括场景控制、用户进出控制、漫游控制、场景调度、操作效果控制和实时渲染。

良好的沉浸性是VR技术的重要特征之一,核心场景控制部分的主要功能是控制虚拟场景中设备整体的拆卸或各设备组件模型的装配过程的动态变化(如:设备拆装演示、人机交互的拆装实践、拆装效果的直观展示等),是用户所要体验的虚拟世界的关键部分[8]。在虚拟场景空间中,为了使浏览者方便地控制自己的观察位置和角度,整体把握实训内容,由TV3D对摄像机的运动过程进行全面控制,包括视点位置和视点方向的变换等。在系统中用户参与学习的过程采用追逐摄像机跟踪对象,从而更好地观察对象。

例如:初始状态下实验场景的视点设置:Cam.SetPosition 100,100,-200。在场景中向前移动时的视点设置:Scene.GetCamera.MoveRelative TV.AccurateTimeElapsed*0.2,0,0。

用户进出控制模块的设计包括用户登录、场景选择、学习模式选择、启动核心场景、用户离开时安全关闭系统等功能。

用户在虚拟场景中的漫游控制,涉及对用户漫游位置的检测,场景中人与实体间、实体与实体间的碰撞检测[9],设置交互节点实现与用户的实时交互等[10]。系统中碰撞检测的实现有两种方式:1)通过使用TVCollisionResult对象的IsCollision方法实现,直接可以检测到与其他实体之间是否发生表面的接触;2)通过使用三维图形碰撞检测包围盒,它可以包围整个模型,用于测试碰撞和精确的鼠标点击识别。根据不同需要,系统可使用的碰撞检测类型有:与角色的碰撞和与地面的碰撞、与Mesh的碰撞和与所有实体发生碰撞。

操作效果控制部分主要是对场景中的模型进行动态的纹理映射、材质设置和光照特效、并结合粒子系统等技术增强虚拟场景的真实感。

交互控制可以使操作者通过输入设备(键盘、鼠标和力矩球等)选择或输入信息,通过交互控制系统检测用户操作的各设备组件之间的关系是否正确,并作用于虚拟环境中的实体,产生实时的设备拆、装状态效果。另一方面要读取场景中的信息,渲染到屏幕上。实时渲染部分除了将场景中的实时变化反映到屏幕上以外,还应该能创造出非常逼真的、有说服力的虚拟环境。

在系统中交互操作的鼠标按键任务分配如表2所示。

表2 输入设备交互任务分配表Tab.2The allocation of input device interaction tasks

在系统的交互控制中,要为键盘和鼠标编写更新函数,根据按键状态和按键时鼠标的位置状态设置角色合适的位置值。图4为实现输入检测并控制视角变换的类及其方法。

图4 实现输入检测并控制视角变换的类及其方法Fig.4Class and method of input detection and view angle changing

VR设备拆装系统运行的效率至关重要,设计时要考虑在不影响系统表现的前提下,尽量使用优化策略实现开发。

4 结 语

将VR技术引入设备拆装实训中,改变了传统的实验室实训方式,突破了学习过程的时间和空间的限制,有助于辅助教学活动开展,提高实训效果。系统的开发融“理论、示范、训练、反馈”于一体,将“教、学、做”合而为一,能有效地培养使用者的技术综合应用能力。同时利用虚拟拆装代替实物拆装,可以解决实际拆装训练受到的设备成本、拆装场所、不易观察等条件限制的难题,对降低成本、提高效率具有重要的意义。笔者提出的系统总体设计方案和简捷易用的软件解决方案能对虚拟技术领域中的虚拟仪器[11,12]的研究和发展提供有益的参考。

[1]陈敏,刘晓秋,伍胜男.基于 VRML技术虚拟机械设计实验室的研究[J].机械设计,2007,24(2):68-70.

CHEN Min,LIU Xiao-qiu,WU Sheng-nan.Study of the Virtual Machine Design Laboratory Based on VRML Technology[J].Journal of Machine Design,2007,24(2):68-70.

[2]黄海,方宏根,姜力,等.基于虚拟弹簧的欠驱动手指的动力学建模和控制[J].吉林大学学报:工学版,2010,40(6):1688-1692.

HUANG Hai,FANG Hong-gen,JIANG Li,et al.Virtual Spring Based Dynamic Model and Control of Underactuated Hand[J].Journal of Jilin University:Engineering and Technology Edition,2010,40(6):1688-1692.

[3]汪伟,范秀敏,武殿梁.虚拟现实应用中的并行渲染技术[J].计算机工程,2009,35(3):282-285.

WANG Wei,FAN Xiu-min,WU Dian-liang.Parallel Rendering Technology in Virtual Reality Applications[J].Computer Engineering,2009,35(3):282-285.

[4]GAO Xin,HU Huan,JIA Qing-xuan,et al.3DAugmented Reality Teleoperated Robot System Based on Dual Vision[J].The Journal of China Universities of Posts and Telecommunications,2011,18(1):105-112.

[5]丛佩超,孙兆伟.双臂式空间机械臂捕捉目标的碰撞问题研究[J].四川大学学报:工程科学版,2010(4):234-241.

CONG Pei-chao,SUN Zhao-wei.Research of Impact Issues During Dual-Arm Space Manipulator Capturing Object[J].Journal of Sichuan University:Engineering Science Edition,2010(4):234-241.

[6]李惠,卢奕南,齐阿荣.基于VRML的大规模虚拟场景的实时载入方法[J].吉林大学学报:信息科学版,2010,28(1):84-88.

LI Hui,LU Yi-nan,QI A-rong.Real-Time Loading Method of Virtual Environment Based on VRML[J].Journal of Jilin University:Information Science Edition,2010,28(1):84-88.

[7]LIU Hong,MEUSEL P,SEITZ N,et al.The Modular Multisensory DLR-HIT-Hand[J].Mechanism and Machine Theory,2007,42(5):612-625.

[8]王念东,刘毅,李文正.面向虚拟装配的VR与CAD系统信息集成技术机械科学与技术[J].机械科学与技术,2009(1):25-30.

WANG Nian-dong,LIU Yi,LI Wen-zheng.Information Integration Technology between Virtual Reality and CAD for Virtual Assembly[J].Mechanical Science and Technology for Aerospace Engineering,2009(1):25-30.

[9]孙晓光,王明强.碰撞检测中的层次包围盒算法研究[J].现代制造工程,2009(4):87-91.

SUN Xiao-guang,WANG Ming-qiang.Research on Collision Detection Algorithm Based on Bounding Box[J].Modern Manufacturing Engineering,2009(4):87-91.

[10]孟庆南,王晓春,张洪武.一种用于动态光散射测量的虚拟数字相关仪[J].吉林大学学报:理学版,2007,45(4):638-641.

MENG Qing-nan,WANG Xiao-chun,ZHANG Hong-wu.A Virtual Digital Correlator for the Measurement of Dynamic Light Scattering[J].Journal of Jilin University:Science Edition,2007,45(4):638-641.

[11]ZHANG Ming,FENG Yuan.The Study on Remote Virtual Measurement Technology Based on Wireless Sensor Networks[C]∥2010International Conference on Multimedia Technology.[S.l.]:ICMT,2010:1-4.

[12]ZHANG Mian,ZHANG Li.Remote Virtual Instrument System[C]∥Proceeding 2010 3rd IEEE International Conference on Computer Science and Information Technology.[S.l.]:ICCSIT,2010:541-543.

猜你喜欢
实训用户设备
谐响应分析在设备减振中的应用
基于CDIO理念的数控实训教学改革与实践
基于MPU6050简单控制设备
电工电子实训教学改革与创新
关注用户
关注用户
关注用户
500kV输变电设备运行维护探讨
微课在数控实训课中的应用探析
如何获取一亿海外用户