1.本技术涉及智能驾驶领域,尤其涉及一种自动驾驶车辆定位方法及装置。
背景技术:
2.近年来,随着智能驾驶技术的逐步发展,自动驾驶作为智能驾驶技术的一个重要分支,获得了广泛应用。现有的自动驾驶汽车定位方法,使用正态分布变换(normal distributions transform,ndt)算法与全球导航卫星系统(global navigation satellite system,gnss)组合惯导的方法。ndt算法相较于gnss组合惯导有着更高的精度,可以达到厘米级,因此ndt算法被广泛运用于自动驾驶的定位中。但ndt算法在未准确初始化时,易陷入局部最优,使定位结果偏离真实位置。为了避免此种情况发生,自动驾驶车辆会在启动ndt算法的时候将gnss信号提供给ndt算法,以使ndt算法初始化,获得更好的匹配结果。但是在某些环境下,例如恶劣天气、大型物体遮挡等环境下,自动驾驶车辆难以获取gnss信号,此时ndt算法就无法准确初始化。
3.此外,相关技术中还有一种全局特征点匹配的ndt算法初始化方案,但是此种解决方案稳定性差,仍然会出现匹配失准的问题,并且需要很大的处理器资源,对硬件的要求高,增加计算资源,增加自动驾驶车辆的成本。
技术实现要素:
4.有鉴于此,本技术提供一种自动驾驶车辆定位方法及装置,以至少解决上述问题,使得自动驾驶车辆能够在无法准确获取卫星信号时,实现自动驾驶算法初始化和车辆定位,同时节约计算资源,节省成本。
5.具体地,本技术是通过如下技术方案实现的:根据本技术的第一方面,提供一种自动驾驶定位方法,所述方法包括:获取车辆传感设备采集的原始点云数据,对所述原始点云数据进行处理,以得到第一点云数据;获取预设的第二点云数据,设置所述第二点云数据对应的点云分割网格,根据所述点云分割网格计算得到第一概率密度函数;获取预设的第一坐标,根据所述第一坐标以及所述第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分;所述第一坐标包括车辆行驶的距离坐标和航向角坐标;根据所述匹配得分确定第二坐标。
6.可选的,包括至少两个所述点云分割网格,所述根据所述点云分割网格计算得到第一概率密度函数,包括:根据每个所述点云分割网格,计算得到每个所述点云分割网格对应的第一概率密度函数。
7.可选的,包括至少两个所述第一坐标,所述根据所述第一坐标以及所述第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分,包括:根据每个所述第一坐标以及每个所述点云分割网格对应的第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分。
8.可选的,所述根据每个所述第一坐标以及每个所述点云分割网格对应的第一概率
密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分,包括:获取预设的点云库,根据所述点云库以及所述第一概率密度函数,计算每个所述第一坐标对应的第一概率密度数值,确定所述第一概率密度数值为所述第一点云数据与所述第二点云数据的匹配得分。
9.可选的,所述根据所述匹配得分确定第二坐标,包括:对所述匹配得分进行排序,将其中最高的所述匹配得分所对应的第一坐标确定为所述第二坐标;根据所述第二坐标确定车辆自动驾驶算法的初始化坐标。
10.可选的,所述车辆自动驾驶算法为正态分布变换算法。
11.可选的,所述原始点云数据包括多个特征点数据,所述特征点数据包括高度数据,所述对所述原始点云数据进行处理,包括:获取第一预设高度,以及每个所述特征点数据对应的高度数据,判断所述高度数据与第一预设高度的大小,去除所述原始点云数据中所述高度数据小于第一预设高度的特征点数据。
12.可选的,所述原始点云数据包括多个特征点数据,所述对所述原始点云数据进行处理,包括:根据多个特征点数据间的距离,判断所述原始点云数据中的噪声特征点数据,去除所述原始点云数据中的噪声特征点数据。
13.可选的,所述车辆传感设备为前向激光雷达;所述每个点云分割网格为正方体网格,且所述正方体网格边长为0.3米。
14.根据本技术的第二方面,提供一种自动驾驶定位装置,所述装置包括:前向激光雷达,用于采集原始点云数据;控制器,用于实现上述第一方面所提供的自动驾驶车辆定位方法。
15.由上述描述可知,通过获取车辆传感设备采集的原始点云数据,对原始点云数据进行处理,得到第一点云数据;获取预设的第二点云数据,设置第二点云数据对应的点云分割网格,根据点云分割网格计算得到第一概率密度函数;获取预设的第一坐标,根据第一坐标以及第一概率密度函数,计算第一点云数据与第二点云数据的匹配得分;根据匹配得分确定第二坐标,能够在无法准确获取卫星信号时,实现自动驾驶算法初始化和车辆定位,同时节约计算资源,节省成本。
附图说明
16.图1是本技术一示例性实施例示出的一种自动驾驶车辆定位方法流程的示意图;图2是本技术一示例性实施例示出的一种自动驾驶车辆定位方法示意图;图3是本技术一示例性实施例示出的一种自动驾驶车辆定位装置框架示意图。
17.附图标记说明:31-控制器;32-前向激光雷达。
具体实施方式
18.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
19.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
20.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
21.参见图1,图1是本技术第一方面提供的一个实施例示出的一种自动驾驶车辆定位方法流程的示意图,该方法包括以下步骤。
22.步骤101,获取车辆传感设备采集的原始点云数据,对所述原始点云数据进行处理,以得到第一点云数据。
23.原始点云数据可通过车辆传感设备来获取,参见图3,车辆传感设备可以为前向激光雷达32,采集到的原始点云数据有较多噪声,需要进行例如校正、切除、过滤等处理,以得到处理后的第一点云数据。
24.步骤102,获取预设的第二点云数据,设置所述第二点云数据对应的点云分割网格,根据所述点云分割网格计算得到第一概率密度函数。
25.通过预先录制好的点云地图,获取第二点云数据,设置点云分割网格,例如边长为0.3米的正方体网格,以对该第二点云数据进行分割和扫描,获得分割后的第二点云数据。针对分割后的第二点云数据,计算每个点云分割网格对应的概率密度函数,得到对应的第一概率密度函数。其中,点云分割网格的格子越小,要求的处理器处理能力越强,得到的精度越高;格子大,则相反。因此,点云分割网格大小可以根据处理器能力,以及对ndt算法匹配的精度需求来选择。
26.步骤103,获取预设的第一坐标,根据所述第一坐标以及所述第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分;所述第一坐标包括车辆行驶的距离坐标和航向角坐标。
27.通过预先设定的多个固定点,获取每个固定点对应的第一坐标,上述的固定点可以的位置和数量不作具体限定,可以根据需求,灵活选取合适的固定点位置以及数量。根据获取的每个第一坐标和步骤102中的第一概率密度函数,计算步骤101中获得的第一点云数据与步骤102中获得的第二点云数据两者的匹配得分。
28.车辆行驶的距离坐标和航向角坐标可以通过以下实施方式获得:将自动驾驶车辆设置在第二点云数据的原点位置,重新上电并启动ndt算法功能,在第二点云数据的原点位置启动车辆可以直接初始化ndt算法,而无需设置初始化坐标。随后,车辆进入自动驾驶状态,沿录制好的第二点云数据路径行走。当车辆达到需要记录的固定点时,控制车辆停止,并记录控制器31中此时车辆的里程计坐标,利用基于轮速计传感器的里程计坐标算法,确定车辆行驶的距离坐标和航向角坐标。
29.步骤104,根据所述匹配得分确定第二坐标。
30.根据步骤103中获得的第一点云数据与第二点云数据的匹配得分,确定第二坐标。
具体为,根据匹配得分,从多个第一坐标中选取其中一个,确定为上述的第二坐标。
31.本实施例通过预先设定多个不同位置的固定点,利用固定点坐标,即第一坐标,以及预先设定的点云地图,通过计算匹配得分来确定自动驾驶车辆的初始启动点坐标,即第二坐标,使得自动驾驶车辆能够在无法准确获取卫星信号时,实现自动驾驶算法初始化和车辆定位,同时节约计算资源,节省成本。
32.参见图1和图2,在本技术第一方面的另一个实施例中,步骤103进一步包括,步骤1031,获取预设的点云库(point cloud library,pcl),根据所述点云库以及所述第一概率密度函数,计算每个所述第一坐标对应的第一概率密度数值。
33.点云库是在点云相关研究基础上建立起来的大型跨平台开源编程库,它实现了大量点云相关的通用算法和高效数据结构,通过获取调用预设的点云库,能够基于步骤102中的第一概率密度函数,来计算每个第一坐标对应的第一概率密度数值。具体的,上述计算第一概率密度数值可以是,根据每个点云分割网格对应的概率密度函数,将第一点云数据经过一定的坐标转换后,计算落在分割后的第二点云数据的各个点云分割网格里的概率密度之和。
34.步骤1032,确定所述第一概率密度数值为所述第一点云数据与所述第二点云数据的匹配得分。
35.在步骤1031中计算所得到的,第一点云数据经过一定的坐标转换后落在分割后的第二点云数据的各个点云分割网格里的概率密度之和,即为第一点云数据与第二点云数据的匹配得分。
36.步骤104进一步包括,步骤1041,对所述匹配得分进行排序,将其中最高的所述匹配得分所对应的第一坐标确定为所述第二坐标。
37.将步骤103中得到的匹配得分进行大小比较及排序,以获得其中最高的匹配得分,将该最高匹配得分对应的第一坐标,确定为上述第二坐标。
38.步骤1042,根据所述第二坐标确定车辆自动驾驶算法的初始化坐标。
39.通过前述步骤确定的第二坐标,即为自动驾驶车辆启动时,所在固定点的位置坐标,因此,基于该第二坐标,可以确定车辆自动驾驶算法的初始化坐标。此处,车辆驾驶算法可以是正态分布变换(normal distributions transform,ndt)算法。
40.本实施例通过调用预设的点云库,计算第一点云数据经过一定的坐标转换后落在分割后的第二点云数据的各个点云分割网格里的概率密度之和,并将其中概率密度之和最大的对应第一坐标,作为ndt算法的初始化坐标,无需获得卫星信号即可对ndt算法初始化,实现了ndt算法在不同环境下的鲁棒性,进一步提高了自动驾驶车辆定位的准确性。
41.参见图1-图3,在本技术第一方面的又一个实施例中,步骤101进一步包括,步骤1011,所述原始点云数据包括多个特征点数据,获取第一预设高度,以及每个所述特征点数据对应的高度数据,判断所述高度数据与第一预设高度的大小,去除所述原始点云数据中所述高度数据小于第一预设高度的特征点数据。
42.原始点云数据包括多个特征点数据,在对原始点云数据进行处理时,可以将车辆
底盘高度设置为第一预设高度,对于原始点云数据中的每个特征点数据,将其高度数据与车辆底盘高度进行比较,高度数据小于车辆底盘高度的特征点数据为地面特征点,因此过滤掉高度数据小于车辆底盘高度的特征点数据。
43.和/或,步骤1012,所述原始点云数据包括多个特征点数据,根据多个特征点数据间的距离,判断所述原始点云数据中的噪声特征点数据,去除所述原始点云数据中的噪声特征点数据。
44.在原始点云数据中,还包括噪声特征点,例如一些与其它点云距离较远的点即为一种噪声特征点,在对原始点云数据进行处理时,可以利用相关的聚类算法计算各个特征点数据之间的距离,以确定噪声特征点,并通过相关过滤算法对噪声特征点进行去除过滤。
45.本实施例通过高度、距离参数作为判断条件,过滤掉原始点云数据中相应的地面特征点、噪声特征点,使得获取的第一点云数据更加精确,从而减小计算误差,以使后续计算中获得更加准确的匹配分数,进一步提高了自动驾驶车辆定位准确性,同时节约计算资源,节省成本。
46.参见图3,图3是本技术第二方面提供的一个实施例示出的一种自动驾驶车辆定位装置框架示意图,该装置包括,前向激光雷达32,用于采集原始点云数据;控制器31,用于存储并执行计算机程序,所述计算机程序被执行时实现本技术第一方面提供的方法的步骤。
47.激光雷达向外发射激光脉冲,从地面或物体表面反射形成多个回波返回到激光雷达传感器,经处理后的反射数据称为点云数据。采用前向激光雷达采集原始点云数据,数据具有准确度高,实时性强的优点。且激光雷达和控制器体积小,安装方便,可集成安装于自动驾驶车辆,而无需单独部署,进一步提高自动驾驶车辆定位准确性,节省成本。
48.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
技术特征:
1.一种自动驾驶定位方法,其特征在于,包括:获取车辆传感设备采集的原始点云数据,对所述原始点云数据进行处理,以得到第一点云数据;获取预设的第二点云数据,设置所述第二点云数据对应的点云分割网格,根据所述点云分割网格计算得到第一概率密度函数;获取预设的第一坐标,根据所述第一坐标以及所述第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分;所述第一坐标包括车辆行驶的距离坐标和航向角坐标;根据所述匹配得分确定第二坐标。2.根据权利要求1所述的方法,其特征在于,包括至少两个所述点云分割网格,所述根据所述点云分割网格计算得到第一概率密度函数,包括:根据每个所述点云分割网格,计算得到每个所述点云分割网格对应的第一概率密度函数。3.根据权利要求2所述的方法,其特征在于,包括至少两个所述第一坐标,所述根据所述第一坐标以及所述第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分,包括:根据每个所述第一坐标以及每个所述点云分割网格对应的第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分。4.根据权利要求3所述的方法,其特征在于,所述根据每个所述第一坐标以及每个所述点云分割网格对应的第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分,包括:获取预设的点云库,根据所述点云库以及所述第一概率密度函数,计算每个所述第一坐标对应的第一概率密度数值,确定所述第一概率密度数值为所述第一点云数据与所述第二点云数据的匹配得分。5.根据权利要求4所述的方法,其特征在于,所述根据所述匹配得分确定第二坐标,包括:对所述匹配得分进行排序,将其中最高的所述匹配得分所对应的第一坐标确定为所述第二坐标;根据所述第二坐标确定车辆自动驾驶算法的初始化坐标。6.根据权利要求5所述的方法,其特征在于,所述车辆自动驾驶算法为正态分布变换算法。7.根据权利要求1-6任一所述的方法,其特征在于,所述原始点云数据包括多个特征点数据,所述特征点数据包括高度数据,所述对所述原始点云数据进行处理,包括:获取第一预设高度,以及每个所述特征点数据对应的高度数据,判断所述高度数据与第一预设高度的大小,去除所述原始点云数据中所述高度数据小于第一预设高度的特征点数据。8.根据权利要求1-6任一所述的方法,其特征在于,所述原始点云数据包括多个特征点数据,所述对所述原始点云数据进行处理,包括:根据多个特征点数据间的距离,判断所述原始点云数据中的噪声特征点数据,去除所述原始点云数据中的噪声特征点数据。9.根据权利要求1-6任一所述的方法,其特征在于,所述车辆传感设备为前向激光雷达;所述每个点云分割网格为正方体网格,且所述正方体网格边长为0.3米。10.一种自动驾驶车辆定位装置,其特征在于,包括:前向激光雷达,用于采集原始点云数据;控制器,用于存储并执行计算机程序,所述计算机程序被执行时实现权利要求1-9任一
所述方法的步骤。
技术总结
本申请提供一种自动驾驶车辆定位方法及装置,所述方法包括:获取车辆传感设备采集的原始点云数据,对所述原始点云数据进行处理,以得到第一点云数据;获取预设的第二点云数据,设置所述第二点云数据对应的点云分割网格,根据所述点云分割网格计算得到第一概率密度函数;获取预设的第一坐标,根据所述第一坐标以及所述第一概率密度函数,计算所述第一点云数据与所述第二点云数据的匹配得分;根据所述匹配得分确定第二坐标。使用本申请提供的方案,能够在无法准确获取卫星信号时,实现自动驾驶算法初始化和车辆定位,同时节约计算资源,节省成本。节省成本。
技术研发人员:李施 刘文智 鲁若宇 蔡营
受保护的技术使用者:东风悦享科技有限公司
技术研发日:2021.11.15
技术公布日:2022/3/8