机器人重定位方法、装置、计算机可读存储介质及机器人论文和设计-刘志超

全文摘要

本发明属于计算机技术领域,尤其涉及一种机器人重定位方法、装置、计算机可读存储介质及机器人。所述方法获取激光地图中的物体级别特征,并计算对应的第一位姿列表;获取机器人重定位的初始位置,并计算所述物体级别特征与所述初始位置之间的距离;若小于距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;将所述激光子图点云拼接为子图,并进行多目标模板匹配,得到第一匹配候选结果;根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果;确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

主设计要求

1.一种机器人重定位方法,其特征在于,包括:获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表,所述物体级别特征为用户在所述激光地图中用矩形框选取的一处区域,所述区域所对应的环境是不变化的;获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果;根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果,即加入了对于所述物体级别特征的考虑,对所述第一匹配候选结果进行筛选,从而获得高可信度的匹配候选结果,也即所述第二匹配候选结果;确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果;若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

设计方案

1.一种机器人重定位方法,其特征在于,包括:

获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表,所述物体级别特征为用户在所述激光地图中用矩形框选取的一处区域,所述区域所对应的环境是不变化的;

获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;

若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;

将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果;

根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果,即加入了对于所述物体级别特征的考虑,对所述第一匹配候选结果进行筛选,从而获得高可信度的匹配候选结果,也即所述第二匹配候选结果;

确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果;

若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

2.根据权利要求1所述的机器人重定位方法,其特征在于,所述将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果包括:

使用高斯-牛顿算法将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

3.根据权利要求1所述的机器人重定位方法,其特征在于,所述将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表包括:

使用最近点迭代算法将所述激光子图点云与所述第一位姿列表进行匹配,得到所述第二位姿列表。

4.根据权利要求1至3中任一项所述的机器人重定位方法,其特征在于,在进行多目标模板匹配时,还包括:

使用图像金字塔对所述多目标模板匹配进行加速。

5.一种机器人重定位装置,其特征在于,包括:

第一列表计算模块,用于获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表,所述物体级别特征为用户在所述激光地图中用矩形框选取的一处区域,所述区域所对应的环境是不变化的;

距离计算模块,用于获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;

第二列表计算模块,用于若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;

模板匹配模块,用于将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果;

结果筛选模块,用于根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果,即加入了对于所述物体级别特征的考虑,对所述第一匹配候选结果进行筛选,从而获得高可信度的匹配候选结果,也即所述第二匹配候选结果;

第一重定位模块,用于确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果;

第二重定位模块,用于若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

6.一种机器人重定位装置,其特征在于,包括:静态物体模板模块、静态物体识别模块、粗定位模块和精定位模块;

所述静态物体模板模块获取激光地图中的物体级别特征,计算与所述物体级别特征对应的第一位姿列表,并将所述第一位姿列表发送至所述静态物体识别模块,所述物体级别特征为用户在所述激光地图中用矩形框选取的一处区域,所述区域所对应的环境是不变化的;

所述静态物体识别模块获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;

若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则所述静态物体识别模块将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表,并将所述第二位姿列表发送至所述精定位模块;

所述粗定位模块将激光子图点云拼接为子图,以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果,并将所述第一匹配候选结果发送至所述精定位模块;

所述精定位模块在接收到所述第二位姿列表和所述第一匹配候选结果之后,根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果,即加入了对于所述物体级别特征的考虑,对所述第一匹配候选结果进行筛选,从而获得高可信度的匹配候选结果,也即所述第二匹配候选结果;确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果;

若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则所述精定位模块在接收到所述第一匹配候选结果之后,确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至4中任一项所述的机器人重定位方法的步骤。

8.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至4中任一项所述的机器人重定位方法的步骤。

设计说明书

技术领域

本发明属于计算机技术领域,尤其涉及一种机器人重定位方法、装置、计算机可读存储介质及机器人。

背景技术

当前智能移动服务机器人使用的主流即时定位与地图构建(SimultaneousLocalization And Mapping,SLAM)方案为以二维激光为主的SLAM方案。机器人在导航开始之前,或定位丢失之后,经常会遇到感知周围环境、根据已知地图确认当前机器人在地图中的位置的问题,即重定位问题。而当借助人的帮助以提高重定位成功率,从而在整个大地图上加一个重定位的限制区域时的问题,即为局部重定位问题。局部重定位问题的解决方法有两类,一类是用户指定,即用户控制机器人移动到已知的固定位置(比如每次机器人都从充电桩开始启动第一次上电后的导航),此类方法简单,但效率低、限制条件多,因此使用很少;另一类是软件算法处理,机器人通过传感器感知周围环境,通过与已知地图匹配,自主得出当前位置,此类方法复杂,但效率高、成本低,因此大量使用。

当前自适应蒙特卡洛定位 (Adaptive Monte Carlo Localization,AMCL)方法为使用最为广泛的重定位方法,该方法在用户给定初始估计位置的基础上,以概率模型生成很多位置猜测,再实时获取机器人激光雷达数据,与已知地图的边界点进行匹配、评价,得出最优位置猜测,再以最优位置猜测为下一次循环的初始估计值,重复上述过程,直到最优位置猜测满足判断条件,将最优位置猜测作为最终重定位结果。AMCL重定位方法,对计算资源要求低,在环境不变且特征明显的情况下,定位精确率较高,耗时短,但是在环境变化情况下,精确率低,错误率高,耗时长。机器人实际应用时,场景变化难以控制,定位错误容易带来严重的导航安全事故,所以现有的AMCL重定位方法在实际应用中有较大的安全风险。

发明内容

有鉴于此,本发明实施例提供了一种机器人重定位方法、装置、计算机可读存储介质及机器人,以解决现有的AMCL重定位方法在环境变化情况下错误率高,存在较大安全风险的问题。

本发明实施例的第一方面提供了一种机器人重定位方法,可以包括:

获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表;

获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;

若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;

将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果;

根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果;

确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述机器人重定位方法还可以包括:

若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果包括:

使用高斯-牛顿算法将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表包括:

使用最近点迭代算法将所述激光子图点云与所述第一位姿列表进行匹配,得到所述第二位姿列表。

进一步地,所述机器人重定位方法在进行多目标模板匹配时,还包括:

使用图像金字塔对所述多目标模板匹配进行加速。

本发明实施例的第二方面提供了一种机器人重定位装置,可以包括:

第一列表计算模块,用于获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表;

距离计算模块,用于获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;

第二列表计算模块,用于若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;

模板匹配模块,用于将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果;

结果筛选模块,用于根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果;

第一重定位模块,用于确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述机器人重定位装置还可以包括:

第二重定位模块,用于若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述第一重定位模块具体用于使用高斯-牛顿算法将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述第二列表计算模块具体用于使用最近点迭代算法将所述激光子图点云与所述第一位姿列表进行匹配,得到所述第二位姿列表。

进一步地,所述机器人重定位装置还可以包括:

加速模块,用于使用图像金字塔对所述多目标模板匹配进行加速。

本发明实施例的第三方面提供了一种机器人重定位装置,可以包括:静态物体模板模块、静态物体识别模块、粗定位模块和精定位模块。

在进行机器人重定位时,所述静态物体模板模块获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表。计算完成后,所述静态物体模板模块将所述第一位姿列表发送至所述静态物体识别模块。所述静态物体识别模块获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离。

若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则所述静态物体识别模块将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表,并将所述第二位姿列表发送至所述精定位模块。所述粗定位模块将激光子图点云拼接为子图,然后以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果,并将所述第一匹配候选结果发送至所述精定位模块。所述精定位模块在接收到所述第二位姿列表和所述第一匹配候选结果之后,首先根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果,然后确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则所述静态物体识别模块向所述精定位模块发送通知消息,不再向所述精定位模块发送所述第二位姿列表。所述粗定位模块将激光子图点云拼接为子图,然后以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果,并将所述第一匹配候选结果发送至所述精定位模块。所述精定位模块在接收到所述第一匹配候选结果之后,直接确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,从而得到机器人重定位结果。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述任一种机器人重定位方法的步骤。

本发明实施例的第五方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述任一种机器人重定位方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表;获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果;根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果;确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。通过本发明实施例,在重定位过程中,加入了对于物体级别特征的考虑,通过物体级别特征对匹配候选结果进行筛选,并根据筛选结果进一步计算得到机器人重定位结果,从而在复杂环境、尤其是动态环境情况下提高了重定位的成功率和准确率,可以满足机器人在复杂、动态的场合下实际使用的需求。

附图说明

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

图1为本发明实施例中一种机器人重定位方法的一个实施例流程图;

图2为完整的激光地图的示意图;

图3为用户在激光地图中用矩形框选取的区域的示意图;

图4为本发明实施例中一种机器人重定位装置的一个实施例结构图;

图5为本发明实施例中一种机器人重定位装置的另一个实施例结构图;

图6为本发明实施例中一种机器人的示意框图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例中一种机器人重定位方法的一个实施例可以包括:

步骤S101、获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表。

所述激光地图为预先通过建图过程得到的完整的激光地图,所述物体级别特征可以由用户通过设置于机器人上的屏幕预先进行点击选取,例如,可以将如图2所示的完整的激光地图显示在用户操作界面上,提示用户在该激光地图中通过鼠标、键盘等交互工具选取静态的物体级别特征,用户可以在该激光地图中用矩形框选取一处区域作为物体级别特征,这处区域所对应的环境是不变化的,例如图2矩形框所标示的建筑物内的墙面与立柱。进一步地,考虑到矩形框过大将会导致特征匹配实现,因此,在本实施例中可以预先设置矩形框的最大尺寸,当用户使用的矩形框大于所述最大尺寸时,自动按照所述最大尺寸来选取所述物体级别特征。

在获取到所述物体级别特征之后,则可以计算与之对应的位姿,也即其在所述激光地图中的坐标,并形成如图3所示的特征模板。需要注意的是,用户所选取的物体级别特征的数目可以根据实际情况进行设置,例如,可以将其设置为1、2、3、4或者其它取值。对于每个物体级别特征均可计算与之对应的位姿,这些位姿可以以列表的形式进行存储,即所述第一位姿列表。

步骤S102、获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离。

在进行机器人重定位之前,优选的,可以由用户在所述激光地图中预先选取一个机器人当前可能所在的大致位置,并将该位置作为进行机器人重定位时的初始位置,从而减少重定位所需的计算量。

在获取到所述初始位置之后,则可以根据所述第一位姿列表中的坐标来计算所述物体级别特征与所述初始位置之间的距离,在本实施例中,优选采用欧拉距离计算公式来进行距离计算。所述距离阈值可以根据实际情况预先进行设置,例如,可以将其设置为5米、10米、20米或者其它取值。

步骤S103、若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表。

所述激光子图点云为机器人在其当前位置旋转一定角度(如一周)生成的激光地图边界点云。机器人可以利用激光雷达扫描周围环境以对周围的物体进行测距得到多个边界点。每个边界点具有角度和距离信息,提供了该角度上的地图边界(例如障碍物)的信息。优选地,所述激光子图点云在使用前可以预先进行体素滤波处理。

在本实施例中,优选使用最近点迭代(Iterative Closest Point,ICP)算法将所述激光子图点云与所述第一位姿列表进行匹配,从而得到所述第二位姿列表。最近点迭代算法是一种常用的匹配方法。主要包括以下步骤:(1)计算最近点集;(2)计算变换矩阵;(3)应用变换矩阵;(4)目标函数计算与收敛判断。满足收敛条件时,结束迭代,否则返回(1)继续进行迭代计算。ICP匹配不成功的情况可以包括迭代次数达到设置的最大值时仍不满足收敛条件;或者满足收敛条件结束迭代后,对源点集应用变换矩阵之后得到的变换结果与目标点集之间的重合度不满足要求。本实施例中可以将所述第一位姿列表中与所述激光子图点云ICP匹配成功的位姿选取出来,以列表的形式进行存储,即所述第二位姿列表。

步骤S104、将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果。

具体地,可以对各个激光子图点云进行拼接,根据这些激光子图点云中的各个边界点的角度和距离信息绘制出所有边界点形成的地图,也即所述子图。在所述子图中,机器人和边界点之间的区域是机器人可以自由通行的区域,即自由空间。边界点之外的区域情况未知或者被障碍物遮挡,机器人不可自由通行,即非自由空间。自由空间和非自由空间之间由子图中的边界点分隔。所述子图中可以使用不同的像素值来区分自由空间、非自由空间和边界点。

在得到所述子图之后,即可以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果。

模板匹配是一种常用的匹配方法,通过将预设的模板叠放在被搜索图像上,计算模板与被搜索图像上被模板覆盖的区域之间的用于评价二者相似程度的指标,计算完成后平移模板重复上述过程,最后根据所有计算得到的指标从所有区域中寻找与模板相似程度最高的一个或者更多个区域作为模板匹配的结果。

由于模板匹配中只涉及平移操作,无法处理旋转,而所述子图的方向不一定与所述激光地图的方向一致,可能需要旋转。为减少遗漏匹配结果的可能性,可以将所述子图或所述激光地图旋转多个不同角度进行模板匹配。

由于模板匹配的计算量较大,被搜索图像尺寸较大的情况下计算量问题尤为突出,为减少重定位的耗时,可以选择使用图像金字塔对所述多目标模板匹配进行加速。

模板匹配得到的模板匹配结果数量可能不止一个,其中可能存在冗余,为精简结果,减少后续的计算量,可以对模板匹配的结果利用非极大值抑制进行选择,从而得到所述第一匹配候选结果。当然也可以直接将模板匹配的结果作为所述第一匹配候选结果。

步骤S105、根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果。

通过这样的方式,在重定位过程中,加入了对于物体级别特征的考虑,通过所述第二位姿列表对所述第一匹配候选结果进行筛选,从而获得高可信度的匹配候选结果,也即所述第二匹配候选结果。

步骤S106、确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

具体地,可以将所述第二匹配候选结果铺在所述激光地图上,从而确定出所述第二匹配候选结果与所述子图的重合区域,也即所述第一重合区域。然后,使用高斯-牛顿算法将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。其中,高斯-牛顿算法是使用泰勒级数展开式去近似地代替非线性回归模型,然后通过多次迭代,多次修正回归系数,使回归系数不断逼近非线性回归模型的最佳回归系数,最后使原模型的残差平方和达到最小。

需要注意的是,以上过程是在步骤S102计算得到的所述物体级别特征与所述初始位置之间的距离小于所述距离阈值时的处理流程,若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则无需执行步骤S103及步骤S105,在步骤S104计算得到所述第一匹配候选结果之后,直接确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,从而得到机器人重定位结果。具体的匹配过程与步骤S106中的过程类似,可参见步骤S106中的详细描述,此处不再赘述。

综上所述,本发明实施例获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表;获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果;根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果;确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。通过本发明实施例,在重定位过程中,加入了对于物体级别特征的考虑,通过物体级别特征对匹配候选结果进行筛选,并根据筛选结果进一步计算得到机器人重定位结果,从而在复杂环境、尤其是动态环境情况下提高了重定位的成功率和准确率,可以满足机器人在复杂、动态的场合下实际使用的需求。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的一种机器人重定位方法,图4示出了本发明实施例提供的一种机器人重定位装置的一个实施例结构图。

本实施例中,一种机器人重定位装置可以包括:

第一列表计算模块401,用于获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表;

距离计算模块402,用于获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离;

第二列表计算模块403,用于若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表;

模板匹配模块404,用于将所述激光子图点云拼接为子图,并以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果;

结果筛选模块405,用于根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果;

第一重定位模块406,用于确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述机器人重定位装置还可以包括:

第二重定位模块,用于若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述第一重定位模块具体用于使用高斯-牛顿算法将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

进一步地,所述第二列表计算模块具体用于使用最近点迭代算法将所述激光子图点云与所述第一位姿列表进行匹配,得到所述第二位姿列表。

进一步地,所述机器人重定位装置还可以包括:

加速模块,用于使用图像金字塔对所述多目标模板匹配进行加速。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

如图5所示,在本发明实施例提供的另一种机器人重定位装置可以包括:静态物体模板模块501、静态物体识别模块502、粗定位模块503和精定位模块504。

在进行机器人重定位时,所述静态物体模板模块501获取激光地图中的物体级别特征,并计算与所述物体级别特征对应的第一位姿列表。计算完成后,所述静态物体模板模块501将所述第一位姿列表发送至所述静态物体识别模块502。所述静态物体识别模块502获取机器人重定位的初始位置,并根据所述第一位姿列表计算所述物体级别特征与所述初始位置之间的距离。

若所述物体级别特征与所述初始位置之间的距离小于预设的距离阈值,则所述静态物体识别模块502将机器人采集的激光子图点云与所述第一位姿列表进行匹配,得到第二位姿列表,并将所述第二位姿列表发送至所述精定位模块504。所述粗定位模块503将激光子图点云拼接为子图,然后以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果,并将所述第一匹配候选结果发送至所述精定位模块504。所述精定位模块504在接收到所述第二位姿列表和所述第一匹配候选结果之后,首先根据所述第二位姿列表对所述第一匹配候选结果进行筛选,得到第二匹配候选结果,然后确定所述第二匹配候选结果与所述子图的第一重合区域,并将所述第一重合区域内的边界点与所述激光子图点云进行匹配,得到机器人重定位结果。

若所述物体级别特征与所述初始位置之间的距离大于或等于所述距离阈值,则所述静态物体识别模块502向所述精定位模块504发送通知消息,不再向所述精定位模块504发送所述第二位姿列表。所述粗定位模块503将激光子图点云拼接为子图,然后以所述子图为目标图像,以所述激光地图为源图像,进行多目标模板匹配,得到第一匹配候选结果,并将所述第一匹配候选结果发送至所述精定位模块504。所述精定位模块504在接收到所述第一匹配候选结果之后,直接确定所述第一匹配候选结果与所述子图的第二重合区域,并将所述第二重合区域内的边界点与所述激光子图点云进行匹配,从而得到机器人重定位结果。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

图6示出了本发明实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。

如图6所示,该实施例的机器人6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述各个机器人重定位方法实施例中的步骤,例如图1所示的步骤S101至步骤S106。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块\/单元的功能,例如图4所示模块401至模块406的功能,或者图5所示模块501至模块504的功能。

示例性的,所述计算机程序62可以被分割成一个或多个模块\/单元,所述一个或者多个模块\/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块\/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述机器人6中的执行过程。

本领域技术人员可以理解,图6仅仅是机器人6的示例,并不构成对机器人6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人6还可以包括输入输出设备、网络接入设备、总线等。

所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61可以是所述机器人6的内部存储单元,例如机器人6的硬盘或内存。所述存储器61也可以是所述机器人6的外部存储设备,例如所述机器人6上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述机器人6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述机器人6所需的其它程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置\/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置\/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块\/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

设计图

机器人重定位方法、装置、计算机可读存储介质及机器人论文和设计

相关信息详情

申请码:申请号:CN201910791445.9

申请日:2019-08-26

公开号:CN110307838A

公开日:2019-10-08

国家:CN

国家/省市:94(深圳)

授权编号:CN110307838B

授权时间:20191210

主分类号:G01C 21/00

专利分类号:G01C21/00;G01S7/48;G06F16/29;B25J9/16

范畴分类:31B;

申请人:深圳市优必选科技股份有限公司

第一申请人:深圳市优必选科技股份有限公司

申请人地址:518000 广东省深圳市南山区学苑大道1001号南山智园C1栋16、22楼

发明人:刘志超;熊友军

第一发明人:刘志超

当前权利人:深圳市优必选科技股份有限公司

代理人:黄志云

代理机构:44414

代理机构编号:深圳中一联合知识产权代理有限公司

优先权:关键词:当前状态:审核中

类型名称:外观设计

标签:;  ;  

机器人重定位方法、装置、计算机可读存储介质及机器人论文和设计-刘志超
下载Doc文档

猜你喜欢