APP下载

基于Kinect深度数据的移动机器人障碍检测方法研究

2017-03-21薛彦涛吕洪波孙启国

计算机测量与控制 2017年2期
关键词:移动机器人障碍物顶点

薛彦涛,吕洪波,孙启国

(北方工业大学 机械与材料工程学院,北京 100144)

基于Kinect深度数据的移动机器人障碍检测方法研究

薛彦涛,吕洪波,孙启国

(北方工业大学 机械与材料工程学院,北京 100144)

未知室内环境中的障碍检测是室内移动机器人领域的热点问题;在低成本条件下为更加准确的对环境中的障碍进行检测,提出一种基于低成本Kinect传感器点云数据进行环境障碍检测的有效方法;首先通过Kinect三维点云数据,对点云数据进行去燥处理,并进行三维数据到二维平面的投影的转换并通过DBSCAN聚类算法对投影的二维点云数据进行聚类分析;通过设置相邻顶点间最大距离阈值对convex-hull凸包算法进行改进,试验结果表明改进的凸包算法能够对障碍进行有效识别;该方法在Matlab中进行了方法验证,并在P3-DX移动机器人平台上进行了试验验证,结果表明该方法能够有效对环境中的障碍进行有效识别。

三维点云;聚类分析;障碍识别;改进凸包算法

0 引言

随着移动机器人智能化的快速发展,在未知环境中依靠一种或者多种传感器结合对外界环境进行有效可靠的感知,能够准确地对障碍物进行检测是一项关键技术,也是移动机器人领域近年来研究的热点。目前,基于视觉的检测方法,基于超声波传感器的检测方法,基于激光雷达的障碍检测方法,基于红外传感器检测等方法,得到了广泛的应用。这些方法都可以有效的检测出环境中存在的障碍物,但都有一定的局限性。超声波传感器成本较低,但获取的环境信息较为粗糙,激光雷达可获取到丰富的环境信息,但成本较高,不具有一般适用性[1-4]。Kinect是微软公司生产的一款针对游戏设计的体感设备,Kinect由RGB摄像头,红外发射器和CMOS红外摄像头构成了3D深度感应器,,使用它可以同时获取到环境光学图像和图像上物体的位置信息。Kinect具有成本低,对环境获得的信息量丰富等特点,很适合应用于移动机器人的环境建模和障碍检测等方面。

本文利用Kinect的深度技术,用于对轮式移动机器人未知环境中的障碍物进行检测。通过对深度图像数据的处理得到三维点云数据,并进行三维到二维空间的转换,根据对点云数据的聚类分析,得到环境中障碍物的位置信息,设计实现了依据点云数据进行障碍物检测的方法。

1 数据获取与坐标变换

1.1 三维点云数据获取

Kinect传感器分别具有彩色摄像头和深度摄像头,可同时获取彩色图像与带有深度数据的深度图像。由于两摄像头的分辨率与安装位置不同故需将深度图像通过坐标转换与彩色图像对齐,计算出空间中点的坐标X,Y并转换到以Kinect本身所建立的世界坐标系下生成三维点云数据。最终将点云数据保存为(X,Y,Z,R,G,B)格式。数据获取流程图如图1所示。Kinect坐标系与深度图像投影坐标系如图2所示。

图1 数据获取流程

1.2 坐标变换原理

实验中真实世界坐标系采用Kinect自身坐标系,深度图像的投影坐标系是以深度图像原点作为坐标原点,真实世界坐标系与深度图像投影坐标系关系如图2所示。

图2 坐标系示意图

通过Kinect传感器的坐标转换关系利用深度图像的像素深度值和像素坐标可计算出真实世界坐标X、Y、Z坐标。深度图像与彩色图像对齐后,Z坐标直接由深度图像像素值直接得到,通过公式计算得到X、Y坐标[5],计算方式如下:

(1)

(2)

式(1)和式(2)中,X,Y分别代表Kinect坐标系中横纵坐标,u,v为深度图像中的横纵坐标,Z为深度图像中每个像素点的深度值,f图像的焦距,由此得到点云数据集合,采集的点云图像显示效果如图3所示。

图3 点云图像

2 点云的预处理和二维投影

2.1 点云预处理

Kinect采集到的点云数据数据量较大,对点云的计算速度有很大影响,为了提高对点云的计算速度,首先对点云中一些无用数据点进行预处理。根据移动机器人的自身尺寸对环境中的障碍物进行分类处理。采用阈值法根据障碍物高度进行滤除,本次方法验证设置阈值为1,对采集到的深度数据中高度大于1的值进行滤除,有效减少了点云数据的运算量。

2.2 二维投影变换

Kinect采集到的点云数据进行原始图像还原如图3所示。将点云数据进行预处理和坐标变后进行matlab绘图对原始场景进行还原如图4所示,并将三维场景坐标变换投影到二维平面,以便对环境信息进行识别为移动机器人路径规划提供依据。投影后图像如图5所示X,Y坐标确定了环境中障碍物的位置。

图4 预处理后点云数据显示

图5 点云数据平面投影

3 点云聚类分析

经过平面投影的点云数据中并未对环境中障碍物的进行分块处理并且存在数据噪点,为了更加准确地识别出障碍物并滤除噪点,方法采用对投影的数据点进行聚类处理, 方法验证中采用DBSCAN聚类算法,该聚类方法能够对数据点集进行任意形状类簇的聚类,相比于K-means聚类方法不用设定聚类数目,拥有很好的灵活性,且可以有效地分辨出数据集中的噪点[6-7]。

DBSCAN聚类算法参数选择:

1)E邻域:给定对象半径为E的区域,由于数据点较多,无法准确估计给定对象的领域半径,因此在方法验证中采取通过参数计算得到最佳E邻域半径。计算公式 如下:

(3)

(4)

2)核心点:若该点E邻域内存在的样本点数大于Nmin则判定该点为核心对象。

3)直接密度可达:对于样本集合D,如果样本点q在p的Ε领域内,并且p为核心对象,那么对象q从对象p直接密度可达。

4)密度可达:对于样本集合D,给定一串样本点p1,p2….pn,p=p1,q=pn,假如对象pi从pi-1直接密度可达,那么对象q从对象p密度可达。

5)密度相连:存在样本集合D中的一点o,如果对象o到对象p和对象q都是密度可达的,那么p和q密度相联。

算法主要步骤:若该点E邻域内存在的样本点数大于Nmin则判定该点为核心对象。

1)从数据集中寻找未处理的点对其进行核心点判定,若该点E邻域内存在的样本点数小于Nmin则判定该点为噪声点,并进行标记。若该点非核心对象则计算下一未处理点。

2)计算出所有从该核心点密度可达的对象形成类簇。

3)计算出该核心点的密度相连对象的最大集合

4)确定形成类簇中的所有点都被访问,然后同样方法处理数据中未被访问的点,计算出新的类簇,直到数据中所有点都被标记归类。

该方法在Matlab中进行了仿真验证,聚类结果如图6所示黑色标记点为噪声点,最终聚类结果如图7所示。

图6 含有噪点聚类显示

图7 滤除噪声后聚类结果

4 障碍信息提取

数据集经过DBSCAN聚类方法聚类后,每一个类簇判定为一个环境障碍并对该类簇中的数据点进行标记,同一类簇中的数据点采用同一标号。为减少数据的计算量,方法中对障碍物信息进行简化处理,采取在convex-hull凸包算法的基础上通过设定顶点之间的距离阈值将障碍物形成的类簇进行多边形估计,更加精确到的提取出障碍物的边界坐标信息。

算法主要步骤:

1)通过convex-hull凸包算法计算出凸包顶点,并设定两顶点间最大距离阈值P。

2)计算顶点中第二个顶点相对于第一顶点的方位角W1,顶点中最后一点相对于第一顶点的方位角W2,如果W1>W2,则将凸包顶点排列顺序倒转。

3)计算各顶点间各相邻两顶点间距离,找到最大距离及最大距离顶点标号。

4)若最大距离大于阈值P,则在最大距离两顶点间进行顶点匹配,找到类簇边界上距离小于阈值P的点作为新的顶点。

5)重复步骤3)、4),直到所有顶点中两顶点之间距离均小于阈值P。

改进后的凸包算法识别结果如图8所示,原凸包算法识别结果如图9所示。

图8 改进凸包算法识别结果

图9 原始凸包算法识别结果

5 试验结果与分析

为验证该方法的可行性,在移动机器人平台P3-DX安装Kinect做了试验验证。试验场景彩色图像如图10(a)所示,深度图像如图10(b)所示,障碍识别结果如图10(c)所示。结果表明该方法能够对环境中的障碍进行有效识别。

图10 验证效果图

6 结束语

本文提出了一种基于Kinect 传感器点云数据的障碍检测方法。利用采集的深度图像得到的点云数据进行障碍轮廓识别并进行坐标提取,减少了数据计算量,提高了障碍检测的准确度,为移动机器人路径规划提供了可靠的环境信息。该方法在Matlab上进行方法验证,并在机器人平台上试验验证了方法的有效性。

[1] Li P, Huang X H, Wang M. A novel hybrid method for mobile robot path planning in unknown dynamic environment based on hybrid DSm model grid map[J]. Journal of Experimental and Theoretical Artificial Intelligence, 2011,23(1):5-22.

[2] Moravec H P.Robot spatial perception by stereoscopic vision and 3D evidence grids[R].Pittsburgh,Pennsylvania,USA: Robotics Institute,Carnegie Mellon University,1996.

[3] 陈晓明,蒋乐天.基于Kinect 深度信息的实时三维重建和滤波算法研究[J].计算机应用研究,2013,30(4):365-367.

[4] 李人厚.自主移动机器人导论[M].西安: 西安交通大学出版社,2006.

[5] Dakopoulos D, Bourbakis N G. Wearable obstacle avoidance electronic travel aids for blind: A survey[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews,2010,40(1):25-35.

[6] 荣秋生,颜君彪,郭国强. 基于DBSCAN聚类算法的研究与实现[J].计算机应用,2004,24(4):45-46,61.

[7] 杜廷伟,刘 波.基于高斯混合模型聚类的Kinect深度数据分割[J].计算机应用与软件,2014, 31(12):245-248.

Mobile Robot Obstacle Detection Method Based on Depth Data of Kinect

Xue Yantao, Lü Hongbo, Sun Qiguo

(College of Mechanical Engineering and Material, North China University of Technology, Beijing 100144, China)

The unknown obstacle detection of indoor environment is a hot issue in the field of indoor mobile robot. Under the condition of low cost for more accurately detecting the obstacles for the environment, we put forward a kind of effective method based on point cloud data of Kinect sensor. First, get point cloud data by the depth image captured by Kinect, eliminate the noise of point cloud data and transform 3D data to 2D data. Then use DBSCAN (Density-Based Spatial Clustering of Applications with Noise )clustering algorithm to analysis the 2D point cloud data. Finally,using convex-hull algorithm extracts the coordinate of obstacles to complete the obstacle detection. The method is verified in Matlab,the results show that the method is effective.

point cloud; clustering analysis; concave-hull algorithm; obstacle detection

2016-09-13;

2016-10-11。

北京市教育基金科研计划项目(KM201510009001)。

薛彦涛(1990-),男,硕士研究生,主要从事移动机器人障碍识别方法研究。

1671-4598(2017)02-0061-03DOI:10.16526/j.cnki.11-4762/tp

TP

A

猜你喜欢

移动机器人障碍物顶点
移动机器人自主动态避障方法
过非等腰锐角三角形顶点和垂心的圆的性质及应用(下)
过非等腰锐角三角形顶点和垂心的圆的性质及应用(上)
移动机器人路径规划算法综述
高低翻越
室内环境下移动机器人地图构建与路径规划技术
赶飞机
月亮为什么会有圆缺
基于多传感器融合的机器人编队ADRC控制
数学问答