一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种定位方法、装置、存储介质及电子设备与流程

2022-04-09 11:46:32 来源:中国专利 TAG:


1.本说明书涉及定位技术领域,尤其涉及一种定位方法、装置、存储介质及电子设备。


背景技术:

2.目前,搭载有激光雷达等探测器的无人设备可以实时获取周围的点云数据,并通过与预先建立的点云地图进行配准,来确定无人设备的位姿。
3.其中,点云的配准是指将无人设备周围的点云通过旋转平移,变换对齐至与点云地图相同的坐标系下,从而根据所确定出的旋转平移矩阵来定位无人设备的位姿。
4.但点云地图通常包括大量的点云数据,而点云的配准又需要消耗大量的计算资源,因此,如何为无人设备缩小点云地图中的配准范围是当前亟待解决的问题。


技术实现要素:

5.本说明书提供一种定位方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
6.本说明书采用下述技术方案:
7.本说明书提供了一种定位方法,包括:
8.获取待定位对象的粗定位信息,其中,所述粗定位信息中至少包括所述待定位对象的粗略位置;采集待定位对象周围的点云帧,作为定位帧;
9.确定所述粗略位置周围的若干个候选位置,针对每个候选位置,以该候选位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,生成若干个点云帧,并将所生成的点云帧作为候选参考帧,其中,以该候选位置为采样位置所生成的每个候选参考帧的采样姿态不同;
10.针对每个候选参考帧,对该候选参考帧中所包含的点云与所述定位帧中所包含的点云进行比对,并确定出该候选参考帧与所述定位帧的匹配度;
11.根据各候选参考帧与所述定位帧的匹配度,从各候选参考帧中选择出目标参考帧,并基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息。
12.可选地,以该候选位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,具体包括:
13.以所述粗略位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,生成若干个点云帧,并将生成的点云帧作为视角参考帧,其中,每个视角参考帧的采集姿态不同;
14.针对每个视角参考帧,对该视角参考帧中所包含的点云与所述定位帧中所包含的点云进行比对,并确定出该视角参考帧与所述定位帧的匹配度;
15.根据各视角参考帧与所述定位帧的匹配度,以及每个视角参考帧在所述点云地图
中对应的采样姿态,确定出至少一个候选姿态;
16.针对每个候选姿态,以该候选位置为所述点云地图中的采样位置,以该候选姿态为所述点云地图中的采样姿态,在预先构建的点云地图中进行采样。
17.可选地,所述方法还包括:
18.将所述待定位对象的粗定位信息中所包括的粗略姿态确定为指定姿态;和/或,
19.当所述待定位对象为无人车时,确定所述待定位对象所在的道路的车道线方向,并将所述待定位对象的航向与所述车道线方向的夹角为零的姿态作为指定姿态;
20.根据各视角参考帧与所述定位帧的匹配度,以及每个视角参考帧在所述点云地图中的采样姿态,确定出至少一个候选姿态,具体包括:
21.确定出与所述定位帧的匹配度最高的视角参考帧,将该视角参考帧在所述点云地图中的采样姿态以及指定姿态作为候选姿态。
22.可选地,根据各候选参考帧与所述定位帧的匹配度,从各候选参考帧中选择出目标参考帧,具体包括:
23.根据各候选参考帧与所述定位帧的匹配度,判断各候选参考帧中是否包括至少一个与所述定位帧的匹配度大于预先设定的匹配度阈值的候选参考帧;
24.若是,将各候选参考帧中与所述定位帧的匹配度最大的候选参考帧作为目标参考帧,若否,重新获取所述待定位对象的粗定位信息,并重新采集所述待定位对象周围的点云帧。
25.可选地,基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息,具体包括:
26.对所述目标参考帧中所包含的点云以及所述定位帧中所包含的点云进行配准,得到所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系;
27.根据该目标参考帧在所述点云地图中的采样位姿,以及所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系,确定所述待定位对象的位姿信息。
28.可选地,确定所述待定位对象的位姿信息之前,所述方法还包括:
29.根据所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系,判断所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的差异是否大于预先设定的点云差异阈值;
30.若是,重新获取所述待定位对象的粗定位信息,并重新采集所述待定位对象周围的点云帧,若否,根据所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系,基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息。
31.可选地,所述方法还包括:
32.在所述待定位对象的运动速度低于预先设定的速度阈值的情况下,确定指定数量个所述待定位对象的位姿信息;
33.判断所确定出的所述待定位对象的各位姿信息之间的差异是否大于预先设定的位姿差异阈值;
34.若是,重新确定指定数量个所述待定位对象的位姿信息,若否,根据所确定出的待定位对象的各位姿信息,确定所述待定位对象的目标位姿。
35.本说明书提供了一种定位装置,包括:
36.粗定位模块,用于获取待定位对象的粗定位信息,其中,所述粗定位信息中至少包括所述待定位对象的粗略位置;采集待定位对象周围的点云帧,作为定位帧;
37.采样模块,用于确定所述粗略位置周围的若干个候选位置,针对每个候选位置,以该候选位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,生成若干个点云帧,并将所生成的点云帧作为候选参考帧,其中,以该候选位置为采样位置所生成的每个候选参考帧的采样姿态不同;
38.匹配模块,用于针对每个候选参考帧,对该候选参考帧中所包含的点云与所述定位帧中所包含的点云进行比对,并确定出该候选参考帧与所述定位帧的匹配度;
39.位姿确定模块,用于根据各候选参考帧与所述定位帧的匹配度,从各候选参考帧中选择出目标参考帧,并基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息。
40.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述定位方法。
41.本说明书提供了一种无人驾驶设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述定位方法。
42.本说明书采用的上述至少一个技术方案能够达到以下有益效果:
43.在本说明书提供的定位方法中,通过获取待定位对象的粗定位信息,并采集待定位对象周围的点云帧,以所述粗定位信息中粗略位置周围的若干个候选位置为采样位置,在预先构建的点云地图中进行采样,将所述定位帧与采样得到的每个候选参考帧进行比对,根据得到的各候选参考帧与定位帧的匹配度选择出目标参考帧,基于目标参考帧在所述点云地图中的采样位姿对所述待定位对象进行定位。
44.可以看出,在经过若干次的采样和比对之后,将配准范围缩小至目标参考帧,通过定位帧与所述目标参考帧进行配准,即可基于目标参考帧在点云地图中的采样位置确定出待定位对象的位姿信息,减少了配准所需的计算资源。
附图说明
45.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
46.图1为本说明书中一种定位方法的流程示意图;
47.图2a为本说明书提供的一种候选位置确定方法的示意图;
48.图2b为本说明书提供的另一种候选位置确定方法的示意图;
49.图3为本说明书提供的一种定位装置的示意图;
50.图4为本说明书提供的无人驾驶设备的结构示意图。
具体实施方式
51.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本
说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
52.而除了上述使实时采集到的点云数据在整个点云地图中与所有部分的点云数据进行匹配之外,当待定位对象上搭载有高精度的全球导航卫星系统(global navigation satellite system,gnss)时,可以直接gnss所返回的位姿数据,在点云地图的坐标系下进行点云数据的采样,并将待定位对象实时采集的点云数据与从点云地图中采样的点云数据进行配准,以定位出待定位对象的位姿。
53.其中,由于点云地图通过点云的形式对定位区域内的场景进行描述,因此以某一采样位姿在点云地图中进行采样是指在点云地图中以该采样位姿对点云地图中的场景进行观测,并将所观测到的由点云描述的场景生成为一帧点云数据。
54.但由于点云数据之间的配准对点云数据之间的相似度有着较高的要求,即采样位姿与待定位对象采集点云数据时的位姿之间偏差不能太大,因此若gnss的所输出的位姿数据的精度无法满足配准的要求,往往会导致配准的失败,使得无法对待定位对象进行定位。
55.在实际应用中,待定位对象所搭载的gnss的定位精度通常会受到待定位对象所处的环境影响,例如,当待定位对象在城市峡谷环境,或者茂密的树木下等遮挡严重环境下运行时,由于gnss信号较弱,导致gnss输出的待定位对象位姿精度也较低。此时,为了获得较高精度的待定位对象的位姿数据,通常需要消耗额外的运行成本,将无人设备运动至空旷环境接收gnss信号才能进行定位。
56.为了解决上述问题,本说明书提供了一种定位方法,以在对定位设备的定位精度要求较低的条件下,在点云地图中的较小范围内进行配准即可实现待定位对象的定位。
57.以下结合附图,详细说明本说明书各实施例提供的技术方案。
58.图1为本说明书中一种定位方法的流程示意图,具体包括以下步骤:
59.s100:获取待定位对象的粗定位信息,其中,所述粗定位信息中至少包括所述待定位对象的粗略位置;采集待定位对象周围的点云帧,作为定位帧。
60.本说明书提供的定位方法旨在实现对待定位对象的定位,即确定待定位对象的位姿。可用于将待定位对象在点云地图进行初始化定位。
61.所述待定位对象可以为无人设备,包括无人机、无人驾驶设备(以下简称无人车)等,其中,本说明书中所述的无人车可包括自动驾驶的车辆以及具有辅助驾驶功能的车辆。无人车可以是应用于配送领域的配送车。仅示例性地,以下以待定位对象为无人车为例进行说明。
62.执行本说明书提出的定位方法的执行主体可以为待定位对象本身,也可以为能够与待定位对象进行信息传输,并对待定位对象进行控制的另一控制设备执行,所述控制设备可以为服务器或终端设备,当所述控制设备为服务器时,本说明书实施例并不限制所述控制设备为分布式服务器或集群式服务区,当所述控制设备为终端设备时,可以为任一现有的终端设备,例如,笔记本电脑、手机、服务器等,本说明书对此不不作限制。仅示例性的,以待定位对象自身为执行主体为例对本说明书实施例以下部分进行说明。
63.待定位对象至少搭载有第一设备和第二设备,其中,所述第一设备为定位设备,例如可以为gnss,所述第二设备为探测设备,例如可以为雷达,具体的,可以为激光雷达。本说明书实施例中,以所述第一设备为gnss,第二设备为激光雷达为例进行说明。
64.在本说明书提供的定位方法中,待定位对象通过第一设备获取粗定位信息,其中,所述粗定位信息至少包括待定位对象的粗略位置,通过第二设备,待定位对象可以实时采集到自身周围的点云数据,作为定位帧。
65.其中,所述粗定位信息即为第一设备所返回的待定位对象的定位信息,本说明书一实施例中,待定位对象所获取到的粗定位信息中至少包括自身的粗略位置,而所述定位帧则是根据第二设备所反射的信号处理后得到的自身周围的三维物体表面的点的数据,具体的,当所述第二设备为待定位对象所搭载的激光雷达时,激光雷达通常包括发射光源的发射器,和接收反射光束的接收器,在工作时,发射器发射激光光束,被激光光束所照射的物体表面会反射激光束,接收器则收集物体表面返回的激光点,然后根据激光点传播时间等信息,则可以准确计算出返回每个激光点的物体表面的点的三维坐标,而由于点云即为根据激光点所得到的物体表面的点的数据,因此,也可以认为点云中的点携带有位置数据。
66.本说明书一实施例中,可以将待定位对象的第一指定距离的范围内作为待定位对象的周围(例如待定位对象20米内),本说明书实施例对此不作限制,当然,在本说明书实施例中,由于待定位对象周围环境受对周围环境进行探测的激光雷达的探测范围的限制,因此,也可以将激光雷达的探测范围内的环境作为待定位对象的周围。
67.本说明书一实施例中,待定位对象通过第一设备获取粗定位信息时的位姿和通过第二设备采集周围的点云数据时的位姿相同,更进一步的,待定位对象可以同时通过第一设备获取粗定位信息和通过第二设备采集周围的点云数据。
68.本说明书一实施例中红,对于通过第一设备所获取到的粗定位信息的精度存在要求,当所述第一设备所获取到的粗定位信息的精度大于指定的第一精度阈值时,本说明书提供的定位方法可以将所述第一设备所返回的数据作为粗定位信息,例如当第一设备为gnss时,可以设定gnss的误差不大于10米时所述gnss的精度大于第一精度阈值。
69.需要说明的是,直接以定位设备所返回的位姿在所述点云地图中进行采样,并将所采样到的点云数据与实时采集到的点云数据能够直接进行配准时,该定位设备的定位精度大于所述第一精度阈值。
70.s102:确定所述粗略位置周围的若干个候选位置,针对每个候选位置,以该候选位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,生成若干个点云帧,并将所生成的点云帧作为候选参考帧,其中,以该候选位置为采样位置所生成的每个候选参考帧的采样姿态不同。
71.本说明书实施例中,点云地图通过点云的形式对定位区域内的场景进行描述,因此以某一采样位姿在点云地图中进行采样是指在点云地图中以该采样位姿对点云地图中的场景进行观测,并将所观测到的由点云描述的场景生成为一帧点云数据。本说明书一实施例中,待定位设备位于所述定位区域内。
72.在本说明书实施例中,在获取到所述第一设备输出的粗略位置之后,先确定所述粗略位置周围的若干个候选位置。本说明书一实施例中,可以将待定位对象的第二指定距离的范围内作为待定位对象的周围(例如待定位对象20米内),当然,对于所述第二指定距离的具体数据值本说明书实施例不作限制,具体的,本说明书实施例提供以下两种候选位置的确定方式:
73.第一种,在距离所述粗略位置第三指定距离的范围内,以所述粗略位置为圆心,确
定出若干个同心圆,然后在确定出若干个在同心圆上的候选位置。示例性的,在图2a中,示出了在确定出如图2a中所示的两个以待定位对象的粗略位置为圆心的同心圆之后,确定出图2a中示出的同心圆上的八个候选位置。
74.第二种,可以确定第一指定方向和第二指定方向,将在第一指定方向和第二指定方向上与所述粗略位置之间的距离每隔第四指定距离的位置确定为候选位置,然后,针对所确定出的每个候选位置,将在第三指定方向和第四指定方向上与该候选位置之间的距离每隔第五指定距离的位置确定为候选位置,其中,所述第一指定方向和第二指定方向可以为两个互为相反的方向,所述第三指定方向和第四指定方向可以为两个互为相反的方向,所述第四指定距离和所述第五指定距离可以相同也可以不同,本说明书实施例对于如何确定指定方向和指定距离不作限定。以图2b为例,图2b示出了一种候选位置的确定方式,其中,图2b中心由实心圆点示出的位置为粗略位置,其他未标记的实心圆点则为根据该粗略位置所确定出的各候选位置。如图2b所示,可以将在第一指定方向和第二指定方向上与所述粗略位置之间的距离每隔第四指定距离的位置确定为候选位置,然后,针对所确定出的每个候选位置,将在第三指定方向和第四指定方向上与该候选位置之间的距离每隔第五指定距离的位置确定为候选位置,其中,第一指定方向、第二指定方向、第三指定方向和第四指定方向可以如图2b中所示。
75.除此之外,还可以采用其他任一现有方式,确定出所述粗略位置周围的候选位置,本说明书实施例对此不作限制。为方便描述,本说明书以下以上述第二种方式确定各候选位置为例进行说明。
76.针对所确定出的每个候选位置,以该候选位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,生成若干个点云帧,并将所生成的点云帧作为候选参考帧。本说明书一实施例中,以该候选位置为采样位置所生成的每个候选参考帧的采样姿态不同。
77.可以采用任一现有方式确定以该候选位置为采样位置进行采样时,各候选参考帧的采样姿态,例如,可以预先指定有若干个姿态,并以所指定的姿态进行采样等等,在此情形下,为各候选位置所指定的姿态可以相同也可以不同。
78.然后,通过上述任一方式得到若干个候选参考帧,其中,以采样位姿在所述点云地图中进行采样,即为以所述采样位姿观测所述点云地图中以点云所描述出的定位区域中的场景,并将所观测到的点云描述的场景生成为候选参考帧。
79.s104:针对每个候选参考帧,对该候选参考帧中所包含的点云与所述定位帧中所包含的点云进行比对,并确定出该候选参考帧与所述定位帧的匹配度。
80.本说明书实施例中,定位帧和候选参考帧中均包含有点云,其中,每个点云又对应有自身的形状结构特征,因此,可以对比定位帧和候选参考帧中的点云,并根据所确定出的定位帧和候选参考帧中的点云的匹配度,来确定定位帧和候选参考帧之间的匹配度。
81.举例而言,针对分别位于定位帧和候选参考帧中的一对点云,可以先找到两点云之间的变换关系,使得变换后的两点云之间的重叠度最大,其中,所述变换关系可以为一个点云相对于另一个点云的旋转平移矩阵,通常来说,对于其中一个点云来说,若该点云中的某一点的邻域内存在着另一点云中的点,可以认为这两个点云中有一对点重合,然后,可以将点云中与另一点云重合的点占点云中所有点的数量的比例作为一对点云的重叠度。
82.针对每个候选参考帧,可以根据该候选参考帧中各点云与定位帧中各点云的重叠度,确定该候选参考帧与所述定位帧的匹配度,该候选参考帧中各点云与定位帧中各点云的重叠度越高,则所确定出的该候选参考帧与所述定位帧的匹配度也就越高。
83.当然,还可以通过其他方式确定候选参考帧与定位帧的匹配度,例如可以根据候选参考帧中各点云的形状以及定位帧中各点云的形状之间的相似度确定候选参考帧与定位帧之间的匹配度。本说明书对此不作限制。
84.s106:根据各候选参考帧与所述定位帧的匹配度,从各候选参考帧中选择出目标参考帧,并基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息。
85.本说明书实施例中,在确定出各候选参考帧与所述定位帧的匹配度之后,可以从各候选参考帧中选择出目标参考帧。具体的,可以将各候选参考帧中与所述定位帧的匹配度最大的候选参考帧作为目标参考帧。
86.本说明书一实施例中,在确定目标参考帧之前,还可以根据各候选参考帧与所述定位帧的匹配度,判断各候选参考帧中是否包括至少一个与所述定位帧的匹配度大于预先设定的匹配度阈值的候选参考帧,若是,将各候选参考帧中与所述定位帧的匹配度最大的候选参考帧作为目标参考帧,若否,重新获取所述待定位对象的粗定位信息,并重新采集所述待定位对象周围的点云帧,以重新根据上述任一方式采用本说明书所提供的定位方法定位所述待定位设备的位姿。
87.当然,也可以并不进行上述判断,直接从各候选参考帧中选择出匹配度最大的作为目标参考帧。
88.接着,在采用上述任一方式选择出目标参考帧之后,可以基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息。具体的,可以根据所述目标参考帧与所述定位帧之间的差异,并基于所述目标参考帧在所述点云地图中对应的采样位姿,求解出所述待定位对象的位姿信息。
89.基于如上述图1所述的方法,待定位对象先获取自身的粗定位信息,并采集自身周围的点云帧,以所述粗定位信息中所包含的粗略位置周围的若干个候选位置为采样位置,在预先构建的点云地图中进行采样,得到若干个候选参考帧,将所述定位帧与每个候选参考帧进行比对,并根据比对所得到的各候选参考帧与定位帧的匹配度从各候选参考帧中选择出目标参考帧,即可根据目标参考帧在所述点云地图中的采样位姿对所述待定位对象进行定位,可以看出,在经过若干次的采样和比对之后,仅需要将定位帧与所述目标参考帧进行配准,即可基于目标参考帧在点云地图中的采样位置确定出待定位对象的位姿信息,实现了配准范围的缩小,减少了配准所需的计算资源。
90.本说明书一实施例中,在确定出目标参考帧之后,可以基于目标参考帧在点云地图中对应的采样位姿确定出待定位对象的位姿信息,具体的,可以根据所述目标参考帧中所包含的点云与所述定位帧中所包含的点云之间的差异,确定出将所述定位帧中点云投射至所述点云地图的坐标系下时,所述待定位对象的位姿信息。
91.更进一步的,可以对所述目标参考帧中所包含的点云以及所述定位帧中所包含的点云进行配准,得到所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系;根据该目标参考帧在所述点云地图中的采样位姿,以及所述定位帧中所包含的
点云与所述目标参考帧中所包含的点云之间的变换关系,确定所述待定位对象的位姿信息,其中,所述变换关系可以为旋转平移矩阵。
92.本说明书一实施例中,在通过上述方式确定所述待定位对象的位姿信息之前,还可以并不直接根据二者的变换关系确定所述待定位对象的位姿信息,而是先判断所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的差异是否大于预先设定的点云差异阈值,例如,所述旋转矩阵和/或平移矩阵中的参数大于指定的参数差异阈值,若是,可以重新获取所述待定位对象的粗定位信息,并重新采集所述待定位对象周围的点云帧,若否,则可以根据所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系,基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息。
93.此外,由于需要确定采样位姿,才能够在所述点云地图中进行采样,并生成候选参考帧。本说明书实施例上述部分说明了如何确定候选位置,以下,本说明书实施例中示例性提出一种确定候选姿态的方式。
94.在获取到粗略位置之后,可以以所述粗略位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,生成若干个点云帧,并将生成的点云帧作为视角参考帧,其中,每个视角参考帧的采集姿态不同。
95.示例性的,当所述待定位对象为无人车时,由于无人车行驶在道路的路面上,因此可以假定所述无人车的俯仰角和横滚角均为0
°
,然后,可以先确定初始航向角,然后确定出航向角为所述初始航向角、俯仰角和横滚角均为0
°
的初始姿态,并将该初始姿态作为采样姿态,基于所述点云地图生成以所述粗略位置为采样位置,以该初始姿态作为采样姿态的视角参考帧,然后,将所述航向角相对于所述初始航向角转动指定角度,得到另一个采样姿态,以该采样姿态,以所述粗略位置为采样位置,基于所述点云地图生成另一个视角参考帧,然后在该航向角的基础上继续转动指定角度,直到将所述航向角转动回所述初始航向角,并在上述过程中得到若干个视角参考帧。
96.当然,还可以采用其他方式生成若干视角参考帧,例如,可以预先设定航向角、俯仰角和横滚角,得到若干个采样姿态,并以所述粗略位置为采样位置,基于各采样姿态在所述点云地图中进行采样,并得到若干视角参考帧。本说明书实施例对于如何生成视角参考帧不作限制。
97.然后,通过上述任一方式生成若干个视角参考帧之后,针对每个视角参考帧,可以采用上述任一方式,对该视角参考帧中所包含的点云与所述定位帧中所包含的点云进行比对,并确定出该视角参考帧与所述定位帧的匹配度。
98.然后,可以根据各视角参考帧与所述定位帧的匹配度,以及每个视角参考帧在所述点云地图中对应的采样姿态,确定出至少一个候选姿态。针对每个候选姿态,以该候选位置为所述点云地图中的采样位置,以该候选姿态为所述点云地图中的采样姿态,在预先构建的点云地图中进行采样。
99.也就是说,在确定出各候选位置,以及各候选姿态之后,可以针对每个候选位置,针对每个候选姿态,确定以该候选位置为采样位置,以该候选姿态为采样姿态的采样位姿,从而得到若干各采样位姿。然后以各采样位姿基于所述点云地图的坐标系下进行采样,以得到所生成的候选参考帧。
100.此外,除了可以通过上述视角参考帧与定位帧比对所得到的匹配度从各视角参考帧的采样姿态中选择出候选姿态,还可以将其他的指定姿态作为候选姿态。
101.例如,当所述待定位对象的粗定位信息中包括粗略姿态时,可以将该粗略姿态作为指定姿态,再例如,当所述待定位对象为无人车时,可以确定所述待定位对象所在的道路的车道线方向,并将所述待定位对象的航向与所述车道线方向的夹角为零的姿态作为指定姿态,等等。
102.在所述待定位对象的运动速度低于预先设定的速度阈值的情况下,例如对待定位对象进行初始化定位时,为了提高定位的准确性,还可以多次采用上述任一方式,确定出指定数量个待定位设备的位姿信息,然后判断所确定出的所述待定位对象的各位姿信息之间的差异是否大于预先设定的位姿差异阈值,若是,重新确定指定数量个所述待定位对象的位姿信息,若否,根据所确定出的待定位对象的各位姿信息,确定所述待定位对象的目标位姿。
103.本说明书实施例对于指定数量以及位姿差异阈值不作限制。
104.此外,在通过上述方式实现待定位对象的定位之后,可以通过待定位对象所搭载的探测设备,采用点云地图实现运动过程中的定位。而当出现定位异常时,例如,由于点云地图所描述的是定位区域内的场景,因此,当检测到待定位对象的位置位于定位区域外时,无法通过配准输出待定位对象的位姿信息,在此情形下,可以重新采用本说明书上述方式定位待定位对象的位姿信息。
105.以上为本说明书的一个或多个实施例提供的定位方法,基于同样的思路,本说明书还提供了相应的定位装置,如图3所示。
106.图3为本说明书提供的一种定位装置示意图,该装置包括:
107.粗定位模块300,用于获取待定位对象的粗定位信息,其中,所述粗定位信息中至少包括所述待定位对象的粗略位置;采集待定位对象周围的点云帧,作为定位帧;
108.采样模块302,用于确定所述粗略位置周围的若干个候选位置,针对每个候选位置,以该候选位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,生成若干个点云帧,并将所生成的点云帧作为候选参考帧,其中,以该候选位置为采样位置所生成的每个候选参考帧的采样姿态不同;
109.匹配模块304,用于针对每个候选参考帧,对该候选参考帧中所包含的点云与所述定位帧中所包含的点云进行比对,并确定出该候选参考帧与所述定位帧的匹配度;
110.位姿确定模块306,用于根据各候选参考帧与所述定位帧的匹配度,从各候选参考帧中选择出目标参考帧,并基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息。
111.可选地,所述采样模块302具体用于,以所述粗略位置为所述点云地图中的采样位置,在预先构建的点云地图中进行采样,生成若干个点云帧,并将生成的点云帧作为视角参考帧,其中,每个视角参考帧的采集姿态不同;针对每个视角参考帧,对该视角参考帧中所包含的点云与所述定位帧中所包含的点云进行比对,并确定出该视角参考帧与所述定位帧的匹配度;根据各视角参考帧与所述定位帧的匹配度,以及每个视角参考帧在所述点云地图中对应的采样姿态,确定出至少一个候选姿态;针对每个候选姿态,以该候选位置为所述点云地图中的采样位置,以该候选姿态为所述点云地图中的采样姿态,在预先构建的点云
地图中进行采样。
112.可选地,将所述待定位对象的粗定位信息中所包括的粗略姿态确定为指定姿态;和/或,当所述待定位对象为无人车时,确定所述待定位对象所在的道路的车道线方向,并将所述待定位对象的航向与所述车道线方向的夹角为零的姿态作为指定姿态;所述采样模块302具体用于,确定出与所述定位帧的匹配度最高的视角参考帧,将该视角参考帧在所述点云地图中的采样姿态以及指定姿态作为候选姿态。
113.可选地,所述位姿确定模块306具体用于,根据各候选参考帧与所述定位帧的匹配度,判断各候选参考帧中是否包括至少一个与所述定位帧的匹配度大于预先设定的匹配度阈值的候选参考帧;若是,将各候选参考帧中与所述定位帧的匹配度最大的候选参考帧作为目标参考帧,若否,重新获取所述待定位对象的粗定位信息,并重新采集所述待定位对象周围的点云帧。
114.可选地,所述位姿确定模块306具体用于,对所述目标参考帧中所包含的点云以及所述定位帧中所包含的点云进行配准,得到所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系;根据该目标参考帧在所述点云地图中的采样位姿,以及所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系,确定所述待定位对象的位姿信息。
115.可选地,确定所述待定位对象的位姿信息之前,所述位姿确定模块306具体用于,根据所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系,判断所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的差异是否大于预先设定的点云差异阈值;若是,重新获取所述待定位对象的粗定位信息,并重新采集所述待定位对象周围的点云帧,若否,根据所述定位帧中所包含的点云与所述目标参考帧中所包含的点云之间的变换关系,基于该目标参考帧在所述点云地图中对应的采样位姿,确定所述待定位对象的位姿信息。
116.可选地,所述粗定位模块300具体用于,在所述待定位对象的运动速度低于预先设定的速度阈值的情况下,确定指定数量个所述待定位对象的位姿信息;判断所确定出的所述待定位对象的各位姿信息之间的差异是否大于预先设定的位姿差异阈值;若是,重新确定指定数量个所述待定位对象的位姿信息,若否,根据所确定出的待定位对象的各位姿信息,确定所述待定位对象的目标位姿。
117.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述定位方法。
118.本说明书还提供了图4所示的无人驾驶设备的结构示意图。如图4所示,在硬件层面,该电子设备包括处理器、内部总线、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述定位方法。
119.当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
120.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然
而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
121.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
122.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
123.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
124.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
125.本发明是参考根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
126.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
127.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
128.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
129.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
130.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
131.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
132.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
133.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程
序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
134.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
135.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献