核岛3D逃生演练系统的设计与实现

2020-12-25 03:16尹绪雨顾登明
微型电脑应用 2020年12期
关键词:核岛核辐射列表

尹绪雨, 顾登明

(国核电站运行服务技术有限公司, 上海 200233)

0 引言

核安全是核能源发展的前提,核应急则是核安全防御体系的最后一道屏障[1]。然而,核岛发生严重事故的概率很小且造成的后果严重,因此很难在实际的核应急行动中掌握逃生技巧。同时,在核能安全领域通常采用应急演练的方式提高应急救援人员对应急规程的熟练程度以及应变能力,但是这种方式难以模拟出逼真的核事故现象,并针对这些事故现象开展针对性的行动,往往不能实质达到训练效果。因此,设计一套核岛应急逃生演练的模拟系统能很好地帮助相关工作人员训练逃生知识和技能,具有很强的实际意义。目前在其他工业和生活场景中已经存在不少的逃生演练系统,如火灾,矿难,气象灾害等[2-4]。然而,由于核事故的特殊性和其产生的核辐射,使得其他场景下的逃生演练系统设计方法难以简单移植到核应急逃生演练中。在针对核岛严重事故应急逃生中,如何获取最优逃生路径,最大程度上保证工作人员的生命安全,是开发能有效提高核应急逃生技能的模拟训练系统的重要目的。

本文的核岛应急逃生演练模拟系统在充分考虑影响逃生因素(如正常避障)、核辐射扩散浓度及扩散模型的基础上,使用A*算法[5]为核岛核泄漏事故的人员逃生规划最优路径,在安全逃生的同时,逃生人员体内吸收最小的辐射剂量为目标,使逃生人员以系统最优的方式到达安全区域。

1 相关技术与算法

1.1 相关技术

(1) 3D建模

3D建模是利用专门的制作软件构建出具有三维数据的模型,并能在二维屏幕上显示。在建模软件中,通过模型色彩灰度和光线的调节、物体材质的选择和不同图形的变形和组合,可以构建出核岛环境的三维模型。3D建模生成的逼真的视觉空间能大致的还原核岛内的整体环境,使演练人员能在虚拟的逃生环境中达到较好的训练效果。

(2) Unity 3D技术

Unity 3D是一个能轻松创建建筑可视化和实时三维动画的综合型游戏开发工具和专业游戏引擎,具有跨平台性和开放性等特点。通过Unity 3D绚丽的3D渲染效果可以增强模拟环境的真实性[6]。

Unity 3D给用户提供了多窗口的综合一体化的开发环境,用户可以根据需求将模型的大小比例进行调整。本文使用C#作为Unity3D的脚本语言,通过Unity编程实现演练人员逃生路径可视化和逃生人员在模拟系统中的走、跑、跳和绕开障碍物等基本动作的实现。利用Unity3D的粒子系统,模拟逃生环境中核辐射的泄露和扩散,使得不同辐射浓度区可视化。

1.2 A*算法原理

A*算法是一种利用启发式探索方式来求解最短路径最有效的直接搜索方法,在每一步搜索或探路中利用估价函数对即将参与遍历节点进行估值和排序,估价值更优的节点将被优先遍历,如式(1)。

f(n)=g(n)+h(n)

(1)

式中,f(n)是从初始节点经由节点n到目标节点的估计距离;g(n)是从初始节点到节点n的实际距离;h(n)是从节点n到目标节点的预估距离。从该公式可以看出,估价函数带有问题自身的启发式信息。因此A*算法是一个典型的启发式搜索算法。

A*算法将搜索区域划分成若干个大小相等的正方形网格,所有的网格抽象成一个二维数组。每个网格代表一个节点,每个网格只有可通和不通两种状态[7]。A*算法将所有节点分为两个集合,一个为待遍历节点集合,通常称为open列表,另一个为已遍历节点集合,通常称为close列表。确立起始节点后,将该节点存入到open列表中,查看以该起始节点为中心的周围8个节点的状态,将可通状态和可到达状态的节点存入open列表。然后把起始节点设置为这些节点的父节点,并移出open列表存入closed列表中。在open列表中选择f(n)最小的节点作为当前处理节点,然后移至closed列表,如果节点状态是不可到达或者节点在closed列表中,忽略考虑,否则进行判断:①若不在open列表中,则加入open列表中并把当前节点设为父节点;②若在open列表中,那么检查路径距离是否更小,并重新计算f(n)的值。重复以上过程。如果终点加入了open列表或者open列表空了,那么停止。最后从终点开始,每个节点跟随父节点移动到起点。

需要指出的是,通过调节启发函数中的g(n)和h(n)可以控制算法的速度和精确度。比如有些情况不一定要找最短路径,而是希望能够尽快找到一个路径,那么用A*算法可以灵活控制这个过程。此外,A*算法关注点到点的最短路径,而Dijkstra算法是计算源点到其他所有点的最短路径长度,实质是广度优先搜索,是一种发散式的搜索,所以空间复杂度和时间复杂度都比A*算法高。

2 需求分析

核岛3D逃生演练系统的目标是:设计规划最优逃生路径使得逃生人员吸收核辐射最少,同时使逃生演练过程3D可视化,包括核岛3D建筑场景,逃生路径指示、辐射粒子效果及其辐射总量等,最后还需支持用户交互与灵活配置。

因此演练系统需要解决如下问题。

(1) 人员定位和预警可视化。在场景中可以自定义添加辐射泄露点,在只考虑障碍物的阻碍和距离因素的情况下,辐射大小模拟电磁场强计算方法;不同辐射浓度的区域使用不同颜色来表示。在逃生过程中,随机添加障碍物并且保证障碍物的多样性,同时在UI界面上显示人体中辐射吸收的总剂量,判断人体中辐射剂量是否超标。

(2) 逃生路径规划和可视化。与其他工业场景相比,核岛环境有其特殊性,具体表现在:1)核电站内部结构复杂,内部管道及组件比较多,结构复杂,且要考虑安全门及其它地方堆积物品等实际情况的影响,同时用不同的颜色区域代表不同辐射量区域,当逃生人员进入不同颜色区域,人体内的辐射剂量的累计不同;2)出口及路径选择。逃生路径及出口的选择是影响核辐射泄漏的重要因素。首先判断了人的初始位置后,然后根据核辐射泄漏的方向、核辐射浓度的情况、人距离出口距离等情况,选择最优的逃生出口及逃生路径。由于辐射的不断扩散和随机障碍物的阻拦,需要不断更新逃生路径;3)核辐射对人的影响。辐射的扩散可能导致同一段通路中左右两边的辐射计量是不同的,且不同身体状况的逃生人员承受能力不同,当体内辐射剂量超标,逃生人员可能失去行动能力。

(3) 友好的用户交互和灵活配置。人物模型在核岛中的移动,例如演练人员在逃生过程中走、跑、跳、蹲等基础动作需要有良好的3D展示效果,同时还需要显示人物走过的路径,并使用箭头提示逃生路径。此外,支持用户灵活随机设置出生点、辐射泄露区域以及即时观测辐射区域及剂量。

3 总体方案

根据系统的问题描述和需求分析,结合A*算法与核岛辐射等相关知识,本文研究的思路设计,如图1所示。

图1 总体方案

设计的总体思路是:①利用Navmesh组件将地形进行扫描,方便标记出可行走区域以及障碍物,同时将可爬行坡度设置为50度;②建立并且初始化逃生点和辐射点以及AI逃生人员;③将逃生点与辐射点坐标代入算法中进行计算,得出最优路径,并对最优路径进行平滑处理;④利用线渲染器LineRender控件将计算出的路径实体化,同时将位置坐标值抓取到路径数组中,并保证可随时隐藏。

4 逃生路径规划设计

4.1 虚拟化地形

创建一个空的GameObject对象,可以在其上任意放置所需的物体,命名为A′,在A′寻路步骤算法运算之前,对场景地图进行一次检索,将地图的虚拟化范文、可行走的最高坡道、以及场景中的可行走物与障碍物辨识出来。由于本次演练所要求的精度需求较高,所以将精度设置在0.1 m。

4.2 A*算法设计

在成功虚拟化地形之后,开始进行A*算法运算,首先建立f(n)、g(n)和h(n),将起点A添加到open列表中。然后检查open列表,选取f(n)花费最小的节点M,直到M为终点。对于与M相邻的每一个节点N。

Step 1:如果N是阻挡物或在closed列表中,那么就不需要考虑;

Step 2:如果N不在open列表中,添加它然后计算出花费的f(n);

Step 3:如果N在open列表中,检查f(n)花费是否比原来的路径更小,如果是,则更新F和父节点;

Step 4:重复检索N是否在open列表或closed列表,分别进行计算;

Step 5:计算完成后将f(n)中的节点连接,得出最后路径。

4.3 核辐射扩散模型

在使用A*算法的过程中关键步骤是得到估计函数f(n)的值,本系统的目标是使得经过逃生路径后所受核损伤最少。因此估价函数实质就是所受核辐射剂量值,这跟核辐射扩散模型紧密相关。结合实际核岛应用场景,核辐射扩散模型,如式(2)。

(2)

式中,A为活度,单位是kBq;Te为照射时间,当计算剂量率时,不考虑Te;而d和d1/2在不考虑屏蔽时可以忽略;X为在辐射区域内逃生人员到辐射源的距离,单位为m。该公式为计算有效剂量的公式,计算出的单位为mSv/h。

此外,CF6=2.5E-07(CF6为点状放射源,与放射源素有关,该项目以Co-60计算)设置float变量X1,X2,Y1,Y2,X,通过GetComponent.position得到人物坐标和辐射点并赋值到X1,X2,Y1,Y2中。接着通过如下距离,如式(3)。

(3)

通过核辐射公式可以得出所吸收的辐射剂量。最后将辐射剂量以权值的方式放入A*算法中得出最优路径。

4.4 A*算法和核辐射算法结合

A*算法能很好地通过启发式搜索得到距离最短的逃生路径,但在核岛环境下逃生路径更需要考虑吸收的核辐射剂量。为此,将在路径规划中计算出通过核辐射区域所吸收的辐射剂量作为一项重要权值附加在各区域节点上,若没有辐射,则权值为0,如图2所示。

图2 考虑核扩散模型的路径搜索

若使用传统的A*算法,则只需保证逃生距离最短,此时逃生的路径应为1→2→6→7→8→9,但如果在6与7之间插入辐射源,则可能会导致人会受到辐射的伤害,因此若考虑核辐射扩散模型产生的核辐射,则该逃生路径变为1→2→3→4→5→8→9,这样才能确保逃生人员最安全的逃生。

同时,本系统中的所用的A*算法节点权值不考虑距离,只考虑两点,一是节点是否可通,不可通权值用0表示。可通的情况则用所受核辐射剂量值表示权值,在核辐射扩散模型中有一个因素是时间Te,由距离和平均速度之比得到。因此在本系统A*算法中还是综合考虑了距离、核损伤因素,如图3所示。

图3 A*算法与核辐射算法结合示意图

该算法以所受辐射剂量最小为第一目标,从而最大效率地保证逃生人员以最小代价达到安全区域,即在可以满足在保证所受核辐射剂量最小的前提下规避相应障碍物。

4.5 逃生路径的3D可视化

在A*算法和辐射值算法计算完成以后,会得出一条在核岛环境下路径最近,所受到的辐射值最小的一条线路。利用Unity 3D中线渲染器LineRender将该路线实体化。可视化演练流程,如图4所示。

图4 演练流程图

首先初始化逃生人员,支持用户自主灵活设置辐射点和逃生初始位置。接着利用前述所提方法搜索和计算出下一步位置。

5 仿真实验验证

系统运行效果图,如图5所示。

图5 系统运行效果图

本实验采用Unity3D软件进行实验验证,分别采用传统A*算法与本项目所用的A*算法结合核辐射算法技术,同时在优化方面引入了优化路径的算法,使路径从锯齿线转化成更加光滑的路径,更有利于试验的严谨性。考虑到算法改进的有效性。本项目在实验中做了两种算法的比较的试验后,得出结论为本项目所采用的算法很好地规避了辐射泄露区域,并且相对其他规避辐射区域的路径,所用时间更少,效率更高更有利于逃生人员的逃生,如图6、图7所示。

通过观察图6及图7,如果只启用A*算法进行逃生模拟演练,则很大程度会导致逃生人员进入辐射范围区,从而造成一些辐射伤害,其后果往往不可估量,但若加入核辐射算法所得到的值,则可以采取更加安全的逃生路径进行逃离。此外,在不满足有0辐射剂量的逃离路线的条件下,还能通过计算得出相对吸收辐射剂量最小的路径以及在吸收剂量最小前提下所逃离的路径最短,从而更有效率进行逃离。

图6 A*算法效果演示

图7 A*算法与核辐射算法结合效果演示

6 总结

综上所述,最短路径算法只能满足于没有任何动态障碍物或者可触碰障碍物的情况下,往往不能够做到高效率的逃生。对于在核岛环境下的逃生演练,吸收的核辐射最少是最优的目标,结合A*算法和核辐射扩散模型能有效找出最优的逃生路径。同时利用Unity 3D技术可以将逃生演练过程很好的进行3D可视化,有效提升演练实效。下一步将探索基于VR技术的核岛逃生模拟演练。

猜你喜欢
核岛核辐射列表
“华龙一号”海外首堆核岛钢结构技术创新优化
学习运用列表法
扩列吧
磁共振有核辐射吗
核辐射防护措施探究或研究
CPR1000型核岛主管道坡口加工的质量控制
列表画树状图各有所长
探析核岛重要厂用水系统管道安装问题
核辐射及其安全防护
2011年《小说月刊》转载列表