虚拟检测维修系统的设计与实现*
2016-12-09刘明王崴瞿珏白柯萌
刘明,王崴,2,瞿珏★,白柯萌
(1.空军工程大学防空反导学院,西安710051;2.西安交通大学机械制造系统工程国家重点实验室,西安710049)
虚拟检测维修系统的设计与实现*
刘明1,王崴1,2,瞿珏1★,白柯萌1
(1.空军工程大学防空反导学院,西安710051;2.西安交通大学机械制造系统工程国家重点实验室,西安710049)
结合实际装备维修工作的需求,开发了一套基于虚拟现实技术的具有一定通用性的虚拟维修训练系统。系统由界面层、应用层、对象层和技术支持层组成,运用OSG渲染创建逼真的场景,基于均匀网格和OBB树的混合碰撞检测算法解决碰撞问题,通过协同网络通信实现多人协作维修/检测操作。通过对某型装备手控台的虚拟维修训练系统的构建,证明系统能够快速开发相应的虚拟训练系统。训练过程中操作与场景变化实时同步,结果表明该系统能够有效提高操作人员的维修维护能力。
虚拟维修,场景渲染,混合碰撞检测,协同网络通信
0 引言
虚拟现实是指将计算机技术以及诸多硬件交融而发展起来的计算机领域高新技术,用户通过多种传感器设备与虚拟环境进行自然交互,使操作者具有身临其境之感[1]。虚拟维修是虚拟现实技术的衍生技术,其宗旨是基于虚拟现实技术在计算机上模拟装备的维修过程,使维修人员能快速地掌握设备维修知识、设备维修原理以及设备维修过程。
虽然虚拟维修的维修过程及维修方法是通过计算机虚拟完成的,但确实能够提升维修人员的维修技能,达到与真实环境相同的训练效果。1993年NASN利用虚拟维修技术成功对哈勃望远镜进行了维修,证明了虚拟维修的有效性。将虚拟维修技术应用于武器装备的维修培训和教学过程中,可以很好解决装备维修维护过程中存在的耗时、场地限制、维修费用昂贵等问题。尤其是针对复杂、危险的装备维修任务时,利用虚拟维修系统模拟真实维修场景,降低真实维修过程中的危险性。国内外在武器装备的虚拟维修方面进行了大量的研究。军械工程学院[2]进行了无人机虚拟维修训练系统的开发。南京航空航天大学[3]针对民机的虚拟维修训练、维修性分析、产品拆卸序列规划等进行了研究,取得了一定成果。装甲兵工程学院进行了坦克炮虚拟维修系统的研究[4]。此外,众多院校以及研究所对装备虚拟维修过程中的拆卸过程[5]、序列规划[6]、路径规划[7]等进行了研究。
本文构建了一套虚拟维修训练系统,可以根据维修需要进行不同装备的建模,设定操作流程,从而生成相应的虚拟维修系统。
1 虚拟维修系统的设计
1.1系统功能
虚拟检测维修系统主要用于设备的检测与维修训练培训,训练人员在使用本系统时,不仅要能够进行高仿真度的虚拟训练,提升人员的训练水平和配合能力,还要能够利用虚拟装备的三维几何模型、运动模型、装配模型等数据资料全面理解装备的机械系统原理和控制系统原理。因此,该系统应具备以下功能:
①训练功能:针对不同的检测/维修任务,均能建立完整的检测/维修训练过程,操作人员能够操作检测/维修工具进行相应的维修训练。②考核功能:针对不同的检测/维修任务,都能够建立完整的考核过程,操作人员能够实现对操作过程的考核。③警报功能:维修过程中,当维修人员出现错误操作,系统提醒受训人员此处操作产生严重错误,从而加深受训人员记忆,避免真实操作时发生同样事故。④评价功能:在检测维修任务的同时,能够记录并且评价相应的操作,最后生成操作文档。评价功能可对维修人员训练过程以及考核过程给出公平合理性评价,利于受训人员掌握学习状况。⑤帮助功能:针对不同的检测与维修的任务,在检测维修训练任务的同时,可以为操作人员提供进一步的指导。
1.2系统体系结构设计
为满足虚拟检测维修系统的功能需求,本文建立了该系统的体系结构,该体系结构分为4层,即界面层、应用层、对象层和支持层,如图1所示。
①界面层。界面是用户和系统交互的窗口,界面模块主要包括:主界面、对话框、提示框和属性页。通过界面模块可对系统各个功能进行管理,如三维装备模型的管理、虚拟维修工具的管理、考核成绩单查询、维修任务选取等等。
图1 武器装备虚拟维修系统体系结构
②应用层。应用层属于系统实现的核心,由环境渲染模块、人机交互模块、用户管理模块、维修任务管理模块、检测任务管理模块、网络通信和协同模块组成。系统运行过程中,各个模块实现相对独立的功能,依靠系统消息控制实现模块间的数据通信。本系统基于图形图像提供场景管理及渲染优化,OSG(Open Scene Graph)使用场景树结构管理三维世界。人机交互模块用来实现操作人员与虚拟系统设备的交联互通,设备需要对人员的交互命令实时响应与输出。用户管理模块则是构建用户注册、登陆的“门户”,同时输出用户的训练成绩。维修任务管理模块设计定义维修任务,制定相应的维修策略。检测任务管理模块主要实现检测功能,即对拆卸的零件进行检测,确定故障位置,明确故障原因。网络通信模块实现了服务器端与客户端的信息传递,包括状态、命令和事件等。协同模块对发生冲突的信息并发控制,从而保证各客户端的会话交流。
③对象层。对象层是三维场景对用户操作的体现部分,包括三维场景控制模块、维修工具模块、检测工具模块、考核评价模块、故障分析模块、警报模块。三维场景控制模块实现的三维场景的构造、加载以及对三维场景的控制。维修工具模块和检测工具模块实现维修工具和检测工具的构造、加载以及控制。考核评价模块实现用户操作过程的记录与评价,并生成相应的报告文档。故障分析模块结合数据库,分析故障的原因。警报模块通过对用户误操作的响应,进一步纠正用户的操作。
④支持层。支持层是系统实现的物理层,包括硬件平台、操作系统、网络环境、数据库。
本系统按照实际维修情况制订维修任务。维修整个过程包括维修前准备、零件的拆卸、零件的检测与更换、零件的装配等等,总流程图如下页图2所示。
2 系统实现
2.1基于OSG的维修环境的创建
维修场景构建包括三维模型的显示与渲染、维修环境、维修工具等虚拟模型仿真。其中三维模型的显示与渲染是指将设备模型显示于虚拟场景中,虚拟设备模型为许多零部件组成的装配体,各零部件通过添加约束确定运动关系,即建立零部件之间的运动副。维修环境包括天空、训练场、草地、山丘等静态物体的仿真,因其结构简单,具体实现过程较为容易。维修工具为维修过程中需要采用的各工具,包括虚拟手、虚拟螺丝钉等。
图2 维修过程总流程
2.1.1样机建模
建立精细的零件模型是实现逼真的系统仿真过程的基础。本系统采用PROE进行三维模型的建立,进行格式的转化后导入系统,建立维修资源的数字样机。
2.1.2OSG渲染窗口搭建
OSG作为C++平台的应用程序接口(API),能够快速便捷地为使用者实现最核心的场景数据库的组织和管理、对场景图形的操作以及为外部数据库的导入提供接口等。通过对OSG开源库的开发研究,构建系统所需的环境场景,如图3所示。
图3 虚拟维修场景
2.2协同网络通信
在操作人员协同操作的过程中,往往会遇到信息的传递问题,如请求、监听、注册等。为实现人员操作与场景变化实时同步,系统必须高效、准确地传递这些信息。为此,系统采用C/S模式网络结构,即客户机与服务器结构,实现客户机与服务器任务的合理分配,加快客户端的响应速度。系统中C/S网络结构采用TCP/IP协议。该协议不依赖于计算机硬件以及操作系统,能够满足系统协同训练的通信需求。本系统利用Windows底层的Winsock类来实现TCP/IP协议。
网络通信结构图如图4所示。协同模式下,客户端软件通过循环线程函数接受消息,消除了消息传递过程中的冗余步骤,降低了网络延迟,提高了客户端处理消息的效率。实验表明,系统的网络延迟大约为100 ms左右,远小于人眼可分辨的最低值200 ms,保证了服务器和客户端之间的实时性。
图4 系统网络通信结构
2.3实时碰撞检测技术
作为虚拟维修的核心——碰撞检测技术,对维修环境的逼真程度、操作人员的操作体验有着至关重要的支撑作用。碰撞检测是基于现实生活中一个普遍存在的事实:两个实体对象不能共享相同的空间区域[8]。虚拟系统中主要包含两种碰撞:一是合法碰撞,主要是指拆卸工具、虚拟手等触碰到应该触碰的零部件,将要执行下一步操作;另一种是非法碰撞,主要是指操作零部件过程中触碰到不应该触碰的零部件或工具。在虚拟维修系统中碰撞检测是为了快速、准确地判断物体是否被拾取以及物体间是否存在碰撞现象。
大型设备往往结构紧凑、拆卸过程复杂,碰撞检测技术能检验装备虚拟维修过程中零件拆卸的可行性。同时,实现警报功能的核心也是碰撞检测技术,利用碰撞检测,判断出维修人员维修过程中的非法碰撞,出现非法碰撞时进行警报提醒。本系统采用基于均匀网格和OBB(Oriented Bounding Box)树的混合碰撞检测算法[9]。
2.3.1场景空间的划分
均匀网格法是空间网格法的一种,顾名思义,均匀网格法是指将场景空间分为均匀的立方体小空间。由空间关系可知,非相邻小空间之内的基本要素相距较远,不可能发生碰撞现象,据此剔除不必要的检测,提高碰撞检测的效率。
Matthias Teschner提出使用哈希函数来影射3D网格到一个哈希表,从而实现快速的隐式的空间分割[10]。为确定网格大小,通过式(1)求得网格的三边长d1,d2,d3。
其中,i=1,2,3,…,n为场景中物体数目,BjBmaxVi表示第j个物体根节点包围盒极大点的第i个坐标值,BjBminV表示第j个物体根节点包围盒极小点的第i个坐标值。
从而求出BjBmax和BjBmin所对应的空间网格(m1,m2,m3),(n1,n2,n3)。则第j个物体所占据网格就是(m1,m2,m3),(n1,n2,n3)之间的连续网格。
其中,i=1,2,3。
最后,映射3D网格到一个哈希表,得到(x,y,z)的哈希地址是:
2.3.2虚拟场景的更新
零部件位置变化过程中,所占据的空间网格也会不断变化,为保持检测的准确性,需要保证场景的实时更新。
零件位置更新时,需要获取零部件的相对位置和绝对位置,其中相对位置指的是该零部件在最近一层组件中的相对位置,而绝对位置指的是该零部件在整个产品级中的位置[11]。不考虑尺寸大小发生变化,位置改变包括旋转和平移,因此,需要读取相应的旋转矩阵X和一个平移矩阵P,表示为:
对于原始位置为(x,y,z)的坐标点,每隔一个固定间隔对其绝对位置进行刷新一次,经过旋转平移变换后坐标将变为(x',y',z',1)=(x,y,z,1)T。
2.3.3碰撞检测
初始化之后,首先进行场景的刷新,之后,映射物体的3D网格到哈希表中,然后,对比移动物体和静态物体的哈希表索引项,找出有冲突的项,从而找出来所有的重叠网格,然后在重叠网格的范围内进行精确的碰撞检测。初步检测完成后,通过遍历动态物体和静态物体的层次包围树来检测两者是否发生碰撞。流程图如图5所示。
图5 碰撞检测流程图
2.4评估与报告
在进行系统的拆卸与检测过程中,针对关键的维修作业。维修步骤、维修动作定制维修性分析报告。虚拟考核根据对操作过程的监控记录结果,对比标准的操作轨迹可输出当前用户的相应成绩单以及操作过程视频。并且可实现对操作过程的回放。通过虚拟考核功能,检验操作手训练效果,虚拟考核功能能够较公平地给出操作手完成一次任务的分数。根据考核视频,合理找出操作手薄弱环节,使操作手更快掌握操作技巧。
3 系统应用
系统以某型装备车辆为应用对象,对其手控台进行实例验证,该型手控台主要控制车辆的调平与液压支腿的启收。给定的维修检测任务是进行手控台的拆卸,手控台电路的检测,确定故障原因,进行故障件的更换,最后将配电系统重新安装好。
3.1虚拟场景构建
手控台在该装备车辆中占据空间较小,电子元器件的拆卸比较复杂,需要对电子元器件进行细致的建模。根据获得的手控台尺寸,在PROE中进行装备三维模型的建立,进行格式的转换后导入系统,如图6所示。
3.2进行检测维修过程
选定的任务为进行手控台的拆卸与检修工作,得到相应的操作流程图,如下页图7。按照提示的流程进行有次序的操作,如下页图8所示。
图6 场景的载入
图7 维修过程操作流程图
图8 手控台的拆卸过程
3.3检测电路板
利用虚拟万用表对拆卸好的电路板进行检测工作。首先将旋钮扭转至测量电阻开关,如第143页图9(a)所示。将万用表表笔分别测量两电路板电阻,万用表显式阻值为13.30 MΩ,因此,推测电路板不为断路,电路板不存在断路故障,不需要更换。
重新装配手控台,完成虚拟检测维修过程。
4 结论
根据现有武器装备维修培训的不足,本文设计并实现了一套虚拟维修系统。系统由界面层、应用
Design and Implementation of Virtual Maintenance and Detecting System
LIU Ming1,WANG Wei1,2,QU Jue1★,BAI Ke-meng1
(1.School of Air-Defense and Anti-Missile,Air Force Engineering University,Xi’an 710051,China;
2.State Key Laboratory for Manufacturing System Engineering,Xi’an Jiaotong University,Xi’an 710049,China)
This system uses OSG rendering to create lifelike scene,and solves the problem of collision by the hybrid collision detection method based on uniform network method and OBB algorithm,and realize people coordinated maintenance and detecting operation using cooperative network communication to.The virtual maintenance training of a certain kind of crane control platform proves the system can adapt to set up corresponding virtual maintenance training systems easily. Operation and scene changes are real-time and synchronization in the process of training.The result shows that the system can improve the maintenance ability of the operator effectively.
virtual maintenance,scene rendering,hybrid collision detection,cooperative network communication
TP391
A
1002-0640(2016)11-0134-05
2015-10-13
2015-11-17
国家自然科学基金资助项目(51405505)
刘明(1992-),男,湖北荆州人,硕士研究生。研究方向:虚拟现实及虚拟维修。
瞿珏(1985-),男,湖南汨罗人,硕士,讲师。研究方向:虚拟现实、诱导维修和人机工程。