车辆位姿确定方法、装置及车辆与流程

文档序号:30420499发布日期:2022-06-15 13:02阅读:467来源:国知局
车辆位姿确定方法、装置及车辆与流程

1.本技术实施例涉及自动驾驶领域,特别涉及一种车辆位姿确定方法、装置及车辆。


背景技术:

2.车辆位姿确定是自动驾驶领域中的关键技术之一,其主要是指利用车载激光雷达、imu(inertial measurement unit,惯性测量单元)等传感器,实现对车辆的高精度实时位姿确定。
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.根据所述车辆的当前位姿、所述至少一个匹配位姿和每个匹配位姿分别对应的匹配概率,确定所述车辆的当前位姿在多个自由度上分别对应的第二置信度。
47.另一方面,提供了一种车辆位姿确定装置,所述装置包括:
48.获取模块,用于获取多帧点云数据,所述多帧点云数据包括当前时刻和当前时刻之前的点云数据;
49.栅格化模块,用于对所述多帧点云数据进行栅格化,得到第一栅格地图,
50.第一确定模块,用于从多个目标位姿中确定所述第一栅格地图与预建的第二栅格地图对应的至少一个匹配位姿;
51.第二确定模块,用于根据所述至少一个匹配位姿,确定车辆的当前位姿。
52.在一种可能的实现方式中,所述获取模块具体用于:
53.接收激光雷达在当前时刻采集的第一点云数据;
54.将所述第一点云数据转换至里程计坐标系下,得到第二点云数据;
55.将所述第二点云数据添加至滑动点云集合,以对所述滑动点云集合进行更新,所述滑动点云集合包括当前时刻之前的至少一帧点云数据,且所述至少一帧点云数据是将所述激光雷达在当前时刻之前采集的点云数据转换到里程计坐标系下得到;
56.获取更新后的滑动点云集合中的多帧点云数据。
57.在一种可能的实现方式中,所述获取模块还用于:
58.根据当前时刻的里程计数据,确定所述车辆的当前里程计位姿;
59.确定所述当前里程计位姿中的位置坐标与所述滑动点云集合中最后一帧点云数
据对应的里程计位姿中的位置坐标之间的距离,得到第一距离,所述最后一帧点云数据是指所述滑动点云集合中采集时刻距离当前时刻最近的一帧点云数据;
60.如果所述第一距离大于参考距离阈值,则执行将所述第一点云数据转换至里程计坐标系下的步骤。
61.在一种可能的实现方式中,所述获取模块还用于:
62.如果所述滑动点云集合内的点云数据的帧数大于第一阈值,则将所述滑动点云集合中的第一帧点云数据删除,并执行将所述第二点云数据添加至所述滑动点云集合中的步骤;
63.或者,如果根据所述滑动点云集合内的所有点云数据对应的里程计位姿和当前里程计位姿确定的累加距离大于第二阈值,则从所述第一帧点云数据开始对所述滑动点云集合中的点云数据进行删除,直到根据删除后的滑动点云集合内的所有点云数据对应的里程计位姿和所述当前里程计位姿确定的累加距离不大于所述第二阈值为止,执行将所述第二点云数据添加至所述滑动点云集合的步骤。
64.在一种可能的实现方式中,所述栅格化模块用于:
65.确定所述多帧点云数据中用于表征动态障碍物的目标激光点;
66.对所述多帧点云数据中除所述目标激光点之外的其他激光点进行栅格投影,得到所述第一栅格地图。
67.在一种可能的实现方式中,所述栅格化模块用于:
68.根据预测位姿将所述多帧点云数据转换至世界坐标系下,所述预测位姿根据当前时刻之前所述车辆的历史位姿和当前时刻的里程计数据确定得到;
69.将转换至世界坐标系下的多帧点云数据包括的多个激光点投影至所述第二栅格地图中对应的栅格中;
70.从所述多个激光点中获取投影至所述第二栅格地图中的路面栅格内的第一激光点;
71.如果所述第一激光点与路面之间的高度差大于第三阈值,则将所述第一激光点作为所述目标激光点。
72.在一种可能的实现方式中,所述装置还用于:
73.获取当前时刻之前所述车辆的历史位姿在多个自由度上分别对应的第一置信度;
74.根据多个第一置信度和预测位姿,确定与所述预测位姿相关联的所述多个目标位姿,所述预测位姿根据当前时刻之前所述车辆的历史位姿和当前时刻的里程计数据确定得到。
75.在一种可能的实现方式中,所述第一确定模块用于:
76.确定所述第一栅格地图和所述第二栅格地图在多个目标位姿下的匹配概率;
77.从所述第一栅格地图与所述第二栅格地图在所述多个目标位姿下的匹配概率中确定最大匹配概率;
78.将所述最大匹配概率对应的目标位姿作为第一目标位姿;
79.从所述多个目标位姿中获取与所述第一目标位姿相关联的多个第二目标位姿;
80.将所述第一目标位姿和所述第二目标位姿作为所述匹配位姿。
81.在一种可能的实现方式中,所述第一栅格地图和所述第二栅格地图中的每个栅格
的栅格数据包括投影至相应栅格的激光点的反射强度的标准差、投影至相应栅格的激光点的高度值中的最大高度值、边缘反射强度值和高度描述子,其中,所述边缘反射强度值用于表征投影至相应栅格的相邻栅格的激光点的反射强度分布,所述高度描述子用于表征投影至相应栅格的激光点在高度方向上的分布。
82.在一种可能的实现方式中,所述第一确定模块用于:
83.根据所述第一栅格地图和所述第二栅格地图中每个栅格的栅格数据中的反射强度的标准差和边缘反射强度值,确定所述第一栅格地图和所述第二栅格地图在每个目标位姿下的反射强度差异值;
84.根据所述第一栅格地图和所述第二栅格地图中对应的栅格的栅格数据中的最大高度值,确定所述第一栅格地图和所述第二栅格地图在每个目标位姿下的高度差异值;
85.根据所述第一栅格地图和所述第二栅格地图在每个目标位姿下的反射强度差异值、高度差异值、所述第一栅格地图和所述第二栅格地图中每个栅格的栅格数据中的高度描述子,确定所述第一栅格地图和所述第二栅格地图在相应目标位姿下的匹配概率。
86.在一种可能的实现方式中,所述第二确定模块用于:
87.根据所述至少一个匹配位姿和每个匹配位姿分别对应的匹配概率,确定所述车辆的当前位姿。
88.在一种可能的实现方式中,所述装置还用于:
89.根据所述车辆的当前位姿、所述至少一个匹配位姿和每个匹配位姿分别对应的匹配概率,确定所述车辆的当前位姿在多个自由度上分别对应的第二置信度。
90.另一方面,提供了一种车辆,所述车辆包括:
91.处理器;
92.用于存储处理器可执行指令的存储器;
93.其中,所述处理器被配置为执行上述的车辆位姿确定方法的步骤。
94.在一种可能的实现方式中,所述车辆还包括:激光雷达、imu和轮速传感器;
95.所述激光雷达用于向所述处理器发送点云数据;
96.所述imu用于向所述处理器发送所述车辆的线加速度和角速度;
97.所述轮速传感器用于向所述处理器发送所述车辆的车轮转速;
98.所述处理器还用于根据所述车辆的线加速度、角速度和车轮转速,确定里程计数据。
99.在一种可能的实现方式中,所述处理器还用于根据所述车辆的当前位姿进行路线规划,或者,根据所述车辆的当前位姿控制所述车辆自动行驶。
100.另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述车辆位姿确定方法的步骤。
101.另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的车辆位姿确定方法。
102.本技术实施例提供的技术方案带来的有益效果至少包括:
103.在本技术实施例中,通过当前时刻的点云数据和累积的当前时刻之前的点云数据来确定车辆的当前位姿。其中,多帧点云数据能够更为充分的反映环境状况,这样,本技术实施例能够高效充分利用激光雷达的感知信息,从而降低位姿偏差,提高确定的车辆位姿
的精度。
附图说明
104.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
105.图1是本技术实施例提供的一种车辆位姿确定方法所涉及的系统架构图;
106.图2是本技术实施例提供的一种车辆位姿确定方法流程图;
107.图3是本技术实施例提供的一种确定高度描述子的示意图;
108.图4是本技术实施例提供的一种车辆位姿确定装置的结构示意图;
109.图5是本技术实施例提供的一种用于确定车辆位姿的计算设备的结构示意图。
具体实施方式
110.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
111.在对本技术实施例进行详细的解释说明之前,先对本技术实施例提供的车辆位姿确定方法所涉及的系统架构进行介绍。
112.图1是本技术实施例提供的一种车辆位姿确定方法所涉及的系统架构图。如图1所示,该系统中包括计算设备101和激光雷达102。其中,计算设备101与激光雷达102建立有通信连接,激光雷达102搭载在待确定位姿的车辆上。
113.需要说明的是,在车辆行驶过程中,激光雷达102能够按照预设时间间隔采集点云数据。每采集到一帧点云数据,激光雷达102将采集到的一帧点云数据发送至计算设备101。其中,点云数据是指包括多个激光点的数据的集合。其中,每个激光点的数据包括相应激光点的三维位置坐标和反射强度。
114.计算设备101接收激光雷达102发送的点云数据,并且,每当计算设备101接收到一帧点云数据时,该计算设备即根据本技术实施例提供的车辆位姿确定方法来确定该车辆的当前位姿。在确定车辆的当前位姿之后,该计算设备可以将确定的当前位姿发送至车辆的控制系统,以便车辆的控制系统根据确定的当前位姿来进行驾驶决策。其中,驾驶决策包括调整车辆的行驶路线、调整车辆速度等,本技术实施例对此不做限定。其中,车辆位姿包括车辆所处的位置和姿态。
115.可选地,在一些可能的情况中,该系统中还可以包括imu103和轮速传感器104。其中,imu103和轮速传感器104均与计算设备101建立有通信连接。在车辆行驶过程中,imu103用于按照一定时间间隔测量车辆的线加速度和角速度,并将测得的线加速度和角速度发送至计算设备101。轮速传感器104用于按照一定时间间隔测量车辆的车轮转速,并将测得的车轮转速发送至计算设备101。计算设备101在接收到imu103和轮速传感器104发送的数据之后,根据接收到的数据能够计算得到车辆在当前时刻相对于上一时刻的位姿变化值,该位姿变化值即为里程计数据。
116.计算设备101在得到位姿变化值之后,可以根据该位姿变化值以及上一时刻确定
的里程计位姿,计算得到当前里程计位姿。所谓里程计位姿是指从车辆开始行驶起,依赖里程计数据计算得到的在里程计坐标系下的位姿。除此之外,计算设备101还可以根据该位姿变化值,结合上一时刻通过本技术实施例提供的方法确定得到的该车辆的位姿,确定得到车辆在当前时刻的预测位姿,进而根据该预测位姿、当前时刻激光雷达102采集到的点云数据以及当前时刻之前的点云数据来确定车辆的当前位姿。
117.需要说明的是,在本技术实施例中,计算设备101可以为车载终端、智能手机、平板电脑、个人计算机等终端设备。或者,计算设备101也可以为云服务平台的计算设备,例如,云服务平台的服务器或服务器集群等,本技术实施例对此不做限定。另外,在本技术实施例中,待确定位姿的车辆可以为无人驾驶车辆或者是具备自动驾驶功能的智能车辆,本技术实施例对此也不做限定。
118.接下来对本技术实施例提供的车辆位姿确定方法进行介绍。
119.图2是本技术实施例提供的一种车辆位姿确定方法流程图,该方法应用于图1所示的计算设备中,该方法包括如下几个步骤:
120.步骤201:获取多帧点云数据,该多帧点云数据包括当前时刻和当前时刻之前的点云数据。
121.在本技术实施例中,激光雷达按照一定时间间隔采集点云数据。每当激光雷达采集到一帧点云数据,即将采集到的该帧点云数据发送至计算设备。基于此,当激光雷达在当前时刻采集到第一点云数据之后,将第一点云数据发送至计算设备。相应地,计算设备接收激光雷达发送的第一点云数据,并获取当前时刻之前的至少一帧点云数据,从而得到多帧点云数据。其中,一帧点云数据是指包括多个激光点的数据的集合。每个激光点的数据包括相应激光点的三维位置坐标和反射强度。
122.需要说明的是,由于激光雷达采集到的点云数据是雷达坐标系下的数据,而随着车辆的行驶,雷达坐标系在不断的移动,因此,为了后续能够将第一点云数据和当前时刻之前激光雷达采集的点云数据融合起来确定车辆的位姿,计算设备可以将接收到的第一点云数据与当前时刻之前的点云数据转换至同一坐标系下。
123.示例性地,在本技术实施例中,计算设备中可以存储有一个滑动点云集合,该滑动点云集合中包括当前时刻之前的至少一帧点云数据,且该至少一帧点云数据中的每帧点云数据均是计算设备在接收到激光雷达发送的相应的点云数据之后转换到里程计坐标系下得到的。其中,里程计坐标系是指以车辆的起始位姿建立的坐标系,因此,该里程计坐标系不会随着车辆的行驶而实时变化。基于此,计算设备在接收到第一点云数据之后,可以将第一点云数据也转换至里程计坐标系下,得到第二点云数据,并将第二点云数据添加至滑动点云集合,以对滑动点云集合进行更新。之后,计算设备获取更新后的滑动点云集合中的多帧点云数据。这样,获取到的当前时刻和当前时刻之前的多帧点云数据即为同一坐标系下的数据。
124.可选地,在一些可能的实现方式中,计算设备也可将激光雷达采集的当前时刻和当前时刻之前的多帧点云数据转换至其他不随车辆的行驶而变化的坐标系下,以此来实现对多帧点云数据的融合,上述仅是以里程计坐标系为例,并不构成对本技术实施例的限定。
125.可选地,在一些可能的情况中,在将第一点云数据转换至里程计坐标系下之前,计算设备还可以根据当前时刻的里程计数据,确定车辆的当前里程计位姿,确定当前里程计
位姿中的位置坐标与滑动点云集合中最后一帧点云数据对应的里程计位姿中的位置坐标之间的距离,得到第一距离,如果第一距离大于参考距离阈值,再执行将第一点云数据转换至里程计坐标系下的步骤。其中,最后一帧点云数据是指滑动点云集合中采集时刻距离当前时刻最近的一帧点云数据。
126.在本技术实施例中,计算设备在接收到激光雷达当前采集的第一点云数据的同时,还可以根据最近一次接收到的imu的数据和轮速传感器的数据,计算当前时刻里程计数据。其中,当前时刻的里程计数据包括车辆相较于上一时刻确定的里程计位姿的位姿变化值。
127.计算设备在得到当前时刻的里程计数据之后,可以获取上一时刻确定的里程计位姿,并在上一时刻的里程计位姿上累加该位姿变化值,从而得到车辆的当前里程计位姿。其中,里程计位姿是指从车辆开始行驶起根据里程计输出的位姿变化值和车辆的初始位姿逐渐累积得到的车辆位姿。
128.在确定当前里程计位姿之后,计算设备可以获取滑动点云集合中最后一帧点云数据对应的里程计位姿。其中,滑动点云集合中的各帧点云数据可以按照各帧点云数据的采集时刻的先后顺序进行排列,这样,最后一帧点云数据即为当前时刻的上一时刻采集到的点云数据。
129.由于车辆的位姿包括车辆的三维位置坐标和姿态两部分信息,因此,在获取到最后一帧点云数据对应的里程计位姿之后,计算设备可以获取当前里程计位姿中包括的车辆的当前位置坐标,并获取最后一帧点云数据对应的里程计位姿中包括的车辆在上一时刻的位置坐标。之后,计算设备计算这两个位置坐标之间的距离,得到第一距离,并将第一距离与参考距离阈值进行比较。如果第一距离大于参考距离阈值,说明从上一时刻到当前时刻,车辆移动的距离满足再次确定位姿的要求,此时,计算设备将第一点云数据转换至里程计坐标系下,以便后续确定车辆位姿。可选地,如果第一距离不大于参考距离阈值,则说明从上一时刻到当前时刻,车辆移动的距离比较短,此时考虑到车辆的位姿变化比较小,为了节省计算资源,则认定当前不符合再次确定位姿的要求,在这种情况下,计算设备可以丢弃第一点云数据,并结束操作。
130.可选地,由前述介绍可知,在将第一点云数据转换至里程计坐标系下得到第二点云数据之后,计算设备可以将第二点云数据添加至滑动点云集合。其中,滑动点云集合中包括至少一帧当前时刻之前的点云数据。基于此,为了防止滑动点云集合中包括的点云数据随着时间的延长而逐渐增多,所占存储资源越来越大,计算设备在将第二点云数据添加至滑动点云集合之前,还可以先对滑动点云集合中包括的当前时刻之前的点云数据的帧数进行调整控制。
131.示例性地,在一种可能的实现方式中,计算设备将滑动点云集合内的点云数据的帧数与第一阈值进行比较,如果滑动点云集合内的点云数据的帧数大于第一阈值,则将滑动点云集合中的第一帧点云数据删除,之后再执行将第二点云数据添加至滑动点云集合中的步骤。
132.其中,第一阈值为预先设定的参考阈值,且第一阈值为不小于2的整数。另外,第一帧点云数据是指滑动点云集合中采集时刻距离当前时刻最远的一帧数据。由于第一帧点云数据的采集时刻距离当前时刻最远,因此,第一帧点云数据对于当前时刻的位姿确定的参
考意义相对其他点云数据更小,基于此,在滑动点云集合内的点云数据的帧数大于第一阈值的情况下,通过删除滑动点云集合中的第一帧点云数据来调整点云数据的帧数,相较于删除其他帧点云数据更有利于后续高精度位姿的确定。
133.当然,计算设备也可以根据其他原则来删除滑动点云集合中的一帧点云数据,例如,根据各帧点云数据的数据质量删除质量较差的点云数据,本技术实施例对此不作限定。
134.可选地,在另一种可能的实现方式中,计算设备可以从滑动点云集合内的第一帧点云数据开始,根据每帧点云数据对应的里程计位姿,逐帧累加里程计距离,从而得到滑动点云集合内所有点云数据的累加距离。在这种情况下,计算设备将滑动点云集合已经累加的距离与第一距离相加,得到当前时刻的累加距离,并将当前时刻的距离与第二阈值进行比较,如果该距离大于第二阈值,则从滑动点云集合中的第一帧点云数据开始对滑动点云集合中的点云数据进行删除,直到根据删除后的滑动点云集合内的所有点云数据对应的里程计位姿和当前里程计位姿确定的累加距离不大于第二阈值为止,再执行将第二点云数据添加至滑动点云集合的步骤。
135.也就是说,计算设备可以通过点云数据对应的里程计位姿,估计滑动点云集合中最早采集的一帧点云数据的采集时刻到当前时刻车辆移动的距离。由于随着车辆移动距离的增加,点云数据也在增加,所以,本技术实施例可以通过将该距离与第二阈值来比较,以此来确定滑动点云集合中累积的点云数据是否需要控制。其中,如果该距离大于第二阈值,则说明滑动点云集合中累积的点云数据较多,此时,计算设备从第一帧点云数据开始删除,每删除一帧点云数据,则重新根据滑动点云集合中所有点云数据对应的里程计位姿和当前里程计位姿重新计算累加距离,并重新判断该累加距离是否大于第二阈值,直至计算得到的累加距离不大于第二阈值为止,则认为该滑动点云集合中包括的点云数据的帧数满足要求,此时,计算设备再将第二点云数据添加至滑动点云集合中,以得到更新后的滑动点云集合。
136.步骤202:对多帧点云数据进行栅格化,得到第一栅格地图。
137.在通过上述步骤201获取到当前时刻和当前时刻之前的多帧点云数据之后,接下来,计算设备将该多帧点云数据进行栅格化,从而得到第一栅格地图。
138.其中,计算设备中存储有二维平面栅格地图,该二维平面栅格地图包括将世界坐标系下的地平面按照一定的尺寸划分得到的多个栅格。其中,每个栅格对应有一个世界坐标系下的二维位置坐标。而由前述介绍可知,获取到的多帧点云数据中的每帧点云数据包括多个激光点的数据,每个激光点的数据包括相应激光点在里程计坐标系下的三维位置坐标。基于此,在本技术实施例中,计算设备首先将多帧点云数据转换至世界坐标系下,然后,再根据世界坐标系下的多帧点云数据中每个激光点的三维位置坐标,将该多帧点云数据包括的激光点投影至二维平面栅格地图,从而得到第一栅格地图。
139.示例性地,计算设备首先根据当前时刻之前车辆的历史位姿和当前时刻的里程计数据,确定车辆的预测位姿。之后,根据该预测位姿将里程计坐标系下的多帧点云数据转换至世界坐标系下。其中,当前时刻之前车辆的历史位姿是指当前时刻之前最近一次通过本技术实施例提供的方法确定的车辆的位姿。
140.由前述介绍可知,当前时刻的里程计数据包括从上一时刻到当前时刻之间的位姿变化值,基于此,在本技术实施例中,计算设备在上一时刻确定的车辆的位姿的基础上累加
该位姿变化值,从而得到预测位姿,此时,该预测位姿为世界坐标系下的车辆的位姿。在确定预测位姿之后,计算设备将多帧点云数据乘以当前里程计位姿的逆矩阵,从而将多帧点云数据转换至当前的车体坐标系下,之后,将转换到当前车体坐标系下的多帧点云数据乘以预测位姿,从而将当前车体坐标系下的多帧点云数据转换至世界坐标系下。
141.在将多帧点云数据转换至世界坐标系下之后,计算设备即可以将该多帧点云数据包括的多个激光点投影至二维平面栅格地图中,从而得到第一栅格地图。
142.其中,以多帧点云数据中的任一激光点为例,计算设备获取该激光点的三维位置坐标中除高度之外的二维位置坐标,也即,获取该激光点的x方向和y方向上的位置坐标。之后,将获取的该激光点的二维位置坐标和二维平面栅格地图中的各个栅格对应的二维位置坐标进行匹配,从而将该激光点投影至匹配到的与该激光点的距离最近的栅格中。对于多帧点云数据中的每个激光点,计算设备均可以参考上述方法来对其进行投影,从而将每个激光点投影至二维平面栅格地图中对应的一个栅格中,得到第一栅格地图。
143.需要说明的是,在将每个激光点投影至二维平面栅格地图中对应的栅格中之后,计算设备可以根据投影至各个栅格中的激光点的数据,确定第一栅格地图中各个栅格的栅格数据。
144.其中,以任一栅格为例,计算设备统计投影至该栅格中的激光点数目,并根据该栅格内的各个激光点的数据中包括的反射强度和统计得到的激光点数目,确定反射强度的均值和反射强度的标准差。
145.在得到每个栅格的反射强度的均值之后,对于任一栅格,计算设备根据该栅格的相邻栅格的反射强度的均值,确定该栅格的边缘反射强度值。其中,该边缘反射强度值能够表征投影至该栅格的相邻栅格的激光点的反射强度分布。
146.示例性地,计算设备可以通过以下公式(1)来计算栅格的边缘反射强度值:
[0147][0148]
其中,δr
i,j
为第i行第j列栅格的边缘反射强度值,r
i,j
为第i行第j列栅格的反射强度的均值,r
i,j+1
为第i行第(j+1)列的栅格的反射强度的均值,r
i,j-1
为第i行第(j-1)列的栅格的反射强度的均值,r
i+1,j
为第(i+1)行第j列的栅格的反射强度的均值,r
i-1,j
为第(i-1)行第j列的栅格的反射强度的均值。
[0149]
除此之外,对于任一栅格,计算设备还获取该栅格内的激光点的高度值,并从中获取最大高度值。另外,计算设备可以沿高度方向划分多个高度区间,之后,根据该栅格内激光点的高度值在各个高度区间中的分布来确定该栅格对应的高度描述子。
[0150]
示例性地,划分得到的多个高度区间中的每个高度区间对应一个标志位。对于任一高度区间,如果投影至该栅格内的激光点中存在高度值位于该高度区间的激光点,则将该高度区间对应的标志位置为第一数值。如果投影至该栅格内的激光点中不存在位于该高度区间内的激光点,则将该高度区间对应的标志位置为第二数值。如此,各个高度区间的标志位按照高度区间的顺序进行排列,从而得到高度描述子。由此可见,该高度描述子能够表征投影至栅格内的激光点在高度方向上的分布。
[0151]
例如,如图3所示,在第一个高度区间内,不存在投影至该栅格的激光点,此时,第一个高度区间对应的标志位可以设置为第二数值,在本示例中,第二数值为0。第二个高度
区间内存在一个投影至该栅格的激光点,此时,第二个高度区间对应的标志位被置为第一数值,在本示例中,第一数值为1。同理,第三个高度区间内也不存在投影至该栅格的激光点,因此,第三个高度区间对应的标志位为0,第四个高度区间内存在两个投影至该栅格的激光点,所以,第四个高度区间对应的标志位为1,以此类推,按照高度区间的顺序,即能够得到一个多位的整形数据,该整形数据即为该栅格的高度描述子。
[0152]
在通过上述方法确定得到每个栅格的反射强度的标准差、边缘反射强度值、最大高度值和高度描述子之后,计算设备可以将上述数据作为相应栅格的栅格数据。也即,第一栅格地图中的每个栅格的栅格数据包括投影至相应栅格的激光点的反射强度的标准差、投影至相应栅格的激光点的高度值中的最大高度值、边缘反射强度值和高度描述子。
[0153]
可选地,在一些可能的情况中,为了消除点云数据中用于表征动态障碍物的激光点的数据对位姿精度的影响,在对多帧点云数据进行栅格化时,计算设备可以先确定多帧点云数据中用于表征动态障碍物的目标激光点,之后,对多帧点云数据中除目标激光点之外的其他激光点进行栅格投影,从而得到第一栅格地图。
[0154]
其中,在确定多帧点云数据中用于表征动态障碍物的目标激光点时,计算设备可以将转换至世界坐标系下的多帧点云数据包括的多个激光点投影至第二栅格地图中对应的栅格中;从多个激光点中获取投影至第二栅格地图中的路面栅格内的第一激光点;如果第一激光点与路面之间的高度差大于第三阈值,则将第一激光点作为目标激光点。
[0155]
需要说明的是,第二栅格地图是指在开始确定位姿前,预先通过建图算法对采集到的标准点云数据中的激光点进行栅格化后得到的标准环境栅格地图。也就是说,该第二栅格地图中的栅格内包含有标准点云数据中投影至相应栅格的激光点,除此之外,该第二栅格地图中的每个栅格还对应有一个路面标志位,该路面标志位用于指示相应栅格的位置是否为路面,也即,用于指示相应栅格是否为对应路面的路面栅格。基于此,在本技术实施例中,计算设备可以参考前述介绍的激光点投影方法,将转换至世界坐标系下的多帧点云数据中的各个激光点投影至该第二栅格地图中。之后,对于该多帧点云数据中的每个激光点,计算设备判断该激光点投影的栅格对应的路面标志位是否为第一标识,如果是第一标识,则说明该栅格对应的是路面,也即,该激光点是投影至路面栅格的激光点,此时,计算设备可以将该激光点作为第一激光点。进一步地,由于动态障碍物通常是存在于路面之上的,因此,在从多帧点云数据中筛选出二维位置坐标位于路面栅格内的第一激光点之后,计算设备可以进一步的确定第一激光点距离路面的高度,以此来判断第一激光点是否为用于表征动态障碍物的激光点。具体的,计算设备确定第一激光点的三维位置坐标中的高度值与路面之间的距离,如果该距离大于第三阈值,则说明第一激光点就是位于路面之上的动态障碍物对应的激光点,此时,可以将该第一激光点作为目标激光点。
[0156]
对于多帧点云数据中的每个激光点,计算设备均可以参考上述方法来判断相应激光点是否为用于动态障碍物对应的目标激光点,在确定出多帧点云数据中的目标激光点之后,计算设备可以将这些目标激光点删除,然后参考前述介绍的方法,将多帧点云数据中剩余的激光点投影至二维平面栅格地图中,从而得到第一栅格地图。
[0157]
步骤203:从多个目标位姿中确定第一栅格地图与预建的第二栅格地图对应的至少一个匹配位姿。
[0158]
在通过上述方法得到第一栅格地图之后,计算设备首先可以以前述确定的车辆的
预测位姿为基准,确定多个目标位姿。之后,从多个目标位姿中确定第一栅格地图和第二栅格地图对应的至少一个匹配位姿。
[0159]
在一种可能的实现方式中,计算设备获取当前时刻之前车辆的历史位姿在各个自由度上对应的第一置信度,之后,根据多个第一置信度和当前时刻车辆的预测位姿,确定与该预测位姿相关联的多个目标位姿。
[0160]
需要说明的是,在本技术实施例中,计算设备每次在确定车辆的位姿时,还可以确定车辆的位姿在多个自由度上分别对应的置信度。其中,车辆的位姿包括车辆在世界坐标系下的三个方向上的位置坐标和车辆的姿态。车辆的姿态又包括车辆的偏航角、俯仰角和横滚角。因此可知,车辆的位姿对应有6个自由度。由于车辆在行驶过程中主要发生变化的是在世界坐标系下的x方向、y方向上的位置以及偏航角,因此,在本技术实施例中,计算设备可以获取当前时刻之前最近一次确定的车辆的位姿中x方向的位置坐标、y方向的位置坐标和偏航角分别对应的第一置信度。
[0161]
在获取到上述三个第一置信度之后,计算设备可以根据这三个第一置信度,通过下述公式(2)-(4)分别确定得到第三数值、第四数值和第五数值。
[0162]
m=[λ
x

x
]
ꢀꢀꢀꢀꢀ
(2)
[0163]
n=[λy*αy]
ꢀꢀꢀꢀꢀ
(3)
[0164]
s=[λ
yaw

yaw
]
ꢀꢀꢀ
(4)
[0165]
其中,m为第三数值,n为第四数值,s为第五数值,α
x
为当前时刻之前最近一次确定的车辆位姿中x方向上的位置坐标对应的第一置信度,αy为当前时刻之前最近一次确定的车辆位姿中y方向上的位置坐标对应的第一置信度,α
yaw
为当前时刻之前最近一次确定的车辆位姿中偏航角对应的第一置信度,λ
x
、λy、λ
yaw
分别为三个预设常数,[
·
]表示进行取整。
[0166]
在得到上述三个数值之后,计算设备以预测位姿为中心,确定与预测位姿的x坐标相近的m个x坐标,确定与预测位姿的y坐标相近的n个y坐标,确定与预测位姿的偏航角相近的s个偏航角。之后,计算设备将确定得到的m个x坐标、n个y坐标和s个偏航角进行排列组合,从而得到与预测位姿相关联的多个目标位姿。其中,目标位姿的个数就等于m*n*s。
[0167]
例如,假设m=4,预测位姿的x坐标为x1,则计算设备确定得到的与预测位姿的x坐标相近的4个x坐标可以分别为x1-a,x1-2a,x+a,x+2a,其中,a为预设的单位长度。
[0168]
上述是本技术实施例提供的一种确定与预测位姿相近的多个目标位姿的实现方式,在另一种可能的实现方式中,第三数值、第四数值和第五数值也可以是预设的数值,在这种情况下,计算设备可以根据预设的数值来确定多个目标位姿。但是,相比于通过预设的数值来确定多个目标位姿,本技术实施例中利用上一时刻车辆的位姿的多个自由度上的置信度来确定相应自由度上对应的划分个数,进而以此来确定多个目标位姿,这样可以防止因为预测位姿误差过大导致的确定出来的目标位姿与真实位姿相差较远,从而导致的后续第一栅格地图和第二栅格地图难以匹配或匹配效果较差的问题。
[0169]
在确定多个目标位姿之后,计算设备根据第一栅格地图和第二栅格地图中各个栅格的栅格数据,确定第一栅格地图和第二栅格地图在每个目标位姿下的匹配概率,进而根据第一栅格地图和第二栅格地图在每个目标位姿下的匹配概率,从多个目标位姿中确定至少一个匹配位姿。
[0170]
由前述介绍可知,第一栅格地图中的每个栅格的栅格数据包括相应栅格的反射强
度的标准差、边缘反射强度值、最大高度值和高度描述子,基于此,在本技术实施例中,计算设备根据第一栅格地图和第二栅格地图中每个栅格的栅格数据中的反射强度的标准差和边缘反射强度值,确定第一栅格地图和第二栅格地图在每个目标位姿下的反射强度差异值;根据第一栅格地图和第二栅格地图中对应的栅格的栅格数据中的最大高度值,确定第一栅格地图和第二栅格地图在每个目标位姿下的高度差异值;根据第一栅格地图和第二栅格地图在每个目标位姿下的反射强度差异值、高度差异值、第一栅格地图和第二栅格地图中每个栅格的栅格数据中的高度描述子,确定第一栅格地图和所述第二栅格地图在相应目标位姿下的匹配概率。
[0171]
需要说明的是,对于每个目标位姿,计算设备均能够确定出一种该目标位姿下第一栅格地图和第二栅格地图中的栅格对应关系,也就是说,对于不同的目标位姿,第一栅格地图和第二栅格地图中的栅格的对应关系可能是不同的。基于此,以任一目标位姿为例,计算设备能够得到该目标位姿下两个栅格地图中的栅格对应关系。之后,计算设备可以根据该栅格对应关系和两个栅格地图中各个栅格的反射强度的标准差和边缘反射强度值,通过下述公式(5)确定两个栅格地图的反射强度差异值,并根据栅格对应关系和两个栅格地图中各个栅格的最大高度值,通过下述公式(6)确定两个栅格地图的高度差异值。
[0172][0173][0174]
其中,ssdr为反射强度差异值,为第i对对应的栅格中位于第二栅格地图中的栅格的边缘反射强度值,为第i对对应的栅格中位于第一栅格地图中的栅格的边缘反射强度值。为第i对对应的栅格中位于第二栅格地图中的栅格的反射强度的标准差,为第i对对应的栅格中位于第一栅格地图中的栅格的反射强度的标准差。ssda为高度差异值,为第i对对应的栅格中位于第二栅格地图中的栅格的最大高度值,为第i对对应的栅格中位于第一栅格地图中的栅格的最大高度值。n是指第一栅格地图和第二栅格地图中在目标位姿下对应的栅格的对数,也即,第一栅格地图和第二栅格地图中在目标位姿下存在n对对应的栅格。
[0175]
在确定出目标位姿下第一栅格地图和第二栅格地图在反射强度和高度上的差异值之后,计算设备可以根据该目标位姿下两个栅格地图在反射强度和高度上的差异值,以及该目标位姿下两个栅格地图中对应栅格的高度描述子,通过下述公式(7)确定两个栅格地图在该目标位姿下的匹配概率。
[0176][0177]
其中,p为匹配概率,η为归一化常量,nz为第一栅格地图中包含有投影的激光点的栅格的数目,γ为预设的概率权重,ρ为根据第一栅格地图和第二栅格地图中的高度描述子计算得到的相似性权重。
[0178]
需要说明的是,在根据第一栅格地图和第二栅格地图中的高度描述子确定相似性权重时,计算设备可以首先确定每一对对应的栅格的两个高度描述子中对应位的数值相同的位数k。例如,假设高度描述子为32位,某对对应的栅格的两个高度描述子的32位中有16个对应位的数值是相同的,则可以确定这一对栅格对应的k为16。在确定出每一对对应的栅格的k之后,计算所有k的总和,得到n,之后,计算设备根据n,通过下述公式(8)确定公式(7)中的相似性权重。
[0179]
ρ=exp(-κn)
ꢀꢀꢀꢀ
(8)
[0180]
其中,κ为预设常数。
[0181]
对于多个目标位姿中的每个目标位姿,计算设备均可以参考上述方法确定得到第一栅格地图和第二栅格地图在相应目标位姿下的匹配概率。
[0182]
在确定出第一栅格地图和第二栅格地图在每个目标位姿下的匹配概率之后,计算设备可以根据确定出的多个匹配概率,从多个目标位姿中确定至少一个匹配位姿。
[0183]
在第一种可能的实现方式中,计算设备从确定出的多个匹配概率中确定最大匹配概率;将最大匹配概率对应的目标位姿作为第一目标位姿;从多个目标位姿中获取与第一目标位姿相关联的多个第二目标位姿;将第一目标位姿和第二目标位姿作为匹配位姿。
[0184]
其中,在从多个目标位姿中获取与第一目标位姿相关联的多个第二目标位姿时,计算设备可以从多个目标位姿中获取位于指定位姿空间内的目标位姿,从而得到多个第二目标位姿。其中,该指定位姿空间是指以第一目标位姿为中心的指定范围的位姿空间。或者,计算设备以第一目标位姿为中心,然后计算多个目标位姿中除第一目标位姿之外的其他目标位姿与该第一目标位姿之间的距离,按照距离从小到大的顺序,获取排在前n个的目标位姿作为多个第二目标位姿,其中,n为预设数值。
[0185]
在第二种可能的实现方式中,计算设备按照从大到小的顺序对确定出的多个匹配概率进行排序,之后,获取排在前q位的匹配概率;将获取的q个匹配概率对应的目标位姿作为匹配位姿,其中,q为大于1的正整数。
[0186]
在第三种可能的实现方式中,计算设备从确定出的多个匹配概率中确定最大匹配概率;将最大匹配概率对应的目标位姿作为匹配位姿。
[0187]
步骤204:根据至少一个匹配位姿,确定车辆的当前位姿。
[0188]
在从多个目标位姿中确定出匹配位姿之后,如果匹配位姿为多个,则计算设备可以根据每个匹配位姿分别对应的匹配概率对多个匹配位姿进行加权求和,从而得到车辆的当前位姿。其中,各个匹配位姿加权求和时对应的权重即为相应匹配位姿对应的匹配概率。
[0189]
可选地,如果匹配位姿为一个,也即,匹配位姿为最大匹配概率对应的目标位子,则计算设备也可以直接将该匹配位姿作为该车辆的当前位姿。但是,相较于将最大匹配概率对应的目标位姿作为该车辆的当前位姿,本技术实施例通过对多个匹配位姿进行加权求和得到车辆的当前位姿更为精确。
[0190]
在得到车辆的当前位姿之后,计算设备进一步的还可以根据车辆的当前位姿、至少一个匹配位姿和每个匹配位姿分别对应的匹配概率,确定车辆的当前位姿在多个自由度上分别对应的第二置信度。
[0191]
示例性地,计算设备可以通过下述公式(9)确定车辆的当前位姿在多个自由度上分别对应的第二置信度。
[0192][0193]
其中,c为包含有车辆的当前位姿在多个自由度上分别对应的第二置信度的置信度矩阵,pi为至少一个匹配位姿中的第i个匹配位姿对应的匹配概率,xi为第i个匹配位姿,xd为确定出的车辆的当前位姿,β为预设常数。
[0194]
在本技术实施例中,通过当前时刻的点云数据和累积的当前时刻之前的点云数据来确定车辆的当前位姿。其中,多帧点云数据能够更为充分的反映环境状况,这样,本技术实施例能够高效充分利用激光雷达的感知信息,从而降低位姿偏差,提高确定的车辆位姿的精度。
[0195]
其次,在本技术实施例中,在将多帧点云数据进行栅格化时,可以先对多帧点云数据中表征动态障碍物的激光点进行删除,这样,能够消除动态障碍物对于车辆位姿确定的影响,从而提高位姿确定的精确度。
[0196]
第三,在本技术实施例中,在将多帧点云数据中的激光点投影至栅格中之后,计算设备可以确定第一栅格地图中每个栅格的边缘反射强度值、高度最大值和高度描述子。由于边缘反射强度值能够反映相应栅格的边缘反射强度,因此,通过该边缘反射强度值提高了强度信息对位姿的约束。而高度最大值和高度描述子能够提高高度信息对位姿的约束,从而能够有效解决因激光雷达观测不充分所引起的定位偏移。
[0197]
第四,在本技术实施例中,在以预测位姿为中心确定多个目标位姿时,以上一时刻确定的位姿的多个自由度上分别对应的置信度来确定目标位姿的个数和范围,这样能够有效防止因为预测位姿误差过大导致的确定出来的目标位姿与真实位姿相差较远,从而导致的后续第一栅格地图和第二栅格地图难以匹配或匹配效果较差的问题,进而能够提高确定的当前位姿的精确度。
[0198]
上述所有可选技术方案,均可按照任意结合形成本技术的可选实施例,本技术实施例对此不再一一赘述。
[0199]
接下来对本技术实施例提供的车辆位姿确定装置进行介绍。
[0200]
图4是本技术实施例提供的一种车辆位姿确定装置400的结构示意图,该车辆位姿确定装置400可以由软件、硬件或者两者的结合实现。该车辆位姿确定装置400可以包括:
[0201]
获取模块401,用于获取多帧点云数据,多帧点云数据包括当前时刻和当前时刻之前的点云数据;
[0202]
栅格化模块402,用于对多帧点云数据进行栅格化,得到第一栅格地图,
[0203]
第一确定模块403,用于从多个目标位姿中确定第一栅格地图与预建的第二栅格地图对应的至少一个匹配位姿;
[0204]
第二确定模块404,用于根据至少一个匹配位姿,确定车辆的当前位姿。
[0205]
在一种可能的实现方式中,获取模块401具体用于:
[0206]
接收激光雷达在当前时刻采集的第一点云数据;
[0207]
将第一点云数据转换至里程计坐标系下,得到第二点云数据;
[0208]
将第二点云数据添加至滑动点云集合,以对滑动点云集合进行更新,滑动点云集合包括当前时刻之前的至少一帧点云数据,且至少一帧点云数据是将激光雷达在当前时刻之前采集的点云数据转换到里程计坐标系下得到;
[0209]
获取更新后的滑动点云集合中的多帧点云数据。
[0210]
在一种可能的实现方式中,获取模块401还用于:
[0211]
根据当前时刻的里程计数据,确定车辆的当前里程计位姿;
[0212]
确定当前里程计位姿中的位置坐标与滑动点云集合中最后一帧点云数据对应的里程计位姿中的位置坐标之间的距离,得到第一距离,最后一帧点云数据是指滑动点云集合中采集时刻距离当前时刻最近的一帧点云数据;
[0213]
如果第一距离大于参考距离阈值,则执行将第一点云数据转换至里程计坐标系下的步骤。
[0214]
在一种可能的实现方式中,获取模块401还用于:
[0215]
如果滑动点云集合内的点云数据的帧数大于第一阈值,则将滑动点云集合中的第一帧点云数据删除,并执行将第二点云数据添加至滑动点云集合中的步骤;
[0216]
或者,如果根据滑动点云集合内的所有点云数据对应的里程计位姿和当前里程计位姿确定的累加距离大于第二阈值,则从第一帧点云数据开始对滑动点云集合中的点云数据进行删除,直到根据删除后的滑动点云集合内的所有点云数据对应的里程计位姿和当前里程计位姿确定的累加距离不大于第二阈值为止,执行将第二点云数据添加至滑动点云集合的步骤。
[0217]
在一种可能的实现方式中,栅格化模块402用于:
[0218]
确定多帧点云数据中用于表征动态障碍物的目标激光点;
[0219]
对多帧点云数据中除目标激光点之外的其他激光点进行栅格投影,得到第一栅格地图。
[0220]
在一种可能的实现方式中,栅格化模块402用于:
[0221]
根据预测位姿将多帧点云数据转换至世界坐标系下,预测位姿根据当前时刻之前车辆的历史位姿和当前时刻的里程计数据确定得到;
[0222]
将转换至世界坐标系下的多帧点云数据包括的多个激光点投影至第二栅格地图中对应的栅格中;
[0223]
从多个激光点中获取投影至第二栅格地图中的路面栅格内的第一激光点;
[0224]
如果第一激光点与路面之间的高度差大于第三阈值,则将第一激光点作为目标激光点。
[0225]
在一种可能的实现方式中,该装置400还用于:
[0226]
获取当前时刻之前车辆的历史位姿在多个自由度上分别对应的第一置信度;
[0227]
根据多个第一置信度和预测位姿,确定与预测位姿相关联的多个目标位姿,预测位姿根据当前时刻之前车辆的历史位姿和当前时刻的里程计数据确定得到。
[0228]
在一种可能的实现方式中,第一确定模块用于:
[0229]
确定第一栅格地图和第二栅格地图在多个目标位姿下的匹配概率;
[0230]
从第一栅格地图与第二栅格地图在多个目标位姿下的匹配概率中确定最大匹配概率;
[0231]
将最大匹配概率对应的目标位姿作为第一目标位姿;
[0232]
从多个目标位姿中获取与第一目标位姿相关联的多个第二目标位姿;
[0233]
将第一目标位姿和第二目标位姿作为匹配位姿。
unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0248]
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本技术中方法实施例提供的车辆位姿确定方法。
[0249]
在一些实施例中,计算设备500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、显示屏505、摄像头组件506、音频电路507、定位组件508和电源509中的至少一种。
[0250]
外围设备接口503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0251]
射频电路504用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它计算设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0252]
显示屏505用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置计算设备500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在计算设备500的不同表面或呈折叠设计;在另一些实施例中,显示屏505可以是柔性显示屏,设置在计算设备500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0253]
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在计算设备的前面板,后置摄像头设置在计算设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0254]
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算设备500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
[0255]
定位组件508用于定位计算设备500的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件508可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0256]
电源509用于为计算设备500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0257]
在一些实施例中,计算设备500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
[0258]
加速度传感器511可以检测以计算设备500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
[0259]
陀螺仪传感器512可以检测计算设备500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对计算设备500的3d动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0260]
压力传感器513可以设置在计算设备500的侧边框和/或显示屏505的下层。当压力传感器513设置在计算设备500的侧边框时,可以检测用户对计算设备500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在显示屏505的下层时,由处理器501根据用户对显示屏505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜
单控件中的至少一种。
[0261]
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置计算设备500的正面、背面或侧面。当计算设备500上设置有物理按键或厂商logo时,指纹传感器514可以与物理按键或厂商logo集成在一起。
[0262]
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制显示屏505的显示亮度。具体地,当环境光强度较高时,调高显示屏505的显示亮度;当环境光强度较低时,调低显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
[0263]
接近传感器516,也称距离传感器,通常设置在计算设备500的前面板。接近传感器516用于采集用户与计算设备500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与计算设备500的正面之间的距离逐渐变小时,由处理器501控制显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与计算设备500的正面之间的距离逐渐变大时,由处理器501控制显示屏505从息屏状态切换为亮屏状态。
[0264]
本领域技术人员可以理解,图5中示出的结构并不构成对计算设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0265]
另外,本技术实施例还提供了一种车辆,该车辆包括处理器,用于存储处理器可执行指令的存储器。其中,该处理器被配置为执行前述实施例中的车辆位姿确定方法。可选地,该车辆包括的处理器和存储器可以为前述实施例的计算设备中的处理器和存储器,也即,该车辆上可以搭载有前述的计算设备。
[0266]
可选地,该车辆还可以包括激光雷达、imu和轮速传感器;其中,激光雷达用于向处理器发送点云数据;imu用于向处理器发送车辆的线加速度和角速度;轮速传感器用于向处理器发送车辆的车轮转速;处理器还用于根据车辆的线加速度、角速度和车轮转速,确定里程计数据。
[0267]
可选地,该车辆上的处理器还用于根据车辆的当前位姿进行路线规划,或者,根据车辆的当前位姿控制车辆自动行驶。
[0268]
本技术实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行上实施例提供的车辆位姿确定方法。
[0269]
本技术实施例还提供了一种包含指令的计算机程序产品,当其在终端上运行时,使得终端执行上述实施例提供的车辆位姿确定方法。
[0270]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0271]
以上所述并不用以限制本技术实施例,凡在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1