钻机仿真模拟实训平台是一款融合了岩心钻机实际工程应用与操作人员技术能力的综合考量,通过虚拟现实技术而开发的沉浸式交互半实物模拟训练设备。该平台不仅能够精确再现真实的工作场景,而且通过与硬件设备的无缝结合,为学员提供了一个高度仿真的钻机操作环境,使得教学和培训过程更加生动、直观,极大地提升了学习效率和培训质量。
钻机仿真模拟实训平台主要由模拟仿真操作平台与钻机虚拟仿真训练系统组成。
1.岩心钻机模拟仿真操作平台
岩心钻机模拟仿真操作平台基于实际岩心钻机的尺寸大小,进行了1∶4比例模型加工,同时使钻机半实物模型保留了如下动作:动力头正转/反转、动力头提升/给进、机架前进/后退、绞车提升/下放,主电机回转。各动作均为电驱,其中动力头正转/反转、主电机回转、绞车提升/下放为普通电机驱动,动力头给进/提升与机架前进/后退由步进电机驱动。
2.钻机虚拟仿真训练系统
2.1 3D虚拟场景
3D虚拟场景是设计一个虚拟现实平台的必要前提,钻机虚拟仿真训练系统的3D场景制作主要涵盖三维模型与场景搭建,使用几何建模和物理建模来创建三维模型。
岩心钻机主要由动力机、钻机本体、连接机构等三部分构成,动力机主要是电动机;钻机本体主要有:离合器、变速箱、分动箱、回转器、卷扬机、液压操作系统、前后机架以及机座;连接机构主要是:花键、弹性联轴节、万向轴等。
场景主要包含1个主场景与5个分场景,主场景主要是登录界面,5个分场景分别是理论学习界面、操作培训界面、自由练习界面、成绩考试界面及闯关界面。
3D虚拟场景构建根据真实岩心钻机设计图纸与现场测量的钻机参数,用SolidWorks进行三维模型创建后以.stp文件格式导入3dsMAX软件进行贴图渲染,同时导出.fbx文件格式导入到Unity3D中进行场景搭建。通过场景漫游技术、多摄像机技术、物理碰撞检测、射线检测技术等实现钻机基本动作的控制、操作和闯关练习。
交互系统的真实度和流畅性对于用户体验都非常重要,模型越精细就越真实,所以在不影响整体效果的情况下,建模时尽量减少模型面数,删除看不见的面和重叠的面;通过现场采集的照片经过专业软件处理后赋于模型,既增加真实感又可减少多边形的数量,达到优化模型的目的;在不同层次、不同视觉条件下,利用LOD(LevelofDetail)技术为每个物体建立不同精细程度的模型,当物体离视点远时就调用相对简单的模型,而近距离观察时调用相对复杂的模型,以提高场景的显示速度。
在实际岩心钻机操作过程中,为保证钻机的正常工作,钻机操作人员需实时观察钻机上各种仪表的数据变化。为了满足虚拟实训系统的培训要求,本系统通过Unity3D自带的GUI和NGUI模块设计了系统软件的主界面、钻进参数界面、闯关界面等。在检视面板中,采用Panel组件为主界面和钻进参数界面赋予相应的背景,使用Dropdown组件实现闯关关卡中钻进面向角的选择功能,利用Terrain组件创建了施工地周围环境。
2.2 钻机动作控制
实现岩心钻机的真实工况,需要对钻机的每个动作进行相对应的模拟,因此钻机仿真需要建立强大的逻辑动作库,命令与动作紧密联系、环环相扣。在实际的岩心钻机操作中,控制钻机部件的回转和移动是操作人员必不可少的工作内容之一。系统使用Translate()函数和Rotate()函数分别实现了钻机机架的移动、动力头回转、动力头给进/提升、绞车提升/下放等功能。
2.3 场景切换与场景漫游
钻机虚拟仿真训练系统的主要目的是用户多角度、全方位地观察岩心钻探设备组装、设备操作、钻进时钻进轨迹和出现钻探事故的各类征兆。钻机虚拟仿真训练系统依托Visual Studio 2019软件,利用C#进行脚本编写,通过对多个摄像机进行标记实现摄像机的切换。
场景漫游技术主要包括HMI控制、键盘控制和鼠标控制,能让用户身临其境的在虚拟钻探施工场景中前后左右任意方向行走并学习钻探现场周围的环境,从而更好地进行钻进施工作业。
2.4 PLC与工况模拟软件的交互设计
由实物模型、PLC和PC机虚拟场景组成的本钻机仿真模拟实训平台中,控制手柄或HMI发出的控制信号通过PLC将输出的控制信号利用串口传送到Unity3D虚拟场景,虚拟岩心钻机根据接收到的控制信号来模拟实际运行效果,同时PLC接收PC机中虚拟场景输出的虚拟传感信号。运行过程中,Unity3D中的虚拟传感信号经过串口传送给PLC,PLC接收到信号后检测虚拟岩心钻机的运行情况并发出控制信号进行相应的调整,实现虚拟仿真实训平台的正常运行。
PC机接收到的数据利用Unity3D中的虚拟模型Transform下Parent属性并通过Translate和Rotate函数控制模型的移动、旋转等运动。利用粒子发射系统ParticleSystem实现了一些无规则物体(例如水)的建模、渲染和贴图,通过ReceiveData和DealData判断缓冲区数据后在物体数据的顶点上来模拟发射粒子。
为避免数据结构队列线程阻塞,使用多线程和数据池的设计模式实现Unity3D的串口接收。其中在Unity3D中,利用C#命名空间System.IO.Ports中的SerialPort类来接收数据。在Start函数内实例化一个SerialPort类sp串口,并设置串口号(COM3)、波特率(9600)、数据位(8)、校验位(IO.Ports.Parity.None)、停止位(IO.Ports.StopBits.One),与下位机串口保持一致。
2.5 闯关设置
在钻孔施工过程中,由于种种原因,常常发生各种孔内故障而终断正常钻进,通常把这些故障统称为孔内故障,它耽误钻探进尺、推迟施工进度、影响地质材料和矿区储量报告的提交。如果处理不当,还会报废钻探工作量和管材,使钻探成本提高,严重时还会损坏机器设备、造成人身伤亡事故等严重后果。因此钻机仿真模拟实训平台的重点内容是工况模拟和事故处理,也就是本培训中的闯关关卡。钻机虚拟仿真训练系统选取设备施工过程中的常见故障, 以三维视景表现故障点, 虚出对应故障表现, 引导用户进行对应故障排查。主要包含以下内容:
2.5.1 井涌、井漏关卡
为实现井漏、井涌事故的有效预警,需要进行事故特性分析,选取适合表征事故特征的钻进参数来建立预警模型。当井漏事故发生时总池体积减小,在入口流量无变化的情况下出口流量减小,立管压力可能下降,井漏事故较为严重时井口会出现无钻井液返出的情况(即出口流量为零)。当井涌事故发生时总池体积增加,在入口流量无变化的情况下出口流量增大,立管压力可能下降,井涌事故较为严重时,即使停泵后,井口也会伴随钻井液的外溢。基于上述分析,本关卡选取总池体积、立管压力、入口流量和出口流量4个钻进参数建立钻进过程中井漏、井涌事故模拟模型。
2.5.2 卡钻关卡
钻井过程中,由于各种原因造成的钻具陷在井内不能自由活动的现象,称为卡钻。卡钻往往是由于粗径钻具顶部在钻孔内卡住,钻具、钻杆提不上来,回转器或转盘回转时有阻力或卡死,但一般能疏通钻井液。引起卡钻的主要原因有:(1)孔壁岩石掉块,(2)岩石遇水膨胀,孔径收缩,(3)钢粒或碎硬质合金挤夹钻具,(4)孔壁和岩心不规则,(5)孔身弯曲,(6)孔壁不规整,孔径大小变化悬殊,(7)套管柱偏斜,管鞋突出,(8)小物件落入孔内。不同性质的卡钻事故有不同的处理程序,多数卡钻事故的处理方法一般遵循如下6个处理工序:一是保持水眼畅通恢复钻井液循环;二是以上下提拉或扭转形式活动钻具(以提拉为主);三是对卡钻部位进行浸泡(注入解卡剂);四是使用震击器震击(单独震击或泡后震击);五是套铣或倒扣;六是在“鱼顶”以上进行侧钻。
钻机虚拟仿真训练系统可以模拟不同的卡钻故障及处理流程,帮助学员掌握该项技能。
2.5.3 断钻具关卡
钻具断落事故是钻井作业中常见的事故之一,若井况正常,处理也容易,成功率较高,若井筒条件差,井况复杂,可伴随卡钻事故发生,处理不慎,也会造成复杂事故。常见的断钻具主要以钻杆折断、钻铤及井下工具折断、滑扣、脱口、刺口、粘扣等类型为主。钻机虚拟仿真训练系统通过模拟仿真表现出对应故障原因及排除方法。
2.5.4 烧钻关卡
在钻进过程中由于孔底冲洗液不足,钻头冷却不良,岩粉排除不畅,钻头与孔壁、岩心和岩粉摩擦产生高热,使钻头、孔壁岩层、岩心烧结为一体,此时冲洗液循环中止,钻具不能回转也不能提动,这种孔内事故称为烧钻事故,钻机虚拟仿真训练系统可以仿真表现出对应故障原因及排除方法。
通过钻机仿真模拟实训平台学员可以快速、准确地操作钻机组装、钻机操作,动态分析各种被控对象的执行效果,同时能更多地学习各类钻井事故的处理方法,加上惟妙惟肖的环境音效,加深了现场体验感,激发了学习兴趣,提高了学习效率。同时避免了现场实操的设备损坏和安全隐患,降低了同程度下的实训教学成本,具有较高的经济性和安全性。