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

定位方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:37:30


定位方法、装置、电子设备及存储介质

技术领域

本公开涉及数据处理和定位技术领域,具体而言,涉及一种定位方法、装置、电子设备及存储介质。

背景技术

随着生活水平的提高,汽车已经成为了人类社会不可或缺的一部分,而高精度的车辆定位与导航是车辆智能化、自动化的重要部分,是智能车辆感知、控制、路径规划等模块的基础。

目前一般是基于传感器对车辆进行定位,其中基于传感器对车辆进行定位包括基于雷达采集的点云数据对车辆进行定位。在定位时,由于激光雷达的数据量庞大,常常将预制的环境地图压缩成二维栅格地图进行保存,同时将实时获得的点云数据也压缩成二维信息,与二维栅格地图进行匹配,来获取定位结果。上述定位方法未考虑环境的三维结构信息,造成定位精度较低。

发明内容

本公开实施例至少提供一种定位方法、装置。

第一方面,本公开实施例提供了一种定位方法,包括:

获取预制地图、第一目标对象所处环境的点云数据以及第一目标对象的多个候选位置;所述预制地图包括多个预设高度范围对应的二维子地图;

针对每个候选位置,基于所述候选位置,确定所述点云数据中的多个点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定所述点云数据中的多个点分别位于每个所述二维子地图中的子概率值,以及,基于确定的所述子概率值,确定第一目标对象位于所述候选位置的目标概率值;

将目标概率值最高的候选位置作为所述第一目标对象的目标位置。

该方面,利用点云数据位于每个预设高度范围对应的二维子地图中的子概率值来筛选候选位置,实现了结合点云数据的高于二维的结构信息来进行定位,能够提高定位精度。

在一种可能的实施方式中,所述基于所述候选位置,确定所述点云数据中的多个点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定所述点云数据中的多个点分别位于每个所述二维子地图中的子概率值,包括:

从所述点云数据中的多个点中,提取所述点云数据中的特征点;

基于所述候选位置,确定所述点云数据中的各个特征点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定各个特征点位于每个所述二维子地图中的概率值,并将得到的概率值作为所述子概率值。

该实施方式,提取点云数据中的特征点来进行定位,不仅减少了定位需要进行的计算量,还能够利用提取到的较为鲁棒的特征点来进行定位,有利于提高定位精度。

在一种可能的实施方式中,所述提取所述点云数据中的特征点,包括:

确定所述多个点中的每个点的曲率信息;

基于所述曲率信息,从所述多个点中提取初始特征点;

将所述初始特征点对应的空间分割为多个子空间;

基于所述子空间的位置信息,从所述初始特征点中筛选最终的特征点。

该实施方式,利用点云数据中点的曲率信息能够筛选到曲面弯曲度较大和较小的点,即能够筛选到发生明显环境改变的点和未发生明显改变的点,筛选得到的点能够较为准确地表征环境的特征。之后利用筛选得到的初始特征点对应的空间和子空间,能够进一步从初始特征点中筛选能够表征环境特征的特征点,实现了在保证筛选得到的特征点能够较为准确的表征环境特征的前提下,减少了特征点的数量,有利于减少定位的计算量。

在一种可能的实施方式中,所述基于所述子空间的位置信息,从所述初始特征点中筛选最终的特征点,包括:

基于所述子空间的位置信息,确定所述子空间的重心;

将位于所述子空间的重心上的初始特征点作为最终的特征点。

该实施方式,重心位置的特征点能够较为准确的表征环境特征。

在一种可能的实施方式中,所述基于所述候选位置,确定所述点云数据中的各个特征点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定各个特征点位于每个所述二维子地图中的概率值,包括:

基于所述第一目标对象在第一目标对象对应的第一对象坐标系中的位置和所述候选位置,确定各个特征点在所述地图坐标系中的位置坐标;其中,所述候选位置为所述第一目标对象在所述地图坐标系中的位置;

基于每个特征点在所述地图坐标系中的位置坐标,分别将每个特征点投影到各个所述二维子地图上;

基于每个特征点在各个二维子地图上的投影位置,分别确定每个特征点位于各个二维子地图中的概率值。

该实施方式,利用第一目标对象在第一对象坐标系中的位置和地图坐标系中的候选位置之间的关系,能够将特征点较为准确地转换到地图坐标系中,之后利用特征点在地图坐标系中的位置,能够较为准确的确定在当前候选位置为最终的定位结果时,特征点位于各个二维子地图中的概率值。

在一种可能的实施方式中,所述二维子地图中包括至少一个栅格;

所述基于每个特征点在各个二维子地图上的投影位置,分别确定每个特征点位于各个二维子地图中的概率值,包括:

针对每个特征点,基于该特征点在各个二维子地图上的投影位置,确定该特征点在各个二维子地图上所处的目标栅格;以及,基于该特征点的高度信息和该特征点在各个二维子地图上所处的目标栅格,确定该特征点位于各个二维子地图中的概率值。

该实施方式,基于特征点在二维子地图中所位于的目标栅格,能够较为准确地确定对应的特征点位于对应的目标栅格中的概率值,即能够较为准确地确定特征点位于目标栅格所属的二维子地图中的概率值。

在一种可能的实施方式中,所述栅格存储有该栅格对应的空间范围内的点云数据的分布信息;所述空间范围为根据该栅格所属的二维子地图对应的预设高度范围和该栅格在二维子地图中的位置确定的;

基于所述特征点的高度信息和所述特征点在各个二维子地图上所处的目标栅格,确定该特征点位于各个二维子地图中的概率值,包括:

基于所述特征点的高度信息和各个所述目标栅格对应的分布信息,分别确定所述特征点位于各个二维子地图中的概率值。

该实施方式,利用栅格中存储的点云数据的分布信息,能够较为准确地确定特征点位于对应的栅格中的概率值,即能够较为准确地确定特征点位于对应的栅格所属的二维子地图中的概率值。

在一种可能的实施方式中,在确定所述子概率之前,上述定位方法还包括:

将所述点云数据转换到所述第一目标对象对应的第一对象坐标系中;

从转换后的点云数据中提取地面点,并利用提取的地面点确定拟合面;

基于所述拟合面与水平面之间的夹角,确定位姿修正信息;

基于所述位姿修正信息,对转换后的点云数据进行位姿变换,得到第一对象坐标系下的最终的点云数据。

该实施方式,拟合面与水平面之间的夹角,能够较为准确的表征采集点云数据的设备与第一目标对象在标定的相对位姿关系的基础上,发生的位姿变化,利用该位姿变化能够对点云数据的位姿进行调整,得到点云数据在第一坐标下的较为准确的位姿信息,即得到第一坐标下的较为准确的点云数据。

在一种可能的实施方式中,上述定位方法还包括生成所述预制地图的步骤:

获取第二目标对象所处环境的地图点云数据;

将所述地图点云数据转换到第二目标对象对应的第二对象坐标系中;

确定转换后的地图点云数据中的各个点所属的预设高度范围;

基于每个预设高度范围所包括的地图点云数据,分别生成每个预设高度范围对应的二维子地图。

该实施方式,利用预设高度范围内的地图点云数据,能够生成预设高度范围对应的较为准确地二维子地图;各个预设高度范围对应的二维子地图组成的预制地图能够较为准确的表征环境的二维以上的结构特征,利用该预制地图有利于提高定位的准确度。

在一种可能的实施方式中,基于所述预设高度范围所包括的地图点云数据,生成所述预设高度范围对应的二维子地图,包括:

获取采集所述预设高度范围所包括的地图点云数据时,所述第二目标对象的位姿信息;

基于所述第二目标对象的位姿信息和第二对象坐标系下的地图点云数据,确定所述地图点云数据在预制地图对应的地图坐标系下的位姿信息;

基于所述地图点云数据在所述地图坐标系下的位姿信息,生成所述预设高度范围对应的二维子地图。

该实施方式,利用采集地图点云数据时,第二目标对象的位姿信息能够确定地图点云数据在第二坐标下的准确地位姿信息,利用该准确的位姿信息能够生成精确的二维子地图。

在一种可能的实施方式中,所述二维子地图中包括至少一个栅格;

所述基于所述地图点云数据在所述地图坐标系下的位姿信息,生成所述预设高度范围对应的二维子地图,包括:

基于所述地图点云数据在所述地图坐标系下的位姿信息,确定所述地图点云数据中的各个点所位于的栅格;

基于每个栅格所包括的地图点云数据,生成预设高度范围对应的二维子地图。

该实施方式,利用各个栅格内的地图点云数据能够生成包括栅格的精确的二维子地图。

在一种可能的实施方式中,所述栅格存储有该栅格对应的空间范围内的点云数据的分布信息;所述空间范围为根据该栅格所属的二维子地图对应的预设高度范围和该栅格在二维子地图中的位置确定的;

所述基于每个栅格所包括的地图点云数据,生成预设高度范围对应的二维子地图,包括:

基于每个栅格所包括的地图点云数据,分别确定每个栅格内地图点云数据的分布信息;

基于每个栅格内地图点云数据的分布信息,生成预设高度范围对应的二维子地图。

该实施方式,利用栅格内的地图点云数据能够确定栅格内的地图点云数据的分布信息,从而能够生成栅格对应的精确的子地图,各个栅格对应的子地图能够组成精确的二维子地图。

第二方面,本公开实施例还提供一种定位装置,包括:

数据获取模块,用于获取预制地图、第一目标对象所处环境的点云数据以及第一目标对象的多个候选位置;所述预制地图包括多个预设高度范围对应的二维子地图;

概率计算模块,用于针对每个候选位置,基于所述候选位置,确定所述点云数据中的多个点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定所述点云数据中的多个点分别位于每个所述二维子地图中的子概率值,以及,基于确定的所述子概率值,确定第一目标对象位于所述候选位置的目标概率值;

定位模块,用于将目标概率值最高的候选位置作为所述第一目标对象的目标位置。

第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

关于上述定位装置、电子设备、及计算机可读存储介质的效果描述参见定位方法的说明,这里不再赘述。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种定位方法的流程图;

图2示出了本公开实施例中确定子概率值的示意图;

图3示出了本公开实施例所提供的另一种定位方法中生成预制地图的流程图;

图4示出了本公开实施例中生成的二维子地图的示意图;

图5示出了本公开实施例所提供的一种定位装置的示意图;

图6示出了本公开实施例所提供的一种电子设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

针对现有技术中,利用点云数据进行定位存在的定位精度低的缺陷,本公开提供了一种定位方法、装置、电子设备及计算机可读存储介质,本公开首先获取包括多个预设高度范围对应的二维子地图的预制地图和第一目标对象的多个候选位置,之后,针对每个候选位置,基于所述候选位置,确定所述点云数据中的多个点分别位于每个所述二维子地图中的子概率值,以及,基于确定的所述子概率值,确定第一目标对象位于所述候选位置的目标概率值;最后,将目标概率值最高的候选位置作为所述第一目标对象的目标位置。本公开利用点云数据位于每个预设高度范围对应的二维子地图中的子概率值来筛选候选位置,实现了结合点云数据的高于二维的结构信息来进行定位,能够提高定位精度。

下面通过具体的实施例,对本公开公开的定位方法、装置、电子设备及计算机可读存储介质进行说明。

如图1所示,本公开实施例公开了一种定位方法,该方法可以应用于具有计算能力的电子设备上,例如服务器等。具体地,该定位方法可以包括如下步骤:

S110、获取预制地图、第一目标对象所处环境的点云数据以及第一目标对象的多个候选位置;所述预制地图包括多个预设高度范围对应的二维子地图。

上述预制地图是根据地图采集车采集的地图点云数据预先构建的,是一个包括第一目标对象所在的位置的一个地图。具体可以是,将地图采集车采集的地图点云数据按照预设高度范围进行分割,之后按照分割的地图点云数据生成每个预设高度范围对应的二维子地图。

包括多个设高度范围对应的二维子地图的预制地图,能够在一定程度包括环境的三维结构信息,利用该预制地图对第一目标对象进行定位能够提高定位精度。

第一目标对象所处环境的点云数据可以是安装在第一目标对象上的激光雷达采集到的当前数据。第一目标对象运动过程中或静止的时候,其上安装的激光雷达通过发射扫描线采集第一目标对象当前所处环境的地图点云数据。在具体实施时,第一目标对象是需要进行定位的对象,例如可以是车辆等。

上述候选位置需要根据具体情况采用不同的方式确定,具体地,在上述点云数据为一开始对第一目标对象进行定位时,激光雷达所采集的第一帧点云数据的情况下,首先利用定位技术,例如全球定位系统(Global Positioning System,GPS)获取激光雷达在采集该帧点云数据过程中的任一时刻的位置,之后,将与该位置的距离小于预设距离的位置所构成的区域进行分割,并基于分割结果,确定多个候选位置。

在上述点云数据不为一开始对第一目标对象进行定位雷达所采集的第一帧点云数据的情况下,首先利用该帧点云数据的上一帧点云数据对第一目标对象进行定位,得到一个位置;之后,将与该位置的距离小于预设距离的位置所构成的区域进行分割,并基于分割结果,确定多个候选位置。这里,在利用点云数据确定位置的过程中,利用了采集点云数据的激光雷达的内外参信息,进行了激光雷达对应的坐标系与地图坐标系之间的转换,因此,得到的候选位置为第一目标对象在预制地图对应的地图坐标系中的位置。

另外,在上述点云数据不为一开始对第一目标对象进行定位雷达所采集的第一帧点云数据的情况下,还可以利用如下方式确定候选位置:获取第一目标对象从该帧点云数据的上一帧点云数据的采集时间到该帧点云数据的采集时间之间的位姿变化信息,之后,利用该帧点云数据的上一帧点云数据对第一目标对象进行定位得到的位置和确定的上述位姿变化信息,确定第一目标对象在激光雷达采集该帧点云数据时的位置,最后,将与该位置的距离小于预设距离的位置所构成的区域进行分割,并基于分割结果,确定多个候选位置。同理,这里在利用点云数据确定位置的过程中,也利用了采集点云数据的激光雷达的内外参信息,进行了激光雷达对应的坐标系与地图坐标系之间的转换,因此,得到的候选位置为第一目标对象在预制地图对应的地图坐标系中的位置。

另外,在上述点云数据不为一开始对第一目标对象进行定位雷达所采集的第一帧点云数据的情况下,还可以利用全球定位系统(Global Positioning System,GPS)获取激光雷达在采集该帧点云数据过程中的任一时刻的位置,之后,将与该位置的距离小于预设距离的位置所构成的区域进行分割,并基于分割结果,确定多个候选位置。

S120、针对每个候选位置,基于所述候选位置,确定所述点云数据中的多个点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定所述点云数据中的多个点分别位于每个所述二维子地图中的子概率值,以及,基于确定的所述子概率值,确定第一目标对象位于所述候选位置的目标概率值。

上述用于确定目标概率值的多个点既可以是点云数据中的全部点,可以是从点云数据中提取的特征点。

在基于候选位置确定某一点对应的子概率值时,具体可以首先基于第一目标对象在第一目标对象对应的第一对象坐标系中的位置和地图坐标系中的所述候选位置,确定第一对象坐标系和地图坐标系之间的转换关系,以及将雷达坐标系中的该点转换到第一目标对象对应的第一对象坐标系中;之后利用该转换关系,将转换到第一对象坐标系中的该点转换到地图坐标系中,最后,将转换到地图坐标系中的该点投影到各个二维子地图上,并基于该点在各个二维子地图上的投影位置,分别确定该点位于各个二维子地图中的子概率值。采用上述方法,可以确定所述点云数据中的多个点分别位于每个所述二维子地图中的子概率值。

上述第一对象坐标系可以为第一目标对象为原点建立的坐标系,例如在第一目标对象为车辆时,第一对象坐标系可以是车辆坐标系。

应当说明的是,上述激光雷达采集的点云数据是雷达坐标系中的数据。

S130、将目标概率值最高的候选位置作为所述第一目标对象的目标位置。

目标概率值表征第一目标对象位于对应的候选位置的可能性的大小,选取目标概率值最高的候选位置作为目标位置,即选取第一目标对象最有可能位于的候选位置作为目标位置,这样能够提高对第一目标对象进行定位的定位准确度。

根据上面的描述可知,在确定目标概率值的时候,既可以利用全部的点云数据来确定,也可以利用点云数据中的特征点来确定。利用全部点云数据确定目标概率值的方式存在计算量大的缺陷,并且由于点云数据中不可避免的存在噪声,因此确定的目标概率值准确度差,鲁棒性能低。

针对上述缺陷,可以利用特征点的方式来确定目标概率值,即首先从点云数据中提取特征点;之后基于所述候选位置,确定所述点云数据中的各个特征点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定各个特征点位于每个所述二维子地图中的概率值,将得到的概率值作为所述子概率值,最后,基于确定的所述子概率值,确定第一目标对象位于所述候选位置的目标概率值。该方式不仅能够减少确定目标概率值的计算量,还能够通过提取特征点的方式滤除噪声,提高确定的目标概率值准确度差,鲁棒性好,有利于提高定位精度。

在具体实施时,可以利用如下步骤提取特征点:确定所述多个点中的每个点的曲率信息;基于所述曲率信息,从所述多个点中提取初始特征点;将所述初始特征点对应的空间分割为多个子空间;基于所述子空间的位置信息,从所述初始特征点中筛选最终的特征点。

上述确定多个点的曲率信息具体可以是确定点云数据中全部点的曲率信息。在确定某一个点的曲率信息时,具体可以是获取与该点的距离小于预设距离的点,并利用获取的点的坐标和该点的坐标,确定该点的曲率。

上述基于曲率信息提取初始特征点具体可以选取曲率大于第一预设值的点和曲率小于第二预设值的点作为初始特征点,第一预设值大于第二预设值。利用点的曲率信息能够筛选到曲面弯曲度较大和较小的点,即能够筛选到发生明显环境改变的点和未发生明显改变的点,筛选得到的初始特征点能够较为准确地表征环境的特征。

在得到初始特征点之后,将初始特征点对应的空间分割为多个子空间,并基于子空间的位置信息,从所述初始特征点中筛选最终的特征点,能够进一步从初始特征点中筛选能够表征环境特征的特征点,实现了在保证筛选得到的特征点能够较为准确的表征环境特征的前提下,减少了特征点的数量,有利于减少定位的计算量。

示例性地,在基于子空间的位置信息,从所述初始特征点中筛选最终的特征点时,可以首先基于所述子空间的位置信息,确定所述子空间的重心;之后将位于所述子空间的重心上的初始特征点作为最终的特征点。重心位置的特征点能够较为准确的表征环境特征,因此将子空间的重心上的初始特征点作为最终的特征点。

上述子空间具体可以是立方体形状的空间,例如是边长为40厘米的立方体空间。

根据上面的描述可知,在确定子概率值以及目标概率值之前,需要将点云数据由雷达坐标系转换到第一对象坐标系之下,在实际应用中,第一目标对象在运动过程中,由于颠簸等原因雷达可能发生松动,雷达相对于第一目标对象的位姿可能发生变换,如果只利用标定的雷达坐标系与第一坐标之间的转换关系,将激光雷达采集的点云数据转换到第一对象坐标系下,会出现转换精度低的缺陷,这样就会造成后续确定的子概率值以及目标概率值不准确,继而造成确定的目标位置不准确,降低了对第一目标对象进行定位的定位精度。

为了克服上述缺陷,在确定子概率值以及目标概率值之前,需要对转换到第一对象坐标系中的点云数据进行位姿调整,具体可以利用如下步骤实现:

从转换到第一对象坐标系中的点云数据中提取地面点,并利用提取的地面点确定拟合面;基于所述拟合面与水平面之间的夹角,确定位姿修正信息;基于所述位姿修正信息,对转换后的点云数据进行位姿变换,得到第一对象坐标系下的最终的点云数据。

上述提取地面点具体可以是利用随机一致性采样(Random Sample Consensus,RANSAC)算法从转换后的点云数据中提取地面点。

上述位姿修正信息具体可是包括拟合面与水平面之间的在竖直平面内第一夹角,例如俯仰角和拟合面与水平面之间的在水平面内的第二夹角,例如翻滚角。利用上述第一夹角和第二夹角对转换后的点云数据进行位姿调整,得到上述最终的点云数据。

拟合面与水平面之间的夹角,能够较为准确的表征激光雷达与第一目标对象在标定的相对位姿关系的基础上,发生的位姿变化,利用该位姿变化能够对点云数据的位姿进行调整,得到点云数据在第一坐标下的较为准确的位姿信息,即得到第一坐标下的较为准确的点云数据。

根据上面的陈述可知,利用全部点云和特征点均可以确定上述目标概率值,因此下面只对如何利用特征点确定目标概率值进行展开说明。

具体可以利用如下步骤实现利用特征点确定目标概率值:

基于所述候选位置,确定所述点云数据中各个特征点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定各个特征点位于每个所述二维子地图中的概率值,并将得到的概率值作为上述子概率值;基于确定的所述子概率值,确定第一目标对象位于所述候选位置的目标概率值。

上述确定特征点位于某个二维子地图中的概率值的方式与确定点云数据中的某一点位于某个二维子地图中的子概率值的方式相同,具体可以是:

基于所述第一目标对象在第一对象坐标系中的位置和地图坐标系中的所述候选位置,确定各个特征点在所述地图坐标系中的位置坐标;基于每个特征点在所述地图坐标系中的位置坐标,分别将每个特征点投影到各个所述二维子地图上;基于每个特征点在各个二维子地图上的投影位置,分别确定每个特征点位于各个二维子地图中的概率值。

上述在确定特征点在所述地图坐标系中的位置坐标时,基于所述第一目标对象在第一对象坐标系中的位置和地图坐标系中的所述候选位置,确定第一对象坐标系和地图坐标系之间的转换关系;之后利用该转换关系,将特征点转换到地图坐标系中,得到特征点在所述地图坐标系中的位置坐标。

利用第一目标对象在第一对象坐标系中的位置和地图坐标系中的候选位置之间的关系,能够将特征点较为准确地转换到地图坐标系中,之后利用特征点在地图坐标系中的位置,能够较为准确的确定在当前候选位置为最终的定位结果时,特征点位于各个二维子地图中的概率值。

在一些实施例中,预制地图中包括多个二维子地图,每个二维子地图均包括多个栅格,每个栅格存储有该栅格对应的空间范围内的点云数据的分布信息;其中,所述空间范围为根据该栅格所属的二维子地图对应的预设高度范围和该栅格在二维子地图中的位置确定的。

上述基于特征点在二维子地图上的投影位置,确定该特征点位于该二维子地图中的概率值,具体可以利用如下步骤实现:

基于该特征点在二维子地图上的投影位置,确定该特征点在二维子地图上所处的目标栅格;基于该特征点的高度信息和目标栅格对应的分布信息,确定该特征点位于二维子地图中的概率值。

上述分布信息可以是点云数据的高斯分布,在具体实施时,可以利用如下公式确定特征点位于二维子地图中的概率值:

式中,i表示第i个特征点,s表示第s个二维子地图,P

如图2所示,图中包括三个二维子地图201,每个二维子地图中分别包括多个栅格202,利用上面的公式可以计算某一个特征点位于二维子地图中的目标栅格内的概率,该概率即为该特征点位于该二维子地图中子概率值。

基于特征点在二维子地图中所位于的目标栅格,以及栅格中存储的点云数据的分布信息,能够较为准确地确定对应的特征点位于对应的目标栅格中的概率值,即能够较为准确地确定特征点位于目标栅格所属的二维子地图中的概率值。

特征点作为从点云数据中提取出来的点,因此计算特征点位于某一二维子地图中的概率值的方式与计算点云数据中的某一点位于某一二维子地图中的子概率值的方式相同,对于相同的部分,不再赘述。

在确定上述子概率值之后,可利用如下公式计算目标概率值:

式中,P表示目标概率值,η表示一个预设的参数,S表示二维子地图的数量,N表示特征点的数量,K表示一个预设的参数。

根据上述实施例的描述可知,预制地图是预先构造的,下面通过具体的实施例对预制地图的构造过程进行说明。

如图3所示,可以利用如下步骤生成预制地图:

S310、获取第二目标对象所处环境的地图点云数据。

上述第二目标对象可以是地图采集车,地图采集车上安装有激光雷达,地图采集车运动过程中,激光雷达采集用于生成预制地图的点图点云数据。

S320、将所述地图点云数据转换到第二目标对象对应的第二对象坐标系中。

上述第二对象坐标系可以是地图采集车对应的车辆坐标系。

激光雷达采集的地图点云数据是雷达坐标系中的数据,需要利用预先标定的雷达坐标系与第二对象坐标系之间的转换关系将地图点云数据转换到第二对象坐标系中。

S330、确定转换后的地图点云数据中的各个点所属的预设高度范围。

预先设置有多个预设高度范围,这里是将地图采集车采集的地图点云数据按照预设高度范围进行分割,以确定每个预设高度范围对应的地图点云数据。

S340、基于每个预设高度范围所包括的地图点云数据,分别生成每个预设高度范围对应的二维子地图。

上述确定的每个预设高度范围对应的地图点云数据,是第二对象坐标系下的数据,需要将第二对象坐标系下的地图点云数据转换到预制地图对象的地图坐标系下才能生成预制地图,具体可以利用如下步骤实现:

获取激光雷达采集所述预设高度范围所包括的地图点云数据时,所述第二目标对象的位姿信息;基于所述第二目标对象的位姿信息和第二对象坐标系下的地图点云数据,确定所述地图点云数据在预制地图对应的地图坐标系下的位姿信息;基于所述地图点云数据在所述地图坐标系下的位姿信息,生成所述预设高度范围对应的二维子地图。

上述第二目标对象的位姿信息为第二目标对象在第二坐标下的位姿信息。上述确定所述地图点云数据在地图坐标系下的位姿信息时,首先将第二对象坐标系下的地图点云数据转换到地图坐标系下,之后,将地图坐标系下的地图点云数据按照第二目标对象的位姿信息进行拼接,得到地图点云数据在地图坐标系下的位姿信息。上述地图坐标系和第二对象坐标系之间的转换关系时预先标定的。

利用激光雷达采集地图点云数据时,第二目标对象的位姿信息能够确定地图点云数据在第二坐标下的准确地位姿信息,利用该准确的位姿信息能够生成精确的二维子地图。

生成的多个二维子地图能够组成上述预制地图,如图4所示,预制地图包括多个二维子地图401。

如图4,二维子地图中包括多个栅格402,在生成二维子地图时,具体可以是:基于所述地图点云数据在所述地图坐标系下的位姿信息,确定所述地图点云数据中的各个点所位于的栅格;基于每个栅格所包括的地图点云数据,生成预设高度范围对应的二维子地图。

如图4,所述栅格存储有该栅格对应的空间范围内的点云数据的分布信息,各个栅格对应的分布信息拼接后得到对应的二维子地图对应的分布信息。其中,所述空间范围为根据该栅格所属的二维子地图对应的预设高度范围和该栅格在二维子地图中的位置确定的。

在基于每个栅格所包括的地图点云数据,生成预设高度范围对应的二维子地图时,具体可以是:基于每个栅格所包括的地图点云数据,分别确定每个栅格内地图点云数据的分布信息;基于每个栅格内地图点云数据的分布信息,生成预设高度范围对应的二维子地图。

利用栅格内的地图点云数据能够确定栅格内的地图点云数据的分布信息,从而能够生成栅格对应的精确的子地图,各个栅格对应的子地图能够组成精确的二维子地图。

上述实施例,利用预设高度范围内的地图点云数据,能够生成预设高度范围对应的较为准确地二维子地图;各个预设高度范围对应的二维子地图组成的预制地图能够较为准确的表征环境的二维以上的结构特征,利用该预制地图有利于提高定位的准确度。

上述实施例通过提取特征点实现了利用鲁棒性更好的点来进行定位,有利于提高定位精度,同时上述实施例对转换到第一对象坐标系中的点云数据的位姿进行了调整,避免了由于颠簸等原因造成雷达外参变化所引起的转换到第一对象坐标系中的点云数据准确度低的缺陷。另外,上述实施例提取点云数据中的结构信息与多层二维子地图进行匹配,结合了环境的结构信息,有利于提高定位的精确度。

本公开的上述实施例用于依赖于预制地图的定位与导航需求中,包括但是不限于自动驾驶、机器人导航和辅助驾驶等场景,用于提供高精度定位结果,满足感知和导航等模块的需求。

对应于上述定位方法,本公开还公开了一种定位装置,该装置中的各个模块能够实现上述各个实施例的定位方法中的每个步骤,并且能够取得相同的有益效果,因此,对于相同的部分这里不再进行赘述。具体地,如图5所示,定位装置包括:

数据获取模块510,用于获取预制地图、第一目标对象所处环境的点云数据以及第一目标对象的多个候选位置;所述预制地图包括多个预设高度范围对应的二维子地图。

概率计算模块520,用于针对每个候选位置,基于所述候选位置,确定所述点云数据中的多个点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定所述点云数据中的多个点分别位于每个所述二维子地图中的子概率值,以及,基于确定的所述子概率值,确定第一目标对象位于所述候选位置的目标概率值。

定位模块530,用于将目标概率值最高的候选位置作为所述第一目标对象的目标位置。

对应于上述定位方法,本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:

处理器61、存储器62、和总线63;存储器62用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当电子设备600运行时,处理器61与存储器62之间通过总线63通信,使得处理器61执行以下指令:

获取预制地图、第一目标对象所处环境的点云数据以及第一目标对象的多个候选位置;所述预制地图包括多个预设高度范围对应的二维子地图;

针对每个候选位置,基于所述候选位置,确定所述点云数据中的多个点在所述预制地图对应的地图坐标系中的位置坐标,并基于确定的所述位置坐标,确定所述点云数据中的多个点分别位于每个所述二维子地图中的子概率值,以及,基于确定的所述子概率值,确定第一目标对象位于所述候选位置的目标概率值;

将目标概率值最高的候选位置作为所述第一目标对象的目标位置。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述定位方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供了一种计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述定位方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 电子设备的定位控制方法、装置、存储介质及电子设备
  • 定位及定位模型的训练方法、装置、电子设备和存储介质
技术分类

06120112989563