发明内容
本申请提供了一种激光雷达的位姿信息确定方法、装置、设备及存储介质,可以解决激光雷达初始定位的可靠性不佳的问题,所述技术方案如下:
第一方面,提供了一种激光雷达的位姿信息确定方法,所述方法包括:
获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息;
分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息;
基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息;
基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息;
响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息。
在一种可能的实现方式中,对所述初始三维位置信息进行数据增强处理,以获得至少一个三维位置信息,包括:
利用预设的采样算法,在三维方向上对所述初始三维位置信息进行三维数据增强处理;
基于所述三维数据增强处理的结果,得到所述至少一个三维位置信息。
在一种可能的实现方式中,对所述平面信息进行数据增强处理,以获得至少一个平面信息,包括:
利用预设的采样算法,在二维方向上对所述平面信息进行二维数据增强处理;
基于所述二维数据增强处理的结果,得到所述至少一个平面信息。
在一种可能的实现方式中,所述基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息,包括:
基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图中的地面点云的高程信息;
基于所述激光雷达的安装高度和所述地面点云的高程信息,获得所述点云地图坐标系下所述激光雷达的高程信息。
在一种可能的实现方式中,所述基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图中的地面点云的高程信息,包括:
确定每个所述三维位置信息对应的点云地图的网格;
获取每个所述网格的特征值;
响应于所述网格的特征值满足预设的第一判断条件,获得平面点云的网格;
获取所述平面点云对应的网格的特征向量;
响应于所述平面点云的网格的特征向量满足预设的第二判断条件,获得水平平面点云的网格;
响应于所述水平平面点云的网格满足预设的第三判断条件,获得地面点云的网格;
基于所述地面点云的网格,获得所述点云地图中的地面点云的高程信息。
在一种可能的实现方式中,所述匹配情况包括所述点云地图中有效扫描点云的数量,所述响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息之前,所述方法还包括:
获取所述激光雷达的当前的扫描点云;
基于每个所述候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以获得每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量;
分别判断每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量是否满足预设的匹配条件。
在一种可能的实现方式中,所述基于每个所述候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以获得每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量,包括:
基于每个所述候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以确定所述扫描点云位于的所述点云地图的网格;
响应于所述扫描点云位于的所述点云地图的网格具有所述点云地图的原始点云,确定所述扫描点云为有效扫描点云,以基于有效扫描点云,获得每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量。
第二方面,提供了一种激光雷达的位姿信息确定方法,所述方法包括:
获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息;
分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息;
基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息;
基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息;
判断所述初始航向角是否满足预设精度要求;
若满足所述预设精度要求,则响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息;
若不满足所述预设精度要求,则根据所述候选位姿信息,确定每个候选位姿信息对应的初始航向角;
对每个候选位姿信息中的初始航向角进行数据增强处理,以获得每个所述候选位姿信息对应的至少一个第一候选航向角;
基于所述点云地图、当前的扫描点云和每个所述候选位姿信息,从每个所述候选位姿信息对应的至少一个第一候选航向角中选取出第一目标航向角;
对每个所述候选位姿信息对应的所述第一目标航向角进行数据增强处理,以获得每个所述候选位姿信息对应的至少一个第二候选航向角;
基于所述点云地图、所述扫描点云和每个所述候选位姿信息,从每个所述候选位姿信息对应的至少一个第二候选航向角中选取出第二目标航向角,
基于所述第二目标航向角对应的候选位姿信息,获得所述激光雷达的目标位姿信息。
第三方面,提供了一种激光雷达的位姿信息确定装置,所述装置包括:
获取单元,用于获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息;
增强单元,用于分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息;
获得单元,用于基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息;
构建单元,用于基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息;
匹配单元,用于响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息。
第四方面,提供了一种激光雷达的位姿信息确定装置,所述装置包括:
信息获取单元,用于获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息;
第一增强单元,用于分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息;
第一获得单元,用于基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息;
位姿构建单元,用于基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息;
精度判断单元,用于判断所述初始航向角是否满足预设精度要求;
点云匹配单元,用于若满足所述预设精度要求,则响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息;
信息确定单元,用于若不满足所述预设精度要求,则根据所述候选位姿信息,确定每个候选位姿信息对应的初始航向角;
第二增强单元,用于对每个候选位姿信息中的初始航向角进行数据增强处理,以获得每个所述候选位姿信息对应的至少一个第一候选航向角;
第一选取单元,用于基于所述点云地图、当前的扫描点云和每个所述候选位姿信息,从每个所述候选位姿信息对应的至少一个第一候选航向角中选取出第一目标航向角;
第三增强单元,用于对每个所述候选位姿信息对应的所述第一目标航向角进行数据增强处理,以获得每个所述候选位姿信息对应的至少一个第二候选航向角;
第二选取单元,用于基于所述点云地图、所述扫描点云和每个所述候选位姿信息,从每个所述候选位姿信息对应的至少一个第二候选航向角中选取出第二目标航向角;
第二获得单元,用于基于所述第二目标航向角对应的候选位姿信息,获得所述激光雷达的目标位姿信息。
第五方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上如上所述的方面和任一可能的实现方式的方法。
第六方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方面和任一可能的实现方式的方法。
第七方面,提供了一种自动驾驶车辆,包括如上所述的电子设备。
本申请提供的技术方案的有益效果至少包括:
由上述技术方案可知,一方面,本申请实施例可以通过获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息,进而可以分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息,基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息,基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息,响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息,由于可以通过对卫星信号所提供的激光雷达的初始三维位置信息及其平面信息进行数据增强处理,构建得到多个候选位姿信息,并结合激光雷达扫描到的扫描点云和事先建立的点云地图,对多个候选位姿信息进行匹配优化,来获得更加准确的激光雷达的目标位姿信息,提升了激光雷达的位姿信息的可靠性,从而优化了对激光雷达的初始定位。
由上述技术方案可知,又一方面,本申请实施例可以通过对卫星信号所提供的激光雷达的初始三维位置信息及其平面信息进行数据增强处理,构建得到多个候选位姿信息,在此基础上进一步地判断初始航向角是否满足预设精度要求,若满足则可以结合激光雷达扫描到的扫描点云和事先建立的点云地图,对多个候选位姿信息进行匹配优化,来获得更加准确的激光雷达的目标位姿信息,若不满足,则需要对基于多个候选位姿信息的初始航向角进行相关处理,以获得较准确的航向角,并基于该处理后的航向角获得更加准确的目标位姿信息,提升了激光雷达的位姿信息的可靠性,从而优化了对激光雷达的初始定位。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(TabletComputer)等智能设备;显示设备可以包括但不限于个人电脑、电视等具有显示功能的设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
通常,激光雷达传感器启动时的初始位姿可以从GNSS获得。激光雷达传感器的初始位姿包括位置信息,即(x、y、z)坐标。但GNSS信号容易受到高楼、墙体等大型障碍物的阻碍和多路径效应误差。在复杂的城市环境中,GNSS信号处于单点状态时,可能出现给出的位置信息误差较大的情况,某些情况下位置误差可达到6或7米,激光雷达初始定位可靠性不佳,这样,会直接导致激光雷达定位初始化启动失败。
目前,针对上述问题,相关技术的方案,多是在激光雷达启动时,基于卫星信号提供给激光雷达的位置信息,在一定的三维空间范围内,直接查找出可能较为精确的位置信息。但是,相关技术的方案往往处理时间较长,而且查找到的位置信息准确性不佳,导致位姿信息也准确性不佳,从而对激光雷达初始定位的可靠性仍不足。
因此,亟需提供一种激光雷达的位姿信息确定方法,能够实现对激光雷达初始定位的优化,保证激光雷达初始定位的可靠性。
请参考图1,其示出了本申请一个实施例提供的激光雷达的位姿信息确定方法的流程示意图。该激光雷达的位姿信息确定方法,具体可以包括:
步骤101、获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息。
步骤102、分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息。
步骤103、基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息。
步骤104、基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息。
步骤105、响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息。
需要说明的是,激光雷达可以是装载于自动驾驶车辆、移动机器人的设备上。示例性的,激光雷达可以是安装在自动驾驶车辆车顶的32线3D机械激光雷达等。
需要说明的是,待处理激光雷达的初始位姿信息包括三维位置信息和姿态信息。三维位置信息可以包括(x, y, z)坐标信息。姿态信息可以包括航向角(yaw),俯仰角(pitch),滚转角(roll)。示例性的,位姿信息可以表示为(x, y, z, yaw, pitch, roll)。
可以理解的是,还可以从卫星信号系统获取到激光雷达的位置状态标志信息,该位置状态标志信息可以用于表征卫星信号系统所发送的位置信息的有效性。若该位置状态标志信息小于预设的状态阈值,或,该位置状态标志信息不满足预设精度要求,则可以启动对卫星信号系统所发送的激光雷达的三维位置信息进行优化处理,即实现对待处理激光雷达的初始位姿信息的优化处理。
需要说明的是,步骤101~105的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,例如,网络侧的自动驾驶平台中的处理引擎或者分布式系统等,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在本地终端上的本地程序(nativeApp),或者还可以是本地终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
这样,可以通过对卫星信号所提供的激光雷达的初始三维位置信息及其平面信息进行数据增强处理,构建得到多个候选位姿信息,并结合激光雷达扫描到的扫描点云和事先建立的点云地图,对多个候选位姿信息进行匹配优化,来获得更加准确的激光雷达的目标位姿信息,提升了激光雷达的位姿信息的可靠性,从而优化了对激光雷达的初始定位。
可选地,在本实施例的一个可能的实现方式中,在步骤102中,具体可以利用预设的采样算法,在三维方向上对所述初始三维位置信息进行三维数据增强处理,进而可以基于所述三维数据增强处理的结果,得到所述至少一个三维位置信息。
在本实现方式中,所述至少一个三维位置信息可以是三维位置信息集合,三维位置信息集合可以包括初始三维位置信息、以及对初始三维位置信息进行三维数据增强处理后新增的三维位置信息。
在该实现方式的一个具体实现过程中,可以利用预设的采样算法,根据预设的偏移量,在三维方向上,对初始三维位置信息进行均匀采样处理,即进行三维数据增强处理,生成至少一个三维位置信息。
具体地,初始三维位置信息为(,/>,/>),可以利用如下公式(1),分别在xyz维度上对初始三维位置信息进行均匀采样处理,生成至少一个三维位置信息。
其中,为采样得到的x值,/>为采样得到的y值,/>为采样得到的新的z值,/>为初始三维位置信息的x值,/>为初始三维位置信息的y值,为初始三维位置信息的z值,/>为预设的偏移量,/>为步长,/>为步长系数,/>为步长系数的采样的范围,/>和/>均为整数。
图2是本申请一个实施例提供的激光雷达的位姿信息确定方法中的数据增强处理后的三维位置信息的示意图。如图2所示,中间的原点可以表征从卫星信号系统获取的初始三维位置信息,其他点可以表征三维数据增强处理后新增的三维位置信息。
可以理解的是,这里也可以通过其他现有的数据增强的方式,对初始三维位置信息进行处理,得到三维位置信息集合。例如,可以基于初始三维位置信息,进行随机采样,得到三维位置信息集合,具体实现方式,在此不做具体限定。
这样,可以通过利用预设的采样算法,在三维方向上对初始三维位置信息进行三维数据增强处理,得到多个三维位置信息,可以实现对三维位置信息的均匀采样,保证了所获得的多个三维位置信息的有效性,以便于后续可以利用这些三维位置信息,获得更加准确的激光雷达的位姿信息。
可选地,在本实施例的一个可能的实现方式中,在步骤102中,具体可以利用预设的采样算法,在二维方向上对所述平面信息进行二维数据增强处理,进而可以基于所述二维数据增强处理的结果,得到所述至少一个平面信息。
在本实现方式中,该初始三维位置信息包括待处理的平面信息,该待处理的平面信息可以为(,/>)坐标信息。所述至少一个平面信息可以是平面信息集合,平面信息集合可以包括待处理的平面信息、以及对待处理的平面信息进行二维数据增强处理后新增的平面信息。
在该实现方式的一个具体实现过程中,可以利用预设的采样算法,根据预设的偏移量,在二维方向上,对平面信息进行均匀采样处理,即进行二维数据增强处理,生成至少一个平面信息。
具体地,待处理的平面信息为(,/>),可以利用如下公式(2),分别在xy维度上对平面信息的进行均匀采样处理,生成至少一个平面信息。
其中,为采样得到的x值,/>为采样得到的y值,/>为平面信息的x值,/>为平面信息的y值,/>为预设的偏移量,/>为步长,/>为步长系数,为步长系数的采样的范围,/>和/>均为整数。
示例性的,若为2,/>为3,选取的/>包括-3, -2, -1, 0, 1, 2, 3,则/>可以包括/>。将上述代入公式(2)可以计算得到七个平面信息(/>)。
图3是本申请一个实施例提供的激光雷达的位姿信息确定方法中的数据增强处理后的平面信息的示意图。如图3所示,中间的点可以表征从卫星信号系统获取的待处理的平面信息,例如,待处理的平面信息(x, y),其他点可以表征二维数据增强处理后新增的平面信息。
可以理解的是,这里也可以通过其他现有的数据增强的方式,对待处理的平面信息进行处理,得到平面信息集合。例如,可以基于待处理的平面信息,进行随机采样,得到平面信息集合。具体实现方式,在此不做具体限定。
这样,可以通过利用预设的采样算法,在三维方向上对平面信息进行二维数据增强处理,得到多个平面信息,可以实现对平面信息的均匀采样,保证了所获得的多个平面信息的有效性,以便于后续可以利用这些平面信息,获得更加准确的激光雷达的位置信息。
需要说明的是,本实现方式中所提供的具体实现过程,可以结合前述实现方式中所提供的多种具体实现过程,来实现本实施例的激光雷达的位姿信息确定方法。详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,在步骤103中,具体可以基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图中的地面点云的高程信息,进而可以基于所述激光雷达的安装高度和所述地面点云的高程信息,获得所述点云地图坐标系下所述激光雷达的高程信息。
在本实现方式中,指定区域的点云地图可以是预先构建的激光雷达所在区域的点云地图。指定区域可以是激光雷达所在区域。
在该实现方式的一个具体实现过程中,在基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图中的地面点云的高程信息的过程中,首先,具体可以确定每个所述三维位置信息对应的点云地图的网格。其次,获取每个所述网格的特征值。再次,响应于所述网格的特征值满足预设的第一判断条件,获得平面点云的网格。再次,获取所述平面点云对应的网格的特征向量。再次,响应于所述平面点云的网格的特征向量满足预设的第二判断条件,获得水平平面点云的网格。再次,响应于所述水平平面点云的网格满足预设的第三判断条件,获得地面点云的网格。最后,基于所述地面点云的网格,获得所述点云地图中的地面点云的高程信息。
在本具体实现过程中,点云地图可以是进行网格划分处理后的点云地图。
本具体实现过程的一种情况是,首先,可以预先对指定区域进行建图处理,得到点云地图。其次,可以按照预设的长宽高(L1× L2× L3)的尺寸在点云地图划分出多个网格。再次,可以利用预设的概率分布算法,计算得到每个网格的特征值、特征向量、以及三维坐标均值。
优选地,在一些实施例中,L1、L2和L3均为3米。
可以理解的是,可以基于该指定区域的点云地图,直接获取到每个网格的每个网格的特征值、特征向量、以及三维坐标均值。
在本具体实现过程中,预设的第一判断条件可以是用于判断网格是否为平面点云的网格的条件。预设的第一判断条件可以包括网格的特征值对应的平面点云的概率大于预设的概率阈值。这里,平面点云可以是指该网格中的点云表征平面。任意一个网格是平面点云的概率可以是指该网格中的点云表征平面点云的概率,即该网格表征平面的概率,该平面点云的概率可以通过对应的网格的特征值计算得到。
本具体实现过程的另一种情况是,可以基于每个三维位置信息对应的网格的特征值,计算得到该网格的平面点云的概率。
具体地,可以利用如下公式(3),基于每个三维位置信息对应的网格的特征值,计算得到该网格的平面点云的概率。
其中,为网格的平面点云的概率,/>均为网格的特征值。
示例性的,预设的概率阈值可以。若任意一个网格的/>大于/>,则可以该网格为平面点云的网格。这里,优选地,/>可以为0.8。
在本具体实现过程中,预设的第二判断条件可以是用于判断网格是否为水平平面点云的网格。预设的第二判断条件可以包括平面点云的网格的特征向量的分量关系值小于预设的阈值。
本具体实现过程的再一种情况是,可以获取平面点云的网格的特征值对应的特征向量,基于特征值对应的特征向量计算该特征向量的分量关系值,若分量关系值小于预设的阈值,则确定该平面点云的网格为水平平面点云的网格。
优选地,可以获取平面点云的网格的最小特征值对应的特征向量,基于最小特征值对应的特征向量计算该特征向量的分量关系值,若分量关系值小于预设的阈值,则确定该平面点云的网格为水平平面点云的网格。
示例性的,网格的特征值可以为,其中,/>可以按照从小到大排序。网格的特征值对应的特征向量可以为/>。若最小特征值/>对应的特征向量的分量为/>,预设的阈值为0.01,预设的第二判断条件可以表征为如下公式(4):
本具体实现过程的再一种情况是,获得水平平面点云的网格后,可以继续判断水平平面点云的网格是否满足预设的第三判断条件,响应于所述水平平面点云的网格满足预设的第三判断条件,获得地面点云的网格。
这里,预设的第三判断条件可以是用于判断网格是否为地面点云的网格。预设的第三判断条件可以包括水平平面点云的网格的数量达到预设的网格数量阈值,和/或,水平平面点云的网格中任一个高程信息类别的网格的数量是所有高程信息的类别网格的数量中的最大值。
具体地,一方面,若水平平面点云的网格的数量大于预设的网格数量阈值,则可以确定各个水平平面点云的网格为地面点云的网格。
示例性的,预设的网格数量阈值为2,若水平平面点云的网格的数量大于2,则可以确定各个水平平面点云的网格为地面点云的网格。
可以理解的是,若水平平面点云的网格没有达到一定数量,可能存在误判,即该水平平面点云的网格不是地面点云的网格。基于上述操作,可以进一步地确保了所获得的地面点云的网格的准确性。
另一方面,可以对水平平面点云的网格的高程信息,进行分类处理,得到多个高程信息类别。例如,高程信息的数值在0.2以下的为第一类,高程信息的数值在0.2-0.5的为第二类,高程信息的数值在0.5-0.7的为第三类。
具体地,可以获取每个高程信息类别对应的网格的数量,将其中网格的数量为最大值的高程信息类别对应的水平平面点云确定为地面点云的网格。
这样,可以通过对三维位置信息对应的点云地图的网格进行多次判断,确定出其中的地面点云的网格。由此可以进一步地保证了所获得的地面点云的网格的准确性和可靠性。
在本具体实现过程中,获得地面点云的网格时,可以得到地面点云的网格的数量,以及地面点云的网格的三维位置信息均值。三维位置信息均值可以包括,其中,/>可以表征地面点云的网格的高程信息。
本具体实现过程的再一种情况是,可以基于所述地面点云的网格的数量和地面点云的网格的高程信息,计算得到所述点云地图中的地面点云的高程信息。
具体地,可以利用如下公式(5),基于所述地面点云的网格的数量和地面点云网格的高程信息,计算得到所述点云地图中的地面点云的高程信息z。
其中,为各个地面点云的网格的高程信息,n为正整数,为地面点云的网格的数量。
在该实现方式的另一个具体实现过程中,计算所述激光雷达的安装高度和所述地面点云的高程信息的之和,得到所述点云地图坐标系下所述激光雷达的高程信息。
具体地,可以利用如下公式(6),基于所述激光雷达的安装高度和所述地面点云的高程信息,获得所述点云地图坐标系下所述激光雷达的高程信息。
其中,为点云地图坐标系下激光雷达的高程信息,/>为地面点云的高程信息,为激光雷达的安装高度。
需要说明的是,本实现方式中所提供的具体实现过程,可以结合前述实现方式中所提供的多种具体实现过程,来实现本实施例的激光雷达的位姿信息确定方法。详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,所述匹配情况包括所述点云地图中有效扫描点云的数量,在步骤105之前,还可以获取所述激光雷达的当前的扫描点云,基于每个所述候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以获得每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量,分别判断每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量是否满足预设的匹配条件。
在本实现方式中,激光雷达的当前的扫描点云可以是激光雷达扫描其周围环境得到的当前帧的点云。该扫描点云可以是激光雷达坐标下的点云数据。
示例性的,激光雷达的当前的扫描点云可以表示为cloudi,i可以表示点云的数量。
在本实现方式中,候选位姿信息可以是基于所述高程信息、所述初始航向角和所述至少一个平面信息所构建得到的。
示例性的,激光雷达的高程信息可以表示为,激光雷达的高程信息、初始航向角、分别和每个平面信息组合,可以得到一组候选位姿信息集合,其中,n为候选位姿信息数量。
在该实现方式的一个具体实现过程中,具体可以基于每个所述候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以确定所述扫描点云位于的所述点云地图的网格,响应于所述扫描点云位于的所述点云地图的网格具有所述点云地图的原始点云,确定所述扫描点云为有效扫描点云,以基于有效扫描点云,获得每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量。
该具体实现过程的一种情况是,分别将每个候选位姿信息乘以扫描点云cloudi,分别完成将所述扫描点云转换至所述点云地图的坐标系中,得到具有扫描点云的点云地图。
在该具体实现过程中,所述点云地图的原始点云可以是点云地图中原有的点云。
该具体实现过程的另一种情况是,针对任意一个候选位姿信息,响应于所述扫描点云位于的所述点云地图的网格具有所述点云地图的原始点云,确定所述点云地图的网格是有效网格,基于有效网格,可以确定该有效网格中的扫描点云为有效扫描点云,基于所确定的有效扫描点云,计算得到该候选位姿信息对应的所述点云地图中有效扫描点云的数量。
这里,可以基于对任意一个候选位姿信息处理方式,分别计算得到每个所述候选位姿信息对应的有效扫描点云的数量,进而可以获得每个候选位姿信息对应的所述点云地图中有效扫描点云的数量。
在本实现方式中,预设的匹配条件可以包括候选位姿信息对应的点云地图中有效扫描点云的数量为各个候选位姿信息对应的点云地图中有效扫描点云的数量中的最大值。
在该实现方式的另一个具体实现过程中,在步骤105中,判断每个候选位姿信息对应的点云地图中有效扫描点云的数量是否为各个候选位姿信息对应的点云地图中有效扫描点云的数量中的最大值,若候选位姿信息对应的点云地图中有效扫描点云的数量为最大值,则可以将该候选位姿信息作为最终的激光雷达的位置信息。
这样,可以通过判断每个候选位姿信息对应的点云地图中有效扫描点云的数量是否满足预设的匹配条件,可以更加准确有效地从多个候选位姿信息筛选出最佳的位置信息,进一步地优化了对激光雷达的位置信息,从而进一步地提升了激光雷达的位置信息的准确性。
需要说明的是,本实现方式中所提供的具体实现过程,可以结合前述实现方式中所提供的多种具体实现过程,来实现本实施例的激光雷达的位姿信息确定方法。详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,在步骤105之后,还可以进一步地,利用正态分布变换算法(normal distribution transformation, NDT),对所获得的激光雷达的目标位姿信息进行迭代配准处理,得到配准后的激光雷达的位姿信息,将该激光雷达的位姿信息发送至激光雷达,用于该激光雷达的初始定位。
需要说明的是,图4是本申请一实施例提供的方法对位姿信息进行优化处理前后的对应的点云对比的示意图。如图4所示,白色点云可以表示从点云地图中截取的部分原始点云。绿色点云可以表示直接利用基于卫星信息所获得初始位姿信息,将激光雷达的扫描点云转换至点云地图的全局坐标系下得到的点云。橙色点云可以表示利用基于本实施例的方法得到激光雷达的目标位姿信息,将激光雷达的扫描点云转换至点云地图的全局坐标系下得到的点云。
如图4所示,绿色点云和白色点云之间存在的偏差较大,这会导致激光雷达定位初始化失败。橙色点云和白色点云之间存在的偏差较小,即重合度较好。这里,可以表征橙色点云所对应的位姿信息的可靠性和准确性更好,位姿信息可以是最优的位姿信息,即橙色点云对应的位姿信息可以是最优的位姿信息。由此,可以保证了激光雷达定位初始化可靠性。
图5是本申请另一个实施例提供的激光雷达的位姿信息确定方法的流程示意图,如图5所示。该激光雷达的位姿信息确定方法,具体可以包括:
步骤501、获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息。
步骤502、分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息。
步骤503、基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息。
步骤504、基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息。
步骤505、判断所述初始航向角是否满足预设精度要求。
步骤506、若满足所述预设精度要求,则响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息。
步骤507、若不满足所述预设精度要求,则根据所述候选位姿信息,确定每个候选位姿信息对应的初始航向角。
步骤508、对每个候选位姿信息中的初始航向角进行数据增强处理,以获得每个所述候选位姿信息对应的至少一个第一候选航向角。
步骤509、基于所述点云地图、当前的扫描点云和每个所述候选位姿信息,从每个所述候选位姿信息对应的至少一个第一候选航向角中选取出第一目标航向角。
步骤510、对每个所述候选位姿信息对应的所述第一目标航向角进行数据增强处理,以获得每个所述候选位姿信息对应的至少一个第二候选航向角。
步骤511、基于所述点云地图、所述扫描点云和每个所述候选位姿信息,从每个所述候选位姿信息对应的至少一个第二候选航向角中选取出第二目标航向角。
步骤512、基于所述第二目标航向角对应的候选位姿信息,获得所述激光雷达的目标位姿信息。
可以理解的是,在对待处理激光雷达的初始三维位置信息进行优化处理时,还可以进一步地判断初始航向角的情况。这里,可以从卫星信号系统获取到激光雷达的姿态状态标志信息,该姿态状态标志信息可以用于表征卫星信号系统所发送的姿态信息的有效性。若该姿态状态标志信息小于预设的姿态状态阈值,则可以启动对卫星信号系统所发送的激光雷达的姿态信息进行优化处理,由于启动时的激光雷达是处于水平状态,所以可以启动对姿态信息进行优化处理,即是对待处理激光雷达的初始航向角的优化处理。
需要说明的是,这里,该预设精度要求可以包括姿态状态标志信息大于预设的姿态状态阈值。例如,预设的姿态状态阈值可以为50。若姿态状态标志信息为60,则可以表征该姿态对应的初始航向角满足预设精度要求;若姿态状态标志信息为16,则可以表征该姿态对应的初始航向角不满足预设精度要求。
需要说明的是,步骤501~512的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,例如,网络侧的自动驾驶平台中的处理引擎或者分布式系统等,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在本地终端上的本地程序(nativeApp),或者还可以是本地终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
这样,可以通过对卫星信号所提供的激光雷达的初始三维位置信息及其平面信息进行数据增强处理,构建得到多个候选位姿信息,在此基础上进一步地判断初始航向角是否满足预设精度要求,若满足则可以结合激光雷达扫描到的扫描点云和事先建立的点云地图,对多个候选位姿信息进行匹配优化,来获得更加准确的激光雷达的目标位姿信息,若不满足,则需要对基于多个候选位姿信息对初始航向角进行相关处理,以获得较准确的航向角,并基于该处理后的航向角获得更加准确的目标位姿信息,提升了激光雷达的位姿信息的可靠性,从而优化了对激光雷达的初始定位。
可选地,在本实施例的一个可能的实现方式中,在步骤508中,具体可以利用第一数据增强算法,基于预设的第一角度步长,在第一角度范围内对每个候选位姿信息中的初始航向角进行数据增强处理,进而可以基于所述数据增强处理的结果,获得每个所述候选位姿信息对应的至少一个第一候选航向角。
可以理解的是,每个候选位姿信息中的航向角都是初始航向角,即每个候选位姿信息均可以对应于同一个航向角。这里,可以是仅对该初始航向角进行数据增强处理,进而可以基于数据增强处理的结果,可以得到每个候选位姿信息对应的多个第一候选航向角。
在本实现方式中,第一角度范围可以包括360度的范围。数据增强处理可以包括均匀采样处理、随机采样处理等。
具体地,对于任意一个候选位姿信息,可以利用第一数据增强算法,基于预设的第一角度步长,在360度的角度范围内对该候选位姿信息的航向角进行数据增强处理,获得多个第一候选航向角。
示例性的,预设的第一角度步长可以包括10度、20度等角度。
在该实现方式的一个具体实现过程中,可以通过如下公式(7),计算得到多个第一候选航向角:
其中,为至少一个第一候选航向角,即第一候选航向角集合,/>为索引值,为初始航向角,/>为预设的第一角度步长。
示例性的,若预设的第一角度步长为10度,预设的角度范围为360度,初始航向角为0,可以利用上述公式(7),计算得到多个第一候选航向角,即第一候选航向角集合。
可以理解的是,这里也可以直接利用上述公式(7)基于预设的第一角度步长,在第一角度范围内对一个预设的起始角度进行均匀采样处理,得到多个第一候选航向角。该预设的起始角度可以不是初始航向角的角度。
可以理解的是,这里也可以通过其他现有的数据增强的方式,对初始航向角进行处理,得到第一候选航向角集合。例如,可以基于初始航向角,进行随机采样,得到第一候选航向角集合。具体实现方式,在此不做具体限定。
这样,可以通过对利用第一数据增强算法,基于预设的第一角度步长,在第一角度范围内对初始航向角进行数据增强处理,提升了第一候选航向角的获得效率,以及提升了第一候选航向角的可靠性和有效性。
可以理解的是,针对一个候选位姿信息,对初始航向角进行数据增强处理后,该候选位姿信息可以对应多个第一候选航向角,可以得到一个候选位姿信息集合。该集合的位置信息是相同,航向角是不同的,即为不同的第一候选航向角。将每个候选位姿信息集合组合后,可以得到一个新的候选位姿信息的大集合,即多个第一候选位姿信息。这里,可以从多个第一候选位姿信息的航向角选取出一个第一目标航向角。
可选地,在本实施例的一个可能的实现方式中,在步骤509中,还可以基于每个候选位姿信息和每个所述第一候选航向角,构建至少一个第一候选位姿信息,基于每个所述第一候选位姿信息,分别将扫描点云转换至点云地图的坐标系中,以获得每个所述第一候选位姿信息对应的所述点云地图中有效扫描点云的数量,分别判断每个所述第一候选位姿信息对应的所述点云地图中有效扫描点云的数量是否满足预设的判断条件,响应于所述第一候选位姿信息对应的所述点云地图中有效扫描点云的数量满足预设的判断条件,将所述第一候选位姿信息中的航向角作为所述第一目标航向角。
在该实现方式中,指定区域的点云地图可以是预先构建的激光雷达所在区域的点云地图。指定区域可以是激光雷达所在区域。
在该实现方式中,点云地图可以是进行网格划分处理后的点云地图。
本具体实现过程的一种情况是,首先,可以预先对指定区域进行建图处理,得到点云地图。其次,可以按照预设的长宽高(L1× L2× L3)的尺寸在点云地图划分出多个网格。在一些实施例中,L1、L2和L3均为3米。
在本实现方式中,针对一个候选位姿信息,该选位姿信息的位置信息可以包括(x,y, z)。一个第一候选航向角和该位置信息可以组成一个第一候选位姿信息,进而可以基于每个候选位姿信息的位置信息和每个第一候选航向角,构建多个第一候选位姿信息,即第一候选位姿信息集合。例如,第一候选位姿信息集合可以表示为,其中,n为第一候选位姿信息个数。
在本实现方式中,激光雷达的当前的扫描点云可以是激光雷达扫描其周围环境得到的当前帧的点云。例如,激光雷达的当前的扫描点云可以表示为Pl,l可以为点云的个数。具体地,可以分别将每个第一候选位姿信息乘以扫描点云Pl,分别完成将所述扫描点云转换至点云地图的坐标系中,得到具有扫描点云的点云地图。
在该实现方式的一个具体实现过程中,具体可以基于每个所述第一候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以确定所述扫描点云位于的所述点云地图的网格,进而可以响应于所述扫描点云位于的所述点云地图的网格具有所述点云地图的原始点云,确定所述扫描点云为有效扫描点云,以获得每个所述第一候选位姿信息对应的所述点云地图中有效扫描点云的数量。
该具体实现过程的一种情况是,响应于所述扫描点云位于的所述点云地图的网格具有所述点云地图的原始点云,确定所述扫描点云为有效扫描点云,根据所确定的有效扫描点云,分别计算得到每个第一候选位姿信息对应的有效扫描点云的数量,进而可以获得每个第一候选位姿信息对应的所述点云地图中有效扫描点云的数量。
在本实现方式中,预设的判断条件可以包括第一候选位姿信息对应的点云地图中有效扫描点云的数量为各个第一候选位姿信息对应的点云地图中有效扫描点云的数量中的最大值。
在该实现方式的一个具体实现过程中,判断每个第一候选位姿信息对应的点云地图中有效扫描点云的数量是否为各个第一候选位姿信息对应的点云地图中有效扫描点云的数量中的最大值,若第一候选位姿信息对应的点云地图中有效扫描点云的数量为最大值,则可以将该第一候选位姿信息中的航向角作为第一目标航向角。
需要说明的是,本实现方式中所提供的具体实现过程,可以结合前述实现方式中所提供的多种具体实现过程,来实现本实施例的激光雷达的位姿信息确定方法。详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,在步骤510中,具体可以利用第二数据增强算法,基于预设的第二角度步长,在第二角度范围内对所述第一目标航向角进行数据增强处理,进而可以基于所述数据增强处理的结果,获得至少一个第二候选航向角。
可以理解的是,第一目标航向角可以为一个,进而每个候选位姿信息均可以对应于同一个第一目标航向角。这里,可以是仅对该第一目标航向角进行数据增强处理,进而可以基于数据增强处理的结果,可以得到每个候选位姿信息对应的多个第二候选航向角。
在本实现方式中,至少一个第二候选航向角可以是第二候选航向角集合。第二候选航向角可以包括第一目标航向角、以及对第一目标航向角进行数据增强处理后新增的航向角。
在本实现方式中,第二角度范围可以是基于预设的第一角度步长所确定的。例如,预设的第一角度步长为10度,第二角度范围可以是10度的范围。
在本实现方式中,预设的第二角度步长可以小于预设的第一角度步长。例如预设的第一角度步长为10度,预设的第二角度步长为2度。
在本实现方式中,数据增强处理可以包括均匀采样处理、随机采样处理等。
在该实现方式的一个具体实现过程中,可以通过如下公式(8),计算得到多个第一候选航向角:
其中,为至少一个第二候选航向角,即第二候选航向角集合,/>为索引值,为第一目标航向角,/>为预设的第一角度步长,/>为预设的第二角度步长。
示例性的,若预设的第二角度步长为2度,预设的第一角度步长为10度,第二角度范围为10度,第一目标航向角为20度,可以利用上述公式(8),计算得到多个第二候选航向角,即第二候选航向角集合。
可以理解的是,这里也可以通过其他现有的数据增强的方式,对第一目标航向角进行处理,得到第二候选航向角集合。例如,可以基于第一目标航向角,进行随机采样,得到第二候选航向角集合。具体实现方式,在此不做具体限定。
这样,可以通过对利用第二数据增强算法,基于预设的第二角度步长,在第二角度范围内对第一目标航向角进行数据增强处理,缩小了获得候选航向角的采样范围、提升处理效率的同时,还保证了所获得的候选航向角的可靠性和有效性。
可以理解的是,针对一个候选位姿信息,该候选位姿信息可以对应多个第二候选航向角,可以得到一个新的候选位姿信息集合,该集合的位置信息是相同,航向角是不同的,即是每个第二候选航向角。针对多个候选位姿信息,每个候选位姿信息都对应一个新的候选位姿信息集合,将每个新的候选位姿信息集合组合后,可以得到一个新的候选位姿信息的大集合,即多个第二候选位姿信息。这里,可以从多个第二候选位姿信息的航向角选取出第二目标航向角。
可选地,在本实施例的一个可能的实现方式中,在步骤511中,可以基于每个所述第二候选航向角和每个候选位姿信息,构建至少一个第二候选位姿信息,进而可以基于每个所述第二候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以获得每个所述第二候选位姿信息对应的所述点云地图中有效扫描点云的数量,分别判断每个所述第二候选位姿信息对应的所述点云地图中有效扫描点云的数量是否满足预设的判断条件,响应于所述第二候选位姿信息对应的所述点云地图中有效扫描点云的数量满足预设的判断条件,将所述第二候选位姿信息中的航向角作为所述第二目标航向角。
可以理解的是,基于每个所述第二候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系的方式和步骤509中的具体实施方式相似,详情可以参照前述相关内容,在此不再赘述。
在该实现方式的一个具体实现过程中,具体可以基于每个所述第二候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以确定所述扫描点云位于的所述点云地图的网格,进而可以响应于所述扫描点云位于的所述点云地图的网格具有所述点云地图的原始点云,确定所述扫描点云为有效扫描点云,以获得每个所述第二候选位姿信息对应的所述点云地图中有效扫描点云的数量。
该具体实现过程的一种情况是,响应于所述扫描点云位于的所述点云地图的网格具有所述点云地图的原始点云,确定所述扫描点云为有效扫描点云,根据所确定的有效扫描点云,分别计算得到每个第二候选位姿信息对应的有效扫描点云的数量,进而可以获得每个第二候选位姿信息对应的所述点云地图中有效扫描点云的数量。
在本实现方式中,预设的判断条件可以包括第二候选位姿信息对应的点云地图中有效扫描点云的数量为各个第二候选位姿信息对应的点云地图中有效扫描点云的数量中的最大值。
在该实现方式的一个具体实现过程中,判断每个第二候选位姿信息对应的点云地图中有效扫描点云的数量是否为各个第二候选位姿信息对应的点云地图中有效扫描点云的数量中的最大值,若第二候选位姿信息对应的点云地图中有效扫描点云的数量为最大值,则可以将该第二候选位姿信息中的航向角作为第二目标航向角。
需要说明的是,本实现方式中所提供的具体实现过程,可以结合前述实现方式中所提供的多种具体实现过程,来实现本实施例的激光雷达的位姿信息确定方法。详细的描述可以参见前述实现方式中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,在步骤512中,可以基于该第二目标航向角,确定出与该第二目标航向角对应的候选位姿信息,可以将该候选位姿信息作为所述激光雷达的目标位姿信息。
可以理解的是,可以该第二目标航向角是根据基于步骤511所获得的最佳的第二候选位姿信息所获得的,进而可以根据第二目标航向角得到其对应的一个最佳的第二候选位姿信息,将该最佳的第二候选位姿信息作为激光雷达的目标位姿信息。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图6示出了本申请一个实施例提供的激光雷达的位姿信息确定装置的结构框图,如图6所示。本实施例的激光雷达的位姿信息确定装置600可以包括获取单元601,增强单元602、获得单元603、构建单元604和匹配单元605。其中,获取单元601,用于获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息;增强单元602,用于分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息;获得单元603,用于基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息;构建单元604,用于基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息;匹配单元605,用于响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息。
需要说明的是,本实施例的激光雷达的位姿信息确定装置的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,例如,网络侧的自动驾驶平台中的处理引擎或者分布式系统等,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在本地终端上的本地程序(nativeApp),或者还可以是本地终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
可选地,在本实施例的一个可能的实现方式中,增强单元602,具体可以用于利用预设的采样算法,在三维方向上对所述初始三维位置信息进行三维数据增强处理,基于所述三维数据增强处理的结果,得到所述至少一个三维位置信息。
可选地,在本实施例的一个可能的实现方式中,增强单元602,具体可以用于利用预设的采样算法,在二维方向上对所述平面信息进行二维数据增强处理,基于所述二维数据增强处理的结果,得到所述至少一个平面信息。
可选地,在本实施例的一个可能的实现方式中,获得单元603,具体可以用于基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图中的地面点云的高程信息,基于所述激光雷达的安装高度和所述地面点云的高程信息,获得所述点云地图坐标系下所述激光雷达的高程信息。
可选地,在本实施例的一个可能的实现方式中,获得单元603,还可以用于确定每个所述三维位置信息对应的点云地图的网格,获取每个所述网格的特征值,响应于所述网格的特征值满足预设的第一判断条件,获得平面点云的网格,获取所述平面点云对应的网格的特征向量,响应于所述平面点云的网格的特征向量满足预设的第二判断条件,获得水平平面点云的网格,响应于所述水平平面点云的网格满足预设的第三判断条件,获得地面点云的网格,基于所述地面点云的网格,获得所述点云地图中的地面点云的高程信息。
可选地,在本实施例的一个可能的实现方式中,所述匹配情况包括所述点云地图中有效扫描点云的数量,匹配单元605具体可以用于获取所述激光雷达的当前的扫描点云,基于每个所述候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以获得每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量,分别判断每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量是否满足预设的匹配条件。
可选地,在本实施例的一个可能的实现方式中,匹配单元505还可以用于基于每个所述候选位姿信息,分别将所述扫描点云转换至所述点云地图的坐标系中,以确定所述扫描点云位于的所述点云地图的网格,响应于所述扫描点云位于的所述点云地图的网格具有所述点云地图的原始点云,确定所述扫描点云为有效扫描点云,以基于有效扫描点云,获得每个所述候选位姿信息对应的所述点云地图中有效扫描点云的数量。
本实施例中,通过获取单元获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息,进而可以由增强单元分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息,由获得单元基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息,由构建单元基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息,使得匹配单元能够响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息,由于可以通过对卫星信号所提供的激光雷达的初始三维位置信息及其平面信息进行数据增强处理,构建得到多个候选位姿信息,并结合激光雷达扫描到的扫描点云和事先建立的点云地图,对多个候选位姿信息进行匹配优化,来获得更加准确的激光雷达的目标位姿信息,提升了激光雷达的位姿信息的可靠性,从而优化了对激光雷达的初始定位。
图7示出了本申请一个实施例提供的激光雷达的位姿信息确定装置的结构框图,如图7所示。本实施例的激光雷达的位姿信息确定装置700可以包括信息获取单元701,第一增强单元702、第一获得单元703、位姿构建单元704、精度判断单元705、点云匹配单元706、信息确定单元707、第二增强单元708、第一选取单元709、第三增强单元710、第二选取单元711和第二获得单元712。其中,信息获取单元701,用于获取待处理激光雷达的初始位姿信息,其中,所述初始位姿信息包括初始三维位置信息和初始航向角,所述初始位姿信息基于卫星信号所获得,所述初始三维位置信息包括平面信息;第一增强单元702,用于分别对所述初始三维位置信息和所述平面信息进行数据增强处理,以获得至少一个三维位置信息和至少一个平面信息;第一获得单元703,用于基于指定区域的点云地图和所述至少一个三维位置信息,获得所述点云地图坐标系下所述激光雷达的高程信息;位姿构建单元704,用于基于所述高程信息、所述初始航向角和所述至少一个平面信息,构建至少一个候选位姿信息;精度判断单元705,用于判断所述初始航向角是否满足预设精度要求;点云匹配单元706,用于若满足所述预设精度要求,则响应于所述候选位姿信息对应的扫描点云与所述点云地图的匹配情况满足预设的匹配条件,将所述候选位姿信息作为所述激光雷达的目标位姿信息。信息确定单元707,用于若不满足所述预设精度要求,则根据所述候选位姿信息,确定每个候选位姿信息对应的初始航向角;第二增强单元708,用于对每个候选位姿信息中的初始航向角进行数据增强处理,以获得每个所述候选位姿信息对应的至少一个第一候选航向角;第一选取单元709,用于基于所述点云地图、当前的扫描点云和每个所述候选位姿信息,从每个所述候选位姿信息对应的至少一个第一候选航向角中选取出第一目标航向角;第三增强单元710,用于对每个所述候选位姿信息对应的所述第一目标航向角进行数据增强处理,以获得每个所述候选位姿信息对应的至少一个第二候选航向角;第二选取单元711,用于基于所述点云地图、所述扫描点云和每个所述候选位姿信息,从每个所述候选位姿信息对应的至少一个第二候选航向角中选取出第二目标航向角;第二获得单元712,用于基于所述第二目标航向角对应的候选位姿信息,获得所述激光雷达的目标位姿信息。
需要说明的是,本实施例的激光雷达的位姿信息确定装置的部分或全部可以为位于本地终端的应用,或者还可以为设置在位于本地终端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以为位于网络侧服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,例如,网络侧的自动驾驶平台中的处理引擎或者分布式系统等,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在本地终端上的本地程序(nativeApp),或者还可以是本地终端上的浏览器的一个网页程序(webApp),本实施例对此不进行限定。
这样,本申请实施例可以通过对卫星信号所提供的激光雷达的初始三维位置信息及其平面信息进行数据增强处理,构建得到多个候选位姿信息,在此基础上进一步地判断初始航向角是否满足预设精度要求,若满足则可以结合激光雷达扫描到的扫描点云和事先建立的点云地图,对多个候选位姿信息进行匹配优化,来获得更加准确的激光雷达的目标位姿信息,若不满足,则需要对基于多个候选位姿信息对初始航向角进行相关处理,以获得较准确的航向角,并基于该处理后的航向角获得更加准确的目标位姿信息,提升了激光雷达的位姿信息的可靠性,从而优化了对激光雷达的初始定位。
本申请的技术方案中,所涉及的用户个人信息,例如,用户的图像和属性数据等的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本申请的实施例,进一步地,还提供了一种包括所提供的电子设备的自动驾驶车辆,该自动驾驶车辆可以包括L2及其以上级别的无人驾驶车辆。
图8示出了可以用来实施本申请的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口806也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如激光雷达的位姿信息确定的方法。例如,在一些实施例中,激光雷达的位姿信息确定的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的激光雷达的位姿信息确定的方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行激光雷达的位姿信息确定的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。