基于Unity3D的采矿方法动态仿真系统研发

2018-03-16 03:39梁瑞余沈庆阳
金属矿山 2018年2期
关键词:采矿方法炮孔组件

梁瑞余 徐 帅 沈庆阳 安 龙

(1.东北大学资源与土木工程学院,辽宁 沈阳 110819;2.深部金属矿山安全开采教育部重点实验室,辽宁 沈阳 110819)

1 研究背景

采矿方法作为金属矿床地下开采过程中核心内容,其选择的科学性将直接影响矿山经济效益和矿产资源的回收利用程度[1-2]。采矿方法通常采用工程图纸中的“三视图”表示,采用平面图纸结合文字说明来表示一个矿块开采的空间和时间上的动态过程,其表述与理解相对困难,需要非常强的专业知识支撑,限制了采矿方法的表述、传达与交流。以往只靠二维图形来教学的方法不能清楚、直观地反映出采场内部结构,不利于教师描述采矿方法的流程,学生也不能直观地理解其具体构造,导致学习效果不佳。因此,采矿方法的科学可视化一直是采矿教学、科研和生产实际中重要的研究内容之一。

三维动态仿真技术是基于计算机图形学、3dMax三维建模、面向对象编程等多项技术,将复杂、漫长的演化过程立体、直观重建,通过动态可视化与交互控制,再现事物发展变化的时空关系的一项技术。为了简化复杂的采矿方法的理解交流与学习的过程,一些学者基于三维动态仿真开展了大量研究,修春华等[3]研发了虚拟矿山漫游系统、彭家兰等[4]研发了矿井通风三维仿真系统、僧德文等[5]研发了矿床的三维可视化仿真系统,将采矿方法工艺环节的时空关系、工作流程等都借助交互操作展现,丰富了采矿方法教学工具,提升了采矿工程学生的空间想象能力和复杂工艺过程的理解能力。但现有的动态仿真交互系统大多不完善,如漫游系统和逃生系统的三维模型多采用面片模型,由于面片模型难以在Unity场景下添加用于物理仿真的碰撞体组件,且渲染效果不佳,不能进行更真实的爆破仿真,所以该类模型的用途局限在漫游仿真层面;矿床的三维可视化等仿真系统多基于OpenGL开发,交互层搭建难,开发工程量大且整体仿真效果不佳,如需对爆破进行模拟,需要从底层编写物理碰撞方法,难度较大。

Unity3D作为跨平台三维引擎,因其强大优势,受到虚拟现实(Virtual Reality,VR)等众多行业青睐。其优点有:能够根据三维场景实时内建贴图、光照及烘培系统,创造逼真的3D视觉效果,支持C#等多种脚本。近年来,国内外采矿学者也在借助Unity3D平台进行项目研发,Bednarz T P等[6]借助Unity3D平台,利用VR、智能手机等设备,以服务于培训工作为目的,开发了沉浸式VR程序,为采矿环境中的远程操作提供交互环境,成为了良好的教学媒介;Sun Q等[7]利用可穿戴设备Oculus Rift DK2研发了建筑逃生系统,通过逼真场景实现效果预览和员工培训;Harrod J R[8]基于Oculus DK2设备进行了基于场景的采矿教学虚拟现实仿真研究,得到了良好的试验效果。

由此可见,基于三维可视化的采矿工程教学交互系统在国内外均受到了采矿学者的重视,其开发也成为目前数字矿山[9-10]的一项重要研发内容。但现有的研究多为开采过程宏观性、系统性的展示,对具体的采矿方法方面仿真研究较少。因此,本文针对采矿方法仿真需求,依托Unity3D平台和3dMax三维建模软件,研究包含围岩的巷道模型的创建方法,利用不同的Unity组件完成采矿过程中不同环节的交互可视化,形成一个对采矿方法完整仿真的动态演示系统,并通过大量测试检验不同可视化方法对系统性能的影响,提出一套简单可行的仿真系统搭建方法,本研究可为采矿方法动态仿真提供借鉴。

2 采矿仿真的流程及关键技术

2.1 采矿方法仿真系统框架

采矿方法仿真系统包括模型建立、Unity场景渲染输出、开采流程演示和场景交互。总体架构如图1所示。

图1 采矿方法仿真系统框架Fig.1 Simulation system framework to mining method

2.2 模型创建

采矿方法仿真系统研究首先需要完成各项工程模型创建[11-12],主要包括:矿体、运输巷道、穿脉、出矿穿脉、天井、充填体、堑沟、凿岩硐室以及炮孔等。根据模型的用途不同,常用的建模方法包括:实体阳模建模法和面片建模法。其中前者适用于矿体及开拓系统外部效果预览,因不能进入模型内部,不能展现细节构造、进行漫游交互以及动态掘进演示;后者适用于基于摄像机等非物理实体漫游的三维漫游场景,但面片模型因没有实体厚度,渲染容易出现偏差,且难添加用于物理效果仿真的碰撞体组件,导致该类模型不能进行自由视角切换和物理爆破仿真。

基于上述问题,本文采用闭合二维曲线挤出实体建模法,具体操作步骤如图2所示,其过程采用AutoCAD与3dMax相结合的模式。其中:第一步中二维轮廓线为设计巷道的实际尺寸轮廓;第二步中向外偏移距离可以根据演示系统需要的岩壁厚度不同进行调节,如无具体要求,建议偏移距离为巷道宽的1/5;第三步中封闭外轮廓框用于创建巷道底板和顶板;第四步中适合的闭合曲线是指能使物体呈现规则形状(矩形、最小体积弯曲实体)的曲线,以此减少使用网格碰撞体的频率,该处理可以避免碰撞体交汇和过于复杂产生冗余物理碰撞计算。

Unity3D中碰撞体和刚体组件用于模拟物理碰撞、重力、摩擦力以及弹力等,其中,碰撞体即物体碰撞边界,根据物体形状选择不同的碰撞体类型。随着场景中碰撞体数量的增多和碰撞体的复杂度变大,场景渲染压力变大,系统运行帧率下降,所以,在保证仿真效果的同时,按照球形(Sphere)>胶囊形(Capsule)>矩形(Box)>网格(Mesh)的顺序选择碰撞体能够获得良好的运行帧率,保证系统流畅运行。

图2 巷道三维建模步骤(以出矿川为例)Fig.2 Three-dimensional modeling steps of roadway (taking the mining roadway as a case)

模型创建完成后,需对模型贴图,主要利用UVW贴图、UVW展开2种修改器,具体贴图流程如图3所示。

图3 模型贴图处理流程Fig.3 Model map processing flow

2.3 坐标系转化

Unity3D自身的建模能力较弱,只能创建简单的三维模型,所以场景中三维模型主要来源于Sketchup、3dMax等三维建模工具。而3dMax在三维建模上优势明显,能够对模型进行更细致的面编辑、具有强大的渲染系统、能够修改操控轴等,所以本研究选择3dMax为建模工具。

3dMax中采用右手坐标系,而Unity3D中采用左手坐标系,源自3dMax的模型直接导入至Unity3D场景会出现X轴旋转为-90°的现象,影响物体后续布置与交互操控,所以需要统一坐标系。由于Unity3D中无法改变物体坐标轴,所以,左右手坐标系的转化需要在3dMax中完成。具体步骤为:对物体进行轴调整,选择仅影响轴选项;将物体坐标轴绕X轴旋转90°;在导出为FBX格式的同时选择Y轴向上。最后导入到Unity3D环境中的模型坐标轴将与左手坐标系一致。

2.4 模型导入与预处理

完成模型创建和贴图后,将模型导出为FBX格式,并勾选嵌入媒体选项,使材质绑定到三维对象中。除采矿方法所需的矿体与各工程模型外,还需在3dMax对需破碎实体进行破碎处理(图4)。碎块数将影响爆破仿真效果,就采矿方法仿真系统而言,经过大量爆破仿真测试,建议在逐次单排爆破过程中,一次爆破的破碎块数小于3 000块为宜。

图4 预制破碎断面效果Fig.4 Precast fracture section effect

三维实体导入Unity3D场景后,需要绑定碰撞体、刚体和驱动脚本(C#控制代码)等组件,修改组件参数用于模拟真实效果,包括修改物理材质,调节摩擦因数、弹性模量等。同时,为实体添加不同的标签(Tag)、将一些固定不动的实体设置为静态(static)可以简化驱动代码调用。

2.5 工程可视化

采矿方法可视化包括:巷道掘进(渐现)可视化、硐室掘进(渐隐)可视化、炮孔钻进可视化、爆破烟雾(火光)可视化、爆破抛掷可视化以及底部工程掘进可视化等。

(1)掘进(渐现/渐隐)可视化。采矿仿真过程需要对不同工程运用不同模型,如主运输巷道等采用阳模,凿岩硐室等采用阴模,针对阴/阳模型,可视化方法均为在Unity3D场景中重写渲染器(Shader)来实现不同轴向的渐现/渐隐效果。重写渲染器是对材质球的渲染模式进行重写,其中材质球源自物体在3dMax中的贴图。FBX模型导入Unity3D后,会生成对应的材质球,默认情况下,材质球的渲染器都是standard模式,要实现掘进工程的渐现/渐隐,需要重写渲染器,并在控制代码中设定控制变量,将物体小于控制变量的部分进行渲染,而大于控制变量的部分进行光遮罩处理,进而达到渐现效果。凿岩硐室的渐隐可视化处理方式相反即可。

(2)炮孔钻进可视化。炮孔钻进贯穿采矿过程始终,在仿真系统中占据主要地位。在本仿真系统中,炮孔凿进可视化采用轴向拉伸法。其思路为:通过对炮孔阳模进行掘进轴向的拉伸,实现凿孔过程,而拉伸的速度和起止位置,均由代码进行控制。炮孔凿进也起着承前启后的作用,需要在凿进过程通过控制代码传递信息以辅助完成仿真系统演示逻辑。其中主要信息包括:凿进炮孔类型、凿进速度、凿进轴向、是否进行微震球实时动态展示、是否受限制于其他掘进工程和计划掘进长度等。以上信息通过代码进行传递到总控制代码中,用于激活或是静默某一进程,完善演示系统逻辑。

(3)爆破效果可视化。爆破过程中,火光、烟雾以及爆破后的粉尘扩散是采矿过程中的常见效果。这一部分的可视化依靠Unity3D中粒子系统组件,通过控制粒子的初始速度、初始粒子大小、生命周期、粒子颜色以及散发范围和形状等形成不同的粒子效果,进而对爆破的火光、爆破粉尘和烟雾等进行可视化,再通过代码控制其演示的开始与结束,即可与爆破工程相结合进行可视化演示,见图5。

图5 爆破效果Fig.5 Blasting effect

(4)爆破抛掷可视化。爆破工程[13]仿真主要借助Unity中的碰撞体和刚体组件完成。断面的预先破碎通过3dMax实现。根据不同的断面尺寸,结合现场实际情况,将预先确定好块度的破碎断面通过RayFire插件进行随机破碎,导入Unity3D后,添加网格碰撞体和刚体组件,并对相应的参数,如动摩擦因数、静摩擦因数、弹性模量、质量、角阻力、碰撞检测模式等进行调整。参数设置越精确得到的仿真效果越准确,但同时,电脑的CPU和显卡性能耗费也会越大,因此,需要在保证仿真效果的同时尽可能保证系统运行的稳定。爆破抛掷依靠碰撞体之间交汇触发不同方向的张力,利用张力将碎石抛出,而在采用网格碰撞体的情况下,碎石之间的碰撞体是面与面的接触,不会产生交汇,所以,需要“炮孔”碰撞体触发碰撞,“炮孔”是通过空物体添加胶囊碰撞体和刚体组件后,起到爆破炮孔作用的替代品,“炮孔”在实例化一瞬间完成其功能后便将其销毁,防止对爆破仿真产生干扰。

上述4种主要的可视化方法能够将采矿过程中的大部分细节进行模拟,除了单一使用之外,个别环节的仿真需要2种或2种以上的方法组合进行可视化模拟,如底部结构掘进成型,采用的是渲染器重写与轴向拉伸可视化相结合的模式。

2.6 操作环境视角控制

演示系统视角控制是仿真系统与用户交互的关键点,其中主要包括了视角旋转、缩放、拖动三项功能。实现原理是通过鼠标的点击获取屏幕坐标,再根据鼠标点击位置发射射线至三维场景,进而转化得到三维场景坐标。例如:视角的旋转根据鼠标在屏幕按下按键不放开期间的起始点坐标,转化得到终点相对起点的坐标轴旋转角度,并以起始点坐标为中心,将三维场景进行相应角度的旋转。

除上述三项功能,用于采矿方法的演示系统还需要进行固定视角转换,如常用的主俯左三视图以及等轴视图。其实现是利用iTween插件,由外部UI触发,控制摄像机在不同位置与旋转角度之间平滑过度。

3 工程应用

结合上述仿真过程,针对某矿垂直药包后退式阶段矿房法(VCR法)进行了开采过程仿真系统研发。该方法的采矿参数如下:矿体水平厚度30 m,倾角70°,阶段高度50 m。矿房垂直走向布置,宽12 m,长为矿体厚度。回采顺序为“隔一采一”,矿房间隔同步回采,回采后进行充填;采用平底堑沟结构铲运机出矿,堑沟高10 m。采准工程包括,阶段运输巷道、出矿穿脉、切顶巷道,断面均为宽3 m、墙高1.8 m、全高3 m的三心拱断面,凿岩硐室尺寸为4.4 m×4 m。切割工作包括底部堑沟形成和回采过程切割槽形成两部分。堑沟形成采用扇形中深孔拉底形成底部结构。回采过程自凿岩硐室向下打垂直深孔,分段装药,自下向上分次爆破形成回采自由面;回采自由面形成后,自顶柱凿岩硐室掘进矿房内下向垂直深孔,装药后,分次逐排爆破,完成矿房回采,采用深孔侧向爆破。按照上述参数进行二维图纸绘制,再转化为三维模型,并在3dMax中对模型进行处理,最后导出至Unity3D场景中,通过C#代码和UI组件对系统进行封装,完整的演示系统界面如图6所示。

4 结 论

(1)二维曲线挤出实体建模法创建的三维模型能够满足爆破、漫游以及动态掘进等仿真演示系统功能,模型对计算机性能占用不大,能达到较好的仿真效果。

图6 某铜矿三维交互仿真系统Fig.6 Three-dimensional interactive simulation system of a copper mine

(2)采用渲染器重写法、轴向拉伸法、粒子渲染法、碰撞体组合法实现了巷道渐现/渐隐可视化、炮孔掘进可视化、爆破火光与烟雾可视化以及爆破抛掷可视化。并经过测试得出碎块数目在3 000块以内时,碰撞体组合法能够高效地模拟爆破效果。

(3)通过屏幕坐标与三维场景坐标转换方法,利用控制脚本实现了旋转、拖拽、平移等视角控制功能;借助iTween插件与UI触发的方式实现等轴视图与固定视角视图的转化,满足了交互仿真系统视角控制需求。

(4)由某铜矿演示系统的实践验证了,设置实体为静态物体、控制运动物体休眠时间、使用简单碰撞体等可以减轻计算机运算负担,达到更好的仿真演示效果。

[1] 谭玉叶,宋卫东,李铁一,等.采矿方法优选多目标决策一致性组合权重研究及应用[J].北京科技大学学报,2014,36(8):1115-1122.

Tan Yuye,Song Weidong,Li Tieyi,et al.Application and research on consistency combination weights for mining method optimization by multi-objective decision[J].Journal of University of Science and Technology Beijing,2014,36(8):1115-1122.

[2] 王新民,赵 彬,张钦礼.基于层次分析和模糊数学的采矿方法选择[J].中南大学学报:自然科学版,2008,39(5):875-880.

Wang Xinmin,Zhao Bin,Zhang Qinli,et al.Mining method choice based on AHP and fuzzy mathematics[J].Journal of Central South University:Science and Technology,2008,39(5):875-880.

[3] 修春华,孙秀娟,苗 坡,等.基于Unity3D的虚拟矿山漫游仿真系统设计与实现[J].金属矿山,2015(4):262-266.

Xiu Chunhua,Sun Xiujuan,Miao Po,et al.Design and implementation of virtual mine roaming simulation system based on Unity3D[J].Metal Mine,2015(4):262-266.

[4] 彭家兰,王海宁,彭 斌,等.矿井通风三维仿真系统及其应用研究[J].中国安全生产科学技术,2014,10(1):124-129.

Peng Jialan,Wang Haining,Peng Bin,et al.Study on three-dimensional simulation and optimization systemof mine ventilation network and its application in metal mines[J].Journal of Safety Science and Technology,2014,10(1):124-129.

[5] 僧德文,李仲学,李春民,等.矿床的三维可视化仿真技术与系统[J].北京科技大学学报,2004,26(5):453-456.

Seng Dewen,Li Zhongxue,Li Chunmin,et al.3D visual modeling system for mineral deposits[J].Journal of University of Science and Technology Beijing,2004,26(5):453-456.

[6] Bednarz T P,Caris C,Thompson J,et al.Human-computer interaction experiments immersive virtual reality applications for the mining industry[C]∥Advanced Information Networking and Applications (AINA),24th IEEE International Conference on 2010.[S.l.]:IEEE,2010:1323-1327.

[7] Sun Q,Wan W,Yu X.The simulation of building escape system based on Unity3D[C]∥Audio,Language and Image Processing (ICALIP),International Conference on 2016.[S.l.]:IEEE,2016:156-160.

[8] Harrod J.Enhancing Mining Education through the Use of a Scenario-based Virtual Reality Simulation[D].Queensland:The University of Queensland,2016.

[9] 孙豁然,徐 帅.论数字矿山[J].金属矿山,2007(2):1-5.

Sun Huoran,Xu Shuai.On digital mine[J].Metal Mine,2007(2):1-5.

[10] 徐 帅.地下矿山数字开采关键技术研究[D].沈阳:东北大学,2009.

Xu Shuai.Study on Key Technology in Digital Exploration of Underground Mine[D].Shenyang:Northeastern University,2009.

[11] 徐 帅,柳小波,孙豁然,等.基于Auto CAD的矿山三维实体井巷实现研究[J].金属矿山,2006(4):39-42.

Xu Shuai,Liu Xiaobo,Sun Huoran,et al.Study on three-dimension entity realization of underground mine workings based on Auto CAD[J],Metal Mine,2006(4):39-42.

[12] 唐忠伟,徐 帅,王运森,等.地下矿山斜坡道三维模型参数化构建方法研究[J].金属矿山,2015(10):116-120.

Tang Zhongwei,Xu Shuai,Wang Yunsen,et al.Research on a method of parameterized 3D modeling of mine ramp[J].Metal Mine,2015(10):116-120.

[13] 杨仁树,马鑫民,李 清,等.煤矿巷道掘进爆破智能设计系统及应用[J].煤炭学报,2013,38(7):1130-1135.

Yang Renshu,Ma Xinmin,Li Qing,et al.Application on intelligent system for optimization design of blasting in mine tunnel excavation of coal mine[J].Journal of China Coal Society,2013,38(7):1130-1135.

猜你喜欢
采矿方法炮孔组件
炮孔倾角对抛掷爆破效果的影响分析*
无人机智能巡检在光伏电站组件诊断中的应用
浅谈采矿方法选择对矿产资源开采量的影响
基于Floyd算法的扇形中深孔爆破布孔优化设计*
阿舍勒铜矿采场炮孔测斜实施应用
新型碎边剪刀盘组件
基于互联网平台的采矿方法选择系统设计及实现
U盾外壳组件注塑模具设计
小分段浅孔落矿采矿方法在云南勐糯矿区的应用
风起新一代光伏组件膜层:SSG纳米自清洁膜层