【关键词】虚拟现实 事故救援 训练系统 人工智能 碰撞检测
【摘 要】针对煤矿事故救援训练时高成本、耗时长、缺乏灵活性、不能适应复杂的变化、存在危险的问题,提出了一个将训练过程以游戏的方式进行的虚拟煤矿事故救援训练系统设计方案。分析了该系统的总体结构,阐述了该系统各模块的功能。并结合实际开发经验,就三维建模、粒子系统、碰撞检测等技术进行了探讨。
0 引言
近年来,我国煤矿应急救援工作在减少矿山事故人员伤亡和财产损失、促进矿山安全生产方面发挥了重要作用。在救援时,救援行动的成功与否取决于救援队员能否迅速、正确地决策并实施,而这些又取决于救援人员的素质和他们平时训练水平。把虚拟现实技术作为一种训练学习工具,可以模拟或再现一个真实的环境,救护队员可以通过进入这个虚拟的环境,尝试采取各种各样的救援措施,从而获得训练。把游戏引入训练过程中使训练具有趣味性和吸引力,从而激发了救护队员的学习和训练热情,使队员得到更好的训练。本文将介绍一个基于虚拟现实的煤矿事故救援训练系统设计与实现,在第 2部分描述了一个虚拟煤矿事故救援训练系统总体结构,第 3部分就系统所用到的一些关键技术进行了探讨,第4部分详细描述了系统各模块功能,并给出了瓦斯爆炸事故场景的模拟以及煤矿火灾事故救援训练场景的模拟,第 5部分给出结论。
l 虚拟煤矿事故救援训练系统总体结构
虚拟煤矿事故救援训练系统主要用于矿山救护队员事故救援的训练。提出利用计算机技术建立一套以交互方式模拟接警、调度、现场指挥全过程模拟训练系统。该系统主要包括以下几个方面内容:
1)顶板冒落、火灾、水灾、瓦斯煤尘爆炸事故过程的模拟;
2)各种事故救援方案的编制;
3)各种事故救援方案效果的自动评估;
4)提供煤矿基本知识和完整的救援知识。
虚拟煤矿事故救援训练系统借助虚拟现实技术,将事故现场在计算机中真实再现。队员可以像操纵一个 PRG游戏一样。可以置身于~个真实的煤矿中,可以身临其境的去体验煤矿的各个环节和完成各种训练任务。主要训练救护队员对突发事故的实时处理能力,如何救护,将损失降低到最低限度。救护队员通过自己的经验并结合训练指导系统给出的参考指导,从而做出正确救援判断。图 1所示为虚拟煤矿事故救援训练系统总体结构。
2 虚拟煤矿事故救援训练系统关键技术
2.1虚拟煤矿事故救援训练系统关键技术
1)建立 3D模型关键技术
煤矿事故救援训练系统主要采用虚拟现实技术对事故场景进行再现。因此,在构建 3D模型时,鉴于煤矿 自身的特殊性,因其地质构造条件复杂、机械设备类型繁多等特殊条件,直接导致了矿 山模型的复杂性和多样性,模型的这种特点直接导致了对模型实时漫游等操作的效果难以保证。实验发现,运用多细节层次模型技术能较好地解决类似问题。为了增加整个场景的真实感和立体感,在建立建筑物等的模型时,采用纹理映射…技术来控制场景复杂度、加速图形绘制速度。
2)粒子系统建模
粒子系统方法就是将大量的粒子图元集合在一起,通过其属性的变化表现物体的物理特性。每个粒子在任一时刻都具有随机的形状、大小、颜色、透明度、运动方向和运动速度等属性,并随时间推移发生位置、形态的变化。每个粒子的属性及动力学性质均由一组预先定义的随机过程来说明。粒子在系统中要经过产生、运动和消亡三个阶段,这三个阶段中粒子的各种属性随时问的推移发生各种变化,从而充分体现出不规则物体的动态性和随机性。
在虚拟煤矿事故救援训练系统,场景中的火焰、烟、水束、爆炸等物体逻辑结构很难表达,很难用几个图元表示。而粒子系统适用于这类物体。
3)碰撞检测
为了使煤矿事故救援训练系统的虚拟效果更富有真实感,碰撞检测是必须要的。针对煤矿虚拟场景有着成千上万个运动着的物体。这种虚拟场景的几何复杂度使得碰撞检测的计算复杂度人大提高。然而精确的碰撞检测又与人们对系统的实时性相矛盾。因此需要一种数据结构对场景有效管理,二元空间分割树(BSP树)是一种对场景有效管理方法。
然而由于这种空问数据结构的静态特征使它们很难处理动态场景。对此用一种基于 BSP树的快速算法来管理整个场景,一种半调整。这一算法主要是用于处理动态物体的碰撞。它不需要完全重新构建树,可以通过部分调整使 BSP树结构达到最合适的平衡状态和保持最高的特性。 可以用一种调度算法来评估 BSP树开始失衡的地方,用一些策略来选择改变分割平面,从而降低更新带来的树结构改变的代价。
3 虚拟煤矿事故救援训练系统
3.1事故场景模拟系统
在煤矿事故模拟系统中主要包括:顶板冒落、火灾、水灾、瓦斯煤尘爆炸情形的模拟。限于篇幅,本文以瓦斯爆炸模拟为例。
由于瓦斯爆炸、燃烧、烟雾场景足由无数小颗粒随机运动而产生的,不仅外观形状极不规则,没有固定的形状,随机性大,更重要的是它的颜色、形状甚至声音时刻变化,使得对上述场景的模拟变得十分复杂。经过实验证明,比较成功的模拟方法足粒子系统算法。
爆炸的产生是通过定义粒子的数量,对新生粒子赋予初始状态值并在系统中产生这些粒子来实现的。应用粒子系统算法应定义粒子的主要属性有:生命周期,粒子数,粒子源的形状、粒子的大小、粒子的扩散速度,粒子的颜色。爆炸、燃烧以及烟雾的模拟场景根据时间改变它们的颜色、形状、位置和方向,以达到实时变化的效果。因此在应用粒子系统模拟爆炸和燃烧等场景时要进行动态的控制和变化。
粒子系统运行流程如下:
扔始化粒子
当程宁在执行时
妇袋粒子没有消亡
根据粒子的速受更赣粒子的位置
根据粒子的拥速度更新粒予的遮瘦
修改粒子的能量
如染粒予的能量小于某个阚值
设置粒子状态为酒亡
锄裂粒子击中场景物l奉或其他粒子
修改粒子的短霆、J,1、速受和能量
显示粒了
程宇结束
在爆炸的过程中,爆炸产生的烟雾的颜色是随着时间而时刻变化的。因此对爆炸混合物颜色的处理是十分重要的。根据常识,爆炸开始时爆炸混合物的颜色应该以雾状的银白色为主,随后变为橘黄色,最后红色成为主要颜色。随着时间的推移,火焰的颜色应该逐渐变黄、变灰,最后变黑。图2所示为瓦斯爆炸颜色的渐变过程。刚刚开始时以银白色为主,随后变为橘黄色,最后红色成为主要颜色。
3.2虚拟煤矿事故救援训练系统设计
救援训练系统主要是采用人工智能技术对训练者给以指导的。
虚拟煤矿事故救援系统包括:基本训练模块,专家知识模块,指导决策模块和训练评估模块。其各个部分功能定义如下:
基本训练模块。该模块主要是完成对队员的基本训练。该模块负责记录每个队员的静态信息:如队员的职位,喜好害怕等信息,和每个队员在训练过程中的动态信息:如队员已经完成的任务,所获得的经验,奖励,惩罚,所消耗的体力,所剩余的生命力值等动态信息。通过这些来反馈队员的生理、心理状态及受培训的程度,并将其设置相对应的值。然后评估模块通过…个最低评估标准来评判队员的训练程度、队员是否训练合格。对于合格的队员表示攻关成功,队员的各种分值相应的增减,并可以进入下一阶段的训练中。在本系统中,根据煤矿每一种事故发生严重程度分为4个关卡,每个关卡多有评分系统,可以根据队员闯关的表现情况进行打分,使队员在攻关的艰难过程中,磨练斗志,培养技能,提高自己的能力。随着攻关难度的增加,事故的严重程度越复杂,队员都有可能因伤失生命而导致攻关进程终止。
因此,队员必须学会保存生命力,尽可能减少伤亡。专家知识模块。该模块包括训练者完成所有任务所必须掌握的基本知识库和专家决策知识库。专家决策知识库内容主要是从处理煤矿事故有丰富实践经验的专家工作中提炼而成的。包括:避灾路线的确定;逃生线路的确定;选择救援措施等。它为指导决策提供依据。
指导决策模块。该模块是救援训练系统中的核心模块。它负责提供指导策略。如队员在训练过程中的纠错提示、帮助提示、评估提示等等。它通过对当前队员所处的事故类型和事故严重程度进行分析,在专家知识决策库的基础上,给出最佳救援方案。当然队员既可以参照指导决策也可以依据自己的经验做出决策。
训练评估模块。对训练结果的一个近似的客观估计和评价,即训练效果。最低的评估要求是被训练的救护队员的生命值大于零,即活着离开事故现场。对于救护队员活着离开事故现场是通过借助训练时间长短、基本训练模块的队员的心理生理状态等一些动态信息以及专家知识模块和决策指导模块的最佳逃生或救援路线结合得出综合评估结果。
本文是:t,~OpenGL与Vc++相结合在Windows平 台上实现基于C/S结构下的虚拟煤矿事故救援游戏式训练系统。用户可以对整个场景虚拟浏览和自动漫游,也可以对整个煤矿事故救援训练过程进行交互控制。
应用OpenGL的系统配置和Visual c++编译器的设置:动态链接库 :GLU32 DLL、OPENGL32 DLL (放 到C:\WINDOWS目录\system32) 头文件:GL.H、GLAUX.H、GLU.H (放到 C:WrogramFileskM icrosoft Visual Studio\VC98klnclude\GL) 库文件 :GLAUX LIB、GLU32.LIB、OPENGL32.LIB(放~ljC:Wrogram FileskMicrosoft Visual Studio\VC98~IB) 打开菜单Project\Settmgs,在弹出的对话框中选择Link标签,在Object~Libaray Modules--栏 中增)JHGLU32 LIB、 0PENGL32.LIB这两个文件。
用户在场景中用替身(Avatar)表示,在进入游戏训练时,用户可 以选择一个空闲的Player作为 自己的替身,在每一个场景需要选择相应的装备,执行相应的操作,并获得相应的积分何扣分,完成训练的目的。图3所示是对煤矿火灾事故救援训练场景的模拟过程:发现火灾一接警调度一灭火过程。首先是被训练队员发现火灾,并向上级报告火灾情况(发生地点、气体、温度、通风设施、巷道破坏情况等)。然后根据指挥,开展救援行动。
4 结束语
虚拟煤矿事故救援训练是对救援训练过程的仿真,目的在于使救护队员在计算机提供的虚拟环境中熟练掌握救援技术。通过过程仿真,重现煤矿事故现场,表现给救护队员一个逼真的三维视景环境,犹如身临其境,沉浸在煤矿事故的虚拟环境中。而且虚拟煤矿救援训练系统把游戏与教育练相结合,寓教于乐、寓训于乐,极大地提高了队员的想象力,激发学员的学习兴趣,强化学习效果,使队员在游戏中提高能力,在训练中体验快乐。
参考文献
【l】藤越,王志良.基于OpenGL技术的人脸表情动画合成的研究【J】.微计算机信息,2004,20(5):100-102.
【2】赵春霞,张艳,战守义 基于粒子系统方法的三维火焰模拟【J】.计算机工程与应用,2004,40(28):73-75.
【3】Luque R G,Comba J L D,Freitas C M D S.Broad—phaseCollision De~cfion using Semi—adjusting BSP—trees[c],SI3D’05:Proceedings of the 2005 symposium on Interactive 3D Graphics and Gam es.New York,NY USA,2005ACM Press.179—186.
【4】程学 习,韩玉春,邹恒义,陈福.基于虚拟现实的矿井瓦斯爆炸模拟关键技术研[J].华北科技学院学报,2004,5(2):1-6
【5】Chen C,Li J,Tang L,Feng X.2005 Research Advance inSimulation an d VisualizatiOn of Forest Fire.spreading viaComputer[J].Scientia Silvae Sinicae,2005,41(5):155—162
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。