基于VR技术的船舶消防训练系统外文翻译资料

 2022-08-23 15:06:01

英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料


基于VR技术的船舶消防训练系统

Rui Tao, Hong-xiang Ren, 和Xiu-quan Peng

航海学院,大连海事大学,大连 116026,辽宁,中华人民共和国

654992156@qq.com

摘要:本文的目的是提高船舶消防训练的效率和水平,并节省训练费用。整个消防训练系统的框架已被设计。整个框架设计了消防训练系统。固定式水灭火系统,固定式二氧化碳灭火系统和消防服穿戴模型的设计是通过三维建模技术开发实现的。通过反向动力学原理模拟了虚拟人偶的动作,从而体现出系统的想象力。利用粒子系统实现火焰与二氧化碳的雾化效果,增强了训练系统的沉浸感。使用碰撞检测技术提升了系统的交互性,以判定虚拟人偶与设备、设备与设备、二氧化碳与火焰之间是否存在交互。训练程序中的提示信息可以协助学员完成训练。实验结果表明,该仿真系统具有良好的训练效果并可用于船舶消防训练。

关键词:虚拟现实,Unity,船舶消防,训练

1 介绍

由于船舶特殊的功能和结构,在船舶上发生的火灾具有其独自的特点。通过举行消防演习来检验船员在应对船舶各部位发生火灾时的应急能力,个人应急任务的熟练度,以及在应急过程中船员之间的相互支持与协调能力,是非常有必要的。目前的船舶消防演习大多是在真实环境中进行的。它不仅污染环境、成本高昂,而且还具有很高的风险。此外,受限于时间、金钱和环境等因素,这些类型的消防演习所起到的作用十分有限。

近年来,随着VR技术的飞速发展,VR技术在船舶消防演习中的应用受到了广泛的关注。Gao et al. 将VR技术应用于消防训练并开发了一套远程消防训练系统。不久后,Jia和Wang建立了融入消防栓系统运作过程的消防车训练仿真模型。以上的消防过程模拟通常仅限于陆上的虚拟建筑物。(中国)国内关于船舶消防模拟训练的研究仍处于起步阶段,船舶消防模拟训练系统的一些关键技术也有待进一步研究。

船舶消防虚拟现实系统通过计算机构造了一个具有沉浸感、画面感和交互性的虚拟船舶火灾场景。它可以让消防员在逼真的环境中进行模拟训练,以提高船员对船舶复杂火灾情况的处置和决策能力。基于3dsMax和Unity3D设计的虚拟船舶消防训练系统能提供船舶消防设备的模拟训练功能。

2 总体设计

2.1 船舶消防训练系统功能分析

船舶消防训练包含船舶消防设备的使用和消防演习两部分。船舶消防设备包括火灾探测与火灾报警系统、船舶固定灭火系统、消防员装备和应急通讯设备。船舶消防演习是使用多种消防设备并在一定流程下扑灭失火处火源的过程。船舶消防演习通常会在机舱、生活区、甲板、货舱和油漆间等(失火)区域进行。尽管船舶内不同区域的特点不同,演习过程也会有所差别,但流程基本相同。步骤通常为:发现火灾并报警→全体集合并清点人数→探火→灭火→演习结束(如图1)。如有特殊情况导致火情无法被控制,则进行弃船演习。消防训练系统需要完成两项工作,分别是建立并模拟操作船舶消防设备的三维模型和完成使用特定消防设备的模拟消防演习。

图1 传播消防演习过程

2.2 系统设计

在本文中,我们以巴拿马散货船“CSH”号为母型船,使用3dsMax软件建立了诸如消防控制室、消防设备和二氧化碳间的3D场景模型,并利用VR技术,构建了船舶3D虚拟场景。在培训过程中,学员可以熟悉消防设备的布置以及相关的操作要求。在该场景中进行 消防演习训练,受训人员在训练过程中可以熟悉船舶消防设备的布置及相关操作要求。

Unity3D拥有对用户友好的界面以及强大的编程能力,是一个基于图形环境的高性能3D虚拟现实开发平台。与其他虚拟现实开发平台相比,它具有多平台发布、操作简单、功能丰富以及诸多在线资源的巨大优势,确保了所开发的系统具有很强的真实感。至于其诸如付费且闭源的缺陷,对于系统的实现来说微不足道。因此我们选用Unity3D作为系统开发工具。

基于模块化的编程思路,该系统分为不同模块进行开发,包括固定式水灭火系统模块、固定式二氧化碳灭火系统模块、消防员装备穿戴模块等。每个模块的功能设计如下:

2.2.1 固定水灭火系统模块 固定式水灭火系统是所有船舶必须配备的最基本且最有效的灭火系统。为增加系统的沉浸感并使其更接近真实的场景,消防水带、消防栓和消防管路的三维模型应该足够真实。在使用固定式水灭火系统进行消防演习时,我们主要考查学员对设备的熟悉程度和学员之间的协作能力。学员以虚拟身份登录系统,其他角色由虚拟机器人代替。学员可以通过点击界面上的命令按钮与虚拟船员进行互动,以完成协作演习。具体演习的内容包括使用消防枪、铺设与回收消防水带、使用消防栓等。

2.2.2 固定式二氧化碳灭火系统模块

船舶固定式二氧化碳灭火系统由二氧化碳气瓶、控制系统、消防管路和喷射装置组成。其中,前两个放置在二氧化碳室内。可以通过手动或自动的方式开闭二氧化碳气瓶。通过操作释放阀释放二氧化碳。该消防系统需要定期维护,并进行吹气试验,以确保管路畅通。在开发模拟训练系统过程中,考虑了二氧化碳设备的使用和二氧化碳出气孔效果的实现。这样既满足吹气试验的要求,又可以满足日常使用的需求。

2.2.3 消防员装备模块

消防员装备能对探火人员的人身安全起到必要的防护,探火员必须非常熟悉消防装备的穿戴方式和使用注意事项。根据船舶的实际情况,虚拟场景中的消防装备会被放在消防控制室内。学员应当知晓消防装备的存放位置。

从消防控制室取出消防装备后,学员需按照正确的顺序穿戴消防装备。出于培训的目的,当穿戴的顺序明显不合理时,系统会给出错误操作的提示以警告学员。消防装备的每个部分都被制作成一个独立的模块,共包括12个部分。学员将在第三人称视角下通过鼠标拖动的方式将装备穿戴在虚拟人偶身上。为了方便学员选择装备,当鼠标移动到特定装备后该装备将会放大显示,学员亦可以清楚地看到装备的具体细节。

3 核心技术

3.1 反向动力学

大多数角色的动画都是通过将骨骼的关节角度旋转到预制值来创建的。子关节的位置由其父节点的旋转角度决定。因此,节点链末端的节点位置由此链上的各节点的旋转角度和相对位移决定。这种确定骨骼位置的方法称为正向动力学。然而在实际应用中,上述过程的逆过程非常实用。既是,给出了末端节点的位置,再反向推出节点链中所有其他节点的合理位置。这种需求非常普遍。例如,使角色的手臂去触碰一个固定的物体或脚站在不平坦的地面上就使用了这种方法。它被称为反向动力学。在本文中,虚拟人偶的运动模拟就采用了反向动力学。

3.2 粒子系统

在虚拟场景中,大多数场景元素(例如角色、物件和碰撞对象等)都属于网格模型。使用3dsMax、Maya等工具为它们建模,并导入到场景中。然而为了模拟场景中的烟雾、火焰、云雾、水滴等效果,则需要使用粒子系统。粒子系统会以连续、高效的方式发射大量的简单粒子单元,以模拟各类复杂的自然现象和特殊效果。

粒子系统的模拟过程主要分为以下几个步骤:

  1. 初始化。需确定模拟对象,分析对象的运动规律并对模拟对象的粒子数、每个粒子的寿命、位置、速度、加速度、颜色等信息设定初始数值。
  2. 绘制。需选择适当的纹理大小并搭配适当的颜色,以绘制粒子当前的状态。
  3. 更新。所有粒子的寿命、位置、速度、加速度、颜色等信息都将为下一次渲染进行更新。

3.3 碰撞检测

如果场景中的物体需要感应碰撞,则须为其添加碰撞器。Unity引擎为对象提供了5种碰撞器,分别是Box Collider(盒子碰撞器)、Sphere Collider(球体碰撞器)、Capsule Collider(胶囊碰撞器)、Mesh Collider(网格碰撞器)和Wheel Collider(车轮碰撞器)。根据物体形状的特点选择碰撞器,可以减少计算机的计算量,提升系统的流畅性。碰撞分为两类::物体与物体之间的碰撞和粒子与物体之间的碰撞。物体与物体之间的碰撞采用包围盒与包围盒之间的碰撞检测算法检测,常用的有::轴对齐包围盒(AABB)检测法、方向包围盒(OBB)检测法和包围球检测法。粒子与物体之间的碰撞检测采用的是点与包围盒之间的碰撞检测法。

4 系统实现

4.1 场景开发

4.1.1 三维模型构建

本文研究的基础内容——消防设备的3D模型是在3dsMax中建立的。根据消防设备的实际比例和实际工作效果,我们为其制作了白模。在经过渲染得到最终版本的三维模型后,我们将三维模型导入到整船场景中进行设备的交互。图2是整个船只场景的效果图。

图2 整船效果图

4.1.2 UI开发

针对消防训练我们需要满足以下需求:多人协助操作,操作过程中操作者应从不同的角度观察需求,确定失火地点。为此,我们通过UI上的三个模块来完成上述功能,分别是辅助视角窗口模块、辅助命令菜单模块、环境设定模块,如图3所示。

图3 UI布局

辅助视角窗口模块:辅助视角窗口位于主界面的右上角,并与UI系统使用不同的摄像头。在消防训练过程中,该窗口为学员提供了最佳的俯瞰视角。此位置还有其他小窗口,这些小窗口在使用时是互斥的。通过主界面左上角控制菜单中的相应选项可以激活不同的窗口。

辅助命令菜单模块:辅助命令菜单的位置与辅助视角窗口的位置相同。在多人训练中,虚拟人偶的动作是可以通过单击辅助命令菜单按钮来完成的。不同训练目标的辅助命令按钮的数量有所不同。例如,固定式水灭火系统操作训练,包含12个辅助命令,这些命令在界面左上方竖直方向依次排开。

环境设定模块:该模块被设置在界面主菜单中。它被用于设置火灾位置、初始化火焰和烟雾和设定火灾的发展趋势等。整个界面由Unity重新设计的UGUI开发实现。

4.2 固定式水灭火系统模块的实现

4.2.1 实现过程

此环节主要分为两部分,分别是受训者(第一人称视角)和虚拟船员对设备的模拟操作。

受训者以第一人称视角通过鼠标点击设备的方式来对设备进行操作。要获取点击事件,需要为对象添加脚本。该脚本用于定义用户在游戏中的行为。需将编写好的脚本拖到需要实现此行为的物体上。当运行程序时,对象将按照脚本所编辑的规则运动,从而实现对设备的各种操作模拟。当发生错误的操作时,系统会给出相应的提示。

4.2.2 关键动作的模拟

学员对消防水带和消防栓的操作进行模拟是保证培训真实而有效的核心。为了在虚拟现实系统中模拟虚拟人偶的复杂运动,必须建立虚拟人偶的运动模型。根据反向动力学原理,把虚拟人偶的运动看成关节运动,并为虚拟人偶建立关节运动模型。锁骨、肩膀、肘部和手掌都被看作相互关联的关节对象。各关节之间具有父子关系,每个父关节可具有多个子关节,但每个子关节只能有一个父关节。通过树状结构表达虚拟人偶运动模型的层次结构,如图4所示。

图4 虚拟人偶的关节层次结构

4.2.3 实例分析

我们以安装消防栓的操作为例来进行分析。首先,我们在场景中创建一个“手部控制器”——基于左手的空对象。“手部控制器”的位置由每一帧控制的脚本控制,使其从手部位置移动到最佳安装位置。然后,通过计算机根据反向动力学原理计算出肘部和肩膀的旋转角度。最后,当手部移动到终点位置时,操作的模拟过程完成。在实际环境中固定式水灭火系统训练是由两个人合作完成的,当学员需要虚拟船员辅助操作时,可通过点击界面上的命令按钮进行操作,如图5所示。图6为右上角小窗口放大后的显示效果。

图6 小窗口放大显示效果

图5 固定式水灭火系统训练

4.3 固定二氧化碳灭火系统模块的实现

固定二氧化碳灭火系统训练模块的实现难点在于二氧化碳和火焰粒子的雾化效果模拟,以及其二者之间的碰撞检测。

火焰分为三部分:内焰、外焰和烟雾。我们在场景中创建了三个“粒子系统”以分别模拟这三个部分的效果。首先,在微观层面,我们通过调节粒子数量、颗粒大小和颜色等特性改变了这三个部分的特效。其次,在宏观层面,我们通过在Photoshop中制作火焰的纹理以表现火焰的整体效果。最后,我们通过调整粒子的生命周期、速度等信息,实现了火焰的动态效果模拟。将上述三步结合在一起,可以使火焰的模拟效果更加逼真。与火焰的模拟类似,二氧化碳雾化效果的实现将不在此复述。

二氧化碳与火焰之间的碰撞检测是用来判断二氧化碳粒子是否在火焰的包围盒中的。只要二氧化碳粒子进入到火焰粒子的矩形包围盒内就认为发生了碰撞。随着二氧化碳粒子连续涌入,我们计算进入矩形包围盒的二氧化碳粒子数量。此时,由火焰粒子源产生的粒子将逐渐减少,然后将控制火焰的大小。一段时间后,火焰熄灭。货舱灭火的效果如图7所示。

图7 货舱灭火效果

4.4 消防员装备模块的实现

我们根据消防员装备的穿戴顺序来模拟消防员的实际穿戴过程。并允许学员控制穿戴过程。具体的实现过程如下:

为实现使用鼠标拖动装备的效果,我们在每个装

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[237969],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。