基于A*算法的应急疏散系统设计
2023-05-30刘云王丽关文玲张嘉琪孟玉莹
刘云 王丽 关文玲 张嘉琪 孟玉莹
关键词:A*算法;应急疏散;路径规划;LabVIEW;疏散引导
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2023)02-0042-05
1 引言
随着社会的高速发展,为了满足人们不断提高的生活需求,我国建筑逐渐呈现出高层、大规模、多样化、综合性等特征,同时,建筑内电气设备、燃气等的大规模使用,使得建筑内火灾隐患增多,且一旦发生火灾后果严重,也极大提高了人员的应急疏散难度[1]。传统的疏散系统由于疏散标识只遵循就近原则,导致指向性单一,已无法满足现代建筑的疏散需求,而如今计算机早已普及,寻路算法也发展成熟,因此,新式的智能动态疏散系统引起了诸多学者的关注。
一个完整的消防疏散系统应包括软件和硬件两个部分。软件主要用于接收和处理各类火灾探测器信息,识别火灾发生点,计算疏散路径,得出方向信息,并将方向信息传达给硬件系统;硬件部分又可以分为火灾探测系统和路径指示系统,火灾探测系统识别各种火灾特征,并发送给软件系统,路径指示系统则将软件计算出的方向信息转化为直观的图形、声音等人们容易感受的信息。在软件方面,现有研究大多对寻路算法进行创新、改进,常用的路径搜索算法有A*算法[2]、蚁群算法[3]、Floyd算法[4]、Dijkstra算法[5]等,也有学者将不同的算法进行融合以得到更加快速、准确的结果,如邱友航[6]将Dijkstra算法和蚁群算法进行融合,使得算出的疏散路径距离缩短。在硬件方面,也有不少相关研究,Ran Haichao[7]等研究了出口位置、疏散通道数量和宽度、指示灯安装距离和安装位置对于疏散效果的影响。
然而,在现有研究中,绝大多数研究或针对软件算法进行类比分析和改进,或是对疏散指示系统和火灾探测器的布置进行模拟仿真实验得出最优结论,少有学者对应急疏散系统整体进行设计,且大多路径算法相关研究只针对计算出的疏散路线整体进行优化,无法得出对于疏散人群而言更为直观的方向信息。鉴于此,笔者在现有算法研究的基础上,在LabVIEW程序开发环境下,设计了一套应急疏散系统,系统包含基于A*算法的疏散路径计算软件和用LED点阵的路径指示系统,路径计算软件和路径指示系统之间采用485通讯,使其可以联合使用。
2 系统总体设计
系统总体由路径计算软件和路径指示系统构成,且二者通过485通讯方式进行数据交互,如图1所示。其中,路径计算软件中包含創建栅格场景子程序,具有路径规划和路径方向信息计算的功能。软件通过485通讯的方式将方向信息发送给LED点阵控制器。路径指示系统包含LED点阵和其对应的控制器,控制器接收到软件发出的信号后,做出相应指令使得方向信息在LED点阵上直观显示出来。
3 路径计算软件设计
软件系统采用美国国家仪器有限公司的Lab?VIEW 2017软件平台进行开发,该平台具有开发周期短,效率高等特点[8]。软件在LabVIEW机器人技术范例Astra on Occupancy Grid的基础上,进行二次开发,得到疏散路径计算系统。系统主界面如图2所示。
本系统在出现应急疏散需求时,可以计算疏散路径并将路径信息发送给硬件系统,具体工作步骤如图3所示。
在本系统中,可实现对场景内点对点路径规划和全局路径规划,点对点路径规划是对指定两点进行一次路径规划,全局路径规划则会对场景内所有地方均进行规划。
3.1 A*算法
A*算法可以认为是一种Dijkstra算法的拓展,相较于Dijkstra算法增加了到目标节点的预估计离,A*算法主要用于在两点之间选择一条最优路径。在本系统中,点对点路径规划直接使用A*算法得到两点之间的最短路径,结合A*算法原理,本系统计算原理如图4所示。
从图4中心格处出发,往上下左右走的距离分别为1,则四个斜角的距离为√2,对提前导入的栅格图中每个格子都进行这样的计算,再将起点到终点所有距离求和,就可以得到距离最小的路径。在系统中,给障碍物的格子赋值100,可通行区域赋值1,则包含障碍物路径的距离显然大于不包含障碍物路径,即可实现避障功能。
3.2 场景栅格化
在系统使用时,首先需要将栅格化后的场景输入系统,本系统中附带栅格场景制作子程序,在程序中点击栅格即可设置障碍物,同时,根据A*算法原理,该格会被赋值为100,其他格则赋值为1,以便后续路径计算。该子程序框图如图5所示。
在栅格化的过程中,在不影响实际疏散效果的前提下,需尽量简化场景,以减少系统工作量,缩短计算时间,如图6(a)为一室内场景,由于对房间内部的路径规划没有实际意义,而走廊只需要用一格表示即可,故可简化为图6(b),其中,黑色为障碍物,白色为可行走区域。
在系统中输入场景栅格图后,如果要进行点对点路径规划,则需设定起点和终点,如果进行全局路径规划,则只需要设定终点。在系统界面中,起点和终点分别用蓝色和紫色表示。
3.3 路径计算
本系统可实现对于两点之间的点对点路径规划和对于整个场景的全局路径规划,点对点路径规划直接使用A*算法计算即可得出两点之间的最短路径,全局路径规划则在点对点路径规划的基础上,随机改变其起点,使得场景中每个位置都有路径经过,则可得出整个场景的路径信息,在计算过程中,已经计算过的栅格会赋值-2,因此软件只需识别计算值为1的栅格,不会进行多余重复的计算。
对于点对点路径规划而言,点击“点对点路径规划”后路径即可直接显示出来;全局路径规划则是系统在后台随机生成起点进行计算,已经计算过的格子不再计算,直至场景中每格都有了确定的疏散方向,在计算过程中,场景路径不断闪烁,场景中可通行区域全部变绿即为路径计算完毕。
3.4 方向信息计算
在全局路径规划中所有格子均经过计算过后,系统会赋予每个格子相对应的方向箭头,其原理如下:
根据A*算法原理,在终点确定的情况下,同一栅格無论有几条路径经过,都只存在一个确定的方向,因此,只需确定经过此栅格的某一条路径中,下一格的位置即可确定此格的指示方向,本系统用下式栅格坐标相减来确定两个栅格的相对位置:
3.5 485通讯设置
想要在路径计算软件和路径指示系统之间建立联系,必须要在软件中对485通讯相关参数进行设置。根据彩灯控制器使用说明,需设置通信参数:波特率:9600、数据位:8位、停止位:1位、校验:无;通信指令格式:addr****style###,****为设备地址,必须发足4位;###为样式编号,必须发足3位。在LabVIEW 2017开发平台中对通信相关参数进行设置,相关程序框图见图8。
4 路径指示系统设计
疏散指示系统由WS2812B像素软屏、S1000型全彩灯带控制器以及电源组成,像素软屏和控制器如图9所示。
疏散指示系统与计算机之间通过485通讯方式连接,整个指示系统详细构成如图10所示。
在彩灯控制器中通过上位机软件录入和像素软屏相同像素的箭头指示图,并进行编号,箭头指示方向与编号对应关系见表2。
5 系统测试
系统测试的目的是验证路径计算软件和路径指示系统能否正常工作以及系统整体能否达到设计指标。将路径指示系统连接好之后,就可以通过计算机发送指令,显示方向箭头。此外,在实际使用时,指示灯在安装时,需要按照同一方向进行摆放。本文用如图11所示复杂场景来验证系统有效性,图中,紫色栅格为场景的终点。
选择全局路径规划功能,则系统开始计算,等到可先走区域全部变绿后,点击行走路径可见,得到图12所示结果。
图中,黄色为指示灯所处位置,指示灯显示效果如13所示。
在测试过程中,路径从开始计算到指示灯显示,仅用时1s,且路径计算结果准确,指示灯均能显示出相应的方向,符合初期设计指标。本文由于空间限制,仅随机挑选了三个位置作为指示灯展示位置,事实上,LED像素矩阵可通过串联的方式显示同一方向,即在实际使用时,可将建筑中的每个角落的疏散方向全部展示出来,使得疏散人群更加便利地获取逃生路径。
6 结论
本文设计开发了一个基于A*算法的智能疏散系统,以485通讯技术、LED彩灯控制技术为核心,构建了疏散指示硬件系统,在虚拟仪器LabVIEW开发环境下软硬件相结合,实现了对人员的疏散引导指示功能。软件采用较为成熟的A*算法,路径计算时间短,计算结果准确。硬件采用稳定的485通信技术与软件互通,将软件计算出的路径实时动态显示出来,对于应急疏散具有较好的先进性和实用性。