Processing math: 100%

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于Unity3D的岩心钻机虚拟实训系统设计

胡自飞 文国军 王玉丹 赵权 夏雨

胡自飞, 文国军, 王玉丹, 赵权, 夏雨. 基于Unity3D的岩心钻机虚拟实训系统设计[J]. 地质科技通报, 2020, 39(3): 222-226. doi: 10.19509/j.cnki.dzkq.2020.0325
引用本文: 胡自飞, 文国军, 王玉丹, 赵权, 夏雨. 基于Unity3D的岩心钻机虚拟实训系统设计[J]. 地质科技通报, 2020, 39(3): 222-226. doi: 10.19509/j.cnki.dzkq.2020.0325
Hu Zifei, Wen Guojun, Wang Yudan, Zhao Quan, Xia Yu. Design of virtual training system for core drill based on Unity3D[J]. Bulletin of Geological Science and Technology, 2020, 39(3): 222-226. doi: 10.19509/j.cnki.dzkq.2020.0325
Citation: Hu Zifei, Wen Guojun, Wang Yudan, Zhao Quan, Xia Yu. Design of virtual training system for core drill based on Unity3D[J]. Bulletin of Geological Science and Technology, 2020, 39(3): 222-226. doi: 10.19509/j.cnki.dzkq.2020.0325

基于Unity3D的岩心钻机虚拟实训系统设计

doi: 10.19509/j.cnki.dzkq.2020.0325
基金项目: 

中国地质大学(武汉)实验技术研究项目 SJ-201813

详细信息
    作者简介:

    胡自飞(1993-), 男, 现正攻读机械工程专业硕士学位, 主要从事虚拟现实、自动控制研究。E-mail:693287638@qq.com

    通讯作者:

    文国军(1978-), 男, 教授, 博士生导师, 主要从事CAD/CAM、工程地质装备方面研究。E-mail:wenguojun@cug.edu.cn

  • 中图分类号: TP391.9

Design of virtual training system for core drill based on Unity3D

  • 摘要: 大型岩心钻机价格昂贵、操作工序复杂且十分危险,导致传统的培训技术难以高产出操作纯熟的技术人员,同时传统的培训技术以理论学习与直接上机相结合,如此跨越式培训增加了岩心钻机损坏与报废的风险,也提高了培训者自身门槛。基于此,提出了基于Unity3D的岩心钻机虚拟实训系统设计方案,并以XY-4型岩心钻机为例,采用SolidWorks与Maya联合建模、Unity3D进行软件系统开发。Unity3D可模拟出真实工作场景,让系统使用者有身临其境的感觉。实训系统设置4个学习场景:认知视频学习、操作要领学习、单步训练以及整体训练,操作知识环环相扣,人与场景融为一体。

     

  • 传统的岩心钻机培训方式,理论学习后直接进行场地实操,学员操作熟练度不足,容易造成机械设备的损坏,导致设备投入费用居高不下,维护费用和耗油量过高,并存在人员安全隐患[1-3]。在此之前,中国地质大学(武汉)数字化虚拟技术实验室团队通过VRML虚拟环境以及VB语言进行虚拟实训系统设计与实现,该系统存在模型与现实钻机不一致、无法再现全操作过程(比如卷扬机升降、上下钻杆等)、VB程序复杂等问题。

    针对上述问题,设计了基于Unity3D的岩心钻机虚拟实训系统[4-11]。该系统通过SolidWorks进行三维建模、Maya材质贴图,运用Unity3D搭建虚拟场景,并通过C#编程,加入相应的控制逻辑,通过Unity3D与VR设备相结合呈现出沉浸感与交互性于一体的岩心钻机虚拟实训系统。

    系统通过Unity3D开发,其开发过程以软件工程方法学为基础,以实际需求为导向,设计系统内各个功能模块[12-17]。其主要流程分为4个部分:模型构建、3D虚拟场景搭建、控制逻辑以及调试。同时,Unity3D开发系统还具备跨平台兼容的特性。如图 1所示Unity3D系统开发流程。

    图  1  Unity3D系统开发流程
    Figure  1.  Unity3D system development process

    针对XY-4型岩心钻机[18-19],采用SolidWorks进行模型构建,Maya软件进行贴图渲染,同时导出.fbx格式文件。如图 2,XY-4型岩心钻机主要分为3个部分:动力机、钻机本体、连接机构。动力机主要是选择495型柴油机或JO272-4型电动机,本系统采用电动机模型。钻机本体主要有:离合器、变速箱、分动箱、回转器、卷扬机、液压操作系统、前后机架以及机座。连接机构主要是:花键、弹性联轴节、万向轴等。

    图  2  XY-4型岩心钻机模型示意图
    1.卷扬机; 2.分动箱; 3.回转器; 4.油压卡盘; 5.液压操作系统; 6.变速箱; 7.离合器; 8.动力机
    Figure  2.  Schematic diagram of the XY-4 core drill model

    本系统以XY-4型岩心钻机为例,该钻机是一种机械传动、液压给进的立轴式岩心钻机。动力机可配电动机或者柴油机,其传动分两部分:一部分由动力机向液压系统供油,实现液压给进、绞车取心等;另一部分是动力机连接万向传动轴与分动箱输入轴,其中分动箱将动力分别传到回转器和卷扬机,最终实现钻机正常工作。钻进工序主要是:起下钻、回次、给进、倒杆、进尺。

    根据XY-4型岩心钻机钻进工序,将所有操作模块分解,先进行分步练习再整体训练。其中,单步操作如下:离合器手柄操作、变速箱手柄操作、钻机移动、卡盘夹紧松开、油缸上升下降、分动箱手柄切换以及卷扬机手柄切换。

    岩心钻机虚拟实训系统的UI元素(纹理、图像、按钮、滑动条等)主要是通过Photoshop制作完成,图 3为系统UI界面所用到部分图片素材,主要体现在主场景中。

    图  3  岩心钻机虚拟实训系统UI素材
    Figure  3.  Core drill virtual training system UI material

    3D虚拟场景主要分为主场景与4个分场景,其中图 4-a主场景目的是信息登记与功能选择,图 4-b分别是4个分场景示意图:第1个分场景(图 4-b-1图 4-b-2)是观看钻机基本操作指南以及钻机钻进视频;第2个分场景(图 4-b-3)是训练钻机基本操作,如离合器手柄操作、变速箱手柄操作等;第3个分场景(图 4-b-4)是卷扬机的使用操作以及提钻等;第4个分场景(图 4-b-4)是实际钻进,假定已钻有一定深度,在此基础上进行实际钻进操作训练。

    图  4  系统各场景示意图
    Figure  4.  Schematic diagram of each system
    3.2.1   漫游逻辑

    自动漫游是在漫游事件触发后无任何输入的情况下,允许角色沿着既定路线进行漫游。

    手动漫游即通过外部设备的控制信息操纵系统内角色的移动,本系统主要采用头盔手柄式,以人物自由行走与转动结合进行漫游,同时通过贝塞尔曲线进行位置瞬移如图 5所示。

    图  5  贝塞尔曲线点
    Figure  5.  Bezier curve point

    其中p0p02p2 3点在同一个抛物线上,p1点是过p0p2点的两切线的相交点,在p02点的切线交p0p1p2p1p10p11,则如下比例成立: p0p10p10p1=p1p11p11p2=p10p20p20p11。假设给定n+1个点p0p1p2,…,pn,利用公式(1)可构建一条参数曲线叫做n次贝塞尔曲线。同时称p0p1p2,…,pnp(t)的控制点。

    p(t)=ni=0piBi,n(t),0t1 (1)

    式中:Bi,n(t)=(ni)ti(1t)ni, i=0, …, n, 又称作n阶的伯恩斯坦基底多项式。

    3.2.2   交互逻辑

    交互体现沉浸感,本系统中最主要的交互是射线与碰撞[20-22]

    射线是在三维空间中从一个点沿一个方向发射的一条无限长的线。在射线的轨迹上,一旦与添加了碰撞器的物体发生碰撞,将停止发射。可以利用射线获取目标的信息实现系统所需要的目标选择等功能。本系统中使用到射线的地方,如点击悬浮在半空的UI界面以及虚拟键盘等。

    虚拟现实更注重与对象的真实接触,更多的使用物理性接触的碰撞行为。图 6为碰撞检测算法逻辑,操作钻机的绝大部分行为都是通过物理碰撞行为来完成的。例如操纵控制手柄,拾取地面上的物件。碰撞器按外形可以分为盒子碰撞器、圆碰撞器、胶囊碰撞器、轮碰撞器、网格碰撞器以及地形碰撞器,同时,产生碰撞信息所需要的条件为:双方都有碰撞器或触发器,其中一方还需要刚体。不同的碰撞器可以模拟不同的碰撞行为,例如钻杆用盒子碰撞器,液压手柄用网格碰撞器,人用胶囊体碰撞器,扳手用盒子碰撞器,山脉用地形碰撞器等。

    图  6  碰撞检测逻辑
    Figure  6.  Collision detection logic

    交互的重点就是实现人与场景的互动,一旦达到射线或碰撞条件就需要实现对应的功能模块,钻机部件基本的运动C#代码如表 1所示。要实现整个钻机的操作,同时还需要旋转、伸缩以及头盔手柄插件等代码。

    表  1  钻机部件交互运动C#伪代码
    Table  1.  Rig component interaction motion C# pseudo code
    C#伪代码
    坐标移动
    <summary>
    <param name="trans">需要移动的对象</param>
    <param name="dir">方向</param>
    <param name="speed">速度</param>
    void PosChange(Transform trans, Vector3 dir, float speed)
    {
    trans.position += dir * Time.deltaTime * speed;
    }
    下载: 导出CSV 
    | 显示表格

    Unity3D最大的优点就是支持多平台:移动平台、桌面平台、游戏主机、网页游戏、虚拟现实与增强现实。由于在测试阶段,为了能验证各项功能的准确完整,受加工条件限制,采用桌面平台与VR头盔结合方式。经过模型搭建、材质贴图、场景布置以及逻辑代码编写,整个系统基本完成。图 7是设计的系统运行流程,由于使用的是HTC VIVE头盔手柄,还需要安装相应的驱动等配置文件。系统操作流程:第一步启动程序自动进入登录界面;第二步戴上VR头盔和拿起VR手柄,通过手柄引导位置瞬移到登陆界面前,继续使用手柄发出射线完成信息的录入;第三步信息录入完成后就进入到场景选择,一共有4个场景;第四步依次选择4个场景训练测试。

    图  7  系统运行流程图
    Figure  7.  System operation flow chart

    图 8是通过头盔看到的场景,在使用头盔时,操作者可以任意时刻用手柄进行位置选定并快速移动到该位置,并可以使用手柄进行点击开关按钮、拉动控制手柄、拿起工具等操作。总之,操作者能够完全沉浸于头盔场景中,完成所有的岩心钻机实际操作。

    图  8  培训者实操图
    Figure  8.  Trainer′s actual operation diagram

    Unity3D是目前用于虚拟实训仿真的常用软件,本系统正是运用Unity3D具有交互沉浸感的特性实现了现实场景中岩心钻机的实际操作,通过几个场景内容的学习,可以让培训者从认知层面到熟练操作虚拟XY-4型岩心钻机的层面。基于Unity3D的岩心钻机虚拟实训系统的成功开发,让培训者身临其境地学习操作钻机,解决了大批量人员培训的问题,也降低了培训成本和培训过程中存在的安全隐患。同时,本系统正在进行混合现实系统开发测试,以便使操作者能够完全掌握岩心钻机的操作实训。进一步来说,由于地质工程机械操作危险、设备体积大以及价格昂贵等特点,使得基于Unity3D开发的虚拟实训系统将备受欢迎。

  • 图 1  Unity3D系统开发流程

    Figure 1.  Unity3D system development process

    图 2  XY-4型岩心钻机模型示意图

    1.卷扬机; 2.分动箱; 3.回转器; 4.油压卡盘; 5.液压操作系统; 6.变速箱; 7.离合器; 8.动力机

    Figure 2.  Schematic diagram of the XY-4 core drill model

    图 3  岩心钻机虚拟实训系统UI素材

    Figure 3.  Core drill virtual training system UI material

    图 4  系统各场景示意图

    Figure 4.  Schematic diagram of each system

    图 5  贝塞尔曲线点

    Figure 5.  Bezier curve point

    图 6  碰撞检测逻辑

    Figure 6.  Collision detection logic

    图 7  系统运行流程图

    Figure 7.  System operation flow chart

    图 8  培训者实操图

    Figure 8.  Trainer′s actual operation diagram

    表  1  钻机部件交互运动C#伪代码

    Table  1.   Rig component interaction motion C# pseudo code

    C#伪代码
    坐标移动
    <summary>
    <param name="trans">需要移动的对象</param>
    <param name="dir">方向</param>
    <param name="speed">速度</param>
    void PosChange(Transform trans, Vector3 dir, float speed)
    {
    trans.position += dir * Time.deltaTime * speed;
    }
    下载: 导出CSV
  • [1] 刘凡柏, 任启伟, 伍晓龙, 等.3500 m岩心钻探装备的研制及应用[C]//李艺.第十九届全国探矿工程(岩土钻掘工程)学术交流年会论文集.北京: 地质出版社, 2017: 242-247.
    [2] 王亚.基于知识的岩心钻机参数化设计系统研究[D].南京: 东南大学, 2016.
    [3] 李文秀, 孟义泉, 董向宇, 等.YDX-1型轻便岩心钻机的研制与应用[J].探矿工程:岩土钻掘工程, 2015, 42(2):8-14. http://www.cqvip.com/QK/90665A/20152/663875001.html
    [4] Guberek R, Schneiberg S, Sveistrup H, et al.Application of virtual reality in upper limb rehabilitation[P].Virtual Rehabilitation, 2008.
    [5] Goldstone W.Unity 3.x game development essentials[M].UK:Packt Publishing Ltd., 2011.
    [6] 文国军, 夏雨, 王玉丹, 等.基于Unity3D的水平定向钻机虚拟实训系统设计[J].系统仿真学报, 2020, 32(5):801-807. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=xtfzxb202005006
    [7] 康坤坤, 钱锋, 尤伟星, 等.水平定向钻孔壁稳定性影响因素分析[J].地质科技情报, 2016, 35(2):45-48. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=dzkjqb201602011
    [8] 刘全利, 周广言, 白世武, 等.水平定向钻孔剖面测量系统的研制[J].地质科技情报, 2016, 35(2):10-14. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=dzkjqb201602003
    [9] 苏楠.基于Unity3D的驾考模拟平台的设计与制作[J].信息与电脑:理论版, 2018(21):96-97. http://www.cnki.com.cn/Article/CJFDTotal-XXDL201821041.htm
    [10] Jie J, Yang K, Haihui S.Study on the virtual natural landscape walkthrough by using unity 3D[C]//Computational and Information Sciences(ICCIS), 2013 Fifth Internayional Conference on.IEEE, 2013: 1-4.
    [11] 郑贵洲, 晋学领, 彭俊芳.工程勘探钻孔岩心图像管理技术[J].地质科技情报, 2017, 36(2):272-278. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=dzkjqb201702036
    [12] 魏育坤.基于Unity3D的虚拟现实交互系统的设计与实现[J].电子技术与软件工程, 2018(14):45-46. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=0120181105430062
    [13] Jiang Chengwei, Kang Xingwu, Wang Xuping, et al.Development of a virtual equipment training system based on multi-platform integration[P].DEStech Transactions on Computer Science and Engineering, 2018.
    [14] Jae H B, Ae H K.Design and development of Unity3D game engine-based smart SNG(Social Network Game)[J].International Journal of Multimedia and Ubiquitous Engineering, 2014, 9(8):261-266. doi: 10.14257/ijmue.2014.9.8.23
    [15] Oboe R, Antonello R, Biral F.Development of a water ski simulator for indoor training with proprioceptive and visual feedback[M].[S.l.]:RELX Group, 2014:35-70.
    [16] 杨睿, 范雯杰, 孙景荣.虚拟实训平台的建设与思考[J].继续教育, 2015, 29(8):38-39. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=jxjy201508013
    [17] Zheng Y.Research on virtual experiment system on PLC education based on teaching materials[J].CSEE, 2011:, 216:552-556. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=10.1177/030913259001400103
    [18] 卢春阳, 欧阳志强.XY-4L型岩心钻机的研制与应用[J].地质装备, 2010, 11(1):11-12. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=dzzb201001002
    [19] 冉灵杰, 宋殿兰, 刘家荣.30 m无循环取样钻机的研制[J].地质科技情报, 2016, 35(5):221. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=dzkjqb201605031
    [20] 王娇君.基于虚拟现实的化工实验仿真软件开发与应用研究[D].杭州: 浙江大学, 2018.
    [21] Smith M, Maiti A, Maxwell A D, et al.Using unity 3D as the augmented reality framework for remote access laboratories[J].Lecture Notes in Networks and Systems, 2019, 47:581-590. doi: 10.1007/978-3-319-95678-7_64
    [22] Olaverri M C, Errea M J, Diaz A A, et al.Connection of the SUMO microscopic traffic simulator and the unity 3D game engine to evaluate V2X communication-based systems[J].Sensors, 2018, 18(12):4399. doi: 10.3390/s18124399
  • 加载中
图(8) / 表(1)
计量
  • 文章访问数:  953
  • PDF下载量:  434
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-02-27

目录

/

返回文章
返回