掌桥专利:专业的专利平台
掌桥专利
首页

定位方法、系统及可移动平台

文献发布时间:2023-06-19 09:30:39


定位方法、系统及可移动平台

技术领域

本申请实施例涉及定位技术,尤其涉及一种定位方法、系统及可移动平台。

背景技术

随着科技发展,智能驾驶技术逐渐成为人们关注焦点。

相关技术中,提出基于高精地图进行汽车的6自由度位姿搜索,通过穷举搜索的方式,找出汽车当前处于地图中的位置,以实现智能驾驶中实时导航、路径规划等重要功能。其中,上述六个自由度位姿包括沿X、Y、Z三个直角坐标轴方向的移动自由度(X、Y、Z值)和绕这三个坐标轴的转动自由度(Pitch、Yaw和Roll值)。这里,Pitch是围绕X轴旋转,也叫做俯仰角;Yaw是围绕Z轴旋转,也叫偏航角;Roll是围绕Y轴旋转,也叫翻滚角。另外,上述高精地图,通俗来讲就是精度更高、数据维度更多的电子地图。精度更高体现在精确到厘米级别,数据维度更多体现在其包括了除道路信息之外的与交通相关的周围静态信息。

然而,对位姿进行6自由度穷举法搜索,搜索的数据量和复杂度随着搜索维度成指数级别上升,数据处理难度较大。

发明内容

本申请实施例提供一种定位方法、系统及可移动平台,以克服进行自由度定位难度较大的问题。

第一方面,本申请实施例提供一种定位方法,包括:

获取由传感器采集的点云,所述点云用于标识可移动平台周围环境的地面,所述传感器设置在所述可移动平台;

确定所述点云的目标特征点,并确定高精地图的参考特征点;

根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息;

通过所述第一自由度信息矫正所述点云的位姿;

根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息;

根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位。

第二方面,本申请实施例提供一种定位系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机执行指令,所述处理器执行所述计算机执行指令时实现如下步骤:

获取由传感器采集的点云,所述点云用于标识可移动平台周围环境的地面,所述传感器设置在所述可移动平台;

确定所述点云的目标特征点,并确定高精地图的参考特征点;

根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息;

通过所述第一自由度信息矫正所述点云的位姿;

根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息;

根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位。

第三方面,本申请实施例提供一种可移动平台,包括可移动平台本体、传感器,以及定位系统,所述传感器和所述定位系统设置在所述可移动平台本体;

所述定位系统获取由所述传感器采集的点云,所述点云用于标识可移动平台周围环境的地面;

确定所述点云的目标特征点,并确定高精地图的参考特征点;

根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息;

通过所述第一自由度信息矫正所述点云的位姿;

根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息;

根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的定位方法。

本申请实施例提供的定位方法、系统及可移动平台,该方法通过获取由传感器采集的点云,该点云用于标识可移动平台周围环境的地面,上述传感器设置在可移动平台,然后根据该点云的目标特征点,以及高精地图的参考特征点,计算上述点云相对于高精地图的第一自由度信息。根据第一自由度信息矫正上述点云的位姿,根据矫正后的点云上的目标特征点,以及上述参考特征点,计算点云相对于高精地图的第二自由度信息,由于在先第一自由度信息计算已经一定程度上矫正了点云的位姿,继而缩小了后续第二自由度信息的计算范围,减少了计算量,提高了计算速度,进而能够让自由度定位的实时性更佳,克服了现有进行自由度定位难度较大的问题。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的定位系统架构示意图;

图2为本申请实施例提供的一种定位方法的流程示意图;

图3为本申请实施例提供的一种进行地面对齐前点云面的示意图;

图4为本申请实施例提供的一种进行地面对齐后的点云面的示意图;

图5为本申请实施例提供的目标特征点和参考特征点的特征点匹配关系图;

图6为本申请实施例提供的两层金字塔穷举搜索示意图;

图7为本申请实施例提供的多个损失量分布示意图;

图8为本申请实施例提供的另一种定位方法的流程示意图;

图9为本申请实施例提供的一种定位设备的结构示意图;

图10为本申请实施例提供的另一定位设备的结构示意图;

图11为本申请实施例提供的定位系统的硬件结构示意图;

图12为本申请实施例提供的一种可移动平台的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在相关技术中,通常基于高精地图进行汽车的6自由度位姿搜索,通过穷举搜索的方式,找出汽车当前处于地图中的位置,以实现智能驾驶中实时导航、路径规划等重要功能。

然而,对位姿进行6自由度穷举式搜索,搜索的数据量和复杂程度随着搜索维度成指数级别上升。因此,上述6自由度位姿搜索,运算量庞大,计算速度较低难以满足使用需求。

为了解决该技术问题,本实施例提供一种定位方法,通过获取由传感器采集的点云,该点云用于标识可移动平台周围环境的地面,上述传感器设置在可移动平台,然后根据该点云的目标特征点,以及高精地图的参考特征点,计算上述点云相对于高精地图的第一自由度信息。根据第一自由度信息矫正上述点云的位姿,根据矫正后的点云上的目标特征点,以及上述参考特征点,计算点云相对于高精地图的第二自由度信息,从而实现6自由度全位姿计算。

由于在先的3个自由度计算已经一定程度上矫正了点云的位姿,继而缩小了后续三个自由度的计算范围,减少了计算量,因此计算速度更快,这样,也能够让自由度定位的实时性更佳。

图1为本申请实施例提供的定位系统的架构示意图。如图1所示,包括:传感器101、高精地图获取系统102、第一处理器103和第二处理器104。以可移动平台为车辆为例,传感器101搭载在车辆上,传感器可以实时生成相应的点云,其中,该点云用于标识车辆周围环境的地面。高精地图获取系统102获取高精地图,示例性的,高精地图获取系统102可以实时获取车辆预设范围内的高精地图,其中,预设范围内可以根据实际情况设置,例如车辆10米范围内的高精地图。第一处理器103可以结合传感器101生成的点云和高精地图获取系统102获取的高精地图,确定目标特征点和参考特征点,并根据该目标特征点和参考特征点,确定点云相对于高精地图的第一自由度信息,通过第一自由度信息矫正点云的位姿,根据矫正后的点云上的目标特征点,以及高精地图上的参考特征点,确定点云相对于高精地图的第二自由度信息,根据第二自由度信息,在高精地图上对车辆进行定位,并将定位结果送入至第二处理器104做后续的行驶规划和使用。

这里,上述可移动平台除可以为车辆外,还可以为无人飞行器等设备。第一处理器103和第二处理器104可以为车用计算平台、无人飞行器处理器等。本实施例对第一处理器103和第二处理器104的实现方式不做特别限制,只要第一处理器103和第二处理器104能够上述相应功能即可。

应理解上述架构仅为一种示例性系统架构框图,具体实施时,可以根据应用需求设置,例如第一处理器103和第二处理器104可以单独设置,也可以合到一起,满足不同应用需求。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图2为本申请实施例提供的定位方法的流程示意图,本实施例的执行主体可以为图1所示实施例中的第一处理器,如图2所示,该方法包括:

S201、获取由传感器采集的点云,所述点云用于标识可移动平台周围环境的地面,所述传感器设置在所述可移动平台。

其中,上述点云可以为图像点云、雷达点云、激光点云等,在后续处理中可以根据实际情况采用上述一种或多种点云。

可选地,所述获取由传感器采集的点云,包括:

通过所述传感器获取完整点云;

对所述完整点云进行地面分割,获得所述点云。

这里,第一处理器可以通过传感器实时获取完整点云,并对完整激光点云进行地面分割,获得上述点云。其中,点云地面分割可以通过将三维点云投影到水平栅格地图中,根据每个网格内点云高度信息设定相邻网格的高度差阈值,来判定地面点与非地面点,进而实现点云地面分割;或者,由邻近估计点的法向量提取局部点特征,建立平滑约束,利用欧式聚类和区域增长算法快速分割地面和非地面,从而实现点云地面分割。

另外,在一些实施方式中,上述传感器可以具有初步的数据处理功能,例如带有终端计算能力,从而上述传感器可以对其探测数据进行初步数据处理,例如对完整点云进行地面分割,获得上述点云,然后可以将该处理结果发送至第一处理器作后续进一步的计算。

S202、确定所述点云的目标特征点,并确定高精地图的参考特征点。

可选地,所述确定所述点云的目标特征点,包括:

确定所述点云在Z轴方向上投影得到的点云面中的目标特征点。

其中,上述点云面包括多个点云投影点。

具体的,所述确定所述点云在Z轴方向上投影得到的点云面中的目标特征点,包括执行以下任意操作:

根据特征提取算法在所述点云面上提取特征点作为所述目标特征点,其中,提取的所述特征点包括用于表征角点或边缘点的所述点云投影点;

根据预设网格尺寸对投影得到的所述点云面进行网格划分,将所述网格的中心像素作为所述目标特征点。

这里,首先对点云进行投影,例如点云中有20W个点,投影后得到3W个像素,处理数量降低85%。对投影得到的点云面中的目标特征点进行提取,进一步降低数据处理量,例如数量从3W个像素到3K个像素,处理数量降低90%。由于特征数量远小于总激光点数,需要计算资源降低,提高后续处理速度。

上述特征提取算法可以根据实际应用需要设置,例如高斯函数差分(Differenceof Gaussian,简称DOG)。上述角点即为极值点,可以理解为在某方面属性特别突出的点。上述边缘点为数据变化符合预设变化要求的点,例如数据变化剧烈的点。根据上述特征提取算法在点云面的点云投影点中提取角点或边缘点等作为目标特征点。

另外,上述预设网格尺寸可以根据实际情况设置,根据预设网格尺寸对投影得到的点云面进行网格划分,将网格的中心像素作为目标特征点,其中,中心像素可以为通过计算网格中各个点的加权平均像素得到。

可选地,上述方法还包括:

在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测。

所述确定高精地图的参考特征点,包括:

确定所述高精地图上位于所述目标位置区域的高精地图面的参考特征点。

在本申请实施例中,高精地图如上述,可以通过高精地图获取系统实时获取,例如实时获取可移动平台预设范围内的高精地图。

具体的,可移动平台搭载一个或多个传感器,所述传感器包括以下任意传感器:

轮速传感器、IMU传感器、速度传感器、加速度传感器、陀螺仪传感器、GPS定位传感器、电机转速传感器。

上述在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测,包括:

通过所述可移动平台搭载的传感器获取所述可移动平台的行驶状态信息;

根据所述行驶状态信息在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测。

其中,上述行驶状态信息包括运动速度、加速度等信息,根据这些信息在高精地图上对可移动平台下一时刻的运动进行预测,确定可移动平台所处的目标位置区域。并在确定该目标位置区域后,确定高精地图上位于该目标位置区域的高精地图面的参考特征点。

这里,如果上述目标特征点为表征角点或边缘点的点云投影点,上述高精地图面的参考特征点可以为高精地图面中的角点或边缘点,方便后续进行目标特征点和参考特征点的匹配,进而进行定位计算。同理,如果上述目标特征点为目标特征点为网格的中心像素,上述高精地图面的参考特征点可以为高精地图面中网格的中心像素,其中,对高精地图面的网格划分方式可以参考上述对点云面的网格划分方式。

S203、根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息。

可选地,所述第一自由度信息包括Pitch参数、Roll参数和Z参数。

可选地,所述根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息,包括:

获取多个待选转换矩阵,所述待选转换矩阵用于将所述点云面在Pitch、Roll和Z三个自由度的位姿矫正至与所述高精地图面一致;

根据所述目标特征点对应的高度值和所述参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量;

确定最小的矫正损失量对应的待选转换矩阵为目标转换矩阵;

根据所述目标转换矩阵确定所述第一自由度信息。

为了进一步提高计算速度,这里利用地面对齐的方式进行Pitch/Roll/Z值的3自由度位姿进行计算。示例性的,如图3所示,进行地面对齐前上述点云面的示意图,以及如图4所示,进行地面对齐后的上述点云面的示意图。这里,首先获取多个将上述点云面在Pitch、Roll和Z三个自由度的位姿矫正至与上述高精地图面一致的待选转换矩阵,根据上述目标特征点对应的高度值和参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量。

其中,上述目标特征点对应的高度值基于如下操作确定:若目标特征点为点云投影点,则将点云投影点对应的投影高度作为目标特征点对应的高度值。若目标特征点为网格的中心像素,则将网格中其他点云投影点对应的投影高度的均值作为目标特征点的高度值。

具体的,所述根据所述目标特征点对应的高度值和所述参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量,包括:

将所述目标特征点和所述参考特征点进行配对处理,确定多个特征点配对组;

计算每一组已配对的所述目标特征点的对应的高度值和所述参考特征点对应的高度值之间的高度差;

根据计算得到的多个所述高度差,确定所述矫正损失量。

这里,如图5所示,确定上述目标特征点和参考特征点的特征点配对组。示例性的,通过公式:

确定上述目标特征点和参考特征点的特征点配对组,其中,

进一步的,确定最小的矫正损失量对应的待选转换矩阵为目标转换矩阵,根据目标转换矩阵确定所述第一自由度信息。示例性的,通过公式:

min{(

确定最小的矫正损失量对应的目标转换矩阵T

上述利用地面对齐实现Pitch/Roll/Z值的计算,一定程度上也是确定了点云平面与高精地图平面之间的相对位姿,对应于山地区域的高精地图平面本身具有一定的俯仰(Pitch),翻转(Roll)和高度(Z),通过这一可选实施方式能够使得校正后的点云平面贴合山地地面的实际位姿,解决采用最近点位置的Pitch/Roll/Z值预估,在地面不平整等出现的误差较大问题,能够应用于复杂城区环境等具有较大坡度、路面不平整等场景。

S204、通过所述第一自由度信息矫正所述点云的位姿。

具体的,通过第一自由度信息将上述点云面在Pitch、Roll和Z三个自由度的位姿矫正至与高精地图面一致。

矫正的过程可理解为,点云在Pitch(俯仰)、Roll(翻滚)和Z三个自由度上发生了变化。从空间姿态上看,矫正后的点云在Pitch、Roll和Z三个自由度上的姿态,与高精地图相近。由于有了这一在先的矫正步骤,后续执行另外三个自由度的搜索的精度也会得到提升。

S205、根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息。

可选地,所述第二自由度信息包括X参数、Y参数和Yaw参数。

可选地,所述根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息,包括:

根据Yaw参数的取值范围,确定一待选Yaw参数;

根据所述参考特征点,以及矫正后的所述点云面上所述目标特征点,计算每一待选Yaw参数下不同X参数和Y参数对应的损失量,其中,所述不同X参数和Y参数分别根据X参数和Y参数的取值范围确定;

根据计算的每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,确定所述第二自由度信息。

在本申请实施例中,把Yaw角搜索放在循环的最外层,并在每个Yaw角变化时重新确定点云在Z轴方向上投影得到的点云面中的目标特征点,从而有效提高后续定位精度,然后根据目标特征点和参考特征点,确定点云相对于高精地图的第一自由度信息,通过第一自由度信息矫正点云的位姿,根据矫正后的点云面上目标特征点,以及参考特征点,计算每一待选Yaw参数下不同X参数和Y参数对应的损失量,根据计算的每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,确定第二自由度信息。

具体的,对于每一待选Yaw参数,根据第一搜索范围确定所述参考特征点与矫正后的所述点云面上所述目标特征点进行配对处理后,每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差;

根据每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

基于确定的X参数和Y参数,根据第二搜索范围确定所述参考特征点与矫正后的所述点云面上所述目标特征点进行配对处理后,每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差,其中,所述第二搜索范围小于所述第一搜索范围;

根据每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

根据确定的全局高度差的最小值,以及全局高度差的最小值对应的X参数和Y参数,计算每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数。

这里,通过金字塔穷举搜索方式对X/Y/Yaw三个自由度进行估计。对于每一待选Yaw参数,为了实现更高效的穷举搜索(在一定范围内遍历每个像素,找出最优解),对搜索分为两层金字塔搜索的方式。第一层金字塔,搜索步长较大(如在一个5x5米的范围,以0.5米为步长进行搜索),得到一个损失量最小值位置,如图6中的第一个点位置。然后对第一层金字塔位置进行更精确搜索,以较小步长进行小范围(例如1x1米范围,以10厘米为步长进行搜索)搜索,最终得到一个损失量最小值(最优解),如图6的第二个点,进而确定每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,并根据每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,确定X/Y/Yaw三个自由度。

其中,上述损失量通过矫正后的点云面上所述目标特征点与参考特征点进行配对处理后,每一组已配对的目标特征点的对应的高度值和参考特征点对应的高度值确定。具体的,根据每一组已配对的目标特征点的对应的高度值和参考特征点对应的高度值之间的高度差获得全局高度差,根据全局高度差确定损失量,例如计算高度差加权平均,加权平均即为全局高度差,归一化之后可以得到损失量。

这里,上述确定X/Y/Yaw三个自由度过程中使用局部范围的金字塔结构穷举算法,可保证算法在可控制的计算复杂度内实现低资源消耗的实时运算。

另外,上述金字塔穷举搜索方式中除了对搜索分为两层金字塔搜索的方式外,还可以根据实际需要设置其它金字塔搜索的方式,本申请对此不作限制。

上述金字塔搜索方式,基于点云的目标特征点和高精地图的参考特征点,这些特征点均能实现快速单元化、并行化处理,提高算法实时性。而且上述金字塔搜索方式可以在GPU、FPGA上实现,获得高效实时的结果,满足某些工况,例如车载工况下低延迟要求。

在本申请实施例中,在上述计算每一待选Yaw参数下不同X参数和Y参数对应的损失量之后,还包括:

判断计算的多个损失量中是否有符合预设条件的待检损失量,其中,所述预设条件包括取值条件和位置条件,所述取值条件包括损失量值一致,所述位置条件包括:多个所述待检损失量对应的X参数或Y参数一致;

若计算的多个损失量中有符合所述预设条件的多个所述待检损失量,则判定多个所述待检损失量对应的X参数和Y参数不可信。

此外,还有判断计算的每一待选Yaw参数下的最小损失量对应的X参数和/或Y参数是否位于所述目标位置区域边缘;

若计算的目标待选Yaw参数下的最小损失量对应的X参数和/或Y参数位于所述目标位置区域边缘,则判定所述目标待选Yaw参数下的最小损失量对应的X参数和Y参数不可信。

这里,考虑到弱纹理场景,例如隧道、高速公路等环境,其纹理相近,得到的点云点匹配过程中容易发生错误,因而难以实现稳定定位。值得说明的是,为了实现准确判断当前定位结果是否可靠,可进行如下判断步骤,以剔除无效的数据:

(1)判断计算的多个损失量所在位置的X参数或Y参数一致,即在金字塔搜索过程中,得到对应相似或相同Y值(或者X值)的几个点云的损失量值大小相等,那么这个位置很有可能处于难以准确定位的弱纹理区域,如图7所示(图中颜色深浅表示不同的损失量大小),因此,判定上述多个待检损失量对应的X参数和Y参数不可信。

(2)如果某一待选Yaw参数下的最小损失量对应的X参数和/或Y参数位于目标位置区域边缘,例如上述图6框图的边缘,那很有可能正在准确的位置超出搜索范围,因此,判定上述待选Yaw参数下的最小损失量对应的X参数和Y参数不可信。

对于上述(1)中多个损失量所在位置的行或者列的损失量值大小相等的情况,以上述图6为例,可以通过公式:

确定Yaw角方向的熵值(Entropy),其中,P(x

这里,为了能够给出当前定位的不确定度大小,当Entropy比较大(超出预设Entropy阈值)时,对上述图6拟合高斯函数:

其中,σ

在具体实施时,除了输出定位结果,还可以输出关于该定位结果的不确定度,例如上述x、y方向的定位不确定度。基于定位结果和该定位结果的不确定度可以进行后续的路径规划、道路导航等,例如将上述定位结果和该定位结果的不确定度送入至上述第二处理器104,第二处理器104给出路径规划结果、道路导航结果,并给出相应的行路径规划结果、道路导航结果的不确定度,方便相关人员根据实际应用需要进行选择,满足多种应用场景需要。

另外,在输出定位结果和该定位结果的不确定度时,还可以建立输出时刻与定位结果和该定位结果的不确定度的对应关系,进而根据不同时刻的定位结果和该定位结果的不确定度进行下一时刻定位结果预测等处理,例如,第一时刻得到一不确定度,第二时刻得到另一不确定度,若第二时刻得到的不确定度较大,则根据第一时刻对应的定位结果,及速度的关于时间的积分量,确定对应第二时刻的定位结果。

在本申请实施例中,在上述计算每一待选Yaw参数下不同X参数和Y参数对应的损失量之后,还可以包括:

判断计算的每一待选Yaw参数下的最小损失量对应的X参数和/或Y参数是否位于上述目标位置区域边缘,如果没有,则判断计算的多个损失量中是否有符合上述预设条件的待检损失量,如果也没有,则可以根据计算的每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,确定第二自由度信息,保证后续定位结果的准确性。其中,上述也可以先判断计算的多个损失量中是否有符合上述预设条件的待检损失量,再判断计算的每一待选Yaw参数下的最小损失量对应的X参数和/或Y参数是否位于上述目标位置区域边缘,本申请对两个判断的先后顺序不作限定。

S206、根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位。

可选地,在所述根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位之后,还包括:

根据所述可移动平台的定位位置,以及所述行驶状态信息,确定所述可移动平台搭载的传感器中输出信息有误的传感器;

在预设的计算模块中,调整所述输出信息有误的传感器输出信息的权重。

由上述可知,可移动平台搭载一个或多个传感器,用于获取可移动平台的行驶状态信息。

这里,根据可移动平台搭载的传感器获取的可移动平台的行驶状态信息,在高精地图上对可移动平台的所处的目标位置区域进行预测,判断预测的结果与上述根据第二自由度信息,在高精地图上对可移动平台进行定位的结果是否相同(或者结果差距在预设差距范围内)。如果根据某一传感器获取的可移动平台的行驶状态信息,在高精地图上对可移动平台的所处的目标位置区域进行预测的结果,与上述定位的结果不同(或者结果差距超出预设差距范围),则确定上述传感器为输出信息有误的传感器。那么在预设的计算模块中,调整上述输出信息有误的传感器输出信息的权重。其中,计算模块可以是计算行驶状态信息的模块,通过调整上述输出信息有误的传感器输出信息的权重,保证计算模块计算的行驶状态信息的准确性。另外,计算模块也可以是参与移动设备其他运算程序的计算模块,例如,障碍物识别算法模块,影像采集模块,影像矫正模块等,通过调整上述输出信息有误的传感器输出信息的权重,保证后续障碍物识别、影像采集、影像矫正等的准确性。

本实施例提供的定位方法,通过获取由传感器采集的点云,该点云用于标识可移动平台周围环境的地面,上述传感器设置在可移动平台,然后根据该点云的目标特征点,以及高精地图的参考特征点,计算上述点云相对于高精地图的3自由度位姿Pitch、Roll和Z。根据计算的Pitch、Roll和Z矫正上述点云的位姿,根据矫正后的点云上的目标特征点,以及上述参考特征点,计算点云相对于高精地图的另外3自由度位姿X、Y和Yaw,从而实现6自由度全位姿计算。

由于在先的第一自由度信息计算已经一定程度上矫正了点云的位姿,继而缩小了后续第二自由度信息的计算范围,减少了计算量,因此计算速度更快,这样,也能够使针对可移动平台定位的实时性更佳。

可以看到第一自由度信息的确定,一定程度上也是确定了点云平面与高精地图平面之间的相对位姿,对应于山地区域的高精地图平面本身具有一定的俯仰(Pitch),翻转(Roll)和高度(Z),通过这一可选实施方式能够使得校正后的点云平面贴合山地地面的实际位姿。

另外,不仅仅是在山地地区,上述方案在较为微小的起伏路面同样适用。上述方案基于点云和高精地图,能够速提取基于真实物理意义的静态物体特征点。由于提取的特征点本身对动态物体鲁棒性高,增加系统对环境扰动的抵抗性,因此,能够进一步提升定位的鲁棒性。

图8为本申请实施例提供的另一种定位方法的流程示意图,本实施例在图2实施例的基础上,对本实施例的具体实现过程进行了详细说明。如图8所示,该方法包括:

S801、获取由传感器采集的点云,该点云用于标识可移动平台周围环境的地面,传感器设置在可移动平台。

S802、可移动平台搭载一个或多个传感器,通过可移动平台搭载的传感器获取可移动平台的行驶状态信息,根据该行驶状态信息在高精地图上对可移动平台的所处的目标位置区域进行预测。

S803、确定上述点云在Z轴方向上投影得到的点云面中的目标特征点,以及确定上述高精地图上位于目标位置区域的高精地图面的参考特征点。

S804、获取多个待选转换矩阵,其中,待选转换矩阵用于将上述点云面在Pitch、Roll和Z三个自由度的位姿矫正至与高精地图面一致。

S805、根据上述目标特征点对应的高度值和参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量。

具体的,将上述目标特征点和参考特征点进行配对处理,确定多个特征点配对组;

计算每一组已配对的目标特征点的对应的高度值和参考特征点对应的高度值之间的高度差;

根据计算得到的多个所述高度差,确定矫正损失量。

S806、确定最小的矫正损失量对应的待选转换矩阵为目标转换矩阵,根据目标转换矩阵确定第一自由度信息,其中,第一自由度信息包括Pitch参数、Roll参数和Z参数。

S807、通过第一自由度信息矫正上述点云的位姿。

S808、根据Yaw参数的取值范围,确定一待选Yaw参数。

S809、根据上述参考特征点,以及矫正后的点云面上目标特征点,计算每一待选Yaw参数下不同X参数和Y参数对应的损失量,其中,该不同X参数和Y参数分别根据X参数和Y参数的取值范围确定。

具体的,对于每一待选Yaw参数,根据第一搜索范围确定矫正后的点云面上所述目标特征点与参考特征点进行配对处理后,每一组已配对的目标特征点的对应的高度值和参考特征点对应的高度值之间的高度差;

根据每一组已配对的目标特征点的对应的高度值和参考特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

基于确定的X参数和Y参数,根据第二搜索范围确定矫正后的点云面上目标特征点与参考特征点进行配对处理后,每一组已配对的目标特征点的对应的高度值和参考特征点对应的高度值之间的高度差,其中,第二搜索范围小于第一搜索范围;

根据每一组已配对的目标特征点的对应的高度值和参考特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

根据确定的全局高度差的最小值,以及全局高度差的最小值对应的X参数和Y参数,计算每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数。

S810、判断计算的多个损失量中是否有符合预设条件的待检损失量,其中,预设条件包括取值条件和位置条件,取值条件包括损失量值一致,位置条件包括:多个待检损失量对应的X参数或Y参数一致。

S811、若计算的多个损失量中有符合上述预设条件的多个待检损失量,则判定多个待检损失量对应的X参数和Y参数不可信。

S812、判断计算的每一待选Yaw参数下的最小损失量对应的X参数和/或Y参数是否位于上述目标位置区域边缘。

S813、若计算的目标待选Yaw参数下的最小损失量对应的X参数和/或Y参数位于目标位置区域边缘,则判定目标待选Yaw参数下的最小损失量对应的X参数和Y参数不可信。

S814、若计算的多个损失量中没有符合上述预设条件的多个待检损失量,且计算的每一待选Yaw参数下的最小损失量对应的X参数和/或Y参数均不位于目标位置区域边缘,则根据计算的每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,确定第二自由度信息,其中,第二自由度信息包括X参数、Y参数和Yaw参数。

S815、根据上述第二自由度信息,在高精地图上对可移动平台进行定位。

S816、根据可移动平台的定位位置,以及上述行驶状态信息,确定可移动平台搭载的传感器中输出信息有误的传感器,在预设的计算模块中,调整输出信息有误的传感器输出信息的权重。

本实施例提供的定位方法,由于在先第一自由度信息计算已经一定程度上矫正了点云的位姿,继而缩小了后续第二自由度信息的计算范围,减少了计算量,提高了计算速度,进而能够让自由度定位的实时性更佳,克服了上述进行自由度定位难度较大的问题。

而且,考虑弱纹理场景,除了输出定位结果,还可以输出关于该定位结果的不确定度,并可以基于定位结果和该定位结果的不确定度进行后续的路径规划、道路导航等,给出路径规划结果、道路导航结果,并给出相应的行路径规划结果、道路导航结果的不确定度,方便相关人员根据实际应用需要进行选择,满足多种应用场景需要。

上述可以看到第一自由度信息的确定,一定程度上也是确定了点云平面与高精地图平面之间的相对位姿,对应于山地区域的高精地图平面本身具有一定的俯仰(Pitch),翻转(Roll)和高度(Z),通过这一可选实施方式能够使得校正后的点云平面贴合山地地面的实际位姿。

另外,不仅仅是在山地地区,上述方案在较为微小的起伏路面同样适用。上述方案基于点云和高精地图,能够速提取基于真实物理意义的静态物体特征点。由于提取的特征点本身对动态物体鲁棒性高,增加系统对环境扰动的抵抗性,因此,能够进一步提升定位的鲁棒性。

图9为本申请实施例提供的一种定位设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。如图9所示,该定位设备90包括:点云获取模块901、特征点确定模块902、第一自由度确定模块903、位姿矫正模块904、第二自由度确定模块905和定位模块906。

其中,点云获取模块901,用于获取由传感器采集的点云,所述点云用于标识可移动平台周围环境的地面,所述传感器设置在所述可移动平台。

特征点确定模块902,用于确定所述点云的目标特征点,并确定高精地图的参考特征点。

第一自由度确定模块903,用于根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息。

位姿矫正模块904,用于通过所述第一自由度信息矫正所述点云的位姿。

第二自由度确定模块905,用于根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息。

定位模块906,用于根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位

本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

图10为本发明实施例提供的另一定位设备的结构示意图。如图10所示,本实施例在图9实施例的基础上,上述定位设备还包括:区域预测模块907和权重调整模块908。

在一种可能的设计中,所述第一自由度信息包括Pitch参数、Roll参数和Z参数,所述第二自由度信息包括X参数、Y参数和Yaw参数。

在一种可能的设计中,所述特征点确定模块902确定所述点云的目标特征点,包括:

确定所述点云在Z轴方向上投影得到的点云面中的目标特征点。

在一种可能的设计中,区域预测模块907,用于在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测。

所述特征点确定模块902确定高精地图的参考特征点,包括:

确定所述高精地图上位于所述目标位置区域的高精地图面的参考特征点。

在一种可能的设计中,所述第一自由度确定模块903根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息,包括:

获取多个待选转换矩阵,所述待选转换矩阵用于将所述点云面在Pitch、Roll和Z三个自由度的位姿矫正至与所述高精地图面一致;

根据所述目标特征点对应的高度值和所述参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量;

确定最小的矫正损失量对应的待选转换矩阵为目标转换矩阵;

根据所述目标转换矩阵确定所述第一自由度信息。

在一种可能的设计中,所述点云面包括多个点云投影点;所述特征点确定模块902确定所述点云在Z轴方向上投影得到的点云面中的目标特征点,包括执行以下任意操作:

根据特征提取算法在所述点云面上提取特征点作为所述目标特征点,其中,提取的所述特征点包括用于表征角点或边缘点的所述点云投影点;

根据预设网格尺寸对投影得到的所述点云面进行网格划分,将所述网格的中心像素作为所述目标特征点。

在一种可能的设计中,所述目标特征点对应的高度值基于如下操作确定:

若所述目标特征点为所述点云投影点,则将所述点云投影点对应的投影高度作为所述目标特征点对应的高度值;

若所述目标特征点为所述网格的中心像素,则将所述网格中其他所述点云投影点对应的投影高度的均值作为所述目标特征点的高度值。

在一种可能的设计中,所述第一自由度确定模块903根据所述目标特征点对应的高度值和所述参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量,包括:

将所述目标特征点和所述参考特征点进行配对处理,确定多个特征点配对组;

计算每一组已配对的所述目标特征点的对应的高度值和所述参考特征点对应的高度值之间的高度差;

根据计算得到的多个所述高度差,确定所述矫正损失量

在一种可能的设计中,所述第二自由度确定模块905根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息,包括:

根据Yaw参数的取值范围,确定一待选Yaw参数;

根据所述参考特征点,以及矫正后的所述点云面上所述目标特征点,计算每一待选Yaw参数下不同X参数和Y参数对应的损失量,其中,所述不同X参数和Y参数分别根据X参数和Y参数的取值范围确定;

根据计算的每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,确定所述第二自由度信息。

在一种可能的设计中,所述第二自由度确定模块905,还用于对于每一待选Yaw参数,根据第一搜索范围确定所述参考特征点与矫正后的所述点云面上所述目标特征点进行配对处理后,每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差:

根据每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

基于确定的X参数和Y参数,根据第二搜索范围确定所述参考特征点与矫正后的所述点云面上所述目标特征点进行配对处理后,每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差,其中,所述第二搜索范围小于所述第一搜索范围;

根据每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

根据确定的全局高度差的最小值,以及全局高度差的最小值对应的X参数和Y参数,计算每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数。

在一种可能的设计中,所述第二自由度确定模块905在所述计算每一待选Yaw参数下不同X参数和Y参数对应的损失量之后,还用于:

判断计算的多个损失量中是否有符合预设条件的待检损失量,其中,所述预设条件包括取值条件和位置条件,所述取值条件包括损失量值一致,所述位置条件包括:多个所述待检损失量对应的X参数或Y参数一致;

若计算的多个损失量中有符合所述预设条件的多个所述待检损失量,则判定多个所述待检损失量对应的X参数和Y参数不可信。

在一种可能的设计中,所述第二自由度确定模块905在所述计算每一待选Yaw参数下不同X参数和Y参数对应的损失量之后,还用于:

判断计算的每一待选Yaw参数下的最小损失量对应的X参数和/或Y参数是否位于所述目标位置区域边缘;

若计算的目标待选Yaw参数下的最小损失量对应的X参数和/或Y参数位于所述目标位置区域边缘,则判定所述目标待选Yaw参数下的最小损失量对应的X参数和Y参数不可信。

在一种可能的设计中,所述点云获取模块901获取由传感器采集的点云,包括:

通过所述传感器获取完整点云;

对所述完整点云进行地面分割,获得所述点云。

在一种可能的设计中,所述可移动平台搭载一个或多个传感器,所述传感器包括以下任意传感器:

轮速传感器、IMU传感器、速度传感器、加速度传感器、陀螺仪传感器、GPS定位传感器、电机转速传感器。

所述区域预测模块907在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测,包括:

通过所述可移动平台搭载的传感器获取所述可移动平台的行驶状态信息;

根据所述行驶状态信息在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测。

在一种可能的设计中,权重调整模块908,用于在所述定位模块906根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位之后,根据所述可移动平台的定位位置,以及所述行驶状态信息,确定所述可移动平台搭载的传感器中输出信息有误的传感器;

在预设的计算模块中,调整所述输出信息有误的传感器输出信息的权重。

本申请实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。

图11为本申请实施例提供的定位系统的硬件结构示意图。如图11所示,本实施例的定位系统110包括:存储器1101和处理器1102;其中

存储器1101,用于存储程序指令;

处理器1102,用于执行存储器存储的程序指令,当所述程序指令被执行时,处理器执行如下步骤:

获取由传感器采集的点云,所述点云用于标识可移动平台周围环境的地面,所述传感器设置在所述可移动平台;

确定所述点云的目标特征点,并确定高精地图的参考特征点;

根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息;

通过所述第一自由度信息矫正所述点云的位姿;

根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息;

根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位。

在一种可能的设计中,所述第一自由度信息包括Pitch参数、Roll参数和Z参数,所述第二自由度信息包括X参数、Y参数和Yaw参数。

在一种可能的设计中,所述确定所述点云的目标特征点,包括:

确定所述点云在Z轴方向上投影得到的点云面中的目标特征点。

在一种可能的设计中,所述处理器执行所述计算机执行指令时还实现如下步骤:

在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测;

所述确定高精地图的参考特征点,包括:

确定所述高精地图上位于所述目标位置区域的高精地图面的参考特征点。

在一种可能的设计中,所述根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息,包括:

获取多个待选转换矩阵,所述待选转换矩阵用于将所述点云面在Pitch、Roll和Z三个自由度的位姿矫正至与所述高精地图面一致;

根据所述目标特征点对应的高度值和所述参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量;

确定最小的矫正损失量对应的待选转换矩阵为目标转换矩阵;

根据所述目标转换矩阵确定所述第一自由度信息。

在一种可能的设计中,所述点云面包括多个点云投影点;所述确定所述点云在Z轴方向上投影得到的点云面中的目标特征点,包括执行以下任意操作:

根据特征提取算法在所述点云面上提取特征点作为所述目标特征点,其中,提取的所述特征点包括用于表征角点或边缘点的所述点云投影点;

根据预设网格尺寸对投影得到的所述点云面进行网格划分,将所述网格的中心像素作为所述目标特征点。

在一种可能的设计中,所述目标特征点对应的高度值基于如下操作确定:

若所述目标特征点为所述点云投影点,则将所述点云投影点对应的投影高度作为所述目标特征点对应的高度值;

若所述目标特征点为所述网格的中心像素,则将所述网格中其他所述点云投影点对应的投影高度的均值作为所述目标特征点的高度值。

在一种可能的设计中,所述根据所述目标特征点对应的高度值和所述参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量,包括:

将所述目标特征点和所述参考特征点进行配对处理,确定多个特征点配对组;

计算每一组已配对的所述目标特征点的对应的高度值和所述参考特征点对应的高度值之间的高度差;

根据计算得到的多个所述高度差,确定所述矫正损失量。

在一种可能的设计中,所述根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息,包括:

根据Yaw参数的取值范围,确定一待选Yaw参数;

根据所述参考特征点,以及矫正后的所述点云面上所述目标特征点,计算每一待选Yaw参数下不同X参数和Y参数对应的损失量,其中,所述不同X参数和Y参数分别根据X参数和Y参数的取值范围确定;

根据计算的每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,确定所述第二自由度信息。

在一种可能的设计中,还包括:

对于每一待选Yaw参数,根据第一搜索范围确定所述参考特征点与矫正后的所述点云面上所述目标特征点进行配对处理后,每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差;

根据每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

基于确定的X参数和Y参数,根据第二搜索范围确定所述参考特征点与矫正后的所述点云面上所述目标特征点进行配对处理后,每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差,其中,所述第二搜索范围小于所述第一搜索范围;

根据每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

根据确定的全局高度差的最小值,以及全局高度差的最小值对应的X参数和Y参数,计算每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数。

在一种可能的设计中,在所述计算每一待选Yaw参数下不同X参数和Y参数对应的损失量之后,还包括:

判断计算的多个损失量中是否有符合预设条件的待检损失量,其中,所述预设条件包括取值条件和位置条件,所述取值条件包括损失量值一致,所述位置条件包括:多个所述待检损失量对应的X参数或Y参数一致;

若计算的多个损失量中有符合所述预设条件的多个所述待检损失量,则判定多个所述待检损失量对应的X参数和Y参数不可信。

在一种可能的设计中,在所述计算每一待选Yaw参数下不同X参数和Y参数对应的损失量之后,还包括:

判断计算的每一待选Yaw参数下的最小损失量对应的X参数和/或Y参数是否位于所述目标位置区域边缘;

若计算的目标待选Yaw参数下的最小损失量对应的X参数和/或Y参数位于所述目标位置区域边缘,则判定所述目标待选Yaw参数下的最小损失量对应的X参数和Y参数不可信。

在一种可能的设计中,所述获取由传感器采集的点云,包括:

通过所述传感器获取完整点云;

对所述完整点云进行地面分割,获得所述点云。

在一种可能的设计中,所述可移动平台搭载一个或多个传感器,所述传感器包括以下任意传感器:

轮速传感器、IMU传感器、速度传感器、加速度传感器、陀螺仪传感器、GPS定位传感器、电机转速传感器;

所述在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测,包括:

通过所述可移动平台搭载的传感器获取所述可移动平台的行驶状态信息;

根据所述行驶状态信息在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测。

在一种可能的设计中,在所述根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位之后,还包括:

根据所述可移动平台的定位位置,以及所述行驶状态信息,确定所述可移动平台搭载的传感器中输出信息有误的传感器;

在预设的计算模块中,调整所述输出信息有误的传感器输出信息的权重。

在一种可能的设计中,存储器1101既可以是独立的,也可以跟处理器1102集成在一起。

当存储器1101独立设置时,该定位系统还包括总线1103,用于连接所述存储器1101和处理器1102。

在一种可能的设计中,定位系统110可以是一个单独的设备,该系统包括上述存储器1101、处理器1102等一整套。另外,以车辆为例,定位系统110的各组成部分可以分布式地集成在车辆上,即存储器1101、处理器1102等可以分别设置在车辆的不同位置。

图12为本申请实施例提供的一种可移动平台的结构示意图。如图12所示,本实施例的可移动平台120包括:可移动平台本体1201、传感器1202,以及定位系统1203;所述传感器1202和所述定位系统1203设置在所述可移动平台本体1201,所述可移动平台本体1201和所述定位系统1203无线连接或有线连接。

所述定位系统1203获取由所述传感器采集的点云,所述点云用于标识可移动平台周围环境的地面;

确定所述点云的目标特征点,并确定高精地图的参考特征点;

根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息;

通过所述第一自由度信息矫正所述点云的位姿;

根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息;

根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位。

在一种可能的设计中,所述第一自由度信息包括Pitch参数、Roll参数和Z参数,所述第二自由度信息包括X参数、Y参数和Yaw参数。

在一种可能的设计中,所述定位系统确定所述点云的目标特征点,包括:

确定所述点云在Z轴方向上投影得到的点云面中的目标特征点。

在一种可能的设计中,所述定位系统还用于:

在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测;

所述确定高精地图的参考特征点,包括:

确定所述高精地图上位于所述目标位置区域的高精地图面的参考特征点。

在一种可能的设计中,所述定位系统根据所述目标特征点和所述参考特征点,确定所述点云相对于所述高精地图的第一自由度信息,包括:

获取多个待选转换矩阵,所述待选转换矩阵用于将所述点云面在Pitch、Roll和Z三个自由度的位姿矫正至与所述高精地图面一致;

根据所述目标特征点对应的高度值和所述参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量;

确定最小的矫正损失量对应的待选转换矩阵为目标转换矩阵;

根据所述目标转换矩阵确定所述第一自由度信息。

在一种可能的设计中,所述点云面包括多个点云投影点;所述定位系统确定所述点云在Z轴方向上投影得到的点云面中的目标特征点,包括执行以下任意操作:

根据特征提取算法在所述点云面上提取特征点作为所述目标特征点,其中,提取的所述特征点包括用于表征角点或边缘点的所述点云投影点;

根据预设网格尺寸对投影得到的所述点云面进行网格划分,将所述网格的中心像素作为所述目标特征点。

在一种可能的设计中,所述目标特征点对应的高度值基于如下操作确定:

若所述目标特征点为所述点云投影点,则将所述点云投影点对应的投影高度作为所述目标特征点对应的高度值;

若所述目标特征点为所述网格的中心像素,则将所述网格中其他所述点云投影点对应的投影高度的均值作为所述目标特征点的高度值。

在一种可能的设计中,所述定位系统根据所述目标特征点对应的高度值和所述参考特征点对应的高度值,计算每一待选转换矩阵对应的矫正损失量,包括:

将所述目标特征点和所述参考特征点进行配对处理,确定多个特征点配对组;

计算每一组已配对的所述目标特征点的对应的高度值和所述参考特征点对应的高度值之间的高度差;

根据计算得到的多个所述高度差,确定所述矫正损失量。

在一种可能的设计中,所述定位系统根据所述高精地图上的参考特征点,以及矫正后的所述点云上的所述目标特征点,确定所述点云相对于所述高精地图的第二自由度信息,包括:

根据Yaw参数的取值范围,确定一待选Yaw参数;

根据所述参考特征点,以及矫正后的所述点云面上所述目标特征点,计算每一待选Yaw参数下不同X参数和Y参数对应的损失量,其中,所述不同X参数和Y参数分别根据X参数和Y参数的取值范围确定;

根据计算的每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数,确定所述第二自由度信息。

在一种可能的设计中,所述定位系统还用于:

对于每一待选Yaw参数,根据第一搜索范围确定所述参考特征点与矫正后的所述点云面上所述目标特征点进行配对处理后,每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差;

根据每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

基于确定的X参数和Y参数,根据第二搜索范围确定所述参考特征点与矫正后的所述点云面上所述目标特征点进行配对处理后,每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差,其中,所述第二搜索范围小于所述第一搜索范围;

根据每一组已配对的所述参考特征点对应的高度值和所述目标特征点对应的高度值之间的高度差获得全局高度差,并确定全局高度差的最小值对应的X参数和Y参数;

根据确定的全局高度差的最小值,以及全局高度差的最小值对应的X参数和Y参数,计算每一待选Yaw参数下的最小损失量,以及每一待选Yaw参数下的最小损失量对应的X参数和Y参数。

在一种可能的设计中,在所述计算每一待选Yaw参数下不同X参数和Y参数对应的损失量之后,所述定位系统还用于:

判断计算的多个损失量中是否有符合预设条件的待检损失量,其中,所述预设条件包括取值条件和位置条件,所述取值条件包括损失量值一致,所述位置条件包括:多个所述待检损失量对应的X参数或Y参数一致;

若计算的多个损失量中有符合所述预设条件的多个所述待检损失量,则判定多个所述待检损失量对应的X参数和Y参数不可信。

在一种可能的设计中,在所述计算每一待选Yaw参数下不同X参数和Y参数对应的损失量之后,所述定位系统还用于:

判断计算的每一待选Yaw参数下的最小损失量对应的X参数和/或Y参数是否位于所述目标位置区域边缘;

若计算的目标待选Yaw参数下的最小损失量对应的X参数和/或Y参数位于所述目标位置区域边缘,则判定所述目标待选Yaw参数下的最小损失量对应的X参数和Y参数不可信。

在一种可能的设计中,所述定位系统获取由传感器采集的点云,包括:

通过所述传感器获取完整点云;

对所述完整点云进行地面分割,获得所述点云。

在一种可能的设计中,所述可移动平台搭载一个或多个传感器,所述传感器包括以下任意传感器:

轮速传感器、IMU传感器、速度传感器、加速度传感器、陀螺仪传感器、GPS定位传感器、电机转速传感器;

所述定位系统在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测,包括:

通过所述可移动平台搭载的传感器获取所述可移动平台的行驶状态信息;

根据所述行驶状态信息在所述高精地图上对所述可移动平台的所处的目标位置区域进行预测。

在一种可能的设计中,在所述定位系统根据所述第二自由度信息,在所述高精地图上对所述可移动平台进行定位之后,还包括:

根据所述可移动平台的定位位置,以及所述行驶状态信息,确定所述可移动平台搭载的传感器中输出信息有误的传感器;

在预设的计算模块中,调整所述输出信息有误的传感器输出信息的权重。

本实施例提供的可移动平台,包括:可移动平台本体、传感器,以及定位系统,传感器和定位系统设置在可移动平台本体,其中,定位系统通过获取由传感器采集的点云,该点云用于标识可移动平台周围环境的地面,上述传感器设置在可移动平台,然后根据该点云的目标特征点,以及高精地图的参考特征点,计算上述点云相对于高精地图的3自由度位姿Pitch、Roll和Z。根据计算的Pitch、Roll和Z矫正上述点云的位姿,根据矫正后的点云上的目标特征点,以及上述参考特征点,计算点云相对于高精地图的另外3自由度位姿X、Y和Yaw,从而实现6自由度全位姿计算。

由于在先的第一自由度信息计算已经一定程度上矫正了点云的位姿,继而缩小了后续第二自由度信息的计算范围,减少了计算量,因此计算速度更快,这样,也能够使针对可移动平台定位的实时性更佳。

可以看到第一自由度信息的确定,一定程度上也是确定了点云平面与高精地图平面之间的相对位姿,对应于山地区域的高精地图平面本身具有一定的俯仰(Pitch),翻转(Roll)和高度(Z),通过这一可选实施方式能够使得校正后的点云平面贴合山地地面的实际位姿。

另外,不仅仅是在山地地区,上述方案在较为微小的起伏路面同样适用。上述方案基于点云和高精地图,能够速提取基于真实物理意义的静态物体特征点。由于提取的特征点本身对动态物体鲁棒性高,增加系统对环境扰动的抵抗性,因此,能够进一步提升定位的鲁棒性。

本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,当处理器执行所述程序指令时,实现如上所述的定位方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,电可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。

应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 一种可移动平台的定位方法、设备及可移动平台
  • 一种基于立体六元阵的水下移动平台定位系统及方法
技术分类

06120112198607