1. 引言
近年来,大学实验室危险事故频繁发生,引起社会关注。近十年来,高校化学实验室爆燃事故发生十余起,涉及多名人员伤亡。如果把范围扩大到更多的理工类学科领域以及那些未被媒体曝光的事件,这些数字恐会令人震惊。例如, 2015年4月5日,中国矿业大学实验室发生爆炸事件,造成1死4伤;2018年11月11日,江苏某高校实验室发生了爆炸,致使多名师生受伤;2018年12月26日,北京交通大学实验室发生爆炸,造成伤亡以及重大财产损失 [1] 。
频繁发生的实验室危险事故反映出一定的社会问题,究其根本可以归结为以下几类:一是实验室设备老化,危险物品摆放杂乱;二是人为操作不当。经研究发现,实验室事故可分为爆炸,火灾,中毒三大主要类型,其中违反操作流程,操作不当,不慎操作等人为因素所造成的危险事故高达88%。三是学生安全意识薄弱。在面临险情时,学生缺乏基本的实验室应急知识,从而无法做出相应的应急措施。
本文以Unity3D引擎为场景开发工具,利用3dMax进行校园实验室模型建立,采用虚拟现实技术模拟仿真实验室发生险情的场景。用户可以与虚拟的危险场景进行交互,体验到逼真、深度沉浸 [2] [3] 、交互性强的实验室消防险情场景,从而学习相关实验室消防知识,让其在实践中运用所学的安全逃生知识,避免面对险情时逃生能力差等问题。
2. 系统开发软件
2.1. 场景搭建软件3dMax
本系统利用3dMax对系统实验室场景进行模型的搭建。3dMax是Discreet公司开发的基于PC系统的三维动画渲染和制作软件,具有强大的角色动画制作能力,其可堆叠的建模步骤,也使制作模型有非常大的灵活性 [4] 。本文使用3dMax对高校实验室大楼,化学实验室,物理实验室以及相关消防设备等静态实体模型进行搭建。同时,利用AutoCAD对不规则的模型进行轮廓上的修正 [5] ,从而能让用户仅通过计算机就能沉浸在逼真的实验室场景中,能够提高用户的体验感。
2.2. 系统搭建软件Unity3D
本系统利用Unity3D来进行搭建,Unity3D是由Unity Technologies开发的一个让用户轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎 [6] 。本系统利用C#语言进行编程,设计意外的错误操作导致的灾情,及后续不同处理方式带来的不同结果,从而达到实验室消防安全知识普及的目地 [7] 。同时,为支援消防员营救设计智能路线推荐系统,将场景各逃生通道及距离进行数据分析处理,并利用Dijkstra算法,计算出最佳的救援路线。
3. 总体方案概述
整个系统如图1所示,分别为学生实验室灾情演练和消防员营救演练两个部分,用户通过第三人称视角可以在教学楼以及实验室内任意漫游 [8] 。
学生实场景演练中,以化学实验室和物理实验室为例,利用3DMax建立实验室模型,设计不同的应急措施交互程序。物理实验室意外灾害包括常见的电路问题(连接不当、电子设备遇水、过压损坏);生化实验室意外灾害包含化学物品意外洒落燃烧、危险试剂意外烧伤皮肤、危险气体泄漏等。学生遇到不同状况可选择不同的处理方式,可根据自己的判断选择自己处理或求助消防救援。本文主要以物理实验室电路短路着火和生化实验室危险试剂打翻为例介绍本消防演练系统。
消防员营救演练中,系统中利用Dijkstra算法基于实验室发生危险的具体场景,对不同险情的严重程度划分权值,从而计算出最佳的救援路线。消防员可查看系统,了解实验室险情的情况以及熟悉救援路线并模拟实施救援。

Figure 1. Campus laboratory fire drill system structure
图1. 校园实验室消防演练系统结构
4. 系统场景介绍
4.1. 实验室场景
本系统中通过3dMax建立了实验室大楼外观以及内部相关实验室。其中,如图2所示,物理实验室配置15套桌椅及设备,每套桌椅配有基本的插座、电路相关实验设备、力学相关实验设备,可模拟物理实验常见突发灾害情况。如图3所示,生化实验室配置12套桌椅及设备,每套桌椅配有高校生化实验常用试剂,用于模拟生化实验室发生危险时的安全操作。用户可以在实验室中任意漫游或进行基本的实验操作,如果产生错误操作的行为,则会触发危险场景。
4.2. 危险触发场景
整个危险场景中包含了火,电路火花,烟雾,音效,水等相关粒子特效以及用户触发险情或晕倒等动画,力争确保真实还原实验室发生危险时可能发生的场景 [9] 。物理实验室中,如图4所示,学生因错误操作实验导致电路短路发生着火,场景将会产生火焰和大量浓烟。生化实验室中,如图5所示,学生因操作失误导致危险试剂打翻,打翻后产生少量有毒气体。

Figure 4. Circuit fire in physical laboratory
图4. 物理实验室电路着火情况

Figure 5. Dangerous reagents overturned in biochemistry lab
图5. 生化实验室危险试剂打翻
4.3. 学生触发应急措施交互程序
在遇到电路着火时,当实验室发生电路火灾时,应当立即切断电源,切忌用水或者泡沫灭火器灭火。因为泡沫灭火器含有水,而水能导电,可能会导致触电等意外伤害。本系统可选择用水、泡沫灭火器及二氧化碳灭火器来灭火,选择错误则会导致触电,选择正确则正常灭火,如图6,图7所示,同学正确选择了二氧化碳灭火器进行灭火。由于泡沫灭火器中含水,如果同学选择泡沫灭火器则演习失败。

Figure 6. Laboratory emergency extinguisher selection
图6. 实验室险情灭火器选择
对于生化实验室,危险试剂的洒落以浓硫酸为例。如图8所示,当浓硫酸洒落在同学的手上时,同学可以选择是否用水冲洗,由于浓硫酸遇水会放出大量的热,若直接冲洗,将会带来直接的大面积烧伤。
5. 智能营救路线推荐系统
为了帮助消防员更快捷的营救被困人员以及提高人员疏散的效率,本系统基于实验室事故特征以及被困人员密度等因素,利用Dijkstra算法来计算营救被困人员的最佳疏散路线 [10] 。Dijkstra算法是一种计算最短路径的算法,本文以消防员在大楼外的部署地点为起始点开始向事故发生点(终点)扩展,通过计

Figure 7. Student uses correct fire extinguishers to put out fire
图7. 学生使用正确灭火器灭火

Figure 8. How to deal with concentrated sulfuric acid on the skin
图8. 同学选择如何处理浓硫酸洒落皮肤情况
算途中每个出口或阻碍点(险情扩散点)的权值,最终得到一个最短路径,也就是消防员的最佳救援路径 [11] 。
本系统Dijkstra算法思想:
1) 由实验室大楼外的部署地点为起点,发生险情的实验室为终点,其间经过的安全楼道,火灾蔓延的窗口,烟雾弥漫的走道等为顶点,从而构成顶点集合。
2) 根据不同的险情及火灾或烟雾蔓延程度设置救援安全系数,即权值,权值由0~10,0代表安全,10代表险情最严重的顶点,即不能通过的楼道或窗口,从而获得N阶带权图。
3) 根据Dijkstra算法,从起点向终点开始遍历,设置权值大于8的顶点为不可通过即障碍区,从而开始计算最佳救援路径即安全系数最高的路线。系统中权值越高即安全系数越低 [12] 。
如图9,图10所示,消防员可通过本系统推荐的最佳路线的指示箭头模拟进入大楼,熟悉救援环境并组织疏散被困人员。
6. 结论
由于高校人口密集并且所进行的实验均为高级并带有安全隐患的实验,所以各大高校的实验室安全是每年社会高度重视的问题。高校学生对宿舍安全所造成的原因大都有所了解,但是对于实验室的安全操作却缺少应有的应急及逃生认知。通过本系统的虚拟仿真演练,可以让同学们通过这种直接有趣的方式切身实际地了解到基本的实验室安全常识,可以有效地降低校园灾情的发生率,保障师生人身及财产安全。

Figure 9. Followed the recommended route to the rescue
图9. 消防员根据推荐路线进行营救

Figure 10. Firefighters organized the students to escape
图10. 消防员组织学生逃生
从成本上来说,VR实验室消防演练相较于传统消防演练来说,虚拟现实演练节省了大量的人力物力,不会拘于地域以及专业性的限制,减少了传统消防器材的消耗,减少了消防员进行真实模拟演练中有可能发生的意外危险事故。
从拓展上来说,由于Unity3D、3dMax的开放性,各大高校若根据自身校园建筑特点,制定和学校建筑结构相同的校园实验室消防演练系统,不仅有助于师生了解实验室安全操作知识,而且当灾情真正发生时,消防人员也可通过查看系统了解建筑内部结构及灾难情况,根据系统所提供的最佳救援路线实施救援。
基金项目
本项目受国家级大学生创新创业计划项目(贵大(国)创字201710657049)资助。