移动机器人在工作区域内的角度修正方法及移动机器人与流程

文档序号:11707061阅读:307来源:国知局
移动机器人在工作区域内的角度修正方法及移动机器人与流程

本发明属于移动机器人领域,尤其是涉及具有角度修正功能的移动机器人以及移动机器人在工作区域内的角度修正方法。



背景技术:

现有的移动机器人(如扫地机器人)使用惯性导航原理测量自身角度,在移动机器人工作一段时间后,会因累计误差原因,导致移动机器人对获取的自身角度不准确,影响移动机器人的在工作区域内的回充效率及覆盖效率。

针对上述问题,现有技术方案通过在移动机器人上安装摄像机,通过识别周围环境特征点(如天花板上的特征点或人为设置的标记)来实现对移动机器人自身角度的纠正;或者通过在工作区域边界设置信标,移动机器人在检测到信标发出的信号后调整自身位姿及角度。

但上述方式需额外提供的零部件来实现,增加了移动机器人的成本,控制也较为复杂。



技术实现要素:

本发明的目的之一在于克服背景技术中的缺陷,提供一种移动机器人在工作区域内的角度修正方法,本发明方法的方案如下:

一种移动机器人在工作区域内的角度修正方法,包括以下步骤:

s1:以移动机器人首次寻找到的障碍物边缘的长直线为参考建立直角坐标系,其中,长直线定义为长度大于某一预设值的直线或近似直线;

s2:在移动机器人再次寻找到障碍物边缘的长直线时获取其行进角度,并在该行进角度与直角坐标系的坐标轴方向的角度差值小于某一预设值时将行进角度修正为对应的坐标轴方向。

在本发明方法的优化方案中,为多次修正移动机器人在工作区域内角度,本发明方法还包括步骤s3:重复步骤s2直到移动机器人完成该工作区域内的工作。

进一步地,在本发明方法的一个实施例中,所述步骤s1包括以下子步骤:s11:移动机器人直线运动直到遇到障碍物并沿障碍物边缘行走;s12:在预定时间t0内多次获取移动机器人的行走角度并判断障多个行走角度值是否在a0附近且变化量小于阈值d0,如果是则进入步骤s13,如果否则在移动机器人运行预定时间t0或预定距离d0后返回步骤s11;s13:以障碍物边缘的长直线为参考建立直角坐标系。

可选择地,为提高移动机器人寻找障碍物边缘的长直线的效率,所述步骤s12还包括:判断移动机器人沿障碍物行走的时间是否大于预定值,如果是则停止沿障碍物边缘行走并返回步骤s11。

可选择地,为提高移动机器人寻找障碍物边缘的长直线的效率,所述步骤s12还包括:判断移动机器人沿障碍物行走的旋转角度是否大于预定值,如果是则停止沿障碍物边缘行走并返回步骤s11。

进一步地,所述步骤s13为:以移动机器人为原点、以长直线的ao方向为x轴正方向、以长直线的ao方向垂直的左垂直方向或右垂直方向为y轴正方向建立直角坐标系。

进一步地,在本发明方法的一个实施例中,所述步骤s2包括以下子步骤:s21:移动机器人直线运动直到遇到障碍物并沿障碍物边缘行走;s22:在预定时间t1内获取移动机器人的多个行走角度并判断多个行走角度是否在角度a1附近且变化量小于阈值d1,如果是则进入步骤s23,如果否则在移动机器人运行预定时间t1或预定距离d1后返回步骤s21;s24:获取角度a1与直角坐标系x轴正负方向、y轴正负方向的角度差dx+、dx-、dy+、dy-;s24:判断dx+、dx-、dy+、dy-是否小于阈值d2时,如果是则进步步骤s25,如果否则在移动机器人运行预定时间t2或预定距离d2后返回步骤s21;s25:将移动机器人当前角度修正为对应坐标轴的方向。

本发明的目的之二在于克服背景技术中的缺陷,提供一种具有角度修正功能的移动机器人,本发明移动机器人的具体方案如下:

一种移动机器人,包括控制器、驱动系统、角度传感器、沿边传感器、距离传感器和存储器;所述沿边传感器用于检测工作区域内的障碍物边缘并使移动机器人沿障碍物边缘运动;所述控制器用于:根据接收到的沿边传感器的信息检测障碍物边缘是否存在长直线,以首次检测到的长直线作为参考建立直角坐标系,在再次检测到长直线时获取移动机器人行进角度并在该角度与直角坐标系的某一坐标轴方向的角度差值小于某一预设值时将移动机器人行进角度修正为对应的坐标轴方向,其中,所述长直线定义为长度大于某一预设值的直线或近似直线;所述角度传感器用于实时获取移动机器人的行进角度;所述距离传感器用于获取移动机器人的行走距离;所述存储器用于存储直角坐标系信息及各预设值。

进一步地,在本发明方法的一个实施例中,所述角度传感器为陀螺仪或电子罗盘;所述沿边传感器为红外传感器;所述距离传感器为里程计。

进一步地,在本发明方法的一个实施例中,所述移动机器人为扫地机器人。

本发明公开的技术方案利用移动机器人的工作区域内的障碍物边缘的长直线作为参考以调整其行进角度,本发明方案成本低、容易实施且实施效果好,可用于移动机器人的覆盖式路径规划。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明较佳实施例的流程图;

图2为本发明较佳实施例的清洁机器人的硬件构成图;

图3为本发明较佳实施例中的移动机器人在工作区域内的轨迹示意图。

具体实施方式

下面将结合附图和具体实施例对本发明技术方案进行清楚、完整地描述,显然,这里所描述的实施例仅仅是发明的一部分实施例,而不是全部的实施例。基于本发明描述的具体实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明权利要求所限定的保护范围内。

如图1所示,为本发明方法的一个较佳实施例的流程图。

本实施例中的移动机器人以扫地机器人为例进行说明,如图2所示,本实施例中的扫地机器人包括控制器、驱动系统、角度传感器(本实施例中为陀螺仪)、距离传感器(本实施例中为里程计)、沿边传感器和存储器。其中,沿边传感器用于检测工作区域内的障碍物边缘并使移动机器人沿障碍物边缘运动,本实施例中采用红外传感器,安装在扫地机器人侧边,用于检测工作区域内的障碍物边缘的长直线,长直线定义为长度大于某一预设值(如0.5米至2米)的直线或近似直线;控制器用于:根据接收到的沿边传感器的信息检测障碍物边缘是否存在长直线,以首次检测到的长直线作为参考建立直角坐标系,在再次检测到长直线时获取移动机器人角度并在该角度与直角坐标系的某一坐标轴方向的角度差值小于某一预设值时(如5°至10°)将移动机器人角度修正为对应的坐标轴方向;所述角度传感器用于实时获取移动机器人的行进角度,本实施例中具体为陀螺仪,也可以采用电子罗盘;所述距离传感器用于获取移动机器人的行走距离,本实施例中为里程计;所述存储器用于存储直角坐标系信息及各预设值以及预设的清扫程序,存储器可为独立的存储器,也可以为集成在控制器的存储器。

本实施例中的步骤s1(即以移动机器人首次寻找到的障碍物边缘的长直线为参考建立直角坐标系,其中,长直线定义为长度大于某一预设值的直线或近似直线)由子步骤s11、s12、s13构成,具体描述如下:

s11:移动机器人直线运动直到遇到障碍物并沿障碍物边缘行走。

扫地机器人(移动机器人)在工作区域内开机启动后,初始化角度信息(如将前进方向视为0°),并以启动时的方向直线向前运动,由于工作区域是有限的,在直线运动一段时间内后必然碰到障碍(包括墙及桌子、沙发等家具),扫地机器人用红外传感器检测障碍物边缘并保持探测障碍物边缘,使扫地机器人沿障碍物边缘行走。

s12:在预定时间t0内多次获取移动机器人的行走角度并判断障多个行走角度值是否在a0附近且变化量小于阈值d0,如果是则进入步骤s13,如果否则在移动机器人运行预定时间t0或预定距离d0后返回步骤s11。

扫地机器人通过陀螺仪在预定时间t0(如2秒至5秒)内以固定频率(如100hz)多次采集扫地机器人的行走角度并传输给控制器,控制器通过计算,判断该多个行走角度数据是否位于a0(a0一般为该多个角度值的平均值)附近,且与a0的差值都小于阈值d0(本实施例中为1°)。如果满足上述条件,则认为扫地机器人在t0时间段是沿着角度值a0(相对扫地机器人启动时的角度)的长直线行走的;如果不满足上述条件,则认为扫地机器人在t0时间段沿非长直线行走,扫地机器人按清扫程序工作一段时间t0(如10至20秒)或行走预定距离d0(如5米至10米)后,返回步骤s11。

为提高扫地机器人第一次寻找障碍边缘的长直线效率,扫地机器人在沿障碍物行走的时间大于预设值(如10秒)或行走的旋转角度大于预设值(如180°),如果是则停止沿障碍物边缘行走,并返回步骤s11,避免扫地机器人沿障碍物边缘多次运动或在受困区域内循环运动。

s13:以障碍物边缘的长直线为参考建立直角坐标系。

控制器以扫地机器人当前位置为原点、以长直线的ao方向为x轴正方向、以长直线的ao方向垂直的左垂直方向或右垂直方向为y轴正方向建立直角坐标系,然后将该直角坐标系储存至存储器。

本实施例中的步骤s1(即,在移动机器人再次寻找到障碍物边缘的长直线时获取其行进角度,并在该行进角度与直角坐标系的坐标轴方向的角度差值小于某一预设值时将行进角度修正为对应的坐标轴方向)由子步骤s21、s22、s23、s24、s25构成,具体描述如下:

s21:移动机器人直线运动直到遇到障碍物并沿障碍物边缘行走。

扫地机器人在建立了直角坐标系后,按清扫程序工作一段时间(如10至20秒)或行走预定距离(如5米至10米)后,开始直线运动直到碰到障碍物,然后通过红外传感器检测障碍物边缘并沿障碍物边缘运动。

s22:在预定时间t1内获取移动机器人的多个行走角度并判断多个行走角度是否在角度a1附近且变化量小于阈值d1,如果是则进入步骤s23,如果否则在移动机器人运行预定时间t1或预定距离d1后返回步骤s21。

此步骤与步骤s12基本相同,即检测当前障碍物边缘是否存在长直线。具体地,扫地机器人通过陀螺仪在预定时间t1(如2秒至5秒)内以固定频率(100hz)多次采集扫地机器人的行走角度并传输给控制器,控制器通过计算,判断该多个行走角度数据是否位于a1(a1一般为该多个角度值的平均值)附近,且与a1的差值都小于阈值d1(本实施例中为1°)。如果满足上述条件,则认为扫地机器人在t1时间段是沿着角度值a1(相对步骤s13中创建的直角坐标系)的长直线行走的,即a1为扫地机器人行进角度;如果不满足上述条件,则认为扫地机器人在t1时间段沿非长直线行走,扫地机器人按清扫程序工作一段时间t1(如10至20秒)或行走预定距离d1(如5米至10米)后,返回步骤s21。

s23:获取角度a1与直角坐标系x轴正负方向、y轴正负方向的角度差dx+、dx-、dy+、dy-;

控制器分别计算a1与x轴正方向的角度差dx+、a1与x轴负方向的角度差dx-、a1与y轴正方向的角度差dy+以及a1与y轴正方向的角度差dy-。

s24:判断dx+、dx-、dy+、dy-是否小于阈值d2时,如果是则进入步骤s25,如果否则在移动机器人运行预定时间t2或预定距离d2后返回步骤s21。

通过比较dx+、dx-、dy+、dy-与阈值d2(本实施例中为1°)的大小,如果dx+、dx-、dy+、dy-之一小于阈值d2,则认为长直线应当与对应的直角坐标系的坐标轴平行,扫地机器人因累计误差导致该角度差,需进行自身角度修正;如果dx+、dx-、dy+、dy-都不小于d2,则认为长直线本身与坐标系的各坐标轴方向并不平行,不能作为修正扫地机器人的参考,扫地机器人按清扫程序行走t2(如10至20秒)或行走预定距离d2(如5米至10米)后返回步骤s21。

s25:将移动机器人当前角度修正为对应坐标轴的方向。

如果dx+小于阈值d2,则将扫地机器人当前运行方向修正为坐标系的x轴正方向;如果dx-小于阈值d2,则将扫地机器人当前运行方向修正为坐标系的x轴负方向;如果dy+小于阈值d2,则将扫地机器人当前运行方向修正为坐标系的y轴正方向;如果dy-小于阈值d2,则将扫地机器人当前运行方向修正为坐标系的y轴负方向。

s3:重复步骤s2直到移动机器人完成该工作区域内的工作。

控制器检测扫地机器人是否完成该工作区域的工作,如果是,则扫地机器人返回充电座,结束工作;如果否,则返回步骤s21。

下面结合图3对本发明的实施过程进行完整的描述。

如图3所示,扫地机器人的工作区域为大致呈矩形,工作区域内包括椭圆形障碍物b1(如桌子)以及矩形障碍物b2(如沙发)。

扫地机器人m从点p0出发,然后直线运动至点p1,此时检测到桌子a1;扫地机器人的以左侧沿桌子b1运动(可通过算法可使扫地机器人的左侧或右侧沿障碍运动),扫地机器人沿桌子a1运动的过程中的点p1至点p2为路径为弧形(在此期间认为桌子b1边缘不存在长直线)。

当扫地机器人到达点p2时,已沿桌子b1行走了预定时间、预定距离或预定旋转角度,因此停止沿桌子b2运动,并以当前方向直线向前运动直到运动至点p3,在点p3处检测到墙边缘,然后扫地机器人沿墙边缘运动。

在点p3和点p4之间检测到了长直线,此时以该长直线为参考建立直角坐标系:即以点p4为原点,以扫地机器人当前方向为x轴正方向,垂直于长直线的扫地机器人左侧方向为y轴正方向建立直角坐标系。扫地机器人按清扫程序进行清扫,直到在点p5检测到沙发b2,扫地机器人开始沿沙发b2运动。

在点p5和点p6之间检测到了长直线,此时从陀螺仪获取该长直线的角度大致为150°(相对点p4处建立的直角坐标系),然后计算长直线角度与直角坐标系各坐标轴方向的角度差,其最小角度差dx-为大约30°,远大于设定的阈值(1°),认为该长直线本身与坐标系各坐标轴方向都不平行,因此不对扫地机器人当前行进方向的角度进行修正,扫地机器人在点p6时以当前方向直线向前运动直到在点p7检测到墙边缘,然后扫地机器人沿墙边缘运动。

在点p7和点p8之间检测到长直线,此时从陀螺仪处获取长直线的角度为89.5°,该长直线方向与直角坐标系的y轴正方向之间的角度差为0.5°,小于设定的阈值(1°),此时将扫地机器人在点p8处的方向修正为90°。

如此循环,直到扫地机器人完成在该矩形区域的工作。

以上所揭露的仅为本发明技术方案的实施例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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