基于虚拟现实技术的船舶消防培训系统

2017-07-24 17:27陶瑞朱耀辉任鸿翔郭磊
上海海事大学学报 2017年1期
关键词:消防员二氧化碳虚拟现实

陶瑞, 朱耀辉, 任鸿翔,郭磊

(1. 大连海事大学 a. 航海学院; b. 交通运输管理学院, 辽宁 大连 116026; 2. 中国海事服务中心, 北京 100029)

基于虚拟现实技术的船舶消防培训系统

陶瑞1a, 朱耀辉1b,2, 任鸿翔1a,郭磊1a

(1. 大连海事大学 a. 航海学院; b. 交通运输管理学院, 辽宁 大连 116026; 2. 中国海事服务中心, 北京 100029)

为提高船舶消防培训的效率和水平,节约训练成本,设计消防培训系统整体架构.运用三维建模技术建立固定水灭火系统、固定二氧化碳灭火系统及消防员装备穿戴模型.使用反向动力学原理实现虚拟人的动作模拟.使用粒子系统实现火焰和二氧化碳的雾化效果.使用碰撞检测技术判断虚拟人与设备之间、设备与设备之间、二氧化碳与火焰之间是否产生相互作用.培训过程中,针对学员操作给出具体提示信息,帮助学员完成操作训练.测试结果表明,所开发的系统培训效果良好,可应用于消防培训.

虚拟现实; Unity; 船舶消防; 训练

0 引 言

因船舶特殊的功能和结构,在船舶上发生的火灾具有特殊性.[1]为检验船员对可能发生的船舶各部位火灾的应急能力,对个人应变任务的熟悉度,以及整个应急过程中船员之间的相互支援和协调程度,进行消防演习是非常有必要的.[2]目前的船舶消防演习大多是在真实环境中进行的,不仅花费大、污染环境,而且危险性很高.另外,受时间、资金和环境等因素的限制,这些培训起到的作用十分有限.近年来随着计算机虚拟现实技术的迅猛发展,虚拟现实在船舶消防方面的应用受到了广泛的关注.[3]船舶消防的虚拟现实是通过计算机营造具有3I(沉浸感(Immersion)、交互性 (Interaction)和想象性(Imagination))特点的虚拟船舶环境和火灾现场,使消防人员在近似实战的逼真环境中进行模拟训练[4],以提高其对船舶复杂火灾情况的处置和决策能力.本文基于3dsMax和Unity3D设计虚拟船舶消防培训系统,提供船舶消防设备的模拟训练功能.

1 总体设计

1.1 船舶消防培训系统功能分析

船舶消防培训涉及船舶消防设备的使用和消防演习两个部分.船舶消防设备包括探火与灭火报警系统、船舶固定灭火系统、消防员装备和应急通信设备等.船舶消防演习是在一定的流程下,使用不同的消防设备扑灭某一失火地点火源的过程.一般船舶消防演习会在机舱、生活区、甲板、货舱和油漆间等区域(失火地点)进行.由于船舶不同区域的特点不同,演习过程会有一些差别,但流程基本相同,通用步骤为:发现火灾并报警→全体集合并清点人数→探火→灭火→演习结束(见图1).如果发生特殊情况,火势无法控制,则进行弃船演习.

1.2 整体设计

利用3dsMax建模软件,以巴拿马型散货船“长山海”号为母型船,建立货舱、消防控制室、二氧化碳间和消防设备等的三维实体模型.利用虚拟现实技术,构建船舶三维虚拟场景[5].在该场景中进行消防演习训练,受训人员在训练过程中可以熟悉船舶消防设备的布置及相关操作要求.采用模块化程序设计思想[6]开发不同模块,包括:固定水灭火系统模块、固定二氧化碳灭火系统模块、消防员装备穿戴模块等.各模块功能设计如下.

图1 船舶消防演习流程

1.2.1 固定水灭火系统模块

固定水灭火系统是所有船舶必须配备的一种灭火系统,也是最基本而有效的灭火系统之一.为增加系统的沉浸感,使其更接近真实的场景,消防水带、消防水枪、消防栓和消防管系等三维模型应该足够逼真.

在使用固定水灭火系统进行灭火训练时,主要考查学员对设备使用的熟悉程度和学员之间的协作能力.学员以虚拟身份登录系统,另一个角色船员以虚拟机器人代替,学员通过点击界面上的命令按钮与虚拟船员进行“沟通”,完成协作训练.具体训练内容包括:枪头的使用、消防水带的铺设与回收、消防栓的使用等.

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

船舶固定二氧化碳灭火系统由二氧化碳钢瓶组、操纵系统、灭火管路和喷射装置等组成,其中,前两项均放置在二氧化碳间,通过手动或自动的方式控制二氧化碳钢瓶的开启,通过释放阀的操纵控制二氧化碳的释放.该灭火系统需要定期保养,并做吹通试验,保证管路畅通.开发模拟训练系统时,考虑了二氧化碳间内部设备的使用和二氧化碳出气孔真实效果的实现,既满足吹通试验的要求,又可以满足日常使用的需求.

1.2.3 消防员装备穿戴模块

消防员装备是对探火人员人身安全的必要防护,作为探火员必须非常熟悉消防员装备的正确穿戴和使用注意事项.

根据船舶的实际情况,虚拟三维场景中的消防员装备放置在消防控制室中.学员要清楚消防员装备的存放位置.从消防控制室将消防员装备取出后,按照正确的顺序进行穿戴.出于培训的目的,当穿戴顺序明显不合理时系统会给出错误操作提示,给学员以警告.

将消防员装备中的每个部件制作成独立的模块,一共包括12件装备.学员通过鼠标拖拽的方式,将装备穿戴在虚拟人的身上.为便于学员选择装备,当鼠标移动到具体装备上时,该装备都会被放大,可以清楚地看到具体细节.

2 关键技术

2.1 反向动力学

大多数角色的动画都是将骨骼的关节角度旋转到预制值.一个子关节的位置由其父节点的旋转角度决定,这样处于节点链末端的节点位置由此链条上的各节点的旋转角度和相对位移决定.这种决定骨骼位置的方法称为正向动力学.[7]在实际应用中,上述过程的逆过程非常实用,即给定末端节点的位置,从而逆向推出节点链上所有其他节点的合理位置.[8]这种需求非常普遍,如:希望角色的手臂去触碰一个固定的物体,或脚站立在不平坦的路面上.这种方法被称为反向动力学.本文中,虚拟人的动作模拟采用反向动力学的方法.

2.2 粒子系统

在虚拟环境中,大部分的场景元素如角色、物件、碰撞体等都属于网格(mesh)模型,一般利用3dsMax,Maya等工具建模,并导入场景中.但若要在场景中模拟烟雾、火焰、云彩、水滴等效果,则需要用到粒子系统.粒子系统会连续、高效地发射大量运动的简单粒子单元,以模拟各类复杂的自然现象和特技效果.粒子系统的模拟过程主要分为以下几个步骤[9]:

(1)初始化.确定模拟对象;分析物体的运动规律;对模拟对象的粒子数,每个粒子的生命值、位置、速度、加速度、颜色等信息进行初值设定.

(2)绘制.选择合适的纹理大小,搭配合适的色彩,绘制粒子当前的状态.

(3)更新.更新所有粒子的生命值、位置、速度、加速度、颜色等信息,以便下次绘制.

2.3 碰撞检测

场景中的物体如果需要感应碰撞,则必须给其添加碰撞器.Unity引擎为对象提供了5种碰撞器,分别是Box Collider(盒子碰撞器)、Sphere Collider(球体碰撞器)、Capsule Collider(胶囊碰撞器)、Mesh Collider(网格碰撞器)和Wheel Collider(车轮碰撞器).[10]根据物体形状的特点选择碰撞器,可以减少计算机的计算量,提高系统的流畅度.

可以将碰撞分为两类:物体与物体之间的碰撞;粒子与物体之间的碰撞.检测物体与物体之间的碰撞采用包围盒与包围盒之间的碰撞检测算法,常用的有:轴对齐包围盒(AABB)检测算法、方向包围盒(OBB)检测算法和包围球(Sphere)检测算法.检测粒子与物体之间的碰撞采用的是点与包围盒之间的碰撞检测算法.

3 系统实现

3.1 场景开发

3.1.1 三维模型建立

在3dsMax中建立消防设备三维模型是本文研究的基础.首先根据消防救生设备的实际比例制作白模,然后参照真实设备的效果制作贴图,再通过渲

图2 整船场景效果图

染得到三维模型,最后将三维模型导入到整船场景中进行设备的交互.图2是整船场景效果图.

3.1.2 界面开发

消防训练需要满足:多人协助操作,操作时指挥者或操作者本人能从不同的视角观察,选择失火地点.为此,在整船平台上通过UI界面的3个模块(辅

图3 UI布局

助视角窗口模块、辅助命令菜单模块、环境设定模块)完成上述功能,见图3.

辅助视角窗口模块.辅助视角窗口位于主界面的右上角,使用的摄像机不同于UI系统.消防训练时,窗口给学员提供一个最佳的俯瞰视角.在这个位置还有其他小窗口,在使用过程中这些小窗口是互斥的,需要通过主界面左上角控制菜单中的对应项激活该窗口.

辅助命令菜单模块.辅助命令菜单位于主界面左上角.在需要多人协作的训练中,单机运行时可通过单击辅助命令菜单按钮,完成其他人的动作.不同训练科目的辅助命令按钮的数量有所不同,例如:在使用固定水灭火系统进行灭火训练时,辅助命令包括12个,在界面左上方竖直方向依次排开.

环境设定模块.在主界面的主菜单中,放置该模块的设置命令项.该模块用于设置火灾位置、初始火焰和烟雾情况、火的发展态势等.

整个界面使用Unity重新设计的GUI系统——uGUI开发实现.

3.2 固定水灭火系统模块实现

3.2.1 实现流程

该部分主要为学员(第一人称视角)和虚拟船员对设备的操作模拟.

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

3.2.2 关键动作模拟

操作消防水枪和铺设水带的动作模拟是保证固定水灭火系统训练真实而有效的核心.要在一个虚拟现实系统中模拟虚拟人的复杂运动,必须建立虚拟人的运动模型.根据反向动力学原理,把虚拟人的运动看成是一个关节的运动, 并为虚拟人建立关节连接的层次模型, 运动机构中的锁骨、肩部、肘部、手掌都看成相互关联的关节对象.各关节之间存在父子关系,一个父关节有多个子关节,一个子关节只能有一个父关节.用树状结构表达虚拟人运动模型的层次结构,见图4.

图4 虚拟人关节层次结构

3.2.3 实例分析

以安装消防水枪的动作为例.首先在场景里创建一个“手部控制器”—— left hand 空物体,通过每一帧控制“手部控制器”的位置,使其从手部位置移动到安装枪头的最佳位置.在手部移动的过程中,计算机由反向动力学原理计算出肘部、肩部的旋转角度.当手部移动到终点位置时,虚拟船员安装枪头的动作模拟完成.在实际环境中固定水灭火系统训练是由两个人合作完成的,当学员需要虚拟船员辅助时可通过点击界面上的命令按钮与其配合作业(图5).图6为右上角小窗口放大后的显示效果.

图5 固定水灭火系统训练图6 小窗口放大显示效果

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

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

火焰分为内焰、外焰和烟雾等3部分.在场景中创建3个Particle System分别模拟这3部分的效果.通过调节粒子数、粒子大小、粒子颜色等特征项,在微观上实现对内焰、外焰和烟雾具体效果的调节;在Photoshop中制作火焰的纹理贴图,从宏观上表现火焰的整体效果;调节粒子的生命值、速度等信息,实现火焰的动态效果模拟;将上述三者结合到一起,使火焰模拟的效果更加逼真.二氧化碳雾化效果的实现与火焰粒子特效的实现类似,此处不再赘述.

二氧化碳与火焰的碰撞检测就是实时判断二氧化碳粒子是否在火焰的包围盒中,只要二氧化碳粒子进入到火焰粒子的矩形包围盒内就认为有了碰撞.统计二氧化碳粒子进入矩形包围盒的数量,随着二氧化碳粒子不断进入,火焰粒子源产生的粒子将逐渐减少,进而控制火焰的大小,经过一段时间后火焰熄灭.货舱灭火效果见图7.

图7 货舱灭火效果

3.4 消防员装备穿戴模块实现

根据消防员装备的穿戴顺序,真实地模拟消防员穿戴过程,并允许学员以交互方式控制穿戴过程,实现消防员装备穿戴训练.具体实现过程如下:

实现鼠标拖拽装备的效果.需要给每个装备添加碰撞器检测鼠标的点击,通过Unity的内置函数ScreenToWorldPoint()获取二维平面内的鼠标光标在三维空间的位置,得到的位置即为拖拽的装备在三维空间的位置.在鼠标拖拽过程中,每一帧都为拖拽装备的位置赋值,达到拖拽效果.

实现消防装备穿戴效果.在鼠标拖拽装备的过程中,使用射线检测技术判断鼠标是否已经拖拽到虚拟人身上的具体部位.如果拖拽到具体部位,则该装备高亮,提示操作者可以穿戴.此时,松开鼠标可以完成该装备的穿戴.消防服拖拽效果见图8,消防服穿戴效果见图9.

图8 消防服拖拽效果图9 消防服穿戴效果

3.5 消防演习实例

图10 货舱失火场景

以货舱失火消防演习为例,在主场景(见图10)的环境设定模块中设置初始失火地点、起火时间、火势大小等.

驾驶室烟雾探测面板发出报警,值班驾驶员发出全船警报,按照图1的流程进行消防演习.演习过程中,探火员穿戴消防员装备(图9);皮龙组使用固定水灭火系统对货舱壁降温(图5).消防员装备穿戴结束后,探火员探火,火势不可控.关闭通风系统及电源.在二氧化碳间释放二氧化碳灭火,灭火过程的效果见图7.进行二次探火,判断火是否有复燃的可能.若有复燃可能,则采取补救措施.探火员再次探火,皮龙组继续对货舱壁降温.当货舱内的燃烧面积和强度较小时,皮龙组可先在货舱口向燃烧区射水,待火势减弱后,可利用货舱内的固定铁梯、船舶或码头装(卸)货的起重吊斗,从货舱口深入到舱内抵近火源射水.若火势较大,探火员退出货舱口,继续封舱注入二氧化碳.重复以上过程,直至火焰彻底熄灭,演习结束.

若火势无法控制,则发出全船弃船警报(七短一长);利用报警系统发出遇险警报,船长命令释放救生艇和救生筏,人员集合;按照所分配的任务,释放艇筏,并通过救生视觉信号设备求救;吊放救生艇(图11);回收救生艇;驾驶台解除警报,演习结束.

图11 吊放救生艇

3.6 系统质量分析

本文开发完成的船舶消防培训系统经过了大量测试和完善.下面对该系统从5个方面进行分析:

可见性:学员登录系统时,系统为学员提供若干选项来调整窗口大小以适应不用的显示器.学员进行训练时,不仅可以通过键盘在场景里进行第一人称漫游,而且可以通过界面上的导航按钮实现快速定位.在不同的训练区域,设置不同角度的摄像机供学员了解训练环境.

可移植性: Unity3D作为近几年来虚拟现实开发的最主流引擎之一,其最大的特点就是可以发布程序到不同的平台上,如Windows,Mac,WebGL,IOS,Android和Windows Phone 8.系统基于Unity3D平台,采用C#语言编写,可以满足不同操作系统环境的用户,具有良好的可移植性.

广泛性:该船舶消防培训系统选取巴拿马型散货船为母型船.虽然不同的船型具有不同的布局特点,但船上消防设备的使用及消防演习的流程基本相同.该培训系统同样适用于其他船型的学员培训,具有较好的广泛性.

可靠性:经过对每个模块的测试,对系统整体的测试,以及一些对系统的暴力操作,发现该系统均可以稳定运行,且不会使操作系统(本文采用Windows 10操作系统)失效.

实时性:为逼真地模拟船舶环境,所创建的三维实体模型具有非常高的面数,这导致了初期系统运行时画面的帧数达不到要求.后期采用了LOD和动态加载模型的技术,提高了系统的实时性.现画面的帧数可达到60帧左右,但对计算机的配置有一些要求(至少为:i5处理器+8 GB内存+GT730显卡).

4 结束语

将虚拟现实技术应用于船舶消防领域,建立了固定水灭火系统、固定二氧化碳灭火系统以及消防员装备穿戴模型.将该系统用于消防培训不仅可以降低消防培训成本,使培训不再受场地和时间的限制,而且可以有效地保护人员安全.

后续的研究可以针对以下几个方面开展:多台计算机联网,实现多人消防演习训练;火灾蔓延效果模拟;针对每项训练开发智能评估程序.

[1]陈国庆, 陆守香. 船舶火灾安全工程研究现状[J]. 消防技术与产品信息, 2004, 17(8): 21-23.

[2]大连海事大学. 高级消防[M]. 大连: 大连海事大学出版社, 2008: 98-99.

[3]曹东华, 浦金云. 虚拟现实技术在船舶消防领域的应用[J]. 船海工程, 2005, 34(5): 8-10.

[4]TATE D L, SIBERT L, KING T. Virtual environments for shipboard firefighting training[C]// Proceedings of IEEE 1997, Virtual Reality Annual International Symposium. Albuqutrque, USA, 1997: 61-68.

[5]郭晨, 吴恒, 史成军, 等. 应用虚拟现实技术的新型轮机模拟器总体设计与系统结构[J]. 大连海事大学学报, 1999, 25(2): 67-71.

[6]陈锦标, 施朝健, 陈希真, 等. 船艇指挥综合模拟训练系统[J]. 上海海事大学学报, 2007, 28(1): 150-155.

[7]Unity Technologies. Unity 4.x从入门到精通[M]. 北京: 中国铁道出版社, 2013: 319-320.

[8]李从信, 刘芳, 王再强, 等. 应用逆向运动学实现拖油机运动的三维仿真模拟[J]. 长江大学学报, 2007, 4(2): 89-91.

[9]李清畅, 杨高波, 王小静. 基于粒子系统的焰火建模及其算法仿真[J]. 系统仿真学报, 2009, 21(8): 2179-2184.

[10]蒋德志, 姚文龙, 张均东. Unity3D虚拟现实技术在机舱资源管理模拟器开发中的应用[J]. 中国航海, 2015, 38(3): 13-17. DOI: 10.3969/j.issn.1000-4653.2015.03.004.

(编辑 贾裙平)

Ship fire-fighting training system based on virtual reality technique

TAO Rui1a, ZHU Yaohui1b,2, REN Hongxiang1a, GUO Lei1a

(1. a. Navigation College; b. Transportation Management College, Dalian Maritime University, Dalian 116026, Liaoning, China; 2. China Maritime Service Center, Beijing 100029, China)

In order to improve the efficiency and level of ship fire-fighting training and save training cost, the overall framework of fire-fighting training system is designed. The fixed water-based fire-extinguishing system, the fixed CO2-based fire-extinguishing system and the model of fireman equipment clothing are built by 3D modeling technology. The motion simulation of virtual human is realized by the theory of inverse dynamics. The atomization of fire and CO2is realized by the particle system. By the collision detection technology, whether the interactions generate between virtual human and equipment, between equipment and equipment and between CO2and fire is determined. In the process of training, for student operation, the specific prompt information is given to help students complete operation training. Test results show that the developed system has good training effect, and can be applied to fire-fighting training.

virtual reality; Unity; ship fire-fighting; training

10.13340/j.jsmu.2017.01.015

1672-9498(2017)01-0074-05

2016-09-09

2016-12-13

国家高技术研究发展计划(“八六三”计划)(2015AA010504);交通运输部应用基础研究资助项目(2015329225204);大连海事大学重点科研项目(3132016324)

陶瑞(1994—),男,黑龙江呼兰人,硕士研究生,研究方向为虚拟现实、系统仿真,(E-mail) 654992156@qq.com; 朱耀辉(1976—),男,河南西平人,博士研究生,研究方向为交通运输管理、智能评估,(E-mail)zyh@cmaritime.com.cn; 任鸿翔(1974—),黑龙江肇东人,教授,博导,博士,研究方向为航海仿真、虚拟现实,(E-mail)dmu_rhx@163.com

U698.4

A

猜你喜欢
消防员二氧化碳虚拟现实
扬眉吐气的二氧化碳
“抓捕”二氧化碳
如何“看清”大气中的二氧化碳
REALITY BITES
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
小小消防员 第十集
小小消防员 第九集
高性能可变进气岐管降低二氧化碳排放
浅谈虚拟现实