张 帆,肖丙刚
(中国计量大学 信息工程学院,浙江 杭州 310018)
近几十年中,大量的高层,地下建筑与大型的石化企业不断涌现。由于这些场所的特殊性,发生火灾时,不能快速高效的灭火。在夜间,万一发生火灾如果不能及时发现、扑灭,都将造成巨大的损失,尤其是危险物品,还会对社会公共安全造成威胁。为了解决这些难题,尽快救助火灾中的受害者,减少财产损失,最大限度的保证消防人员的安全,防止夜间或者无人时室内有火灾发生,造成不必要的损失,因此研制一种智能灭火机器人是十分必要的。
如今国内外存在较多关于灭火机器人的研究,见文献[1-8]。这些研究通过遥控等方式实现了机器人代替救援人员灭火的目的,同时针对火灾的各种情况,以加强各种传感器的功能为手段,实现了快速灭火和精确定位的效果。但是这些灭火机器人的研究存在着监测范围受限、避障风险高的问题,而且火焰识别精度不高。
因此,针对目前国内外灭火机器人研究所存在的这些问题,本文提出了一种基于物联网和机器视觉的自动导航灭火机器人,并针对灭火的功能进行了优化。
随着科技的发展,物联网技术已在各行各业得到广泛应用,在智能消防领域,曹元军等人[9]结合了消防物联网和互联网,提出了一种有效且高效的智慧消防系统,为我们展现了一种比较完整的物联网系统架构。该系统的环境监测范围大,不受环境中障碍物的限制,且人机交互性强,鉴于该系统,本文提出了一种基于物联网和机器视觉的自动导航灭火机器人。该机器人系统将机器人作为主节点,将传感器节点作为从节点,并采用物联网中的ZigBee无线通信技术[10],将各个传感器节点与机器人节点很好地结合起来,达到了扩大环境检测范围的目的。当机器人节点收到传感器节点发送的火焰异常信息时,第一时间通过激光雷达避障技术进行自主避障导航到达火灾位置,最后通过火焰识别,实现精确灭火。本文所构建的灭火机器人系统结构示意图与其工作流程图如图1和图2。
图1 灭火机器人系统的结构示意图Figure 1 Structure diagram of fire extinguishing robot system
图2 灭火机器人系统工作流程图Figure 2 Work flow chart of fire extinguishing robot system
传感器是有一定工作范围的,传统灭火机器人对传感器的使用,非常容易受到复杂地形的影响,以火焰传感器为例,当一个环境十分复杂时,如环境被许多堵墙隔开,受到各种障碍物的影响,火焰传感器的检测范围如图3所示。
图3 火焰传感器在复杂环境下的检测范围平面示意图Figure 3 Schematic diagram of detection range of flame sensor in complex environment
其中B为火焰传感器节点,A1为火焰传感器正常情况下的检测范围,A2为火焰传感器受障碍物影响下所失去的一部分检测范围,当前国内外文章对于灭火机器人的优化,大多局限于对传感器和算法的改进,在增加A1的同时,也会不可避免地增加A2,那么最后A也就只能逼近一个有限值。本文借鉴物联网系统架构,将传感器作为子节点,散布在环境中的各个位置,以灭火机器人为主节点,构建了一个新型的灭火机器人系统,结合物联网中的ZigBee通信技术,实现节点之间互相协作,大大增强了检测范围。改进后的系统检测范围示意图如图4所示。
图4 改进系统后火焰传感器在复杂环境下的检测范围平面示意图Figure 4 Schematic diagram of detection range of flame sensor in complex environment from the improved system
不难想象,我们当子节点的数量足够多时,该系统的监测范围可以无限逼近100%,极大地提高了系统的安全性和可靠性。这样,就解决了传统灭火机器人监测范围受限的问题。
物联网技术中,通信技术是核心技术之一,通信技术的缺陷,会直接导致整体系统变弱甚至崩溃。
本文采用的ZigBee无线通信技术,是一项新型的无线通信技术,它具备距离远、可透传等优势,与其他无线标准如WIFI、蓝牙等相比具有更好的特性,可以很方便地应用在单片机上[11],同时也可以通过各种软件计算技术如人工神经网络等去丰富其功能。本文采用的硬件为ZigBee无线串口收发模块,实现了多点对一点的数据通信。
本文借助激光雷达和机器人操作系统(ROS)来实现机器人的自主导航和避障功能。
首先利用机器人操作系统中的Gmapping功能包,实现即时定位和地图建模的功能,图5展示了小车在Rviz中建图的情况以及小车在Gazebo仿真器中的对比图。通过遥控机器人从房间①到房间③的运动过程中,雷达对周围环境进行扫描,将其采集到的深度和里程计信息输入到Gmapping功能包中,由此建立起栅格地图。
图5 仿真建图过程及结果Figure 5 Simulation process and results of drawing construction
构建完环境地图后,利用move_base功能包即可完成机器人的自动导航,图6展示了运用move_base包后小车自动导航和路径规划图。
move_base功能包还能实现机器人避障功能。如图7所示,我们在小车处于C点位置的时候,在③号房间内随机放入一个障碍物,此时move_base功能包处于实时运行的过程中,对比图6,可以明显的发现机器人的路径规划发生了明显的改变,绕过了障碍物。
图6 仿真导航和路径规划过程及结果Figure 6 Simulation of navigation and path planning process and results
图7 仿真实时避障过程及结果Figure 7 Simulation of real-time obstacle avoidance process and results
但是,当环境复杂化后,即障碍物的数量和位置都不确定的情况下,仿真结果显示,机器人会因为速度过快或搜索范围小等原因而出现撞击障碍物的情况,这是非常致命的,于是本文基于A*算法对move_base功能包进行了优化。A*算法作为Dijkstra算法的扩展算法,其高效性常被应用于寻路。A*算法的评价函数F(n)由G(n)和H(n)组成,F(n)又被称为总耗费,其模型为[12]:
F(n)=G(n)+H(n)。
(1)
其中G(n)表示起点到网络指定方格的移动耗费(也称代价函数),H(n)为终点到指定方格的预计耗费(也称启发函数)。其中,启发函数H(n)决定了A*算法的搜索性能,当障碍物较多时,通过适当降低启发函数H(n)的权重,可以提高搜索范围以避免陷入局部最优[12]。由于灭火机器人的应用场景多为复杂环境,障碍物较多,借鉴该想法,本文为启发函数H(n)设置了权重函数E,模型为
F(n)=G(n)+E×H(n)。
(2)
其中根据实验需要,将E称为抑制函数,设起点、终点和当前算法处理节点的坐标为(xst,yst),(xst,yst)和(xi,yi)。采用欧拉距离的形式进行算法的设计,可设置函数:
(3)
(4)
本文的建模数据来源于文献《基于视频图像处理技术的火焰识别算法江》[13]。
为了实现精准灭火,火焰识别技术是必不可少的,本文采用摄像头传感器,基于深度学习模型,实现对火焰的识别。在深度学习模型的训练之前,我们需要对训练图像进行预处理,否则训练出来的深度学习模型的准确率会非常差,远远达不到应用的水平。本文基于HSI和RGB的混合判据模型对火焰图像进行了预处理。
在RGB模型中,对于火焰而言,红色分量(R)和绿色分量(G)会很大,并且绿色分量(G)会大于蓝色分量(B)。HSI颜色模型用H、S、I三个参数描述颜色特性,H为色调,即颜色的频率;S为饱和度,即颜色的深浅程度;I表示强度或者亮度。这一种彩色描述对人来说是自然而直观的。考虑到单一颜色模型的判据准确性不够高,在RGB判据基础上,添加HSI约束条件。具体条件为:
(5)
其中,RT是红色分量阈值,ST是饱和度阈值,火焰像素主要取决于红色分量(R)的色度和饱和度。判据中阈值的选择对于火焰检测是至关重要的,一般靠经验设定,为了获取火焰识别最好的效果,设置两个滑动条,改变阈值RT和ST的大小,选取最合适的值。
使用MATLAB软件可以实现RGB图向HIS图的转换,转换前后图如图8所示。
图8 RGB图转化HIS图(左图为原图)Figure 8 Transformation of RGB image into HIS image (the left image is the original image)
先对原图进行二维中值滤波处理,消除图像噪声对图像信息的影响,然后根据判据条件式(5)对RGB和HIS图进行处理,选取满足条件的图像区域并进行图像的二值化,最后进行形态学图像处理,得到结果图9。对比原图,我们发现,该判据条件可以很好地提取复杂环境下的火焰信息。
图9 图像预处理结果图Figure 9 Image preprocessing results
最后我们将所有火焰图片基于该判据方法进行预处理,将处理后的图加入百度AI云开放平台中的EasyDL图像开发平台中,利用该AI模型进行训练,训练得到我们的火焰识别模型,模型的训练结果如图10,该模型的准确率达到百分之90%,图11为该模型火焰识别的效果图。
图10 深度学习模型训练结果图Figure 10 Deep learning model training result graph
图11 火焰识别模型的识别效果Figure 11 Recognition effect of flame recognition model
但是在火灾的现实情况中,烟雾浓度比较大,光线会很微弱,摄像头的能力受影响较大,对于火源的定位精度也会大大降低,针对这一问题,我们需要借助红外摄像头这一辅助传感器。同时通过自适应图像阈值分割方案[14],我们便可以解决在烟雾环境下对火源的定位精度的问题。
由式(3)和式(4)可知H为抑制函数E的上限值,当不对其进行设置时,易知抑制函数的值是小于等于1的,在[0,1]的定义域内,我们可以通过设置H值来调整启发函数的权重,从而实现A*算法在复杂环境下的优化。
然而通过降低启发函数的权重,增加了搜索范围的同时,计算量也会增加,机器人的导航速度会变慢,所以,确定一个最优的抑制函数是十分有必要的。实验场地如图12所示,实验硬件如图13和图14所示。
图12 实验场地图Figure 12 Experimental site map
图13 灭火机器人硬件图Figure 13 Hardware diagram of fire fighting robot
图14 边缘传感器节点硬件图Figure 14 Edge sensor node hardware diagram
在PC端打开终端,利用安全外壳协议SSH连接到机器人树莓派端系统,启动Gmapping功能包,打开Rviz可视化工具,用键盘控制机器人在试验场地运动,构建出运动场地的环境地图,构建图如图15所示,构图时为了防止其他多余环境因素干扰,将隔板摆在实验路径的两旁,使地图边界趋于平滑,同时不摆放任何障碍物,便于实验测试机器人在随机环境下的应对能力,即避障能力。
图15 实验场地建图Figure 15 Experimental site drawing
以H值为0.7时的实验为例,在整个实验过程中,机器人的路径规划图如图16所示。实验开始时,我们可以确定机器人的位置①,在试验场地的拐角处②的位置安置一个传感器节点并进行火灾模拟,传感器节点将位置信息和异常信息传送给机器人,机器人将该点位置设置为目标位置,以自身的位置为起始位置,开始自动导航避障,在1~5五个位置临时摆上5个障碍物,全程记录机器人到终点的时间以及是否会撞击到障碍物,多次修改H值并进行实验,得到多组数据,实验部分结果如表1所示。
图16 实验中机器人路径规划图Figure 16 Robot path planning diagram in the experiment
表1 确定参数实验数据
由实验结果可知,在当前实验环境下,最佳H值为0.7,虽然牺牲了一定的速度,但保证了避障的可靠性,增强了系统的安全性。
但是固定数量和位置障碍物的多次实验所得出的最佳H值并不具备普遍性,于是在第一次实验的基础上,多次改变障碍物数量和位置,得到每一种情况下的最佳H值。结果表明,最佳H值基本在0.6到0.8之间,呈正态分布,由此证明实验所得最佳H值具有一般普遍性。
本文提出了基于一种基于物联网和机器视觉的自动导航灭火机器人,该机器人系统解决了监测范围受限缺点,通过结合改良算法后的自动导航避障和火焰识别技术,机器人的安全性和灭火精准度得到了很大的提升,解决了目前国内外对灭火机器人研究所存在的环境监测范围受限、避障风险高、火焰识别精度不高三个问题。实验结果很好地验证了该机器人系统的可行性和安全性,具有不错的实际应用价值。但本实验是针对小型灭火机器人进行研究,今后可继续深入研究,了解该系统在大型机器人上的应用效果。