基于视觉特征点的扫地机定位方法、系统以及扫地机器人与流程

文档序号:16978790发布日期:2019-02-26 19:17阅读:469来源:国知局
基于视觉特征点的扫地机定位方法、系统以及扫地机器人与流程

本发明涉及移动机器人领域,特别是涉及觉同步定位技术领域,具体为一种基于视觉特征点的扫地机定位方法、系统以及扫地机器人。

版权申明

本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。



背景技术:

随着计算视觉技术的发展,基于视觉的同步定位技术在移动机器人(例如扫地机器人)上逐渐普及。相比于双目立体相机,单目视觉slam技术具有成本低廉,安装校准方便的特点。然而通过单相机构建的地图和运动轨迹的尺度是未知的,因此机器人位移和三维重建点的坐标具有不确定的尺度。

目前对单目视觉slam尺度估计通常是通过使用陀螺仪或里程计积分的数据。利用其他传感器获得一个有物理单位的移动距离,用以初始化尺度。

目前的解决方法是通过使用陀螺仪或里程计积分的数据进行尺度估计。这类方法的缺点在于:1)增加了硬件成本;2)依赖于其他传感器的精度;3)依赖于多传感器之间的时间同步。以使用里程计进行尺度估计为例,当机器人轮子发生打滑的时候里程计误差可能会很大,该误差会直接影响视觉slam的定位精度。



技术实现要素:

为了解决上述的以及其他潜在的技术问题,本发明的实施例提供了一种基于视觉特征点的扫地机定位方法,所述基于视觉特征点的扫地机定位方法包括:采集充电座中至少包含两个视觉标定点的定位面的图像;识别所述图像中的视觉标定点并获取各所述视觉标定点之间的距离;根据各所述视觉标定点之间的距离估计扫地机相对所述充电座的距离和方位。

于本发明的一实施例中,所述基于视觉特征点的扫地机定位方法还包括:根据各所述视觉标定点之间的距离估计所述扫地机中单目视觉vslam地图定位中的尺度。

于本发明的一实施例中,所述充电座的定位面为方形面,所述视觉标定点位于所述充电座的定位面的顶点。

于本发明的一实施例中,所述视觉标定点的数量为四个,分别位于所述充电座的定位面的四个顶点。

于本发明的一实施例中,所述视觉标定点为方形、圆形、三角形或菱形中的任一种。

本发明的实施例还提供一种基于视觉特征点的扫地机定位系统,所述基于视觉特征点的扫地机定位系统包括:图像采集模块,用于采集充电座中至少包含两个视觉标定点的定位面的图像;识别模块,用于识别所述图像中的视觉标定点;距离获取模块,用于获取各所述视觉标定点之间的距离;位置估计模块,用于根据各所述视觉标定点之间的距离估计扫地机相对所述充电座的距离和方位。

于本发明的一实施例中,所述基于视觉特征点的扫地机定位系统还包括:尺度估计模块,用于根据各所述视觉标定点之间的距离估计所述扫地机中单目视觉vslam地图定位中的尺度。

于本发明的一实施例中,所述充电座的定位面为方形面,所述视觉标定点位于所述充电座的定位面的顶点。

本发明的实施例还提供一种扫地机器人,包括扫地机和充电座,所述充电座的定位面至少包含两个视觉标定点;所述扫地机包括处理器和存储器,所述存储器存储有程序指令,所述处理器运行程序指令实现如上所述的方法中的步骤。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的方法中的步骤。

如上所述,本发明的基于视觉特征点的扫地机定位方法、系统以及扫地机器人具有以下有益效果:

本发明在充电座的四个角上设置特殊的几何图形作为视觉标定点,视觉标定点的位置已知,在扫地机中vslam(visualsimultaneouslocalizaitonandmapping,基于视觉的同步定位与地图构建)运行的过程中,相机可以识别视觉标定点,由于视觉标定点之间的距离已知,可以推算出相机离充电座的距离和方位,可以为扫地机中vslam提供尺度信息,可以在不依赖于其他传感器的情况下进行单目vslam算法的尺度初始化,有效解决了单目视觉vslam定位中尺度难以估计的问题。

附图说明

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

图1显示为本发明的基于视觉特征点的扫地机定位方法的流程示意图。

图2显示为本发明的基于视觉特征点的扫地机定位方法中充电座外观结构示意图。

图3显示为本发明的基于视觉特征点的扫地机定位方法的另一种流程示意图。

图4显示为本发明的基于视觉特征点的扫地机定位系统的原理框图。

图5显示为本发明的基于视觉特征点的扫地机定位系统的另一种原理框图。

元件标号说明

100基于视觉特征点的扫地机定位系统

110图像采集模块

120识别模块

130距离获取模块

140位置估计模块

150尺度估计模块

200充电座

210定位面

220视觉标定点

s100~s130步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

请参阅图1至图5。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。

本实施例的目的在于提供一种基于视觉特征点的扫地机定位方法、系统以及扫地机器人,用于解决现有技术中单目视觉vslam定位中尺度难以估计的问题。以下将详细阐述本发明的基于视觉特征点的扫地机定位方法、系统以及扫地机器人的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的基于视觉特征点的扫地机定位方法、系统以及扫地机器人。

本实施例通过设计一种新型的扫地机充电座,在充电座的四个角上设置特殊的几何图形作为视觉标定点,视觉标定点的位置已知,在扫地机中vslam(visualsimultaneouslocalizaitonandmapping,基于视觉的同步定位与地图构建)系统运行的过程中,扫地机中的相机可以识别视觉标定点,由于标定点之间的距离已知,可以为扫地机vslam提供尺度信息。

具体地,如图1所示,本实施例提供了一种基于视觉特征点的扫地机定位方法,所述基于视觉特征点的扫地机定位方法包括以下步骤:

步骤s100,如图2所示,采集充电座200中至少包含两个视觉标定点220的定位面210的图像。

步骤s110,识别所述图像中的视觉标定点220并获取各所述视觉标定点220之间的距离。

步骤s120,根据各所述视觉标定点220之间的距离估计扫地机相对所述充电座200的距离和方位。

以下对本实施例的基于视觉特征点的扫地机定位方法中的上述步骤进行详细说明。

步骤s100,采集充电座200中至少包含两个视觉标定点220的定位面210的图像。

于本实施例中,所述充电座200的定位面210为方形面,所述视觉标定点220位于所述充电座200的定位面210的顶点。

其中,所述视觉标定点220的数量为四个,分别位于所述充电座200的定位面210的四个顶点。

于本实施例中,所述视觉标定点220包括但不限于为方形、圆形、三角形或菱形中的任一种或多种组合。例如图2中,所述视觉标定点220为两个正方形的组合,一个正方形中内置一个填充的正方形。

步骤s110,识别所述图像中的视觉标定点220并获取各所述视觉标定点220之间的距离。

由于所述充电座200的尺寸是已知的,所述视觉标定点220的大小和位置也是已知的,所以在识别所述图像中的视觉标定点220之后,可以获取任意两个所述视觉标定点220之间的距离。

步骤s120,根据各所述视觉标定点220之间的距离估计扫地机相对所述充电座200的距离和方位。

由于相机内部参数(焦距,畸变参数)已知,在根据识别出的所述视觉标定点220在拍摄到图像中的位置,如果成功识别出超过三个视觉标定点,可以使用计算视觉算法直接推算出相机离充电座200的距离和方位。

具体地,以充电座200作为世界坐标系,长边为x轴,短边为y轴,重力轴为z轴。视觉标定点a,b,c,d在世界坐标系下的位置记为(x1,y1,z1),…,(x4,y4,z4),在相片中的位置记为(u1,v1),…,(u4,v4),将两组点和相机内参作为输入,可以使用opencv开源算法中的calib3d模块下的solvepnp函数计算出相机的距离方位,该问题为计算视觉领域已经解决的perspective-n-point问题,是本领域技术人员早已掌握的技术手段,在此不再详述。该问题在特征点数量n>3的情况下存在唯一解,因此充电座上优选为有四个以上的视觉标定点。

于本发明的一实施例中,如图3所示,所述基于视觉特征点的扫地机定位方法还包括:

步骤s130,据各所述视觉标定点之间的距离估计所述扫地机中单目视觉vslam地图定位中的尺度。这样vslam构建地图时的尺度根据已知的视觉标定点220之间的距离进行确定。

在充电座标定点识别成功之前,vslam中的地图尺度未知,只能输出一个相对位置有意义的地图。

在充电座200上的视觉标定点被识别后,视觉标定点在vslam地图坐标系下的位置记为a’,b’,c’,d’。vslam的尺度为世界坐标系下各视觉标定点之间的距离(|ab|,|bc|,…)和vslam坐标系中的距离(|a’b’|,|b’c’|,…)的比值。

如果仅有两个视觉标定点a和b,则vslam尺度为|ab|/|a’b’|。如果有多个视觉标定点,首先找到一个相似变换矩阵将a’,b’,c’,d’与a,b,c,d点对齐(调用opencv中的estimaterigidtransform函数)该变换矩阵为4x3的矩阵t=[sr|t],其中r为3x3的旋转矩阵,s为要估计的尺度,t为3x1的平移向量。根据旋转矩阵的性质,有s2i=rtr;其中i为3x3的单位阵,rt为r的转置矩阵。由上式可以求解出s,即为vslam的尺度。

如图4所示,本发明的实施例还提供一种基于视觉特征点的扫地机定位系统100,所述基于视觉特征点的扫地机定位系统100包括:图像采集模块110,识别模块120、距离获取模块130以及位置估计模块140。

于本实施例中,如图2所示,所述图像采集模块110用于采集充电座200中至少包含两个视觉标定点220的定位面210的图像。

于本实施例中,所述充电座200的定位面210为方形面,所述视觉标定点220位于所述充电座200的定位面210的顶点。

其中,所述视觉标定点220的数量为四个,分别位于所述充电座200的定位面210的四个顶点。

于本实施例中,所述视觉标定点220包括但不限于为方形、圆形、三角形或菱形中的任一种或多种组合。例如图2中,所述视觉标定点220为两个正方形的组合,一个正方形中内置一个填充的正方形。

于本实施例中,所述识别模块120用于识别所述图像中的视觉标定点220。图像识别早已被本领域技术人员所熟知,在此不再详述如何识别所述图像中的视觉标定点220。

于本实施例中,所述距离获取模块130用于获取各所述视觉标定点220之间的距离。

由于所述充电座200的尺寸是已知的,所述视觉标定点220的大小和位置也是已知的,所以在识别所述图像中的视觉标定点220之后,所述距离获取模块130可以获取任意两个所述视觉标定点220之间的距离。

于本实施例中,所述位置估计模块140用于根据各所述视觉标定点220之间的距离估计扫地机相对所述充电座200的距离和方位。

由于相机内部参数(焦距,畸变参数)已知,在根据识别出的所述视觉标定点220在拍摄到图像中的位置,可以使用计算视觉算法推算出相机离充电座200的距离和方位。

具体地,以充电座200作为世界坐标系,长边为x轴,短边为y轴,重力轴为z轴。视觉标定点a,b,c,d在世界坐标系下的位置记为(x1,y1,z1),…,(x4,y4,z4),在相片中的位置记为(u1,v1),…,(u4,v4),将两组点和相机内参作为输入,可以使用opencv开源算法中的calib3d模块下的solvepnp函数计算出相机的距离方位,该问题为计算视觉领域已经解决的perspective-n-point问题,是本领域技术人员早已掌握的技术手段,在此不再详述。该问题在特征点数量n>3的情况下存在唯一解,因此充电座上优选为有四个以上的视觉标定点。

于本实施例中,如图5所示,所述基于视觉特征点的扫地机定位系统100还包括:尺度估计模块150,用于据各所述视觉标定点之间的距离估计所述扫地机中单目视觉vslam地图定位中的尺度。这样vslam构建地图时的尺度根据已知的视觉标定点220之间的距离进行确定。

在充电座标定点识别成功之前,vslam中的地图尺度未知,只能输出一个相对位置有意义的地图。

在充电座200上的视觉标定点被识别后,视觉标定点在vslam地图坐标系下的位置记为a’,b’,c’,d’。vslam的尺度为世界坐标系下各视觉标定点之间的距离(|ab|,|bc|,…)和vslam坐标系中的距离(|a’b’|,|b’c’|,…)的比值。

如果仅有两个视觉标定点a和b,则vslam尺度为|ab|/|a’b’|。如果有多个视觉标定点,首先找到一个相似变换矩阵将a’,b’,c’,d’与a,b,c,d点对齐(调用opencv中的estimaterigidtransform函数)该变换矩阵为4x3的矩阵t=[sr|t],其中r为3x3的旋转矩阵,s为要估计的尺度,t为3x1的平移向量。根据旋转矩阵的性质,有s2i=rtr;其中i为3x3的单位阵,rt为r的转置矩阵。由上式可以求解出s,即为vslam的尺度。

本发明的实施例还提供一种扫地机器人,包括扫地机和充电座200,所述充电座200的定位面210至少包含两个视觉标定点220;所述扫地机包括处理器和存储器,所述存储器存储有程序指令,所述处理器运行程序指令实现如上所述的方法中的步骤。

本实施例中扫地机器人的运行过程如下:

扫地机运行时首先从充电座200后退出来,充电座200上的视觉标定点220会被放置在扫地机前方的摄像头识别出来。

由于相机内部参数(焦距,畸变参数)已知,在根据识别出的视觉标定点220在扫地机前方的摄像头拍摄到图像中的位置,可以使用计算视觉算法推算出相机离充电座200的距离和方位。

在扫地机后退的过程中完成vslam算法的初始化过程,vslam地图的尺度根据已知的视觉标定点220之间的距离进行确定。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的方法中的步骤。

综上所述,本发明在充电座200的四个角上设置特殊的几何图形作为视觉标定点220,视觉标定点220的位置已知,在扫地机中vslam(visualsimultaneouslocalizaitonandmapping,基于视觉的同步定位与地图构建)运行的过程中,相机可以识别视觉标定点220,由于视觉标定点220之间的距离已知,可以推算出相机离充电座200的距离和方位,可以为扫地机中vslam提供尺度信息,可以在不依赖于其他传感器的情况下进行单目vslam算法的尺度初始化,有效解决了单目视觉vslam定位中尺度难以估计的问题。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包括通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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