基于移动AR的闸板防喷器教学APP设计与开发

2023-09-06 14:40王永友郭昭学王其军王琨
中国教育技术装备 2023年4期

王永友 郭昭学 王其军 王琨

摘  要  闸板防喷器是油气钻井必不可少的井控装置,是保障安全钻井的关键设备,是钻井工程实践教学的重要知识点之一。但因闸板防喷器价格昂贵、体型庞大、结构复杂、拆卸困难等原因,在教学中无法使用实物设备作教具。基于移动AR的闸板防喷器教学APP为学习者创设逼真的学习环境,学生在AR情景模式下自主学习,可以有效解决上述教学难题,提升教学质量。

关键词  闸板防喷器;移动AR;教学APP

中图分类号:TE319    文献标识码:B

文章编号:1671-489X(2023)04-0026-04

Design and Development of Ram BOP Teaching APP Based on Mobile AR//WANG Yongyou, GUO Zhaoxue, WANG Qijun

Abstract  Ram BOP is an essential well control device for oil and gas drilling, It is the key equipment to

ensure safe drilling and one of the important know-ledge points in drilling engineering practice tea-ching. However, due to the high price, large size, complex structure and difficult disassembly of Ram

BOP, physical equipment can not be used as teaching aids. The Ram BOP teaching APP based on mobile AR

creates a realistic learning environment for stu-dents, students learn independently in the AR scena-

rio mode, which effectively solves the above teaching

problems and improves the teaching quality.

Key words  Ram BOP; mobile AR; teaching APP

Authors address  College of Petroleum and Natural Gas Engineering, Southwest Petroleum University, Chengdu, China, 610500

0  引言

在石油与天然气开采过程中,闸板防喷器是保障安全钻井的关键设备,其主要功能是对井口环形空间进行有效密封[1]。闸板防喷器与远程控制台配合使用,由远程控制台输送的高压液压油经不同的油路通道,注入闸板防喷器并推动活塞朝不同方向運动,活塞带动闸板总成做开关井动作。当井筒内有钻具时,可以使用半封闸板封闭钻具与井筒之间的环形空间;当井筒内没有钻具时,可以使用全封闭闸板完全封闭井筒;当发生井喷时,紧急情况下可以使用剪切闸板强行剪断井筒内的钻具[2]。闸板防喷器属于大型油气装备,具有价格昂贵、体型庞大、结构复杂、装配环节多等特点,为确保其有效性,需要定期进行维护和保养,及时更换密封件以防止关井时封闭失效而导致井喷事故的发生[3]。检修、安装闸板防喷器往往需要动用行车、吊车等起重设备,作业过程复杂,安全隐患大。

在石油工程专业的人才培养过程中,让学生掌握闸板防喷器的结构和工作原理、使用方法、维护及保养措施等方面的知识,是提升课堂理论教学效果,培养学生理论联系实际能力、专业实践能力和创新精神的重要手段,但因闸板防喷器体型庞大、实物拆卸困难等原因,使用实物设备作为教具是不现实的,为了满足教学需求,使用虚拟的数字化闸板防喷器代替实物设备开展实践教学,是行之有效的辅助教学手段。

本文开发的基于AR的闸板防喷器教学APP运行于手持移动设备上,学生通过扫描标识卡(二维码或实物照片),即可呈现虚拟的闸板防喷器,通过触屏操作,可查看其内部结构和工作原理,也可进行虚拟拆装。还能通过AR功能将虚拟的闸板防喷器摆放到现实世界中的任意地方,此时虚拟的闸板防喷器将以近似实物设备的姿态呈现在学生面前,通过变换身体位置或姿态,可从不同角度和方位观察其内部结构原理或虚拟拆装,有高度逼真的临场感和现场操作体验,如图1所示。

1  系统设计

1.1  设计思路

设计目标是发挥APP的教学辅助作用,开展以学生为主导地位的启发式、探究式实践教学,使用手持移动设备的便携性为学生学习提供便利性,充分利用碎片化时间,在任何地点、任何时间开展移动微学习,以满足学生的个性化学习需求[4-5]。

遵循软件开发的核心思路,按照功能模块将需求结构化分解,逻辑与实现清晰结合,在系统整体设计时主要考虑以下几个问题:

1)跨平台性。考虑不同平台(Android和IOS)

的使用需求,为此寻求理想的开发方案,力求只编写一套代码但支持多个平台;

2)使用面向对象思想设计高内聚、低耦合的系统架构,方便后期维护和功能扩展;

3)虚拟设备的三维模型结构准确,材质表现真实美观;

4)具有一定的图形加速能力,运行流畅、画面质量高;

5)人机交互友好,触控操作方便、流畅,UI布局合理、美观。

1.2  系统架构

目前,AR应用程序有移动端、眼镜端和网页端三种形式,现有的AR应用大多为移动端程序。不同客户端的AR程序需使用不同的开发工具,同一客户端下不同厂商的开发工具也不尽相同,因此,AR开发工具众多,性能各异。尽管如此,AR技术的总体功能却大同小异,其相关的主要功能有:平面检测技术、图片检测技术、模型检测技术、人脸识别技术、动作捕捉技术、实时光照模拟技术、AR导航等[6]。

移动AR作为当下主流的AR应用,也有众多开发工具可选择。有Android系统官方开发工具AR Core、

IOS系统官方开发工具AR kit、商汤科技的Sense AR、华为AR等。AR Foundation是Unity3D推出的AR开发工具集,Unity3D利用其强大的跨平台优势,将AR Core、AR kit开发包进行二次封装,统一定义了API,并按用户的发布平台自动选择合适的底层SDK版本,开发时只需要编写一套代码,经过适当部署后就能发布到多个平台,开发效率高[7]。鉴于此,本案选择Unity3D+ARFoundation作为开发工具。

2  软件开发

2.1  三维建模

为全方位展示闸板防喷器的内部结构和工作原理,需要对其进行分解建模。该设备由壳体、侧门、液缸、闸板总成、活塞总成、密封件、盲法兰、铰链、锁紧机构等众多零部件组成。移动APP需要考虑程序运行时的资源消耗负担,因此,在建模过程中,要综合考虑模型的复杂程度和模型数据量的关系。模型越精细,其表现的结构越接近真实实物,但会因为模型过于精细而增加移动设备的资源消耗,影响程序加载和运行速度,甚至出现发热、卡顿、打不开等现象[8]。为保证程序能运行流畅,在建模时需要精简和优化零部件,对结构复杂的零部件建精模,对结构简单的零部件建简模。

建模过程分两个阶段:第一阶段根据零部件图纸,使用Solidworks绘制单体模型并组装成装配体;第二阶段将Solidworks中的装配体转换格

式,导入3DSMax中优化模型,对部分模型进行减面、合并、缝补破面等操作,尽量减少模型的数据量。可使用如下方法优化模型:

1)合并分离的同类模型,缝补模型的破面,删除网格模型中游离或多余的顶点;

2)精简造型复杂的模型,线条模型需要转为多边形模型,转换前设置合理的线条边数和插值步长数;

3)去除模型之间的重合面、视野中的不可见面、模型之间的复杂相交面。

2.2  制作动画

闸板防喷器在工作时有复杂的机械运动,需要通过动画进行模拟。Unity3D能制作常规动力学动画,如基于速度、质量、摩擦、空气阻力等变量的力学行为,也能制作简单的位移、旋转、缩放等动画。但闸板防喷器工作时涉及的零部件较多,零部件之间有复杂的关联、约束和变形动作,通过Unity3D模拟难度较大。因此,使用3DSMax模拟其工作过程,并将模拟的动画输出成FBX文件。3DSMax可制作关键帧动画、动力学动画、约束动画、角色动画、变形动画等,本案中使用关键帧动画、约束动画和变形动画模拟闸板防喷器的工作过程,如闸板总成运动、打开腔和关闭腔的液压油流动、锁紧机构的动作模拟等。

2.3  生成FBX文件

待模型和动画制作完毕后,即可从3DSMax中导出模型,生成Unity3D可识别的FBX资源文件。为了确保模型的尺寸单位和轴向统一,导出前需要在3DSMax中对所有模型执行“重置变换”操作,并调整各零部件的轴心点和坐标方向。将轴心点统一居中到对象,坐标方向统一对齐到世界坐标。静态模型和动态模型需要分开导出,对于拥有复杂动画的模型导出时可烘焙动画以保证动画的流畅性。若模型的材质使用了贴图,需要将贴图资源嵌入模型中一并导出。

2.4  编写程序

以Android系统为例,本案的开发主要有以下几个步骤。

2.4.1在Unity3D中导入资源

将开发所需的FBX模型、图像、音视频等资源导入项目中整理备用。在导入FBX模型時,若出现“透明”或者“漏面”的情况,需要返回3DSMax中翻转模型法线方向;若模型出现异常的紫色,则需要寻找丢失的贴图并手动匹配到相关材质上。

2.4.2  配置AR开发环境

在Unity3D中将开发平台切换至Android并配

置Android的开发环境,包括安装JDK、SDK和

NDK并指定路径。配置AR SKD,包括安装并配置AR Foundation、AR Core XR Plugin、XR Plugin Management等Package。

2.4.3  触屏控制

可使用Unity3D原生Input类中的各种输入功能,获取屏幕坐标并监测手指点击实现单点或多点触控操作,也可使用Lean Touch、Easy Touch等插件实现触控和虚拟摇杆的功能。

2.4.4  视图操作

放大、缩小视图通过双指捏合实现,通过Input. Touch Count判断触控点数量,在双点触摸的情况下,当第二个触摸点的状态Input. Get Touch(1).phase=Touch Phase. Began时,开始计算两个触摸点之间的距离,根据距离的增减量驱动摄像机的位置相应变化,实现视图缩放功能。在单点触摸且Input. Get Touch(0).phase=Touch Phase. Moved的情况下,计算单点触摸时划过的距离,以此驱动场景中的摄像机旋转或者平移。

2.4.5  半透视和零件爆炸图控制

为了展示闸板防喷器的内部结构,需要对壳

体、液缸套等部件半透明显示,并通过单击按钮切换

显示模式。需要半透明显示时,设置对应材质的渲

染模式为Transparent,Set Material Rendering

Mode(material, Rendering Mode. Transparent),

并设置其颜色的alpha值为0.2,material. Set

Color(“_Color”, new Color(1, 1, 1, 0.2));

需要不透明显示时,设置对应材质的渲染模式为

Opaque,Set Material Rendering Mode(material,

Rendering Mode. Opaque),并设置其颜色的alpha值为1,material. Set Color(“_Color”, new Color(1, 1, 1, 1))。因设备内部零件众多、结构复杂,相互之间还有叠压、穿插、遮挡等情况,仅靠半透明化显示还不能完全展示其结构原理,因此,需要在非装配模式下,生成爆炸图,以便全方位展示各零部件的结构。

2.4.6  虚拟装配

将闸板防喷器的拆装过程分解为32个步骤,并制作成相应的动画片段,在Unity3D中通过Animator和状态机控制其拆装流程。

2.4.7  AR开发

为将虚拟的闸板防喷器融合到现实世界中,需要AR平面检测功能来实现。平面检测是AR技术的基础应用,无论是Android的AR Kit还是IOS的

AR Core都需要实现平面检测。同时,平面也是可

跟踪的对象,AR Foundation使用AR Plane Manager

管理器来管理平面,对移动设备摄像头获取的图像中的特征点进行识别并跟踪,利用VIO和IMU跟踪特征点的三维空间信息,在跟踪过程中对特征点的信息进行处理,并尝试用空间中位置相近或者符合一定规律的特征点构建平面,平面构建成功后即可把虚拟闸板防喷器放置在现实世界中的任意平面上。制作二维码或者特征图片,在Unity3D中制作Reference Image Library,使用AR Foundation的

AR Tracked Object Manager进行图像识别,实现“扫一扫”二维码或者图片加载场景的功能。

2.5  发布APP

发布前需要设置项目的属性参数,在Player选

项中设置Company Name、Product Name、Version等产品信息,在Resolution and Presentation选

项中设置程序运行时的分辨率、横屏或者竖屏显

示,在Other Settings选项中设置多线程属性、

Minimum API Level、Target API Level的Android

版本号等,在Preferences选项中设置JDK、SDK和

NDK属性。以上内容设置完毕后,即可发布APP。

3  教学应用

本案APP已应用于西南石油大学石油工程专业的钻井工艺模拟训练、生产实习等实训课程,学生通过手持移动设备“扫一扫”标识卡即可使用。这种新颖的教学模式充分激发和调动了学生的学习积极性和探索意识,提升了学生的实践动手能力,在人才培养中发挥了重要的作用。

4  结论

在高校实验教学改革的新形势下,为适应现代化的教学资源建设及教学方法信息化、数字化的发展趋势,坚持以实际需求为导向、以人为本,采用先进的信息技术与工程实际应用相结合,开发AR教学软件并推广应用,以满足相关专业人才的基本技能和实践动手能力培养及安全教育的需要,对推进实践教学改革、创新教学模式、提升学生的创新精神有积极重要的作用[9-10]。

5  参考文献

[1] 孙振纯,王守谦,徐明辉.井控设备[M].北京:石油工

业出版社,1997.

[2] 唐洋,耿海涛,钟林,等.闸板防喷器密封原理與失效

分析[J].润滑与密封,2013,38(2):91-94.

[3] 雷群,李益良,李涛,等.中国石油修井作业技术现状

及发展方向[J].石油勘探与开发,2020,47(1):155-162.

[4] 潘旭东,孙晓磊,李旦,等.基于AR技术的机械制造工

艺课程设计教学辅助系统开发[J].实验技术与管理,

2017,34(10):139-142.

[5] 刘潇,王志军,曹晓静,等.AR技术促进科学教育的实

验研究[J].实验室研究与探索,2019,38(8):179-183,

208.

[6] 满天威.移动端增强现实组件化及其相关技术研究[D].

北京:北京邮电大学,2021.

[7] 汪祥春.AR开发权威指南 基于AR Foundation[M].北

京:人民邮电出版社,2020.

[8] 王乐,任小甲.基于AR的漆器表面构造细节虚拟重建仿

真[J].计算机仿真,2021,38(5):302-306.

[9] 王永友,王琨,郭昭学,等.石油与天然气工程虚拟仿

真实验教学体系建设与实践[J].实验技术与管理,2019,

36(12):23-27.

[10] 黄海龙,李元.移动互联网背景下AR可视化教材建设

与应用思考[J].实验室研究与探索,2019,38(2):167-

171.