杨瀚申,徐 华,鞠志伟
(1.北京化工大学 信息科学与技术学院,北京 100029;2.北京石油化工学院 信息工程学院,北京 102617)
随着地下交通隧道、地下矿井巷道、地下管网等的普及与发展,安全问题也越来越重要。当发生事故灾害时,如何快速将人员疏散到安全区域是应急疏散仿真的关键技术问题。国内外关于人员疏散方法已进行了很多研究[1],提出了元胞自动机模型、势能场模型、社会力模型和Agent模型等。利用元胞自动机模型对室内疏散引导进行了研究[2-4];并通过势能场对室内人员的运动轨迹仿真进行了验证[5]。张开冉等[6-8]研究了基于社会力模型对公共场合内人员的疏散问题;张学锋等[9-11]将Agent模型与所处环境因素相结合,描述了环境对疏散的影响。
目前在疏散问题研究中,大多数都是针对诸如建筑物内或者城市大型公共场所内的疏散仿真,而对于地下受限空间的疏散研究较少。地下受限空间内的疏散受到多因素影响,是一个复杂的过程。
文中以矿山巷道为例,基于Agent模型对巷道内的人员进行建模;通过人员应急疏散分析,确定三维巷道内Agent的疏散速度、所处位置等,基于变权的A*算法对三维巷道模型进行搜索,获得最短疏散路径,并进行疏散时间等评估分析。通过对Agent之间以及Agent与巷道之间进行碰撞检测和碰撞响应,以确保仿真的真实性。
基于地下巷道的二维数据,通过插值技术将其转化为三维空间数据,利用3ds max等工具对巷道进行构建,得到三维巷道模型,并导入仿真系统,作为人员应急疏散的虚拟仿真场景。
为了实现人员在三维巷道中的疏散模拟,采用MD2模型生成人员模型,并导入到三维巷道模型中。
MD2模型是一种经典的、拥有多种人员动作形态的三维动画模型文件,可以用OpenGL、DirectX、Glide等多种函数库对其进行再现或者重构。MD2模型中包含了步行、跑动、受伤、倒下、蹲伏等多种动作行为,在应急疏散模拟过程中,根据人员和环境的不同情况,需要设定相应的动作行为,如在突水灾害发生时,可根据水位高度、水流速度等因素,确定撤离人员的动作行为。MD2模型中对每帧动作都存有特定的顶点信息和纹理坐标,在进行重构处理时,需要读取关键帧动画并且进行关键帧之间的插值,在关键帧之间自动生成过度帧,使人员模拟的动作连续且光滑。
将巷道内人员作为疏散智能个体Agent,对其进行建模。在疏散过程中,Agent的属性可以由Agent定义描述如下:
Agent={ID,x,y,z,θ,speed,sightrange,time,path,direction,density,age}
其中,ID为Agent的编号;x,y,z为Agent的坐标位置;θ为Agent的前进方向;speed为Agent的移动速度;sightrange为Agent的视野范围;time为Agent疏散所用时间;path为Agent的疏散路径;density为Agent周边的人员密度;age为Agent的年龄。
(1)感知系统。
感知是指Agent获取周边环境的状态,并将其映射为自己内部状态的一种能力。Agent通过感知外界环境,获取外界信息,对之后的行为决策和行动方式有着决定性的作用。
文中通过对Agent的视觉系统建模,用来模拟人类眼球的功能,对周围的环境进行信息收集。
(2)决策系统。
Agent决策系统是Agent模型的核心部分。Agent自身属性、疏散环境、疏散目标都会对Agent的决策产生影响。决策部分主要由Agent疏散路径规划组成。
巷道内应急疏散行为开始时,Agent位置的确定可以通过Agent定位系统或者交互式工具获得。
疏散路径的确定是通过提取巷道底部的中线,获取巷道的拓扑结构,以Agent当前所在位置为搜索起点,疏散出口为疏散终点,结合来自物联网的实时数据,以三维巷道空间分布、Agent行走动态距离、Agent疏散速度、灾害相关因素等为权值,基于变权的A*算法[12]搜索疏散最短路径,并将获得的疏散路径作为Agent的逃生路线。
(3)行为设定。
(a)Agent疏散速度计算。
Agent的移动速度是疏散模型中Agent行为中最基本的要素。由于三维巷道环境空间狭小,环境比较恶劣,因此在这种环境下,地下巷道人员在危急时刻总会以最快速度向安全出口移动。但是此时,Agent速度影响因素较多,如水位、水流、巷道坡度、巷道拥塞、人员密度等。文中主要讨论人员密度对速度的影响。
人员密度由单位面积内的人数来确定。
Agent疏散速度与人员密度的关系可以用式1来确定。
vi=1.867D4-6.333D3+7.233D2-3.617D+
0.95
(1)
其中,vi为Agent中第i个人的速度,单位为m/s;D为人流密度。
人员密度由单位面积上的人数来确定,反映了人员的拥挤程度,表示为:
(2)
其中,N为单位面积内的Agent数量;Ap为单个Agent的水平投影面积;W*L为单位面积;0 (b)Agent位置实时计算。 由于巷道内部拓扑节点距离狭长,为了增强Agent在巷道内移动的真实性,提升观察Agent在巷道内疏散的可视化效果,避免视觉抖动和Agent跳跃现象,通过读取拓扑节点L1,…,LiLi+1,…,Ln,在两两节点之间进行线性插值及Cardinal插值[13]。计算两个拓扑节点之间的距离,设插值距离为Δd,计算需要插值的点的个数,则在节点之间会获得多个插值点MikMik+1的位置及其坐标。在疏散过程中,由于给定的疏散路径上的两两坐标点的距离Δd已求得,只需根据单位时间Δt内移动的距离来计算Agent移动后的坐标。 step1:根据Agent移动速度vi,经过单位时间Δt,求得走过的距离di; step2:根据di计算走过的插值点的个数n和到新的身后插值点的距离dp; (3) 求得: (4) (5) (6) Agent实时位置的计算如图1所示,其中箭头所指方向为Agent的前进方向。 评估分析主要包括疏散时间、出口处通行系数、巷道交汇处Agent汇集程度以及灾害对Agent疏散影响等。 (1)疏散时间。 当巷道内发生危险状况后,Agent能否安全疏散取决于离开巷道时的疏散时间。 第i个Agent的疏散时间可以表示为: ti=tp+te (7) 其中,tp为Agent的疏散延迟时间;te为疏散到安全区域所需时间。 (a)di>Δd的移动情况 (b)di<Δd的移动情况 整体疏散时间tmax由最后一个疏散离开的Agent的疏散时间决定,设疏散总人数为m,则 (8) (2)出口处通行系数。 出口处通行系数Neff受限于出口宽度,每秒钟从出口疏散出去的人数是基本不变的,Agent通过出口的速度与该出口的宽度和通行系数有关。通行系数是指单位时间内通过出口的人数。通行系数和人员密度密切相关,当密度增大到一定程度时,就会因为道路阻塞而导致停止流动的现象,因此需要将出口宽度设计成合理的距离。 通行系数Neff与人流密度D的关系可由式9表示: (9) (3)巷道交汇处Agent汇集程度。 在巷道交汇处,由于在不同巷道分支内的Agent对其他巷道分支内的人员情况未知,当出现Agent大量出现在巷道交汇处时,会导致Agent发生碰撞,减缓疏散速度,影响疏散效率。 (4)灾害对Agent疏散的影响。 水流、烟气等灾害对Agent疏散产生影响。例如,巷道内突水情况也会影响Agent的疏散。突水位置、水位、水流速度、水流路径会对Agent的疏散路径选择、疏散速度等造成影响。巷道内发生火灾时,由于会产生大量的烟气,会对Agent的视野、路径的选择等造成一定影响,影响疏散效率。 三维巷道中人员应急疏散仿真系统由四部分构成,如图2所示,分别是三维模型构建、路径生成、可视化仿真、评估分析。 图2 系统架构 三维模型由三维巷道模型和人员模型组成,作为三维巷道中人员应急疏散仿真场景。根据Agent和巷道的具体情况确定Agent的疏散速度,由基于变权的A*算法生成Agent的最短疏散路径。 可视化仿真由Agent之间以及Agent与巷道的碰撞响应、Agent在巷道内朝向、Agent在不同环境下的工作改变和Agent在巷道内的位置确定组成,根据这些数据对Agent进行处理并生成实时三维场景。其中Agent的朝向是根据该Agent疏散路径上的前进方向来确定。 (1)Agent之间碰撞检测与响应。 设定每个Agent的直径为0.5 m且可视为圆形,当Agent与Agent之间的距离小于0.5 m时,即可视为两Agent之间发生碰撞。这时,需要对Agent在疏散时两两之间的碰撞响应做出判别,并做出相应的调整,如图3(a)所示。 处理Agent之间的碰撞方法:通过Agent的感知系统,模拟人员的视野,其半径为Reye,设定Agent的最小规避半径R0,其中R0>0.5 m。如果有其他Agent进入该范围,则该Agent减速或者停止前进。当该范围内没有其他Agent出现时,该Agent恢复原来的速度继续前行。 (2)Agent与巷道之间碰撞检测与响应。 为了确保疏散模拟的准确性,需要对Agent与巷道之间的碰撞做出相应的处理。假设巷道宽度为drm,设定当Agent与巷道之间的距离不得小于dsm。 (a)Agent之间碰撞检测与响应 (b)Agent与巷道的碰撞检测与响应 以河北某矿井为例,该矿井南北长度约为10 km,东西长度约为5~8 km,面积约为52 km2,巷道宽度为4.6 m。 采用Visual Studio 2010,利用MFC设计各功能菜单实现与用户的交互,以OpenGL进行图形绘制实现可视化。 通过最短路径搜索,可以获得三维巷道内Agent的疏散路径,其中两条路径如图4中黑线所示。 图4 疏散路径生成 在巷道内随机分布100人进行疏散仿真模拟,并对巷道交汇处有不同数量Agent的疏散情况进行模拟,通过图4的巷道交汇处B进行观察。 图5(a)~(c)为巷道中的Agent在通过巷道交汇处B的动态模拟过程,展示了其中3个关键帧的结果。在巷道内的实际疏散过程中,Agent是面朝自身前进方向的,图5(a)和图5(b)分别表示Agent在进入巷道交汇处之前和交汇处时的情况,通过可视化结果可以看出,在拐角处Agent C1发生转向,面朝自身的前进方向;而Agent C2在通过巷道交汇处时面朝方向不变,与前进方向一致,符合实际情况。在实际疏散过程中,当人数较多时,会发生碰撞(如图5(d)所示),通过“Agent之间碰撞响应”算法,可使Agent之间发生碰撞后产生一个位移,相互间避开一段距离,保证自身不受挤压(如图5(c)所示)。图5(e)为巷道内Agent疏散仿真模拟结果图,以便观察巷道内Agent疏散情况。 图5(f)为在图4所示巷道交汇处B,多个Agent相遇时Agent的速度比较分析,当在巷道交汇处Agent数量逐渐增加、人员密度增大时,每个Agent的疏散速度会有所降低。以图5(a)为例,在交汇前,两处巷道分支各有5个Agent,当10个Agent汇聚在一起的时候,导致它们在巷道交汇处的密度增大,根据式1,Agent的疏散速度由0.59 m/s降低至0.29 m/s(如图5(f)所示),导致疏散效率降低。经过一段时间,由于会有部分Agent脱离之前汇聚在一起的小群体,密度有所降低(如图5(c)所示),根据式1,计算得出Agent的疏散速度由0.36 m/s提升至0.51 m/s,如图5(f)18 s的时刻所示。 图5 巷道交汇处疏散情况 对多人单出口和多人双出口的疏散情况进行模拟仿真,得到的最终疏散时间如图6所示。 图6 不同人数不同出口数量疏散时间 从表中的数据可以看出,当人员数量有所提升时,双出口疏散条件下所用的疏散时间比单出口所用疏散时间少很多,而且增加出口数量有利于降低总体的疏散时间。因此在三维巷道内的疏散过程中,应当保证当有应急情况发生时有多个出口保持畅通,就会提升疏散的效率和安全性,避免人员离开巷道时因出口数量不足影响生命安全。 研究了以Agent模型实现三维巷道中人员应急疏散仿真的主要技术方法,分析了人员密度对疏散速度的影响,人员疏散过程中实时位置的确定。采用OpenGL技术,实现了三维巷道人员疏散的三维动态可视化仿真,可以观察Agent的形态、转向、碰撞等行为,反映Agent在应急疏散时的真实情况。通过疏散时间等计算对应急疏散仿真结果进行评估分析,能够指导Agent分流,避免在巷道交汇处Agent数量激增,获得最短等待时间和最短疏散过程,为应急救援方案的制定提供技术支持。2.3 评估分析
3 仿真设计
3.1 系统构架
3.2 碰撞检测与响应
4 应用实例
5 结束语