1、中国科技信息 2023 年第 3 期CHINA SCIENCE AND TECHNOLOGY INFORMATION Feb.2023-26-航空航天航空维修保障培训系统是为了适应现代航空机务维修的信息化要求,利用计算机及网络技术,以真实设备和环境为基础建立三维模型,使维修人员能够在真实环境中完成虚拟维修,从而提升维修效率、降低维修成本。本文具体描述了基于虚拟技术的航空维修保障培训系统设计方法,对于复杂装备的维修技能快速掌控、维修成本降低和维修效率提升具有十分重要的作用。近年来,陈聪等人开发了一套基于 Matlab/Simulink 的虚拟仿真实践教学平台,以Authorware 或 flas
2、h 制作多媒体动画演示系统工作原理,可满足现代飞机维护专业实践教学的需求;施浩针对航空拆装综合性实习教学的需求,利用 3ds MAX 软件实现虚拟教学训练环境构建,提高了实践过程的安全性;张磊等人基于IETM 和 Jack 软件,实现装备维修人员对航空装备维修操作方法的验证,提高了装备研制过程中的维修性;赵洪利等人在 Unity 虚拟仿真平台下,通过与 Kinect 的交互接口设计,实现在虚拟维修环境下对虚拟人的运动控制;杨如意采用 HTML5 技术,代替传统的培训方式,实现一种交互式体验的培训方式,为民航维修培训体系提供了新思路。综合以上技术路线,针对维修培训系统的可交互性、系统开发与运维的
3、便捷性以及未来系统的可移植性等方面问题,本文提出一种基于 Three.js 的航空虚拟维修培训系统设计方法,利用现代 WebGL 技术的跨平台优势,在浏览器中实现航空维修三维场景的构建与三维模型的加载,最终实现一个易交互、轻量级、跨平台的航空维修培训系统。WebGL和 Three.js技术WebGL 是一种基于网页形式的 3D 绘图标准应用程序 编 程 接 口(Application Programming Interface,API),能够供设备硬件图形直接调用,实现基于 Web 前端三维图形的硬件加速渲染功能。WebGL 通过 Javascript与 OpenGL 相结合,封装了对各类硬件
4、接口的功能调用方法,并且优化了图形渲染能力,能够保证 3D 可视化在浏览器中的运行效率,其技术在电力系统、设备制造、旅游推广等领域的可视化展示中得到广泛应用。Three.js 是一个基于 WebGL 的轻量级、跨平台的Java Script库,可以通过简单易用的API接口,实现渲染器、场景、相机、光源、物体等对象的图形化渲染,目的是提升基于 Web 的三维图形开发效率和易用性。利用 Three.js 可以实现多种三维模型文件如:.obj、.fbx、.json 等在浏览器行业曲线开放度创新度生态度互交度持续度可替代度影响力可实现度行业关联度真实度王 希中国飞行试验研究院一种基于 Three.js
5、 的航空虚拟维修培训系统设计王 希-27-CHINA SCIENCE AND TECHNOLOGY INFORMATION Feb.2023中国科技信息 2023 年第 3 期航空航天中加载与显示,结合 HTML5 技术能够给用户带来优质的三维可视化交互体验。航空虚拟维修培训系统设计整体架构设计本文基于 Three.js+HTML5 实现航空虚拟维修在线培训,系统采用分层架构设计,包括硬件层、数据层、应用层和交互层,实现维修演示训练、虚拟拆装、维修方法决策、考核评估等功能模块,其总体架构如图 1 所示。硬件层:以高性能计算机工作站为客户端,利用独立图形显卡进行渲染加速,包含实现虚拟维修培训所需
6、各类硬件设备。数据层:对结构化的人员信息、仿真运行数据等关系型数据进行处理外,还需要对如三维模型、培训手册等资源的非关系数据进行数据,包括添加、删除、修改和查询等CRUD 操作,为应用层提供培训所需的数据服务。应用层:负责维修演示、维修方法决策、虚拟拆装和考核评估等功能的业务逻辑处理,包括三维场景渲染、三维模型加载和业务数据的关联关系建立等。交互层:通过基于 HTML5 的 Vue.js 框架为基础容器,结合 Three.js 引擎实现维修人员训练过程的引导、提示及反馈。功能模块设计航空虚拟维修培训系统主要包括维修演示训练、维修方法决策、维修训练与培训、考核评估和数据管理等模块,具体功能结构如
7、图 2 所示。1)维修演示训练。虚拟维修培训系统构建真实的全机三维模型,使用人员能够通过预置某些动作,可演示装备常见的故障现象,指导受训人员找到故障原因并排除故障,可以设置展示某些故障现象比如操作失误导致的摔碎、碰坏等,完成预定故障的演示和训练。2)维修方法决策。通过大量的虚拟拆装数据分析和优化,可通过计算机生成最优的拆装顺序及路线,可以对机务维护工作提供技术支持和决策依据,提前规划各项工作。3)维修训练与培训。可充分利用虚拟样机进行结构展示、部件拆装、系统模拟等功能开展维修训练和培训。4)评估考核。该部分能对受训人员的整个维修过程进行评估,能够记录受训人员的错误操作,并给出正确的指导,从而起
8、到提高和考核受训人员的作用。5)数据管理模块。对维修培训过程中产生的人员信息、三维模型文件、考核信息、培训手册等进行管理,可以对数据进行有权限的增加、删除、修改和查询。关键技术实现模型加载在实际的三维应用开发中,通常先由美术设计师或者工程师提供由 3DMax、Maya、Blender 等建模工具创建的三维模型文件。Three.js 引擎能够支持多种三维模型文件的加载,在其安装目录下会提供多种模型加载器,如STLLoader、OBJLoader、MTLLoader 和 FBXLoader等。本文采用 FBX 模型文件进行加载,相比其他静态模型,FBX 除了包含几何、材质信息之外,可以存储动画等数
9、据,便于维修培训演示。具体模型加载方法如下:引入 FBX 模型文件加载库:import FBXLoader from three/examples/jsm/loaders/FBXLoader加载命令:let fbxLoader=new FBXLoader();fbxLoader.load(src/model/qiluojia.FBX,function(fbx)fbx.scale.set(0.05,0.05,0.05);fbx.position.set(1,19,1);scene.add(fbx);action.value=animationMixer.clipAction(animations
10、);)环境渲染为了能在虚拟三维系统中更好地展示三维模型,首先需图 1 系统总体架构图图 2 系统功能模块图中国科技信息 2023 年第 3 期CHINA SCIENCE AND TECHNOLOGY INFORMATION Feb.2023-28-航空航天要建立三维场景,并创建相机用于捕获场景内显示的物体模型,这里选择透视相机模式(PerspectiveCamera),通过设置位置的 position 属性、rotation 旋转和 scale 缩放属性,可以模拟人眼观察的视角,渲染出来的环境是一种近大远小的效果。最后添加光源,Three.js 引擎中提供多种光源选择,如点光源(Point L
11、ight)、聚光灯(SpotLight)、平行光源(DirectionLight)和环境光(AmbientLight)。具体环境渲染方法如下:创建场景:const scene=new Scene();创建相机:const camera=new PerspectiveCamera(75,window.innerWidth/window.innerHeight,1,1,000);camera.position.set(0,30,30);camera.lookAt(scene.position);添加环境灯光:scene.add(new AmbientLight(0 xFFFFFF,1);添加平行光
12、:const directionalLight=new DirectionalLight(0 xffffff);directionalLight.position.set(-100,100,30);directionalLight.castShadow=true;scene.add(directionalLight);交互操作对于培训类的虚拟三维系统,模型加载后用户需要使用鼠标或键盘实现对模型的点击、拖拽以及缩放等操作,满足图 3 航空虚拟维修培训系统效果图用户良好的交互式体检。应用效果如图 3 所示。鼠标转动等操作:let orbitControls=new OrbitControls(camera,renderer.domElement);放大缩小:orbitControls.autoRotateSpeed=1;结束语本文基于 Three.js 三维引擎库实现航空虚拟维修培训系统,实现装备模型、维修环境等三维虚拟呈现,用户通过浏览器在虚拟环境下对维修对象进行仿真显示,在虚拟环境下进行练习,熟悉各系统组成、部件位置、形状、连接关系、维护工作流程,从而提高了维护人员的工作效率,降低了潜在风险,对于加快实现航空维修保障数字化和智能化具有重要意义。