一种最优路径规划的灭火机器人系统设计

2018-06-30 02:44温卫敏
关键词:火源火焰滤波

温卫敏

(滁州学院计算机与信息工程学院, 安徽 滁州 239000)

引 言

灭火机器人是集人工智能、仿生科学、机械设计与制造等学科知识为一体的智能机器人,用于协助消防员开展火灾现场灭火救援,适合复杂环境、高危火情下替代消防员进行火灾现场监测和灭火,提高灭火的精度和速度,对保障人民生命财产和消防员人身安全有重要的现实意义。众多研究者开展了灭火机器人的智能化、自动化相关核心技术的探索,主要研究方向有灭火机器人系统设计、路径识别、火源鉴别、火源定位、火源监测和灭火救援,其中火源鉴别、火源定位和路径识别是消防灭火机器人系统中关键的环节[1]。吴宜勇[2]等采用了MSP430单片机实现了灭火报警机器人,有效检测了烟雾浓度,估算了火源与机器人的距离;盛彬[3]等采用STC12C5A6OS2单片机实现了智能灭火机器人,利用火源温度和烟雾浓度判读火源地点;王志中[4]采用了改进蚁群算法实现了机器人智能路径优化;蒋林[5]等采用了分层模糊控制系统实现了灭火机器人火源寻踪;史兵[6]等通过无线传感网络和远程网络控制实现了移动灭火机器人控制,达到了良好的效果。

及时灭火能有效降低火灾造成的损失,然而,要实现及时灭火,就需要尽早确定火源点。火源点确定最直接的方式是直接从火源图像获取信息,但基于火源图像处理和最短路径的灭火机器人设计较少。由于火灾现场环境复杂高、情景变化快,火源干扰较强等问题,大量的外界噪声一直影响系统识别和定位的精度。为提高火源定位精度和效率,本文设计了一种最优路径规划的灭火机器人系统。系统采用自适应均值滤波算法消除火灾现场监测图像噪声,以提高监测图像的质量和火源定位的精度[7],利用最小生成树Kruskal算法[8]结合红外路径避障原理,调节灭火机器人移动偏移量,选择最短路径抵近火源点,完成灭火任务。实验证明算法具有良好的鲁棒性,系统稳定性较好。

1 系统整体设计

系统在整体架构设计上,综合考虑了灭火机器人行走稳定性、自身重量、负载重量、数据采集、元器件选择、硬件结构布局及软件设计等。为提高灭火机器人行走的稳定性,采用对称四驱轮式车型结构,整车高与宽的比例为1∶1.35,负载水枪、探头、传感器等设计为可升降式,在机器人行走时,可降低高度至贴近车身位置,以保障行驶的稳定性;负载重量和自身重量关系到驱动电机的选择,为提高动力性能,采用双电机耦合驱动。数据采集装置包括火源探测摄像头,红外避障传感器和红外火焰传感器等。系统总体架构如图1所示。

图1 灭火机器人系统架构

系统主要分为输入部分、数据处理及通信和输出部分。输入部分主要完成火源图像数据采集、道路障碍物数据采集和机器人行进速度数据采集,火源图像数据通过自适应均值滤波算法去除噪声,结合红外火焰传感器计算火源中心位置,判读行驶路径障碍物,并通过最小生成树Kruskal算法[9-10]计算规划灭火行驶最短路径,控制器根据数据处理结果对电源进行管理,触发舵机偏移和电机调节,闭环自动控制技术PID算法控制行驶速度,行驶到近火源有效位置。

1.1 硬件设计

系统控制器选用MK60DN512ZVLQ10单片机,该芯片具有32位微控制器、144引脚、16个DMA通道、128 KB SRAM、512 KB FLASH、16位A/D转换器、12位D/转换器、12个通道正交解码和电机控制、5个UART模块、100 MHz时钟频率,可有效利用控制脉冲宽度控制舵机输出电流和电压,支持多种数据格式传输和接受,功耗较低,运算速度满足系统运算和控制需求。

摄像头选用防震动摄像头,集成了彩色CMOS图像采集芯片,分辨率为652×582,传输速率为60帧/秒,支持VGA、QVGA图像格式,输入电压3.3 V,额定功率小于150 mW,可以在运动状态下获取火场图像数据,体积小,易控制芯片集成,系统设计为3路摄像头采集电路。

红外避障传感器采用发射管持续发射一定频率的红外线传感器,当在传播方向上遇到障碍物,接受管将收到较强的反射光线,经比较器电路处理后,信号输出接口输出低电平数字信号,探测障碍物距离。红外火焰传感器通过探测火源发出的短波红外线,确定火焰位置信息,探测波段范围:700 nm~1100 nm[11]。

速度传感器采用增量式编码器E6B2-CWZ6C型,输入电压5 V~24 V, 500脉冲/旋转,最高转速6000 r/min,输出A、B、C相,A相、B相相位差为90±450,最高响应频率100 kHz,可实现正向和反向速度控制,用于记录和控制机器人速度。

电机是系统动力的提供者,本系统采用双电机耦合驱动,驱动模块包括SN74HC244S型和HIP4082IBZT型,其中SN74HC244S型电机驱动模块为信号放大模块,主要完成单片机GPIO工作电流放大,HIP4082IBZT型驱动模块可以工作在5 V~15 V电压范围内,主要完成对PWM波放大,可为灭火机器人提供稳定的动力驱动。系统主要硬件见表1。

表1 系统主要硬件性能表

1.2 软件架构设计

系统软件设计主要包括系统的初始化、图像采集与数据处理、核心算法控制等,流程如图2所示。系统初始化主要是对系统硬件接口连接如摄像头模块、OLED显示模块、速度采集模块、红外避障模块、电机舵机驱动模块等进行初始化。图像采集与数据处理主要是通过摄像头传感器将其值采集存放到数组中,由于摄像头存在噪点,用中值滤波器算法消除噪声,确定火源的具体位置。核心算法控制算法主要是确定火源位置后,将当前位置与机器人正前方的中线计算出一个偏差,根据这个偏差利用简单的PID算法计算出系统所需舵机的PWM波的输出量,来具体控制舵机前进的方向。

图2 系统软件流程图

硬件模块软件初始化主要包括:摄像头模块软件初始化、串口模块软件初始化、电机舵机模块软件初始化、编码器软件初始化、OLED显示屏软件初始化、红外避障模块软件初始化及按键电路模块初始化等。其中摄像头模块软件初始化主要完成数据传输方式、场中断和行中断设置,将火场图像数据按照帧为单位传输;串口模块软件初始化主要完成内核时钟、外设时钟和UART0串口模块接口设置;电机舵机模块软件初始化主要设置3个FTM模块的通道分配,将FTM0模块的两个通道为电机使用,FTM1和FTM2共八个通道分配给舵机和编码器,可输出稳定的PWM波;OLED显示屏软件初始化完成对7个引脚进行初始赋值,将DC、D1、D0和CS引脚分别连接SPI总线的SOUT信号、SIN信号、CLK时钟信号和片选信号接口;红外避障模块初始化是完成检测距离调节和将输出电平初始设置为低电平;按键模块软件初始化是设置各相关引脚为输入状态,各模块的初始化为系统开始工作做好准备。

系统硬件模块初始化后,然后进行摄像头图像采集,将采集到的原始数据放在指定的地址空间内,然后进行自适应加权滤波处理消除采集到图像中的噪点,确定火源的位置与机器人正前方的位置进行偏差计算得到偏移量,通过PID算法利用偏移量计算电机舵机的PWM波的输出量,然后驱动电机舵机准确找到火源的位置,将火源扑灭。

2 系统算法设计

图像采集的清晰度直接影响系统的精确度。摄像头在图像采集中难免会有噪声,如光电转换中灵敏元件的不均匀及量化噪声等,容易对系统视觉判读产生一定的干扰,导致系统精确度不高。通过大量的算法实验对比分析,自适应均值滤波算法具有很好的去噪能力。本系统采用自适应均值滤波算法对摄像头采集的数据进行有效地降噪处理,通过窗口各像素与中心像素间灰度差异和距离计算窗口中心像素灰度值均值,用分段线性函数根据各像素对不同像素到中心像素的影响程度和距离赋予权值,达到降噪和保持原有图像的有效信息不失真,为计算火源位置提供较精确的位置信息。采用最小生成树Kruskal算法规划计算火源点最短路径,综合考虑路障信息和最小距离,最终规划最优行驶路径。

2.1 自适应均值滤波算法设计

经滤波后窗口中心像素灰度值函数为:

……

for (i = filter; i

{ for (j = filterX; j

{ for (k = 0; k

{ for (l = 0; l

{ gR = img.at(i+ 1 - filterX, j + 1 - filter)[0];

// filterX:滤波器的中心元素X坐标

//filter:滤波器的中心元素Y坐标

pAryR[k*filterW + 1] = gR;

gG = img.at(i + 1 - filterX, j + 1 - filter)[1];

pAryG[k*filterW + 1] = gG;

gB = img.at(i + 1 - filterX, j + 1 - filter)[2];

pAryB[k*filterW + 1] = gB;

}

}

}

}……

2.2 最优路径规划设计

获得火源位置后,将规划如何抵近火源。暂不考虑火焰大小和避障干扰因素,先判断灭火机器人到达各火源最短路径。系统利用最小生成树Kruskal算法计算无干扰情况下的最短路径[15]。Kruskal算法将探测到不同火源点作为加权连通图G(V,E)顶点,U为V中一个真子集,若存在顶点u∈U和顶点v∈(V-U)的边(u,v)是一条权值最小边,则必存在包括边(u,v)的最小生成树T,生成的最小树即为最短灭火路径[16]。假设连通图G(V,E)有n个顶点,最小生成树产生步骤为:

(1) 令最小生成树初始状态为n个无连通的孤立顶点记作T(V,{φ}),图中各顶点为独立连通分量。

(2) 计算任意顶点到其余顶点的路径,依次选择最小代价边(权值与顶点积的代价之和),加入到T中,选择下一个最小代价顶点加入到T中。

(3) 重复步骤(2)直到所以顶点都在同一个连通分量上,则T为G一棵最小生成树。

核心代码:

……

voidKruskal(){

EdgeNoden;

cout<<“加入最小生成树中的边依次为: ”<

while(!g.empty()){

n=g.top();

g.pop();

if(Find(n.v1)!=Find(n.v2)){

cout≪n.v1<<“…”<

Union(n.v1,n.v2);

}

}

}……

通过最小生成树Kruskal算法获得灭火机器人到各火源点的距离值和最短路径规划,但为了在避障情况能有效提高灭火效率,必须将火源的火焰大小和避障因素综合考虑,计算最优灭火路径。令R(w,s,b)为路径综合规划值函数,其中w为灭火机器人到火焰点的距离或火源点之间的权值,s为火焰的面积,b为路障因子,通过构建路径综合规划函数,计算每条灭火路径规划值进行比较,求的最优灭火路径,计算方法如下:

其中,n为规划的火源点数;si为火源点火焰面积:为所有火焰点数的单孔火焰面积*单孔火焰烈度积的和,火焰面积和烈度有火焰传感器值获得;bi为路障因子,定义如下:

通过各路径比较得出R(w,s,b)min为最优路径。

3 实验与结果

系统采用IAR Embedded Workbench for ARM开发环境,利用该环境自带C++编译和调试环境,在4×4.5 m平整地面上设置模拟火源,在模拟火源前设置3处道路障碍,点亮火源后,将灭火机器人按键电路初始化,模拟火场灭火场景,系统开始灭火工作,根据火源图像信息、位置、避障信息,选择最优灭火路径。

系统采用了自适应均值滤波处理火源图像信息,能有效降低噪声干扰,确定火源中心位置。摄像头采集的火源图像分别通过传统的均值滤波算法、高斯滤波算法、卷积滤波算法和自适应均值滤波算法进行降噪处理,处理结果如图3所示,图像A为摄像头采集火源原始图像,图像B为红外摄像头采集的火焰图像,图像C为采用传统均值滤波算法处理后的图像,图像D为高斯滤波算法处理后的图像,图像E为卷积滤波算法处理后的图像,图像F为自适应均值滤波算法处理后的图像。高斯滤波和卷积滤波可以较明确地发现火源位置,但清晰度不够明显,传统均值滤波算法处理降噪的效果明显低于自适应均值滤波算法,自适应均值滤波算法可以有效地降低外界环境对图像的影响,图像的清晰度较高,为火源位置计算提高了较准确的依据。

图3 各种滤波算法效果对比

为提高灭火效率,采用最小生成树Kruskal算法,并综合了火焰大小和火源离灭火机器人的距离,规划灭火最优路径,具体过程图4所示。实验分别按照避障优先路径规划、火焰最大优先路径规划和综合火焰、避障和最短路径规划,如图5所示,避障优先路径规划灭火机器人要经过7条边回到出发点,边的权值波动较大;火焰最大优先路径规划灭火机器人要经过6条边,个别边的权值波动较大,影响灭火时间;而综合考虑避障、火焰最大,最优路径规划经过5条边,边的权值起伏小于前两种规划。因此,在考虑火焰大小和避障条件下,最优路径规划最节省灭火时间,减少火灾损失。

图4 灭火最优路径规划

图5 路径规划比较

按照路径最优计算过程,分别令灭火机器人为点O,Rb为避障优先路径规划值、Rf为火焰最大优先路径规划值,Rc为综合火焰最大、避障和最优路径规划值,对其进行计算。

由图4可知OA、OB、OC、OD、OE级各火源点之间的距离,火焰面积和烈度,见表2。

表2 火源点距离表述

注:m为距离单位,w为单位权值系数,s单位面积,I为单位烈度值。

其中

其中:bA、bB、bD、bC、bE为无障碍,值为1;bG>1且障碍物大小相等值为1.2,令面积单位s为1,烈度单位I为1,将表中数据带入公式计算可得:

Rb=4.88;Rf=4.76;Rc=4.52;Rb>Rf>Rc,Rc为最优路径规划。

4 结束语

灭火机器人在火场监测和救援上的运用越来越广泛,总体向着自动化、智能化、交互式方向发展,目的是为应对火场复杂环境、提高灭火效率和灭火质量、在危险时刻大显身手。基于自适应均值滤波算法的灭火机器人的设计,优化了图像噪声处理效果,提高了火源定位精度,有助于机器人快速锁定灭火目标,最短路径规划和避障设计有利于灭火机器人按照火焰大小和距离远近规划最有效的灭火路径方案,提高灭火效率。系统在三维立体场景下的灭火运用有待进一步设计,尤其是密闭环境下三维火源信息采集是下一步研究的重点。

参考文献:

[1] 曹晶秀.基于多传感器信息融合技术在灭火机器人系统的设计[J].计算机测量与控制,2012,20(1):288-290.

[2] 吴宜勇,郭颖,金嘉谊,等.基于MSP430的小车式灭火机器人设计[J].国外电子测量技术,2017(11):99-102.

[3] 盛彬,乔栋.基于单片机的用电报警系统在智能灭火机器人中的应用[J].通讯世界,2017(16):272-273.

[4] 王志中.基于改进蚁群算法的移动机器人路径规划研究[J].机械设计与制造,2018(1):242-244.

[5] 蒋林,金祖飞,程文凯,等.一种分层模糊控制的灭火机器人火源寻踪[J].机械设计与制造,2017(9):49-53.

[6] 史兵,段锁林,李菊,等.基于无线传感器网络的室内移动灭火机器人系统设计[J].计算机应用,2018,38(1):284-289.

[7] 张文娟,康家银.一种用于图像降噪的自适应均值滤波算法[J].小型微型计算机系统,2011,32(12):2495-2498.

[8] 王英,刘天时.基于Kruskal算法的最短路径算法研究[J].重庆高教研究,2009,28(6):37-39.

[9] 潘敏.最小生成树及Kruskal算法在城市规划中的应用[J].数字技术与应用,2017(8):132-133.

[10] 袁威威.应用Kruskal的改进算法求最小生成树[J].江苏第二师范学院学报,2017,33(6):12-13.

[11] 林凡强,张阳,杨文旭.基于红外火焰传感器和最小二乘法的灭火机器人[J].传感器与微系统,2015,34(1):110-112.

[12] 张文娟,康家银.一种用于图像降噪的自适应均值滤波算法[J].小型微型计算机系统,2011,32(12):2495-2498.

[13] 陈家益,黄楠,熊刚强,等.基于置信区间的自适应加权均值滤波算法[J].南京理工大学学报:自然科学版,2017,41(3):307-312.

[14] 魏彦.基于自适应均值的图像滤波算法[J].包装工程,2017,38(13):204-207.

[15] 李仙玉.基于Prim算法和Kruskal算法的最小生成树优化研究[J].计算机光盘软件与应用,2010(3):95-95.

[16] 丁晓春.面向灭火救援工作需求的最优路径规划研究[J].测绘与空间地理信息,2013,36(8):103-106.

猜你喜欢
火源火焰滤波
双火源隧道火灾数值模拟
最亮的火焰
不同火源位置情况下的内天井结构建筑
缤纷的火焰
火源位置对轻型门式刚架竖向位移的影响
吉林省主要森林火灾火源的时间变化特征
漂在水上的火焰
吹不灭的火焰
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波