CN110686676A - 机器人重定位方法、装置及机器人 - Google Patents
机器人重定位方法、装置及机器人 Download PDFInfo
- Publication number
- CN110686676A CN110686676A CN201910865950.3A CN201910865950A CN110686676A CN 110686676 A CN110686676 A CN 110686676A CN 201910865950 A CN201910865950 A CN 201910865950A CN 110686676 A CN110686676 A CN 110686676A
- Authority
- CN
- China
- Prior art keywords
- image
- stored
- robot
- position information
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例适用于机器人技术领域,公开了一种机器人重定位方法、装置、机器人及计算机可读存储介质,其中,方法包括:获取机器人重定位开始时采集的图像;根据预存储图像和所述图像,确定所述机器人的初始位置信息,所述预存储图像为所述机器人正常工作时采集的图像;根据所述初始位置信息进行重定位。本申请实施例通过机器人重定位开始时采集的图像,根据该图像和机器人正常工作时采集的图像,确定机器人的初始位置信息,再利用该初始位置信息进行重定位,相较于现有利用固定初始位置值进行重定位,根据图像比对确定重定位的初始值,使得初始值与实际位置相差不大,提高了重定位速度和重定位准确性。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种机器人重定位方法、装置、机器人及计算机可读存储介质。
背景技术
随着社会的发展和人民生活水平的提高,机器人的应用也越来越广泛。
目前,激光导航机器人利用slam技术对周围环境进行建图和定位,可以实现很高程度的自动导航和控制。但是,如果激光导航机器人在正常工作时被移动到另一个位置,会导致slam不能继续正常工作,因此导致机器人导航和定位失败,这个问题在机器人领域也被称为“机器人绑架问题”。
现有阶段,机器人绑架后重定位一般是基于重定位算法的,例如,自适应蒙特卡洛定位算法。这类重定位算法一般是根据经验值设定固定初始位置,以便于在被移动到另一个位置后进行重新定位。但当该经验值与实际位置相差较远时,往往会出现重定位时间变长,或者导致重定位失败的问题。也就是说,现有的重定位方法的定位速度较慢和定位准确性较低。
发明内容
本申请实施例提供一种机器人重定位方法、装置、机器人及计算机可读存储介质,以解决现有重定位方法的定位速度较慢和定位准确性较低的问题。
第一方面,本申请实施例提供一种机器人重定位方法,包括:
获取机器人重定位开始时采集的图像;
根据预存储图像和所述图像,确定所述机器人的初始位置信息,所述预存储图像为所述机器人正常工作时采集的图像;
根据所述初始位置信息进行重定位。
结合第一方面,在一种可能的实现方式中,所述根据预存储图像和所述图像,确定所述机器人的初始位置信息,包括:
从所述预存储图像中确定是否存在与所述图像相匹配的目标预存储图像;
当存在所述目标预存储图像时,获取与所述目标预存储图像关联的位置信息,将所述位置信息作为所述初始位置信息;
其中,所述位置信息为表征采集所述目标预存储图像时机器人所处位置的信息。
结合第一方面,在一种可能的实现方式中,所述从所述预存储图像中确定是否存在与所述图像相匹配的目标预存储图像,包括:
提取所述图像的第一ORB特征;
基于所述第一ORB特征和各个所述预存储图像对应的第二ORB特征,进行图像匹配,得出匹配结果;
根据所述匹配结果判断是否存在与所述图像相匹配的目标预存储图像。
结合第一方面,在一种可能的实现方式中,获取所述预存储图像和所述位置信息的过程包括:
在机器人正常工作时,获取实时采集的待存储图像,并记录采集所述待存储图像时所述机器人的位置信息;
从所述待存储图像中确定目标待存储图像;
存储所述目标待存储图像,得到所述预存储图像;
建立所述预存储图像和所述位置信息之间的关联关系。
结合第一方面,在一种可能的实现方式中,所述从所述待存储图像中确定目标待存储图像,包括:
计算当前待存储图像与上一目标待存储图像之间的采集时间差;
判断所述采集时间差是否大于或等于预设时间阈值;
当所述采集时间差大于或等于所述预设时间阈值时,将所述当前待存储图像作为所述目标待存储图像。
结合第一方面,在一种可能的实现方式中,所述从所述待存储图像中确定目标待存储图像,包括:
计算当前待存储图像与上一目标待存储图像之间相隔的图像帧数量;
判断所述图像帧数量是否大于或等于预设数量阈值;
当所述图像帧数量大于或等于所述预设数量阈值时,将所述当前待存储图像作为所述目标待存储图像。
结合第一方面,在一种可能的实现方式中,所述根据所述初始位置信息进行重定位,包括:
将所述初始位置信息作为自适应蒙特卡洛定位算法的粒子滤波器的初始值,执行自适应蒙特卡洛定位算法,重新定位所述机器人的位置。
结合第一方面,在一种可能的实现方式中,所述将所述初始位置信息作为自适应蒙特卡洛定位算法的粒子滤波器的初始值,执行自适应蒙特卡洛定位算法,重新定位所述机器人的位置,包括:
根据所述初始位置信息,初始化粒子群;
基于初始化后的粒子群,通过机器人运动模型模拟粒子运动,以随机生成待选位置;
通过行为测量模型确定各个粒子的重要性权重;
根据所述重要性权重进行粒子群重采样,获得重采样后的粒子群;
根据所述重采样后的粒子群,计算经验测量似然,并维持短期似然评价和长期似然评价;
获得所述机器人重新定位的位置。
结合第一方面,在一种可能的实现方式中,在粒子群重采样阶段,当所述长期似然评价小于或等于所述短期似然评价时,不增加随机采样,当所述长期似然评价大于所述短期似然时,以所述长期似然评价和所述短期似然评价的比值增加随机采样。
第二方面,本申请实施例提供一种机器人重定位装置,包括:
图像获取模块,用于获取机器人重定位开始时采集的图像;
初始位置确定模块,用于根据预存储图像和所述图像,确定所述机器人的初始位置信息,所述预存储图像为所述机器人正常工作时采集的图像;
重定位模块,用于根据所述初始位置信息进行重定位。
结合第二方面,在一种可能的实现方式中,所述初始位置确定模块包括:
确定单元,用于从所述预存储图像中确定是否存在与所述图像相匹配的目标预存储图像;
位置信息获取单元,用于当存在所述目标预存储图像时,获取与所述目标预存储图像关联的位置信息,将所述位置信息作为所述初始位置信息;
其中,所述位置信息为表征采集所述目标预存储图像时机器人所处位置的信息。
结合第二方面,在一种可能的实现方式中,所述确定单元包括:
特征提取子单元,用于提取所述图像的第一ORB特征;
匹配子单元,用于基于所述第一ORB特征和各个所述预存储图像对应的第二ORB特征,进行图像匹配,得出匹配结果;
判断子单元,用于根据所述匹配结果判断是否存在与所述图像相匹配的目标预存储图像。
结合第二方面,在一种可能的实现方式中,还包括:
记录模块,用于在机器人正常工作时,获取实时采集的待存储图像,并记录采集所述待存储图像时所述机器人的位置信息;
确定模块,用于从所述待存储图像中确定目标待存储图像;
存储模块,用于存储所述目标待存储图像,得到所述预存储图像;
建立模块,用于建立所述预存储图像和所述位置信息之间的关联关系。
结合第二方面,在一种可能的实现方式中,所述确定模块包括:
时间差计算单元,用于计算当前待存储图像与上一目标待存储图像之间的采集时间差;
第一判断单元,用于判断所述采集时间差是否大于或等于预设时间阈值;
第一作为单元,用于当所述采集时间差大于或等于所述预设时间阈值时,将所述当前待存储图像作为所述目标待存储图像。
结合第二方面,在一种可能的实现方式中,所述确定模块包括:
帧数据计算单元,用于计算当前待存储图像与上一目标待存储图像之间相隔的图像帧数量;
第二判断单元,用于判断所述图像帧数量是否大于或等于预设数量阈值;
第二作为单元,用于当所述图像帧数量大于或等于所述预设数量阈值时,将所述当前待存储图像作为所述目标待存储图像。
结合第二方面,在一种可能的实现方式中,所述重定位模块包括:
自适应蒙特卡洛定位单元,用于将所述初始位置信息作为自适应蒙特卡洛定位算法的粒子滤波器的初始值,执行自适应蒙特卡洛定位算法,重新定位所述机器人的位置。
结合第二方面,在一种可能的实现方式中,所述重定位模块具体用于:
根据所述初始位置信息,初始化粒子群;
基于初始化后的粒子群,通过机器人运动模型模拟粒子运动,以随机生成待选位置;
通过行为测量模型确定各个粒子的重要性权重;
根据所述重要性权重进行粒子群重采样,获得重采样后的粒子群;
根据所述重采样后的粒子群,计算经验测量似然,并维持短期似然评价和长期似然评价;
获得所述机器人重新定位的位置。
结合第二方面,在一种可能的实现方式中,在粒子群重采样阶段,当所述长期似然评价小于或等于所述短期似然评价时,不增加随机采样,当所述长期似然评价大于所述短期似然时,以所述长期似然评价和所述短期似然评价的比值增加随机采样。
第三方面,本申请实施例提供一种机器人,包括机器人主体、驱动轮、图像采集装置、存储器、控制器以及存储在所述存储器中并可在所述控制器上运行的计算机程序,所述驱动轮与所述机器人主体连接,所述图像采集装置与所述控制器连接,所述控制器执行所述计算机程序时实现如上述第一方面任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被控制器执行时实现如上述第一方面任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述第一方面中任一项所述的方法。
本申请实施例通过机器人重定位开始时采集的图像,根据该图像和机器人正常工作时采集的图像,确定机器人的初始位置信息,再利用该初始位置信息进行重定位,相较于现有利用固定初始位置值进行重定位,根据图像比对确定重定位的初始值,使得初始值与实际位置相差不大,提高了重定位速度和重定位准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种机器人重定位方法的流程示意框图;
图2为本申请实施例提供的初始位置信息确定过程的具体实现流程示意框图;
图3为本申请实施例提供的匹配过程的流程示意框图;
图4为本申请实施例提供的AMCL算法的流程示意框图;
图5为本申请实施例提供的获取预存储图像和位置信息的过程的流程示意框图;
图6为本申请实施例提供的目标待存储图像确定过程的流程示意框图;
图7为本申请实施例提供的目标待存储图像确定过程的另一种流程示意框图;
图8为本申请实施例提供的一种机器人重定位装置的结构示意框图;
图9为本申请实施例提供的机器人的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的机器人重定位方案可以应用于机器人上,该机器人可以为但不限于扫地机器人。
在扫地机器人室内扫地场景下,当扫地机器人在A点进行正常工作时,被人为搬运至B点,室内B点相对于扫地机器人而言为陌生环境。此时,扫地机器人可以通过执行本申请实施例提供的重定位方案进行重定位。
当然,本申请实施例的机器人重定位方案也可以应用于其他类型的机器人和其他场景,本申请实施例对机器人的具体类型和具体应用场景不作任何限制。
在介绍完本申请实施例可能涉及的场景之后,下面将对本申请实施例的技术方案进行具体介绍,为了更好地介绍本申请实施例的技术方案,下面将通过具体实施例进行介绍说明。
实施例一
请参见图1,为本申请实施例提供的一种机器人重定位方法的流程示意框图,该方法可以包括以下步骤:
步骤S101、获取机器人重定位开始时采集的图像。
需要说明的是,上述图像是指机器人被“绑架”后开启重定位时采集的图像,该图像可以通过机器人的摄像头拍摄周围环境得到,该图像包含机器人所处位置的周围环境信息。
步骤S102、根据预存储图像和图像,确定机器人的初始位置信息,预存储图像为机器人正常工作时采集的图像。
需要说明的是,上述预存储图像是指机器人正常工作时采集并存储得到图像,该图像内包含周围环境信息。在一些情况下,机器人可以将实时采集的图像均作为上述预存储图像,但是,这样可能会由于图像数量过多而耗费大量存储资源,图像数量过多也会降低后续的图像匹配效率。为了提高图像匹配效率,可以从实时采集得到的图像中选取对应的关键帧,将关键帧作为上述预存储图像。
机器人在实时采集图像的同时,也会实时记录所采集的每一幅图像时机器人所处的实时位置信息。例如,某一时刻采集到一帧预存储图像,同时记录该时刻的机器人位置信息。采集得到预存储图像和对应的位置信息之后,建立图像和对应的位置信息直接的对应关系,便于通过图像查找到对应的位置信息。例如,某一时刻的预存储图像为Vi,该时刻的机器人位置信息为Pi,则保存为(Vi,Pi)。
具体地,将重定位开始时采集的图像分别与每一幅预存储图像进行匹配,判断是否存在与重定位开始时采集的图像相匹配的预存储图像,如果存在,则根据匹配的预存储图像查找关联的位置信息,将查找到的位置信息作为机器人重定为的初始位置信息。
可以理解的是,根据图像匹配动态给定重定位的初始位置信息,而不是给定固定初始位置信息,这样可以避免所给定的固定初始位置和机器人的实际位置相差较远,从而导致重定位耗时较长或重定位失败的问题。
在一些实施例中,参见图2示出的初始位置信息确定过程的具体实现流程示意框图,上述根据预存储图像和图像,确定机器人的初始位置信息的具体过程可以包括:
步骤S201、从预存储图像中确定是否存在与图像相匹配的目标预存储图像。当存在目标预存储图像时,进入步骤S202。反之,当不存在目标预存储图像时,则重新获取图像,根据获取的图像重新进行匹配。
需要说明的是,上述目标预存储图像是指与图像相匹配的预存储图像。而图像匹配过程可以采用任意的图像匹配算法,在此不作限定。
进一步地,参见图3示出的匹配过程的流程示意框图,上述从预存储图像中确定是否存在与图像相匹配的目标预存储图像的过程可以包括:
步骤S301、提取图像的第一ORB特征。
步骤S302、基于第一ORB特征和各个预存储图像对应的第二ORB特征,进行图像匹配,得出匹配结果。
需要说明的是,上述预存储图像的第二ORB特征可以是匹配过程中提取,即在图像匹配过程中,提取图像的第一ORB特征和各个预存储图像的第二ORB特征;也可以是预先提取的,并与对应的预存储图像关联。
其中,ORB特征提取算法的具体过程为:利用FAST焦点检测算法来提取图像上面的FAST关键点,这些关键点可以通过像素中心点与周围9个图像像素点进行亮度对比得来;然后建立一个金字塔空间,测量每个FAST的Harris角点值后进行排序;选择最前面M个满足条件的特征点。
为了计算特征点的方向,假定特征点周围图像块m描述如下:
mpq=∑xpyqI(x,y)
式中I(x,y)为图像上任一点的像素值,p/q的值为0或1。
定义亮度质点C,通过如下公式获得:
θ=atan 2(m01,m10)
在提取出各个图像的特征点之后,可以基于ORB特征点进行图像匹配。所采用的匹配算法可以是任意的。例如,基于ORB特征点,使用RANSAC算法进行图像匹配。
以3-point RANSAC算法为例,其具体过程为:对于待匹配的两帧图像,基于第一ORB特征点和每一幅预存储图像上相应的第二ORB特征点,根据像素个数和旋转向量Rθ算出两帧之间的位姿关系,对所有待匹配的图像执行相应操作,得出相应的匹配结果。
需要说明的是,上述匹配结果可以具体为但不限于相对应ORB特征点的Harris角点值。
步骤S303、根据匹配结果判断是否存在与图像相匹配的目标预存储图像。
具体地,当匹配结果为相对应ORB特征点的Harris角点值时,当Harris角点值小于预先阈值,则认为两个特征点匹配;当两幅图像中匹配的特征点个数超过预设个数阈值时,该预设个数阈值例如为图像特征点总数的80%,则认为两幅图像匹配。
步骤S202、获取与目标预存储图像关联的位置信息,将位置信息作为初始位置信息;其中,位置信息为表征采集目标预存储图像时机器人所处位置的信息。
具体地,在确定出与图像匹配的目标预存储图像之后,可以根据预存储图像与位置信息的关联关系,查找出对应的位置信息,将该位置信息作为机器人重定位的初始位置值。
步骤S103、根据初始位置信息进行重定位。
具体地,在确定出机器人重定位的初始位置值之后,则可以将初始位置信息作为对应定位算法的初始值,执行对应的重定位算法,以对机器人机械能重定位。
其中,重定位算法可以是任意的,在此不作限定。例如,重定位算法为自适应蒙特卡洛定位(adaptive Monte Carlo Localization,AMCL)算法。
在一些实施例中,当重定位算法为AMCL算法时,上述根据初始位置信息进行重定位的过程可以具体为:将初始位置信息作为自适应蒙特卡洛定位算法的粒子滤波器的初始值,执行自适应蒙特卡洛定位算法,重新定位机器人的位置。
可以理解的是,相较于现有AMCL算法中的初始位置值设置为固定值,本实施例将通过图像匹配动态确定的位置信息作为AMCL算法的初始位置值,使得重定位的初始位置与实际位置相差不大,可以提高重定位速度和重定位准确性。下面将对AMCL算法的相关过程进行介绍。
参见图4示出的AMCL算法的流程示意框图,上述将初始位置信息作为自适应蒙特卡洛定位算法的粒子滤波器的初始值,执行自适应蒙特卡洛定位算法,重新定位机器人的位置的具体过程可以包括:
步骤S401、根据初始位置信息,初始化粒子群。
具体地,通过高斯分布随机采样的方法,初始化粒子群。其中,使用M个粒子的集合表示置信度bel(xt)。φ为粒子滤波器的初始位置,在本实施例中,将φ的初始值设置为上述初始位置信息,该初始位置信息是通过图像比对确定出来的。而现有技术中的φ初始值一般为经验值。
步骤S402、基于初始化后的粒子群,通过机器人运动模型模拟粒子运动,以随机生成待选位置。
可以理解的是,上述待选位置是指机器人可能运动到的位置。具体地,通过卡尔曼滤波为机器人运动建模,然后基于建立的运动模型,机器人从当前置信度开始,随机生成可能运动到的位置。
步骤S403、通过行为测量模型确定各个粒子的重要性权重。
步骤S404、根据重要性权重进行粒子群重采样,获得重采样后的粒子群。
应理解,粒子的重要性权重越低,偏离可能位置的可能性越大,对于这些粒子需要舍弃;反之,粒子的重要性权重很高且和很接近(比如传感器读数与地图吻合度80%以上的粒子),对于这些粒子需要保留下来。具体操作中,可以直接将重要性权重过低的粒子舍弃,对重要性权重高的粒子进行复制,重采样之后保持粒子群数量基本不变。
步骤S405、根据重采样后的粒子群,计算经验测量似然,并维持短期似然评价和长期似然评价。
其中,AMCL要求0≤αslow≤αfast,αslow和αfast分别为估计长期似然评价和短期似然评价的衰减率。
在粒子群重采样阶段,随机采样以的概率增加,即,增加随机采样的概率要考虑短期似然评价和长期似然评价,当长期似然评价小于或等于短期似然评价时,不增加随机采样,当长期似然评价大于短期似然时,以长期似然评价和短期似然评价的比值增加随机采样。
通过这样的指数平滑方法,抵消了测量似然的突然衰减引起随机采样数目的增加。加快粒子群的收敛,在对所有粒子都确定重要性权重后,以重要性权重最高的粒子作为机器人的实际位置,使得机器人更加快速地完成重定位。
步骤S406、获得机器人重新定位的位置。应当理解,AMCL算法的过程已被本领域技术人员所熟知,本实施例仅示出了相关部分
可见,本实施例通过机器人重定位开始时采集的图像,根据该图像和机器人正常工作时采集的图像,确定机器人的初始位置信息,再利用该初始位置信息进行重定位,相较于现有利用固定初始位置值进行重定位,根据图像比对确定重定位的初始值,使得初始值与实际位置相差不大,提高了重定位速度和重定位准确性。
实施例二
本实施例将预存储图像和位置信息的获取过程进行介绍说明。
基于上述实施例一,参见图5示出的获取预存储图像和位置信息的过程的流程示意框图,获取预存储图像和位置信息的过程具体包括:
步骤S501、在机器人正常工作时,获取实时采集的待存储图像,并记录采集待存储图像时机器人的位置信息。
例如,某一时刻的预存储图像为Vi,该时刻的机器人位置信息为Pi,则保存为(Vi,Pi)。
其中,机器人的位置信息可以通过激光SLAM算法输出。
步骤S502、从待存储图像中确定目标待存储图像。
在一些实施例中,参见图6示出的目标待存储图像确定过程的流程示意框图,上述从待存储图像中确定目标待存储图像的过程具体包括:
步骤S601、计算当前待存储图像与上一目标待存储图像之间的采集时间差;
步骤S602、判断采集时间差是否大于或等于预设时间阈值;采集时间差大于或等于预设时间阈值时,进入步骤S603,反之,当采集时间差小于预设时间阈值时,则返回步骤S601。
步骤S603、将当前待存储图像作为目标待存储图像。
需要说明的是,上述预设时间阈值可以根据需要进行设定。例如,上述预设时间阈值为0.5秒,即每个0.5秒则将摄像头采集的图像作为目标待存储图像。
在另一些实施例中,参见图7示出的目标待存储图像确定过程的流程示意框图,上述从待存储图像中确定目标待存储图像的过程具体包括:
步骤S701、计算当前待存储图像与上一目标待存储图像之间相隔的图像帧数量。
步骤S702、判断图像帧数量是否大于或等于预设数量阈值;当图像帧数量大于或等于预设数量阈值时,进入步骤S703,反之,当图像帧数量小于预设数量阈值时,则返回步骤S701。
步骤S703、将当前待存储图像作为目标待存储图像。
需要说明的是,上述预设数量阈值可以根据需求进行设定,例如,该预设数量阈值为20,即当前待存储图像距离上一帧目标待存储图像相距20帧时,则可以将当前待存储图像作为目标待存储图像。
当然,本申请实施例中,确定目标待存储图像的方式不限于上文示出的两种方式,还可以为其他方式,例如,根据当前待存储图像和选取的参考帧之间的特征相似度大小确定目标待存储图像,在此不对目标待存储图像的确定方式作任何限定。
步骤S503、存储目标待存储图像,得到预存储图像。
步骤S504、建立预存储图像和位置信息之间的关联关系。
可见,机器人从采集得到的图像中选取目标待存储图像,并保证两帧目标待存储图像之间不会大量的冗余信息,相较于不选取目标待存储图像,其提高了图像匹配效率,从而提高了重定位速度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例三
请参见图8,为本申请实施例提供的一种机器人重定位装置的结构示意框图,该装置可以包括:
图像获取模块81,用于获取机器人重定位开始时采集的图像;
初始位置确定模块82,用于根据预存储图像和图像,确定机器人的初始位置信息,预存储图像为机器人正常工作时采集的图像;
重定位模块83,用于根据初始位置信息进行重定位。
在一种可能的实现方式中,上述初始位置确定模块可以包括:
确定单元,用于从预存储图像中确定是否存在与图像相匹配的目标预存储图像;
位置信息获取单元,用于当存在目标预存储图像时,获取与目标预存储图像关联的位置信息,将位置信息作为初始位置信息;
其中,位置信息为表征采集目标预存储图像时机器人所处位置的信息。
在一种可能的实现方式中,上述确定单元可以包括:
特征提取子单元,用于提取图像的第一ORB特征;
匹配子单元,用于基于第一ORB特征和各个预存储图像对应的第二ORB特征,进行图像匹配,得出匹配结果;
判断子单元,用于根据匹配结果判断是否存在与图像相匹配的目标预存储图像。
在一种可能的实现方式中,上述装置还可以包括:
记录模块,用于在机器人正常工作时,获取实时采集的待存储图像,并记录采集待存储图像时机器人的位置信息;
确定模块,用于从待存储图像中确定目标待存储图像;
存储模块,用于存储目标待存储图像,得到预存储图像;
建立模块,用于建立预存储图像和位置信息之间的关联关系。
在一种可能的实现方式中,上述确定模块可以包括:
时间差计算单元,用于计算当前待存储图像与上一目标待存储图像之间的采集时间差;
第一判断单元,用于判断采集时间差是否大于或等于预设时间阈值;
第一作为单元,用于当采集时间差大于或等于预设时间阈值时,将当前待存储图像作为目标待存储图像。
在一种可能的实现方式中,上述确定模块可以包括:
帧数据计算单元,用于计算当前待存储图像与上一目标待存储图像之间相隔的图像帧数量;
第二判断单元,用于判断图像帧数量是否大于或等于预设数量阈值;
第二作为单元,用于当图像帧数量大于或等于预设数量阈值时,将当前待存储图像作为目标待存储图像。
在一种可能的实现方式中,上述重定位模块可以包括:
自适应蒙特卡洛定位单元,用于将初始位置信息作为自适应蒙特卡洛定位算法的粒子滤波器的初始值,执行自适应蒙特卡洛定位算法,重新定位机器人的位置。
在一种可能的实现方式中,重定位模块具体用于:根据初始位置信息,初始化粒子群;基于初始化后的粒子群,通过机器人运动模型模拟粒子运动,以随机生成待选位置;通过行为测量模型确定各个粒子的重要性权重;根据重要性权重进行粒子群重采样,获得重采样后的粒子群;根据重采样后的粒子群,计算经验测量似然,并维持短期似然评价和长期似然评价;
获得机器人重新定位的位置。
在一种可能的实现方式中,在粒子群重采样阶段,当长期似然评价小于或等于短期似然评价时,不增加随机采样,当长期似然评价大于短期似然时,以长期似然评价和短期似然评价的比值增加随机采样。
需要说明的是,本实施例提供的机器人重定位装置与上述各个实施例的机器人重定位方法一一对应,相关介绍请参见上文相应内容,在此不再赘述。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例四
图9为本申请一实施例提供的机器人的结构示意图。如图9所示,该实施例的机器人9包括:至少一个处理器90、存储器91以及存储在所述存储器91中并可在所述至少一个处理器90上运行的计算机程序92,所述处理器90执行所述计算机程序92时实现上述任意各个机器人重定位方法实施例中的步骤。当然,上述机器人还包括机器人本体93、驱动轮94以及图像采集者装置95,机器人本体与驱动轮机械连接,图像采集装置与控制器通信连接。图像采集装置具体可以设置于机器人本体上,该图像采集装置可以为但不限于摄像头模组。
所述机器人9可以是任意类型的机器人,例如为扫地机器人。该机器人可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是机器人9的举例,并不构成对机器人9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。例如,当机器人为扫地机器人时,其还可以包括行走机构、环境传感器和清扫机构等。本实施例不对机器人的具体类型和具体结构做任何限定。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),该处理器90还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91在一些实施例中可以是所述机器人9的内部存储单元,例如机器人9的硬盘或内存。所述存储器91在另一些实施例中也可以是所述机器人9的外部存储设备,例如所述机器人9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述机器人9的内部存储单元也包括外部存储设备。所述存储器91用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置、机器人和重定位方法,可以通过其它的方式实现。例如,以上所描述的装置、机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种机器人重定位方法,其特征在于,包括:
获取机器人重定位开始时采集的图像;
根据预存储图像和所述图像,确定所述机器人的初始位置信息,所述预存储图像为所述机器人正常工作时采集的图像;
根据所述初始位置信息进行重定位。
2.如权利要求1所述的机器人重定位方法,其特征在于,所述根据预存储图像和所述图像,确定所述机器人的初始位置信息,包括:
从所述预存储图像中确定是否存在与所述图像相匹配的目标预存储图像;
当存在所述目标预存储图像时,获取与所述目标预存储图像关联的位置信息,将所述位置信息作为所述初始位置信息;
其中,所述位置信息为表征采集所述目标预存储图像时机器人所处位置的信息。
3.如权利要求2所述的机器人重定位方法,其特征在于,所述从所述预存储图像中确定是否存在与所述图像相匹配的目标预存储图像,包括:
提取所述图像的第一ORB特征;
基于所述第一ORB特征和各个所述预存储图像对应的第二ORB特征,进行图像匹配,得出匹配结果;
根据所述匹配结果判断是否存在与所述图像相匹配的目标预存储图像。
4.如权利要求2所述的机器人重定位方法,其特征在于,获取所述预存储图像和所述位置信息的过程包括:
在机器人正常工作时,获取实时采集的待存储图像,并记录采集所述待存储图像时所述机器人的位置信息;
从所述待存储图像中确定目标待存储图像;
存储所述目标待存储图像,得到所述预存储图像;
建立所述预存储图像和所述位置信息之间的关联关系。
5.如权利要求4所述的机器人重定位方法,其特征在于,所述从所述待存储图像中确定目标待存储图像,包括:
计算当前待存储图像与上一目标待存储图像之间的采集时间差;
判断所述采集时间差是否大于或等于预设时间阈值;
当所述采集时间差大于或等于所述预设时间阈值时,将所述当前待存储图像作为所述目标待存储图像。
6.如权利要求4所述的机器人重定位方法,其特征在于,所述从所述待存储图像中确定目标待存储图像,包括:
计算当前待存储图像与上一目标待存储图像之间相隔的图像帧数量;
判断所述图像帧数量是否大于或等于预设数量阈值;
当所述图像帧数量大于或等于所述预设数量阈值时,将所述当前待存储图像作为所述目标待存储图像。
7.如权利要求1至6任一项所述的机器人重定位方法,其特征在于,所述根据所述初始位置信息进行重定位,包括:
将所述初始位置信息作为自适应蒙特卡洛定位算法的粒子滤波器的初始值,执行自适应蒙特卡洛定位算法,重新定位所述机器人的位置。
8.如权利要求7所述的机器人重定位方法,其特征在于,所述将所述初始位置信息作为自适应蒙特卡洛定位算法的粒子滤波器的初始值,执行自适应蒙特卡洛定位算法,重新定位所述机器人的位置,包括:
根据所述初始位置信息,初始化粒子群;
基于初始化后的粒子群,通过机器人运动模型模拟粒子运动,以随机生成待选位置;
通过行为测量模型确定各个粒子的重要性权重;
根据所述重要性权重进行粒子群重采样,获得重采样后的粒子群;
根据所述重采样后的粒子群,计算经验测量似然,并维持短期似然评价和长期似然评价;
获得所述机器人重新定位的位置。
9.如权利要求8所述的机器人重定位方法,其特征在于,在粒子群重采样阶段,当所述长期似然评价小于或等于所述短期似然评价时,不增加随机采样,当所述长期似然评价大于所述短期似然时,以所述长期似然评价和所述短期似然评价的比值增加随机采样。
10.一种机器人,包括机器人主体、驱动轮、图像采集装置、存储器、控制器以及存储在所述存储器中并可在所述控制器上运行的计算机程序,所述驱动轮与所述机器人主体连接,所述图像采集装置与所述控制器连接,其特征在于,所述控制器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865950.3A CN110686676A (zh) | 2019-09-12 | 2019-09-12 | 机器人重定位方法、装置及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865950.3A CN110686676A (zh) | 2019-09-12 | 2019-09-12 | 机器人重定位方法、装置及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110686676A true CN110686676A (zh) | 2020-01-14 |
Family
ID=69109106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910865950.3A Pending CN110686676A (zh) | 2019-09-12 | 2019-09-12 | 机器人重定位方法、装置及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110686676A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352425A (zh) * | 2020-03-16 | 2020-06-30 | 北京猎户星空科技有限公司 | 一种导航系统、方法、装置、电子设备及介质 |
CN111765884A (zh) * | 2020-06-18 | 2020-10-13 | 北京海益同展信息科技有限公司 | 机器人重定位方法、装置、电子设备及存储介质 |
CN111895990A (zh) * | 2020-07-14 | 2020-11-06 | 武汉科技大学 | 一种基于多指标绑架检测及移动机器人重定位的方法 |
CN112686951A (zh) * | 2020-12-07 | 2021-04-20 | 深圳乐动机器人有限公司 | 用于确定机器人位置的方法、装置、终端及存储介质 |
CN112767476A (zh) * | 2020-12-08 | 2021-05-07 | 中国科学院深圳先进技术研究院 | 一种快速定位系统、方法及应用 |
CN113111213A (zh) * | 2021-04-23 | 2021-07-13 | 大同市巴什卡机械制造有限公司 | 一种仓储系统自动存储物品方法及装置 |
CN113478488A (zh) * | 2021-07-14 | 2021-10-08 | 上海擎朗智能科技有限公司 | 机器人重定位方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106092104A (zh) * | 2016-08-26 | 2016-11-09 | 深圳微服机器人科技有限公司 | 一种室内机器人的重定位方法及装置 |
CN107357286A (zh) * | 2016-05-09 | 2017-11-17 | 两只蚂蚁公司 | 视觉定位导航装置及其方法 |
CN108717710A (zh) * | 2018-05-18 | 2018-10-30 | 京东方科技集团股份有限公司 | 室内环境下的定位方法、装置及系统 |
CN108759844A (zh) * | 2018-06-07 | 2018-11-06 | 科沃斯商用机器人有限公司 | 机器人重定位与环境地图构建方法、机器人及存储介质 |
CN109682382A (zh) * | 2019-02-28 | 2019-04-26 | 电子科技大学 | 基于自适应蒙特卡洛和特征匹配的全局融合定位方法 |
-
2019
- 2019-09-12 CN CN201910865950.3A patent/CN110686676A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357286A (zh) * | 2016-05-09 | 2017-11-17 | 两只蚂蚁公司 | 视觉定位导航装置及其方法 |
CN106092104A (zh) * | 2016-08-26 | 2016-11-09 | 深圳微服机器人科技有限公司 | 一种室内机器人的重定位方法及装置 |
CN108717710A (zh) * | 2018-05-18 | 2018-10-30 | 京东方科技集团股份有限公司 | 室内环境下的定位方法、装置及系统 |
CN108759844A (zh) * | 2018-06-07 | 2018-11-06 | 科沃斯商用机器人有限公司 | 机器人重定位与环境地图构建方法、机器人及存储介质 |
CN109682382A (zh) * | 2019-02-28 | 2019-04-26 | 电子科技大学 | 基于自适应蒙特卡洛和特征匹配的全局融合定位方法 |
Non-Patent Citations (2)
Title |
---|
王靖淇: "移动机器人基于激光雷达的定位与导航技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
赵矿军: "基于RGB-D摄像机的室内三维彩色点云地图构建", 《哈尔滨商业大学学报(自然科学版)》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352425A (zh) * | 2020-03-16 | 2020-06-30 | 北京猎户星空科技有限公司 | 一种导航系统、方法、装置、电子设备及介质 |
CN111352425B (zh) * | 2020-03-16 | 2024-02-09 | 北京猎户星空科技有限公司 | 一种导航系统、方法、装置、电子设备及介质 |
CN111765884A (zh) * | 2020-06-18 | 2020-10-13 | 北京海益同展信息科技有限公司 | 机器人重定位方法、装置、电子设备及存储介质 |
CN111895990A (zh) * | 2020-07-14 | 2020-11-06 | 武汉科技大学 | 一种基于多指标绑架检测及移动机器人重定位的方法 |
CN111895990B (zh) * | 2020-07-14 | 2022-04-15 | 武汉科技大学 | 一种基于多指标绑架检测及移动机器人重定位的方法 |
CN112686951A (zh) * | 2020-12-07 | 2021-04-20 | 深圳乐动机器人有限公司 | 用于确定机器人位置的方法、装置、终端及存储介质 |
CN112767476A (zh) * | 2020-12-08 | 2021-05-07 | 中国科学院深圳先进技术研究院 | 一种快速定位系统、方法及应用 |
CN112767476B (zh) * | 2020-12-08 | 2024-04-26 | 中国科学院深圳先进技术研究院 | 一种快速定位系统、方法及应用 |
CN113111213A (zh) * | 2021-04-23 | 2021-07-13 | 大同市巴什卡机械制造有限公司 | 一种仓储系统自动存储物品方法及装置 |
CN113111213B (zh) * | 2021-04-23 | 2023-07-21 | 大同市巴什卡机械制造有限公司 | 一种仓储系统自动存储物品方法及装置 |
CN113478488A (zh) * | 2021-07-14 | 2021-10-08 | 上海擎朗智能科技有限公司 | 机器人重定位方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110686676A (zh) | 机器人重定位方法、装置及机器人 | |
CN110866496B (zh) | 基于深度图像的机器人定位与建图方法和装置 | |
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN110246147B (zh) | 视觉惯性里程计方法、视觉惯性里程计装置及移动设备 | |
CN110378837B (zh) | 基于鱼眼摄像头的目标检测方法、装置和存储介质 | |
CN111445526A (zh) | 一种图像帧之间位姿的估计方法、估计装置和存储介质 | |
CN108776976B (zh) | 一种同时定位与建图的方法、系统及存储介质 | |
WO2021174789A1 (zh) | 基于特征提取的图像识别方法及图像识别装置 | |
CN110866497B (zh) | 基于点线特征融合的机器人定位与建图方法和装置 | |
CN112257696B (zh) | 视线估计方法及计算设备 | |
WO2011161579A1 (en) | Method, apparatus and computer program product for providing object tracking using template switching and feature adaptation | |
CN110349212B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN110443245B (zh) | 一种非限制场景下的车牌区域的定位方法、装置及设备 | |
CN112198878B (zh) | 一种即时地图构建方法、装置、机器人及存储介质 | |
CN113763466B (zh) | 一种回环检测方法、装置、电子设备和存储介质 | |
CN113112542A (zh) | 一种视觉定位方法、装置、电子设备及存储介质 | |
CN110738078A (zh) | 一种人脸识别方法及终端设备 | |
WO2024087962A1 (zh) | 车厢姿态识别系统、方法、电子设备及存储介质 | |
CN115223135B (zh) | 车位跟踪方法、装置、车辆及存储介质 | |
CN110111341B (zh) | 图像前景获取方法、装置及设备 | |
CN112907657A (zh) | 一种机器人重定位方法、装置、设备及存储介质 | |
CN117274370A (zh) | 三维位姿确定方法、装置、电子设备和介质 | |
CN115115530B (zh) | 一种图像去模糊的方法、装置、终端设备及介质 | |
CN117218171A (zh) | 深度估计模型优化与物体距离检测方法及相关设备 | |
CN111540016B (zh) | 基于图像特征匹配的位姿计算方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200114 |
|
RJ01 | Rejection of invention patent application after publication |