一种点云地图分块方法技术

技术编号:35222939 阅读:40 留言:0更新日期:2022-10-15 10:41
本发明专利技术公开了一种点云地图分块方法,遍历得出输入点云地图的边界,设置合适的地图分块尺寸,沿着X与Y轴方向,将点云地图分割成若干行与列,并对每块地图进行编号,根据地图在X与Y坐标轴上的最小下界限坐标值,遍历所有点,将所有点划分入相应的地图块中。相比于加载整张点云地图进行机器人的定位等操作,先对地图进行分块处理并加载,可大幅度提高计算效率,并减少了内存消耗。减少了内存消耗。减少了内存消耗。

【技术实现步骤摘要】
一种点云地图分块方法


[0001]本专利技术涉及三维点云地图领域,具体地说,是一种点云地图分块方法。

技术介绍

[0002]现阶段,点云地图在机器人领域有着广泛的应用,是一种对机器人所属环境的三维模型描述,更是基于点云地图定位与导航的先决条件。根据环境的不同,点云地图的规模大小也存在着差异,较大的点云地图,考验着计算机的加载能力。为了减少内存消耗,提高后续机器人定位的计算速率,有必要提出一种新的点云地图分块方法。

技术实现思路

[0003]针对现有技术存在的问题,本专利技术公开一种点云地图分块方法,将较大规模的点云地图分割成若干小块,每次只加载机器人周围一定范围内的点云地图用于定位等计算,从而减少内存消耗,提高后续机器人定位的计算速率。
[0004]为了解决所述技术问题,本专利技术采用的技术方案是:一种点云地图分块方法,包括以下步骤:
[0005]S01)、输入点云地图,遍历得出点云地图在XOY平面上的边界,用点云在X与Y坐标轴上的最大最小值[X
min
,X
max
,Y
min
,Y
max
]表示,X
min
、X
max
表示点云在X坐标轴上的最大最小值,Y
min
、Y
max
表示点云在Y坐标轴上的最大最小值;
[0006]502)、设置地图分块尺寸grid_size,计算点云地图可分块数量:
[0007]div
x
>=(X
max

X
min
)/grid_size,
[0008]div
y
=(Y
max

Y
min
)/grid_size,
[0009]其中div
x
表示沿点云地图X轴方向分块个数,div
y
表示沿点云地图Y轴方向分块个数,点云地图可分块总数div表示为:
[0010]div=div
x
*div
y

[0011]503)、对地图块进行编号,将每个地图块用grids[i]表示,其编号将由七个元素组成,表示为:
[0012][0013]其中grid
id
表示地图块序号,与表示该地图块在所有分块中的行与列,与分别表示地图块在XOY平面上的下界线最小值,即表示地图块左下角顶点在XY轴上的坐标,与表示地图块右上角在XY轴上的坐标;
[0014]S04)、计算将整个点云地图划分成若干地图块后分别得到的在XY轴上的最小下界限坐标值,分别用min_x_bound与min_y_bound表示;
[0015][0016]SO5)、用p
i
表示点云地图P中的点,有{p
i
∈P|i=0,1,2

n},n表示点云地图P中点
的个数,遍历点云地图中所有点,计算每个点所属的地图块序号,将点划归入每一个地图块内,用idx与idy分别表示点所在地图块的行与列,则:
[0017][0018]用id表示点所属的地图块序号,则:
[0019]id=idy*div
x
+idx,遍历点云地图中所有点,完成点云地图分块。
[0020]进一步的,步骤S03)中,以点云地图原点为起始点,遍历出地图上所有点的最大最小值,依次划分出若干地图块,每个地图块使用包含七种元素的编码来表示,表示方法如下:
[0021][0022]式中,grid
id
表示地图块序号,与表示该地图块在所有分块中的行与列,与分别表示地图块在XOY平面上的下界线最小值,即表示地图块左下角顶点在XY轴上的坐标,与表示地图块右上角在XY轴上的坐标。
[0023]进一步的,(X
max

X
min
)/grid_size、(Y
max

Y
min
)/grid_size、idx、idy采用进一法表示输出。
[0024]进一步的,若X
min
或Y
min
为负值,(X
min
/grid_size)与(Y
min
/grid_size)分别使用退一法表示输出,否则使用进一法表示输出。
[0025]本专利技术的有益效果:本专利技术公开了一种点云地图分块方法,遍历得出输入点云地图的边界,设置合适的地图分块尺寸,沿着X与Y轴方向,将点云地图分割成若干行与列,并对每块地图进行编号,根据地图在X与Y坐标轴上的最小下界限坐标值,遍历所有点,将所有点划分入相应的地图块中。相比于加载整张点云地图进行机器人的定位等操作,先对地图进行分块处理并加载,可大幅度提高计算效率,并减少了内存消耗。
附图说明
[0026]图1是本方法总体流程图;
[0027]图2是所使用的点云地图效果图。
具体实施方式
[0028]下面以具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式,但本专利技术的保护范围不仅限于下述的实施例。
[0029]实施例1
[0030]本专利技术公开一种点云地图分布方法,如图1所示,包括以下步骤:
[0031]S01)、输入点云地图,遍历得出点云地图在XOY平面上的边界,用点云在X与Y坐标轴上的最大最小值[X
min
,X
max
,Y
min
,Y
max
]表示,X
min
、X
max
表示点云在X坐标轴上的最大最小值,Y
min
、Y
max
表示点云在Y坐标轴上的最大最小值;
[0032]如图2为本实施例具体输入的点云地图,遍历得出点云地图在XOY平面上的边界,用点云在X与Y坐标轴上的最大最小值[

156.9,115.2,

152.8,72.4]表示,单位:米。
[0033]S02)、设置地图分块尺寸grid_size,本实施例将尺寸设置为40米,计算点云地图
可分块数量:
[0034]div
x
=(X
max

X
min
)/grid_size≈7,
[0035]div
y
=(Y
max

Y
min
)/grid_size≈6,
[0036]式中(X
max

X
min
)/grid_size与(Y
max

Y
min
)/grid_size均采用“进一法”表示输出,div本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种点云地图分块方法,其特征在于:包括以下步骤:SO1)、输入点云地图,遍历得出点云地图在XOY平面上的边界,用点云在X与Y坐标轴上的最大最小值[X
min
,X
max
,Y
min
,Y
max
]表示,X
min
、X
max
表示点云在X坐标轴上的最大最小值,Y
min
、Y
max
表示点云在Y坐标轴上的最大最小值;S02)、设置地图分块尺寸grid_size,计算点云地图可分块数量:div
x
=(X
max

X
min
)/grid_size,div
y
=(Y
max

Y
min
)/grid_size,其中div
x
表示沿点云地图X轴方向分块个数,div
y
表示沿点云地图Y轴方向分块个数,点云地图可分块总数div表示为:div=div
x
*div
y
,S03)、对地图块进行编号,将每个地图块用grids[i]表示,其编号将由七个元素组成,表示为:其中grid
id
表示地图块序号,与表示该地图块在所有分块中的行与列,与分别表示地图块在XOY平面上的下界线最小值,即表示地图块左下角顶点在XY轴上的坐标,与表示地图块右上角在XY轴上的坐标;S04)、计算将整个点云地图划分成若干地图块后分别得到的在XY轴上的最小下界限坐标值,分别用min...

【专利技术属性】
技术研发人员:刘欢马辰高明高发钦程瑶李洪生
申请(专利权)人:山东新一代信息产业技术研究院有限公司
类型:发明
国别省市:

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

1