机器人重定位方法及装置与流程

文档序号:18627785发布日期:2019-09-06 23:14阅读:343来源:国知局
机器人重定位方法及装置与流程

本发明涉及机器人技术领域,特别是涉及一种机器人重定位方法及装置。



背景技术:

随着科学技术的快速发展以及人们的生活水平提高,在现实生活中越来越多的工作可以利用机器人来完成,特别是一些简单重复性的工作,例如搬抬重物、打扫卫生等。在启动机器人进行工作或者机器人在工作的过程中,都需要对自身进行准确地定位,以保证工作的高效性。

然而,在现有技术中,对机器人重定位的方法基本采用激光雷达法或单目视觉算法进行重定位。采用激光雷达法进行机器人重定位,是利用激光雷达扫描周围环境进行暴力搜索,大概性地确定机器人的位姿。而采用单目视觉算法进行机器人重定位,需要在环境中部署二维码,通过扫描二维码进行特征匹配确定机器人的大概位置;但单目视觉算法只能用在贴有特定二维码的环境中,限制了机器人的使用范围。因此,不管是激光雷达法或单目视觉算法,对机器人位姿的重定位误差较大,使机器人在工作过程中无法对自身进行准确的定位,提高了对周围环境的误判率。



技术实现要素:

本发明所要解决的技术问题是提供一种机器人重定位方法,通过该方法,可以对初始时刻的机器人进行重定位,从而确定机器人的真实位姿,保证机器人在工作的过程中对周围环境进行准确定位和判断。

本发明还提供了一种机器人重定位装置,用以保证上述方法在实际中的实现及应用。

一种机器人重定位方法,包括:

当所述机器人启动时,调用预先设置的摄像头及激光雷达获取所述机器人当前所处的环境信息;

依据所述机器人当前所处的环境信息,构建以所述机器人当前所处位置为原点的局部地图,并生成所述局部地图对应的局部信息表;

获取预先设置的全局地图,及所述全局地图对应的全局信息表,并基于所述局部信息表与所述全局信息表之间的对应关系,在所述全局地图中选定与所述局部地图对应的目标局部地图;

将所述局部地图与所述目标局部地图进行匹配,得到所述局部地图与所述目标局部地图之间的误差参数;

基于所述误差参数,确定所述机器人处于所述目标局部地图中的有效误差区域;

在所述有效误差区域中选取多个像素点,并确定每个所述像素点在所述全局地图中对应的雷达数据集合;

确定所述机器人当前所处的环境信息中的当前雷达数据,并将所述当前雷达数据与每个所述雷达数据集合中的各个雷达数据进行匹配,获得与所述当前雷达数据相似度最高的目标雷达数据;

获取与所述目标雷达数据对应的目标位置像素点的目标位姿,确定所述目标位姿为所述机器人的真实位姿,完成对所述机器人的重定位。

上述的方法,可选的,所述调用预先设置的摄像头及激光雷达获取所述机器人当前所处的环境信息,包括:

调用预先设置的摄像头,获取所述机器人周围环境中的每个被识别物体对应的物体信息,并通过预先设置的激光雷达,确定各个所述被识别物体相对于所述机器人的相对位置;

基于各个所述被识别物体对应的物体信息,及各个所述被识别物体相对于所述机器人的相对位置,确定所述机器人当前所处的环境信息。

上述的方法,可选的,所述生成所述局部地图对应的局部信息表,包括:

基于各个所述被识别物体相对于所述机器人的相对位置,确定每个所述被识别物体在所述局部地图中的局部坐标;

依据所述被识别物体对应的物体信息及每个所述被识别物体在所述局部地图中的局部坐标,生成与所述局部地图对应的局部信息表。

上述的方法,可选的,所述将所述局部地图与所述目标局部地图进行匹配,得到所述局部地图与所述目标局部之间的误差参数,包括:

确定所述目标局部地图中所包含的各个局部物体,各个所述局部物体与所述局部地图中的各个被识别物体一一对应;

基于所述全局信息表,生成与所述目标局部地图对应的目标局部信息表,所述目标局部信息表中包含每个所述局部物体在所述全局地图中的真实坐标;

依据每个所述局部物体在所述全局地图中的真实坐标,计算所述目标局部地图中各个所述局部物体之间的相对距离;

依据每个所述被识别物体在所述局部地图中的局部坐标,计算所述局部地图中各个所述被识别物体之间的相对距离;

将各个所述局部物体之间的相对距离与各个所述被识别物体之间的相对距离进行匹配计算,获得所述局部地图与所述目标局部之间的误差参数。

上述的方法,可选的,所述基于所述误差参数,确定所述机器人处于所述全局地图中的有效误差区域,包括:

将所述局部地图中的原点映射到所述目标局部地图中,确定所述原点映射至所述目标局部地图的映射点;

基于所述映射点及所述误差参数,确定以所述映射点为圆心,所述误差参数为半径的有效误差区域,所述有效误差区域为所述机器人处于所述全局地图中所有可能位置的区域。

上述的方法,可选的,所述确定每个所述像素点在所述全局地图中对应的雷达数据集合,包括:

确定所述机器人预先设置的搜索范围,并依据所述搜索范围,设置每个所述像素点需要进行雷达搜索的搜索角度;

依据所述搜索范围及搜索角度,确定每个所述像素点需要进行雷达搜索的搜索次数,并按照所述搜索次数,对每个所述像素点当前所处的环境进行搜索,获得每个所述像素点在所述全局地图中与每个搜索角度对应的雷达数据,以确定每个所述像素点在所述全局地图中对应的雷达数据集合。

一种机器人重定位装置,包括:

第一获取单元,用于当所述机器人启动时,调用预先设置的摄像头及激光雷达获取所述机器人当前所处的环境信息;

生成单元,用于依据所述机器人当前所处的环境信息,构建以所述机器人当前所处位置为原点的局部地图,并生成所述局部地图对应的局部信息表;

第二获取单元,用于获取预先设置的全局地图,及所述全局地图对应的全局信息表,并基于所述局部信息表与所述全局信息表之间的对应关系,在所述全局地图中选定与所述局部地图对应的目标局部地图;

第一匹配单元,用于将所述局部地图与所述目标局部地图进行匹配,得到所述局部地图与所述目标局部地图之间的误差参数;

第一确定单元,用于基于所述误差参数,确定所述机器人处于所述目标局部地图中的有效误差区域;

第二确定单元,用于在所述有效误差区域中选取多个像素点,并确定每个所述像素点在所述全局地图中对应的雷达数据集合;

第二匹配单元,用于确定所述机器人当前所处的环境信息中的当前雷达数据,并将所述当前雷达数据与每个所述雷达数据集合中的各个雷达数据进行匹配,获得与所述当前雷达数据相似度最高的目标雷达数据;

第三确定单元,用于获取与所述目标雷达数据对应的目标位置像素点的目标位姿,确定所述目标位姿为所述机器人的真实位姿,完成对所述机器人的重定位。

上述的装置,可选的,包括:

获取子单元,用于调用预先设置的摄像头,获取所述机器人周围环境中的每个被识别物体对应的物体信息,并通过预先设置的激光雷达,确定各个所述被识别物体相对于所述机器人的相对位置;

第一确定子单元,用于基于各个所述被识别物体对应的物体信息,及各个所述被识别物体相对于所述机器人的相对位置,确定所述机器人当前所处的环境信息。

上述的装置,可选的,所述生成单元,包括:

第二确定子单元,用于基于各个所述被识别物体相对于所述机器人的相对位置,确定每个所述被识别物体在所述局部地图中的局部坐标;

第一生成子单元,用于依据所述被识别物体对应的物体信息及每个所述被识别物体在所述局部地图中的局部坐标,生成与所述局部地图对应的局部信息表。

上述的装置,可选的,所述第一匹配单元,包括:

第三确定子单元,用于确定所述目标局部地图中所包含的各个局部物体,各个所述局部物体与所述局部地图中的各个被识别物体一一对应;

第二生成子单元,用于基于所述全局信息表,生成与所述目标局部地图对应的目标局部信息表,所述目标局部信息表中包含每个所述局部物体在所述全局地图中的真实坐标;

第一计算子单元,用于依据每个所述局部物体在所述全局地图中的真实坐标,计算所述目标局部地图中各个所述局部物体之间的相对距离;

第二计算子单元,用于依据每个所述被识别物体在所述局部地图中的局部坐标,计算所述局部地图中各个所述被识别物体之间的相对距离;

匹配子单元,用于将各个所述局部物体之间的相对距离与各个所述被识别物体之间的相对距离进行匹配计算,获得所述局部地图与所述目标局部之间的误差参数。

一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的机器人重定位方法。

一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的机器人重定位方法。

与现有技术相比,本发明包括以下优点:

本发明提供了一种机器人重定位方法,包括:当所述机器人启动时,调用预先设置的摄像头及激光雷达获取所述机器人当前所处的环境信息;依据所述机器人当前所处的环境信息,构建以所述机器人当前所处位置为原点的局部地图,并生成所述局部地图对应的局部信息表;获取预先设置的全局地图,及所述全局地图对应的全局信息表,并基于所述局部信息表与所述全局信息表之间的对应关系,在所述全局地图中选定与所述局部地图对应的目标局部地图;将所述局部地图与所述目标局部地图进行匹配,得到所述局部地图与所述目标局部地图之间的误差参数;基于所述误差参数,确定所述机器人处于所述目标局部地图中的有效误差区域;在所述有效误差区域中选取多个像素点,并确定每个所述像素点在所述全局地图中对应的雷达数据集合;确定所述机器人当前所处的环境信息中的当前雷达数据,并将所述当前雷达数据与每个所述雷达数据集合中的各个雷达数据进行匹配,获得与所述当前雷达数据相似度最高的目标雷达数据;获取与所述目标雷达数据对应的目标位置像素点的目标位姿,确定所述目标位姿为所述机器人的真实位姿,完成对所述机器人的重定位。应用本发明提供的方法,通过摄像头和雷达数据获取环境信息,以构建局部地图及局部信息表。通过局部信息表与全局表信息的对应关系确定该局部地图在全局地图中对应的目标局部地图,最后根据局部地图和目标局部地图之间的误差参数,选定有效误差区域,通过有效误差区域最终确定机器人的真实位姿,快速对机器人当前所处位置进行准确的定位,保证机器人在工作过程中对周围环境进行准确定位和判断。

附图说明

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

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

图2为本发明实施例提供的一种机器人重定位方法的又一方法流程图;

图3为本发明实施例提供的一种机器人重定位方法的又一方法流程图;

图4为本发明实施例提供的一种机器人重定位装置的结构示意图;

图5为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。

本发明实施例提供了一种,该方法可以应用在多种系统平台,其执行主体可以为机器人内部设置的处理器,或其他连接机器人的计算机终端或各种移动设备的处理器,所述方法的方法流程图如图1所示,具体包括:

s101:当所述机器人启动时,调用预先设置的摄像头及激光雷达获取所述机器人当前所处的环境信息;

在本发明实施例中,当机器人启动时,由于在初始时刻机器人具有全局不确定性,因此无法得知机器人在初始时刻正确定位姿。因此,调用预先设置的摄像头和激光雷达,获取该机器人当前所处的环境信息。

需要说明的是,该摄像头有可以是单目摄像头;该激光雷达可以是单线激光雷达。

s102:依据所述机器人当前所处的环境信息,构建以所述机器人当前所处位置为原点的局部地图,并生成所述局部地图对应的局部信息表;

在本发明实施例中,由于不确定机器人所处的具体位置,可根据机器人当前所处的环境信息构建一个已机器人当前所处位置为原点的局部地图,并根据该环境信息,生成与该局部地图对应的局部信息表。其中,局部地图可以是局部语义地图;局部信息表可以是局部语义信息表。

s103:获取预先设置的全局地图,及所述全局地图对应的全局信息表,并基于所述局部信息表与所述全局信息表之间的对应关系,在所述全局地图中选定与所述局部地图对应的目标局部地图;

在本发明实施例中,该机器人内部预先存储了全局地图,当构建局部地图并生成局部信息表后,获取预设的全局地图及全局信息表。其中,全局信息表中记录了全局地图中各个物体的物体信息及在全局地图中的具体位置。根据局部信息表与全局信息表之间的对应关系,在全局地图中确定与局部地图对应的目标局部地图。

需要说明的是,该局部地图是属于全局地图中的一部分区域,由于机器人在初始时刻的不确定性,无法得知局部地图在全局地图中的具体位置。通过局部信息表与全局信息表之间的对应关系,从而在全局地图中选定与局部地图对应的目标局部地图。

进一步说明,局部信息表与全局信息表有着对应的关系,局部信息表中包含的物体信息在全局信息表中都能查找得到对应的物体信息。

s104:将所述局部地图与所述目标局部地图进行匹配,得到所述局部地图与所述目标局部地图之间的误差参数;

在本发明实施例中,在全局地图中选定与局部地图对应的目标局部地图后,将局部地图与目标局部地图进行匹配,得到匹配后的误差参数。

需要说明的是,由于摄像头与激光雷达存在一定的设备误差,在获取环境信息时,也存在一定的误差,因此,在构建局部地图的过程中也存在误差,将局部地图与目标局部地图进行匹配后,确定匹配后的误差参数。

s105:基于所述误差参数,确定所述机器人处于所述目标局部地图中的有效误差区域;

在本发明实施例中,由于局部地图与目标局部地图之间存在误差,因此机器人原先在局部地图上的位置映射到目标局部地图中的位置也存在误差。根据误差参数,确定该机器人在目标局部地图中的有效误差区域。

需要说明的是,由于存在误差,在该有效误差区域内,任何一个位置都有可能是机器人的真实有效位置。

s106:在所述有效误差区域中选取多个像素点,并确定每个所述像素点在所述全局地图中对应的雷达数据集合;

在本发明实施例中,在有效误差区域内选取多个像素点,其中,每一个像素点都有可能是该机器人的真实位置。因此,可确定每个像素点在全局地图中对应的雷达数据集合。

需要说明的是,每一个像素点可以有多个雷达数据,每一个像素点的多个雷达数据组成雷达数据集合。每一个像素点的雷达数据个数相同。

s107:确定所述机器人当前所处的环境信息中的当前雷达数据,并将所述当前雷达数据与每个所述雷达数据集合中的各个雷达数据进行匹配,获得与所述当前雷达数据相似度最高的目标雷达数据;

在本发明实施例中,根据原先已经获取的环境信息,确定该机器人的当前雷达数据。将该机器人的当前雷达数据与每一个像素点对应的多个雷达数据一一进行匹配,从各个雷达数据中,获得匹配相似度最高的目标雷达数据。

需要说明的是,该机器人当前雷达数据是机器人当前位姿对应的唯一的雷达数据。

s108:获取与所述目标雷达数据对应的目标位置像素点的目标位姿,确定所述目标位姿为所述机器人的真实位姿,完成对所述机器人的重定位。

在本发明实施例中,在获得匹配后相似度最高的目标雷达数据后,获取该雷达数据对应的目标像素点,以及该目标像素点中与该目标雷达数据对应的目标位姿。最终确定该目标位姿为该机器人的真实位姿,完成对该机器人的重定位。

本发明实施例提供的机器人重定位方法中,当机器人启动时,通过摄像头和激光雷达获取该机器人的环境信息,并通过该环境信息构建以机器人当前所处位置为原点的局部地图,并生成局部信息表。确定该局部信息表与预先设置的全局信息表之间的对应关系,在预先设置的全局地图中,确定与局部地图对应的目标局部地图。将局部地图与目标局部地图进行匹配,确定两者时间的误差参数。并根据该误差参数确定机器人在该目标局部地图中的有效误差区域。在该有效误差区域中,选取多个像素点,并获取每个像素点对应的雷达数据集合。将该机器人的当前雷达数据与每个雷达数据集合中的各个雷达数据进行匹配,确定匹配后相似度最高的目标雷达数据。将目标雷达数据对应的目标位姿确定为机器人的真实位姿,完成对机器人的重定位。

需要说明的是,局部地图的采用与全局地图相同的构建尺度,以保证在进行匹配时,尺度不会改变,减小匹配时的误差。

应用本发明实施例提供的方法,通过摄像头和雷达数据获取环境信息,以构建局部地图及局部信息表。通过局部信息表与全局信息表的对应关系确定该局部地图在全局地图中对应的目标局部地图,最后根据局部地图和目标局部地图之间的误差参数,选定有效误差区域,通过有效误差区域最终确定机器人的真实位姿,快速对机器人当前所处位置进行准确的定位,保证机器人在工作过程中对周围环境进行准确定位和判断。

本发明实施例提供的方法中,基于上述步骤s101,通过调用预先设置的摄像头及激光雷达获取所述机器人当前所处的环境信息,具体包括:

调用预先设置的摄像头,获取所述机器人周围环境中的每个被识别物体对应的物体信息,并通过预先设置的激光雷达,确定各个所述被识别物体相对于所述机器人的相对位置;

基于各个所述被识别物体对应的物体信息,及各个所述被识别物体相对于所述机器人的相对位置,确定所述机器人当前所处的环境信息。

本发明实施例提供的方法中,基于上述实施例内容及步骤s102,所述生成所述局部地图对应的局部信息表,具体包括:

基于各个所述被识别物体相对于所述机器人的相对位置,确定每个所述被识别物体在所述局部地图中的局部坐标;

依据所述被识别物体对应的物体信息及每个所述被识别物体在所述局部地图中的局部坐标,生成与所述局部地图对应的局部信息表。

基于上述实施例提供的方法中,构建局部地图和生成局部信息表的过程如图2所示,包括:

s201:利用摄像头,获取机器人周围环境中每个被识别物体对应的物体信息;

在本发明实施例中,通过摄像头得知机器人周围被识别物体的具体信息,例如物体的形状、颜色和名称等。

s202:利用激光雷达,确定每个被识别物体相对于机器人的相对位置;

在本发明实施例中,通过激光雷达,确定每个被识别物体相对于机器人的位置,即于机器人之间的距离、角度等。

s203:依据每个被识别物体对应的物体信息及相对于机器人的相对位置,构建以机器人为原点的局部地图,确定每个被识别物体在局部地图中的局部坐标;

在本发明实施例中,构建一个与全局地图相同测量尺度的局部地图,并且确定每个被识别物体在该局部地图中的坐标。

s204:依据每个被识别物体的物体信息及在局部地图中的局部坐标,生成与局部地图对应的局部信息表。

在本发明实施例中,生成一个带有各个被识别物体对应的物体信息和局部坐标的局部信息表。

本发明实施例提供的机器人重定位的方法中,通过摄像头对机器人周围环境中的物体进行识别,确定每一个被识别物体对应的物体信息。其中,物体信息包括物体的名称、物体的形状、物体的颜色等。在确定机器人当前所处环境中各个被识别物体的物体信息后,再通过预先设置的激光雷达,确定每个被识别物体相对于该机器人的相对位置。由每个被识别物体对应的物体信息及每个被识别物体相对于机器人的相对位置,确定该机器人当前所处的环境信息。其中,在构建局部地图时,根据该环进行洗构建局部地图,并在该局部地图中,确定每个别识别物体的局部坐标。由每个被识别物体对应的物体信息及在局部地图中的局部坐标,生成局部信息表。

其中,构建局部地图的过程为:先初始化一张值为像素值为127表示未知区域的灰度图;机器人所在的点为原点o(0,0),先通过摄像头获取该未知区域内各个被识别物体的物体信息后,再通过激光雷达得到被识别物体的点p(x0,y0),将线段(0,0)-(x0,y0)之间的区域像素值赋为255表示空旷区域,将点p(x0,y0)的像素值赋为0表示被识别物体;对所有雷达数据扫描得到的被识别物体进行同样的操作,就可得到一张以机器人为中心的局部地图。其中,通过摄像头中的识别模块对环境中的物体进行识别,该识别模块采用深度学习算法进行训练识别物体。当识别到一个准确的物体时,根据识别到的物体的中心所在的角度,选择激光雷达在对应角度的测量数据的坐标位置,作为识别物体在地图上的局部坐标,并记录在局部信息表中。

应用本发明实施例提供的方法,通过摄像头和激光雷达获取机器人的环境信息,并根据环境信息生成局部信息表,能够进一步根据局部信息确定机器人当前所在的位置,快速对机器人当前所处位置进行准确的定位,保证机器人在工作过程中对周围环境进行准确定位和判断。

本发明实施例提供的方法中,基于上述实施例内容及步骤s104,所述将所述局部地图与所述目标局部地图进行匹配,得到所述局部地图与所述目标局部地图之间的误差参数,如图3所示,具体包括:

s301:确定所述目标局部地图中所包含的各个局部物体,各个所述局部物体与所述局部地图中的各个被识别物体一一对应;

在本发明实施例中,由于局部信息表与全局信息表中存在对应关系,在确定全局地图中与局部地图对应的目标局部地图后,根据全局信息表,确定该目标局部地图中所包含的各个局部物体。其中目标局部地图中的局部物体与局部地图中的被识别物体信息一一对应。例如,局部地图中被识别物体包含一张白色桌子和一张白色椅子,则目标局部地图中也包含一张白色桌子和一张白色椅子。

s302:基于所述全局信息表,生成与所述目标局部地图对应的目标局部信息表,所述目标局部信息表中包含每个所述局部物体在所述全局地图中的真实坐标;

在本发明实施例中,基于全局信息表,生成目标局部地图对应的目标局部信息表。该目标局部信息表中包含了的局部物体在全局地图中真实坐标。

s303:依据每个所述局部物体在所述全局地图中的真实坐标,计算所述目标局部地图中各个所述局部物体之间的相对距离;

在本发明实施例中,根据目标局部地图中各个局部物体的真实坐标,计算各个局部物体之间的相对距离。例如,局部物体包括物体a、b、c,则计算a到b再从b到c的距离:a-b-c。

s304:依据每个所述被识别物体在所述局部地图中的局部坐标,计算所述局部地图中各个所述被识别物体之间的相对距离;

在本发明实施例中,根据局部地图中各个被识别物体的真实坐标,计算各个被识别物体之间的相对距离。例如,局部物体包括物体a1、b1、c1,则计算a1到b1再从b1到c1的距离:a1-b1-c1。

s305:将各个所述局部物体之间的相对距离与各个所述被识别物体之间的相对距离进行匹配计算,获得所述局部地图与所述目标局部之间的误差参数。

在本发明实施例中,将各个局部物体之间的相对距离与各个被识别物体之间的相对距离进行匹配计算,确定两者之间的误差参数。

本发明实施例提供的机器人重定位方法中,先确定目标局部地图中包含的局部物体,且该目标局部地图中的各个局部物体与局部地图中的各个被识别物体一一对应。通过全局信息表生成目标局部信息表。再通过目标局部信息表中各个局部物体的真实坐标,计算各个局部物体之间的相对距离;通过局部信息表中各个被识别物体的局部坐标,计算各个被识别物体之间的相对距离。将各个局部物体之间的相对距离与各个被识别物体之间的相对距离进行匹配计算,获得局部地图与目标局部之间的误差参数。例如:目标局部地图中有第一局部物体a和第二局部物体b,局部地图中也有第一被识别物体a1和第二被识别物体b1;当目标局部信息表为t_global和局部信息表为t_local时;针对t_local中的两个不同物体a和b,计算a与b的实际距离d_ab_local,并计算t_global中两个对应的被识别物体a1和b1,计算a1与b1的实际距离d_a1b1_global,对d_a1b1_global与d_ab_local进行匹配计算,获得误差参数e。

需要说明的是,当局部地图中的被识别物体超过两个时,可以只选择两种不同的被识别物体计算两个已选择的被识别物体之间的第一距离,再相对应选择目标局部地图中,与局部地图中选择的别识别物体一致的两种局部物体,计算两个已选择的局部物体之间的第二距离。计算第一距离与第二距离之间的差值,获得第一距离与第二距离对应的误差参数。

可选的,基于上述步骤s103中,根据局部信息表与全局信息表之间的对应关系,在全局地图中选定与局部地图对应的目标局部地图的过程,可以通过计算物体间的距离,在全局地图中选定与局部地图对应的目标局部地图。例如:计算全局信息表和局部信息表中物体集合的交集,得到只包含交集物体的新的全局信息表和局部信息表;其中,全局信息表中包含与局部信息表相同物体的物体信息,同时也包含其他物体的物体信息。然后,针对新的全局信息表中的任意两个不同类别物体a和b,计算a与b的实际距离d_ab,并搜索局部信息表中任意两个对应类别物体a`和b`,计算a`与b`的实际距离d_a`b`,如果d_a`b`与d_ab的差距的绝对值小于一个预设的阈值,则判定ab和a`b`在环境中很有可能是同一对物体;接着,通过ab和a`b`的坐标变换关系,可以得到局部地图与全局地图的变换关系,根据这个变换关系可以直接算出局部地图在全局地图中对应的目标局部地图。

应用本发明实施例提供的方法中,通过匹配计算,获得局部地图与目标局部之间的误差参数,能够根据误差参数对机器人进行更加精确的定位,保证机器人在工作过程中对周围环境进行准确定位和判断。

本发明实施例提供的方法中,基于上述步骤s106,所述基于所述误差参数,确定所述机器人处于所述全局地图中的有效误差区域,具体包括:

将所述局部地图中的原点映射到所述目标局部地图中,确定所述原点映射至所述目标局部地图的映射点;

基于所述映射点及所述误差参数,确定以所述映射点为圆心,所述误差参数为半径的有效误差区域,所述有效误差区域为所述机器人处于所述全局地图中所有可能位置的区域。

本发明实施例提供的机器人重定位方法中,在确定局部地图所属于全局地图中的位置为目标局部地图后,根据局部地图与目标局部地图之间的对应关系,将局部地图中的原点映射到目标局部地图中,确定原先在局部地图中的原点映射到目标局部地图后的映射点。由于目标局部地图属于全局地图,因此可在全局地图中确定该映射点的实际坐标。但由于局部地图与目标局部地图之间存在误差,则根据局部地图与全局地图之间的误差参数以及该映射点的实际坐标,确定一个以该映射点为圆心,误差参数为半径的一个有效误差区域。其中,该有效误差区域为机器人处于全局地图中所有可能位置的区域,即,由于目标局部地图与局部地图之间存在误差,因此机器人所处于局部地图中的位置映射到目标局部地图也存在一定的误差。

应用本发明实施例提供的方法,通过映射点和误差参数,确定机器人处于全局地图中的有效误差区域,以根据该有效误差区域,执行上述步骤s106~s108的过程,为机器人进行精准的定位。

本发明实施例提供的方法中,基于上述步骤s107,所述确定每个所述像素点在所述全局地图中对应的雷达数据集合,包括:

确定所述机器人预先设置的搜索范围,并依据所述搜索范围,设置每个所述像素点需要进行雷达搜索的搜索角度;

依据所述搜索范围及搜索角度,确定每个所述像素点需要进行雷达搜索的搜索次数,并按照所述搜索次数,对每个所述像素点当前所处的环境进行搜索,获得每个所述像素点在所述全局地图中与每个搜索角度对应的雷达数据,以确定每个所述像素点在所述全局地图中对应的雷达数据集合。

本发明实施例提供的机器人重定位方法中,由于机器人在全局中的位姿具有不确定性,可以通过预先设置的搜索范围,确定每个像素点需要进行雷达搜索的搜索角度。其中,搜索范围可以是180°、270°或360°等;根据搜索范围可以确定需要进行搜索的搜索角度,例如搜索角度可以为0.1°或1°等;每个像素点用于模拟机器人在全局地图中的真实位置。根据搜索范围和搜索角度,确定每个像素点需要进行雷达搜索的搜索次数。例如搜索范围为360°,搜索角度为0.1°,则一个像素点需要进行3600次的雷达搜索,每搜索一次,改变0.1°的搜索角度。按照搜索次数,对每个像素点当前所处环境进行搜索,并获得每个像素点在全局地图中根据搜索角度进行雷达搜索后获得的雷达数据,以确定每个像素点在全局地图中对应的雷达数据集合。

需要说明的是,该一个雷达数据集合对应一个像素点,每个雷达数据集合中包含多个雷达数据。例如搜索范围为360°,搜索角度为0.1°,则一个像素点需要进行3600次的雷达搜索,每搜索一次,改变0.1°的搜索角度,因此可获得3600个雷达数据。其中,每次进行雷达搜索,均由激光雷达进行雷达搜索。

应用本发明实施例提供的方法,根据预先设置的搜索范围及搜索角度,对每一个像素点所处的环境进行精确地搜索,使得雷达数据更加的精准,对机器人的定位更加准确。

上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。

与图1所述的方法相对应,本发明实施例还提供了一种机器人重定位装置,用于对图1中方法的具体实现,本发明实施例提供的机器人重定位装置可以应用计算机终端或各种移动设备中,其结构示意图如图4所示,具体包括:

第一获取单元401,用于当所述机器人启动时,调用预先设置的摄像头及激光雷达获取所述机器人当前所处的环境信息;

生成单元402,用于依据所述机器人当前所处的环境信息,构建以所述机器人当前所处位置为原点的局部地图,并生成所述局部地图对应的局部信息表;

第二获取单元403,用于获取预先设置的全局地图,及所述全局地图对应的全局信息表,并基于所述局部信息表与所述全局信息表之间的对应关系,在所述全局地图中选定与所述局部地图对应的目标局部地图;

第一匹配单元404,用于将所述局部地图与所述目标局部地图进行匹配,得到所述局部地图与所述目标局部地图之间的误差参数;

第一确定单元405,用于基于所述误差参数,确定所述机器人处于所述目标局部地图中的有效误差区域;

第二确定单元406,用于在所述有效误差区域中选取多个像素点,并确定每个所述像素点在所述全局地图中对应的雷达数据集合;

第二匹配单元407,用于确定所述机器人当前所处的环境信息中的当前雷达数据,并将所述当前雷达数据与每个所述雷达数据集合中的各个雷达数据进行匹配,获得与所述当前雷达数据相似度最高的目标雷达数据;

第三确定单元408,用于获取与所述目标雷达数据对应的目标位置像素点的目标位姿,确定所述目标位姿为所述机器人的真实位姿,完成对所述机器人的重定位。

本发明实施例提供的装置中,所述第一获取单元401,包括:

获取子单元,用于调用预先设置的摄像头,获取所述机器人周围环境中的每个被识别物体对应的物体信息,并通过预先设置的激光雷达,确定各个所述被识别物体相对于所述机器人的相对位置;

第一确定子单元,用于基于各个所述被识别物体对应的物体信息,及各个所述被识别物体相对于所述机器人的相对位置,确定所述机器人当前所处的环境信息。

本发明实施例提供的装置中,所述生成单元402,包括:

第二确定子单元,用于基于各个所述被识别物体相对于所述机器人的相对位置,确定每个所述被识别物体在所述局部地图中的局部坐标;

第一生成子单元,用于依据所述被识别物体对应的物体信息及每个所述被识别物体在所述局部地图中的局部坐标,生成与所述局部地图对应的局部信息表。

本发明实施例提供的装置中,所述第一匹配单元404,包括:

第三确定子单元,用于确定所述目标局部地图中所包含的各个局部物体,各个所述局部物体与所述局部地图中的各个被识别物体一一对应;

第二生成子单元,用于基于所述全局信息表,生成与所述目标局部地图对应的目标局部信息表,所述目标局部信息表中包含每个所述局部物体在所述全局地图中的真实坐标;

第一计算子单元,用于依据每个所述局部物体在所述全局地图中的真实坐标,计算所述目标局部地图中各个所述局部物体之间的相对距离;

第二计算子单元,用于依据每个所述被识别物体在所述局部地图中的局部坐标,计算所述局部地图中各个所述被识别物体之间的相对距离;

匹配子单元,用于将各个所述局部物体之间的相对距离与各个所述被识别物体之间的相对距离进行匹配计算,获得所述局部地图与所述目标局部之间的误差参数。

本发明实施例提供的装置中,所述第一确定单元405,包括:

第四确定子单元,用于将所述局部地图中的原点映射到所述目标局部地图中,确定所述原点映射至所述目标局部地图的映射点;

第五确定子单元,用于基于所述映射点及所述误差参数,确定以所述映射点为圆心,所述误差参数为半径的有效误差区域,所述有效误差区域为所述机器人处于所述全局地图中所有可能位置的区域。

本发明实施例提供的装置中,所述第二确定单元406,包括:

第六确定子单元,用于确定所述机器人预先设置的搜索范围,并依据所述搜索范围,设置每个所述像素点需要进行雷达搜索的搜索角度;

搜索子单元,用于依据所述搜索范围及搜索角度,确定每个所述像素点需要进行雷达搜索的搜索次数,并按照所述搜索次数,对每个所述像素点当前所处的环境进行搜索,获得每个所述像素点在所述全局地图中与每个搜索角度对应的雷达数据,以确定每个所述像素点在所述全局地图中对应的雷达数据集合。

以上本发明实施例公开的机器人重定位装置中的第一获取单元401、生成单元402、第二获取单元403、第一匹配单元404、第一确定单元405、第二确定单元406、第二匹配单元407和第三确定单元408的具体工作过程,可参见本发明上述实施例公开的机器人重定位方法中的对应内容,这里不再进行赘述。

本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述机器人重定为方法。

本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:

当所述机器人启动时,调用预先设置的摄像头及激光雷达获取所述机器人当前所处的环境信息;

依据所述机器人当前所处的环境信息,构建以所述机器人当前所处位置为原点的局部地图,并生成所述局部地图对应的局部信息表;

获取预先设置的全局地图,及所述全局地图对应的全局信息表,并基于所述局部信息表与所述全局信息表之间的对应关系,在所述全局地图中选定与所述局部地图对应的目标局部地图;

将所述局部地图与所述目标局部地图进行匹配,得到所述局部地图与所述目标局部地图之间的误差参数;

基于所述误差参数,确定所述机器人处于所述目标局部地图中的有效误差区域;

在所述有效误差区域中选取多个像素点,并确定每个所述像素点在所述全局地图中对应的雷达数据集合;

确定所述机器人当前所处的环境信息中的当前雷达数据,并将所述当前雷达数据与每个所述雷达数据集合中的各个雷达数据进行匹配,获得与所述当前雷达数据相似度最高的目标雷达数据;

获取与所述目标雷达数据对应的目标位置像素点的目标位姿,确定所述目标位姿为所述机器人的真实位姿,完成对所述机器人的重定位。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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