一种机器人地图动态更新方法技术

技术编号:39896912 阅读:6 留言:0更新日期:2023-12-30 13:10
本发明专利技术涉及机器人技术领域,公开了一种机器人地图动态更新方法

【技术实现步骤摘要】
一种机器人地图动态更新方法、系统、设备及介质


[0001]本专利技术涉及机器人
,具体涉及一种机器人地图动态更新方法

系统

设备及存储介质


技术介绍

[0002]同步定位与地图构建
(Simultaneous Localization and Mapping
,简称
SLAM)
,是一种在未知环境中同时进行自主定位和地图构建的技术

在工业场景下,室内移动机器人可以依靠
SLAM
先进行地图构建,在此构建基础上开启
SLAM
定位模式,进行位置估计,以实现机器人的定位导航

[0003]然而,传统的
SLAM
方法在进行建图之后,地图则固定不变

若想要更新地图,则需要重新利用
SLAM
方法进行地图的构建,不仅会消耗较多的计算资源,还会消耗更多的时间

由于,工业场景的复杂多变,对机器人的定位技术提出了更高的要求,因此,需要一种高效率的动态更新地图的技术来应对多变的环境


技术实现思路

[0004]有鉴于此,本专利技术提供了一种机器人地图动态更新方法

系统

设备及存储介质,以解决现有技术中地图更新效率低的问题

[0005]第一方面,本专利技术提供了一种机器人地图动态更新方法,包括:
[0006]获取初始的局部子图以及移动机器人连续采集的点云数据,初始的局部子图为上一次生成的全局地图所对应的子图;
[0007]利用点云数据依次生成多个局部子图;
[0008]基于初始的局部子图以及生成的局部子图,建立网格地图,其中,每获得一个新生成的局部子图,网格地图更新一次,且初始的局部子图以及依次生成的局部子图均携带有子图的建立时间;
[0009]确定网格地图中每个网格对应的子图数量;
[0010]在网格对应的子图数量不止一个的情况下,删除网格对应的建立时间在前的局部子图,以使得每一个网格仅对应一个局部子图;
[0011]基于更新后的所有局部子图,生成最新的全局地图

[0012]本申请中的移动机器人中的定位模块是在已有的地图上实现定位导航,定位开启之后会不断新生成最新环境的局部子图,整个系统能实现在已有地图的基础上不断的生成局部子图,同时开启地图更新线程来实现机器人边定位边更新所有局部子图的效果,从而实现全局地图的更新

在更新全局地图的同时减小内存消耗,当室内环境发生较大变化时,能及时更新全局地图,避免机器人在作业时丢失定位的情况

采用本实施例提供的机器人地图动态更新方法,不仅能够实现实时动态更新全局地图的功能,且更新效率高,不会消耗较多的计算资源,还节省了内存空间

[0013]在一种可选的实施方式中,在利用点云数据依次生成多个局部子图之前,还包括:
[0014]获取上一次确定的移动机器人的位姿,将上一次生成的全局地图作为定位地图,将上一次确定的移动机器人的位姿作为初始位姿;
[0015]获取初始位姿对应的点云数据;
[0016]确定角度搜索窗口以及线性搜索窗口,角度搜索窗口用于移动机器人的姿态匹配,线性搜索窗口用于移动机器人的位置匹配;
[0017]基于初始位姿对应的点云数据,根据角度搜索窗口以及线性搜索窗口,生成预估位姿集合,预估位姿集合中包括多个预估位姿以及每个预估位姿对应的点云数据;
[0018]计算每一个预估位姿对应的点云数据与定位地图的匹配度,并确定匹配度最高的预估位姿;
[0019]利用匹配度最高的预估位姿与初始位姿之间的偏移量校正初始位姿,以获得最优位姿

[0020]根据移动机器人的初始位姿,不断的进行扫描匹配,确定出移动机器人的最优位姿,使得定位模式下新建的局部子图会在扫描匹配后与定位地图对应位置重合,便于后续更新局部子图数据,提高全局地图新建的精准度

[0021]在一种可选的实施方式中,基于初始的局部子图以及生成的局部子图,建立网格地图,包括:
[0022]获取初始化网格对应的像素坐标系以及像素坐标系的坐标范围,初始化网格为局部子图刚开始建立时的初始化网格;
[0023]确定每一个局部子图的起始点在地图坐标系下的物理坐标,局部子图的起始点为第一个插入局部子图的位姿;
[0024]基于物理坐标

坐标范围以及地图坐标系的坐标分辨率,确定网格地图的最大坐标;
[0025]其中,每确定一个局部子图的起始点则会确定一个最大坐标

[0026]会对后端保存的所有优化后的局部子图进行网格地图的重构更新,进而利用重构的网格地图去判断并删除重复

时间靠前的局部子图,以实现局部子图的更新,不仅可提高全局地图的更新效率,还可以减少内存空间的消耗

[0027]在一种可选的实施方式中,基于初始的局部子图以及生成的局部子图,建立网格地图,包括:
[0028]遍历局部子图中的所有子图网格在局部地图坐标系下的物理坐标,局部地图坐标系为在局部
SLAM
下的坐标系;
[0029]将子图网格在局部地图坐标系下的物理坐标,转换为子图网格在全局地图坐标系下的物理坐标,全局地图坐标系为在全局
SLAM
下的坐标系;
[0030]利用局部子图中的子图网格在全局地图坐标系下的物理坐标,建立网格地图

[0031]在一种可选的实施方式中,通过以下公式将局部地图坐标系下的物理坐标,转换为全局地图坐标系下的物理坐标:
[0032]P
local

(P
max
.x()

0.05*(cell.y()+0.5),P
max
.y()

0.05*(cell.x()+0.5),0)
[0033][0034]P
global

R
gl
*P
local
[0035]其中,
P
local
为子图网格在局部地图坐标系下的物理坐标,
P
global
为子图网格在全局地图坐标系下的物理坐标,
R
gl
为全局地图坐标系到局部地图坐标系下的坐标变换,
P
max
为最大坐标,
P
gs
为局部子图的起始点在全局地图坐标系下的坐标,为局部子图的起始点在局部地图坐标系下的逆,
0.05
为地图分辨率,
cell
为在局部子图上的像素坐标

[0036]在一种可选的实施方式中,利用局部子图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种机器人地图动态更新方法,其特征在于,所述方法包括:获取初始的局部子图以及移动机器人连续采集的点云数据,初始的所述局部子图为上一次生成的全局地图所对应的子图;利用所述点云数据依次生成多个所述局部子图;基于初始的所述局部子图以及生成的所述局部子图,建立网格地图,其中,每获得一个新生成的所述局部子图,所述网格地图更新一次,且初始的所述局部子图以及依次生成的所述局部子图均携带有子图的建立时间;确定所述网格地图中每个网格对应的子图数量;在所述网格对应的子图数量不止一个的情况下,删除所述网格对应的所述建立时间在前的所述局部子图,以使得每一个所述网格仅对应一个所述局部子图;基于更新后的所有所述局部子图,生成最新的全局地图
。2.
根据权利要求1所述的方法,其特征在于,在利用所述点云数据依次生成多个所述局部子图之前,还包括:获取上一次确定的所述移动机器人的位姿,将所述上一次生成的全局地图作为定位地图,将所述上一次确定的所述移动机器人的位姿作为初始位姿;获取所述初始位姿对应的所述点云数据;确定角度搜索窗口以及线性搜索窗口,所述角度搜索窗口用于移动机器人的姿态匹配,所述线性搜索窗口用于移动机器人的位置匹配;基于所述初始位姿对应的所述点云数据,根据所述角度搜索窗口以及所述线性搜索窗口,生成预估位姿集合,所述预估位姿集合中包括多个所述预估位姿以及每个所述预估位姿对应的点云数据;计算每一个所述预估位姿对应的所述点云数据与所述定位地图的匹配度,并确定所述匹配度最高的所述预估位姿;利用匹配度最高的所述预估位姿与所述初始位姿之间的偏移量校正所述初始位姿,以获得最优位姿
。3.
根据权利要求1所述的方法,其特征在于,所述基于初始的所述局部子图以及生成的所述局部子图,建立网格地图,包括:获取初始化网格对应的像素坐标系以及所述像素坐标系的坐标范围,所述初始化网格为所述局部子图刚开始建立时的初始化网格;确定每一个所述局部子图的起始点在地图坐标系下的物理坐标,所述局部子图的起始点为第一个插入所述局部子图的位姿;基于所述物理坐标

所述坐标范围以及所述地图坐标系的坐标分辨率,确定所述网格地图的最大坐标;其中,每确定一个所述局部子图的起始点,则会确定一个所述最大坐标
。4.
根据权利要求3所述的方法,其特征在于,所述基于初始的所述局部子图以及生成的所述局部子图,建立网格地图,包括:遍历所述局部子图中的所有子图网格在局部地图坐标系下的物理坐标,所述局部地图坐标系为在局部
SLAM
下的坐标系;将所述子图网格在所述局部地图坐标系下的物理坐标,转换为所述子图网格在全局地
图坐标系下的物理坐标,所述全局地图坐标系为在全局
SLAM
下的坐标系;利用所述局部子图中的所述子图网格在所述全局地图坐标系下的物理坐标,建立所述网格地图
。5.
根据权利要求4所述的方法,其特征在于,通过以下公式将所述局部地图坐标系下的物理坐标,转换为全局地图坐标系下的物理坐标:
P
local

(P
max
.x()

0.05*(cell.y()+0.5),P
max
.y()

0.05*(cell.x()+0.5)...

【专利技术属性】
技术研发人员:彭虎项昌晨唐王雷
申请(专利权)人:华晓精密工业苏州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1