井下移动机器人智能视觉避障研究
2020-09-27彭继国张波孙凌飞邓攀
彭继国, 张波, 孙凌飞, 邓攀
(1.兖矿集团有限公司 信息化中心, 山东 邹城 273500;2.北斗天地股份有限公司 山东分公司, 山东 邹城 273500)
0 引言
我国矿产资源丰富,但是矿井地质结构复杂[1]。在井下恶劣环境下,利用机器人代替人员进行智能环境安全检测预警、智能开采检测、矿难救灾及智能巡检等,可最大程度实现煤矿井下无人化作业,大幅提升煤炭生产的安全性[2-3]。煤矿井下环境大多是非结构的,具有复杂性、多样性和随机性等特征,井下移动机器人只有具备较高的环境辨识、路径规划和避障能力,才能准确完成预期任务[4-5]。当井下移动机器人面对完全未知或者部分未知的环境时,避障、越障是其要完成的首要工作。
目前大多井下移动机器人不具备自主控制及智能避障功能,遇到较为复杂的井下环境时需依靠操作人员的经验进行判断,智能性和移动性较差[6-8],因此,研究具有智能避障功能的井下移动机器人具有重要意义。众多学者对井下移动机器人的避障功能进行了研究。贾瑞清等[9]以矿井移动机器人为实验平台,根据超声测距原理,利用超声波传感器探测障碍物信息,并对所测得的障碍物信息进行处理,最终实现移动机器人的实时自主避障。许心德等[10]提出了利用路径跟踪和VFH*相结合的方法来解决机器人沿预定路径前进中的避障问题。但超声波传感器在障碍物检测方面存在一定的误差,而且检测范围较小。刘欢等[11]提出了基于Q学习避障算法的移动机器人避障方法,模拟移动机器人在未知环境下自主、安全地从起始点到达目标点的过程,但是Q学习算法用于非线性的障碍物时不能准确进行避障控制。周恺[12]提出了一种基于信息素模糊逻辑导引的机器人室内避障算法,把机器人的运动轨迹描述为一个种群觅食问题,以种群觅食中释放的信息素作为避障导引,求出机器人运动参数和环境参数,构建机器人行为运动方程,根据环境播撒信息素,以此驱动机器人运动,实现避障算法改进,但在障碍区分布不规则的情况下,该方法避障性能不好。徐斌等[13]提出了一种基于背景帧差法获取环境障碍物位置信息的方法,利用获取的障碍物信息对运动空间进行离散建模,控制机器人进行避障操作,但利用单相机帧差法存在障碍物检测不准确的问题。肖雪等[14]提出了一种基于光流的自主移动机器人避障系统,将机器人在运动过程中通过摄像头拍摄的连续图像序列作为输入,使用金字塔 Lucas-Kanade 方法在角点处提取光流信息,求解延伸焦点和接近时间,并通过改进的平衡策略估计障碍物可能存在的位置,但光流法对光环境要求比较严苛,同样存在障碍物检测不准确等问题。
针对上述方法存在的问题,本文提出了一种基于模糊控制的井下移动机器人智能视觉避障方法。构建双目立体视觉模组对井下环境进行感知,利用占据栅格地图对空间三维环境进行结构化描述,根据当前区域障碍物相对移动机器人的距离以及角度,通过模糊控制算法计算移动机器人下一时刻的转向角度和加速度,从而实现移动机器人的智能避障控制。使用Matlab对所提出的方法进行仿真实验,结果表明:该方法能够根据所设计的模糊控制规则准确自主地进行避障操作,并且对井下障碍物分布具有先验性,可对不同距离的障碍物分布情况进行预警,从而实现井下移动机器人的自适应运动。
1 机器视觉基础理论
视觉传感器是组成移动机器人的重要模块,用于模拟人类的视觉感知功能,利用计算机及图像采集设备对三维空间进行非接触式测量,利用图形处理算法对客观三维世界进行感知和理解[15],提高移动机器人的自主避障、导航及自适应能力,实现智能避障。理想结构下的双目立体视觉模型如图1所示,其中2个相机的光轴及对应成像平面的坐标轴是平行的,且成像平面处于同一平面。
在双目立体视觉模型中,将左相机光心作为空间坐标原点,左右相机像面以左上角为原点建立图像像素坐标系(其中变量下标l表示左侧相机,r表示右侧相机),分别为ul-vl,ur-vr。物理坐标系以左右像面的中心点为原点:xl-yl,xr-yr;2个相机的光心点为Ol,Or;pl(ul0,vl0),pr(ur0,vr0)为光轴与像平面的交点。T为左右相机光心的距离,称为基线距。在建立的双目立体视觉模型中,空间中任意一点P(X,Y,Z)的坐标计算公式如下:
图1 双目立体视觉模型Fig.1 Binocular stereo vision model
(1)
式中f为相机焦距。
进一步将物理坐标转换到像素坐标:
(2)
式中:u,v为图像像素坐标点;u0,v0为图像坐标原点;dx,dy为x,y方向的像元大小。
分别将左右两侧相机的像素坐标代入式(1),计算可得
(3)
式中:fx,fy为相机在x方向和y方向上的焦距;d为视差,d=ul-ur。
本文利用张正友标定法[16]进行立体标定,得到相机的内外参数矩阵,主要有左右相机镜头的畸变参数和三维空间中2个相机之间的空间关系。使用区域匹配方法[17]对立体校正后的左右视图进行立体匹配,即确定左视图中每个像素点对应的右视图中的像素点,利用双目立体视觉模型及相机标定参数得到三维点云。
移动机器人使用点云数据进行避障导航需要大量的计算资源来实现,而且点云数据量较大,空间点云避障较难达到实时性。因此,本文通过八叉树结构[18]构建三维点云,使用树状结构对点云数据进行结构化描述,生成占据栅格地图[19]。
在三维空间中,利用八叉树结构来描述当前时刻环境的三维点云,不仅可准确描述井下复杂的三维环境,而且包含较多的空间结构信息。采用占据栅格地图对点云空间分布进行映射,对当前障碍物分布进行结构化描述,移动机器人根据障碍物分布情况,结合避障策略进行智能避障,避免与障碍物发生碰撞。
八叉树结构模型如图2所示。新建八叉树时,首先要设置最大递归深度为当前点云的分辨率,然后从中心节点出发向下扩张,每次分为8个子节点,直到扩张到叶子节点,即最大递归深度时不再向下扩张分解。
图2 八叉树结构模型Fig.2 Octree structure model
通过八叉树结构模型构建三维点云并将其映射到占据栅格地图,其中每个叶子节点表示占据栅格地图中最小分辨率的立方体块,用0~1之间的浮点数表示其被占据的概率,浮点数为0.5表示当前立方体不确定,浮点数大于0.5表示占据概率较大,浮点数小于0.5表示占据概率较小。利用占据栅格地图,根据不同的避障策略设计不同分辨率下的八叉树结构,进行复杂环境下的三维空间环境感知。
2 模糊控制理论
移动机器人在煤矿井下作业时,因井下环境过于复杂,难以构建较为准确的三维地图模型,而且在矿难发生后,井下环境发生了巨大变化,难以使用前期构建的环境模型来控制移动机器人作业。模糊控制理论能够模拟人类解决问题的思维方式,将不确定的变量信息转换为经验性的知识应用到模糊控制算法中[20],使用不确定变量关系来描述事物之间的关系,用隶属度函数表达不确定性大小。
模糊控制算法是基于规则的控制算法,其结构如图3所示,主要由输入变量、模糊化、模糊决策、去模糊化和输出变量部分构成:① 将原始的采集数据作为输入变量;② 对输入变量进行模糊化,使其具有不确定特征,构建相应隶属度函数对输入变量进行控制;③ 根据模糊决策计算输出量;④ 将模糊输出量进行去模糊化,得到清晰的输出变量即控制量。利用模糊控制来描述井下复杂的障碍物分布情况,根据障碍物与井下移动机器人之间的模糊距离关系,运用模糊语言(如障碍物距离机器人远、近),并引入人类驾驶技术先验知识来构建井下移动机器人的避障策略。
图3 模糊控制算法结构Fig.3 Fuzzy control algorithm structure
3 基于模糊控制算法的井下移动机器人避障方法
井下移动机器人避障方法由障碍物检测、障碍物分布情况和避障策略3个部分组成,如图4所示。采用双目立体视觉模组作为障碍物检测传感器,感知井下环境信息,实时检测障碍物分布情况,并构建占据栅格地图。由于井下环境信息极为复杂,检测到障碍物后,采用模糊控制策略对实时检测到的障碍物在占据栅格地图中的分布情况进行处理,避免在障碍物检测中因数据不准确而导致井下移动机器人不能及时做出避障决策控制。将当前时刻障碍物在占据栅格地图中的分布情况和井下移动机器人运行速度作为模糊控制器的输入变量,通过模糊控制算法计算下一时刻机器人的转向角度和加速度。井下移动机器人模糊控制避障方法的模糊控制模型为
K=f(q)
(4)
式中:K={转向角度,加速度};q={左侧障碍物距离,左中侧障碍物距离,右中侧障碍物距离,右侧障碍物距离,行驶速度}。
图4 基于模糊控制算法的井下移动机器人避障方法Fig.4 Obstacle avoidance method of underground mobile robot based on fuzzy control algorithm
为了构建一个能够稳定运行并且能连续检测障碍物分布的控制策略,本文由双目立体视觉模组对井下环境进行实时感知,根据生成的三维点云构建占据栅格地图,将障碍物具体大小位置映射为二维占据栅格地图,将占据栅格地图以移动机器人为中心分为左(L),左中(LM),右中(RM)和右(R)4个障碍物区域,障碍物区域分布情况如图5所示,实时检测各区域中距离移动机器人最近的障碍物距离。
图5 障碍物区域分布情况Fig.5 Distribution of obstacles area
为避免机器人发生碰撞,根据机器人实际占据空间,设计外接包围盒进一步稳定模糊控制算法,避免碰撞等意外情况发生。利用Matlab设计模糊控制算法的仿真实验,根据障碍物区域分布设置为5个部分,整体仿真设计如图6所示。
图6 模糊控制算法整体仿真设计Fig.6 Overall simulation design of fuzzy control algorithm
利用模糊控制语言LD,LMD,RMD,RD表示左、左中、右中、右4个区域中障碍物距离,对于模糊控制器输入的距离信息{LD,LMD,RMD,RD},使用{F,M,N}3个模糊语言来表示远、中、近,根据井下环境及经验设置障碍物距离探测的论域范围为[0.5 m,5 m],若检测距离大于5 m,则记为5 m,如图7所示。对于速度V,使用{LE,FE,HE}分别表示慢速、中速、快速,其论域范围为[0,3 m/s],如图8所示。
图7 距离输入隶属度函数Fig.7 Distance input membership function
模糊控制算法的输出是下一时刻移动机器人的转向角度ω和加速度a,其中转向角度用模糊语言{LW,LMW,W,RMW,RW}分别表示左转、稍向左转、直行、稍向右转、右转,根据双目视觉模组所设计的120°视场角,将其论域设为[-60°,60°],如图9所示。加速度用模糊语言{L,LA,MA,HA,H}来表示减速、缓慢减速、不变、缓慢加速、加速,其论域的输出范围为[-2 m/s2,2 m/s2],如图10所示。
图8 速度输入隶属度函数Fig.8 Speed input membership function
图9 转向角度输出隶属度函数Fig.9 Steering angle output membership function
图10 加速度输出隶属度函数Fig.10 Acceleration output membership function
根据井下障碍物的分布情况设计移动机器人模糊控制避障需遵循以下原则:
(1) 当前方4个区域中所有的障碍物距离较远时,移动机器人转向角度保持不变,加速度根据当前实际运行速度进行控制。
(2) 当左侧区域中障碍物距离较近时,控制移动机器人向右运动,转向角度根据右侧障碍物的距离分布进行控制,加速度减小,距离右侧障碍物较近时同理。
(3) 当前方左中侧障碍物距离较近时,控制移动机器人向右运动,加速度减小,距离右中侧障碍物较近时同理。
根据模糊控制避障算法中输入数据涉及的变量共得到3×3×3×3×3=243条模糊规则,其中,当左侧、左中及右中区域中障碍物距离较远时,部分控制规则见表1。
模糊控制器根据模糊控制规则表的推理得到转向角度和加速度模糊量数据,为了精准控制移动机器人运动,需进行去模糊化。将移动机器人转向角度和加速度采用重心法去模糊化,得到准确的移动机器人控制数据,控制移动机器人进行运动。去模糊化计算公式为
表1 模糊控制规则Table 1 Fuzzy control rules
(5)
式中:G为准确的控制输出数据;Zi为论域上的元素;μZi为隶属度。
4 实验结果与分析
使用Matlab仿真软件中的模糊控制工具箱对本文设计的井下移动机器人模糊控制器进行仿真验证。将双目视觉模组采集的当前障碍物距离分布情况作为输入信息,利用模糊控制器(式(5))计算出相应的加速度和转向角度。
根据模糊控制算法中的输入和输出变量,分别得到左中侧、右中侧障碍物分布对应的转向角度曲面和加速度曲面,如图11、图12所示。从图11、图12可看出,对应各区域障碍物分布,转向角度和加速度能够较为平滑地进行过渡,证明了该控制策略的稳定性。
图11 转向角度模糊控制输入输出曲面Fig.11 Steering angle fuzzy control input and output surface
通过Matlab设计仿真实验,随机设置模拟障碍物分布情况。移动机器人智能避障仿真实验如图13所示,白色椭圆区域为障碍物区域,灰色方格为移动机器人沿途躲避随机生成的障碍物而形成的运动轨迹。利用模糊控制规则实时将移动机器人检测到的障碍物信息(图中白色区域)作为模糊控制的输入,进而得到移动机器人的运行速度和转向角度,从而生成移动机器人的行走路径。
图12 加速度模糊控制输入输出曲面Fig.12 Acceleration fuzzy control input and output surface
图13 移动机器人避障仿真实验Fig.13 Mobile robot obstacle avoidance simulation experiment
从图13可看出,井下移动机器人能够根据模糊控制规则自主地避开障碍物,实现智能避障控制,并对障碍物分布情况进行预警。
5 结论
(1) 构建了一种井下移动机器人智能视觉避障方法。采用双目立体视觉模组对井下环境进行感知,实时检测障碍物分布情况,并将其映射到占据栅格地图中;结合模糊控制策略设计避障算法,利用移动机器人外接包围盒简化模糊控制规则,提高算法的实时性,能够较为准确地控制移动机器人运动,并对行进区域的障碍物分布情况进行预警判断,从而实现移动机器人的智能避障和稳定运行。
(2) 随着人工智能技术的不断发展,多传感器融合、路径规划、视觉导航等都是井下移动机器人研究的热点方向,下一步工作将利用多传感器融合策略、结合机器视觉模组准确感知井下环境信息,进一步提高井下移动机器人环境感知能力和智能避障越障能力。