无人车初始位姿的获取方法、装置、电子设备及存储介质与流程

文档序号:32043360发布日期:2022-11-03 06:05阅读:114来源:国知局
无人车初始位姿的获取方法、装置、电子设备及存储介质与流程

1.本技术涉及无人驾驶技术领域,尤其涉及一种无人车初始位姿的获取方法、装置、电子设备及存储介质。


背景技术:

2.无人驾驶车辆是一种集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,无人驾驶车辆,也称自动驾驶车辆、无人车。在自动驾驶及移动机器人领域,对车辆或机器人的精确定位是系统能够正常工作的基本条件之一,而基于点云地图的激光雷达定位是主要的定位方法之一。
3.现有技术中,在利用激光雷达对无人车定位时需要外界提供一个较好的载体位姿的初值,即需要获取精度较高的无人车的初始位姿,以便于能够实现与地图的第一次匹配。目前无人车初始位姿的获取主要包括以下两种方式:第一种方式是利用gnss-rtk提供的高精度位姿作为初值,第二种方式是利用scan-context提供初始位姿;然而,第一种方式需要依靠gnss基站以及基站与载体之间的通信,同时还需要高质量的卫星信号,否则gnss接收机无法进入rtk状态,导致激光雷达定位模块无法成功初始化;第二种方式在地图规模较大时会明显占用存储资源,并且当地图中有很多相似的环境特征时,该方法会搜到错误的匹配帧,从而获取错误的初始位姿,进而导致车辆定位初始化失败。
4.由此可见,目前已知的无人车初始位姿的获取方法,存在对网络通信和卫星信号的依赖,占用大量的存储资源,并且容易获取到错误的初始位姿,导致车辆定位初始化失败的问题。


技术实现要素:

5.有鉴于此,本技术实施例提供了一种无人车初始位姿的获取方法、装置、电子设备及存储介质,以解决现有技术存在的对网络通信和卫星信号的依赖,占用大量的存储资源,并且容易获取到错误的初始位姿,导致车辆定位初始化失败的问题。
6.本技术实施例的第一方面,提供了一种无人车初始位姿的获取方法,包括:获取无人车在初始位置对应的单点定位结果,以单点定位结果为中心在预先建立的点云地图中按照固定步长进行采样,得到多个初始位姿;获取无人车在初始位置利用激光雷达扫描的点云,根据每一个初始位姿,将初始位置下扫描的点云与点云地图进行初始化匹配,得到每一个初始位姿对应的初始化匹配后的位姿以及匹配评分;将分值最高的匹配评分对应的初始化匹配后的位姿作为新的初始位姿,根据新的初始位姿,将初始位置下扫描的点云与点云地图进行迭代匹配,直至新的初始位姿与匹配后的位姿之间的变化值小于阈值时,将变化值小于阈值时对应的迭代匹配后的位姿作为无人车的初始位姿。
7.本技术实施例的第二方面,提供了一种无人车初始位姿的获取装置,包括:位姿采样模块,被配置为获取无人车在初始位置对应的单点定位结果,以单点定位结果为中心在预先建立的点云地图中按照固定步长进行采样,得到多个初始位姿;初始化匹配模块,被配
置为获取无人车在初始位置利用激光雷达扫描的点云,根据每一个初始位姿,将初始位置下扫描的点云与点云地图进行初始化匹配,得到每一个初始位姿对应的初始化匹配后的位姿以及匹配评分;迭代匹配模块,被配置为将分值最高的匹配评分对应的初始化匹配后的位姿作为新的初始位姿,根据新的初始位姿,将初始位置下扫描的点云与点云地图进行迭代匹配,直至新的初始位姿与匹配后的位姿之间的变化值小于阈值时,将变化值小于阈值时对应的迭代匹配后的位姿作为无人车的初始位姿。
8.本技术实施例的第三方面,提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法的步骤。
9.本技术实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
10.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:通过获取无人车在初始位置对应的单点定位结果,以单点定位结果为中心在预先建立的点云地图中按照固定步长进行采样,得到多个初始位姿;获取无人车在初始位置利用激光雷达扫描的点云,根据每一个初始位姿,将初始位置下扫描的点云与点云地图进行初始化匹配,得到每一个初始位姿对应的初始化匹配后的位姿以及匹配评分;将分值最高的匹配评分对应的初始化匹配后的位姿作为新的初始位姿,根据新的初始位姿,将初始位置下扫描的点云与点云地图进行迭代匹配,直至新的初始位姿与匹配后的位姿之间的变化值小于阈值时,将变化值小于阈值时对应的迭代匹配后的位姿作为无人车的初始位姿。本技术能够准确、快速地获取无人车的初始位姿,降低对网络通信和卫星信号的依赖,获取较高精度的无人车初始位姿,避免使用初始位姿进行车辆定位初始化失败的问题。
附图说明
11.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
12.图1是本技术实施例提供的无人车初始位姿的获取方法的流程示意图;图2是本技术实施例提供的无人车初始位姿获取算法的实现效果示意图;图3是本技术实施例提供的无人车初始位姿的获取装置的结构示意图;图4是本技术实施例提供的电子设备的结构示意图。
具体实施方式
13.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
14.如背景技术所公开的内容,无人驾驶车辆,也称自动驾驶车辆、无人车或轮式移动机器人,是融合环境感知、路径规划、状态识别和车辆控制等多元一体的集成化、智能化的新时代技术产物。在自动驾驶及移动机器人领域,对车辆或机器人的精确定位是系统能够
正常工作的基本条件之一,而基于点云地图的激光雷达定位是主要的定位方法之一。激光雷达定位方法是通过将车辆实时扫描得到的激光点云与预先建立的点云地图进行匹配得到当前载体(车辆)的位姿。当使用激光雷达定位方法对车辆位姿进行初始化(即第一次定位解算)的时候,需要外界提供一个较好的载体位姿的初值(车辆的初始位姿),以便于能够实现与地图的第一次匹配。
15.目前无人车初始位姿的获取主要包括以下两种方式:第一种方式是利用gnss-rtk提供的高精度位姿作为初值,第二种方式是利用scan-context提供初始位姿;下面结合具体实施例,对这两种获取无人车初始位姿的方法进行详细说明,具体可以包括以下内容:第一种方式中,需要依靠gnss基站以及基站与车辆之间的通信,同时还需要高质量的卫星信号,否则gnss接收机无法进入rtk状态,这将导致在很多情况下,激光雷达定位模块无法成功初始化。
16.第二种方式中,通过对当前扫描获得的激光点云的某些特征进行编码,然后去建图时所使用的扫描帧中去搜索编码值相近扫描帧,将搜索到的建图帧的位姿作为初值进行初始化;该方法要求在车端要同时保存有建图时所使用的扫描帧的编码数据,在地图规模较大时会明显占用存储资源;另外,当地图规模很大或者地图中有很多相似的环境特征时,该方法会搜到错误的匹配帧,获取错误的初始位姿,进而导致车辆定位初始化失败。
17.本技术实施例是在上述第一种方式的基础上所做的改进,在使用激光雷达进行无人车定位的初始化时,车辆无需依赖gnss-rtk的状态(1~2厘米定位误差),即使gnss定位处于单点状态下(5~10米误差),仍旧能够成功初始化ndt定位,从而减少ndt定位初始化对卫星信号接收环境以及网络通信的依赖。
18.需要说明的是,本技术实施例是采用ndt定位技术对无人车定位进行初始化操作,但是应当理解的是,本技术的核心发明点不在于ndt定位技术本身,本技术实施例是以ndt定位方法为例,对无人车初始位姿的获取方式进行展开描述的,但是本技术不限于采用ndt定位方法,只要能够实现将实时扫描得到的激光点云与预先建立的点云地图进行匹配得到当前车辆位姿的定位技术均适用于本技术。
19.有鉴于此,本技术实施例提供一种无人车初始位姿的获取方法,以无人车在初始位置时的单点定位结果为中心,以固定步长在点云地图中进行采样,得到若干个初始位姿;依次通过每一个初始位姿,将无人车在初始位置利用激光雷达扫描的点云与点云地图进行初始化匹配,得到初始化匹配结果;从初始化匹配结果中选择匹配评分最高的结果,再使用匹配评分最高的结果对应的初始化匹配后的位姿作为新的初始位姿,做进一步迭代匹配,直至迭代匹配前后无人车的位姿之间的变化值小于阈值时,将变化值小于阈值时对应的迭代匹配后的位姿作为对无人车进行定位初始化时的初始位姿。本技术技术方案能够降低对网络通信和卫星信号的依赖,从而获取较高精度的无人车初始位姿,可以避免使用初始位姿进行车辆定位初始化失败的问题。
20.下面结合具体实施例对本技术技术方案进行详细说明。图1是本技术实施例提供的无人车初始位姿的获取方法的流程示意图。图1的无人车初始位姿的获取方法可以由自动驾驶系统中的电子设备或者服务器执行。如图1所示,该无人车初始位姿的获取方法具体可以包括:s101,获取无人车在初始位置对应的单点定位结果,以单点定位结果为中心在预
先建立的点云地图中按照固定步长进行采样,得到多个初始位姿;s102,获取无人车在初始位置利用激光雷达扫描的点云,根据每一个初始位姿,将初始位置下扫描的点云与点云地图进行初始化匹配,得到每一个初始位姿对应的初始化匹配后的位姿以及匹配评分;s103,将分值最高的匹配评分对应的初始化匹配后的位姿作为新的初始位姿,根据新的初始位姿,将初始位置下扫描的点云与点云地图进行迭代匹配,直至新的初始位姿与匹配后的位姿之间的变化值小于阈值时,将变化值小于阈值时对应的迭代匹配后的位姿作为无人车的初始位姿。
21.具体地,无人车的初始位置可以认为是无人车在上电时的起始位置。本技术实施例是利用ndt定位方法进行位姿初始化获取无人车的初始位姿时所提出的技术方案,正态分布变换(normal distribution transformation , ndt)是一种利用已有的高精度点云地图和激光雷达实时测量数据实现高精度定位的技术。
22.进一步地,点云也可称为点云数据,点云数据(point cloud data)可以认为是在一个三维坐标系统中的一组向量,在自动驾驶技术中,利用安装在无人车上的激光雷达对道路环境进行实时扫描,采集道路环境对应的点云数据。点云数据以点的形式记录,每一个点包含有三维坐标,也可能含有颜色信息或反射强度信息。本技术实施例的点云是指无人车上电后,利用安装在无人车上的激光雷达扫描得到的点云数据。
23.在一些实施例中,获取无人车在初始位置对应的单点定位结果,以单点定位结果为中心在预先建立的点云地图中按照固定步长进行采样,得到多个初始位姿,包括:在无人车上电后,利用卫星导航技术获取无人车的初始位置在世界坐标系下的坐标,以无人车的初始位置在世界坐标系下的坐标为中心,按照预设的固定步长进行均匀采样,得到多个初始位姿,利用多个初始位姿组成初始位姿集合。
24.具体地,本技术实施例的单点定位结果是利用卫星导航技术所获取的无人车的初始位置在世界坐标系下的坐标,在实际应用中,卫星导航技术可以采用gnss单点定位技术,gnss单点定位是指利用全球若干地面跟踪站的gnss观测数据计算出的精密卫星轨道和卫星钟差,对单台gnss接收机所采集的相位和伪距观测值进行定位解算,利用这种预报的gnss卫星的精密星历或事后的精密星历作为已知坐标起算数据;换言之,gnss单点定位是利用卫星星历和一台接收机确定待定点在地固坐标系中绝对位置的方法,其优点是一台接收机单独定位,观测组织和实施方便,数据处理简单。
25.进一步地,利用卫星导航技术获取无人车在世界坐标系下的位置时,由于gnss单点定位只能获取一个精度较低的初始位置,因此为了提升获取到的无人车的初始位置(即单点定位结果)的精度,可以进一步采用gnss-rtk来获取较高精度的初始位置。在实际应用中,rtk是一种利用gps载波相位观测进行实时动态相对定位的技术,gnss
‑ꢀ
rtk是一种能够在野外实时得到厘米级定位精度的测量方法,它采用了载波相位动态实时差分方法。
26.进一步地,虽然利用gnss-rtk可以获取相比gnss精度更高的初始位置在世界坐标系下的坐标,但是采用gnss-rtk获取到的无人车的单点定位结果的精度仍然较低,误差较大,无法满足初始化时的初始位姿的精度要求,因此,本技术实施例为了获得高精度的初始位姿来完成初始化的第一次匹配,需要基于单点定位结果做进一步采样和初始化匹配,以获取一个精度更高的初始位姿。
27.在一些实施例中,按照预设的固定步长进行均匀采样,得到多个初始位姿,包括:沿中心在世界坐标系下对应的三个方向,在点云地图中按照固定步长搜索采样点,得到多个采样点,每一个采样点对应一个初始位姿;其中,点云地图包括ndt地图,固定步长小于ndt地图中栅格的分辨率,均匀采样后的初始位姿能够覆盖单点定位结果的误差范围。
28.具体地,在以gnss单点状态下的定位结果为中心进行采样时,按照固定步长在点云地图中进行位置的偏移和搜索,在点云地图中进行偏移时,在(x,y,z,yaw,ptich,roll)六个维度上进行均匀采样,从而生成一组备选的初始化位姿(即初始位姿集合)其中,(x,y,z)表示无人车的初始位置在点云地图中的坐标,yaw表示平衡状态,ptich表示俯仰状态,roll表示横滚状态。
29.在实际应用中,为了节省算力,在点云地图中进行均匀采样时,可以只选择(x,y,z,yaw,ptich,roll)六个维度中初始精度较差的几个维度进行采样,比如沿(x,y,z)对应三个轴的方向进行采样,得到若干个采样点,每个采样点对应一个初始位姿。例如以自动驾驶车辆为例,在初始化时,可以假设车辆保持水平,即roll与pitch对应的角度均为0,在安装了双天线gnss接收机的情况下,可以获得满足精度要求的yaw角,因此在初始化时,本技术实施例可以只在(x,y,z)三个维度上进行均匀采样,以生成一组备选位姿(即初始位姿)。
30.进一步地,本技术实施例的ndt地图可以认为是预先建立的点云地图,与一般的点云地图不同的是,在ndt地图中将原始的点云地图划分成若干个栅格。在实际应用中,固定步长小于ndt地图中栅格的分辨率,而且通过固定步长采样得到的采样点应当覆盖单点定位结果的误差范围,比如单点定位结果的误差范围为5米,那么在使用固定步长采样获取初始化位姿时,初始化位姿应该覆盖5米的误差范围。
31.在一些实施例中,根据每一个初始位姿,将初始位置下扫描的点云与点云地图进行初始化匹配,得到每一个初始位姿对应的初始化匹配后的位姿以及匹配评分,包括:根据无人车对应的每一个初始位姿,将无人车在初始位置下扫描的点云通过每一个初始位姿分别转化到点云地图对应的坐标系下,并利用点云匹配算法分别将转化后的初始位置下扫描的点云与点云地图中的点云进行初始化匹配,得到无人车在每一个初始位姿下对应的匹配结果;其中,匹配结果中包含初始位姿对应的初始化匹配后的位姿以及匹配结果对应的匹配评分。
32.具体地,在以无人车的单点定位结果为中心均匀采样得到一组初始位姿后,对于每一个初始位姿,都需要进行ndt的初始化匹配,在进行ndt的初始化匹配,首先根据每一个初始位姿,分别将无人车在初始位置下扫描的点云转化到点云地图对应的坐标系下,也就是说,点云的初始化匹配是在点云地图中进行的,因此,需要通过无人车在每一个初始位姿下的位置和姿态,将无人车在初始位置下扫描的点云放到点云地图对应的坐标系下,即将无人车在初始位置下扫描的点云转化到点云地图对应的世界坐标系下。
33.进一步地,在利用每一个初始位姿,将无人车在初始位置下扫描的点云转化到点云地图对应的世界坐标系之后,利用点云匹配算法分别将转化后的初始位置下扫描的点云与点云地图中的点云进行初始化匹配;利用点云匹配算法进行初始化匹配的过程可以认为是对初始位置下扫描的点云进行收敛的过程,通过收敛使初始位置下扫描的点云中的物体接近点实际云地图中的物体的位置。但是由于初始位姿对应的精度不够高,因此初始位置下扫描的点云中的物体与实际点云地图中的物体的位置之间存在误差,所以在利用初始位
姿进行初始化匹配之后,选择一个匹配分数最高的结果作为初值做进一步的迭代匹配。
34.需要说明的是,由于均匀采样后得到的每一个初始位姿对应的位置和姿态可能都不相同,因此在通过初始位姿,将初始位置下扫描的点云转化到点云地图对应的世界坐标系时,初始位置下扫描的点云在点云地图中的位置也不相同。在实际应用中,为了防止初始化匹配不收敛而进入死循环,本技术实施例对初始化匹配过程设置了最大迭代次数,若考虑提高效率,不同初始位姿下的初始化匹配操作也可以通过多线程并行执行。
35.在一些实施例中,根据新的初始位姿,将初始位置下扫描的点云与点云地图进行迭代匹配,包括:将无人车在初始位置下扫描的点云通过新的初始位姿转化到点云地图对应的坐标系下,并利用点云匹配算法将转化后的初始位置下扫描的点云与点云地图中的点云进行迭代匹配,得到无人车在新的初始位姿下对应的匹配结果。
36.具体地,根据不同的初始位姿,将转化后的初始位置下扫描的点云与点云地图中的点云进行初始化匹配,得到无人车在每一个初始位姿下对应的匹配结果后,从所有的匹配结果中选择匹配评分最高的结果对应的初始化匹配后的位姿,并将该初始化匹配后的位姿作为新的初始位姿(即作为新的初值)进行进一步的迭代匹配。迭代匹配的过程与初始化匹配过程相似,首先基于新的初始位姿,将初始位置下扫描的点云转化到点云地图对应的坐标系下,并利用点云匹配算法在点云地图的坐标系下对转化后的初始位置下扫描的点云与点云地图中的点云进行迭代匹配。
37.进一步地,为保证最终迭代匹配结果的精度,本技术实施例将最大允许迭代次数设置为较大的值,直至迭代匹配结果的变化值小于预先设定的阈值后,将变化值小于阈值时的迭代匹配结果对应的迭代匹配后的位姿作为最终的迭代匹配结果输出,将输出的位姿供ndt初始化使用。
38.在一些实施例中,直至新的初始位姿与匹配后的位姿之间的变化值小于阈值时,将变化值小于阈值时对应的迭代匹配后的位姿作为无人车的初始位姿,包括:将迭代匹配前的新的初始位姿与迭代匹配后得到的位姿进行比较得到每次迭代匹配的变化值,当变化值大于阈值时,继续进行迭代匹配,直至变化值小于阈值时,停止进行迭代匹配,将变化值小于阈值时对应的迭代匹配后的位姿作为最终确定的无人车的初始位姿。
39.具体地,为了获取一个正确的、精度更高的无人车的初始位姿,在多轮次的迭代匹配过程中,将迭代匹配前后对应的位姿进行比较,确定每次迭代匹配前后位姿在点云地图中对应的变化量(即变化值),直至迭代匹配前后位姿的变化量小于阈值时,将小于阈值时对应的迭代匹配后的位姿作为本技术实时所最终确定的初始位姿。
40.在一些实施例中,在将变化值小于阈值时对应的迭代匹配后的位姿作为最终确定的无人车的初始位姿之后,该方法还包括:基于无人车的初始位姿,利用ndt定位方法,对无人车在行驶过程中的位姿进行定位解算,以获取无人车在行驶过程中对应的实时位姿,并对无人车的运动姿态进行跟踪。
41.具体地,在获取最终的无人车在初始位置的初始位姿之后,基于获得的初始位姿进行定位初始化操作,比如利用ndt定位方法进行第一次定位解算,以便实现将激光雷达测量的点云数据与ndt地图进行第一次匹配,并且第一次定位解算的结果还可用于后续的无人车行驶过程中的定位解算,从而当无人车行驶时,获取行驶过程中的实时位姿,以及跟踪无人车的运动姿态。
42.需要说明的是,基于本技术实施例获得的最终初始位姿,利用ndt定位方法进行定位解算仅仅是本技术在实际中的一个应用场景,本技术的目的在于如何获取正确的、精度更高的初始位姿,至于在获得该初始位姿之后需要执行什么操作,本领域技术人员可以根据实际需求进行选择,因此,基于得到的初始位姿,利用ndt定位方法进行定位解算不构成对本技术应用场景的限定。
43.下面结合具体实施例,从算法实现的层面对本技术实施例的无人车初始位姿的获取方法的实现过程及原理进行说明,具体可以包括以下内容:步骤1、设定采样步长:sample_step;该值不大于ndt地图中立方体栅格的边长;步骤2、设定采样范围:x_sample_size,y_sample_size,z_sample_size,该值可以根据每个维度上的误差范围来设置,保证搜索范围能够覆盖误差范围,一般gnss的高度误差较大,因此将z_sample_size的值设置的较大;步骤3、获取双天线gnss接收机的单点定位结果(x0、y0、z0、yaw0),由于yaw0满足初始化精度要求,因此只在(x,y,z)三个维度上进行均匀采样;步骤4、计算备选初始化值:for i =
ꢀ‑
x_sample_size:1:x_sample_size{for j =
ꢀ‑
y_sample_size:1:y_sample_size{
ꢀꢀꢀꢀ
for k =
ꢀ‑
z_sample_size:1:z_sample_size{
ꢀꢀꢀꢀꢀꢀꢀ
candidates[i,j,k].x = x0 + i*sample_step;candidates[i,j,k].y = y0 + j*sample_step;candidates[i,j,k].y = z0 + k*sample_step;candidates[i,j,k].yaw = yaw0; // yaw0满足初始化精度要求,在该维度上不做采样}
ꢀꢀꢀꢀ
}}步骤5、使用备选初始化值(即计算得到的所有初始位姿)中的每一个值(初始位姿)进行初始化匹配,得到一批匹配后的结果candidate_results;步骤6、从candidate_results中取出匹配分数最高的匹配结果(即选择匹配评分最高的初始化匹配后的位姿),记为p1(x1、y1、z1、yaw1);步骤7、匹配过程中,由于设置了最大匹配次数,所以p1有可能不是最终收敛的结果,需要进一步进行迭代匹配,得到充分收敛的结果。因此,进一步以p1为初值(即将初始化匹配后的位姿作为新的初始位姿)进行迭代匹配,直到迭代匹配的变化值小于阈值,则认为充分收敛了,此时得到的结果记为p2(x2、y2、z2、yaw2),对应的匹配分数score2;步骤8、如果score2的值小于阈值或者步骤7中的迭代次数大于阈值,则返回步骤3,否则执行下一步;步骤9、输出p2,供ndt初始化使用。
[0044]
下面以一个更为具体的应用场景对上述算法在实际应用中的原理及效果进行展示。图2是本技术实施例提供的无人车初始位姿获取算法的实现效果示意图。如图2所示,该无人车初始位姿获取算法主要包括以下内容:首先对图2中每个元素对应的含义进行解释说明,inspva_pose 16表示gnss单点定位结果;candidates表示根据inspva_pose 16进行等间隔采样得到的一批备选初始化值;best candidate result表示使用每一个备选初始化值做匹配计算后,从结果中选出的匹配分数最高的匹配结果p1;best candidate表示p1对应的备选初始化值;final init pose表示使用p1进行进一步迭代匹配后得到的p2;inspva_pose 50表示gnss的rtk定位结果,可以视为定位的真值。
[0045]
由图2可以看出,通过采样生成的一批备选初始化值(均匀采样后的初始化位姿)充分覆盖了gnss单点定位的误差范围。通过对备选初始化值进行逐一初始化匹配计算后,从初始化匹配计算结果中选取匹配分数最高的匹配结果best candidate result已经比较接近真值isnpva_pose_50,使用该匹配分数最高的匹配结果best candidate result做进一步迭代匹配后得到的final init pose更加接近真值isnpva_pose_50,最终使用final init pose作为最终确定的初始化值,使用最终确定的初始化值进行ndt初始化操作。
[0046]
根据本技术实施例提供的技术方案,本技术实施例提供的一种无人车初始位姿的获取方法,可以在只获取gnss单点定位结果以及利用激光雷达在无人车初始位置扫描的点云的情况下,经过一系列的采样和匹配操作,得到正确的、精度更高的无人车初始位姿;本技术获取无人车初始位姿的方式,能够极大降低对网络通信和卫星信号的依赖,可以获取较高精度的无人车初始位姿,因此可以避免使用初始位姿进行车辆定位初始化失败的问题。基于本技术实施例获取的初始位姿,能够成功完成ndt定位的初始化,从而使得ndt定位功能的初始化有更强的环境适应性。
[0047]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0048]
图3是本技术实施例提供的无人车初始位姿的获取装置的结构示意图。如图3所示,该无人车初始位姿的获取装置包括:位姿采样模块301,被配置为获取无人车在初始位置对应的单点定位结果,以单点定位结果为中心在预先建立的点云地图中按照固定步长进行采样,得到多个初始位姿;初始化匹配模块302,被配置为获取无人车在初始位置利用激光雷达扫描的点云,根据每一个初始位姿,将初始位置下扫描的点云与点云地图进行初始化匹配,得到每一个初始位姿对应的初始化匹配后的位姿以及匹配评分;迭代匹配模块303,被配置为将分值最高的匹配评分对应的初始化匹配后的位姿作为新的初始位姿,根据新的初始位姿,将初始位置下扫描的点云与点云地图进行迭代匹配,直至新的初始位姿与匹配后的位姿之间的变化值小于阈值时,将变化值小于阈值时对应的迭代匹配后的位姿作为无人车的初始位姿。
[0049]
在一些实施例中,图3的位姿采样模块301在无人车上电后,利用卫星导航技术获取无人车的初始位置在世界坐标系下的坐标,以无人车的初始位置在世界坐标系下的坐标为中心,按照预设的固定步长进行均匀采样,得到多个初始位姿,利用多个初始位姿组成初始位姿集合。
[0050]
在一些实施例中,图3的位姿采样模块301沿中心在世界坐标系下对应的三个方向,在点云地图中按照固定步长搜索采样点,得到多个采样点,每一个采样点对应一个初始位姿;其中,点云地图包括ndt地图,固定步长小于ndt地图中栅格的分辨率,均匀采样后的初始位姿能够覆盖单点定位结果的误差范围。
[0051]
在一些实施例中,图3的初始化匹配模块302根据无人车对应的每一个初始位姿,将无人车在初始位置下扫描的点云通过每一个初始位姿分别转化到点云地图对应的坐标系下,并利用点云匹配算法分别将转化后的初始位置下扫描的点云与点云地图中的点云进行初始化匹配,得到无人车在每一个初始位姿下对应的匹配结果;其中,匹配结果中包含初始位姿对应的初始化匹配后的位姿以及匹配结果对应的匹配评分。
[0052]
在一些实施例中,图3的迭代匹配模块303将无人车在初始位置下扫描的点云通过新的初始位姿转化到点云地图对应的坐标系下,并利用点云匹配算法将转化后的初始位置下扫描的点云与点云地图中的点云进行迭代匹配,得到无人车在新的初始位姿下对应的匹配结果。
[0053]
在一些实施例中,图3的迭代匹配模块303将迭代匹配前的新的初始位姿与迭代匹配后得到的位姿进行比较得到每次迭代匹配的变化值,当变化值大于阈值时,继续进行迭代匹配,直至变化值小于阈值时,停止进行迭代匹配,将变化值小于阈值时对应的迭代匹配后的位姿作为最终确定的无人车的初始位姿。
[0054]
在一些实施例中,图3的定位解算模块304在将变化值小于阈值时对应的迭代匹配后的位姿作为最终确定的无人车的初始位姿之后,基于无人车的初始位姿,利用ndt定位方法,对无人车在行驶过程中的位姿进行定位解算,以获取无人车在行驶过程中对应的实时位姿,并对无人车的运动姿态进行跟踪。
[0055]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0056]
图4是本技术实施例提供的电子设备4的结构示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可以在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
[0057]
示例性地,计算机程序403可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在电子设备4中的执行过程。
[0058]
电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
[0059]
处理器401可以是中央处理单元(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路
(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0060]
存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
[0061]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0062]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0063]
本领域普通技术人员可以意识到,结合本文中所申请的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0064]
在本技术所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0065]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0066]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0067]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现上述实施例方法
中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0068]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1