我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

煤矿安全虚拟现实仿真通用引擎的设计与研究

文章来源:第三维度 作者: 发布时间:2012年05月06日 点击数: 字号:

    来源:第三维度
    作者:刘强,陆愈实,徐晓贤,杨黎
    单位:中国地质大学(武汉) 工程学院 
          中国地质大学(武汉) 应用心理研究所

    摘要:分析了煤矿安全仿真软件现存的问题,提出了开发煤矿安全虚拟现实仿真通用引擎系统的新思路。煤矿安全虚拟仿真引擎,就是对煤矿安全虚拟现实仿真系统的通用核心底层技术进行独立开发,并将之集成和封装,形成面向煤矿安全仿真应用的应用程序接口函数(API) 。引擎的通用性与扩展性,将给二次开发人员提供一个通用平台,并大大降低仿真系统的开发成本。引擎的开发将促进煤矿安全虚拟仿真系统的广泛应用和矿山数字化进程。

    随着“数字地球”和“数字化矿山”的提出,虚拟现实技术和仿真技术越来越多地运用到煤矿安全领域,从职员安全培训到领导的安全决策分析,煤矿安全虚拟现实仿真系统都起到了不可替代的作用。然而,传统的煤矿安全仿真软件的开发存在2 个明显的缺点:一是安全仿真建模与具体应用完全联系在一起,使得模型只能用于具体的问题中,较少考虑模型的重用性和通用性;另一个是每一个安全仿真模型都有自我的完整实现,造成存储和计算上的冗余,因此安全仿真应用不具备良好的通用性和可移植性,导致仿真应用重复开发和资源浪费。本文提出,基于OPENGL,开发一个底层通用仿真模型的集成框架(类似游戏引擎的煤矿安全虚拟仿真通用引擎),以提供一个系统仿真的软件支撑环境,它将具有良好的定义和文档的建模接口标准,并推进与其他仿真系统之间的互操作性和可移植性[1] 。

    1  煤矿虚拟现实仿真通用引擎简介

    1. 1  煤矿安全虚拟现实仿真通用引擎概念

    煤矿虚拟仿真系统的开发过程中,为了确保核心算法模块的通用性、扩展性和可移植性,并尽可能地节约开发成本,通常可以把与煤矿安全仿真系统核心技术密切相关的内容提取出来,进行独立开发。煤矿安全虚拟仿真引擎,就是在对这些通用底层技术进行整理和封装的基础上形成的一个面向煤矿安全仿真应用的应用程序接口函数(API) 。它在煤矿仿真系统中处于核心地位。

    1. 2  煤矿安全虚拟现实仿真通用引擎特点
 
    煤矿安全虚拟仿真引擎应具有以下特点:

    ① 驱动性:仿真引擎仅在功能上支持煤矿安全仿真的应用,二次开发人员通过它提供的功能来实现实际需求,但具体的实现细节则依赖于仿真应用本身;

    ② 完整性:引擎是能完整实现煤矿安全仿真所有功能的底层函数集,它为支持的功能提供一整套相关函数集,完美地支持该功能的实现;

    ③ 独立性:引擎可以不依赖于具体的煤矿仿真系统而独立存在。

    2  引擎功能设计

    煤矿虚拟仿真引擎应该具备以下3 个通用功能。

    (1) 煤矿安全虚拟仿真引擎必须提供实现交互虚拟现实(VR) 场景的接口。

    通过接口,虚拟的环境利用计算机图形构成三维数字模型,将产生逼真、开放和互动的“煤矿虚拟环境”,让用户产生如临真实煤矿环境的沉浸感。实物虚化、虚物实化和高性能的计算处理技术是引擎应该具备的[2] 。

    (2) 煤矿安全虚拟仿真引擎是基于高性能的空间数据库引擎(Spatial Database Engine,SDE) 的。

    3D 煤矿仿真系统涉及的是一个复杂的三维空间,需要海量数据来描述,数据主要分为矿山静态数据和矿山生产动态数据。静态数据主要包括地质勘查数据、测量数据、工程数据、煤特性数据、矿山储量数据等[3] ;动态数据主要包括煤炭流数据、材料流数据、仪器仪表数据及人力资源数据。空间数据具有数据量大和数据复杂的特点。数据量大是由于煤矿三维空间需要海量的空间拓扑数据、属性数据和图像数据来模拟;数据复杂是由于空间数据用流行的关系型数据库并不能很好地表达。空间数据库引擎在现有的关系或对象关系型数据库管理系统的基础上进行空间扩展,将空间数据和非空间数据集成在目前绝大多数的商用DBMS 中。空间数据库引擎不依赖于具体的数据库系统,仅提供负责3D GIS 快速的、多用户的数据存取,提供开放的应用开发环境、数据挖掘和查询分析过程。空间数据库引擎是煤矿安全虚拟仿真引擎的一个核心功能。

    (3) 仿真引擎必须具备预置的底层决策分析通用模型以及二次建模接口。

    逼真的可视化环境只有加上后台强大的分析决策能力,才能从理论和数据上显示煤矿仿真系统的真实性,并为煤矿安全提供准确的分析结果。这个功能是决定煤矿安全仿真引擎好坏的最重要指标。仿真软件的预制模型不可能涵盖所有情形,引擎整体功能就会有所限制,因此引擎将提供强大的二次建模功能。二次建模的灵活性和可编程功能将使安全仿真系统的功能更加强大。

    3  引擎总体构架

    3. 1  引擎构架简述

    煤矿安全虚拟仿真引擎可分为2 部分:仿真引擎外部接口和仿真引擎内核[4],如图1 所示。

煤矿安全虚拟现实仿真通用引擎的设计与研究
图1  引擎总体构架

    引擎外部接口负责程序与内核的数据传递,使仿真系统具有良好的交互性。外部接口将预留足够的外部接口供系统的数据输入,包括煤矿中使用的传感器上传的信息。引擎提供强大的网络通信功能,支持分布式仿真系统的开发。

    引擎内核分为:空间数据库引擎、三维地质地生成模块、煤矿安全生产系统仿真模块、煤矿安全数学通用模块、煤矿安全物理系统和安全决策支持模块。空间数据库引擎负责3D GIS 数据的存取、数据挖掘和查询分析过程。三维地质地生成模块主要模拟3D 地学空间。煤矿安全物理系统模拟碰撞的检测和响应以及加速度、摩擦力、煤层力学等物理特性。

    其余3 个模块设计将详细介绍。

    3. 2  煤矿三维场景仿真模块

    煤矿三维场景是煤矿安全虚拟仿真系统虚拟现实的第1 步,主要完成虚拟漫游模拟场景,场景分为固定场景和煤矿生产系统动态场景,其中动态场景具有交互性,如图2。引擎采用OPENGL 完成绘制三维物体、坐标转换、物体剔除、三维消隐、光照着色、指定颜色模式、增强图像效果(反走样、融合和雾化) 、管理位图和图像、纹理映射、制作动画和交互技术等[5] 。

煤矿安全虚拟现实仿真通用引擎的设计与研究
图2  煤矿三维场景框架

    静态场景主要包括井巷对象和固定设备。井巷对象主要包括立井系统、开拓系统和采取系统,固定设备包括采掘、通风、运输、供电和监控等固定的煤矿机械设施。引擎将提供多样性的模型库,同时允许二次开发中自建模型库。模型库的多样性和可自建性能很好地描述煤矿虚拟现实场景,模型库包括巷道模型以及煤矿机械模型等。二次开发人员只要利用3dsmax 等三维图像软件就可以对实体建模,引擎可识别3ds 或MD2 等通用格式文件,直接将实体模型导入仿真程序中,并通过参数加以交互控制。

    动态场景即煤矿生产系统和移动的设备和人员。生产系统一般有3 个子系统:采掘系统、运输系统和通风系统。引擎将对这3 个过程全程可视化模拟。煤矿虚拟生产系统场景包括主井箕斗提升运输仿真、副井提升运输仿真、掘进工作面施工工艺仿真、采煤工艺与采煤方法等仿真。引擎提供参数和接口,二次开发人员利用接口和参数控制以及关键数据的输入,即可方便地得到某个煤矿生产过程动态的模拟。引擎将提供3 种模式:正常生产过程仿真、应急预案演练仿真和事故过程模拟。正常生产过程仿真是对正常生产状态下整个煤矿进行全方位的3D 模拟,它主要应用人员培训和虚拟展示,便于人员直观形象地了解煤矿的生产工艺和流程;应急预案演练仿真是模拟事故发生的现场,人员的自救互救以及应急救援方案的演习,主要用于煤矿对内部职工进行安全应急演练,提高职工应急能力;事故过程模拟重现事故现场,以便详细分析和调查事故原因。

    3. 3  煤矿安全数学通用模块

    此模块提供数学仿真模型计算的通用底层算法,并预留用户灵活运用的仿真接口。模块不仅包含了点、三角形、向量、矩阵、平面、曲面等有关数学方面的操作,还包括了在煤矿安全领域运用较多的通用算法。例如,风网解算数学模型、层次分析法(AHP) 数学模型、神经网络通用数学模型、蚁群理论数学模型和博弈理论等。通风网络计算广泛应用于煤矿数字化通风,模块实现矿井网络拓扑图的自动生成和复杂通风网络的解算,风网解算采用常用的Scott - Hinsley 法和Newton 法。另外,Matlab 很好地支持工程计算、仿真计算和图形显示功能,在煤矿仿真中应用广泛,但它不适合作为通用的编程平台,模块将调用Matlab Engine。Matlab 引擎函数库中提供的函数完成与Matlab Engine 之间进行数据交换和命令传送的任务。Matlab Engine 采用客户机/服务器(C/S)的计算方式,通过Windows 的ActiveX通道和Matlab 接口。在具体的应用中,仿真系统作为前端程序,通过调用Matlab En2gine 在后台与Matlab 服务器建立连接,实现动态通信。

    3. 4  煤矿安全决策支持模块

    煤矿安全决策支持模块包含煤矿安全应用广泛的决策支持分析模型,并提供通用接口供二次开发人员自建分析模型。煤矿安全决策支持模块是总结以往煤矿常发的事故,建立相应分析决策模型。煤矿安全决策支持模块包含虚拟现实开采计划编制模型,数字化通风,煤矿透水水淹模型,煤矿瓦斯突出预测模型,人员逃生疏散模型,煤矿火灾过程仿真模拟模型,煤矿安全事故树可视化分析模型[6,7] 。另外,模块中包含的层次分析法(AHP) 是煤矿安全分析常用的建模手段,它可以将煤矿中许多半定性半定理的问题转换成定量计算,即把复杂的煤矿决策系统层次化,通过逐层比较各种关联因素的重要性来分析、决策,给决策人员提供定量依据。煤矿安全决策支持模块预留接口和参数可使用户方便地将自己的模型加入仿真系统中,增加仿真系统的决策支持功能。

    4  结语

    煤矿安全虚拟仿真引擎是对煤矿安全虚拟仿真系统的通用核心技术的集成和封装。它具有以下特点:

    (1) 引擎具有良好的通用性和可移植性,利用引擎可以使用VISUAL C ++/VS.NET+ OPENGL 或者VISUAL C++/VS.NET+ DirectX SDK作为开发平台,数据库系统可以采用Oracle、SQL Server 和MySQL 等数据库。引擎可以用来开发整套煤矿安全虚拟现实仿真系统,也可只用来开发煤矿数字化通风系统、煤矿安全培训系统、煤矿安全应急救援系统、煤矿事故分析系统、煤矿安全监控系统、煤矿采掘接替计划仿真系统等单项安全仿真软件[8] 。

    (2) 引擎具有强大的数值分析和煤矿安全决策支持功能。引擎的最终目的就是提供良好的虚拟现实场景和后台强大的决策支持分析计算功能。

    (3) 引擎预留二次建模接口,二次建模具有灵活性和简易性,这样可以大大拓展仿真系统的功能。二次开发时可方便地定义实体属性、变量和决策逻辑;可以方便调用数学函数和算法;可以方便构建新的模型,改变现有模型。

    (4) 引擎的通用性和可移植性将大大减轻程序员的工作量,降低安全虚拟仿真系统开发的成本,有利于推进矿山数字化的进程。

    参考文献

    [1]常国岑,李学军,杜金柱. 军事通用仿真模型及其集成框架研究.系统仿真学报, 2007,19 (3) :486 - 490.

    [2]王宝山,魏占营. 煤矿虚拟环境的巷道三维建模研究. 测绘学院学报,2005,22 (3) :204 - 206.

    [3]毛善君,熊伟. 煤矿虚拟环境系统的总体设计及初步实现. 煤炭学报,2005,30 (5) :571 - 575.

    [4]徐明亮,卢红星,王琬. OPENGL 游戏编程. 北京: 机械工业出版社,2008,1.

    [5]王兵建, 周心权, 王海燕,等. 煤矿重大事故模拟虚拟现实系统的开发与应用. 矿冶工程,2007,27 (2) :14 - 17.

    [6]张献忠,姜薇,王茂光. 虚拟现实技术在煤矿安全培训中的应用探讨. 矿业安全与环保,2005,31 (3) : 29 - 30.

    [7]宋远卓,代昌标,陆愈实. 煤矿火灾过程仿真模拟系统的研究. 中国安全生产科学技术,2006,2 (5) :55 - 58.

    [8]Ruixin ZHANG,Dongfang YU, Xin wang LI,et al . Surface mine systemsimulation and safety risk management . Journal of China University ofMining and Technology, 2006,16 (4) :413 - 415.

    作者简介 刘强,1984 年生,湖北宜昌人,在读硕士,专业为安全技术及工程,研究方向为安全仿真及软件开发。

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料