基于深度图像的室内机器人避障系统

2016-09-29 06:22马利红范晨光王书平
关键词:势场移动机器人障碍物

马利红, 范晨光, 王书平, 周 武

(1.浙江师范大学 数理与信息工程学院,浙江 金华 321004;2.浙江师范大学 工学院,浙江 金华 321004)



基于深度图像的室内机器人避障系统

马利红1,范晨光1,王书平2,周武2

(1.浙江师范大学 数理与信息工程学院,浙江 金华321004;2.浙江师范大学 工学院,浙江 金华321004)

为了增强室内移动机器人的障碍物检测能力和降低系统成本,提出了一种基于深度图像的单一Kinect传感器的室内移动机器人避障系统.该系统将Kinect传感器竖直放置,并对深度图像进行了几何变换,提供了更加适合探测地面和空中障碍物的视角.对深度图像进行中值滤波以消除图像噪声,并采用统计平均的背景减除法去除无障碍背景,提取障碍物的深度图像,然后对障碍物的大小、位置与数量进行检测,最后根据检测的结果,并利用人工视场与Kinect摄像头对位置环境局部最小值场景的检测相结合进行避障路径的选择.结果表明:局部最小值场景检测方法能够高效检测出环境中存在局部最小值的缺陷,沿墙行走模式也大大减少无效路径,解决了狭窄通道内震荡的问题,有效地实现了室内机器人在动态环境下的避障.

深度图像;室内机器人;Kinect;避障

(1.CollegeofMathematics,PhysicsandInformationEngineering,ZhejiangNormalUniversity,Jinhua321004,China; 2.CollegeofEngineering,ZhejiangNormalUniversity,Jinhua321004,China)

0 引 言

移动机器人的自主行走能力是保证机器人能够完成预定任务的前提.家庭服务机器人是移动机器人的重要发展方向,然而家庭服务机器人的普及和推广速度一直非常缓慢,主要原因是家庭环境比较复杂和多变,机器人的避障效果不理想;另一个重要原因是家庭服务机器人成本较高,不利于机器人的推广.传统的移动机器人障碍物检测的传感器使用红外传感器、超声波传感器、双目摄像头和激光雷达等.其中超声波的反射性强、定向性差;3D激光雷达成本过高等;双目视觉易受光照等环境变化的影响[1];或者多种传感器同时使用需要多种传感器的数据融合,这便增加了数据处理硬件要求和复杂性.微软研制的新型深度影像传感器被广泛应用于目标检测、跟踪与识别、室内3D地图建构等领域[1-3].Kinect传感器使用的是一种光编码(light coding)技术.它使用激光散斑(laser speckle),这些散斑具有高度的随机性,而且会随着距离的不同而变换图案,因此,空间中不同的位置具有不同的图案,据此可以获得障碍物的形状及距离的相关信息.所以,Kinect在提取周围环境深度信息上为进一步提高障碍物检测的效果和距离计算准确性提供了可靠的保障[4].使用单一的Kinect传感器来获取障碍物的深度图像能够很好地保证系统的实时性,因此,Kinect的应用日趋广泛[5].

随着国家“十三五”规划的实施,智能化与机器人是国家重点发展的领域,移动机器人作为机器人家族中的重要一员,对其要求也越来越高,移动机器人应用领域遍及军事、救灾、探测、加工制造、娱乐传媒、家庭服务等.许多学者对机器人自主导航进行了大量的研究,就机器人自主避障提出许多算法[6].其中人工势场法作为一种经典的局部规划算法,因其计算量比较少、且描述简单、便于机器人实时控制而应用广泛[7-9].但人工势场法在实时路径规划时存在局部极小点、陷阱区及在复杂障碍物前产生振荡等问题.本文在此基础上结合Kinect传感器的优势提出了使用Kinect单一传感器改进人工势场法的有效避障系统,利用人工视场法与Kinect摄像头对位置环境局部最小值场景的检测相结合进行避障路径的选择.该系统能够高效检测出环境中存在局部最小值缺陷的障碍物场景,沿墙行走模式也大大减少无效路径,解决了狭窄通道内震荡的问题,有效地实现室内机器人在动态环境下的避障.

1 避障系统的构成及其工作原理

1.1避障系统的构成

本文提出的避障系统的硬件部分主要由笔记本电脑、Kinect传感器和Pioneer-3移动平台组成.笔记本电脑用于深度图像的处理、障碍物检测和避障路径的选择;Kinect传感器用于采集周围环境信息并生成深度图像数据;Pioneer-3移动平台是整个系统的移动载体与执行机构,如图1所示.

图1 避障系统构成图

1.2避障系统的工作原理

避障系统首先将Kinect传感器竖直放置,并对深度图像进行了几何变换,提供了更加适合探测地面和空间障碍物的视角,对深度图像进行中值滤波处理以达到消除深度图像噪声的目的;采用基于统计平均的背景减除法来去除无障碍物的背景,消除地面背景对障碍物造成的干扰,从而将障碍物从深度图像中提取出来;然后对障碍物的大小、位置和数量进行检测;最后,根据障碍物的位置、大小和数量并结合人工势场法和Kinect场景检测模式进行避障.

2 避障系统的关键算法

2.1深度图像预处理

深度图像预处理主要包括深度图像翻转,深度图像的中值滤波处理.Kinect放置示意图如图2所示,默认状态下即Kinect水平放置,传感器水平视角为57°,垂直视角为43°,Kinect探测深度范围是0.7~4.5 m,最佳探测区域为1.2~2.5 m,翻转之后Kinect探测水平视角变为43°,垂直视角为57°,探测深度范围不发生变化,如图3所示.翻转之后,Kinect探测宽度范围变化,该实验平台上Kinect传感器高度设定为0.8 m,可探测范围变化如图4所示.

图2Kinect布置方式 图3Kinect翻转后视角变化

图4Kinect翻转前后垂直视角探测范围对比图

通过张克华等[3]提出的计算公式计算可得翻转前后可探测地面的最小距离和可探测高度最小距离的结果如表1所示.

由图4和表1可以得知,翻转之后的 Kinect传感器可探测最近的地面障碍物的距离减小了557 mm,表明:Kinect传感器相对应的探测盲区得到了优化.同理,Kinect传感器可探测指定高度的(本文设定为2 000 mm)最小距离减少了697 mm,表明传感器可探测空间障碍物盲区得到进一步优化,所以,翻转所得到的探测视角更适合探测覆盖地面到空间区域的整个范围的障碍物检测,效果如图5所示.

表1 Kinect传感器2种放置状态可探测范围对比 mm

图5Kinect翻转前后深度图像范围对比图

2.2基于统计的背景减除算法

由于Kinect传感器存在边缘噪声,对障碍物边界检测造成干扰,获取图像首先进行中值滤波处理,有效抑制边缘噪声对障碍物检测的影响.另外,Kinect传感器深度图像中地面影响较大,原因是地面与障碍物距离较近,深度图像中的灰度值较为接近,因此,会对地面障碍物的检测构成干扰,需要对无障碍物环境进行建模,通过差帧处理消除来自地面的影响,提高障碍物的检测效率.

图6深度图像中地面区域(虚线部分)和障碍物区域(椭圆部分)

深度图像中地面区域与障碍物区域的深度值的差值很小,边界不明显,不能够准确测出障碍物的像素坐标,如图6所示.因此,需要对无障碍物图像进行背景建模,统计出该环境中的背景图像,在检测障碍物时,将背景图像与当前深度图像数据流进行差帧处理,从而滤去地面的影响.基于统计平均的背景建模是统计一段无障碍物环境的深度图像序列中每一个像素点的像素值,计算出该图像序列的各个像素点均值作为目标图像的像素值.其统计公式如下:

(1)

背景减除法的原理是:第1步是对无障碍物环境下得到的深度图像序列的每一个像素点进行统计平均的背景建模,获得背景模型图像fb(x0,y0);第2步是将当前帧fn(x0,y0)与背景图像fb(x0,y0)做差帧处理,也就是2帧图像的对应像素点的像素值相减,得到一个目标图像dk,即

(2)

最后,将得到的目标图像进行二值化处理、形态学处理,去除地面背景对地面障碍物检测的干扰.基于统计平均的背景减除法过程如图7所示.

图7 基于统计平均的背景减除法流程图

左→右:中值滤波、差帧图、差帧图中值滤波、二值图、原深度图像

图8基于统计平均的背景建模处理实验图

在图8中,①,②,③3幅照片表示的是中值滤波处理后的图像:图像①经过与统计平均建模法得到的背景图像进行差帧处理得到了滤除背景的图像②,由于传感器噪声和振动等影响,差帧图像②存在很多噪声,进行中值滤波、膨胀、腐蚀处理后,得到较为理想的图像③.基于统计平均的背景建模处理过程的实验效果如图8所示.

根据统计平均的原理和实际实验效果的表现,基于统计平均的背景建模比较适合Kinect深度图像检测环境障碍物的要求.

2.3障碍物识别算法

目标图像通过二值处理之后进行障碍物的识别.障碍物的识别主要包括检测目标图像中障碍物的轮廓,计算图像中障碍物的像素面积大小,过滤由噪声原因形成的非障碍物图像和障碍物边界信息提取,障碍物识别的具体流程如图9所示.

图9 障碍物识别流程图

在FindContour函数找到障碍物的轮廓以后,运用OpenCV库中ContourArea计算轮廓内的像素面积大小,从而确定障碍物大小及数量,根据对传感器性能试验的测试得出,设定500为判断是否为障碍物的阈值是较为合理的,探测效果较为理想.实验效果如图10所示.

从深度图像中探测出障碍物的位置信息,提取的障碍物信息是障碍物的图像坐标信息,移动机器人进行避障路径的判断,必须获取对应于世界坐标系的位置信息.因此,首先需要进行摄像机标定.摄像机标定的目的是将在障碍物检测过程中获得的图像坐标信息转化为世界坐标系的位置信息,移动机器人才能够进行无效障碍物过滤和避障路径的选择.

图10从左至右依次是障碍物数量及面积输出界面、二值化处理图像及canny算法实验效果图

根据Kinect传感器工作原理可知,其深度图像实际上是包含x,y,z这3个坐标信息,其中x,y是普通灰度图像具有的像素坐标;z是表示物体与摄像机的距离大小,在深度图像中表现为灰度值的大小,Kinect成像原理是基于激光散斑,然而Microsoft Kinect SDK并未给出摄像机标定函数,因此,需要根据世界坐标与像素坐标的几何关系进行推算.摄像机标定示意图如图11所示.

图11 障碍物边界像素坐标示意图

图12 Kinect传感器水平探测视角示意图

摄像机标定的原理是将深度图像分为左右两部分,分界线为x=240,对应世界坐标系的左右分界线,也就是说,当x<240时,物体实际位置位于移动机器人左侧;x>240时,则位于右侧.根据公式3计算偏离机器人中心线的距离L1.

(3)

式(3):x1是该像素点的横坐标;α为Kinect传感器水平探测视角(见图12),α=43°;dv为该像素点的深度值;Wmax表示深度图像的宽度,即Wmax=480.由公式(3)可得出L1的计算公式:

(4)

若L1>0,则说明障碍物边界在机器人左侧;若L1<0,则说明障碍物边界在机器人右侧.图11中y=320对应的是实际高度,就是Kinect传感器红外摄像机的高度,本文设定为800 mm.障碍物实际高度的计算公式为

(5)

式(5)中:y1为该像素点的纵坐标;β为Kinect传感器的垂直探测视角;dv为该像素点的深度值;Hmax为深度图像的长度,即Hmax=640.障碍物相对地面的实际高度的公式为

(6)

H1>0时在摄像机上方;H1<0时在摄像机下方.将障碍物的像素坐标转化为相对于机器人的局部坐标,然后将实际环境中的坐标传输到人工势场法中用来做路径选择.

2.4障碍物躲避路径判断

本文所设计的避障系统是在未知环境下进行的自主探测,因此,采用了局部路径规划中较为有效的算法:人工势场法是梯度势场法,势场的负梯度作为作用在机器人上的虚拟力,障碍物对机器人产生斥力,目标点产生引力,引力和斥力的合力作为机器人的加速力,该力“推动”移动机器人向着目标做无碰运动.其工作原理如图13所示.

针对人工势场法所存在的局部最小值缺陷(即锁死现象),国内外许多学者进行了很多研究,在特定的环境中解决了该问题,然而在完全未知的环境下仅仅通过对人工势场法的引力场和斥力场的优化仍无法解决算法缺陷.为此,本文运用Kinect局部最优值场景检测来解决该问题.解决人工势场法的局部最小值问题的原理是对位置环境进行局部最小值场景检测.当机器人检测到前方有墙时,有可能陷入局部最小值场景,如图14所示.此时启动场景检测模式,如图15.具体操作方法是,机器人此时速度为0,先让Kinect传感器向左旋转30°,然后向右旋转30°.如果左右两侧都将测到有侧面墙存在,则说明机器人已陷入局部最小值场景,机器人在此场景中可能被锁死,给移动机器人原地旋转180°,然后退出该场景;若左右两侧未检测到墙时,那么说明机器人并未陷入局部最小值场景,则根据人工势场法进行路径选择.

图13人工势场法原理图

图14局部最小值示意图图15局部最小值场景示意图

3 避障系统实验测试与结果

为了验证Kinect传感器障碍物检测系统的可靠性,在Pioneer-3移动平台中添加Kinect传感器搭建避障系统,并进行了实验,分别包括地面障碍物和悬空障碍物检测,如图16所示,无效障碍物过滤实验效果提示了有障碍物.地面障碍物和悬空障碍物检测结果是检测到了前方右侧和空间的有障碍物.

图16 地面障碍物和悬空障碍物检测与无效障碍物过滤

为了验证机器人对局部最小值场景的处理能力,避障路径选择实验和局部最小值场景检测试验,如图17所示.局部最小值场景检测的实验结果是移动机器人摄像头左右旋转检测后,原地旋转退出该场景,说明局部最小值场景检测有效,局部最小值场景检测效果如图18、图19所示.

图17 局部最小值检测场景

图18局部最小值场景深度图像与识别效果

(a)狭窄通道场景试验结果过程图(b)沿墙场景试验结果过程图

图19场景检测试验过程图

4 结 论

本文基于单一Kinect传感器能够同时检测地面和空间障碍物的检测系统,结合深度图像分析改进了人工势场法存在的不足,运用Kinect局部最优值场景检测来解决人工势场法的局部最小值问题.搭建了障碍物检测系统试验平台并进行了实际场景的实验测试,避障系统能够成功识别障碍物和局部最小值的场景,达到了系统设计的预期,基本满足了机器人自主行走的要求.

[1]杨磊,蔡纪源,任衍允,等.一种基于深度信息的障碍物检测方法[J].计算机技术与发展,2015,25(8):43-47.

[2]Filipe V,Fernandes H,Sousa A.Blind navigation support system based on Microsoft Kinect[J].Procedia Computer Science,2012,14(8):94-101.

[3]张克华,王书平,尹小红,等.复杂环境下单一Kinect导盲系统设计[J].光学 精密工程,2015,8(1):55-58.

[4]López-Ramírez J J,Quintanilla-Olvera A L,Luis J.Detecting objects using color and depth segmentation with Kinect sensor[J].Procedia Technology,2012(3):196-204.

[5]苏仕玮,侯廷伟.以Kinect配合智能型手机实做盲人辅具系统[D].台南:“国立”成功大学,2013:8.

[6]张毅,蒋翔,罗元,等.基于深度图像的移动机器人动态避障算法[J].控制工程,2013,4(20):663-670.

[7]姬伟,程风仪,赵德安,等.基于改进人工势场的苹果采摘机器人机械手避障方法[J].农业机械学报,2013,11(44):253-259.

[8]Gilbert E G,Johnson D W.Distance functions and their application to robot path planning in the presence of obstacles[J].IEEE J Robotics and Automation 1985,1(1):21-30.

[9]李奕铭.基于人工势场法的移动机器人避障研究[D].合肥:合肥工业大学,2013.

(责任编辑杜利民)

On the obstacle avoidance system for mobile robots based on depth image in indoor condition

MA Lihong1,FAN Chenguang1,WANG Shuping2,ZHOU Wu2

An obstacle avoidance system for mobile robots was designed to improve obstacle detection and reduce costs used a single sensor Kinect based on the depth images in indoors condition. The Kinect sensor was placed vertically, and the depth image was geometry transformed in this system, which provided a more suitable field to detect obstacles of ground and air. The depth image by median filtering eliminated image noise efficiently, and through the statistical average background subtraction division removing barrier-free background to extract the obstacles of depth image, and then detected the size, location and quantities of the obstacles, according to the test results using the combination of artificial field and Kinect device camera to local minimum position environment scene detection for path choice avoiding walls. The experimental result showed that the local minimum value of scene detection method could efficiently detected the local minimum defects in the environment scene, the invalid path of walking along the wall model was greatly reduced, the problem of the narrow channels of concussion was solved, interior obstacle avoidance of robot in dynamic environment was effectively implemented.

depth image; mobile robots in indoor condition; Kinect; obstacle avoidance

10.16218/j.issn.1001-5051.2016.03.007

收文日期:2016-03-22;2016-04-25

国家自然科学基金青年基金项目资助(51405450);2014年度国家级大学生创新创业训练计划项目(201410345009)

马利红(1979-),女,浙江嘉兴人,副教授,博士.研究方向:光全息与数字全息技术.

TP391.41

A

1001-5051(2016)03-0276-07

猜你喜欢
势场移动机器人障碍物
移动机器人自主动态避障方法
基于Frenet和改进人工势场的在轨规避路径自主规划
融合前车轨迹预测的改进人工势场轨迹规划研究
基于改进型人工势场的无人车局部避障
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
基于势场搜索的无人车动态避障路径规划算法研究
基于Twincat的移动机器人制孔系统
极坐标系下移动机器人的点镇定