CN114219908A - 地图构建方法及装置 - Google Patents

地图构建方法及装置 Download PDF

Info

Publication number
CN114219908A
CN114219908A CN202111525329.6A CN202111525329A CN114219908A CN 114219908 A CN114219908 A CN 114219908A CN 202111525329 A CN202111525329 A CN 202111525329A CN 114219908 A CN114219908 A CN 114219908A
Authority
CN
China
Prior art keywords
point cloud
cloud data
pose
frame
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.)
Pending
Application number
CN202111525329.6A
Other languages
English (en)
Inventor
包麒麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN202111525329.6A priority Critical patent/CN114219908A/zh
Publication of CN114219908A publication Critical patent/CN114219908A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • G06T2207/10044Radar image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Remote Sensing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Graphics (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Traffic Control Systems (AREA)

Abstract

本申请提供了地图构建方法及装置,在建立点云数据和位姿的关联关系的过程中,针对任一帧点云数据,获取在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳;获得在采集该帧点云数据的过程中激光雷达的目标位姿变化信息;基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定的所述点云数据关联的位姿更加准确,从而使得得到两两相邻两帧点云数据之间的相对位姿更加准确,基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建得到的所述被测对象的三维图像更加准确。

Description

地图构建方法及装置
技术领域
本申请涉及定位导航技术领域,更具体的说,是涉及地图构建方法及装置。
背景技术
SLAM(simultaneous localization and mapping,同步定位与地图创建)技术的原理是:利用激光雷达向被测对象发射光线并接收由被测对象反射的光线,计算该束光线的飞行距离,以得到被测对象与激光雷达的距离。激光雷达包括多个激光传感器,若利用多个激光传感器发射光线,则可以得到多个点,每一点的采集信息包括:该点对应的激光传感器位于激光雷达中的位置,该点对应的激光传感器发射的光线的次序以及该点对应的距离,将激光雷达中各个激光传感器扫描一圈后得到的多个点的称为一帧点云数据。通过对不同时刻两帧点云数据进行匹配与比对,计算出激光雷达在这两个时刻之间的相对位姿。若以第一帧的位姿为初始位姿,那么后续的每一帧点云数据都可以基于相对位姿,将本帧的点云数据变换到第一帧点云数据所在坐标系上,从而构建出点云地图;基于点云地图构建被测对象的三维图像。
在将两帧点云数据进行匹配与比对的过程中,由于采集激光雷达的位姿的位姿采集模块的采集频率与激光雷达采集点云数据的频率不同,导致位姿采集模块采集得到的位姿的数目与激光雷达得到的点云数据的帧数不同,所以需要基于各帧点云数据的时间戳与各个位姿的时间戳,将各帧点云数据与位姿建立关联。
目前,基于各帧点云数据的时间戳与各个位姿的时间戳,将各帧点云数据与位姿建立关联的方法不准确,使得计算得到的激光雷达在这两个时刻之间的相对位姿不准确,导致得到的点云地图不准确,最终导致基于点云地图构建被测对象的三维图像不准确。
发明内容
有鉴于此,本申请提供了一种地图构建方法及装置。
为实现上述目的,本申请提供如下技术方案:
根据本公开实施例的第一方面,提供一种地图构建方法,包括:
获取被测对象对应的多帧点云数据以及所述多帧点云数据分别对应的时间戳;
针对所述多帧点云数据中任一帧点云数据,获取在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳;
获取在采集所述点云数据的过程中所述激光雷达的目标位姿变化信息,其中,所述目标位姿变化信息是基于所述位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息得到的;
基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定所述点云数据关联的位姿,以得到所述多帧点云数据分别关联的位姿;
针对所述多帧点云数据中任一帧点云数据,基于所述点云数据关联的位姿与所述点云数据的前一帧点云数据关联的位姿,确定两帧点云数据之间的相对位姿,以得到所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿;
基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建所述被测对象的三维图像。
结合第一方面,在第一种可能的实现方式中,所述获取在采集所述点云数据的过程中所述激光雷达的目标位姿变化信息包括:
基于所述多个位姿分别对应的时间戳以及所述多个位姿,确定所述激光雷达的第一位姿变化信息;
获得所述位姿采集模块采集的所述激光雷达的第二位姿变化信息,其中,位姿采集模块采集的第二位姿变化信息对应的时间戳为距离所述点云数据对应的时间戳最近的时间戳;
基于所述第一位姿变化信息、第二位姿变化信息以及第一设定权重,确定目标位姿变化信息,所述第一设定权重用于表征所述第二位姿变化信息的准确度。
结合第一方面,在第二种可能的实现方式中,所述基于所述第一位姿变化信息、第二位姿变化信息以及第一设定权重,确定目标位姿变化信息包括:
基于以下公式确定所述目标位姿变化信息:
V=λVrtk/imu+(1-λ)Vstam
其中,V为所述目标位姿变化信息,Vrtk/imu为所述第二位姿变化信息,Vslam为所述第一位姿变化信息,λ为所述第一设定权重,所述第一设定权重基于计算所述第二位姿变化信息的卫星的数目以及所述激光雷达的速度协方差矩阵得到的。
结合第一方面,在第三种可能的实现方式中,λ=a*V_xyzcov+b*GPS_num,其中,V_xyzcov为激光雷达的速度协方差矩阵,GPS_num为卫星的数目,a和b为标定参数。
结合第一方面,在第四种可能的实现方式中,所述基于所述点云数据关联的位姿与所述点云数据的前一帧点云数据关联的位姿,确定两帧点云数据之间的相对位姿包括:
从所述点云数据中获取边缘特征点集合以及平面特征点集合,所述边缘特征点集合包括一个或多个边点,所述平面特征点集合包括一个或多个面点;
基于第一待定相对位姿将所述前一帧点云数据的边缘特征点集合映射至所述点云数据所在的目标坐标系中,构成第一候选边缘特征点集合;
基于所述第一待定相对位姿将所述前一帧点云数据的平面特征点集合映射至所述目标坐标系中,构成第一候选平面特征点集合;
基于所述第一候选边缘特征点集合以及位于所述目标坐标系中的边缘特征点集合,确定第一误差;
基于所述第一候选平面特征点集合以及位于所述目标坐标系中的平面特征点集合,确定第二误差;
确定使得所述第一误差与所述第二误差之和最小的所述第一待定相对位姿,为两帧点云数据的相对位姿;
其中,所述第一误差与所述第二误差之和为误差函数f(R,T),所述误差函数的公式如下:
Figure BDA0003410105570000031
pi为所述点云数据中属于平面特征点集合或边缘特征点集合中的点的坐标,若pi属于平面特征点集合,则qi属于第一候选平面特征点集合中的点,若pi属于边缘特征点集合,则qi属于第一候选边缘特征点集合中的点,R为所述点云数据和所述前一帧点云数据之间的相对的旋转矩阵,T为所述点云数据和所述前一帧点云数据之间的相对平移矩阵,使得所述误差函数最小的第一待定相对位姿为所述点云数据和所述前一帧点云数据之间的相对位姿(R,T)。
结合第一方面,在第五种可能的实现方式中,所述从所述点云数据中获取边缘特征点集合以及平面特征点集合包括:
将所述点云数据中位于同一平面的激光传感器得到的点划分至多个区域;
针对所述多个区域中任一区域,若所述区域中平滑度最小的第一数目个点中存在平滑度小于第一阈值的第一目标点,确定所述第一目标点为面点;
针对所述多个区域中任一区域,若所述区域中平滑度最高的第二数目个点中存在平滑度大于第二阈值的第二目标点,确定所述第二目标点为边点;
将从多个区域中确定的面点划分至所述平面特征点集合;
将从多个区域中确定的边点划分至所述边缘特征点集合。
结合第一方面,在第六种可能的实现方式中,针对每一点的平滑度c的计算公式如下:
Figure BDA0003410105570000041
其中,k表示位于第k平面的激光传感器,XK,i为位于第k平面的激光传感器发射的第i个光线对应的点对应的距离,XK,j为位于第k平面的激光传感器发射的第i个光线对应的点的极角领域内的点对应的距离。
结合第一方面,在第七种可能的实现方式中,所述基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建所述被测对象的三维图像包括:
对于所述多帧点云数据中任一帧点云数据,若所述点云数据与前一帧关键帧的距离大于或等于第三阈值,确定所述点云数据为关键帧;
基于所述点云数据与前一帧点云数据的相对位姿以及所述前一帧点云数据至第一帧点云数据中两两相邻的点云数据之间的相对位姿,获得所述点云数据相对于第一帧点云数据的第一相对位姿;
基于第二待定相对位姿将所述点云数据的边缘特征点集合映射至已构建的点云地图,构成第二候选边缘特征点集合,所述点云地图的坐标系为所述第一帧点云数据对应的坐标系;
基于所述第二候选边缘特征点集合与所述点云地图,确定第三误差;
基于所述第二待定相对位姿将所述点云数据的平面特征点集合映射至所述点云地图,构成第二候选平面特征点集合;
基于所述第二候选平面特征点集合与所述点云地图,确定第四误差;
确定使得所述第三误差与所述第四误差之和最小的所述第二待定相对位姿,为所述点云数据与所述点云地图的第二相对位姿;
基于所述第一相对位姿和所述第二相对位姿,获得所述点云数据相对于所述点云地图的目标相对位姿;
若所述点云数据与前一帧关键帧的距离小于所述第三阈值,确定所述点云数据为非关键帧;
基于所述点云数据与前一帧关键帧的相对位姿和前一帧关键帧与所述点云地图的相对位姿,确定所述点云数据相对于所述点云地图的目标相对位姿;
基于所述目标相对位姿,将所述点云数据中的面点和边点映射至所述点云地图中,以得到包含所述多帧点云数据中的边点和面点的点云地图;
基于所述点云地图构建所述被测对象的三维图像。
结合第一方面,在第八种可能的实现方式中,所述基于所述第一相对位姿和所述第二相对位姿,获得所述点云数据相对于所述点云地图的目标相对位姿包括:
获取所述位姿采集模块采集的所述点云数据相对于所述点云地图的第三相对位姿;
基于所述第一相对位姿、所述第二相对位姿、所述第三相对位姿以及第二设定权重,获得所述目标相对位姿,所述第二设定权重用于表征所述第三相对位姿的准确度。
根据本公开实施例的第二方面,提供一种地图构建装置,包括:
第一获取模块,用于获取被测对象对应的多帧点云数据以及所述多帧点云数据分别对应的时间戳;
第二获取模块,用于针对所述多帧点云数据中任一帧点云数据,获取在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳;
第三获取模块,用于获取在采集所述点云数据的过程中所述激光雷达的目标位姿变化信息,其中,所述目标位姿变化信息是基于所述位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息得到的;
第一确定模块,用于基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定所述点云数据关联的位姿,以得到所述多帧点云数据分别关联的位姿;
第二确定模块,用于针对所述多帧点云数据中任一帧点云数据,基于所述点云数据关联的位姿与所述点云数据的前一帧点云数据关联的位姿,确定两帧点云数据之间的相对位姿,以得到所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿;
构建模块,用于基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建所述被测对象的三维图像。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的地图构建方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面所述的地图构建方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面所述的地图构建方法。
经由上述的技术方案可知,本申请提供的地图构建方法中,在建立点云数据和位姿的关联关系的过程中,针对任一帧点云数据,获取在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳;获得在采集该帧点云数据的过程中激光雷达的目标位姿变化信息;基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定的所述点云数据关联的位姿更加准确,从而使得得到两两相邻两帧点云数据之间的相对位姿更加准确,基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建得到的所述被测对象的三维图像更加准确。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例涉及的硬件架构的示意图;
图2为本申请实施例提供的激光雷达的一种实现方式的结构示意图;
图3为本申请实施例提供的二维图的示意图;
图4为相关技术建立点云数据与位姿的关联关系的示意图;
图5为本申请实施例提供的地图构建方法的流程图;
图6为本申请实施例提供的高频高精度定和低频高精度定位相融合的示意图;
图7为本申请实施例提供的地图构建装置的结构图;
图8是根据一示例性实施例示出的一种用于电子设备的装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种地图构建方法及装置,在介绍本申请提供的技术方案之前,先对本申请涉及的相关技术和硬件架构进行说明。
首先对本申请涉及的硬件架构进行说明。
如图1所示,为本申请实施例涉及的硬件架构的示意图。该硬件架构可以包括:激光雷达11、位姿采集模块12、承载激光雷达11的承载设备13以及电子设备14。
激光雷达11可以由可以移动的承载设备13承载,例如承载设备13可以为车辆或机器人或无人机,图1中是以车辆为例进行说明的。
示例性的,激光雷达11包括多个激光传感器,多个激光传感器在垂直方向上依次布置。每一激光传感器可以间隔预设角度(例如,0.1°或0.2°)发射一束光线。
如图2所示,为本申请实施例提供的激光雷达的一种实现方式的结构示意图。
图2仅为示例,并不对激光雷达的结构造成限定。如图2所示,激光雷达包括固定件21以及设置于固定件21上的多个激光传感器22。
示例性的,多个激光传感器22的布局方式可以如图2所示,即多个激光传感器可以布置于固定件21的不同侧面。示例性的,多个激光传感器可以布置于固定件21的同一侧面。
示例性的,在同一平面(即垂直于Z轴的平面)上,固定件21上设置有一个激光传感器22;示例性的,在同一平面上,固定件21上设置有多个位于固定件的不同侧面的激光传感器22。
本申请实施例中,若位于某一平面上的激光传感器22扫描一圈(即位于同一平面上的激光传感器22的旋转角度之和为360°),即激光雷达11中位于不同平面的激光传感器均扫描了一圈,即激光雷达11扫描一圈。
示例性的,可以控制固定件21围绕Z轴旋转,从而使得激光传感器可以旋转。
可以理解的是,激光传感器22在同一时刻可以向被测对象的某个部位发射一束光线,可以得到该部位针对该束光线的反射光线。
激光传感器22可以间隔预设角度(例如,0.1°或0.2°)发射一束光线。不同角度发射的光线为不同的光线。不同激光传感器22发射的光线为不同光线。
示例性的,可以基于发射该束光线的发射时间和接收反射光线的反射时间,确定被测对象的该部位与激光传感器的距离。
可以理解的是,被测对象的该部位的具体三维坐标除了与该距离相关外,还与激光传感器在激光雷达中的位置和该激光传感器发射的光线的次序有关。因为,激光传感器每隔预设角度发射一束光线,若发射光线的次序不同,由于固定件21带动激光传感器在旋转,所以激光传感器的发射角度不同,激光传感器的发射时间不同,被测对象的部位的三维坐标不同。激光传感器在激光雷达中的位置不同(即在Z轴方向的高低不同),被测对象的部位的高度不同,即三维坐标不同。
所以针对一个激光传感器i发射一束光束,可以得到一个点,该点的采集信息包括:激光传感器i位于激光雷达的位置Ni_SCAN,激光传感器i发射的光线的次序Hj_SCAN,激光传感器i与被测对象的相应部位的距离(即激光传感器i发射的次序为Hj_SCAN的光束得到的点对应的距离)。
激光雷达11扫描一圈,则可以得到多个点,将多个点称为一帧点云数据。由于激光雷达11在不断的进行扫描,即激光雷达11可以扫描多圈,所以可以得到多帧点云数据。
在一可选实现方式中,针对每帧点云数据可以构建二维图。
如图3所示,为本申请实施例提供的二维图的示意图。
图3中是以在同一平面上布置一个激光传感器22为例进行说明的。
如图3的左侧所示为激光雷达11扫描一圈的示意图。假设在Z轴方向总共布置N个激光传感器22,每个平面布局一个激光传感器22,则i的取值为1至N;若激光传感器每隔0.2度发射一束光线,则一个激光传感器22扫描一圈可以得到1800个点,则j的取值为1至1800,由于有N个激光传感器22,所以可以得到N*1800个点,即每一帧点云数据包括N*1800个点。
如图3的右侧所示,示例性的,二维图的横坐标为Hj_SCAN,纵坐标为Ni_SCAN。每一二维坐标对应一个点,每个二维坐标对应的值为该点对应的距离。
假设二维坐标(Hj_SCAN,Ni_SCAN)对应的点对应的距离为距离j,i,则二维图如图3所示。图3仅为示例。
承载设备13上可以设置有位姿采集模块12。
示例性的,位姿采集模块12是用于采集激光雷达11的位姿的。
可以理解的是,随着时间的流失,承载设备13会不停的移动,激光雷达11会不停的旋转,位姿采集模块12可以采集在承载设备所在的坐标系下的激光雷达11的位姿。
示例性的,位姿包括在承载设备所在的坐标系下激光雷达的三维坐标(X,Y,Z)以及三维角度(角度1,角度2,角度3),其中,角度是相对于承载设备所在的坐标系的X轴,Y轴和Z轴的角度。
示例性的,位姿采集模块12包括:IMU(Inertial measurement unit,惯性测量单元)模块以及RTK(Real-time kinematic,实时动态差分)模块。
其中,IMU模块负责采集和处理承载设备13在承载设备所在坐标系下三轴的加速度信号,以及相对于导航坐标系的三轴角速度信号。
通过RTK模块检测GNSS(Global Navigation Satellite System,全球卫星导航系统)卫星信号,若能同时接收到超过预设数量的卫星信号,则判定卫星信号良好。
可以基于RTK模块和IMU模块得到的信号解算激光雷达的实时位置和航向,即激光雷达的三维坐标(X,Y,Z)以及三维角度(角度1,角度2,角度3)。
随着时间流失,承载设备13在不断移动,所以位姿采集模块12需要每隔设定时间获取一次激光雷达的位姿。
在一可选实现方式中,电子设备14可以为一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务器中心。电子设备14可以包括处理器、存储器以及网络接口等。
在一可选实现方式中,电子设备14可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如,手机、笔记本电脑、平板电脑、掌上电脑、个人计算机、可穿戴设备、智能电视、PAD等。
电子设备14可以接收到激光雷达11采集到的多帧点云数据以及位姿采集模块12采集得到的激光雷达的多个位姿。从而可以执行本申请实施例提供的地图构建方法。
其次对本申请涉及的相关技术进行说明。
在相关技术中,电子设备14接收到激光雷达11采集到的多帧点云数据以及位姿采集模块12采集得到的激光雷达的多个位姿后,需要建立点云数据与位姿的关联。
可以理解的是,激光雷达得到的多帧点云数据具有时间戳,每帧点云数据对应的时间戳为采集该帧点云数据的初始采集时刻,该初始采集时刻可以为激光雷达扫描一圈的初始时刻。可以理解的是,采集得到一帧点云数据是需要一个时间段的,且,在这个时间段中,承载设备在不断移动,激光雷达在不断旋转。
可以理解的是,位姿采集模块获得的激光雷达的位姿具有时间戳,激光雷达的位姿对应的时间戳,即为获得该位姿的采集时刻。
相关技术中,建立位姿与点云数据的关联关系的过程如下,如图4所示,为相关技术建立点云数据与位姿的关联关系的示意图。
假设激光雷达得到两帧点云数据,且分别为第一帧点云数据41(对应时间戳T_lidar1)以及第二帧点云数据42(对应时间戳T_lidar2);位姿采集模块得到12个位姿,分别为:位姿401(对应时间戳T_imu1)、位姿402(对应时间戳T_imu2)、…、位姿412(对应时间戳T_imu12)。
若按照时间从早到晚排序得到的12个位姿对应的时间戳依次为:T_imu1、T_imu2、…、T_imu12。
在相关技术中建立点云数据与位姿的关联关系时,基于位姿的时间戳和点云数据的时间戳建立关联关系,若时间戳T_lidar1位于时间戳T_imu1和时间戳T_imu2之间,若时间戳T_lidar2位于时间戳T_imu11和时间戳T_imu12之间,则可以得到图4所示的图。
由于时间戳T_lidar1位于时间戳T_imu1和时间戳T_imu2之间,所以基于位姿401和位姿402得到T_lidar1对应的位姿A,以建立第一帧点云数据41和位姿A的关联关系;由于时间戳T_lidar2位于时间戳T_imu11和时间戳T_imu12之间,所以可以基于位姿411和位姿412得到T_lidar2对应的位姿B,以建立第二帧点云数据42和位姿B的关联关系。
可以理解的是,采集得到一帧点云数据是需要一个时间段的,且,在这个时间段中,承载设备在不断移动,激光雷达在不断旋转。而点云数据对应的时间戳是初始时刻,例如,假设点云数据包括N*1800个点,由于在同一时刻有N个激光传感器分别得到一个点,即每一时刻可以得到N个点,即N*1个点,点云数据的时间戳可能为得到第一组N*1点的时刻。而在得到第1000组N*1个点的时间可能已经晚于时间戳T_imu2,或者,已经晚于时间戳T_imu3。所以针对第一帧点云数据41,可能需要基于位姿401、位姿402、位姿403、位姿404等才能够得到实际时间戳T_lidar1关联的位姿。所以相关技术中建立位姿和点云数据的关联关系的方式不准确。
由于相关技术中建立位姿和点云数据的关联关系的方式不准确,所以得到的两帧点云数据的相对位姿不准确。基于两两相邻两帧点云数据的相对位姿构建的点云地图不准确,使得基于点云地图得到的被测对象的三维图像不准确。
针对于此,本申请实施例提供了地图构建方法,针对建立位姿和点云数据的关联关系的方式进行了改进,使得位姿和点云数据的关联关系更加准确。
下面结合上述硬件架构和相关技术对本申请实施例提供的地图构建方法进行说明。
如图5所示,为本申请实施例提供的地图构建方法的流程图,该方法可以应用于上述电子设备14,该方法在实施过程中包括以下步骤S51至步骤S56。
步骤S51:获取被测对象对应的多帧点云数据以及所述多帧点云数据分别对应的时间戳。
示例性的,在不同应用场景下,被测对象不同。例如,被测对象可以为环境、高山、峡谷、桌子、椅子、人、动物等任一个或多个。
示例性的,多帧点云数据是由激光雷达采集得到的。
针对任一帧点云数据执行步骤S52至步骤S55。
步骤S52:获取在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳。
可以理解的是,不同位姿对应的坐标系不同。如图1所示,在承载设备13移动到某个位置时,会以当前位置为圆点建立坐标系。所以不同位姿对应的坐标系不同。
示例性的,步骤S52的实现方式包括以下步骤:基于所述点云数据的时间戳,以及,获得点云数据的时长,确定时间范围;获得时间戳属于所述时间范围的多个位姿;获得时间戳早于所述时间范围且与所述时间范围的最早时间距离最近的位姿。
以图4为例,假设步骤S52中的点云数据为第一帧点云数据41,假设每帧点云数据的采集时长为时长1,基于第一帧点云数据41对应的时间戳T_lidar1以及时长1,可以确定采集第一帧点云数据41的时间范围为[T_lidar1,T_lidar1+时长1]。
获得时间戳属于该时间范围[T_lidar1,T_lidar1+时长1]的多个位姿。假设位姿402、位姿403、位姿404的时间戳属于该时间范围。
位姿401的时间戳距离时间范围[T_lidar1,T_lidar1+时长1]的最早时间T_lidar1最近。
综上,在采集所述第一帧点云数据41的过程中,位姿采集模块采集的激光雷达的多个位姿分别为:位姿401、位姿402、位姿403和位姿404。
步骤S53:获取在采集所述点云数据的过程中所述激光雷达的目标位姿变化信息。
其中,所述目标位姿变化信息是基于所述位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息得到的。
在一可选实现方式中,若承载设备为非匀速行驶,即目标位姿变化信息随着时间流逝可能发生变化,则目标位姿变化信息为位姿采集模块实时采集得到的,即目标位置变化信息包括所述位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息。
在一可选实现方式中,由于承载设备一般都匀速行驶,所以目标位姿变化信息可以为位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息。
在一可选实现方式中,无论承载设备是否匀速行驶,均可以基于所述多个位姿、所述多个位姿的时间戳以及所述点云数据的时间戳,计算得到目标位姿变化信息,可以理解的是,上述多个位姿包括:位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿A。所以通过上述多个位姿、所述多个位姿的时间戳可以得到位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息。
步骤S54:基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定所述点云数据关联的位姿。
在一可选实现方式中,每帧点云数据中包含的点对应同一位姿。
可以理解的是,随着时间流逝承载设备在不断移动,对于同一激光传感器而言,其每隔预设角度发射一束光线,所以发射不同光线的时间不同,则同一激光传感器发射不同光线时承载设备所在坐标系不同,即每帧点云数据中同一激光传感器得到的不同点对应的位姿可能不同。
对于每一帧点云数据中每一目标点(目标点为该帧点云数据中任一点),可以基于激光传感器发射的光线的次序,计算得到该目标点相对于激光传感器发射的第一个点的时长2。基于激光传感器发射的第一个点的位姿、激光传感器的目标位姿变化信息以及时长2,就可以得到目标点对应的位姿。即可以得到该帧点云数据包含的各点分别关联的位姿。可以基于该帧点云数据中各点关联的位姿,得到该帧点云数据关联的位姿。
针对各帧点云数据分别通过步骤S52至步骤S54可以得到所述多帧点云数据分别关联的位姿。
步骤S55:基于所述点云数据关联的位姿与所述点云数据的前一帧点云数据关联的位姿,确定两帧点云数据之间的相对位姿,以得到所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿。
可以理解的是,由于不同位姿对应的坐标系不同,基于两帧点云数据之间的相对位姿,可以统一两帧点云数据关联的位姿的坐标系。
仍以图4为例,假设相邻两帧点云数据为第一帧点云数据41(对应时间戳T_lidar1)以及第二帧点云数据42(对应时间戳T_lidar2),则这两帧点云数据之间的相对位姿,即为第一帧点云数据41关联的位姿与第二帧点云数据42关联的位姿之间的相对位姿。
步骤S56:基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建所述被测对象的三维图像。
可以理解的是,基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿,可以统一所述多帧点云数据分别关联的位姿的坐标系,从而可以将多帧点云数据映射至同一点云地图中,从而可以基于点云地图得到被测对象的三维图像。
本申请实施例提供的地图构建方法中,在建立点云数据和位姿的关联关系的过程中,针对任一帧点云数据,基于在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳;获得在采集该帧点云数据的过程中激光雷达的目标位姿变化信息;基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定的所述点云数据关联的位姿更加准确,从而使得得到两两相邻两帧点云数据之间的相对位姿更加准确,基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建得到的所述被测对象的三维图像更加准确。
在一可选实现方式中,步骤S53的实现方式有多种,本申请实施例提供但不限于以下方法,该方法包括以下步骤A11至步骤A13。
步骤A11:基于所述多个位姿分别对应的时间戳以及所述多个位姿,确定所述激光雷达的第一位姿变化信息。
可以理解的是,由于已知激光雷达在不同时间戳下的位姿,所以可以确定激光雷达的第一位姿变化信息。
示例性的,位姿包括在相应坐标系下的三维坐标以及三维角度,则第一位姿变化信息包括:三维坐标的变化信息(即速度和行驶方向)和三维角度的变化信息即角速度。
示例性的,可以基于两个相邻时间戳的位姿,计算得到在这两个相邻时间戳之间的位姿变化信息。以得到两两相邻时间戳分别对应的位姿变化信息,即第一位姿变化信息包括两两相邻时间戳分别对应的位姿变化信息,即第一位姿变化信息包括多个位姿变化信息。仍以图4为例,可以基于位姿401和位姿402,计算得到在时间戳T_imu1和时间戳T_imu2之间的位姿变化信息。
示例性的,可以基于所述多个位姿以及所述多个位姿中的最早时间戳和最晚时间戳,计算得到第一位姿变化信息。
步骤A12:获得所述位姿采集模块采集的所述激光雷达的第二位姿变化信息。
可以理解的是,位姿采集模块可以采集得到激光雷达的第二位姿变化信息。
示例性的,位姿采集模块可以在所述点云数据对应的时间戳下采集得到第二位姿变化信息。
示例性的,位姿采集模块采集的第二位姿变化信息对应的时间戳为距离所述点云数据对应的时间戳最近的时间戳。可以理解的是,位姿采集模块在不同时间可以采集得到位姿变化信息。距离该点云数据的时间戳最近的第二位姿变化信息更加贴近激光雷达采集该帧点云数据时的位姿变化信息。
可以理解的是,一般情况下,承载设备13的速度和角速度是均匀变化的。所以得到的第二位姿变化信息可以代表一段时间内的激光雷达的位姿的变化。
示例性的,位姿采集模块可以实时采集得到第二位姿变化信息。
步骤A13:基于所述第一位姿变化信息、第二位姿变化信息以及第一设定权重,确定目标位姿变化信息,所述第一设定权重用于表征所述第二位姿变化信息的准确度。
示例性的,第一设定权重越大,说明第二位姿变化信息越准确,所以在确定目标位姿变化信息时,第二位姿变化信息相对于第一位姿变化信息而言,占据的比例更大。第一设定权重越小,说明第二位姿变化信息越不准确,所以在确定目标位姿变化信息时,第二位姿变化信息相对于第一位姿变化信息而言,占据的比例更小。
示例性的,第一设定权重可以基于实际情况确定。
示例性的,第一设定权重λ是基于计算所述第二位姿变化信息的卫星的数目以及所述激光雷达的速度协方差矩阵得到的。例如公式如下:
λ=a*V_xyzcov+b*GPS_num,其中,V_xyzcov为激光雷达的速度协方差矩阵。GPS_num为卫星的数目。a和b为标定参数,根据位姿采集模块本身的精度进行测试标定后得出。
在一可选实现方式中,步骤A13可以基于以下公式计算得到目标位姿变化信息:
V=λVrtk/imu+(1-λ)Vstam,其中,V为所述目标位姿变化信息,Vrtk/imu为所述第二位姿变化信息,Vslam为所述第一位姿变化信息,λ为所述第一设定权重。
在一可选实现方式中,步骤S55的实现方式有多种,本申请实施例提供但不限于以下方式,该方法在实施过程中包括以下步骤B1至步骤B6。
步骤B1:从所述点云数据中获取边缘特征点集合以及平面特征点集合,所述边缘特征点集合包括一个或多个边点,所述平面特征点集合包括一个或多个面点。
可以理解的是,在构建被测对象的三维图像时,通过被测对象的边点和面点即可构建被测对象的三维图像,所以需要从点云数据中获取边缘特征点集合以及平面特征点集合。
在一可选实现方式中步骤B1的实现方式有多种,本申请实施例提供但不限于以下方法,该方法在实施过程中包括步骤B11至步骤B13。
步骤B11:聚类所述点云数据包含的多个点,以得到多个簇,每一簇包括多个点。
在一可选实现方式中,步骤B11的实现方式有多种,本申请实施例提供但不限于以下两种实现方式。
第一种步骤B11的实现方式为:采用欧式聚类的方法对图3所示的点云数据进行聚类分割,欧式聚类是一种基于欧式距离对点云数据中的点进行聚类的方法,聚类半径的设置与被测对象的部位到激光雷达的距离有关。采用这种可变聚类半径阈值的方法,在基于扫描线的三维点云数据聚类中能够取得更佳的效果。设置规则如下:聚类半径r的设置方法和距离d之间的关系为:
Figure BDA0003410105570000141
其中,r为聚类半径,d为光束扫到的被测对象的部位到激光传感器的距离。
第二种步骤B11的实现方式为:利用广度优先搜索算法,对点云数据中的点进行聚类。
通过第一种或第二种方式可以得到多个簇,每个簇中包括一个或多个点。
步骤B12:将多个簇中包含的点的数目大于或等于阈值A的簇称为有效簇。
若簇中包含的点的数目小于阈值A,说明该簇中的点较大概率为噪声点,即该簇包含的点未对应被测对象的任意部位。若簇重包含的点的数目大于或等于阈值A,说明该簇包含的点应该是对应被测对象的某个部位。
步骤B13:从所述有效簇中获取边缘特征点集合以及平面特征点集合。
在一可选实现方式中,步骤B13的实现方式有多种,本申请实施例提供但不限于以下四种。
第一种步骤B13的实现方式包括以下步骤C11至步骤C15。
步骤C11:将所述点云数据中位于同一平面的激光传感器得到的点划分至多个区域。
示例性的,步骤C11是从点云数据中的有效簇中位于同一平面的激光传感器得到的点划分至多个区域。
假设激光传感器每隔0.2°发射一束光线,位于同一平面上的激光传感器的数目为1,则位于同一平面的激光传感器扫面一圈可以得到1800个点。
示例性的,步骤C11可以将位于同一平面的激光传感器得到的点平均划分为多个区域,假设多个区域的数目为6,则每个区域包含300个点。
示例性的,步骤C11可以将位于同一平面的激光传感器得到的有效点平均划分为多个区域,假设多个区域的数目为6,则每个区域包含少于300个点。示例性的,将有效簇中包含的点称为有效点。
示例性的,步骤C11可以将位于同一平面的激光传感器得到的点进行不均匀的划分,以得到多个区域,不同区域包含的点的数目可能不同。
针对所述多个区域中任一区域执行步骤C12至步骤C14。
步骤C12:若所述区域中平滑度最小的第一数目个点中存在平滑度小于第一阈值的第一目标点,确定所述第一目标点为面点。
示例性的,针对每一点的平滑度c的计算公式如下:
Figure BDA0003410105570000151
其中,k表示位于第k平面(如图3所示的NK_SCAN)的激光传感器,XK,i为位于第k平面的激光传感器发射的第i个光线对应的点对应的距离,XK,j为位于第k平面的激光传感器发射的第i个光线对应的点的极角领域内的点对应的距离。
假设位于第k平面的激光传感器发射的第i个光线对应的点的极角领域内的点为别为第1个点、第3个点、第4个点,则j的取值为1、3、4。
步骤C13:若所述区域中平滑度最高的第二数目个点中存在平滑度大于第二阈值的第二目标点,确定所述第二目标点为边点。
假设该区域中平滑度最小的第一数目个点的平滑度均大于或等于第一阈值,则该区域中无面点。该区域中平滑度最大的第二数目个点的平滑度均小于或等于第二阈值,则该区域中无边点。这样就可以从所述多个区域中得到边点和面点。
步骤C14:将从多个区域中确定的面点划分至所述平面特征点集合。
步骤C15:将从多个区域中确定的边点划分至所述边缘特征点集合。
示例性的,若激光雷达包括N个激光传感器,位于同一平面的激光传感器的数目为1,位于同一平面的激光传感器得到的点划分至L个区域,则步骤C14和步骤C15中的多个区域为N*L个区域。
第二种步骤B13的实现方式包括以下步骤C21至步骤C25。
步骤C21:将所述有效簇中位于同一平面的激光传感器得到的点划分至多个区域。
针对所述多个区域中任一区域执行步骤C22至步骤C23。
步骤C22:将该区域中包含的平滑度小于第一阈值的点,确定为面点。
步骤C23:将该区域中包含的平滑度高于第二阈值的点,确定为边点。
这样就可以从所述多个区域中得到边点和面点。
步骤C24:将从多个区域中确定的面点划分至所述平面特征点集合。
步骤C25:将从多个区域中确定的边点划分至所述边缘特征点集合。
针对步骤C24和步骤C25中多个区域的数目的说明可以参见针对步骤C14和步骤C15中多个区域的数目的说明。
第三种步骤B13的实现方式包括以下步骤C31至步骤C32。
步骤C31:若所述点云数据中平滑度最小的第三数目个点中存在平滑度小于第一阈值的第一目标点,确定所述第一目标点为面点,以得到包含面点的平面特征点集合。
步骤C32:若所述点云数据中平滑度最高的第四数目个点中存在平滑度大于第二阈值的第二目标点,确定所述第二目标点为边点,以得到包含边点的边缘特征点集合。
第四种步骤B13的实现方式包括以下步骤C41至步骤C42。
步骤C41:将点云数据中包含的平滑度小于第一阈值的点,确定为面点,以得到包含面点的平面特征点集合。
步骤C42:将点云数据中包包含的平滑度高于第二阈值的点,确定为边点,以得到包含边点的边缘特征点集合。
第一种实现方式和第三种实现方式相比,在于第一种实现方式对于位于同一平面的激光传感器得到点进行了区域划分,这样得到的边点和面点的布局比较均匀,从而使得构建得到的点云地图更加准确。
第二种实现方式和第四种实现方式相比,在于第二种实现方式对于位于同一平面的激光传感器得到点进行了区域划分,这样得到的边点和面点的布局比较均匀,从而使得构建得到的点云地图更加准确。
第一种实现方式和第二种实现方式相比,在于第一种实现方式中,是将平滑度最小的第一数目个点的平滑度与第一阈值进行比较,将平滑度最高的第二数目个点的平滑度与第二阈值进行比较,这样得到的面点和边点更加准确。
步骤B2:基于第一待定相对位姿将所述前一帧点云数据的边缘特征点集合映射至所述点云数据所在的目标坐标系中,构成第一候选边缘特征点集合。
可以理解的是,第一待定相对位姿是未知的。
步骤B3:基于所述第一待定相对位姿将所述前一帧点云数据的平面特征点集合映射至所述目标坐标系中,构成第一候选平面特征点集合。
步骤B4:基于所述第一候选边缘特征点集合以及位于所述目标坐标系中的边缘特征点集合,确定第一误差。
位于所述目标坐标系中的边缘特征点集合即为当前帧的点云数据的边缘特征点集。
示例性的,步骤B4包括:对于所述点云数据中边缘特征点集合中任一点,从所述第一候选边缘特征点集合中获取与所述点距离最近的两个第一点。获得所述点分别与所述第一点的第一距离;确定所述平面特征点集合中各点分别对应的第一距离之和为第一误差。
步骤B5:基于所述第一候选平面特征点集合以及位于所述目标坐标系中的平面特征点集合,确定第二误差。
位于所述目标坐标系中的平面特征点集合即为当前帧的点云数据的平面特征点集。
示例性的,步骤B5包括:对于所述点云数据中平面特征点集合中任一点,从所述第一候选平面特征点集合中与所述点距离最近的三个第二点。获得所述点分别与所述第二点的第二距离;确定所述平面特征点集合中各点分别对应的第二距离之和为第二误差。
步骤B6:确定使得所述第一误差与所述第二误差之和最小的所述第一待定相对位姿,为两帧点云数据的相对位姿。
示例性的,所述第一误差与所述第二误差之和为误差函数f(R,T),所述误差函数的公式如下:
Figure BDA0003410105570000171
其中,pi为当前帧的点云数据中属于平面特征点集合或边缘特征点集合中的点的坐标,若pi属于平面特征点集合,则qi属于第一候选平面特征集合中第二点,若pi属于边缘特征点集合,则qi属于第一候选边缘特征集合中第一点。其中,R为两帧点云数据之间的相对的旋转矩阵,T为两帧点云数据之间的相对平移矩阵。
使得误差函数最小的第一待定相对位姿为两帧点云数据之间的相对位姿(R,T)。
在一可选实现方式中,步骤S56的实现方式有多种,本申请实施例提供但不限于以下三种。
第一种步骤S56的实现方式包括D11至步骤D13。
对于所述多帧点云数据中任一帧点云数据,执行步骤D11至步骤D12。
步骤D11:基于所述点云数据与前一帧点云数据的相对位姿以及所述前一帧点云数据至第一帧点云数据中两两相邻的点云数据之间的相对位姿,获得所述点云数据相对于第一帧点云数据的第一相对位姿。
假设当前帧的点云数据为第6帧点云数据,则可以基于第6帧点云数据与第5帧点云数据的相对位姿、第5帧点云数据与第4帧点云数据的相对位姿、第4帧点云数据与第3帧点云数据的相对位姿、第3帧点云数据与第2帧点云数据的相对位姿、第2帧点云数据与第1帧点云数据的相对位姿,计算得到第6帧点云数据相对于第1帧点云数据的第一相对位姿。
步骤D12:基于所述第一相对位姿,将所述点云数据的边点和面点映射至点云地图中。
针对每一帧点云数据执行步骤D11至步骤D12,以得到最终的点云地图。
步骤D13:基于点云地图构建被测对象的三维图像。
示例性的,若第一帧点云数据关联的位姿对应的坐标系为点云地图的坐标系。则第一相对位姿即为该点云数据对应的坐标系与点云地图的坐标系的映射关系,所以可以基于第一相对位姿将该点云数据的边点和面点映射至点云地图中。
可以理解的是,两两相邻的两帧点云数据之间的相对位姿可能有一定的误差,而第一相对位姿是基于两两相邻的两帧点云数据之间的相对位姿,累计计算得到的,即相当于将两两相邻的两帧点云数据之间的相对位姿误差进行了累计,即累计误差较大,即得到的第一相对位姿不准确。基于此本申请提供了第二种步骤S56的实现方式。
第二种步骤S56的实现方式包括步骤D21至步骤D27。
对于所述多帧点云数据中任一帧点云数据,执行步骤D21至步骤D26。
步骤D21:基于第二待定相对位姿将所述点云数据中的边缘特征点集合映射至已构建的点云地图中,构成第二候选边缘特征点集合。
可以理解的是,第二待定相对位姿为未知。
步骤D22:基于所述第二候选边缘特征点集合与所述点云地图,确定第三误差。
示例性的,步骤D22包括:对于所述点云地图中边缘特征点集合中任一点,从所述第二候选边缘特征点集合中获得与所述点距离最近的两个第三点;获得所述点分别与所述第三点的第三距离;确定所述点云地图中边缘特征点集合中各点分别对应的第三距离之和为第三误差。
示例性的,点云地图中的边缘特征点集合为已经映射至点云地图中的各帧点云数据的边缘特征点集合的并集。
步骤D23:基于所述第二待定相对位姿将所述点云数据的平面特征点集合映射至所述点云地图,构成第二候选平面特征点集合。
步骤D24:基于所述第二候选平面特征点集合与所述点云地图,确定第四误差。
示例性的,步骤D24包括:对于所述点云地图中平面特征点集合中任一点,从所述第二候选平面特征点集合中与所述点距离最近的三个第四点;获得所述点分别与所述第四点的第四距离;确定所述点云地图中平面特征点集合中各点分别对应的第四距离之和为第四误差。
示例性的,点云地图中的平面特征点集合为已经映射至点云地图中的各帧点云数据的平面特征点集合的并集。
步骤D25:确定使得所述第三误差与所述第四误差之和最小的所述第二待定相对位姿,为所述点云数据与所述点云地图的第二相对位姿。
步骤D26:基于所述第二相对位姿,将所述点云数据的边点和面点映射至点云地图中。
针对每一帧点云数据执行步骤D21至步骤D26,以得到最终的点云地图。
步骤D27:基于点云地图构建被测对象的三维图像。
可以理解的是,第二种实现方式中针对每一帧点云数据,都计算该帧点云数据与点云地图的第二相对位姿,虽然计算得到的第二相对位姿比上述第一相对位姿更加准确,但是计算得到第二相对位姿的时间较长,使得构建被测对象的三维图像的时间较长,基于此,本申请提供了第三种实现方式。
第三种步骤S56的实现方式包括步骤D301至步骤D311。
对于所述多帧点云数据中任一帧点云数据,执行步骤D301至步骤D310。
步骤D301:判断所述点云数据与前一帧关键帧的距离是否大于或等于第三阈值,若是,确定所述点云数据为关键帧,执行步骤D302,若否,执行步骤D309。
步骤D302:基于所述点云数据与前一帧点云数据的相对位姿以及所述前一帧点云数据至第一帧点云数据中两两相邻的点云数据之间的相对位姿,获得所述点云数据相对于第一帧点云数据的第一相对位姿。
可以理解的是,若点云数据与前一帧关键帧的距离大于或等于第三阈值,说明该点云数据与前一帧关键帧不是重复的关键帧。
关键帧是一帧点云数据。
步骤D303:基于第二待定相对位姿将所述点云数据的边缘特征点集合映射至已构建的点云地图,构成第二候选边缘特征点集合。
步骤D304:基于所述第二候选边缘特征点集合与所述点云地图,确定第三误差。
步骤D305:基于所述第二待定相对位姿将所述点云数据的平面特征点集合映射至所述点云地图,构成第二候选平面特征点集合。
步骤D306:基于所述第二候选平面特征点集合与所述点云地图,确定第四误差。
步骤D307:确定使得所述第三误差与所述第四误差之和最小的所述第二待定相对位姿,为所述点云数据与所述点云地图的第二相对位姿。
步骤D308:基于所述第一相对位姿和所述第二相对位姿,获得所述点云数据相对于所述点云地图的目标相对位姿。
步骤D309:基于所述点云数据与前一帧关键帧的相对位姿和前一帧关键帧与所述点云地图的相对位姿,确定所述点云数据相对于所述点云地图的目标相对位姿。
步骤D310:基于所述目标相对位姿,将所述点云数据中的面点和边点映射至所述点云地图中。
针对每一帧点云数据执行步骤D301至步骤D310,则可以得到包含所述多帧点云数据中的边点和面点的点云地图。
步骤D311:基于所述点云地图构建所述被测对象的三维图像。
可以理解的是,本申请实施例中,将步骤D309得到的目标相对位姿的过程和步骤D302得到第一相对位姿的过程称为高频高精度定位。将得到第二相对位姿的过程为低频高精度定位。本申请实施例中,将高频高精度定和低频高精度定位相融合。
为了本领域技术人员更加理解本申请实施例提供的第二种实现方式,下面结合附图进行说明。
如图6所示,为本申请实施例提供的高频高精度定和低频高精度定位相融合的示意图。
如图6所示,若包括6帧点云数据,且分别为:点云数据61、点云数据62、点云数据63、点云数据64以及点云数据65,假设点云数据61、点云数据63和点云数据65为关键帧,点云数据62、点云数据64为非关键帧。
由于点云数据61为第一帧点云数据,所以点云数据61的坐标系即为点云地图的坐标系。即针对点云数据61而言,高频精度定位得到的位姿和低频精度定位得到的位姿相同。
对于点云数据62,由于其为非关键帧,所以不针对点云数据62执行低频高精度定位,在执行高频高精度定位的过程中,可以基于自己(即点云数据62)与前一帧关键帧(即点云数据61)的相对位姿,和前一帧关键帧(即点云数据61)与点云地图(即点云数据61)的相对位姿,获得点云数据62与点云地图的目标相对位姿。
对于点云数据63,由于其为关键帧,所以针对点云数据63,获得点云数据63的第一相对位姿以及获得第二相对位姿,从而得到点云数据63相对于点云地图的目标相对位姿。
对于点云数据64,由于其为非关键帧,所以不针对点云数据62执行低频高精度定位,在执行高频高精度定位的过程中,可以基于自己(即点云数据64)与前一帧关键帧(即点云数据63)的相对位姿,和前一帧关键帧(即点云数据63)与点云地图(即点云数据61)的相对位姿,获得点云数据64与点云地图的目标相对位姿。
在一可选实现方式中,若ΔTtk0_ok0为点云数据63的第一相对位姿OK0和第二相对位姿TK0的变换矩阵;ΔTok0_o1为点云数据的64和点云数据63之间的相对位姿;(ΔTtk0_ok0)^-1为ΔTtk0_ok0的逆,则点云数据64相对于点云地图的目标相对位姿T1的计算公式如下:
Figure BDA0003410105570000201
在第三种实现方式中,对于关键帧而言,利用第二种实现方式获得关键帧相对于点云地图的目标相对位姿比较准确;对于非关键帧而言,可以利用自己与前一帧关键帧的相对位姿,以及,前一帧关键帧与点云地图的相对位姿,确定自己与点云地图的目标相对位姿。由于前一帧关键帧与点云地图的相对位姿是利用第二种实现方式获得的,即前一帧关键帧与点云地图的相对位姿是准确的,所以基于自己与前一帧关键帧的相对位姿和前一帧关键帧与所述点云地图的相对位姿,确定自己相对于所述点云地图的目标相对位姿比较准确,即消除了第一种实现方式种的累计误差。
在一可选实现方式中,步骤D308的实现方式有多种,本申请实施例提供但不限于以下两种。
第一种步骤D308的实现方式包括以下步骤E11至步骤E12。
步骤E11:获取所述位姿采集模块采集的所述点云数据相对于所述点云地图的第三相对位姿。
步骤E12:基于所述第一相对位姿、所述第二相对位姿、所述第三相对位姿以及第二设定权重,获得所述目标相对位姿,所述第二设定权重用于表征所述第三相对位姿的准确度。
示例性的,第二设定权重与第一设定权重相同。
示例性的,第二设定权重与第一设定权重不同。
示例性的,若第二设定权重越大,说明第三相对位姿越准确,则在得到目标相对位姿的过程中,第三相对位姿比第一相对位姿、第二相对位姿的贡献大;若第二设定权重越小,说明第三相对位姿越不准确,则在得到目标相对位姿的过程中,第三相对位姿比第一相对位姿、第二相对位姿的贡献小。
第二种步骤D308的实现方式包括以下步骤E21至步骤E24。
步骤E21:获取所述点云数据对应的回环约束信息。
示例性的,回环约束信息包括回环检测的噪声值,示例性的,噪声值为
Figure BDA0003410105570000211
其中,β与承载设备的角度协方差矩阵和卫星的数目有关。
示例性的,β=d*Pose_cov+e*GPS_num。d和e为设定值,Pose_cov为承载设备的角度协方差矩阵。
步骤E22:获取所述位姿采集模块采集的所述点云数据相对于所述点云地图的第三相对位姿。
步骤E23:基于所述回环约束信息、第一相对位姿、所述第二相对位姿、所述第三相对位姿以及第二设定权重,获得所述目标相对位姿,所述第二设定权重用于表征所述第三相对位姿的准确度。
示例性的,对于关键帧而言,由于将回环约束信息、第一相对位姿、所述第二相对位姿、所述第三相对位姿作为约束条件,所以得到的目标相对位姿更加准确,从而消除了累计误差。
上述本申请公开的实施例中详细描述了方法,对于本申请的方法可采用多种形式的装置实现,因此本申请还公开了一种装置,下面给出具体的实施例进行详细说明。
如图7所示,为本申请实施例提供的地图构建装置的结构图,该装置包括:第一获取模块71、第二获取模块72、第三获取模块73、第一确定模块74、第二确定模块75以及构建模块76,其中:
第一获取模块71,用于获取被测对象对应的多帧点云数据以及所述多帧点云数据分别对应的时间戳;
第二获取模块72,用于针对所述多帧点云数据中任一帧点云数据,获取在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳;
第三获取模块73,用于获取在采集所述点云数据的过程中所述激光雷达的目标位姿变化信息,其中,所述目标位姿变化信息是基于所述位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息得到的;
第一确定模块74,用于基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定所述点云数据关联的位姿,以得到所述多帧点云数据分别关联的位姿;
第二确定模块75,用于针对所述多帧点云数据中任一帧点云数据,基于所述点云数据关联的位姿与所述点云数据的前一帧点云数据关联的位姿,确定两帧点云数据之间的相对位姿,以得到所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿;
构建模块76,用于基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建所述被测对象的三维图像。
在一可选实现方式中,所述第三获取模块包括:
第一确定单元,用于基于所述多个位姿分别对应的时间戳以及所述多个位姿,确定所述激光雷达的第一位姿变化信息;
第一获取单元,用于获得所述位姿采集模块采集的所述激光雷达的第二位姿变化信息,其中,位姿采集模块采集的第二位姿变化信息对应的时间戳为距离所述点云数据对应的时间戳最近的时间戳;
第二确定单元,用于基于所述第一位姿变化信息、第二位姿变化信息以及第一设定权重,确定目标位姿变化信息,所述第一设定权重用于表征所述第二位姿变化信息的准确度。
在一可选实现方式中,所述第二确定单元具体用于:
基于以下公式确定所述目标位姿变化信息:
V=λVrtk/imu+(1-λ)Vstam,其中,V为所述目标位姿变化信息,Vrtk/imu为所述第二位姿变化信息,Vslam为所述第一位姿变化信息,λ为所述第一设定权重,所述第一设定权重基于计算所述第二位姿变化信息的卫星的数目以及所述激光雷达的速度协方差矩阵得到的。
在一可选实现方式中,λ=a*V_xyzcov+b*GPS_num,其中,V_xyzcov为激光雷达的速度协方差矩阵,GPS_num为卫星的数目,a和b为标定参数。
在一可选实现方式中,第二确定模块包括:
第二获取单元,用于从所述点云数据中获取边缘特征点集合以及平面特征点集合,所述边缘特征点集合包括一个或多个边点,所述平面特征点集合包括一个或多个面点;
第一映射单元,用于基于第一待定相对位姿将所述前一帧点云数据的边缘特征点集合映射至所述点云数据所在的目标坐标系中,构成第一候选边缘特征点集合;
第二映射单元,用于基于所述第一待定相对位姿将所述前一帧点云数据的平面特征点集合映射至所述目标坐标系中,构成第一候选平面特征点集合;
第三确定单元,用于基于所述第一候选边缘特征点集合以及位于所述目标坐标系中的边缘特征点集合,确定第一误差;
第四确定单元,用于基于所述第一候选平面特征点集合以及位于所述目标坐标系中的平面特征点集合,确定第二误差;
第五确定单元,用于确定使得所述第一误差与所述第二误差之和最小的所述第一待定相对位姿,为两帧点云数据的相对位姿;
其中,所述第一误差与所述第二误差之和为误差函数f(R,T),所述误差函数的公式如下:
Figure BDA0003410105570000221
pi为所述点云数据中属于平面特征点集合或边缘特征点集合中的点的坐标,若pi属于平面特征点集合,则qi属于第一候选平面特征点集合中的点,若pi属于边缘特征点集合,则qi属于第一候选边缘特征点集合中的点,R为所述点云数据和所述前一帧点云数据之间的相对的旋转矩阵,T为所述点云数据和所述前一帧点云数据之间的相对平移矩阵,使得所述误差函数最小的第一待定相对位姿为所述点云数据和所述前一帧点云数据之间的相对位姿(R,T)。
在一可选实现方式中,第二获取单元包括:
第一划分子单元,用于将所述点云数据中位于同一平面的激光传感器得到的点划分至多个区域;
第一确定子单元,用于针对所述多个区域中任一区域,若所述区域中平滑度最小的第一数目个点中存在平滑度小于第一阈值的第一目标点,确定所述第一目标点为面点;
第二确定子单元,用于针对所述多个区域中任一区域,若所述区域中平滑度最高的第二数目个点中存在平滑度大于第二阈值的第二目标点,确定所述第二目标点为边点;
第二划分子单元,用于将从多个区域中确定的面点划分至所述平面特征点集合;
第三划分子单元,用于将从多个区域中确定的边点划分至所述边缘特征点集合。
在一可选实现方式中,针对每一点的平滑度c的计算公式如下:
Figure BDA0003410105570000231
其中,k表示位于第k平面的激光传感器,XK,i为位于第k平面的激光传感器发射的第i个光线对应的点对应的距离,XK,j为位于第k平面的激光传感器发射的第i个光线对应的点的极角领域内的点对应的距离。
在一可选实现方式中,构建模块包括:
第六确定单元,用于对于所述多帧点云数据中任一帧点云数据,若所述点云数据与前一帧关键帧的距离大于或等于第三阈值,确定所述点云数据为关键帧;
第三获取单元,用于基于所述点云数据与前一帧点云数据的相对位姿以及所述前一帧点云数据至第一帧点云数据中两两相邻的点云数据之间的相对位姿,获得所述点云数据相对于第一帧点云数据的第一相对位姿;
第三映射单元,用于基于第二待定相对位姿将所述点云数据的边缘特征点集合映射至已构建的点云地图,构成第二候选边缘特征点集合,所述点云地图的坐标系为所述第一帧点云数据对应的坐标系;
第七确定单元,用于基于所述第二候选边缘特征点集合与所述点云地图,确定第三误差;
第四映射单元,用于基于所述第二待定相对位姿将所述点云数据的平面特征点集合映射至所述点云地图,构成第二候选平面特征点集合;
第八确定单元,用于基于所述第二候选平面特征点集合与所述点云地图,确定第四误差;
第九确定单元,用于确定使得所述第三误差与所述第四误差之和最小的所述第二待定相对位姿,为所述点云数据与所述点云地图的第二相对位姿;
第四获取单元,用于基于所述第一相对位姿和所述第二相对位姿,获得所述点云数据相对于所述点云地图的目标相对位姿;
第十确定单元,用于若所述点云数据与前一帧关键帧的距离小于所述第三阈值,确定所述点云数据为非关键帧;
第十一确定单元,用于基于所述点云数据与前一帧关键帧的相对位姿和前一帧关键帧与所述点云地图的相对位姿,确定所述点云数据相对于所述点云地图的目标相对位姿;
第五映射单元,用于基于所述目标相对位姿,将所述点云数据中的面点和边点映射至所述点云地图中,以得到包含所述多帧点云数据中的边点和面点的点云地图;
构建单元,用于基于所述点云地图构建所述被测对象的三维图像。
在一可选实现方式中,所述第四获取单元包括:
第一获取子单元,用于获取所述位姿采集模块采集的所述点云数据相对于所述点云地图的第三相对位姿;
第二获取子单元,用于基于所述第一相对位姿、所述第二相对位姿、所述第三相对位姿以及第二设定权重,获得所述目标相对位姿,所述第二设定权重用于表征所述第三相对位姿的准确度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种用于电子设备的装置的框图。
电子设备包括但不限于:处理器81、存储器82、网络接口83、I/O控制器84以及通信总线85。
需要说明的是,本领域技术人员可以理解,图8中示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图8所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图8对电子设备的各个构成部件进行具体的介绍:
处理器81是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器82内的软件程序和/或模块,以及调用存储在存储器82内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器81可包括一个或多个处理单元;示例性的,处理器81可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器81中。
处理器81可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器82可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM)821和只读存储器(Read-Only Memory,ROM)822,也可能还包括大容量存储设备823,例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
其中,上述的存储器82,用于存储上述处理器81可执行指令。上述处理器81具有执行地图构建方法的功能。
一个有线或无线网络接口83被配置为将电子设备连接到网络。
处理器81、存储器82、网络接口83和I/O控制器84可以通过通信总线85相互连接,该通信总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
在示例性实施例中,电子设备可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述地图构建方法。
在示例性实施例中,本公开实施例提供了一种包括指令的存储介质,例如包括指令的存储器82,上述指令可由电子设备的处理器81执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机可读存储介质,可直接加载到计算机的内部存储器,例如上述存储器82中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述地图构建方法任一实施例所示步骤。
在示例性实施例中,还提供一种计算机程序产品,可直接加载到计算机的内部存储器,例如所述电子设备包含的存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述所述的地图构建方法任一实施例所示步骤。
需要说明的是,本说明书中的各个实施例中记载的特征可以相互替换或者组合。对于装置或系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种地图构建方法,其特征在于,包括:
获取被测对象对应的多帧点云数据以及所述多帧点云数据分别对应的时间戳;
针对所述多帧点云数据中任一帧点云数据,获取在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳;
获取在采集所述点云数据的过程中所述激光雷达的目标位姿变化信息,其中,所述目标位姿变化信息是基于所述位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息得到的;
基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定所述点云数据关联的位姿,以得到所述多帧点云数据分别关联的位姿;
针对所述多帧点云数据中任一帧点云数据,基于所述点云数据关联的位姿与所述点云数据的前一帧点云数据关联的位姿,确定两帧点云数据之间的相对位姿,以得到所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿;
基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建所述被测对象的三维图像。
2.根据权利要求1所述地图构建方法,其特征在于,所述获取在采集所述点云数据的过程中所述激光雷达的目标位姿变化信息包括:
基于所述多个位姿分别对应的时间戳以及所述多个位姿,确定所述激光雷达的第一位姿变化信息;
获得所述位姿采集模块采集的所述激光雷达的第二位姿变化信息,其中,位姿采集模块采集的第二位姿变化信息对应的时间戳为距离所述点云数据对应的时间戳最近的时间戳;
基于所述第一位姿变化信息、第二位姿变化信息以及第一设定权重,确定目标位姿变化信息,所述第一设定权重用于表征所述第二位姿变化信息的准确度。
3.根据权利要求2所述地图构建方法,其特征在于,所述基于所述第一位姿变化信息、第二位姿变化信息以及第一设定权重,确定目标位姿变化信息包括:
基于以下公式确定所述目标位姿变化信息:
V=λVrtk/imu+(1-λ)Vstam
其中,V为所述目标位姿变化信息,Vrtk/imu为所述第二位姿变化信息,Vslam为所述第一位姿变化信息,λ为所述第一设定权重,所述第一设定权重基于计算所述第二位姿变化信息的卫星的数目以及所述激光雷达的速度协方差矩阵得到的。
4.根据权利要求3所述地图构建方法,其特征在于,
λ=a*V_xyzcov+b*GPS_num
其中,V_xyzcov为激光雷达的速度协方差矩阵,GPS_num为卫星的数目,a和b为标定参数。
5.根据权利要求1至4任一所述地图构建方法,其特征在于,所述基于所述点云数据关联的位姿与所述点云数据的前一帧点云数据关联的位姿,确定两帧点云数据之间的相对位姿包括:
从所述点云数据中获取边缘特征点集合以及平面特征点集合,所述边缘特征点集合包括一个或多个边点,所述平面特征点集合包括一个或多个面点;
基于第一待定相对位姿将所述前一帧点云数据的边缘特征点集合映射至所述点云数据所在的目标坐标系中,构成第一候选边缘特征点集合;
基于所述第一待定相对位姿将所述前一帧点云数据的平面特征点集合映射至所述目标坐标系中,构成第一候选平面特征点集合;
基于所述第一候选边缘特征点集合以及位于所述目标坐标系中的边缘特征点集合,确定第一误差;
基于所述第一候选平面特征点集合以及位于所述目标坐标系中的平面特征点集合,确定第二误差;
确定使得所述第一误差与所述第二误差之和最小的所述第一待定相对位姿,为两帧点云数据的相对位姿;
其中,所述第一误差与所述第二误差之和为误差函数f(R,T),所述误差函数的公式如下:
Figure FDA0003410105560000021
pi为所述点云数据中属于平面特征点集合或边缘特征点集合中的点的坐标,若pi属于平面特征点集合,则qi属于第一候选平面特征点集合中的点,若pi属于边缘特征点集合,则qi属于第一候选边缘特征点集合中的点,R为所述点云数据和所述前一帧点云数据之间的相对的旋转矩阵,T为所述点云数据和所述前一帧点云数据之间的相对平移矩阵,使得所述误差函数最小的第一待定相对位姿为所述点云数据和所述前一帧点云数据之间的相对位姿(R,T)。
6.根据权利要求5所述地图构建方法,其特征在于,所述从所述点云数据中获取边缘特征点集合以及平面特征点集合包括:
将所述点云数据中位于同一平面的激光传感器得到的点划分至多个区域;
针对所述多个区域中任一区域,若所述区域中平滑度最小的第一数目个点中存在平滑度小于第一阈值的第一目标点,确定所述第一目标点为面点;
针对所述多个区域中任一区域,若所述区域中平滑度最高的第二数目个点中存在平滑度大于第二阈值的第二目标点,确定所述第二目标点为边点;
将从多个区域中确定的面点划分至所述平面特征点集合;
将从多个区域中确定的边点划分至所述边缘特征点集合。
7.根据权利要求6所述地图构建方法,其特征在于,针对每一点的平滑度c的计算公式如下:
Figure FDA0003410105560000031
其中,k表示位于第k平面的激光传感器,XK,i为位于第k平面的激光传感器发射的第i个光线对应的点对应的距离,XK,j为位于第k平面的激光传感器发射的第i个光线对应的点的极角领域内的点对应的距离。
8.根据权利要求5所述地图构建方法,其特征在于,所述基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建所述被测对象的三维图像包括:
对于所述多帧点云数据中任一帧点云数据,若所述点云数据与前一帧关键帧的距离大于或等于第三阈值,确定所述点云数据为关键帧;
基于所述点云数据与前一帧点云数据的相对位姿以及所述前一帧点云数据至第一帧点云数据中两两相邻的点云数据之间的相对位姿,获得所述点云数据相对于第一帧点云数据的第一相对位姿;
基于第二待定相对位姿将所述点云数据的边缘特征点集合映射至已构建的点云地图,构成第二候选边缘特征点集合,所述点云地图的坐标系为所述第一帧点云数据对应的坐标系;
基于所述第二候选边缘特征点集合与所述点云地图,确定第三误差;
基于所述第二待定相对位姿将所述点云数据的平面特征点集合映射至所述点云地图,构成第二候选平面特征点集合;
基于所述第二候选平面特征点集合与所述点云地图,确定第四误差;
确定使得所述第三误差与所述第四误差之和最小的所述第二待定相对位姿,为所述点云数据与所述点云地图的第二相对位姿;
基于所述第一相对位姿和所述第二相对位姿,获得所述点云数据相对于所述点云地图的目标相对位姿;
若所述点云数据与前一帧关键帧的距离小于所述第三阈值,确定所述点云数据为非关键帧;
基于所述点云数据与前一帧关键帧的相对位姿和前一帧关键帧与所述点云地图的相对位姿,确定所述点云数据相对于所述点云地图的目标相对位姿;
基于所述目标相对位姿,将所述点云数据中的面点和边点映射至所述点云地图中,以得到包含所述多帧点云数据中的边点和面点的点云地图;
基于所述点云地图构建所述被测对象的三维图像。
9.根据权利要求8所述地图构建方法,其特征在于,所述基于所述第一相对位姿和所述第二相对位姿,获得所述点云数据相对于所述点云地图的目标相对位姿包括:
获取所述位姿采集模块采集的所述点云数据相对于所述点云地图的第三相对位姿;
基于所述第一相对位姿、所述第二相对位姿、所述第三相对位姿以及第二设定权重,获得所述目标相对位姿,所述第二设定权重用于表征所述第三相对位姿的准确度。
10.一种地图构建装置,其特征在于,包括:
第一获取模块,用于获取被测对象对应的多帧点云数据以及所述多帧点云数据分别对应的时间戳;
第二获取模块,用于针对所述多帧点云数据中任一帧点云数据,获取在采集所述点云数据的过程中,位姿采集模块采集的激光雷达的多个位姿以及所述多个位姿分别对应的时间戳;
第三获取模块,用于获取在采集所述点云数据的过程中所述激光雷达的目标位姿变化信息,其中,所述目标位姿变化信息是基于所述位姿采集模块采集得到的时间戳与该帧点云数据的时间戳最近的位姿变化信息得到的;
第一确定模块,用于基于所述多个位姿、所述多个位姿分别对应的时间戳、所述目标位姿变化信息以及所述点云数据的时间戳,确定所述点云数据关联的位姿,以得到所述多帧点云数据分别关联的位姿;
第二确定模块,用于针对所述多帧点云数据中任一帧点云数据,基于所述点云数据关联的位姿与所述点云数据的前一帧点云数据关联的位姿,确定两帧点云数据之间的相对位姿,以得到所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿;
构建模块,用于基于所述多帧点云数据中两两相邻两帧点云数据之间的相对位姿以及所述多帧点云数据,构建所述被测对象的三维图像。
CN202111525329.6A 2021-12-14 2021-12-14 地图构建方法及装置 Pending CN114219908A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111525329.6A CN114219908A (zh) 2021-12-14 2021-12-14 地图构建方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111525329.6A CN114219908A (zh) 2021-12-14 2021-12-14 地图构建方法及装置

Publications (1)

Publication Number Publication Date
CN114219908A true CN114219908A (zh) 2022-03-22

Family

ID=80701698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111525329.6A Pending CN114219908A (zh) 2021-12-14 2021-12-14 地图构建方法及装置

Country Status (1)

Country Link
CN (1) CN114219908A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114577216A (zh) * 2022-03-31 2022-06-03 美智纵横科技有限责任公司 导航地图构建方法、装置、机器人及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114577216A (zh) * 2022-03-31 2022-06-03 美智纵横科技有限责任公司 导航地图构建方法、装置、机器人及存储介质

Similar Documents

Publication Publication Date Title
CN110889808B (zh) 一种定位的方法、装置、设备及存储介质
CN113359097B (zh) 一种毫米波雷达和相机联合标定的方法
US6933888B1 (en) Multi-ship coherent geolocation system
Park et al. Radar localization and mapping for indoor disaster environments via multi-modal registration to prior LiDAR map
KR101252680B1 (ko) 디지털 항공이미지를 이용한 영상도화시스템
CN112051575A (zh) 一种毫米波雷达与激光雷达的调整方法及相关装置
CN110906924A (zh) 一种定位初始化方法和装置、定位方法和装置及移动装置
CN111308457A (zh) 脉冲多普勒雷达寻北的方法、系统及存储介质
US20230136329A1 (en) Target detection in a point cloud
CN114219908A (zh) 地图构建方法及装置
CN109903367B (zh) 构建地图的方法、装置和计算机可读存储介质
CN116299319B (zh) 多激光雷达的同步扫描及点云数据处理方法和雷达系统
WO2002012830A1 (en) Height measurement apparatus
CN111351487A (zh) 多传感器的时钟同步方法、装置及计算设备
CN111522441B (zh) 空间定位方法、装置、电子设备及存储介质
CN114119465A (zh) 一种点云数据处理方法及装置
CN112230194B (zh) 一种基于平移阵列的解模糊方法、设备及存储介质
CN114359338A (zh) 位姿估计方法、装置、终端设备及计算机可读存储介质
CN114488191A (zh) 激光雷达扫描方法、控制设备及激光雷达
CN112578363B (zh) 激光雷达运动轨迹获取方法及装置、介质
US10698077B2 (en) Angle-based multiple-source geolocation method and geolocation geometry evaluation based on covariance matrix
GB2555779A (en) Acquisition and/or tracking of remote object
RU2253126C1 (ru) Способ отождествления пеленгов источников радиоизлучений в угломерных двухпозиционных пассивных радиолокационных системах
WO2016040239A1 (en) Multi-sensor target location registration
CN111095024A (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