一种机器人迷宫行走方法、装置及机器人与流程

文档序号:16549349发布日期:2019-01-08 21:01阅读:1164来源:国知局
一种机器人迷宫行走方法、装置及机器人与流程

本发明涉及智能机器人领域,尤其涉及一种机器人迷宫行走方法、装置及机器人。



背景技术:

人形机器人的研究起步于1960年代后期,目标是解决人形机器人的双足行走问题。如日本早稻田大学加藤一郎教授在1969年研制出wap-1平面自由度步行机。研究的内容包括行走机构的设计以及相应的控制方法。

2004年,法国的aldebaran-robotics公司推出了nao机器人。它的软件开发接口方便,价格相对低廉,因而在世界范围内被大量使用,对人形机器人的研究和加速人形机器人的发展有着重大的推动作用。

我国的人形机器人研究起步于1986年启动的国家高技术计划,经过二十多年的研究,同样取得了丰硕的成果。如北京理工大学研制的机器人“汇童”有32个自由度,能打太极拳,会腾空行走,并能根据自身的平衡状态和地面高度变化,实现未知路面的稳定行走。

移动机器人在路径规划中较为突出的应用就是迷宫机器人,国内外对迷宫机器人的研究常常为控制领域和计算机领域的主流话题。在1969年,有一场走迷宫比赛是由themachinedesign组织的,从那时起,世界各地的许多比赛都通过迷宫机器人组织起来,到了1980年,为了让迷宫机器人的路径问题能够得到较好的解决,ieeemagazine忒出了一个名为“micrometer”的新概念。后来,有很多有关迷宫的比赛出现。在迷宫里,机器人顺着迷宫墙壁行走,并在交叉路口处使用随机选择方法来成功走出迷宫,可是就一个单独的迷宫来讲,该算法很容易进入无限循环,后来又出现一些新的算法。然而,对于类人机器人来说,它具有与人腿类似的行为,但其行动不便利,并且其稳定性有一定的缺陷。

现有技术中,存在机器人在走迷宫时由于脚底摩擦力不够及迷宫不规则导致转弯角度不准确而不能走出迷宫的问题,而且在机器人的两个摄像机的视野中目标不能同时出现,所以在视觉中使用单目测距方法十分重要。

现有技术至少存在如下问题:在识别过程中,机器人必须依靠目标位置跟踪目标,获取目标位置信息的方法是调整头部角度、并交替使用两个摄像头,因此必须重新校准相机的每个参数以获得特定条件的转换矩阵,但是对于机器人的摄像头,会导致运动过程中机器人会改变摄像机的参数,限制了其适用性。



技术实现要素:

本发明实施例提供一种机器人迷宫行走方法、装置及机器人,该系统通过采用传感器和机器视觉的图像处理完善仿人机器人的捕捉外部信息功能,并将图像处理和机器人运动的结合,从而实现机器人定位、跟踪、导航和成功地躲避障碍物并走出迷宫的科学技术。

本发明公开了一种机器人迷宫行走方法、装置及机器人,所述方法包括:

在行进过程中,通过声纳检测判断机器人当前前进方向上的左右两侧是否存在障碍物;当判断前进方向的右侧不存在障碍物时,控制向右侧进行转弯;当判断前进方向的右侧存在障碍物且左侧不存在障碍物时,通过视觉检测方法判断前方是否存在障碍物;若前方存在障碍物,则控制向左侧进行转弯;若前方不存在障碍物,则控制继续向前行进;当判断前进方向的左侧和右侧都存在障碍物时,通过视觉检测方法判断前方是否存在障碍物;若前方存在障碍物,则控制向后进行转弯;若前方不存在障碍物,则控制继续向前行进。

优选地,所述通过声纳传感器探测和识别前进方向的左右两侧的障碍物及其轮廓;其中,控制声纳传感器每隔100ms发出一个声波信号,当声波信号遇到障碍物后会反射回来,最后依据反射时间及波型计算障碍物的距离及位置,从而判断前进过程中的左右两侧是否有障碍物。

优选地,所述通过视觉检测方法判断前方是否存在障碍物具体为:调整头部角度,通过摄像头获取迷宫当前的图像;对图像进行图像去噪、图像分割、二值化处理得到二值化图像;基于得到的二值化图像以及单目测距原理判断前方上是否有障碍物。

优选地,还包括:当检测到当前行进方向上存在至少两个可供选择的方向时,记录当前节点位置;则在若前方存在障碍物,则控制向后进行转弯后还包括:控制返回至最后一次记录的节点位置。

优选地,还包括:在转弯时,根据机器人自身的步态控制以及运动学中的角度控制,调整机器人的转弯角度,以实现根据转弯角度进行转弯。

优选地,所述机器人为nao机器人。

进一步地,本发明实施例还提供了一种机器人迷宫行走装置,包括:

图像获取单元,用于调整头部角度,通过摄像头获取迷宫当前的图像;

图像处理单元,用于进行图像去噪、图像分割、二值化处理得到二值化图像识别前方的障碍物;

障碍物识别单元,用得到的二值化图像以及单目测距原理判断前方上是否有障碍物,并通过声纳传感器探测和识别前进方向的左右两侧的障碍物及其轮廓;

路径标记单元,用于检测到当前行进方向上存在至少两个可供选择的方向时,记录当前节点位置。

本发明实施例还提供了一种机器人迷宫行走机器人,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的机器人迷宫行走方法。

发明实施例提供的一种机器人迷宫行走方法、装置及机器人,可实现利用视觉检测方法来识别障碍物,在机器人行走过程中,遵循右转优先原则。在转弯处利用步态控制获得前方障碍物的位置信息,并对已走过的路径保存记忆。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一种实施方式,

图1为本发明实施例提供的的一种机器人迷宫行走方法的避障程序流程图;

图2为本发明实施例提供的的一种机器人迷宫行走方法的走迷宫程序流程图。

图3为本发明实施例提供的的一种机器人迷宫行走方法的图像处理过程。

图4为本发明实施例提供的的一种机器人迷宫行走方法的单目测距模型图。

图5为本发明实施例提供的的一种机器人迷宫行走方法的二值化处理前的图像。

图6为本发明实施例提供的的一种机器人迷宫行走方法的二值化处理后的图像。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1,本发明第一实施例提供了一种机器人迷宫行走方法,包括:

在行进过程中,通过声纳检测判断机器人当前前进方向上的左右两侧是否存在障碍物;

当判断前进方向的右侧不存在障碍物时,控制向右侧进行转弯;

当判断前进方向的右侧存在障碍物且左侧不存在障碍物时,通过视觉检测方法判断前方是否存在障碍物;

若前方存在障碍物,则控制向左侧进行转弯;

若前方不存在障碍物,则控制继续向前行进;

当判断前进方向的左侧和右侧都存在障碍物时,通过视觉检测方法判断前方是否存在障碍物;

若前方存在障碍物,则控制向后进行转弯;

若前方不存在障碍物,则控制继续向前行进。

优选地,通过声纳传感器探测和识别前进方向的左右两侧的障碍物及其轮廓;其中,控制声纳传感器每隔100ms发出一个声波信号,当声波信号遇到障碍物后会反射回来,最后依据反射时间及波型计算障碍物的距离及位置,从而判断前进过程中的左右两侧是否有障碍物;在实验中得知nao的声纳传感器的测量频率是40khz,探测范围从25cm到255cm,但在25cm以下没有距离信息时,机器人只知道一个物体存在,所以使用声纳时,操作者可能会在探测到最大距离之前探测到地面,但也要注意可能探测到机器人手臂,其中发射信号的频率大小取决于机器人前方物体的大小,检测结果的质量取决于障碍物的大小、外观以及方向。

优选地,所述通过视觉检测方法判断前方是否存在障碍物具体为:调整头部角度,通过摄像头获取迷宫当前的图像;对图像进行图像去噪、图像分割、二值化处理得到二值化图像;基于得到的二值化图像以及单目测距原理判断前方上是否有障碍物;

参阅图3,上述障碍物识别基于图像处理,其过程具体为:

机器人通过两个摄像头交替使用以获取当前环境下输入的障碍物图像;

机器人利用所含的声纳传感器结合高斯滤波技术对图像进行噪声的处理;

机器人所含处理器对噪声处理后的图像进行颜色和灰度变化的分割算法处理;

机器人再次使用处理器对分割后的图像进行最大方差阈值算法的操作,得到二值化图像;

通过摄像头测量障碍物并同时结合单目测距模型及其算法,最终处理器获取了障碍物的位置信息;

其中,所述机器人含两台摄像头,其支持的颜色模型的图像采集和传输有rgb,yuv和hsi三种;在实际的操作过程中,根据系统因素,两台摄像机无法同时进行工作,但能够即时切换上下,使nao机器人成为单目相机模型,即摄像机对称安装在机器人的纵轴上,两台摄像机的水平视角是60.97°,机器人的垂直视角是47.64°,两者之间还有相差8毫米的水平位置,而前额摄像机在垂直方向上的安装角度为1.2°的偏角;

所述图像去噪是采用线性滤波技术中的高斯滤波法,由于高斯函数的傅立叶变换仍是高斯函数,因此高斯函数能构成一个在频域具有平滑性能的低通滤波器,从而通过在频域内做乘积来实现高斯滤波;高斯滤波是用加权平均方法处理目标图像中每个点处的像素值,通过选择卷积模板,在解决二维高斯函数的卷积问题时,它可以分解为两个一维高斯函数,即目标图像与一维高斯函数的卷积,最终达到减小噪音对图像整体质量输出结果的干扰;当采用n×n模板滤波时,高斯滤波器的数学公式如下:

其中σ2表示选取的方差。

所述图像分割是一种图像处理过程,其基于颜色的分割可以提高机器人的视觉识别效率,而nao机器人使用的是其平行区域最常用的技术之一:灰度阈值分割,即凭借选择的分割阈值t确定图像的灰度直方图,将有效信息与背景分离,其主要凭借选择的分割阈值t确定图像的灰度直方图,将有效信息与背景分离,式子如下:

所述阈值的选择需要根据具体问题来确定,一般通过实验来确定,对于给定的图像,可以通过分析直方图的方法确定最佳的阈值,例如当直方图明显呈现双峰情况时,可以选择两个峰值的中点作为最佳阈值;

参阅图4,所述单目测距测量法具体为:点p(x,y)是世界坐标系中的一个点,摄像头的图像在平面上特征的像平面坐标用(u,v)表示;距离测量是为了设置图像中目标特征点p的图像平面。在机器人坐标系xoy中的坐标p(x,y)由坐标(u,v)转换成;

在图4中,其摄像头是固定的且向下倾斜的;p表示物体,p表示在图像中障碍物的特征点,h是从摄像头到地面的垂直距离,y1是摄像头在地面上的垂直投影的最短距离,并且y1+y2是在垂直视角看的距摄像头最远的投影,x1是相机投影到距离垂直视角很近的地面时,水平视点投影到地面的距离;α是摄像头的垂直视角与地平面的y轴之间的最大,而β是其最小角度,γ是地面的y轴和水平摄像头角度在地面上的投影之间的角度。

由图4及成像模型可知,α、β、γ的推导公式如下:

α=arctan(h/y1),

β=arctan(h/(y1+y2)),

γ=arctan(x1/y1),

其中,h、y1、y2及x1可直接测量出。并可由计算的α、β、γ推导出x和y的公式:

其中u表示图像平面中特征点p的行数;v表示图像平面中特征点p的列数;sx表示x方向上图像平面行和列的总数;sy表示y方向上图像平面行和列的总数;x表示机器人坐标系xoy中的点p(x,y)的横坐标,也就是机器人与目标点在水平线上的位置距离;y表示机器人坐标系xoy中点p(x,y)的纵坐标,也就是机器人与目标点在垂直线上的位置距离;l表示机器人和目标点二者之间的位置距离;θ表示p点与正向之间的角度。

参阅图5与图6,所述二值化处理是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程,即指运用最大方差阈值方法对阈值进行确定,根据识别期间情景中目标和背景之间的亮度比来改变阈值并相应地跟踪,二值化处理使图像中数据量大为减少,从而能凸显出障碍物的轮廓;如图5所示,是未经二值化处理的图像,对障碍物的辨别度较低;如图6所示则为经二值化处理的黑白图像,可清晰辨别当前场景中的障碍物图像。

优选地,还包括:当检测到当前行进方向上存在至少两个可供选择的方向时,记录当前节点位置;则在若前方存在障碍物,则控制向后进行转弯后还包括:控制返回至最后一次记录的节点位置。

优选地,还包括:在转弯时,根据机器人自身的步态控制以及运动学中的角度控制,调整机器人的转弯角度,以实现根据转弯角度进行转弯。

其中,所述步态是指机器人的每条腿按一定的顺序和轨迹的运动过程,包括平动步态:指机器人步行时始终保持机体平移;定点转弯步态:指机器人机体绕某轴转动的步态;步态控制设计包括确定支撑相、摆动相运动的开始和结束;所述机器人的腿包含五个关节,它们分别是围绕x轴左右转动的臀滚动关节、按y方向前后运动的前臀关节、围绕y轴转动的前关节、按y轴延伸的踝关节及围绕x轴按照从左往右转动的踝滚动关节,就足关节而言,前关节与滚动关节受到限制,以防止机器人摔倒。

所述运动学还运用了nao机器人的变换矩阵:使用矩阵乘法来计算运动和旋转以获得4x4的变换矩阵,其矩阵的组成如下,每个矩阵中的元素在每个位置变换中都有它们各自的用途:

从a到i的九个值表示旋转坐标,而l、m和n表示位移。使用变换矩阵的相乘,许多位置的变化都可以用一个变换矩阵来表示。

由三维运动引起的位置变化可以使用如下的变换矩阵来计算;如果要将笛卡尔坐标系中的坐标(x,y,z)计算为以l作为x轴,m作为y轴,n作为z轴的坐标系,则可以执行以下操作围绕目标坐标(x',y',z')。

根据不同的旋转轴,三维旋转可以具有不同的变换矩阵。下列式子显示了围绕x、y,x轴旋转的变换矩阵。

优选地,所述机器人为nao机器人。

其中,所述nao机器人是身高57cm的可编程人形机器人,主要内容如下:具有机身25度自由度(dof),电机和执行器的关键部件;一系列传感器:2个摄像头,4个麦克风,1个超声波距离传感器,2个红外发射器和接收器,1个惯性板,9个触觉传感器和8个压力传感器;用于自我表达的设备:语音合成器,led灯和2个高品质扬声器;一个cpu(位于机器人头部),运行linux内核,并支持aldebaran自己的专有中间件(naoqi);第二个cpu(位于机器人躯干内部);一个55瓦的电池,可以提供1.5小时甚至更长时间;nao的视觉技术,使用两个高清摄像头,有效像素高达920万,每秒30帧,其中一台摄像头位于机器人的前额,拍摄了前面的水平屏幕;另一个位于嘴里,用于扫描周围的环境。nao机器人的头部可以左右旋转扫视周边环境,其手臂可以支撑其手以及腕部,并且腕部、手部在空间的方向以及位置也可以改变,它还可以完成平移、升降、旋转等运动。

进一步地,本发明实施例还提供了一种机器人迷宫行走装置,包括:

图像获取单元,用于调整头部角度,通过摄像头获取迷宫当前的图像;

图像处理单元,用于进行图像去噪、图像分割、二值化处理得到二值化图像识别前方的障碍物;

障碍物识别单元,用得到的二值化图像以及单目测距原理判断前方上是否有障碍物,并通过声纳传感器探测和识别前进方向的左右两侧的障碍物及其轮廓;

路径标记单元,用于检测到当前行进方向上存在至少两个可供选择的方向时,记录当前节点位置。

参阅图1可得实施例具体为:机器人在碰到交叉口时,如果右方无障碍物那么右转优先;如果没有右转路口,前方无障碍物,则直行;如果右方和前方均有障碍物,左方无障碍物则左转弯;如果右方、左方和前方都有障碍物,则后转返回并记录最后一个节点的位置,当存在两个或多个方向可用时,记录该点的坐标,当它进入死路径时,它将向后转回到上一个节点。

以下详细介绍基于上述的一种机器人迷宫行走方法进行工作控制的原理,即参阅图2:

在检测到正确的行走的方向后,做出动作并记录当前坐标和所经过路径的长度,再判断是否有记录过相同的坐标;若否,转回第一步重新检测方向;若是,则删除这两个相同坐标之间的其他坐标,然后建立坐标和长度的线性表,最后判断是否到达终点;若否,转回第一步重新检测方向;若是,则结束行走。

还需说明的是,在本发明中,对于机器人走迷宫的代码编写来说,最短路径递归算法是最简单合理的一种路径规划方法,具体为:在迷宫中,机器人可以0代表路,-1代表墙壁,1代表未检测地域,然后计算入口与出口之间的最短距离;从起点开始并将起点设置为1,按照先右转再直走最后左转的规则检测四个方向,对于到该点之前的每个点都标记为+1,其中这些路径也可以是重复的,但是前提为,此点+1要比之前走过的点的值小,即墙不能走;若此点+1比之前走过的点的值大,机器人会选择退出原路径,并被递归地调用直到找到终结点;每次成功调用递归时,1就会成为坐标点的值,并且全部都会用直线相连,这时就能获得最短路径。

本发明实施例还提供了一种机器人,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的机器人迷宫行走方法。

综上所述,本发明实施例提供的一种机器人迷宫行走方法、装置及机器人,可实现利用视觉检测方法来识别障碍物,在机器人行走过程中,遵循右转优先原则。在转弯处利用步态控制获得前方障碍物的位置信息,并对已走过的路径保存记忆。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1