CN117629182A - 一种定位方法、装置、设备及存储介质 - Google Patents
一种定位方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117629182A CN117629182A CN202311608956.5A CN202311608956A CN117629182A CN 117629182 A CN117629182 A CN 117629182A CN 202311608956 A CN202311608956 A CN 202311608956A CN 117629182 A CN117629182 A CN 117629182A
- Authority
- CN
- China
- Prior art keywords
- target
- frame
- point cloud
- cloud data
- current
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 16
- 230000001413 cellular effect Effects 0.000 claims description 8
- 238000010845 search algorithm Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Navigation (AREA)
Abstract
本发明公开了一种定位方法、装置、设备及存储介质。该方法包括:获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,当前车辆在历史地图所属区域中行驶;根据目标特征向量和每一帧点云数据对应的历史特征向量确定目标帧序列,其中,目标帧序列包括至少一个目标帧,目标帧包括:帧点云数据和帧点云数据对应的位姿;若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息;对当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息,通过本发明的技术方案,能够有效提高车辆定位的精确度。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种定位方法、装置、设备及存储介质。
背景技术
车辆(如:无人驾驶物流车辆)的实时定位功能能够方便车辆进行路径规划和避障,目前车辆实现实时定位的方法主要包括:第一种,基于高精度RTK(Real-timekinematic,实时动态)载波相位差分技术实现定位,但该方法对环境要求高,无法在存在GPS(Global Positioning System,全球定位系统)信号遮挡物的环境下实现高精度定位信息,且RTK设备价格昂贵,实现成本高;第二种,基于3D激光雷达点云配准实现定位,成本相对较低,主流配准方法包括:ICP(Iterative Closest Points,迭代最近点)配准和NDT(Normal distribution transformation,正态分布变换)配准;第三种,基于多传感器融合实现定位,一般是融合RTK、激光雷达以及惯性测量单元的数据来实现定位,精度和稳定性均良好,但成本极高。车辆的定位低成本化在未来是一项重要的发展趋势,因此基于3D激光雷达点云配准实现车辆的实时定位是一种低成本化的有效途径。
但现有的3D激光雷达点云配准方法存在局限性,其中,ICP配准可获取较高精度的配准结果,但是算力需求大,计算时间相对较长,目前经过优化后的ICP配准完成一轮计算也需要400ms左右耗时,无法满足车辆实时性需求,而NDT配准需要的耗时较短,能满足车辆的实时性需求,但是在定位精度上有所降低,若车辆行驶环境发生改变,NDT配准结果的精度也会进一步降低,从而无法满足车辆的定位精度需求。同时,现有的基于3D激光雷达的点云配准方法在实现定位时,需要先进行全局初始化获取车辆的初始位姿信息,通常采用车辆的RTK提供一个初始位姿,再使用激光雷达点云配准实现定位,该方法增加了车辆定位的制造成本。
发明内容
本发明实施例提供一种定位方法、装置、设备及存储介质,解决了当前车辆实时定位时制造成本高、定位耗时长以及定位精度较低的问题。
根据本发明的一方面,提供了一种定位方法,包括:
获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,其中,所述当前车辆在历史地图所属区域中行驶;
根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,其中,所述目标帧序列包括至少一个目标帧,所述目标帧包括:帧点云数据和帧点云数据对应的位姿;
若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息;
对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
根据本发明的另一方面,提供了一种定位装置,该定位装置包括:
特征向量获取模块,用于获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,其中,所述当前车辆在历史地图所属区域中行驶;
目标帧序列确定模块,用于根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,其中,所述目标帧序列包括至少一个目标帧,所述目标帧包括:帧点云数据和帧点云数据对应的位姿;
粗配准得到模块,用于若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息;
目标定位得到模块,用于对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的定位方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的定位方法。
本发明实施例通过获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,其中,所述当前车辆在历史地图所属区域中行驶;根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,其中,所述目标帧序列包括至少一个目标帧,所述目标帧包括:帧点云数据和帧点云数据对应的位姿;若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息;对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息,解决了当前车辆实时定位时制造成本高、定位耗时长以及定位精度较低的问题,能够降低车辆定位的制造成本,同时还能够在车辆行驶区域的环境发生变化时,对车辆快速定位,提高车辆定位的精确度。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一中的一种定位方法的流程图;
图2是本发明实施例一中的一种蜂窝扩展示意图;
图3是本发明实施例一中的另一种定位方法的流程图;
图4是本发明实施例二中的一种定位装置的结构示意图;
图5是本发明实施例三中的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
实施例一
图1是本发明实施例一中的一种定位方法的流程图,本实施例可适用于对车辆进行定位,尤其是无人驾驶物流车定位的情况,该方法可以由本发明实施例中的定位装置来执行,该装置可采用软件和/或硬件的方式实现。如图1所示,该方法具体包括如下步骤:
S110,获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,其中,当前车辆在历史地图所属区域中行驶。
其中,当前帧点云数据为当前车辆在行驶过程中车辆上的3D激光雷达实时采集的帧点云数据(Cloud)。目标特征向量为表述每帧点云数据对应的特征,其中,每帧点云数据对应唯一的目标特征向量。可选的,目标特征向量可为每帧点云数据对应的Ring key,即为每帧点云数据对应的环键向量。历史地图为通过SLAM建图方法建立的历史地图,历史地图中包含至少一帧点云数据,每帧点云数据中保存其对应的历史特征向量。
具体的,当当前车辆在历史地图所属区域中行驶时,实时采集当前车辆在行驶过程中的当前帧点云数据,根据当前车辆的当前帧点云数据得到目标特征向量,同时,获取历史地图中在建图时保存的每一帧点云数据对应的历史特征向量。
可选的,获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量,包括:
采集当前车辆行驶过程中的当前帧点云数据;
根据所述当前帧点云数据确定所述当前帧点云数据对应的目标位置描述符;
根据所述目标位置描述符确定所述当前帧点云数据对应的目标特征向量。
其中,目标位置描述符可为每帧点云数据对应的Scan Context(位置描述符)。
具体的,采集当前车辆行驶过程中的当前帧点云数据的方式可以为:通过车辆上的3D激光雷达实时采集当前车辆行驶过程中的当前帧点云数据。
具体的,根据所述当前帧点云数据确定所述当前帧点云数据对应的目标位置描述符的方式可以为:将帧点云数据按照激光雷达传感器坐标系中的方位角和半径均匀划分为不同的区域(bin),需要说明的是,从方位角上看,帧点云数据被划分为Ns个扇面(Sector),从半径反向看,帧点云数据被划分为Nr个环(Ring),每个扇面和环相交的部分称为一个bin,接着使用每一bin中的点云数据,为每一个bin分配一个单一的实值,根据该实值对每一bin进行编码,得到对应的编码信息,可反映帧点云数据的高度信息,最后,将所需相关信息存放至每一bin中,如:每一bin的点云数量、最大高度信息、点云平均高度信息等,形成一个Nr×Ns的矩阵,即为当前帧点云数据对应的目标位置描述符。
具体的,根据所述目标位置描述符确定所述当前帧点云数据对应的目标特征向量的方式可以为:目标位置描述符中的每一行可通过环编码函数被编码为一个单一的实数,即每一环都对应一个实数,根据每一环对应的实数构建当前帧点云数据对应的目标特征向量。需要说明的是,对每一bin中相关信息进行编码成唯一一个标识符,也可作为当前帧点云数据对应的目标特征向量,可使用哈希函数或其它编码方法来生成目标特征向量。需要注意的是,为了提高目标特征向量的唯一性和区分度,可以对每个bin的相关信息进行一些处理,比如取平均值、加权平均数等。同时,在生成目标特征向量时,也可以考虑将相邻bin的信息进行组合,以进一步提高目标特征向量的区分度和准确性。
通过采集当前车辆行驶过程中的当前帧点云数据;根据所述当前帧点云数据确定所述当前帧点云数据对应的目标位置描述符;根据所述目标位置描述符确定所述当前帧点云数据对应的目标特征向量,能够通过目标特征向量来表征每一帧点云数据,以便在后续通过每帧点云数据的目标特征向量与历史地图中的每一帧点云数据对应的历史特征向量进行匹配时,提高匹配的准确性。
S120,根据目标特征向量和每一帧点云数据对应的历史特征向量确定目标帧序列,其中,目标帧序列包括至少一个目标帧,目标帧包括:帧点云数据和帧点云数据对应的位姿。
其中,目标帧序列为存在规律的目标帧集合,规律如:按照目标特征向量和历史特征向量的相似度从高到低排列,或,从低到高排列。其中,目标帧序列中目标帧的数量可根据实际需求进行预设。目标帧序列中的帧为历史帧点云数据与当前帧点云数据相似度高于预设阈值的帧点云。
其中,每一目标帧包括:帧点云数据和帧点云数据对应的位姿,获取帧点云数据对应的位姿的方法可为:在使用SLAM建图时,可通过ORB-SLAM系统计算每帧点云数据对应的位姿。
具体的,根据目标特征向量和每一帧点云数据对应的历史特征向量确定目标帧序列的方式可以为:通过将目标特征向量与历史地图中每一帧点云数据对应的历史特征向量进行匹配,得到目标特征向量和每一帧点云数据对应的历史特征向量之间的相似度,根据相似度确定目标帧序列。
可选的,根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,包括:
通过预设搜索算法得到所述目标特征向量与每一帧点云数据对应的历史特征向量之间的相似度;
根据所述相似度按照从高到低的顺序,对每一帧点云数据进行排序,并将排序前N帧点云数据确定为目标帧序列,其中,N为正整数。
其中,预设搜索算法可为KNN(K-Nearest Neighbor,邻近)搜索算法,也可为其它搜索算法。N帧点云数据可根据实际需求预设。
具体的,通过预设搜索算法计算当前帧点云数据对应的目标特征向量与历史地图中每一帧点云数据对应的历史特征向量之间的相似度,然后根据历史地图中每一帧点云数据对应的历史特征向量对应的相似度对历史地图中的每帧点云数据进行排序,可按照相似度从高到低将历史地图中的每帧点云数据进行排序,将排序前N帧点云数据确定为目标帧序列,此时,目标帧中的前N帧点云数据对应的位姿可作为车辆定位的初始位姿。
通过预设搜索算法得到所述目标特征向量与每一帧点云数据对应的历史特征向量之间的相似度;根据所述相似度按照从高到低的顺序,对每一帧点云数据进行排序,并将排序前N帧点云数据确定为目标帧序列,能够摆脱对RTK等定位设备的依赖,可基于3D激光雷达定位功能提供车辆的初始位姿,有效降低车辆定位的制造成本。
S130,若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息。
其中,第一配准定位信息为在确定当前帧点云数据与目标帧序列中的至少一个目标帧匹配后,对当前帧点云数据和历史地图进行NDT粗配准后得到的车辆的粗配准定位信息。
具体的,若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则说明车辆定位全局初始化成功,此时车辆的初始位姿正确,可对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息。
可选的,若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,包括:
将目标帧序列中的每个目标帧依次执行匹配操作,直至目标帧对应的第一匹配评分小于预设的评分阈值,确定当前帧点云数据与第一匹配评分对应的目标帧匹配,其中,所述匹配操作包括:将目标帧与当前帧点云数据进行NDT粗配准,得到目标帧对应的第一匹配评分;
对当前帧点云数据和历史地图进行NDT粗配准。
其中,预设的评分阈值可根据实际需求进行设定。第一匹配评分为目标帧序列中每一目标帧与当前帧点云数据进行NDT粗配准后得到的匹配评分,需要说明的是,匹配评分获取的方法可为:将当前帧点云数据所占的空间划分为预设大小的网格或立方体,计算每个网格或立方体的多维正态分布参数,得到对应的概率模型,根据目标帧与当前帧点云数据对应的坐标系之间的初始变换关系,将目标帧点云数据转换到当前帧点云数据的坐标系下,根据概率模型,计算目标帧点云中每个点落在对应网格或立方体中的概率,将概率之和确定为目标帧对应的匹配评分。
具体的,按照目标帧序列中每一目标帧的顺序依次将目标帧与当前帧点云数据进行NDT粗配准,得到第一匹配评分,若第一匹配评分小于预设的评分阈值,则确定当前帧点云数据与第一匹配评分对应的目标帧匹配,该匹配的目标帧排序后的目标帧无需再与当前帧点云数据进行NDT粗配准。
具体的,在确定当前帧点云数据与第一匹配评分对应的目标帧匹配后,认为车辆的初始位姿正确,可将当前帧点云数据和历史地图再次进行NDT粗配准,得到当前车辆的第一配准定位信息。
可选的,在若当前帧点云数据与目标帧序列中的至少一个目标帧匹配之前,还包括:
若当前帧点云数据与目标帧序列中的目标帧均不匹配,则对目标帧序列中的每个目标帧依次执行目标操作,直至目标搜索帧集合中的搜索帧与当前帧点云数据匹配,其中,所述目标操作包括:将目标帧对应的位姿作为目标中心,基于所述目标中心执行蜂窝扩展,得到所述目标中心对应的目标搜索帧集合,依次将目标搜索帧集合中的每个搜索帧与当前帧点云数据进行NDT粗配准;
若目标帧对应的目标搜索帧集合中的搜索帧与当前帧点云数据均不匹配,则获取当前车辆行驶过程中的当前帧点云数据对应的下一帧点云数据对应的目标特征向量,重新确定当前车辆的目标定位信息。
其中,目标搜索帧集合为每一目标帧执行目标操作后得到的每一目标帧对应的搜索帧集合。
具体的,若当前帧点云数据与目标帧序列中的目标帧均不匹配,则说明基于当前帧点云数据对应的目标特征向量确定的目标帧序列中每一目标帧对应的初始位姿不准确,即车辆实际位置与计算出的初始位姿存在较大的位移误差。若当前帧点云数据与目标帧序列中的目标帧均不匹配时,则对目标帧序列中的每个目标帧依次执行目标操作,即按照目标帧序列中每一目标帧的顺序依次将每个目标帧对应的位姿作为目标中心,基于目标中心执行蜂窝扩展,可得到目标中心周围相互嵌入的六边形中心点坐标,即每一六边形中心点可对应一个搜索帧,形成目标搜索帧集合,按照预设顺序(如:逆时针顺序或顺时针顺序)将每一搜索帧与当前帧点云数据进行NDT粗配准,若搜索帧与当前帧点云数据匹配,则结束循环,匹配时对应的搜索帧后序的搜索帧无需继续进行匹配,该搜索帧对应的目标帧排序后的目标帧也无需继续进行蜂窝扩展。图2是本发明实施例一中的一种蜂窝扩展示意图,如图2所示,坐标中心O为目标中心,最目标中心执行蜂窝搜索,目标中心最接近的周围相互嵌入的每一六边形中心点坐标可对应一个搜索帧,进而形成目标搜索帧集合。
具体的,若目标帧序列中每一目标帧对应的目标搜索帧集合中的搜索帧与当前帧点云数据均不匹配,则说明此次定位出现故障,则获取当前车辆行驶过程中的当前帧点云数据对应的下一帧点云数据对应的目标特征向量,重新进行匹配,获取新的目标帧序列,继续确定车辆的目标定位信息。
通过若当前帧点云数据与目标帧序列中的目标帧均不匹配,则对目标帧序列中的每个目标帧依次执行目标操作,直至目标搜索帧集合中的搜索帧与当前帧点云数据匹配,其中,所述目标操作包括:将目标帧对应的位姿作为目标中心,基于所述目标中心执行蜂窝扩展,得到所述目标中心对应的目标搜索帧集合,依次将目标搜索帧集合中的每个搜索帧与当前帧点云数据进行NDT粗配准,能够解决基于当前帧点云数据对应的目标特征向量确定的目标帧序列中每一目标帧对应的初始位姿不准确,即车辆实际位置与计算出的初始位姿存在较大的位移误差的问题,快速重新确定车辆的初始位姿,有效提高车辆全局初始化的鲁棒性。
S140,对当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
其中,当前车辆的目标定位信息为当前车辆在NDT粗配准后继续进行增量式NDT精配准得到的最终定位信息,能够得到精度更高的定位信息,有效解决了当车辆所处环境发生变化而引起的配准精度损失的问题。
可选的,对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息,包括:
通过增量式NDT生成当前车辆对应的局部动态地图;
根据所述局部动态地图和第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
具体的,通过增量式NDT实时维护当前车辆对应的局部动态地图,然后将局部动态地图与之前的NDT粗配准得到的第一配准定位信息进行增量式NDT精配准,得到当前车辆的目标定位信息。
通过根据局部动态地图和第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息,解决了当前车辆所处环境发生变化时引起的配准精度损失的问题,能够在保证车辆定位系统运行实时性的同时有效提高定位精度。
在一个具体的例子中,图3是本发明实施例一中的另一种定位方法的流程图,如图3所示,在采集当前车辆的当前帧点云数据后,计算当前帧点云数据对应的目标位置描述符Scan Context,并基于Scan Context计算当前帧点云数据对应的目标特征向量Ring key,使用KNN搜索算法计算当前帧点云数据对应的Ring key与历史地图中每一帧点云数据对应的历史特征向量之间的相似度,将相似度从高到低排序,将排序前N帧的点云数据确定为目标帧序列,然后依次将目标帧序列中的每一目标帧与当前帧点云数据进行NDT配准,若匹配评分小于预设的评分阈值,则确定匹配成功,全局初始化成功,对当前帧点云数据与历史地图再次进行NDT粗配准,得到NDT粗配准结果后,继续执行增量式NDT精配准,将增量式NDT精配准维护的局部动态地图与NDT粗配准结果进行增量式NDT精配准,得到当前车辆的目标定位信息;若将目标帧序列中的每一目标帧与当前帧点云数据进行NDT粗配准,匹配均未成功,则依次对目标帧序列中的每一目标帧执行蜂窝搜索,得到每一目标帧对应的搜索帧集合,将搜索帧集合中的搜索帧与当前帧点云数据进行NDT粗配准,若匹配成功,则全局初始化成功,若每一目标帧对应的搜索帧集合中每一搜索帧与当前帧点云数据均未匹配成功,则重新采集当前车辆的当前帧点云数据或采集原帧点云数据对应的下一帧点云数据,重新进行定位。
本实施例的技术方案,通过获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,其中,所述当前车辆在历史地图所属区域中行驶;根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,其中,所述目标帧序列包括至少一个目标帧,所述目标帧包括:帧点云数据和帧点云数据对应的位姿;若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息;对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息,解决了当前车辆实时定位时制造成本高、定位耗时长以及定位精度较低的问题,能够降低车辆定位的制造成本,同时还能够在车辆行驶区域的环境发生变化时,对车辆快速定位,提高车辆定位的精确度。
实施例二
图4是本发明实施例二中的一种定位装置的结构示意图。本实施例可适用于对车辆进行定位,尤其是无人驾驶物流车定位的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供定位的功能的设备中,如图4所示,所述定位装置具体包括:特征向量获取模块210、目标帧序列确定模块220、粗配准得到模块230和目标定位得到模块240。
其中,特征向量获取模块210,用于获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,其中,所述当前车辆在历史地图所属区域中行驶;
目标帧序列确定模块220,用于根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,其中,所述目标帧序列包括至少一个目标帧,所述目标帧包括:帧点云数据和帧点云数据对应的位姿;
粗配准得到模块230,用于若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息;
目标定位得到模块240,用于对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
可选的,所述特征向量获取模块具体用于:
采集当前车辆行驶过程中的当前帧点云数据;
根据所述当前帧点云数据确定所述当前帧点云数据对应的目标位置描述符;
根据所述目标位置描述符确定所述当前帧点云数据对应的目标特征向量。
可选的,所述目标帧序列确定模块具体用于:
通过预设搜索算法得到所述目标特征向量与每一帧点云数据对应的历史特征向量之间的相似度;
根据所述相似度按照从高到低的顺序,对每一帧点云数据进行排序,并将排序前N帧点云数据确定为目标帧序列,其中,N为正整数。
可选的,所述粗配准得到模块具体用于:
将目标帧序列中的每个目标帧依次执行匹配操作,直至目标帧对应的第一匹配评分小于预设的评分阈值,确定当前帧点云数据与第一匹配评分对应的目标帧匹配,其中,所述匹配操作包括:将目标帧与当前帧点云数据进行NDT粗配准,得到目标帧对应的第一匹配评分;
对当前帧点云数据和历史地图进行NDT粗配准。
可选的,所述粗配准得到模块还用于:
若当前帧点云数据与目标帧序列中的目标帧均不匹配,则对目标帧序列中的每个目标帧依次执行目标操作,直至目标搜索帧集合中的搜索帧与当前帧点云数据匹配,其中,所述目标操作包括:将目标帧对应的位姿作为目标中心,基于所述目标中心执行蜂窝扩展,得到所述目标中心对应的目标搜索帧集合,依次将目标搜索帧集合中的每个搜索帧与当前帧点云数据进行NDT粗配准;
若目标帧对应的目标搜索帧集合中的搜索帧与当前帧点云数据均不匹配,则获取当前车辆行驶过程中的当前帧点云数据对应的下一帧点云数据对应的目标特征向量,重新确定当前车辆的目标定位信息。
可选的,所述目标定位得到模块具体用于:
通过增量式NDT生成当前车辆对应的局部动态地图;
根据所述局部动态地图和第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例三
图5是本发明实施例三中的一种电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备30包括至少一个处理器31,以及与至少一个处理器31通信连接的存储器,如只读存储器(ROM)32、随机访问存储器(RAM)33等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器31可以根据存储在只读存储器(ROM)32中的计算机程序或者从存储单元38加载到随机访问存储器(RAM)33中的计算机程序,来执行各种适当的动作和处理。在RAM33中,还可存储电子设备30操作所需的各种程序和数据。处理器31、ROM32以及RAM33通过总线34彼此相连。输入/输出(I/O)接口35也连接至总线34。
电子设备30中的多个部件连接至I/O接口35,包括:输入单元36,例如键盘、鼠标等;输出单元37,例如各种类型的显示器、扬声器等;存储单元38,例如磁盘、光盘等;以及通信单元39,例如网卡、调制解调器、无线通信收发机等。通信单元39允许电子设备30通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器31可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器31的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器31执行上文所描述的各个方法和处理,例如定位方法。
在一些实施例中,定位方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元38。在一些实施例中,计算机程序的部分或者全部可以经由ROM32和/或通信单元39而被载入和/或安装到电子设备30上。当计算机程序加载到RAM33并由处理器31执行时,可以执行上文描述的定位方法的一个或多个步骤。备选地,在其他实施例中,处理器31可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行定位方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种定位方法,其特征在于,包括:
获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,其中,所述当前车辆在历史地图所属区域中行驶;
根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,其中,所述目标帧序列包括至少一个目标帧,所述目标帧包括:帧点云数据和帧点云数据对应的位姿;
若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息;
对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
2.根据权利要求1所述的方法,其特征在于,获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量,包括:
采集当前车辆行驶过程中的当前帧点云数据;
根据所述当前帧点云数据确定所述当前帧点云数据对应的目标位置描述符;
根据所述目标位置描述符确定所述当前帧点云数据对应的目标特征向量。
3.根据权利要求1所述的方法,其特征在于,根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,包括:
通过预设搜索算法得到所述目标特征向量与每一帧点云数据对应的历史特征向量之间的相似度;
根据所述相似度按照从高到低的顺序,对每一帧点云数据进行排序,并将排序前N帧点云数据确定为目标帧序列,其中,N为正整数。
4.根据权利要求3所述的方法,其特征在于,若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,包括:
将目标帧序列中的每个目标帧依次执行匹配操作,直至目标帧对应的第一匹配评分小于预设的评分阈值,确定当前帧点云数据与第一匹配评分对应的目标帧匹配,其中,所述匹配操作包括:将目标帧与当前帧点云数据进行NDT粗配准,得到目标帧对应的第一匹配评分;
对当前帧点云数据和历史地图进行NDT粗配准。
5.根据权利要求4所述的方法,其特征在于,在若当前帧点云数据与目标帧序列中的至少一个目标帧匹配之前,还包括:
若当前帧点云数据与目标帧序列中的目标帧均不匹配,则对目标帧序列中的每个目标帧依次执行目标操作,直至目标搜索帧集合中的搜索帧与当前帧点云数据匹配,其中,所述目标操作包括:将目标帧对应的位姿作为目标中心,基于所述目标中心执行蜂窝扩展,得到所述目标中心对应的目标搜索帧集合,依次将目标搜索帧集合中的每个搜索帧与当前帧点云数据进行NDT粗配准;
若目标帧对应的目标搜索帧集合中的搜索帧与当前帧点云数据均不匹配,则获取当前车辆行驶过程中的当前帧点云数据对应的下一帧点云数据对应的目标特征向量,重新确定当前车辆的目标定位信息。
6.根据权利要求1所述的方法,其特征在于,对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息,包括:
通过增量式NDT生成当前车辆对应的局部动态地图;
根据所述局部动态地图和第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
7.根据权利要求1所述的方法,其特征在于,所述当前帧点云数据对应的目标特征向量为当前帧点云数据对应的环键向量。
8.一种定位装置,其特征在于,包括:
特征向量获取模块,用于获取当前车辆行驶过程中的当前帧点云数据对应的目标特征向量和历史地图中每一帧点云数据对应的历史特征向量,其中,所述当前车辆在历史地图所属区域中行驶;
目标帧序列确定模块,用于根据所述目标特征向量和所述每一帧点云数据对应的历史特征向量确定目标帧序列,其中,所述目标帧序列包括至少一个目标帧,所述目标帧包括:帧点云数据和帧点云数据对应的位姿;
粗配准得到模块,用于若当前帧点云数据与目标帧序列中的至少一个目标帧匹配,则对当前帧点云数据和历史地图进行NDT粗配准,得到当前车辆的第一配准定位信息;
目标定位得到模块,用于对所述当前车辆的第一配准定位信息进行增量式NDT配准,得到当前车辆的目标定位信息。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的定位方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311608956.5A CN117629182A (zh) | 2023-11-28 | 2023-11-28 | 一种定位方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311608956.5A CN117629182A (zh) | 2023-11-28 | 2023-11-28 | 一种定位方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117629182A true CN117629182A (zh) | 2024-03-01 |
Family
ID=90015802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311608956.5A Pending CN117629182A (zh) | 2023-11-28 | 2023-11-28 | 一种定位方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117629182A (zh) |
-
2023
- 2023-11-28 CN CN202311608956.5A patent/CN117629182A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113706592A (zh) | 一种定位信息的修正方法、装置、电子设备和存储介质 | |
CN115457152A (zh) | 外参标定方法、装置、电子设备及存储介质 | |
CN111707279A (zh) | 一种激光点云与地图的匹配评价方法、介质、终端和装置 | |
CN114528941A (zh) | 传感器数据融合方法、装置、电子设备及存储介质 | |
CN114299242A (zh) | 高精地图中图像处理方法、装置、设备以及存储介质 | |
CN115437385B (zh) | 移动机器人的激光定位方法、装置、设备和介质 | |
CN115436936A (zh) | 用于目标检测的雷达图确定方法、装置、设备及介质 | |
CN117629182A (zh) | 一种定位方法、装置、设备及存储介质 | |
CN116047558A (zh) | 定位方法及装置 | |
CN114919661A (zh) | 一种泊车控制方法、装置、设备和存储介质 | |
CN115147561A (zh) | 位姿图生成方法、高精地图生成方法和装置 | |
CN114842305A (zh) | 深度预测模型训练方法、深度预测方法及相关装置 | |
CN116295466A (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN117739993B (zh) | 一种机器人定位方法、装置、机器人及存储介质 | |
CN114694138B (zh) | 一种应用于智能驾驶的路面检测方法、装置及设备 | |
CN117392631B (zh) | 一种道路边界提取方法、装置、电子设备及存储介质 | |
CN114049615B (zh) | 行驶环境中交通对象融合关联方法、装置及边缘计算设备 | |
CN117589188B (zh) | 行车路径规划方法、装置、电子设备和存储介质 | |
CN116559927B (zh) | 激光雷达的航向角确定方法、装置、设备及介质 | |
CN115792932A (zh) | 一种巡检机器人的定位方法、装置、设备、及介质 | |
CN115984176A (zh) | 高精地图环境变更检测方法、装置、设备及自动驾驶车辆 | |
CN117629186A (zh) | 地图构建方法、模型训练方法、装置、设备及存储介质 | |
CN117419736A (zh) | 一种目标区域的确定方法、装置、电子设备及存储介质 | |
CN116642503A (zh) | 一种似然地图更新方法、装置、设备及存储介质 | |
CN114688992A (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 |