包加桐 丁豪 王国田 唐鸿儒 宋爱国
1 扬州大学 电气与能源动力工程学院,扬州,225300 2 东南大学 仪器科学与工程学院,南京,210096
世界各国都非常重视危化品物流的安全管理和研究工作.如美国的Emergency Response Notification System、欧盟的Major Accident Reporting System 以及英国的Major Hazardous Incidents Database System等,它们基于风险控制系统原则对危化品物流全生命周期进行安全管理,以及利用信息技术等建立了危化品物流管理信息系统和平台,对企业实现了危化品严密监管.我国政府先后出台了《危险化学品安全管理条例》、《重大危险源辨识》等法律法规,为加强危化品安全监管提供了重要支撑.然而高校由于存在危化品数量少、品种多,多校区办学,危化品储存相对分散等特点,探索适应高校自身的教学、科研安全发展的路径尚存在不足之处.如何基于网络化、信息化和智能化手段实时监测和管控危化品风险源的动态变化,第一时间对事故苗头做出反应的方式方法还需深入研究.为丰富高校危化品仓库的安全检查手段并提升应急响应能力,本文研究如何利用移动机器人技术来实现全天候的安全巡检与应急响应.
目前,移动机器人已广泛应用于变电站巡检[1-3]、安防[4-5]等领域.它一般具备远程遥控、自主定位与导航、基于红外热成像测温的设备检查、仪表读数识别、设备工作声音异常检测等功能.其中自主定位与导航常采用磁轨引导与RFID定位、高精度GPS定位导航、激光定位导航,或视觉定位导航等方式.然而,研究如何将相关技术与方法用于危化品仓库安全检查与应急响应还较少.
文献[6]利用单目全景视觉预先记录巡检路径环境图像序列,机器人巡检时通过图像匹配来实现路径跟随及发现当前图像出现的异常情况,该方法还能用于发现入侵者;文献[7]使用热成像技术来采集环境图像,并通过图像处理技术来检测气体泄漏情况;文献[8]使用双目视觉相机的深度信息来搜索巡检路径,并同时利用颜色标记和RFID标签定位巡检点;文献[9]重点研究了巡检机器人的运动控制问题,并将运动控制、观测位置拍照、通信等相关功能集成实现在机器人操作系统(Robot Operating System,ROS)中;文献[10]根据横向与航向的偏差对巡检机器人进行经典PID算法控制驱动,还利用可见光与红外图像融合对目标进行检测.上述这些研究中均未系统性地考虑全天候有光照和无光照条件下的无轨自主导航、基于热成像的重点物品观测、环境参数异常检测、入侵者检测,以及远程人机交互等问题.
因此,本文设计并实现了一种可满足高校危化品仓库安全检查要求的全天候安全巡检机器人系统.首先,在差速驱动的四轮移动机器人底盘上集成里程计、单线激光雷达、带云台的彩色与热成像相机、环境监测传感器套件等,构建了移动巡检机器人平台.然后,融合里程计与激光雷达数据完成机器人同时定位与建图(Simultaneous Localization and Mapping,SLAM)、巡检路径自定义与跟随.其次,在图像关联分析的基础上能够定位巡检点处预定义的待观测物品并测量其温度.在巡检过程中还利用热成像相机与环境监测传感器实时感知环境参数并生成热力图轨迹,同时基于先验知识检测热图像中出现的入侵者.最后,基于ROS集成相关算法,利用NodeJS开发了支持远程人机交互的Web服务系统.
本文的主要贡献在于针对高校危化品仓库安全巡检应用领域,提出了一个综合考虑无轨自主导航、重点区域或物品的观测与测温、环境参数异常检测、入侵者检测、远程人机交互等功能要求的系统性的机器人巡检方法与技术方案,并开展了实验测试.基于本文设计的机器人巡检系统,可以针对新的危化品仓库等环境,按照巡检任务要求,灵活地远程配置巡检路径与被观测物品开展自动巡检工作,所有巡检数据均可以远程查阅,与相关报警或处置系统联动后,可以实现应急响应或处置.
为实现危化品仓库环境下全天候安全巡检,移动机器人平台应具备不依赖于光照条件的可自主定位与导航的移动机构以及异常检测传感装置等.如图1所示,本文采用的机器人平台由差速驱动的四轮移动底盘、里程计、单线激光雷达、带云台的彩色夜视相机和热成像相机、环境监测传感器套件、车载计算机、网络路由设备等构成.其中,里程计主要根据机器人车体左右侧电机编码器推算机器人相对于初始位姿的当前变化位姿.单线激光雷达一方面用于实时避障,另一方面通过将当前测量距离数据与全局地图数据进行匹配,完成里程计定位数据的校正.此外,为满足全天候异常检测需求,选用红外热成像相机感知环境物体,辅助以温度、湿度、气体浓度等环境监测传感器套件共同完成测量与分析.
图1 巡检机器人平台Fig.1 The patrol robot platform
基于该巡检机器人平台,机器人还应具备无轨巡检路径跟随、基于多传感器的异常检测以及远程人机交互三个方面的功能.如图2所示,以ROS为软件框架,无轨巡检路径跟随功能模块被抽象为环境建图与路径跟随节点,通过订阅与发布主题,与车体控制、云台控制、里程计、激光雷达等基础节点进行通信.此外,以图像采集与环境参数采集节点为基础,基于多传感器的异常检测模块被实现为热成像物体温度检测、热成像入侵者检测和环境参数检测节点.远程人机交互功能模块则被实现为独立的基于NodeJS开发的Web服务系统.远程用户通过浏览器客户端即可访问相关功能页面,实现机器人的控制与信息获取.
图2 巡检机器人软件系统结构Fig.2 Software architecture of the patrol robot
在危化品仓库环境中,为提高巡检效率以及重点巡查某些位置或物体,巡检机器人一般需要沿着设定的路径去巡查,且在到达各个设定的巡检点时,机器人需要调整自身的位姿以便观测到相关区域或物品.为实现这一目标,首先完成仓库地图的构建,在准确定位机器人的基础上配置巡查路径点与观测位姿,最后加载巡检路径进行路径规划与自主导航.
在机器人系统中定义地图坐标系{G}、里程计坐标系{O}、机器人坐标系{R}、激光雷达坐标系{L}、彩色夜视相机坐标系{C}和热成像相机坐标系{T}.对于任一坐标系,当选定某一方向为正前方时,依据右手定则,将该方向设为X轴方向、左侧方向为Y轴方向,垂直于XY平面的正上方为Z轴方向.地图坐标系一般定义在建图时机器人起始位置点.里程计坐标系定义在里程计量初始时刻机器人所在位置点.机器人坐标系、激光雷达坐标系与相机坐标系均固定在机器人车体上,三者之间位置关系为固定值.由于相机的姿态可由云台调整,则相机坐标系相对于机器人坐标系的姿态由云台的俯仰角与旋转角共同确定.
本文中SLAM过程由式(1)所示的运动方程和式(2)所示的观测方程描述:
(1)
(2)
其中:St为t时刻机器人运动状态,由机器人所在地图坐标(x,y)和航向θ组成;u=(Δx,Δy,Δθ)是机器人运动控制量;ω是噪声,根据里程计信息可直接获取机器人先验位姿估计;Zt表示机器人状态St下利用单线激光雷达观测到路标(mx,my)时的观测值;r和φ分别表示激光雷达与路标的距离和夹角;υt是本次观测噪声.SLAM问题即在已知里程计读数和激光雷达观测值的情况下,估计机器人运动状态和地图路标的联合后验概率问题:
p(S1:t,m|Z1:t,u1:t-1)=
p(m|S1:t,Z1:t)p(S1:t|Z1:t,u1:t-1),
(3)
其中p(S1:t|Z1:t,u1:t-1)和p(m|S1:t,Z1:t)分别实现定位和建图.本文采用经典的Rao-Blackwellized粒子滤波算法[11]来求解该估计问题,最终以栅格地图形式进行保存.
加载已建立的栅格地图,并生成膨胀后的代价栅格地图.利用自适应蒙特卡罗定位算法(Adaptive Monte-Carlo Localization,AMCL)[12]来估计机器人在{G}中的位姿.同时,机器人根据激光雷达测距信息生成局部代价栅格地图.
通过人机交互界面,顺序地控制机器人到达某一位姿并调整云台观测姿态,记录得到一个位姿序列,并将该序列定义为巡检路径.设由N个路径点构成的巡检路径表示为
τ={τ1,τ2,…,τN},
τi=(xr,yr,θr,θpitch,θyaw),
(4)
其中,任一个路径点τi由机器人的位姿和云台的姿态信息所表示.(xr,yr,θr)是机器人在{G}中的坐标和航向,(θpitch,θyaw)分别是云台的俯仰角和偏航角.因此,巡检路径跟随问题可分解为一系列移向路径点的自主导航子问题.
设机器人当前位姿为τr,期望到达的下一个巡检路径点为τi,则该自主导航子问题可描述为在已知地图中规划出从τr到τi的一条路径,跟随该路径并能够动态避让障碍物直至到达τi.本文首先采用Dijkstra最短路径算法来规划地图中τr到τi的路径,然后采用式(5)所示的动态窗口法[13]来采样线速度vc与角速度wc.
Vd={(vc,wc)},
(5)
(6)
为满足全天候异常检测需求,首先选用热成像相机在有光照或无光照环境下感知环境中物体.基于热成像的异常检测主要包括:物体温度检测与入侵者检测.其次辅助以温度、湿度、气体浓度等传感器完成在线环境参数测量与分析.在移动机器人完成仓库环境的一次连续移动巡查后,可以将不同类型测量数据以热力图轨迹显示在地图上,帮助用户直观了解到仓库整体安全状况.
(7)
如图3所示,在某个巡检点处,用户可以在预定义彩色夜视图像Ipre(左图)确定待检物体的图像像素坐标.当机器人自主导航至巡检点时,由于机器人的定位误差,当前观测到的彩色夜视图像Iobs(右图)与Ipre之间会出现偏差,因此需要根据Iobs与Ipre之间的变换关系推算出预定义的待检物体在当前观测图像Iobs中的像素坐标并最终根据式(7)映射至热图像中.
为获得Iobs与Ipre之间的变换关系,首先在Iobs和Ipre上分别提取SIFT显著特征点并进行匹配.图3显示了某巡检点处观测图像与预定义图像之间的特征点匹配结果.
图3 观测图像与预定义图像之间的特征点匹配Fig.3 Feature points matching between observation image and predefined image
(8)
(9)
值得说明的是,当Iobs和Ipre之间未能提取到5组有效特征匹配点,则测量结果为空.无论待检物体定位是否成功,巡检点处整幅图像的最高温度会同时被记录,当温度异常时会执行相关报警动作.
当人体进入热成像相机视野范围内,人体与环境物体的温差,会使热图像上产生显著性图像区域.基于人体温度范围及显著性图像区域大小的先验知识可检测出入侵者.具体地,首先根据人体温度变化范围,对热图像进行二值化,然后在二值化图像上进行轮廓检测,得到边缘闭合的图像块列表,最后遍历每一个图像块,当图像块包含的像素数量在设定的阈值范围内,则判定该图像块为入侵者.
在移动机器人平台上集成安装温度、湿度、气体浓度检测等传感器,以1 Hz的频率实时记录各传感器测量数据、机器人当前位姿、测量时间等并存储至结构化数据库.
为使用户在远程能够实时掌握巡检机器人工作状态、查询实时与历史巡检记录、配置机器人巡检参数等,设计了基于Web用户界面的人机交互系统.首先,在相关网络安全措施保障下,利用软件VPN技术将机器人车载计算机虚拟成可以远程访问的公网服务器.其次,在机器人车载计算机上利用NodeJS编写Web服务脚本,运行脚本后机器人开始在设定端口提供Web服务,一方面为访问用户提供前端Web用户界面资源(主要包括HTML、CSS和JavaScript等静态文件);另一方面负责接收和处理用户请求,通过专用应用程序接口rosnodejs实现与ROS系统交互,并返回服务器端资源(例如存储文件或数据库存储数据等)或相关处理结果.本文中设计完成的人机交互功能模块主要包括:地图构建与管理、巡检线路管理、巡检监测、记录回放等.
为了验证本文提出的方法与系统的有效性,同时降低安全风险,在如图4所示的实验室环境中开展模拟危化品仓库安全巡检任务.共设置5个巡检点,位置由数字图标示意,箭头示意了到达巡检点后云台的观测朝向,其他时刻云台均保持水平且朝向与机器人前进方向一致.H图标示意在实验过程中入侵者出现的位置.
图4 实验场景配置Fig.4 The experimental scene setups
实验中,共执行4次巡检任务.第1次巡检任务针对正常的无人的无光照漆黑的实验室环境开展.第2次巡检任务同样在无光照漆黑的实验室环境中开展,并预先在巡检点3处打开电烙铁并加热,在巡检点4处人为制造烟雾并接近机器人上的烟雾传感器,在巡检点5处放置热水壶,在巡检点2和巡检点5附近分别站立或坐着测试人员.第3次与第4次巡检在有光照实验室环境下开展,其他环境配置分别与第1次和第2次巡检基本相同.此外,启动建图、地图保存、巡检路径设置、待观测物体设置、启动巡检、查询巡检记录等操作必须通过远程人机交互界面进行.
基于上述实验配置,实验目的主要包括:
1)考察环境地图构建与巡检路径跟随效果;
2)考察机器人在巡检过程中能否感知和定位人工设置的异常的高温物体与气体泄漏源,能否检测到入侵者;
3)考察机器人到达各巡检点位置时能否准确调整车体与云台姿态,完成对预设物体位置的热成像温度测量;
4)考察远程人机交互模块能否满足巡检工作要求.
登录机器人Web服务系统,进入地图构建页面,启动SLAM进程,选用虚拟遥杆等方式远程控制机器人在实验环境内移动,同时通过人机交互界面实时观察地图构建进展,最终完成地图构建并保存.图5显示了人机交互界面与构建完成的地图.
图5 人机交互图形用户界面与地图构建结果Fig.5 Human robot interaction GUI and the mapping result
然后进入图6所示的巡检线路配置页面,加载地图,手动控制机器人到达第1个巡检点位置并调整机器人与云台姿态,保存机器人当前位姿与云台姿态数据作为巡检点数据.同时在采集到的彩色夜视图像上点击确定待测温的物体像素位置,与图像一起保存后作为待测物体数据.按相同操作,依次得到其他巡检点数据与待测物体数据.巡检点数据格式见表1,由于在室内地面上导航,机器人位置坐标不包含z轴方向坐标,姿态四元数也不考虑俯仰角和横滚角,相机观测姿态保存为云台预设点.
图6 巡检线路配置Fig.6 Configuration of patrol paths
表1 巡检点数据
保存巡检路径后,可启动自动巡检.实验中设置判定机器人到达目标巡检点位置的容忍值为0.3 m,姿态朝向的容忍值为0.12 rad.图7显示了实验任务中所述的机器人执行4次巡检任务时记录的导航轨迹.可以看出,机器人均能按照设定的路径开展自主导航.
图7 机器人巡检轨迹Fig.7 Patrol trajectories of the robot
机器人到达某一巡检点位姿后,采集当前彩色夜视图像与热图像,计算彩色夜视图像与预定义的待测物体图像之间的变换关系,得到当前观测图像中的物体像素坐标,获得对应的温度值.图8显示了机器人在多次巡检任务中在各个巡检点处获得的图像与对应预存储图像之间的像素位置误差,其中图像分辨率为640×480.可以看出,不同时刻观测图像与预存储图像之间的像素位移均可以利用文中的特征点匹配方法计算出来.同时垂直方向的像素位移要小于水平方向的像素位移,表明机器人不同时刻到达巡检点处时在航向上的定位误差高于位置误差,与导航控制器设置的目标位姿容忍参数一致.
图8 观测图像与预定义图像像素位置偏差Fig.8 Pixel offsets between observation images and predefined images
图9依次显示了第2次巡检中在5个巡检点处的热成像测温结果.该次巡检实验在2020年5月5日20时左右无光照漆黑环境下执行.图9中第1行图像是彩色夜视相机采集的图像,第2行是热成像测温生成的灰度图像.测温结果表明,在第2、3、5巡检点处的温度需要关注,经分析第2巡检点处的最高温度42.4 ℃由实验室墙壁上无线路由器产生,第3巡检点处的129.6 ℃由电烙铁产生,第5巡检点处的57.4 ℃由热水壶产生.
图9 巡检点处热成像物体测温结果Fig.9 Object temperature measured by thermal imaging at different patrol positions
此外,机器人在巡检过程中,利用热成像相机和环境监测传感器实时采集环境参数,以热力图形式叠加显示在地图导航轨迹上.以第2次巡检中气体浓度检测结果为例,图10显示了生成的环境气体浓度热力图轨迹.冷色调蓝色代表气体浓度值较低,暖色调红色代表气体浓度值较高,其他为过渡颜色.由于本次实验中在巡检点4处人为制造烟雾并接近气体浓度传感器,机器人在巡检点4处热力图轨迹迅速变为红色,离开后逐步过渡到蓝色,热力图轨迹反映了真实的实验环境设置情况.
图10 巡检过程中生成的气体浓度热力图轨迹Fig.10 The generated heat trajectory representing gas concentration at different positions in the patrol process
为定量分析入侵者检测效果,完整连续地记录了第2次巡检实验过程中的热图像,形成热图像视频流.视频共长129 s,按每秒一帧图像从视频中提取共计129帧图像.利用3.2节所述的入侵者检测方法,依次离线处理129帧图像.实验中将温度测量值处于[34,38]℃之间的像素值设置为255,其他均设置为0,得到二值化图像,人体图像块像素数量阈值设置为2 000.图11给出了某一图像帧的处理过程与结果,其中左图是利用最大值最小值归一化方法生成的热图像灰度图,中图是根据人体温度范围阈值二值化后的图像,右图是经过轮廓检测与图像块大小筛选后的检测结果.
图11 某图像帧的图像处理结果Fig.11 Image processing results on an image frame
所有图像帧处理结果的正确率由非实验人员来判定,对于某帧图像,当检测结果区域与真实目标重叠且检测数量一致时,则判定该帧图像上检测结果正确.经统计,该实验总的检测正确率为93%.部分错误检测热图像如图12所示,经分析主要原因有:1)部分热图像中只出现了人体的局部区域,人工判定失败;2)人体区域图像块不连通,造成检测人数多于实际人数;3)由于某位置物体(如计算机)散发的热量较接近设定的人体温度阈值而造成的误检测.值得说明的是,入侵者检测的正确率会依据不同的环境及巡检路径有所差异.
图12 入侵者检测错误样例Fig.12 Example of intruder detection error
本文通过研究并集成先进的传感与导航控制技术,构建了一个可应用于危化品仓库等应用场景的机器人巡检系统.按照巡检任务要求,可以灵活地远程配置巡检路径与被观测物品,开展自动巡检工作.本文主要工作涉及系统集成、无轨自主导航与探测、远程人机交互等方面.构建的巡检机器人系统在硬件与软件方面均具有较好的开放性与扩展性,针对不同应用需求,可以方便集成各类传感器系统,以开源ROS为软件框架,可以快速扩展软件功能模块.
然而,本文的研究还存在一些不足:
1)机器人在大范围的室内巡检场景中的定位与导航控制精度是否满足要求还值得进一步研究和试验;
2)采用了较为简单的基于图像处理的入侵检测方法,如需提升检测正确率可进一步使用监督学习的方法;
3)工程应用中如何集成利用应用场景已有的信息系统(如计算机监控系统)从多途径来分析、比较、发现巡检过程中可能出现的问题值得进一步研究.