CN115187617A - 一种点云地图分块方法 - Google Patents
一种点云地图分块方法 Download PDFInfo
- Publication number
- CN115187617A CN115187617A CN202210882298.8A CN202210882298A CN115187617A CN 115187617 A CN115187617 A CN 115187617A CN 202210882298 A CN202210882298 A CN 202210882298A CN 115187617 A CN115187617 A CN 115187617A
- Authority
- CN
- China
- Prior art keywords
- map
- point cloud
- blocks
- block
- cloud map
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种点云地图分块方法,遍历得出输入点云地图的边界,设置合适的地图分块尺寸,沿着X与Y轴方向,将点云地图分割成若干行与列,并对每块地图进行编号,根据地图在X与Y坐标轴上的最小下界限坐标值,遍历所有点,将所有点划分入相应的地图块中。相比于加载整张点云地图进行机器人的定位等操作,先对地图进行分块处理并加载,可大幅度提高计算效率,并减少了内存消耗。
Description
技术领域
本发明涉及三维点云地图领域,具体地说,是一种点云地图分块方法。
背景技术
现阶段,点云地图在机器人领域有着广泛的应用,是一种对机器人所属环境的三维模型描述,更是基于点云地图定位与导航的先决条件。根据环境的不同,点云地图的规模大小也存在着差异,较大的点云地图,考验着计算机的加载能力。为了减少内存消耗,提高后续机器人定位的计算速率,有必要提出一种新的点云地图分块方法。
发明内容
针对现有技术存在的问题,本发明公开一种点云地图分块方法,将较大规模的点云地图分割成若干小块,每次只加载机器人周围一定范围内的点云地图用于定位等计算,从而减少内存消耗,提高后续机器人定位的计算速率。
为了解决所述技术问题,本发明采用的技术方案是:一种点云地图分块方法,包括以下步骤:
S01)、输入点云地图,遍历得出点云地图在XOY平面上的边界,用点云在X与Y坐标轴上的最大最小值[Xmin,Xmax,Ymin,Ymax]表示,Xmin、Xmax表示点云在X坐标轴上的最大最小值,Ymin、Ymax表示点云在Y坐标轴上的最大最小值;
502)、设置地图分块尺寸grid_size,计算点云地图可分块数量:
divx=(Xmax-Xmin)/grid_size,
divy=(Ymax-Ymin)/grid_size,
其中divx表示沿点云地图X轴方向分块个数,divy表示沿点云地图Y轴方向分块个数,点云地图可分块总数div表示为:
div=divx*divy,
503)、对地图块进行编号,将每个地图块用grids[i]表示,其编号将由七个元素组成,表示为:
S04)、计算将整个点云地图划分成若干地图块后分别得到的在XY轴上的最小下界限坐标值,分别用min_x_bound与min_y_bound表示;
SO5)、用pi表示点云地图P中的点,有{pi∈P|i=0,1,2…n},n表示点云地图P中点的个数,遍历点云地图中所有点,计算每个点所属的地图块序号,将点划归入每一个地图块内,用idx与idy分别表示点所在地图块的行与列,则:
用id表示点所属的地图块序号,则:
id=idy*divx+idx,遍历点云地图中所有点,完成点云地图分块。
进一步的,步骤S03)中,以点云地图原点为起始点,遍历出地图上所有点的最大最小值,依次划分出若干地图块,每个地图块使用包含七种元素的编码来表示,表示方法如下:
进一步的,(Xmax-Xmin)/grid_size、(Ymax-Ymin)/grid_size、idx、idy采用进一法表示输出。
进一步的,若Xmin或Ymin为负值,(Xmin/grid_size)与(Ymin/grid_size)分别使用退一法表示输出,否则使用进一法表示输出。
本发明的有益效果:本发明公开了一种点云地图分块方法,遍历得出输入点云地图的边界,设置合适的地图分块尺寸,沿着X与Y轴方向,将点云地图分割成若干行与列,并对每块地图进行编号,根据地图在X与Y坐标轴上的最小下界限坐标值,遍历所有点,将所有点划分入相应的地图块中。相比于加载整张点云地图进行机器人的定位等操作,先对地图进行分块处理并加载,可大幅度提高计算效率,并减少了内存消耗。
附图说明
图1是本方法总体流程图;
图2是所使用的点云地图效果图。
具体实施方式
下面以具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式,但本发明的保护范围不仅限于下述的实施例。
实施例1
本发明公开一种点云地图分布方法,如图1所示,包括以下步骤:
S01)、输入点云地图,遍历得出点云地图在XOY平面上的边界,用点云在X与Y坐标轴上的最大最小值[Xmin,Xmax,Ymin,Ymax]表示,Xmin、Xmax表示点云在X坐标轴上的最大最小值,Ymin、Ymax表示点云在Y坐标轴上的最大最小值;
如图2为本实施例具体输入的点云地图,遍历得出点云地图在XOY平面上的边界,用点云在X与Y坐标轴上的最大最小值[-156.9,115.2,-152.8,72.4]表示,单位:米。
S02)、设置地图分块尺寸grid_size,本实施例将尺寸设置为40米,计算点云地图可分块数量:
divx=(Xmax-Xmin)/grid_size≈7,
divy=(Ymax-Ymin)/grid_size≈6,
式中(Xmax-Xmin)/grid_size与(Ymax-Ymin)/grid_size均采用“进一法”表示输出,divx表示沿点云地图X轴方向分块个数,divy表示沿点云地图Y轴方向分块个数,可理解为整个点云地图被分割成了divx行与divy列个地图块,并且地图块划分的起点为点云地图原点,点云地图可分块总数div表示为:
div=divx*divy=42,
S03)、对地图块进行编号,编号的目的一方面使得点云地图有序排列,方便后续准确加载,另一方面便于将点云地图中的每个点都划分入相应的地图块中。将每个地图块用grids[i]表示,其编号将由七个元素组成,表示为:
S04)、计算将整个点云地图划分成若干地图块后分别得到的在XY轴上的最小下界限坐标值,分别用min_x_bound与min_y_bound表示;
式中,若Xmin或Ymin为负值,(Xmin/grid_size)与(Ymin/grid_size)分别使用“退一法”,否则使用“进一法”。
SOS)、用pi表示点云地图P中的点,有{pi∈P|i=0,1,2…n},n表示点云地图P中点的个数,遍历点云地图中所有点,计算每个点所属的地图块序号,将点划归入每一个地图块内,用idx与idy分别表示点所在地图块的行与列,则:
用id表示点所属的地图块序号,则:
id=idy*divx+idx,
遍历点云地图中所有点,完成点云地图分块。
本实施例中,步骤S03)中,以点云地图原点为起始点,遍历出地图上所有点的最大最小值,依次划分出若干地图块,每个地图块使用包含七种元素的编码来表示,表示方法如下:
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。
Claims (4)
1.一种点云地图分块方法,其特征在于:包括以下步骤:
SO1)、输入点云地图,遍历得出点云地图在XOY平面上的边界,用点云在X与Y坐标轴上的最大最小值[Xmin,Xmax,Ymin,Ymax]表示,Xmin、Xmax表示点云在X坐标轴上的最大最小值,Ymin、Ymax表示点云在Y坐标轴上的最大最小值;
S02)、设置地图分块尺寸grid_size,计算点云地图可分块数量:
divx=(Xmax-Xmin)/grid_size,
divy=(Ymax-Ymin)/grid_size,
其中divx表示沿点云地图X轴方向分块个数,divy表示沿点云地图Y轴方向分块个数,点云地图可分块总数div表示为:
div=divx*divy,
S03)、对地图块进行编号,将每个地图块用grids[i]表示,其编号将由七个元素组成,表示为:
S04)、计算将整个点云地图划分成若干地图块后分别得到的在XY轴上的最小下界限坐标值,分别用min_x_bound与min_y_bound表示;
S05)、用pi表示点云地图P中的点,有{pi∈P|i=0,1,2…n},n表示点云地图P中点的个数,遍历点云地图中所有点,计算每个点所属的地图块序号,将点划归入每一个地图块内,用idx与idy分别表示点所在地图块的行与列,则:
用id表示点所属的地图块序号,则:
id=idy*divx+idx,
遍历点云地图中所有点,完成点云地图分块。
3.根据权利要求1所述的点云地图分块方法,其特征在于:(Xmax-Xmin)/grid_size、(Ymax-Ymin)/grid_size、idx、idy采用进一法表示输出。
4.根据权利要求1所述的点云地图分块方法,其特征在于:若Xmin或Ymin为负值,(Xmin/grid_size)与(Ymin/grid_size)分别使用退一法表示输出,否则使用进一法表示输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210882298.8A CN115187617A (zh) | 2022-07-25 | 2022-07-25 | 一种点云地图分块方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210882298.8A CN115187617A (zh) | 2022-07-25 | 2022-07-25 | 一种点云地图分块方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115187617A true CN115187617A (zh) | 2022-10-14 |
Family
ID=83520525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210882298.8A Pending CN115187617A (zh) | 2022-07-25 | 2022-07-25 | 一种点云地图分块方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115187617A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149931A (zh) * | 2023-08-30 | 2023-12-01 | 北京锐星远畅科技有限公司 | 一种探测点位置与探测设备节点的坐标快速匹配方法及系统 |
-
2022
- 2022-07-25 CN CN202210882298.8A patent/CN115187617A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149931A (zh) * | 2023-08-30 | 2023-12-01 | 北京锐星远畅科技有限公司 | 一种探测点位置与探测设备节点的坐标快速匹配方法及系统 |
CN117149931B (zh) * | 2023-08-30 | 2024-05-24 | 北京锐星远畅科技有限公司 | 一种探测点位置与探测设备节点的坐标快速匹配方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188423B (zh) | 一种基于有限元网格划分的线性工程结构快速bim建模方法 | |
CN112558547B (zh) | 一种五轴数控机床平动轴几何误差补偿数据快速优化方法 | |
CN110243373B (zh) | 一种动态仓储自动引导车的路径规划方法、装置和系统 | |
CN115187617A (zh) | 一种点云地图分块方法 | |
CN114756974B (zh) | 一种考虑物面法向信息的壁面距离计算方法 | |
CN112613126B (zh) | 一种应用于飞行器外形的壁面距离计算方法及装置 | |
CN114359226A (zh) | 基于分层叠加和区域增长的三维模型组可视面积提取方法 | |
Zhao et al. | Workspace analysis for a 9-DOF hyper-redundant manipulator based on an improved Monte Carlo method and voxel algorithm | |
CN113742829B (zh) | 一种桥梁结构任意截面读取处理和截面特性计算方法 | |
CN113792933A (zh) | 一种车间布局优化方法、装置、电子设备及存储介质 | |
CN108724734A (zh) | 一种基于密集特征的3d打印前处理分层算法 | |
CN108280307A (zh) | 发动机缸体孔系位置确定方法 | |
CN117115393A (zh) | 一种基于gpu的nurbs曲面并行求交方法、设备及存储介质 | |
CN115375872B (zh) | 一种gnss测量线状地物自动勾绘方法 | |
TWI406189B (zh) | 點雲三角網格面構建方法 | |
CN113505424B (zh) | 一种线性工程派生构件交互式建造方法 | |
CN108986212A (zh) | 一种基于裂缝消除的三维虚拟地形lod模型的生成方法 | |
CN111426329B (zh) | 一种道路生成方法、装置、计算机设备及存储介质 | |
CN111179420B (zh) | 一种三维城市模型优化方法及系统 | |
CN107507279A (zh) | 基于快速凸壳技术的三角网生成方法 | |
CN112685936A (zh) | 一种用于贝壳珍珠母微结构有限元分析的建模方法 | |
CN117593209B (zh) | 基于曲率驱动的多流图神经网络三维网格去噪方法及系统 | |
CN113553736B (zh) | 一种结构有限元快速加载方法 | |
CN110868325B (zh) | 一种可降低刚度矩阵构建难度的均匀网格划分方法 | |
CN115994988A (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 |