一种建图方法、装置、设备及存储介质与流程

文档序号:32654138发布日期:2022-12-23 20:49阅读:28来源:国知局
一种建图方法、装置、设备及存储介质与流程

1.本技术涉及自动驾驶技术领域,尤其涉及一种建图方法、装置、设备及存储介质。


背景技术:

2.在自动驾驶领域,基于同步定位与建图(simultaneous localization and mapping,简称slam)技术构建的高精地图是实现自动驾驶功能中不可或缺的一部分,对于作为未来交通工具发展方向之一的飞行汽车而言,更是如此。然而,由于待建图区域环境和汽车、飞行器等可移动设备自身位置的未知性,对于几何特征较少的区域例如草坪、湖泊等平面,可能会出现欠约束问题,使得该区域的大小、位置和边界不确定,与待建图区域的真实环境存在偏差,从而无法实现全地形建图。


技术实现要素:

3.为克服相关技术中存在的问题,本技术提供了一种建图方法、装置、设备及存储介质。
4.根据本技术实施例的第一方面,提供一种建图方法,应用于可移动设备,所述可移动设备配置有观测设备,所述观测设备至少包括雷达,所述方法包括:
5.获取雷达在当前时刻采集的第一点云帧;
6.若所述第一点云帧与所述雷达在当前时刻的前一时刻采集的第二点云帧满足欠约束条件,将所述第二点云帧作为待建图区域的第一局部子图的结束帧,并将所述第一点云帧作为待建图区域的第二局部子图的起始帧;其中,不同的局部子图对应待建图区域中不同的子区域;
7.基于所述第一局部子图和所述第二局部子图生成所述待建图区域的点云地图。
8.根据本技术实施例的第二方面,提供一种建图装置,应用于可移动设备,所述可移动设备配置有观测设备,所述观测设备至少包括雷达,包括:
9.获取模块,用于获取雷达在当前时刻采集的第一点云帧;
10.确定模块,用于在所述第一点云帧与所述雷达在当前时刻的前一时刻采集的第二点云帧满足欠约束条件的情况下,将所述第二点云帧作为待建图区域的第一局部子图的结束帧,并将所述第一点云帧作为待建图区域的第二局部子图的起始帧;其中,不同的局部子图对应待建图区域中不同的子区域;
11.生成模块,用于基于所述第一局部子图和所述第二局部子图生成所述待建图区域的点云地图。
12.根据本技术实施例的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述第一方面所述的方法。
13.根据本技术实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于指令相关的硬件,来完成前述第一方面
所述的方法。
14.本技术的实施例提供的技术方案可以包括以下有益效果:
15.本技术通过划分局部子图的方式对待建图区域进行建图,对建图过程中存在的欠约束情况进行实时检测,在采集时刻相邻的第一点云帧和第二点云帧出现欠约束状况时,将第一点云帧和第二点云帧划分至两个不同的局部子图中。由此使得每个局部子图内部不存在欠约束情况,对于几何特征较少的区域也能保证与待建图区域真实环境的一致性。
16.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
17.此处的附图被并入说明书中并构成本技术的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
18.图1a是本技术根据一示例性实施例示出的一种建图方法的流程图。
19.图1b是本技术根据一示例性实施例示出的一种因子图优化示意图。
20.图1c是本技术根据一示例性实施例示出的另一种因子图优化示意图。
21.图2是本技术根据一示例性实施例示出的一种建图装置的框图。
22.图3是本技术根据一示例性实施例示出的一种建图装置所在电子设备的一种硬件结构图。
具体实施方式
23.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
24.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
25.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
26.在建图过程中,对于几何特征较少的区域如草坪、湖泊等平面,无法在观测设备在相邻两个时刻对该区域采集到的数据之间建立对应关系,例如无法将雷达在相邻时刻采集到的两帧草坪的点云帧中的草坪边界点对应起来,从而使得草坪的大小、边界和位置等不确定,出现欠约束问题,导致建立的地图不准确。为了克服相关技术中存在的欠约束问题,本技术提出一种建图方法,通过划分局部子图的方式对待建图区域进行建图,在建图过程中实时检测可能存在的欠约束情况,在采集时刻相邻的第一点云帧和第二点云帧出现欠约
束状况时,将第一点云帧和第二点云帧划分至两个不同的局部子图中。由此使得每个局部子图内部不存在欠约束情况,对于几何特征较少的区域也能保证与待建图区域真实环境的一致性。本技术适用于具备自身定位及导航需求的可移动设备,包括但不限于汽车、无人机、扫地机器人等等,可移动设备上配置有用于采集待建图区域的环境信息的观测设备,至少包括雷达。
27.接下来对本技术实施例进行详细说明。
28.如图1a所示,图1a是本技术根据一示例性实施例示出的一种建图方法的流程图,包括以下步骤:
29.步骤102,获取雷达在当前时刻采集的第一点云帧;
30.步骤104,若第一点云帧与雷达在当前时刻的前一时刻采集的第二点云帧满足欠约束条件,将第二点云帧作为待建图区域的第一局部子图的结束帧,并将第一点云帧作为待建图区域的第二局部子图的起始帧;其中,不同的局部子图对应待建图区域中不同的子区域;
31.步骤106,基于第一局部子图和第二局部子图生成待建图区域的点云地图。
32.同步定位与建图一方面基于可移动设备的位置对待建图区域进行建图,另一方面基于已创建的地图指导可移动设备的移动路径,保证建图的实时性和准确性才能对可移动设备起到导航作用。欠约束问题会影响建图的准确性,故在建图过程中实时进行欠约束检测,雷达每采集一帧点云帧,则判断当前时刻采集到的第一点云帧与当前时刻的前一时刻采集到的第二点云帧是否存在欠约束问题,在存在欠约束问题的情况下则基于第二点云帧及第二点云帧之前雷达采集的点云帧构建一个局部子图(第一局部子图),以第一点云帧作为起始帧构建一个新的局部子图(第二局部子图)。举个例子,雷达从起始时刻t1至当前时刻t3采集的点云帧分别为p1、p2和p3,若p3和p2存在欠约束问题,则p1和p2属于局部子图a1,p3属于局部子图a2。由于存在欠约束问题的两帧点云帧分属于两个不同的局部子图,所以对于每个局部子图而言,其中任意相邻的两帧点云帧之间都不存在欠约束问题,每个局部子图与其所对应的待建图区域子区域的位置、大小、形状等保持一致。
33.相邻两帧点云帧之间是否存在欠约束问题可以基于可移动设备的状态变量判断,状态变量表征了可移动设备的运动状态和位置状态,至少包括可移动设备的位姿。此外,状态变量至少还可以包括可移动设备的速度,可移动设备上陀螺仪角速度的零偏,可移动设备加速度的零偏,或重力加速度等。需要说明的是,可移动设备的状态变量均为实数空间中的向量。
34.状态变量可以通过可移动设备上安装的导航设备提供,导航设备能够提供可移动设备的位姿信息,可移动设备的状态变量至少融合了导航设备提供的位姿信息。由于导航设备提供的是全局观测信息,即世界坐标系下的位姿信息,故可移动设备的状态变量融合导航设备采集的数据后一方面可以解决欠约束问题,另一方面可以解决漂移问题。同时,导航设备还会提供用于表征状态变量精度的协方差矩阵。在本技术一实施例中,基于可移动设备在当前时刻的状态变量对应的协方差矩阵判断当前时刻采集的第一点云帧与当前时刻的前一时刻采集的第二点云帧是否满足欠约束条件,包括以下步骤:根据可移动设备在当前时刻的状态变量对应的协方差矩阵计算该协方差矩阵的特征值;将计算得到的特征值输入预先训练好的分类器,基于分类器输出的分类结果确定第一点云帧与第二点云帧是否
满足欠约束条件。此外,还可以采用其他方式进行欠约束检测,本技术对此不进行限制。
35.在可移动设备的状态变量融合了导航设备提供的位姿信息的情况下,由于导航设备采集的位姿信息会带有一定量级的误差,而该误差量级对于建图来说一般偏大,导致系统状态变量误差会随着可移动设备移动路径的增加而逐渐增大,从而会影响到建图的精度。为了减缓导航设备提供的位姿信息对可移动设备状态变量所带来的误差,可以在误差累计到一定程度时,重新构建一个局部子图,基于导航设备在该新局部子图的起始帧采集时刻提供的位姿信息重新确定该时刻可移动设备的状态变量,由此可以将导航设备提供的位姿信息所带来的误差控制在一定的范围内。
36.也就是说,可以通过设置导航设备提供的位姿信息所带来的误差上限来判断是否开始构建新的局部子图,在当前时刻超过上限的情况下构建新的局部子图,误差上限可以通过可移动设备移动距离表征或通过可移动设备在当前时刻的状态变量与导航设备在当前时刻提供的位姿信息之间的偏差表征。在可移动设备在当前时刻的状态变量与导航设备在当前时刻提供的位姿信息之间的偏差超过预设阈值的情况下,和/或,在可移动设备在当前时刻的累计移动距离为预设距离阈值的情况下,开始构建一个新的局部子图(第二局部子图),将当前时刻采集的第一点云帧作第二局部子图的起始帧,将当前时刻的前一时刻采集的第二点云帧作为第一局部子图的结束帧。状态变量与导航设备提供的位姿信息之间的偏差阈值以及导航设备累计移动距离的预设距离阈值可以基于导航设备的型号和使用经验设置。此外,还可以基于其他能够表征导航设备提供的位姿信息所带来的误差上限的条件判断是否需要构建新的局部子图,本技术对此不做限制。
37.可以理解的是,基于前述内容可以同时设置多项用于重新构建新的局部子图的触发条件,无论是出现欠约束问题还是误差超过上限都会重新构建一个新的局部子图,由此能够在保证每个局部子图内部不存在欠约束问题的同时减小了导航设备提供的位姿信息所带来的误差。还需要说明的是,前述用于检测欠约束情况以及用于判断导航设备提供的位姿信息所带来的误差是否超过上限的状态变量为可移动设备在雷达采集点云帧的时刻所对应的状态变量。
38.除了导航设备之外,惯性测量单元也能够提供可移动设备的状态变量,基于惯性测量单元采集的角速度和加速度能够确定可移动设备的速度及位姿的变化。在本技术一实施例中,观测设备还包括惯性测量单元,可移动设备的状态变量通过融合导航设备、雷达及惯性测量单元采集的数据确定。每当雷达或导航设备采集到数据则在可移动设备的状态变量初始值的基础上进行迭代更新,状态变量的初始值可以由导航设备提供也可以由用户提前设置。融合的具体过程如下:假设初始时刻t0状态变量的初始值为x0,若在t1时刻雷达或导航设备采集到数据d1,则在x0的基础上融合惯性测量单元在t0至t1时刻内采集到的可移动设备的运动数据以及数据d1确定t1时刻的状态变量x1;若在t2时刻雷达或导航设备采集到数据d2,则在x1的基础上融合惯性测量单元在t1至t2时刻内采集到的可移动设备的运动数据以及数据d2确定t2时刻的状态变量x2,以此类推。数据融合的过程可以通过卡尔曼滤波器实现。
39.为了进一步减小导航设备提供的位姿信息所带来的误差对可移动设备状态变量准确度的影响,还可以对每一个局部子图进行误差优化,例如可以采用因子图优化法进行优化,引入先验约束和关联约束这两个约束条件。每个局部子图都对应多帧点云帧,每一帧
点云帧对应于可移动设备在该帧点云帧被采集时刻的状态变量。也就是说,每个局部子图都对应多个状态变量,通过对多个状态变量的优化以实现对局部子图的优化。其中,先验约束为导航设备从局部子图的起始帧被采集时刻至局部子图的结束帧被采集时刻采集的位姿信息所对应的期望值和协方差矩阵;关联约束由多个关联因子构成,每个关联因子基于局部子图对应的任意两个采集时刻相邻的点云帧中每个点云帧对应的状态变量及协方差矩阵计算得到。随后,基于优化前结束帧对应的状态变量计算第一位姿矩阵,基于优化后结束帧对应的状态变量计算第二位姿矩阵,将第一位姿矩阵和第二位姿矩阵的乘积确定为更新矩阵;基于更新矩阵对优化后结束帧对应的状态变量及局部子图进行更新。
40.基于所述更新矩阵对优化后所述结束帧对应的所述状态变量及所述局部子图进行更新。
41.如图1b所示,为本技术根据一示例性实施例示出的一种因子图优化示意图,基于待优化的局部子图对应的可移动设备在不同时刻(time)的状态变量构建,该局部子图基于雷达在t1-t6时刻采集的点云帧构建,对应有可移动设备在t1-t6时刻的状态变量x1-x6,且每一个状态变量对应一个协方差矩阵。导航设备在t1、t3和t6时刻分别采集有位姿信息y1、y3和y6,则y1对应的期望值和协方差矩阵作为t1时刻状态变量的先验因子,对t1时刻状态变量的调整范围进行控制;y3对应的期望值和协方差矩阵作为t3时刻状态变量的先验因子,对t3时刻状态变量的调整范围进行控制;y6对应的期望值和协方差矩阵作为t6时刻状态变量的先验因子,对t6时刻状态变量的调整范围进行控制,所有先验因子作为先验约束。基于t1时刻的状态变量x1及x1对应的协方差矩阵z1,和t2时刻的状态变量x2及x2对应的协方差矩阵z2计算x1和x2的关联因子,用于对x1和x2之间的差值进行控制,以此类推获得其他相邻两个状态变量的关联因子,所有关联因子作为关联约束。随后基于概率最大化法计算得到t1-t6各个时刻优化后的状态变量x1
’‑
x6’。
42.需要说明的是,由于观测设备的采样频率不一致,在局部子图对应的时间段内导航设备可能没有采集到数据(例如导航设备在t1-t6时刻均未采集到位姿信息),这种情况下可以通过插值法确定导航设备在t1-t6各个时刻的位姿信息,从中挑选至少一个时刻的位姿信息对应的期望值和协方差矩阵作为先验约束。
43.然后,基于结束帧采集时刻t6对应的优化前状态变量x6计算第一位姿矩阵t6,基于结束帧采集时刻t6对应的优化后状态变量x6’计算第二位姿矩阵t6’,将t6和t6’的乘积作为更新矩阵。更新矩阵可以表示为作为更新矩阵。更新矩阵可以表示为其中tk为k时刻优化前的位姿矩阵,为k时刻优化后的位姿矩阵,ru是一个3x3的矩阵,对应由局部子图中的结束帧所对应的位姿变量在优化前和优化后的角度偏差量构成的更新矩阵的旋转部分,用于表征姿态角需要调整的幅度,可修正姿态角的偏差;tu是一个3x1的向量,对应由局部子图中的结束帧所对应的位姿变量在优化前和优化后的位置偏差量构成的更新矩阵的平移部分,用于表征位置需要调整的幅度,可修正位置的偏差。
44.状态变量可表示为x={r,t,v,ba,bg,g},其中,r表示可移动设备的姿态角,t表示可移动设备的位置,v表示可移动设备的速度,ba表示可移动设备加速度的零偏,bg表示可移动设备上陀螺仪角速度的零偏,g表示重力加速度。通过更新矩阵更新后的状态变量表示为x={log(ruexp(r)),rut+tu,ruv,ba,bg,rug}。对局部子图的更新则是基于更新矩阵调整
局部子图对应的点云帧中各个点的坐标,局部子图可以表示为χ={pi,i=1,2,...,n},其中pi表示点云帧中各个点的坐标,更新后的局部子图则可以表示为χu={rupi+tu,i=1,2,...,n}。
45.在分别对各个局部子图进行优化后,还可以对优化后的多个局部子图进行全局优化,可以进一步地消除修正状态变量,减小误差。优化方式与前述单个局部子图的优化方式类似,采用因子图优化法,引入先验约束和关联约束这两个约束条件,只是将单个局部子图对应的各个状态变量更换为各个局部子图对应的状态变量。每个局部子图的状态变量为可移动设备在该局部子图的结束帧采集时刻更新后的状态变量。不同之处在于,全局优化时每一个局部子图都对应一个导航设备在该局部子图的结束帧对应的时刻采集的位姿信息所对应的期望值和协方差矩阵作为先验约束。关联约束由多个关联因子构成,关联因子基于任意相邻的第一局部子图的结束帧对应的更新后的状态变量及协方差矩阵及第二局部子图的结束帧对应的更新后的状态变量及协方差矩阵计算得到,第一局部子图的结束帧的采集时刻与第二局部子图的起始帧的采集时刻相邻。由于全局优化时引入导航设备采集的位姿信息作为先验约束,能够消除相邻两个局部子图之间存在的欠约束问题。
46.如图1c所示,为本技术根据一示例性实施例示出的另一种因子图优化示意图,基于已构建的多个局部子图的结束帧采集时刻(time)的状态变量构建,对6个局部子图g1-g6进行全局优化,各个局部子图对应的状态变量为x1-x6,且每一个状态变量对应一个协方差矩阵。导航设备在各个局部子图的结束帧对应时刻分别采集有位姿信息y1-y6,则y1对应的期望值和协方差矩阵作为局部子图g1的先验因子,y2对应的期望值和协方差矩阵作为局部子图g2的先验因子,以此类推获得其他局部子图的先验因子,所有先验因子作为先验约束。基于局部子图g1的状态变量x1及x1对应的协方差矩阵z1,和局部子图g2的状态变量x2及x2对应的协方差矩阵z2计算x1和x2的关联因子,用于对x1和x2之间的差值进行控制,以此类推获得其他相邻两个局部子图的关联因子,所有关联因子作为关联约束。随后基于概率最大化法计算得到各个局部子图优化后的状态变量x1
’‑
x6’。
47.与前述方法的实施例相对应,本技术还提供了一种建图装置及其所应用的终端的实施例。如图2所示,图2是本技术根据一示例性实施例示出的一种建图装置200的框图,所述装置包括:
48.获取模块210,用于获取雷达在当前时刻采集的第一点云帧;
49.确定模块220,用于在所述第一点云帧与所述雷达在当前时刻的前一时刻采集的第二点云帧满足欠约束条件的情况下,将所述第二点云帧作为待建图区域的第一局部子图的结束帧,并将所述第一点云帧作为待建图区域的第二局部子图的起始帧;其中,不同的局部子图对应待建图区域中不同的子区域;
50.生成模块230,用于基于所述第一局部子图和所述第二局部子图生成所述待建图区域的点云地图。
51.上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
52.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以
不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
53.本技术文件中的建图装置的实施例可以安装在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本技术实施例中建图装置所在电子设备300的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中装置331所在的电子设备,通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
54.相应的,本技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述任一方法实施例所述的方法。本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于指令相关的硬件,来完成前述任一方法实施例所述的方法。
55.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
56.本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由权利要求指出。
57.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
58.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1