首页> 中国专利> 基于IHDR自主学习框架的轮式移动机器人导航方法

基于IHDR自主学习框架的轮式移动机器人导航方法

摘要

本发明涉及一种基于IHDR自主学习框架的轮式移动机器人导航方法。包括以下步骤:首先指导机器人移动,在此过程中机器人通过kinect传感器和手柄控制量实时采集当前时刻的图像信息和速度值;然后利用IHDR算法建立一种图像输入、速度值输出的映射关系,并将采集到的大量数据以“知识”树状结构的形式存放在机器人中;最后在无人干预的条件下,机器人可以根据当前的图像信息,去检索知识库,从而实现自主导航。该方法可以使得机器人具备跟人一样的思维方式,体现了一种认知能力,而非传统的通过数学模型的方式去导航,智能化程度更高。

著录项

  • 公开/公告号CN104850120A

    专利类型发明专利

  • 公开/公告日2015-08-19

    原文格式PDF

  • 申请/专利权人 武汉科技大学;

    申请/专利号CN201510120668.4

  • 申请日2015-03-19

  • 分类号

  • 代理机构湖北武汉永嘉专利代理有限公司;

  • 代理人胡琳萍

  • 地址 430081 湖北省武汉市青山区和平大道947号

  • 入库时间 2023-12-18 10:31:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-10

    授权

    授权

  • 2015-09-16

    实质审查的生效 IPC(主分类):G05D1/02 申请日:20150319

    实质审查的生效

  • 2015-08-19

    公开

    公开

说明书

技术领域

本发明属于轮式移动机器人的导航技术领域,涉及一种基于kinect的图像信息获取,并 通过人为训练使得机器人具有自主导航的方法。

背景技术

随着传感器技术的发展,机器人上携带的传感器越来越丰富。例如,通过sick激光测距 仪测得机器人距离前方障碍物有多远;通过kinect传感器获取图像信息,并利用SLAM (Simultaneous Localization and Mapping,实时同步定位与地图构建)算法进行三维构图;通 过数字罗盘得知机器人所在相对坐标,转过的方位角等。这些传感器技术的发展使得机器人 越来越智能,可实现的功能越来越多。但机器人的导航依然是重点和难点问题之一,因为它 是机器人完成避障、未知环境探测等任务的先决条件。

传统的机器人导航方法有遗传算法、人工势场法、基于椭圆约束的机器人导航等算法对 机器人进行局部或者全局的路径规划。这种基于数学模型的导航方法要求机器人在新环境中 重新规划,体现在:①无法适应复杂、多变和未知的环境;②任务是特定的,仅仅针对某一 任务有很好性能,而不会发展出新的能力;因此适应能力差。

发明内容

为了实现机器人的自主导航问题,本发明提供一种基于IHDR(增量式分层判别回归) 自主学习框架的轮式移动机器人导航方法,计算效率高且适应新环境的能力更优越。

为解决上述技术问题,本发明采用如下技术方案:

一种基于IHDR自主学习框架的轮式移动机器人导航方法,其特征在于:首先人工训练 机器人移动,在此过程中机器人通过kinect传感器和手柄控制量实时采集当前时刻的图像信 息和速度值;然后利用IHDR算法建立图像输入、速度值输出之间的映射关系,并将采集到 的图像信息和速度值数据以“知识”树状结构的形式存放在机器人中;最后在无人干预的条 件下,机器人根据当前的图像信息,去检索知识库,使机器人自主导航和移动。

上述技术方案主要包括如下步骤:

步骤1:初始化:完成串口通信、运动参数的配置,并将kincet传感器置于机器人正上 方;

步骤2:样本训练:预设一条路径,用手柄遥控机器人前后左右移动走完这段路径,并 重复多次该路径,以增加训练样本提高训练效果;

步骤3:在进行步骤2的操作时,将手柄控制机器人移动的运动控制数据和kinect传感 器采集到的数据以相同的采样频率保存下来,作为训练样本;其中,运动控制数据为二通道 信息,包括同一个二维平面内水平方向前进速度和后退速度、垂直方向左转速度和右转速度, kinect传感器输出RGB图片和深度信息;

步骤4:对RGB图片进行边缘化处理:对每张图片进行Canny边缘化处理,即只提取边 缘信息,并将图片所对应的数字矩阵保存下来;

步骤5:对样本数据进行归一化处理;

步骤6:利用IHDR算法对步骤5获取的归一化数据进行处理,建立IHDR树状结构,并 将所得到的知识库存储下来;

步骤7:在无人干预的条件下,根据kinect传感器采集到的图像信息,提取RGB图片 边缘信息后,机器人开始检索步骤6中生成的IHDR树状结构,得出相应的速度量,并反馈 给机器人,使机器人自主移动。

上述技术方案中,在机器人自主导航和移动过程中,当前方障碍物或图像中特定点与摄 像头之间距离小于设定阈值时,停止直线运动并规划椭圆约束条件,沿椭圆边缘避开障碍物, 然后继续按照步骤7的方法运动;该距离由kinect传感器的3D深度摄像头获取。

上述技术方案中,步骤6中建立数据IHDR树状结构的步骤如下:

步骤6.1:首先建立映射关系,具体描述如下:

f:X→Y

其中X为输入空间,表示机器人当前状态,即图片的边缘信息;Y为输出空间,代表机器人 运动速度;由此训练样本被分成X、Y两组数据,S={(xi,yi)|xi∈X,yi∈Y,i=1,2,…,n},S表 示训练样本集合,xi为输入空间的向量,yi为输出空间的向量,n为训练样本的个数;

步骤6.2:然后利用IHDR算法对X、Y这两组数据进行双重聚类,生成IHDR树状结 构;

步骤6.3:树的更新:在步骤6.2中生成的IHDR树状结构,当遇到一个新样本S=(X,Y) 时,先从树的根节点开始,逐层在该节点中搜索与新样本X最接近的中心;找到后则以该节 点为根节点继续搜索,直到找到相似的叶子节点;最后通过遗忘处理更新样本X、Y,生成 新的节点,插入到IHDR树状结构的末端。

上述技术方案中,所述步骤1中的轮式移动机器人配置有上位机、运动控制卡、以及kincet 传感器;机器人采用的轮式移动机器人具有5个行驶轮,包括两个左右驱动轮和3个万向随 动轮;运动控制卡由DSP和复杂可编程逻辑器件CPLD组成,并通过RS232接口与上位机或 工控板相连;整个运动流程为,上位机发送运动指令给运动控制卡,通过PWM控制驱动轮 的转速,实现机器人的前后左右移动。

上述技术方案中,所述步骤3中通过设置相同的定时器实现实时和同频率采集手柄控制 器数据和kinect传感器数据。

上述技术方案中,步骤3中,优选实施例中,运动控制数据前进速度为0.2m/s,后退速 度为-0.2m/s,左转速度为-5°/s,右转速度为5°/s。

本发明主要采用微软推出的kinect传感器,它的RGB摄像头能够帮助机器人获取更多的 环境信息,同时kinect的深度传感器能够测得机器人所在场景的3维特征信息。与激光测距 仪这种扫描测距的方式相比,激光测距仪受大气光传输效应的影响大,敏感信息低;与微惯 性测量单元(MIMU)相比,这种通过航位递推解算的方法,会使得误差不断地积累。因此, 相比之下,这种基于kinect视觉传感器捕获周围信息的方法能够更好帮助机器人实现自主导 航。

相对于目前已有的自学习导航方法,本发明旨在实现机器人的认知能力,即通过IHDR 算法构建自主学习框架。这种自主学习框架是通过人为指导或者训练机器人构建的,机器人 将采集到的大量数据以“知识”有效地存储起来。在无人干预的情况下,机器人能自主检索 知识库,实现自主导航。本发明没有使用传统的控制方法,避免的控制模型的构建,而是模 仿人类学习的过程,使得机器人的智能化程度更高。主要优势主要体现在以下方面:

1)使机器人模拟了人类的学习过程,将学习到的“知识”存储下来,而非通过传统的传感器采 集数据,建立闭环反馈模型,控制机器人移动。

2)这种学习是一种增量式的学习过程,学习的越多,存储的知识就越多,自主运动的效果就 越好。

3)相比其他的生成树算法如k-D树方法,IHDR算法在检索方面的效率和成功率都有很大的 提高。

附图说明

图1为轮式移动机器人系统结构框图。

图2为本发明基于IHDR自主学习框架的轮式移动机器人导航方法的流程图。

图3为IHDR树型数据结构图。

图4为机器人检索IHDR树误差图。

图5为机器人检索得到的速度值和训练过程中的速度值的对比图。

具体实施方式

移动机器人通过人工训练机器人的“走路”行为,储存相应的学习机制,再在同样的环境 中自主运动,不需要人为控制。下面结合附图1-5对本发明加以详细说明:

本发明通过手柄控制器与上位机进行通讯从而通过运动控制卡控制机器人前后左右移 动,并通过kincet传感器采集机器人“看”到的一些图像信息和深度信息,然后采用IHDR 算法建立IHDR树状结构的自主学习框架,将学习到的“知识”存储知识库,最后在无人工 干预的情况下,让机器人实时检索IHDR树状结构得出相应的运动数据并反馈给机器人,实 现机器人的自主运动;包括如下主要步骤:

步骤1:编写上位机程序,完成串口通信、运动参数的配置,并将kincet传感器置于机 器人正上方;

步骤2:样本训练过程:预设一条路径,用手柄遥控机器人前后左右移动指导机器人完 成这段路径,并重复多次,以增加训练样本;

步骤3:在进行步骤2的操作时,将手柄控制机器人移动的运动控制数据和kinect传感 器采集到的图像以相同的采样频率保存下来,作为训练样本,采样频率为10Hz;其中,运动 控制信息二通道量,包含同一个二维平面中水平方向的速度和垂直方向的速度;kinect传感 器采集RGB图像,图像分辨率为480×640(ppi);

步骤4:对RGB图像进行边缘化处理:考虑到每一张RGB图片所包含的数据量太大 (480×640×3),需进行降维处理。本发明对每张图片进行Canny边缘化处理,即只提取边缘 信息,并将图片所对应的数字矩阵保存下来:

步骤5:对样本数据进行归一化处理;

步骤6:利用IHDR算法对步骤5获取的归一化数据进行处理,建立树型数据结构,并 将所得到的知识库存储下来;此步骤为本发明的关键所在,前面所述的数据处理都是为这一 步做准备,具体步骤如下:

步骤6.1:首先建立一种映射关系,具体描述如下:

f:X→Y

其中X为输入空间,表示机器人当前状态,即图片的边缘信息;Y为输出空间,代表机器人 运动速度。这样训练样本被分成X、Y两组数据,S={(xi,yi)|xi∈X,yi∈Y,i=1,2,…,n},S表 示训练样本集合,xi为输入空间的向量,yi为输出空间的向量,n为训练样本的个数;。

步骤6.2:然后利用IHDR算法对X、Y这两组数据进行双重聚类,生成IHDR树状结构;

步骤6.3:树的更新:在步骤6.2中生成的IHDR树状结构,当遇到一个新样本S=(X,Y) 时,先从树的根节点开始,逐层在该节点中搜索与新样本X最接近的中心;找到后则以该节 点为根节点继续搜索,直到找到相似的叶子节点;最后通过遗忘处理更新样本X、Y,生成 新的节点,插入到IHDR树状结构的末端;

步骤7:将机器人在无人干预的条件下,根据kinect传感器采集到的图像信息,提取RGB 图片边缘信息后,机器人开始检索步骤6中生成的IHDR树状结构,得出相应的速度量Y, 并反馈给机器人,使其自主移动。

本发明充分利用kinect传感器里的3D深度摄像头,即通过kinect上所配备的红外投影机 和红外摄像头,可以得到图像中特定点(x,y)距离kinect摄像头的距离(单位为毫米)。设置阈 值为0.5米,在机器人自主前行时,当前方障碍物小于0.5米时,停止运动。规划椭圆约束条 件,沿椭圆边缘避开障碍物,然后继续按照步骤7的方法运动。

上述技术方案中,所述步骤1中的机器人运动控制的系统框图如附图1所示。配置有工 控机、运动控制卡、以及kincet传感器;机器人采用的轮式移动机器人具有5个行驶轮,包 括两个左右驱动轮和3个万向随动轮;运动控制卡由DSP和复杂可编程逻辑器件CPLD组成, 并通过RS232接口与上位机或工控板相连;整个运动流程为,上位机发送运动指令给运动控 制卡,通过PWM控制驱动轮的转速,实现机器人的前后左右移动。

上述技术方案中,所述步骤3中通过设置相同的定时器实现实时和同频率采集手柄控制 器数据和kinect传感器数据。

上述技术方案中,步骤3中,优选实施例中,运动控制数据前进速度为0.2m/s,后退速 度为-0.2m/s,左转速度为-5°/s,右转速度为5°/s。

上述技术方案中,所述步骤4对RGB图片进行边缘化处理具体包括如下步骤:

步骤4.1:首先将RGB彩色图片转换成灰度图片,采用以下公式计算;

Gray=(R×299+G×587+B×114+500)/1000

其中R、G、B这三个分量分别表示图片中每个像素点红、绿、蓝的像素值,对于8位无符号 的图片来说,它们的取值为0~255。Gray表示灰度图像的灰度值;

步骤4.2:然后对步骤4.1中的灰度图片进行边缘检测;

步骤4.2.1:步骤4.1中灰度图片数据与高斯平滑模板作卷积,以减少噪声;

步骤4.2.2:确定边缘点:在每一点处计算x和y方向的一阶导数,组合为4个方向的导 数。当方向导数达到局部最大值时,组成边缘的候选点。

步骤4.2.3:在步骤4.2.2中确定边缘点时,会导致梯度幅度图像中出现脊,脊像素使用 两个阈值处理,即上限阈值和下限阈值,如果一个像素的梯度大于上限阈值,则认定为边缘 像素;如果像素低于下限阈值,则被抛弃;如果介于二者之间,则只有其与高于上限阈值的 像素连接时才被接受成为边缘点;

步骤4.2.4:将不在脊顶部的灰度值置为零,则得到边缘图片;

步骤4.3:最后将边缘图片的矩阵数据保存下来,作为X空间的向量。

步骤5:采用归一化的方法对数据进行处理以统一不同传感器采集到的数据单位;归一 化采用Z-score标准化方法,公式如下:

x*=x-μσ

其中μ为所有样本数据的均值,σ为所有样本数据的标准差,x为任一样本值,x*为归一 化后的样本值。

如图2所示,为本发明基于IHDR自主学习框架的轮式移动机器人导航方法的流程图。

首先人为控制机器人运动,走完指定路线,并重复多次,以增加训练样本数。通过kinect 传感器和手柄控制器分别采集图像数据、深度信息和运动控制数据(机器人运动速度)。然后 对获取的图像进行处理,提取边缘信息。对于训练样本S={(xi,yi)|xi∈X,yi∈Y,i=1,2,…,n}, X表示输入的图像边缘信息,Y表示输出的控制量,由于单位上的不统一,分别做Z-score标 准化。接下来根据采集到的训练样本对,建立IHDR树。

初始化IHDR树的参数有:输入量X的维数;输出量Y的维数;q—群集节点可具有的 最大数量,一般取5,q越大,表明树的阴影越多;k—k邻近算法的参数,通常取1;freezeW 指定样本可冻结的节点;x_quantize—量化指标为X空间中的距离阈值,如果两个样品xi,xj之间的距离小于该X空间中的距离阈值,则它们是相同的类别;y_quantize—量化指标为Y 空间中的距离阈值,如果两个样品yi,yj之间的距离小于该Y空间中的距离阈值,则它们是 相同的类别。

对于这n个样本对,需进行增量式学习,运用for循环语句逐渐构建IHDR树如图3所示。 所涉及到的参数有:标志位,判断树是否建立成功;输入X向量的维数;输出Y向量的维数。 具体实施步骤为:设A为待搜索的活跃节点,当A不是节点时,计算样本点归属于A的概 率大小,将最大的概率值作为下一个活跃节点。如果A为内部节点,则更新A所在的分支; 如果A为叶子节点,则更新该叶子节点。然后进行节点更新和聚类更新。对于x或y寻找最 近邻的值,采取以下公式:

j=arg min 1≤i≤n{||ti-t||}(t=x或者y)

上式中,arg min表示式i=j时取得最小值。

最后引入遗忘机制更新更新叶子节点的类别的中心均值和方差。如果没有匹配到叶子节 点,则生成一个新的叶子节点,插入到IHDR树的末端。遗忘函数的表达式μ(t)如下:

μ(t)=0,tt1c(t-t1)/(t2-t1),t1<tt2c+(t-t2)/m,t2<t

上式中,t1,t2,c,m均为遗忘参数,分别设置为5,20,1,100。

将生成的IHDR树保存在工控机中,可随时调用读取。

在无人干预的情况下,机器人采集到图像数据后,经过相同的处理得到边缘信息,得到输入 向量X,并放到刚才的生成的IHDR树中检索,得到输出向量Y,即机器人的控制量。同时 根据kinect采集到的深度信息,根据阈值0.5米,规划椭圆约束条件,对机器人自主规划的 路径进行适当修正。根据上述的步骤,设定参数后,对其进行仿真分析。图4所示为机器人 检索IHDR树得到的速度值和训练过程中速度值进行作差比较后的误差图,其误差小于0.01 的概率为59.87%。图5为机器人训练过程中的速度值和机器人检索得到的速度值对比图。图 5所示中,上图为测试时即检索得到的速度值,下图为实际训练过程中的速度值,仿真为垂 直方向的速度,单位为m/s。由仿真结果可以看出,这种基于IHDR算法建立的知识库使得机 器人具有很好的认知能力,可以自己检索知识库,实现自主导航。此外,人工训练的次数越 多,自主导航效果越好。

本发明旨在实现机器人的认知能力,即通过IHDR算法构建自主学习框架。这种自主学 习框架是通过人为指导或者训练机器人构建的,机器人将采集到的大量数据以“知识”有效 地存储起来。在无人干预的情况下,机器人能自主检索知识库,实现自主导航。本发明没有 使用传统的控制方法,避免的控制模型的构建,而是模仿人类学习的过程,使得机器人的智 能化程度更高。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号