移动机器人的地图创建方法及基于该地图的路径规划方法与流程

文档序号:12861897阅读:418来源:国知局
移动机器人的地图创建方法及基于该地图的路径规划方法与流程

本发明涉及移动机器人领域,特别是涉及基于惯性导航系统的移动机器人的地图创建及路径规划。



背景技术:

目前市面上的服务机器人可在无人参与条件下在特定区域自动完成特定工作,给人们带来了便利,市场前景可观。

作为服务机器人中的代表,扫地机器人目前发展迅速,市场需求量巨大。现有的扫地机器人大多基于惯性导航系统进行定位、地图创建和导航。但由于惯性导航系统的构成器件(陀螺仪及里程计)误差,随着工作时间的增加会逐渐累积而导致较大误差,使得扫地机器人的定位不准确、地图信息与实际相差较大以及导致路径规划无法执行等缺陷。

此外,扫地机器人工作环境的复杂度,行走机构与工作之间的摩擦系数变化,行走机构打滑(或困住)产生的误差也会影响惯性导航系统的精确度。



技术实现要素:

本发明的目的之一在于克服背景技术中的缺陷,提供一种移动机器人的地图创建方法,具体方案如下:

一种移动机器人的地图创建方法,所述移动机器人包括里程计、陀螺仪和摄像头,包括以下步骤:s1:在移动机器人的工作区域内建立直角坐标系;s2:移动机器人在工作区域内按弓字形行走;s3:获取移动机器人在点pi的关键帧图片并保存该图片及点pi的坐标;s4:获取移动机器人在点p'i的图片,其中,点p'i的横坐标或纵坐标与点pi相同;s5:根据orb算法对点pi和点p'i获取的图片进行特征提取和匹配;s6:根据匹配结果校正移动机器人在点p'i的坐标、里程计和/或陀螺仪的数据并保存;s7:重复步骤s3至步骤s6直到完成工作区域内的地图创建。

在本发明方案的一个优化方案中,所述步骤s2包括以下子步骤:s201:移动机器人沿x轴正方向直线行走;s202:判断移动机器人是否遇到障碍,如果是则进入步骤203,如果否则进入步骤s206;s203:移动机器人以y轴正方向沿障碍行走;s204:判断移动机器人在y轴上的坐标量变化是否大于阈值m,如果是则进入步骤s208,如果否则进入步骤s205;s205:判断移动机器人的y轴坐标是否与步骤s201中的相同,如果是则返回至步骤s201,如果否则返回至步骤s203;s206:判断移动机器人直线行走距离是否大于阈值n,如果是则进入步骤s207,如果否则返回步骤s201;s207:移动机器人以y轴正方向直线平移m后进入步骤s208;s208:移动机器人沿x轴负方向直线行走;s209:判断移动机器人是否遇到障碍,如果是则进入步骤s210,如果否则进入步骤s213;s210:移动机器人以y轴正方向沿障碍行走;s211:判断移动机器人在y轴上的坐标量变化是否大于阈值m,如果是则返回步骤s201,如果否则进入步骤s212;s212:判断移动机器人的y轴坐标是否与步骤s208中的相同,如果是则返回至步骤s208,如果否则返回至步骤s210;s213:判断移动机器人直线行走距离是否大于阈值n,如果是则进入步骤s214,如果否则返回步骤s208;

s214:移动机器人以y轴正方向直线平移m后返回步骤s201。

进一步地,在本发明的一个具体实施例中,所述移动机器人为覆盖式移动机器人,所述m的范围为0.2米至0.3米,所述n的范围为6米至8米。

进一步地,在本发明的优化方案中,在所述步骤s3中,移动机器人每间隔预定距离保存关键帧图片及其对应点pi坐标。

进一步地,所述相邻关键帧图片采集点pi之间的最小距离为0.6米。

进一步地,所述x坐标或y坐标相同的点pi与点p'i之间的距离为0.3米至0.6米。

进一步地,所述图片优选移动机器人工作环境的天花板图片或地面图片。

本发明的目的之二在于克服背景技术中的缺陷,提供一种移动机器人的路径规划方法,具体方案如下:

一种移动机器人的路径规划方法,所述方法基于上述地图创建方法所创建的地图,包括以下步骤:s'1:移动机器人由初始位置移动至点pi或点p'i;s'2:在点pi或点p'i对里程计或/和陀螺仪的数据进行校正;s'3:重复步骤s'1至步骤s'2直到运动至最终目标点。

进一步地,在本发明的一个具体实施例中,所述步骤s'1包括以下子步骤:s'11:获取移动机器人初始位置的坐标和最终目标点的坐标;s'12:判断初始位置的坐标和最终目标点的坐标构成的矩形区域内是否有点pi或点p'i,如果是则进入步骤s'13,如果否则进入步骤s'14;s'13:移动机器人移动至矩形区域内的距离初始位置最近的点pi或点p'i,然后进入步骤s'15;s'14:移动机器人移动至工作区域内的距离初始位置最近的点pi或点p'i,然后进入步骤s'15;s'15:判断当前位置的坐标和最终目标点的坐标构成的矩形区域内是否有点pi或点p'i,如果是则返回步骤s'13,如果否则移动至最终目标点。

进一步地,在本发明的一个具体实施例中,所述步骤s'2包括以下子步骤:s'21:获取移动机器人在点pi或点p'i处的图片;s'22:根据orb算法对图片进行特征提取,并与点pi或点p'i处保存的图片进行特征匹配;s'23:根据匹配结构校正移动机器人在点pi或点p'i处的里程计或/和陀螺仪的数据。

进一步地,所述最终目标点包括移动机器人未经过区域、充电座位置以及移动机器人起始出发点。

与现有技术相比,本发明技术方案具有以下有益效果:

本发明通过图像匹配技术(orb算法)对移动机器人在地图创建过程的坐标及里程计和/或陀螺仪的数据进行校正,减少了坐标和角度的累积误差,提高了地图的精确性。

附图说明

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

图1为本发明的移动机器人的地图创建方法的整体流程图;

图2为图1中的步骤s2的一个优化方案的流程图;

图3为本发明的移动机器人的路径规划方法流程图;

图4为图3中的步骤s'1的一个优化方案的流程图;

图5为图3中的步骤s'2的一个优化方案的流程图;

图6为本发明实施例1的地图创建示意图;

图7为移动机器人基于图6中的地图的路径规划图;

图8为本发明实施例2的地图创建示意图;

图9为移动机器人基于图8中的地图的路径规划图。

具体实施方式

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

本发明中的移动机器人基于惯性导航系统,包括里程计、陀螺仪以及摄像头。其中,里程计用于获取移动机器人的行走距离,所述陀螺仪用于获取移动机器人的行走角度,所述摄像头安装在移动机器人底部或顶部,用于获取环境的图片信息。

本发明中的移动机器人尤其是在指定封闭式区域工作的覆盖式机器人,如在室内环境工作的安防巡逻机器人或扫地机器人、在特定草坪区域工作的割草机器人以及清洁游泳池的清洁机器人等。

此外,移动机器人还包括电源模块、行走模块、传感器模块、控制模块、存储模块及功能模块。其中,电源模块为可充电电池,用于为移动机器人在工作时提供电能;行走模块包括驱动电机和行走轮,用于使移动机器人在工作区域内运动;传感器模块用于接收工作区域的环境信息并反馈至控制模块;控制模块用于根据传感器模块反馈的信息控制移动机器人运动;存储模块用于存储移动机器人的控制程序以及从外界获取的传感器信息;功能模块指移动机器人特定的功能,如扫地机器人的清洁模块、割草机器人的旋转刀座等。

如图1所示,为本发明的移动机器人的地图创建流程图。

s1:在移动机器人的工作区域内建立直角坐标系。

即在移动机器人的工作区域建立由横坐标(x)和纵坐标(y)构成的直角坐标系,并优先将工作起始点、工作区域的某个角落或充电座作为原点。

s2:移动机器人在工作区域内按弓字形行走。

即移动机器人一开始沿某个方向直线行走,直到碰到障碍物或工作区域边界或行走预定距离,然后沿与该方向垂直的方向直线行走一段距离后再反向行走,然后重复上述过程直到完成工作区域的覆盖。

如图2所示,在本步骤的优化方案中,以移动机器人开始工作时的位置为原点,以移动机器人开始行走的方向为x轴正方向、以垂直于移动机器人行进方向的左侧为y轴正方建立直角坐标系,然后依次按以下步骤在工作区域内完成弓字形行走:s201:移动机器人沿x轴正方向直线行走;s202:判断移动机器人是否遇到障碍,如果是则进入步骤203,如果否则进入步骤s206;s203:移动机器人以y轴正方向沿障碍行走,需要说明的是,这里的以y轴正方向沿障碍行走是指移动机器人在碰到障碍的时候沿y轴正方向(即y轴坐标增加方向)行走,如果障碍为弧形或凸起结构,移动机器人沿障碍行走一段时间后,可能沿y轴负方向(即y轴坐标减小方向)行走;s204:判断移动机器人在y轴上的坐标量变化是否大于阈值m,如果是则进入步骤s208,如果否则进入步骤s205;s205:判断移动机器人的y轴坐标是否与步骤s201中的相同,如果是则返回至步骤s201,如果否则返回至步骤s203;s206:判断移动机器人直线行走距离是否大于阈值n,如果是则进入步骤s207,如果否则返回步骤s201;s207:移动机器人以y轴正方向直线平移m后进入步骤s208;s208:移动机器人沿x轴负方向直线行走;s209:判断移动机器人是否遇到障碍,如果是则进入步骤s210,如果否则进入步骤s213;s210:移动机器人以y轴正方向沿障碍行走;s211:判断移动机器人在y轴上的坐标量变化是否大于阈值m,如果是则返回步骤s201,如果否则进入步骤s212;s212:判断移动机器人的y轴坐标是否与步骤s208中的相同,如果是则返回至步骤s208,如果否则返回至步骤s210;s213:判断移动机器人直线行走距离是否大于阈值n,如果是则进入步骤s214,如果否则返回步骤s208;s214:移动机器人以y轴正方向直线平移m后返回步骤s201。

s3:获取移动机器人在点pi的关键帧图片并保存该图片及点pi的坐标。

移动机器人在开始移动,并在行走过程中不断通过摄像头拍摄天花板或地面的图片并进行特征匹配,比如在点pi(i为正整数)处筛选出了特征明显的关键帧图片,保存该关键帧图片并存储点pi在直角坐标系的坐标,此时由于移动机器人刚开始移动,其里程计和陀螺仪的数据是准确的,因此可以直接保存从里程计和陀螺仪读取pi点的坐标并保存。然后移动机器人继续行走并不断通过摄像头拍摄天花板或地面的图片并进行特征匹配,如果再次筛选出特征明显的关键帧,则判断该关键帧所在点的坐标与已存储的关键帧图片的坐标pi之间的距离(包括x轴或y轴方向)是否大于预定值(比如0.6米),如果是则将该点的关键帧图片及对应坐标保存起来,如果否则放弃该点的保存(因为关键帧保存过多、校准频繁影响移动机器人的工作的效率)。以此类推,完成工作区域内的关键帧图片和图片获取点pi的坐标的保存。

s4:获取移动机器人在点p'i的图片,其中点p'i的横坐标或纵坐标与点pi相同。

由于移动机器人沿弓字形移动,因此移动机器人在碰到障碍、工作区域边界或行走预定距离后将平移一段距离后反向运动,将经过与点pi横坐标或纵坐标相同的点p'i,获取移动机器人在点p'i的图片。优选的,点p'i与点pi之间的距离在一定范围内,如0.3米至0.6米之间,以兼顾移动机器人工作效率及匹配准确率。其中,点p'i与点pi的横纵标或纵坐标相同使得两幅图片在某一角度能较好的匹配,能提高匹配效率和减少错误匹配。

s5:根据orb算法对点pi和点p'i获取的图片进行特征提取和匹配。

通过orb算法对点pi和点p'i获取获取的图片进行特征提取,然后再对两幅图片提取的特征进行特征匹配。

s6:根据匹配结果校正移动机器人在点p'i的坐标、里程计和/或陀螺仪的数据并保存。

根据点pi和点p'i获取获取的图片像素偏移反算出实际的物理偏移量以及角度偏移量,并将结果反馈回去给移动机器人,然后移动机器人根据此结果点p'i的坐标以及里程计和陀螺仪的计量数据。

s7:重复步骤s3至步骤s6直到完成工作区域内的地图创建。

如图3所示,为本发明方法的移动机器人路径规划流程图,该移动机器人的路径规划方法基于上述地图创建方法所创建的地图。

s'1:移动机器人由初始位置移动至点pi或点p'i。

如图4所示,在本发明方法的一个具体实施例中,所述步骤s'1包括以下子步骤:s'11:获取移动机器人初始位置的坐标和最终目标点的坐标;s'12:判断初始位置的坐标和最终目标点的坐标构成的矩形区域内是否有点pi或点p'i,如果是则进入步骤s'13,如果否则进入步骤s'14;s'13:移动机器人移动至矩形区域内的距离初始位置最近的点pi或点p'i,然后进入步骤s'15;s'14:移动机器人移动至工作区域内的距离初始位置最近的点pi或点p'i,然后进入步骤s'15;s'15:判断当前位置的坐标和最终目标点的坐标构成的矩形区域内是否有点pi或点p'i,如果是则返回步骤s'13,如果否则移动至最终目标点。

s'2:在点pi或点p'i对里程计或/和陀螺仪的数据进行校正。

如图5所示,在本发明的一个具体实施例中,所述步骤s'2包括以下子步骤:s'21:获取移动机器人在点pi或点p'i处的图片;s'22:根据orb算法对图片进行特征提取,并与点pi或点p'i处保存的图片进行特征匹配;s'23:根据匹配结构校正移动机器人在点pi或点p'i处的里程计或/和陀螺仪的数据。

s'3:重复步骤s'1至步骤s'2直到运动至最终目标点。

通过上述方式,移动机器人在移动至最终目标点之前,至少在点pi或点p'i对里程计和陀螺仪进行了一次校正,在一定程度上消除里程计和陀螺仪的累积误差,提高了移动机器人运动至最终目标点的成功率。本方法中的最终目标点包括移动机器人未经过区域、充电座位置以及移动机器人起始出发点。

下面结合具体实施例进行说明。

实施例1

本实施例中的移动机器人以扫地机器人为例进行说明,图6、图7分别扫地机器人在一个呈矩形的无障碍的空间内的地图创建示意图及路径规划示意图。

如图6所示,以扫地机器人工作起始点a1为原点,以扫地机器人前进方向为x轴正方向,以垂直于扫地机器人左侧的方向为y轴正方向建立直角坐标系。扫地机器人向前行先后走到点p1、点p2,筛选出了具有特征明显的关键帧图片,保存该图片及点p1、点p2的坐标(点p1、点p2的坐标由里程计和陀螺仪直接获取,由于扫地机器人刚开始行走,里程计和陀螺仪的数据是准确的),其中点p1和点p2的横坐标之间的距离大于预定值(如0.6米)。

当扫地机器人移动至点p'时,也筛选出了具有特征明显的关键帧图片,此时由于点p'与已保存的点p2之间的距离小于0.6米,因此放弃对点p'处的关键帧图片及点p'的坐标保存。

扫地机器人继续运动,并在点p3保存关键帧图片及点p3的坐标,然后移动至a点遇到工作区域边界,然后沿y轴正方向行走预定距离m到达b点,m为扫地机器人的机身宽度(本实施例为0.25米),然后沿x轴负方向行走,先后经过与点p3、点p2、点p1的横坐标x相同的点,由于这些点(b-c直线上)与对应的点(a1-a直线上)的距离小于预设值(本实施例为0.4米),因此不用对相关点的坐标或图片进行保存及校正(过于密集的图片保存及校正将影响扫地机器人的工作效率)。

扫地机器人继续运动至c点遇到工作区域边界,然后沿y轴正方向行走预定距离m到达d点,然后再沿x轴正方向行走,然后依次经过与点p1、点p2、点p3的横坐标x相同的点,由于此时扫地机器人已平移了两个m,即0.5米,大于预设值(0.4米),因此扫地机器人获取对应点(点p'1、点p'2、点p'3)的图片并与分别于其横坐标x相同的点(点p1、点p2、点p3)保存的关键帧图片通过orb算法进行特征提取和匹配,然后根据匹配结果校正点p'1、点p'2、点p'3的坐标和在点p'1、点p'2、点p'3处的里程计和/或陀螺仪的数据。需要注意的是,为提高效率,在扫地机器人沿同一直线运行时,只要某一点的坐标和里程计和/或陀螺仪的数据进行校正成功,则不必对该直线上的其他点进行校正,也就是说,当在点p'1校正成功后,不必在点p'2、点p'3进行校正,当在点p'2校正成功后,不必在点p'3进行校正。

然后,扫地机器人继续沿x轴正方向运动至工作区域边缘,然后先后筛选出了具有特征明显的关键帧图片及其对应点(p4、p5、p6、p7)并保存,然后在对应点(p'4、p'5、p'6、p'7)进行坐标校正及里程计和陀螺仪的数据的校正。

以此类推,直到完成矩形区域内的地图创建。

如图7所示,当扫地机器人移动至点a2时,完成了矩形区域的地图创建,此时扫地机器人开始寻找要返回的最终目标点,在本实施例中为扫地机器人的起始工作点a1,由于点a1、点a2的坐标构成的矩形区域内没有点pi或点p'i,因此扫地机器人将移动至点p'7,然后在点p'7对里程计或/和陀螺仪的数据进行校正;接着扫地机器人将从点p'7移动至最终目标点a1,由于点p'7、点a1的坐标构成的矩形区域(虚线构成的矩形框)内存在点p7,因此扫地机器人将移动至点p7,然后再点p7对里程计或/和陀螺仪的数据进行校正;然后扫地机器人将从点p7移动至最终目标点a1,由于点p7、点a1的坐标构成的矩形区域内没有点pi或点p'i,所以扫地机器人将从点p7直接移动至最终目标点a1,其行走路径如图中箭头所示。

实施例2

本实施例中的移动机器人也以扫地机器人为例进行说明,图8、图9分别扫地机器人在一个包括矩形障碍物b1和椭圆形障碍物b2的呈矩形的工作区域内的地图创建示意图及路径规划示意图。

如图8所示,以扫地机器人工作起始点a1为原点,以扫地机器人前进方向为x轴正方向,以垂直于扫地机器人左侧的方向为y轴正方向建立直角坐标系。扫地机器人向前行先后走到点p1、点p2,筛选出了具有特征明显的关键帧图片,保存该图片及点p1、点p2的坐标(点p1、点p2的坐标由里程计和陀螺仪直接获取,由于扫地机器人刚开始行走,里程计和陀螺仪的数据是准确的),其中点p1和点p2的横坐标之间的距离大于预定值(如0.6米)。

扫地机器人运动至点a时,碰到障碍物b1,然后沿y轴正方向行走m(本实施例中为0.25米)距离后到达点b,然后沿x轴反方向行走,先后经过与点p2、点p1的横坐标x相同的点,由于这些点(b-c直线上)与对应的点(a1-a直线上)的距离小于预设值(本实施例为0.4米),因此不用对相关点的坐标或图片进行保存及校正(过于密集的图片保存及校正将影响扫地机器人的工作效率)。

扫地机器人继续运动至c点遇到工作区域边界,然后沿y轴正方向行走预定距离m到达d点,然后再沿x轴正方向行走,然后依次经过与点p1、点p2的横坐标x相同的点,由于此时扫地机器人已平移了两个m,即0.5米,大于预设值(0.4米),因此扫地机器人获取对应点(点p'1、点p'2的图片并与分别于其横坐标x相同的点(点p1、点p2)保存的关键帧图片通过orb算法进行特征提取和匹配,然后根据匹配结果校正点p'1、点p'2的坐标和在点p'1、点p'2处的里程计或/和陀螺仪的数据。当扫地机器人运动至点e时,再次遇到障碍物b1,然后绕障碍物b1运动到点f后,由于点e与点f之间的y轴方向的变化量小于m(0.25米),扫地机器人不会转向至沿x轴负方向行走,继续沿障碍物b1移动直到到点h,此时由于点h的纵坐标与点d的坐标相同,扫地机器人停止沿障碍物b1运动,并沿x轴正方向运动;当扫地机器人运动至点i时,由于点d与点i之间的距离达到6米(本实施例n的为6米),扫地机器人将沿y轴正方向行走m距离到达j点后沿x轴负方向运动。

以此类推,直到运动至点a2之前,按实施例1中的方式进行经过区域的地图创建。然后扫地机器人将移动至未经过的区域按上述方式进行地图创建直到完成整个工作区域的地图创建。

本实施例中与实施例1不同的地方在于:

1、扫地机器人在x轴方向运行预定距离后将自动沿y轴正方向平移m距离后沿x轴反向行走;

2、扫地机器人的在运行预定距离后保存关键帧图片点pi的图片及对应坐标,即相邻的点pi在横坐标的间距是相同的。

如图9所示,当扫地机器人移动至点a2时,完成了矩形区域的部分地图创建,此时扫地机器人开始寻找要返回的最终目标点,在本实施例中为扫地机器人的未覆盖区域的点a3,由于点a1、点a3的坐标构成的矩形区域(图中虚线框)内包含点p8、p9、p10、p11、p12,因此扫地机器人将移动至距离点a2最近的点p12,然后在点p12对里程计或/和陀螺仪的数据进行校正。

以此类推,扫地机器人依次经过点p11、点p10、点p9、点p8,然后在对里程计或/和陀螺仪的数据进行校正。当扫地机器人到达点p8后,由于与点p8与最终目标点a3构成的矩形区域内没有点pi或点p'i,扫地机器人将从点p7直接移动至最终目标点a1,其行走路径如图中箭头所示。

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

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