基于Vega Prime的虚拟维修可视化平台的开发与研究
2022-07-19祖以慧王昌昊
祖以慧,王昌昊,何 龙
(1成都航空职业技术学院 四川 成都 610100)
(2航空维修工程学院 四川 成都 610100)
0 引言
随着航空业的发展,为了保证飞行安全,对航空发动机维修的技术要求十分严格。航空发动机维修质量的高低直接决定了设备可靠性,而维修质量的高低取决于操作人员经验的积累和举一反三的实践,作为职业院校的学生更注重的是实践操作和动手能力,所以持续的练习和反复的操作是必不可少的,这就使得设备的数量和可用性要满足学生的学习需求,但设备造价昂贵往往限制了设备投入的数量,从而影响了操作人员维修能力的形成,虚拟维修技术应运而生。虚拟维修技术是虚拟现实技术的分支,虚拟维修技术的发展已经经历了虚拟环境下的认知学习、操作仿真训练等阶段,已有高校将故障诊断技术引入到虚拟维修训练系统中,机器通过不断学习以及现有的故障案例库进行故障分析和诊断,并将其存入案例库中。虚拟维修已成为维修技术的发展趋势之一。
现在国内对虚拟维修也有诸多研究,徐振国[1]开发了基于虚拟现实的起落架虚拟仿真研究,采用Unity3D建模导入虚拟现实平台,减少维修成本,提高维修人员的故障诊断能力和维修熟练度。于潞[2]开发了基于分布式VR系统技术的综合航电虚拟训练系统,解决了当前航空机务航电专业维护训练中理论培训过程抽象,实装和模拟器欠缺的问题。
本文针对零件拆装序列的规划提出了基于约束的线性拆装模型,采用模块化设计方案,为了满足不同学员的不同训练需求,将系统设置为演示、训练、考核模式。系统采用VC++工具与Vega Prime视景仿真平台作为开发方案,通过对系统的定位和功能需求的分析确定了系统的解决方案,进而实现了航空发动机虚拟维修可视化平台的开发。
1 当前存在的问题
基于航空类职业院校的学生不仅要学习系统的维修理论知识,更注重学生的动手操作和实践能力的提升,但由于航空发动机价格高昂,设备数量有限,场地不足,实训期间大部分是很多同学共用1台设备,极大地影响实训效果。其次,发动机型号更新换代快,不能满足学生紧跟时代前沿的要求。另外,航空发动机的维修费用也是价格不菲,受到诸多局限的影响,虚拟维修技术的开发应用正当时,满足学生的认知需要、训练需求,学生可以不受地域、时间的限制,根据需求应用虚拟维修系统进行训练,增强实训效果[3]。
2 虚拟维修训练平台模块设计
确定虚拟维修训练平台的系统架构,将虚拟维修训练平台分为以下4个模块:虚拟视景仿真模块、用户图形界面模块、操作事件驱动模块和维修操作控制模块,见图1。
2.1 虚拟视景仿真模块
虚拟视景仿真模块是用户应用系统最直观的窗口,鉴于Vega Prime具有面向对象、功能强大、界面友好、平台兼容性好等特点,应用程序通过调用Vega Prime提供的底层API函数实现对虚拟场景的驱动和控制,作为专业的视景仿真工具,具有逼真的仿真元素,非常直观地展现了人机交互的功能[4]。包括场景视图、图画以及声音特效、维修对象的3D模型和虚拟的维修工具和器材。
2.2 用户图形界面
本系统采用桌面式虚拟现实,将计算机的屏幕作为观察虚拟世界的窗口,键盘和鼠标等手持交互设备通过屏幕控制三维场景,在场景中的漫游和进行各种维修作业,相比沉浸式虚拟维修沉浸性偏弱,但是由于此种方式没有昂贵的外部硬件和软件的支持,成本比较低,也适合在高校教学使用[5]。
2.3 操作事件驱动
主要分为外部响应驱动和应用程序本身驱动。外部响应驱动主要是接收外部键盘、鼠标等操作做出的反应,通过键盘的上、下、左、右键以及鼠标控制在场景中漫游,视角的切换、零件的拾取等行为,而应用程序本身去驱动区别于外部响应驱动,是内部程序的触发而做出的响应,比如当油量剩余低于最低值时,会触发油量报警提示。
2.4 维修操作控制
维修操作控制主要是通过系统对用户行为的实时跟踪进行识别,与系统数据库的内容匹配进行判定,最后提供帮助信息给用户以引导。维修过程的识别主要包括两个方面:(1)系统会自动记录用户的每一步操作,根据系统当前的数据进行分析给出下一步的操作提示。(2)体现在故障树分析上,在发生故障后,系统根据当前的状态通过查询数据库里的数据进行匹配,判定节点状态,给出操作提示,或根据现有案例做出判断和决策[6-7]。
3 系统结构设计
系统根据使用对象的不同,将用户分为3类角色,每个角色的权限不同。第1类是管理员,主要对角色的分配、密码进行管理;第2类是维修人员(学生),可以根据虚拟维修演示视频进行学习,针对不同的训练模块进行训练,对专家给出的内容进行考核自评;第3类是专家,可以设置考核方式和考核内容,以及对学员的训练结果给出考核评价[8]。中间层是操作层,用户动作的触发以及系统内部的命令都会以对话框的方式反馈给用户,实现操作和维修的可视化。
3.1 设计思路
系统的设计从上到下依次为客户端、虚拟人机环境逻辑处理,最下层是数据支撑,虚拟维修仿真通过人机交互接口连接用户与仿真系统,用户通过鼠标或者键盘外部设备与系统交互,此外,友好的交互界面不仅使用户对系统的功能一目了然,而且使系统简单易用[9]。界面包括菜单栏、工具条等,通过各种按钮和对话框提示各种响应命令操纵仿真系统。用户通过身份认证后自动初始化系统,模型和场景的调用进入准备阶段,模型和场景文件以数据的形式存储在数据库中,在用户用键盘和鼠标外设驱动后,选择维修任务后操作程序通过调用场景驱动程序载入场景和模型。具体设计见图2。
3.2 拆装序列规划
维修过程中会涉及大量零部件的拆卸和安装,如果零部件很多,可供选择的拆卸安装顺序就会很多,为了规范学员的操作行为,必须规避组合爆炸。所以,针对规划拆装序列,本系统采用的是基于Petri网络的顺序拆卸方法,每个零件有且仅有一个ID,在每个零件开始拆卸前,必须将约束它的所有零件拆除后才可以拆除当前零件。如果约束关系没有解除,也就是当前约束它的零件仍为“1”的状态,则系统提示不可拆除。基于线性拆装序列规划,A1--A2--A3--A4........An,具体见图3。
3.3 数据库技术
为了实现网络端的多用户共同操作,系统的数据库设计要考虑网络化要求,系统采用易于读取的ACCESS作为本地数据库存储,采用ACCESS主要基于其支持ODBC,同时利用强大的DDE和OLE特性,可以在数据表中嵌入声音、位图等对象,同时可以动态地对数据表进行操作,同时为了方便多用户客户端分布式操作,需建立网络服务器,在服务器端系统采用SQLServer存储作为网络服务器。采用SQLServer是基于其易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等优势。
3.4 系统功能图
系统的开发主要围绕两个模块进行,分别是仿真场景的调用和信息可视化管理系统的开发。
仿真场景包括模型仿真、拆/装仿真、场景仿真,三维模型仿真主要考虑模型的大小和比例以及模型的存储大小,三维模型尽可能轻量化,缩短调用模型的时间;场景仿真主要考虑场景的色调及光照等真实条件,尽量模拟真实的维修环境,拆/装仿真的难点在于如何把拆卸下来的零件自由落地到地面,碰撞到地面会做出什么样的反应,这就涉及碰撞检测技术。本系统采用的是BUMP检测方法。
信息可视化管理系统主要分为本地信息可视化的管理和远程端可视化管理,本地信息可视化管理主要是维修资源信息的管理和辅助决策(专家库),维修资源信息的可视化管理包括工具(TOOL)的管理、零件的管理、用户(USER)的管理、场景(SECENE)的管理、维修过程记录的管理、操作时管理;远程端信息可视化管理包括远程端的维修记录管理,操作时间管理、访问管理、故障信息的导入、远程的维修操作支持[10]。主应用程序通过调用模型库中的模型加载到场景中,进行维修操作,所有操作都离不开方法库和知识库的支持。方法库是将用户的方法和系统包装的方法抽象成函数库。知识库是故障诊断信息模块中,基于对故障现象表征的判断推理,从故障库中找到故障原因,而随着案例不断的出现,系统会自动将这些故障添加到故障库中,故障库中的案例就会不断地丰富和扩充,推理机通过自我学习,模糊判断找到故障原因,也是基于人工智能的思想。具体操作功能见图4。
4 结语
在高职的航空发动机专业应用虚拟维修系统进行教学,弥补了传统实训教学的弊端,缓解了因院校经费紧张产生的设备更新换代难的问题,同时激发了学生的学习兴趣,使其可以自主探索和训练。虚拟维修的教学方法形式多样,训练时间自由,是对传统教学方法的补充和丰富,此项研究可以对其他专业具有大型设备维修的训练提供参考,并有一定的借鉴意义。