CN111504335B - 地图构建方法、装置、电子设备及存储介质 - Google Patents
地图构建方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111504335B CN111504335B CN202010328461.7A CN202010328461A CN111504335B CN 111504335 B CN111504335 B CN 111504335B CN 202010328461 A CN202010328461 A CN 202010328461A CN 111504335 B CN111504335 B CN 111504335B
- Authority
- CN
- China
- Prior art keywords
- map
- point cloud
- cloud data
- region
- point
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开提供一种地图构建方法、装置、电子设备及存储介质,所述方法包括下述步骤:获取第一地图的第一点云数据,其中,所述第一地图为闭环地图;数据采集终端从所述第一地图对应的地域范围内开始运动,经过环间地域后回到所述第一地图对应的地域范围内,并在运动过程中采集第二点云数据,其中,所述环间地域为所述第一地图对应的地域所包围的地域;根据第二点云数据生成第二地图;根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数;根据所述位姿变换参数对所述第一地图和所述第二地图进行坐标统一,生成目标地图。生成一个基于原地图的内扩地图,满足一些新的自动驾驶需求。
Description
技术领域
本公开涉及自动驾驶技术领域,具体涉及一种地图构建方法、装置、电子设备及存储介质。
背景技术
自动驾驶已经成为逐渐成为一项炙手可热的技术。自动驾驶技术的实现,离不开点云地图,因此如果希望车辆在一定区域内进行自动驾驶,就需要提前在该区域内构建点云地图。因此点云地图是基于最初的自动驾驶的需求而确定的,但是自动驾驶的需求经常会发生变化,因此原来的点云地图无法满足变化后的自动驾驶的需求。
发明内容
本公开提供一种地图构建方法、装置、电子设备及存储介质。
具体地,本公开是通过如下技术方案实现的:
第一方面,提供一种地图构建方法,所述方法包括下述步骤:
获取第一地图的第一点云数据,其中,所述第一地图为闭环地图;
数据采集终端从所述第一地图所对应的地域范围内开始运动,经过环间地域后回到所述第一地图对应的地域范围内,并在运动过程中采集第二点云数据,其中,所述环间地域为所述第一地图对应的地域所包围的地域;
根据第二点云数据生成第二地图;
根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数;
根据所述位姿变换参数对所述第一地图和所述第二地图进行坐标统一,生成目标地图。
进一步的,所述在运动动过程中采集第二点云数据,包括:
每间隔预设的时间间隔采集一帧点云数据;或,
每移动预设的距离间隔采集一帧点云数据。
进一步的,所述根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数,包括:
将所述第一地图所对应的地域分为多个第一单元空间,并确定每个第一单元空间内的第一点云数据的分布参数;
将所述第二地图所对应的地域分为多个第二单元空间,并在根据初始的位姿变换参数转换第二点云数据后确定每个第二单元空间内的第二点云数据的分布参数;
根据每个相同位置的第一单元空间内的第一点云数据的分布参数和第二单元空间内的第二点云数据的分布参数确定单元误差;
通过最小化总误差,调整位姿变换参数,以确定最终的位姿变换参数,其中,所述总误差为全部的单元误差之和。
进一步的,所述初始的位姿变换参数是根据所述数据采集终端运动的起点或终点处的第一点云数据和第二点云数据确定的。
进一步的,所述根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数,包括:
建立多个点对,每个点对均包括取自第一点云数据的第一点和取自第二点云数据的第二点;
根据初始的位姿变换参数计算每个点对对应的误差距离,其中,所述误差距离为第二点经过位姿变换参数转换后与第一点之间的距离;
通过最小化误差总距离,对所述位姿变换参数进行调整,以确定最终的位姿变换参数,其中,所述误差总距离为所有点对的误差距离之和。
进一步的,所述初始的位姿变换参数是根据所述数据采集终端运动的起点或终点处的第一点云数据和第二点云数据确定的。
第二方面,提供一种地图构建装置,所述装置包括:
获取模块,用于获取第一地图的第一点云数据,其中,所述第一地图为闭环地图;
采集模块,用于控制数据采集终端从所述第一地图所对应的地域范围内开始运动,经过环间地域后回到所述第一地图对应的地域范围内,并在运动过程中采集第二点云数据,其中,所述环间地域为所述第一地图对应的地域所包围的地域;
生成模块,用于根据第二点云数据生成第二地图;
参数模块,用于根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数;
目标模块,用于根据所述位姿变换参数对所述第一地图和所述第二地图进行坐标统一,生成目标地图。
进一步的,所述采集模块具体用于:
每间隔预设的时间间隔采集一帧点云数据;或,
每移动预设的距离间隔采集一帧点云数据。
进一步的,所述参数模块具体用于:
将所述第一地图所对应的地域分为多个第一单元空间,并确定每个第一单元空间内的第一点云数据的分布参数;
将所述第二地图所对应的地域分为多个第二单元空间,并在根据初始的位姿变换参数转换第二点云数据后确定每个第二单元空间内的第二点云数据的分布参数;
根据每个相同位置的第一单元空间内的第一点云数据的分布参数和第二单元空间内的第二点云数据的分布参数确定单元误差;
通过最小化总误差,调整位姿变换参数,以确定最终的位姿变换参数,其中,所述总误差为全部的单元误差之和。
进一步的,所述初始的位姿变换参数是根据所述数据采集终端运动的起点或终点处的第一点云数据和第二点云数据确定的。
进一步的,所述参数模块具体用于:
建立多个点对,每个点对均包括取自第一点云数据的第一点和取自第二点云数据的第二点;
根据初始的位姿变换参数计算每个点对对应的误差距离,其中,所述误差距离为第二点经过位姿变换参数转换后与第一点之间的距离;
通过最小化误差总距离,对所述位姿变换参数进行调整,以确定最终的位姿变换参数,其中,所述误差总距离为所有点对的误差距离之和。
进一步的,所述初始的位姿变换参数是根据所述数据采集终端运动的起点或终点处的第一点云数据和第二点云数据确定的。
第三方面,提供一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时基于如任一项上述的方法对地图进行构建。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如任一项上述的方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中的地图构建方法,首先获取第一地图的第一点云数据,也就是获取原地图的点云数据,然后数据采集终端从原地图对应的地域范围内开始运动,然后经过环间区域后回到原地图对应的地域范围,并在运动过程中采集第二点云数据,也就是采集新的点云数据,并基于新的点云数据建立新的地图,然后通过确定原地图与新地图间的位姿变换参数将两个地图进行坐标统一,以生成目标地图。当数据采集终端在第一地图对应的地域内运动时,可以对原地图的部分或全部数据进行更新;当数据采集终端在环间地域内运动时,可以对原地图环形地域内的缺失地域进行补充,生成一个基于原地图的内扩地图,通过对原地图的扩展能够满足一些新的自动驾驶需求,而且能够避免重新构建全部地图造成的工作量巨大和效率低下的问题。
附图说明
图1是本公开一示例性实施例示出的地图构建方法的流程图;
图2是本公开一示例性实施例示出的确定位子参数的的方法的流程图;
图3是本公开另一示例性实施例示出的确定位子参数的的方法的流程图;
图4是本公开一示例性实施例示出的地图构建装置的结构示意图;
图5是本公开一示例性实施例示出的设备的硬件示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
自动驾驶已经成为逐渐成为一项炙手可热的技术。自动驾驶技术的实现,离不开点云地图,因此如果希望车辆在一定区域内进行自动驾驶,就需要提前在该区域内构建点云地图。因此点云地图是基于最初的自动驾驶的需求而确定的,但是自动驾驶的需求经常会发生变化,因此原来的点云地图无法满足变化后的自动驾驶的需求。例如闭环地图所对应的地域为一个环形地域,该环形地域包围着一个环间地域,环间地域对应原地图上的内部缺失区域,当需要在环间地域内自动驾驶时,原来的点云地图就无法满足此时的需求。
首先,本公开提供了一种地图构建方法,对自动驾驶新的需求对应的区域,重新构建地图,以满足新的需求,即对内扩后的全部区域(即上述环形地域和环间地域)进行地图构建。地图的构建过程中需要采集点云数据,不仅要采集新扩展区域的点云数据,还要采集原地图区域的点云数据,而在原地图构建过程中已经采集了点云数据,因此重新建立地图的过程中对原地图区域重复采集点云数据,造成工作重复繁琐,运算量巨大,效率也相应很低下。
基于此,请参照附图1,本公开还提供一种地图构建方法,所述方法包括步骤S101至步骤S105:
在步骤S101中,获取第一地图的第一点云数据,其中,所述第一地图为闭环地图。
在本步骤中,从第一地图的服务器中获取第一点云数据,也就是获取原地图的点云数据。第一地图构建时,在其对应的地域内采集了多帧连续的点云数据,进而服务器对所采集的点云数据进行处理,采集到的点云数据被处理后转换为第一点云数据,再进行构建地图的其他操作后,完成第一地图的构建。其中的第一地图为闭环地图,也就是第一地图的起点和终点重合,构建第一地图时,从起点开始采集点云数据,经过一个环形后回到起点完成点云数据的采集,在通过后续的构建地图的操作,完成闭环地图的构建。由于闭环地图为环形,其对应的地域为一个环形地域,因此第一地图内部存在缺失区域,第一地图对应的地域内存在环间地域。
在步骤S102中,数据采集终端从所述第一地图所对应的地域范围内开始运动,经过环间地域后回到所述第一地图对应的地域范围内,并在运动过程中采集第二点云数据,其中,所述环间地域为所述第一地图对应的地域所包围的地域。
在本步骤中,数据采集终端采集点云数据,并且是从第一地图所对应的地域范围内开始,经过环间地域回到第一地图所对应的地域范围后结束,而且起点和终点不是同一点,也就是采集到的点云数据是与第一地图的第一点云数据有重合的,而且重合区域分为两部分,从起点至环间地域为一部分,从终点至环间地域为另一部分。具体的重合区域可以根据观察数据采集终端在第一地图所对应的地域范围内的活动路径进行确定;或者在数据采集终端采集点云数据时,同步进行GPS定位,然后根据采集时的GPS定位结果和对应的第一地图的位置进行确定。数据采集终端采集的点云数据经过处理后形成第二点云数据,存储在服务器内。
在本步骤中,数据采集终端采集点云数据的过程中,可以选择下述两种采集方式:每间隔预设的时间间隔采集一帧点云数据,或每移动预设的距离间隔采集一帧点云数据。
在一个示例中,数据采集终端为数据采集车,设置有采集数据用的摄像头等部件。
在一个示例中,数据采集终端从第一地图所对应的地域范围内的边缘位置开始运动,回到第一地图对应的地域范围内的边缘位置结束。
在步骤S103中,根据第二点云数据生成第二地图。
在本步骤中,基于对数据采集终端采集的新点云数据进行处理后的第二点云数据,在进行构建地图的其他操作后,完成第二地图的构建。由于采集的新的点云数据是从第一地图所对应的地域范围内开始的,且在第一地图所对应的地域范围内结束的,因此构建的第二地图所对应的地域与第一地图所对应的地域是有重复的,且重复的地域分为两部分。具体的重复地域的确定可以参照步骤S102中确定点云数据的重合区域的方法。
在步骤S104中,根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数。
在本步骤中,构建第一地图的过程中,所采集的点云数据经过处理后,形成了坐标统一的第一点云数据;同样,构建第二地图的过程中,所采集的点云数据经过处理后,形成了坐标统一的第二点云数据。第一地图所对应的地域和第二地图所对应的地域存在重合,第一点云数据与第二点云数据存在重合,但是第一点云数据和第二点云数据无法直接匹配或结合,因为二者的坐标并不统一,因此需要根据二者各自的坐标确定两个地图间的位姿变换参数,位姿变换参数用于结合两个地图,即用于统一第一点云数据和第二点云数据的坐标,例如将第一点云数据进行转换,以使其与第二点云数据的坐标进行统一,或将第二点云数据进行转换,以使其与第一点云数据的坐标进行统一。
在步骤S105中,根据所述位姿变换参数对所述第一地图和所述第二地图进行坐标统一,生成目标地图。
在本步骤中,可以利用位姿变换参数将第一地图的第一点云数据进行变换,使其与第二地图的第二点云数据的坐标统一,然后将变换后的第一点云数据和第二点云数据相加,然后再进行构建地图的其他操作后,完成目标地图的构建;还可以利用位姿变换参数将第二地图的第二点云数据进行变换,使其与第一地图的第一点云数据的坐标统一,然后将变换后的第二点云数据与第一点云数据相加,然后再进行构建地图的其他操作后,完成目标地图的构建。
在本实施例中,目标地图为基于第一地图的内扩地图。
本公开实施例中的地图构建方法,当数据采集终端在第一地图对应的地域内运动时,可以对原地图的部分或全部数据进行更新;当数据采集终端在环间地域内运动时,可以对原地图环形地域内的缺失地域进行补充,生成一个基于原地图的内扩地图,通过对原地图的扩展能够满足一些新的自动驾驶需求,而且能够避免重新构建全部地图造成的工作重复繁琐、运算量巨大和效率低下的问题。
请参照附图2,本公开的一些实施例示例性的示出了确定第一地图和第二地图的位姿变换参数的方法,具体是根据第一点云数据和第二点云数据进行确定的,包括步骤S201至步骤S204。
在步骤S201中,将所述第一地图所对应的地域分为多个第一单元空间,并确定每个第一单元空间内的第一点云数据的分布参数。
在本步骤中,第一单元空间作为对第一点云数据进行统计的最小单元,具体大小可以根据计算精度的要求进行确定,太大会导致精度不高,太小会导致运算量过高,第一单元空间可以为立方体形状。
在一个示例中,计算每个第一单元空间内的第一点云数据的正态分布参数,作为第一点云数据的分布参数。
在一个示例中,确定第一点云数据的分布参数前,还可以统计每个第一单元空间内的点云数据的点的个数,少于3个点的第一单元空间内的第一点云数据的分布参数不需计算,视为不存在第一点云数据。
在步骤S202中,将所述第二地图所对应的地域分为多个第二单元空间,并在根据初始的位姿变换参数转换第二点云数据后确定每个第二单元空间内的第二点云数据的分布参数。
在本步骤中,第二单元空间作为对第二点云数据进行统计的最小单元,第二单元空间的形状和大小与第一单元空间完全相同。因此第一地图所对应的地域划分为第一空间单元和第二地图所对应的地域划分为第二单元空间后,在第一地图所对应的地域与第二地图所对应的地域的并集地域,也就是在目标地图所对应的地域,全部地域被划分为多个单元空间,这些地域包括单独对应于第一地图的地域、单独对应于第二地图的地域和既对应于第一地图又对应于第二地图的地域三部分。其中单独对应于第一地图的地域内的单元空间中存在第一点云数据,因此能够计算得到每个单元空间内的第一点云数据的分布参数,单独对应于第一地图的地域内的单元空间中不存在第二点云数据,因此能够计算得到每个单元空间内的第二点云数据的分布参数为0;其中单独对应于第二地图的地域内的单元空间中存在第二点云数据,因此能够计算得到每个单元空间内的第二点云数据的分布参数,单独对应于第二地图的地域内的单元空间中不存在第一点云数据,因此能够计算得到每个单元空间内的第一点云数据的分布参数为0;既对应于第一地图,又对应于第二地图的地域内的单元空间中既存在第一点云数据,又存在第二点云数据,因此既能够计算得到每个单元空间内的第一点云数据的分布参数,又能够计算得到每个单元空间内的第二点云数据的分布参数。
本实施例中,上述提到的本步骤中计算空间单元内的第二点云数据的分布参数,全部是针对利用初始的位姿参数进行变换后的第二点云数据进行计算。
在本实施例中,可以根据所述数据采集终端运动的起点处的第一点云数据和第二点云数据确定初始的位姿变换参数。具体的,可以人为观察起点处的位置,从而人为确定对应于第一地图中的位置,获取到该位置处一帧第一点云数据,然后利用第一点云数据和该处的一帧第二点云数据计算得到转换矩阵,通过该转换矩阵对该帧第二点云数据进行转换后,得到该帧第一点云数据;还可以通过GPS定位系统随数据采集终端同步定位,每采集一帧点云数据,进行一次位置定位,根据数据采集终端运动的起点处的定位结果,获取到该位置处的一帧第一点云数据,然后利用该帧第一点云数据和该位置处采集到的一帧第二点云数据计算得到转换矩阵,通过该转换矩阵对该帧第二点云数据进行转换后,得到该帧第一点云数据;上述两种方式中得到的转换矩阵即为需要确定的初始的位姿变换参数。
在本实施例中,还可以根据所述数据采集终端运动的终点处的第一点云数据和第二点云数据确定初始的位姿变换参数。具体的方式与利用起点处的第一点云数据和第二点云数据进行确定的方式相同,上述对起点处的方式进行了详细介绍,终点处可以参照执行,这里不重复赘述。
在步骤S203中,根据每个相同位置的第一单元空间内的第一点云数据的分布参数和第二单元空间内的第二点云数据的分布参数确定单元误差。
在本步骤中,可以按照单独对应于第一地图的地域、单独对应于第二地图的地域和既对应于第一地图又对应于第二地图的地域三部分计算单元误差。其中,单独对应于第一地图的地域内的单元空间为第一单元空间,其内仅有第一点云数据,无经过转换的第二点云数据,因此这一部分地域内的每个单元空间内的第一点云数据的分布参数和第二点云数据的分布参数之间的误差很大,即误差就是第一点云数据的分布参数;单独对应于第二地图的地域内的单元空间为第二单元空间,其内仅有经过转换的第二点云数据,无第一点云数据,因此这一部分地域内的每个单元空间内的第一点云数据的分布参数和第二点云数据的分布参数之间的误差很大,即误差就是第二点云数据的分布参数;既对应于第一地图又对应于第二地图的地域内的单元空间既为第一单元空间,又为第二单元空间,即每个单元空间都是第一单元空间和第二单元空间的重合,因此每个单元空间内既有第一点云数据,又有第二点云数据,计算这一部分每个单元空间内的第一点云数据的分布参数与第二点云数据的分布参数的误差,受到位姿变换参数的影响很大,位姿变换参数影响第二点云数据转换后的分布参数,进而会影响每个单元空间的单元误差,后续对位姿变换参数进行调整的步骤中,位姿变换参数的变化的过程中,也是这一部分的单元误差能体现出变化,而前文的两部分的单元误差基本变化很小或无变化。
在步骤S204中,通过最小化总误差,调整位姿变换参数,以确定最终的位姿变换参数,其中,所述总误差为全部的单元误差之和。
在本步骤中,每调整一次位姿变换参数,就按照步骤S203对第一地图所对应的地域和第二地图所对应的地域的并集地域内的每个单元空间分别计算单元误差,其中单独对应于第一地图的地域内的单元空间的单元误差为该单元空间内的第一点云数据的分布参数的(因为该单元空间内的第二点云数据的分布参数为0);其中单独对应于第二地图的地域内的单元空间的单元误差为该单元空间内的第二点云数据的分布参数的(因为该单元空间内的第一点云数据的分布参数为0);其中既对应于第一地图又对应于第二地图的地域内的单元空间的单元误差为该单元空间内的第一点云数据的分布参数和第二点云数据的分布参数的误差。然后将这些单元误差相加得到总误差,当总误差降低至预设的误差阈值内或调整位置变换参数的次数超过预设的次数阈值时,停止调整位姿变换参数,确定此时的位姿变换参数为最终的位姿变换参数。
在上述通过步骤S201至步骤S204确定位姿参数的过程中,由于既对应于第一地图又对应于第二地图的地域分为两部分,即数据采集终端的运动起点至第一地图所对应地域的边缘间的一部分和数据采集终端的运动终点至第一地图所对应地域的边缘间的另一部分,因此第一地图和第二地图间的位姿变换参数能够确定的比较准确,极大地提高了通过位姿变换参数而统一的第一点云数据和第二点云数据的匹配程度。
请参照附图3,本公开的一些实施例示例性的示出了确定第一地图和第二地图的位姿变换参数的另一种方法,具体是根据第一点云数据和第二点云数据进行确定的,包括步骤S301至步骤303。
在步骤S301中,建立多个点对,每个点对均包括取自第一点云数据的第一点和取自第二点云数据的第二点。
本步骤中,在第一点云数据和第二点云数据间建立多个点对,具体的是在既对应于第一地图又对应于第二地图的地域内的第一点云数据和第二点云数据间建立多个点对。建立点对时,首先从上述地域中的第一点云数据中选择一个第一点,然后从该地域中的第二点云数据中选择一个与上述第一点距离最近的第二点,确定选择的第一点和第二点组成一个点对。按照上述方法建立多个点对,且每个第一点只能出现在一个点对中,每个第二点也只能出现在一个点对中,即第一点和第二点均不可重复使用。
在一个示例中,建立至少6个点对。
在步骤S302中,根据初始的位姿变换参数计算每个点对对应的误差距离,其中,所述误差距离为第二点经过位姿变换参数转换后与第一点之间的距离。
在本步骤中,首先通过初始的位姿变换参数转换第二点,位姿变换参数包括旋转矩阵和平移矩阵,通过位姿变换参数对第二点进行旋转和平移后,其坐标发生变化,然后再按照新的坐标计算其与第一点间的距离,该距离即为该点对的误差具体。按照上述方式计算每个点对的误差距离。
在本实施例中,可以根据数据采集终端运动的起点或终点处的第一点云数据和第二点云数据确定初始的位姿变换参数。具体的步骤可以参照步骤S202中确定初始的位姿变换参数的方式,即利用人为观察或GPS定位的方式辅助确定位姿变换参数,但是步骤S202和本步骤确定的位姿变换参数并不相同。
在步骤S303中,通过最小化误差总距离,对所述位姿变换参数进行调整,以确定最终的位姿变换参数,其中,所述误差总距离为所有点对的误差距离之和。
在本步骤中,每调整一次位姿变换参数,就按照步骤S302对步骤S301中建立的所有点对计算对应的误差距离。然后将所有误差距离相加得到误差总距离,当误差总距离降低至预设的距离阈值内或调整位姿变换参数的次数超过预设的次数阈值时,停止调整位姿变换参数,确定此时的位姿变换参数为最终的位姿变换参数。
在一个示例中,最终的位姿变换参数包括旋转矩阵、平移向量、透视变换向量和比例因子。一般透视变换向量为0,即不存在形变,比例因子为1,即不存在缩放;按照旋转矩阵和平移向量变换后的第二点,能够最大程度的接近对应的第一点,甚至重合。
在上述通过步骤S301至步骤S303确定位姿参数的过程中,由于既对应于第一地图又对应于第二地图的地域分为两部分,即数据采集终端的运动起点至第一地图所对应地域的边缘间的一部分和数据采集终端的运动终点至第一地图所对应地域的边缘间的另一部分,因此第一地图和第二地图间的位姿变换参数能够确定的比较准确,极大地提高了通过位姿变换参数而统一的第一点云数据和第二点云数据的匹配程度。
请参照附图4,本公开的第二方面,还提供一种地图构建装置,所述装置包括:
获取模块401,用于获取第一地图的第一点云数据,其中,所述第一地图为闭环地图;
采集模块402,用于控制数据采集终端从所述第一地图所对应的地域范围内开始运动,经过环间地域后回到所述第一地图对应的地域范围内,并在运动过程中采集第二点云数据,其中,所述环间地域为所述第一地图对应的地域所包围的地域;
生成模块403,用于根据第二点云数据生成第二地图;
参数模块404,用于根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数;
目标模块405,用于根据所述位姿变换参数对所述第一地图和所述第二地图进行坐标统一,生成目标地图。
在本公开的一些实施例中,所述采集模块具体用于:
每间隔预设的时间间隔采集一帧点云数据;或,每移动预设的距离间隔采集一帧点云数据。
请参照附图5,本公开的第三方面,还提供一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时基于如任一项上述的方法对地图进行构建。
本公开的第四方面,还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如任一项上述的方法。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (10)
1.一种地图构建方法,其特征在于,所述方法包括下述步骤:
获取第一地图的第一点云数据,其中,所述第一地图为闭环地图,闭环地图所对应的地域为一个环形地域;
数据采集终端从所述第一地图对应的地域范围内开始运动,经过环间地域后回到所述第一地图对应的地域范围内,并在运动过程中采集第二点云数据,其中,所述环间地域为所述第一地图对应的地域所包围的地域,所述环间地域为所述第一地图内部的缺失区域对应的地域;
根据第二点云数据生成第二地图;
根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数;
利用所述位姿变换参数将第一地图的第一点云数据进行变换,对所述第一地图和所述第二地图进行坐标统一,经变换后的第一点云数据和第二点云数据相加后,生成目标地图。
2.根据权利要求1所述的地图构建方法,其特征在于,所述在运动过程中采集第二点云数据,包括:
每间隔预设的时间间隔采集一帧点云数据;或,
每移动预设的距离间隔采集一帧点云数据。
3.根据权利要求1所述的地图构建方法,其特征在于,所述根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数,包括:
将所述第一地图所对应的地域分为多个第一单元空间,并确定每个第一单元空间内的第一点云数据的分布参数;
将所述第二地图所对应的地域分为多个第二单元空间,并在根据初始的位姿变换参数转换第二点云数据后确定每个第二单元空间内的第二点云数据的分布参数;
根据每个相同位置的第一单元空间内的第一点云数据的分布参数和第二单元空间内的第二点云数据的分布参数确定单元误差;
通过最小化总误差,调整位姿变换参数,以确定最终的位姿变换参数,其中,所述总误差为全部的单元误差之和。
4.根据权利要求3所述的地图构建方法,其特征在于,所述初始的位姿变换参数是根据所述数据采集终端运动的起点或终点处的第一点云数据和第二点云数据确定的。
5.根据权利要求1所述的地图构建方法,其特征在于,所述根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数,包括:
建立多个点对,每个点对均包括取自第一点云数据的第一点和取自第二点云数据的第二点;
根据初始的位姿变换参数计算每个点对对应的误差距离,其中,所述误差距离为第二点经过位姿变换参数转换后与第一点之间的距离;
通过最小化误差总距离,对所述位姿变换参数进行调整,以确定最终的位姿变换参数,其中,所述误差总距离为所有点对的误差距离之和。
6.根据权利要求5所述的地图构建方法,其特征在于,所述初始的位姿变换参数是根据所述数据采集终端运动的起点或终点处的第一点云数据和第二点云数据确定的。
7.一种地图构建装置,其特征在于,所述装置包括:
获取模块,用于获取第一地图的第一点云数据,其中,所述第一地图为闭环地图,闭环地图所对应的地域为一个环形地域;
采集模块,用于控制数据采集终端从所述第一地图所对应的地域范围内开始运动,经过环间地域后回到所述第一地图对应的地域范围内,并在运动过程中采集第二点云数据,其中,所述环间地域为所述第一地图对应的地域所包围的地域,所述环间地域为所述第一地图内部的缺失区域对应的地域;
生成模块,用于根据第二点云数据生成第二地图;
参数模块,用于根据所述第一点云数据与所述第二点云数据确定所述第一地图与所述第二地图的位姿变换参数;
目标模块,利用所述位姿变换参数将第一地图的第一点云数据进行变换,对所述第一地图和所述第二地图进行坐标统一,经变换后的第一点云数据和第二点云数据相加后,生成目标地图。
8.根据权利要求7所述的地图构建装置,其特征在于,所述采集模块具体用于:
每间隔预设的时间间隔采集一帧点云数据;或,
每移动预设的距离间隔采集一帧点云数据。
9.一种电子设备,其特征在于,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时基于权利要求1至6中任一项所述的方法对地图进行构建。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328461.7A CN111504335B (zh) | 2020-04-23 | 2020-04-23 | 地图构建方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328461.7A CN111504335B (zh) | 2020-04-23 | 2020-04-23 | 地图构建方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111504335A CN111504335A (zh) | 2020-08-07 |
CN111504335B true CN111504335B (zh) | 2022-08-05 |
Family
ID=71874566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010328461.7A Active CN111504335B (zh) | 2020-04-23 | 2020-04-23 | 地图构建方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111504335B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568997A (zh) * | 2021-07-30 | 2021-10-29 | 京东鲲鹏(江苏)科技有限公司 | 点云地图更新方法、装置、电子设备和计算机可读介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760811B (zh) * | 2016-01-05 | 2019-03-22 | 福州华鹰重工机械有限公司 | 全局地图闭环匹配方法及装置 |
CN107179086B (zh) * | 2017-05-24 | 2020-04-24 | 北京数字绿土科技有限公司 | 一种基于激光雷达的制图方法、装置及系统 |
CN109523581B (zh) * | 2017-09-19 | 2021-02-23 | 华为技术有限公司 | 一种三维点云对齐的方法和装置 |
CN108279670B (zh) * | 2017-12-29 | 2021-12-10 | 百度在线网络技术(北京)有限公司 | 用于调整点云数据采集轨迹的方法、设备以及计算机可读介质 |
CN108550318B (zh) * | 2018-03-12 | 2020-09-29 | 浙江大华技术股份有限公司 | 一种构建地图的方法及装置 |
CN110363179B (zh) * | 2019-07-23 | 2022-03-25 | 联想(北京)有限公司 | 地图获取方法、装置、电子设备以及存储介质 |
-
2020
- 2020-04-23 CN CN202010328461.7A patent/CN111504335B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111504335A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111508072B (zh) | 地图构建方法、装置、电子设备及存储介质 | |
CN110874100B (zh) | 用于使用视觉稀疏地图进行自主导航的系统和方法 | |
CN110849369B (zh) | 机器人跟踪方法、装置、设备及计算机可读存储介质 | |
CN108279670B (zh) | 用于调整点云数据采集轨迹的方法、设备以及计算机可读介质 | |
EP3680690A1 (en) | Sensor data processing method and apparatus | |
CN110930495A (zh) | 基于多无人机协作的icp点云地图融合方法、系统、装置及存储介质 | |
CN112595323A (zh) | 机器人及其建图方法和装置 | |
CN110501036A (zh) | 传感器参数的标定检查方法及装置 | |
CN113048980B (zh) | 位姿优化方法、装置、电子设备及存储介质 | |
CN114898313B (zh) | 驾驶场景的鸟瞰图生成方法、装置、设备及存储介质 | |
CN111209978A (zh) | 三维视觉重定位方法、装置及计算设备、存储介质 | |
CN110361005B (zh) | 定位方法、定位装置、可读存储介质及电子设备 | |
CN111080682B (zh) | 点云数据的配准方法及装置 | |
CN111553937B (zh) | 激光点云地图构建方法、装置、设备及系统 | |
CN109190674A (zh) | 训练数据的生成方法及装置 | |
CN111047652B (zh) | 一种快速的多tof相机外参标定方法和装置 | |
CN111504335B (zh) | 地图构建方法、装置、电子设备及存储介质 | |
US20240257501A1 (en) | Feature map generation method and apparatus, storage medium, and computer device | |
CN112362059B (zh) | 移动载体的定位方法、装置、计算机设备和介质 | |
CN113592015B (zh) | 定位以及训练特征匹配网络的方法和装置 | |
CN110413716B (zh) | 数据存储和数据查询方法、装置及电子设备 | |
CN113009908A (zh) | 一种无人设备的运动控制方法、装置、设备及存储介质 | |
CN112223281A (zh) | 机器人及其定位方法和装置 | |
CN115457202B (zh) | 一种三维模型更新的方法、装置及存储介质 | |
CN109389677B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |