一种栅格地图的生成方法、系统、电子设备及存储介质与流程

文档序号:24489187发布日期:2021-03-30 21:14阅读:153来源:国知局
一种栅格地图的生成方法、系统、电子设备及存储介质与流程

本发明属于地图技术领域,特别是涉及栅格地图技术领域,具体为一种栅格地图的生成方法、系统、电子设备及存储介质。



背景技术:

电子地图是指利用计算技术生成的数字形式的地图,其可以广泛用于查询、定位以及导航等场景。电子地图一般分为普通导航地图和高精地图,普通导航地图是面向用户的地图,其提供可视化的界面供用户查询和显示;而高精地图是一种面向机器的地图数据,其可以用于例如自动驾驶、机器人导航和定位等。普通导航地图通常通过卫星地图测绘而获得,其精度通常不高(例如误差可达几米甚至几十米)。高精地图是一种高精确度的地图数据,其不仅精度较高,而且包括可用于精确导航和定位的其他信息,例如车道线信息、对象高度信息、道路形状信息,等等。

栅格地图是一种常用的高精电子地图形式,其将环境划分成一系列栅格,其中每个栅格被标记有值,其表示该栅格被占据。也即,栅格地图是一种对真实环境进行数字栅格化的产物,其通过栅格是否被占据来标识环境中的障碍物。出于对自动驾驶汽车和机器人导航与定位的需求,占据栅格地图广泛应用于无人驾驶汽车以及智能机器人的导航和定位场景中。

目前常用的生成栅格地图的传感器是激光雷达(单线或者多线),一边生成轨迹,一边构建栅格地图。激光遇到障碍物即返回,就被认定为被占用,从原点出发到被占用点经过的栅格被认为成未被占用,其余的点被认为成未知的领域。目前采用激光雷达生成栅格地图的方式,得益于激光雷达精度高、噪声少、距离远、点数多的特点,但是目前采用激光雷达构建地图的方式价格比较昂贵。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种栅格地图的生成方法、系统、电子设备及存储介质,用于提供一种低成本的生成栅格地图的方式。

为实现上述目的及其他相关目的,本发明的实施例提供一种栅格地图的生成方法,包括:获取轨迹数据和毫米波雷达的点云数据;基于所述轨迹数据初始化栅格地图;将当前帧的毫米波雷达的点云数据与对应的所述轨迹数据相乘变换到世界坐标系;基于变换得到的世界坐标系中的点,获取雷达击中点于所述栅格地图中的位置;分别调整所述雷达击中点和未被占用的点的概率值,并基于调整后的概率值更新栅格地图;检测是否完成所有帧的毫米波雷达的点云数据的处理,响应于未完成所有帧的毫米波雷达的点云数据的处理,并基于上述当前帧的处理过程,完成所有其它帧的毫米波雷达的点云数据的处理;基于各帧中雷达击中点的概率值保存所述栅格地图。

于本申请的一实施例中,于步骤s1中,获取满足预设距离范围的毫米波雷达的点云数据。

于本申请的一实施例中,于步骤s5中,调整所述雷达击中点的概率值的实现方式包括:检测所述雷达击中点是否是首次击中;响应于所述雷达击中点是首次击中,标记该雷达击中点,并增加该雷达击中点的概率值;响应于所述雷达击中点不是首次击中,增加该雷达击中点的概率值。

于本申请的一实施例中,于步骤s5中,调整未被占用的点的概率值的实现方式包括:确认所述雷达击中点与车体位置之间的连线上除所述雷达击中点之外的点为未被占用的点;确认所述未被占用的点是否被标记;响应于所述未被占用的点被标记,保持该点的概率值不变;响应于所述未被占用的点未被标记,减小该点的概率值。

于本申请的一实施例中,于步骤s7中,基于各帧中雷达击中点的概率值保存所述栅格地图的实现方式包括:确认所述雷达击中点的概率值是否大于概率阈值;响应于所述雷达击中点的概率值大于所述概率阈值,确认该雷达击中点为占用点,并标记为第一数值;确认所述雷达击中点的概率值是否等于栅格地图的初始值;响应于所述雷达击中点的概率值等于栅格地图的初始值,确认该雷达击中点为未知点,并标记为第二数值;响应于所述雷达击中点的概率值小于等于所述概率阈值,或响应于所述雷达击中点的概率值不等于栅格地图的初始值,确认该雷达击中点为未被占用点,并标记为第三数值。

于本申请的一实施例中,于步骤s1中,所述轨迹数据基于视觉slam数据、激光slam数据、车身数据或毫米波雷达数据获取。

本发明的实施例还提供一种栅格地图的生成系统,包括:数据获取模块,用获取轨迹数据和毫米波雷达的点云数据;初始化模块,用于基于所述轨迹数据初始化栅格地图;坐标变换模块,用于将当前帧的毫米波雷达的点云数据与对应的所述轨迹数据相乘变换到世界坐标系;击中点位置获取模块,用于基于变换得到的世界坐标系中的点,获取雷达击中点于所述栅格地图中的位置;概率更新模块,用于分别调整所述雷达击中点和未被占用的点的概率值,并基于调整后的概率值更新栅格地图;遍历检测模块,用于检测是否完成所有帧的毫米波雷达的点云数据的处理,所述坐标变换模块、所述击中点位置获取模块以及所述概率更新模块响应于未成所有帧的毫米波雷达的点云数据的处理,继续完成所有其它帧的毫米波雷达的点云数据的处理;地图保存模块,用于基于各帧中雷达击中点的概率值保存所述栅格地图。

于本申请的一实施例中,所数据获取模块获取满足预设距离范围的毫米波雷达的点云数据。

于本申请的一实施例中,所述概率更新模块包括:首次击中检测单元,用于检测所述雷达击中点是否是首次击中;概率增加单元,用于响应于所述雷达击中点是首次击中,标记该雷达击中点,并增加该雷达击中点的概率值,响应于所述雷达击中点不是首次击中,增加该雷达击中点的概率值。

于本申请的一实施例中,所述概率更新模块还包括:连线点确认单元,用于确认所述雷达击中点与所述车体位置之间的连线上除所述雷达击中点之外的点为未被占用的点;标记确认单元,用于确认所述未被占用的点是否被标记;概率调整单元,用于响应于所述未被占用的点被标记,保持该点的概率值不变,响应于所述未被占用的点未被标记,减小该点的概率值。

于本申请的一实施例中,所述地图保存模块包括:占用点确认单元,用于确认所述雷达击中点的概率值是否大于概率阈值,并响应于所述雷达击中点的概率值大于所述概率阈值,确认该雷达击中点为占用点,并标记为第一数值;未知点确认单元,用于确认所述雷达击中点的概率值是否等于栅格地图的初始值,并响应于所述雷达击中点的概率值等于栅格地图的初始值,确认该雷达击中点为未知点,并标记为第二数值;未被占用点确认单元,用于响应于所述雷达击中点的概率值小于等于所述概率阈值,或响应于所述雷达击中点的概率值不等于栅格地图的初始值,确认该雷达击中点为未被占用点,并标记为第三数值。

于本申请的一实施例中,所述数据获取模块中获取的轨迹数据基于视觉slam数据、激光slam数据、车身数据或毫米波雷达数据生成。

本发明的实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有程序指令;所述处理器运行程序指令实现如上所述的栅格地图的生成方法。

本发明的实施例还提供一种存储介质,存储有程序指令,所述程序指令被执行时实现如上所述的栅格地图的生成方法。

如上所述,本发明的栅格地图的生成方法、系统、电子设备及存储介质,具有以下有益效果:

1、本发明通过毫米波雷达构建栅格地图,使得建图和定位成本大大降低。

2、本发明中调整击中点概率值的方式可以避免有效的信息会被后来的噪点刷掉,使构建的地图可以反映真实环境的信息。

3、本发明在保存栅格地图时,通过概率值确认是否为被占用的栅格,被击中少量的点会被过滤掉,被多次击中的点会被保留下来,有效的过滤了部分噪点。

附图说明

图1显示为本发明的栅格地图的生成方法的流程示意图。

图2显示为本发明的栅格地图的生成方法中毫米波雷达发出一帧数据的示例图。

图3显示为本发明的栅格地图的生成方法中基于slam轨迹数据初始化栅格地图的示意图。

图4显示为本发明的栅格地图的生成方法中调整雷达击中点的概率值的流程示意图。

图5显示为本发明的栅格地图的生成方法中调整原点和雷达击中点之间的点的流程示意图。

图6显示为本发明的栅格地图的生成方法中保存地图的流程示意图。

图7显示为本发明的栅格地图的生成方法中构建的栅格地图的示意图。

图8显示为本发明的栅格地图的生成方法的整体执行过程示意图。

图9显示为本发明的栅格地图的生成系统的原理结构示意图。

图10显示为本发明的栅格地图的生成系统中概率更新模块的原理结构示意图。

图11显示为本发明的栅格地图的生成系统中概率更新模块的还包括的原理结构示意图。

图12显示为本发明的栅格地图的生成系统中地图保存模块的原理结构示意图。

图13显示为本申请一实施例中的电子设备的结构示意图。

元件标号说明

100栅格地图的生成系统

110数据获取模块

120初始化模块

130坐标变换模块

140击中点位置获取模块

150概率更新模块

151首次击中检测单元

152概率增加单元

153连线点确认单元

154标记确认单元

155概率调整单元

160遍历检测模块

170地图保存模块

171占用点确认单元

172未知点确认单元

173未被占用点确认单元

10电子设备

101处理器

102存储器

s1~s7步骤

s510~s580步骤

s710~s750步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

本实施例的目的在于提供一种栅格地图的生成方法、系统、电子设备及存储介质,用于提供一种低成本的生成栅格地图的方式。

以下将详细阐述本实施例的栅格地图的生成方法、系统、电子设备及存储介质的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的栅格地图的生成方法、系统、电子设备及存储介质。

实施例1

如图1所示,本实施例提供一种栅格地图的生成方法,包括:

步骤s1:获取轨迹数据和毫米波雷达的点云数据;

步骤s2:基于所述轨迹数据初始化栅格地图;

步骤s3:将当前帧的毫米波雷达的点云数据与对应的所述轨迹数据相乘变换到世界坐标系;

步骤s4:基于变换得到的世界坐标系中的点,获取雷达击中点于所述栅格地图中的位置;

步骤s5:分别调整所述雷达击中点和未被占用的点的概率值,并基于调整后的概率值更新栅格地图;

步骤s6:检测是否完成所有帧的毫米波雷达的点云数据的处理,响应于未完成所有帧的毫米波雷达的点云数据的处理,并基于上述当前帧的处理过程,完成所有其它帧的毫米波雷达的点云数据的处理;

步骤s7:基于各帧中雷达击中点的概率值保存所述栅格地图。

以下对本实施例栅格地图的生成方法的步骤s1至步骤s7进行详细说明。

步骤s1:获取轨迹数据和毫米波雷达的点云数据。

于步骤s1中,所述轨迹数据基于但不限于视觉slam数据、激光slam数据、车身数据或毫米波雷达数据获取。

例如,所述轨迹数据基于视觉slam数据获取。

slam(同时定位与建图)被认为是实现真正全自主移动定位键图的关键,主要分为前端预处理和后端优化两部分,前端预处理通过对各种传感器数据进行分析综合,提供初始估计地图和位置信息,后端优化是利用图模型描述初始估计和概率约束,运用最优化的方法对初始估计进行优化,实现更高精度的建图与定位slam轨迹数据。

其中,基于视觉slam数据生成轨迹数据的过程包括:

1)在任一车辆为地图构建模式时,获取车辆的运动姿态和车辆周边图像并从所述车辆周边图像提取地标信息。

2)基于slam算法,根据车辆的运动姿态和所述地标信息生成地标地图以及车辆行驶轨迹。

本实施例使用的slam算法包括但不限于exf家族、粒子滤波fastslam、图优化等。

大部分基于视觉的slam技术选择sift,fast之类的地标信息。但是这些地标信息受环境变化大。时间不变性不好。所以无法保存在地图中。本实施例在利用slam算法在构建地图时,选用的地标信息包括但不限于停车位的定点、立柱边沿以及其在地面的投影等。

此外,本实施例中,也可以采用现有技术中获取轨迹数据的其他方法,并不限于上述基于视觉slam数据生成轨迹数据的过程。

由于毫米波雷达的噪声比较大,本实施例对毫米波雷达的点云数据进行滤波。具体地,于本实施例中,获取毫米波雷达的点云数据中,获取满足预设距离范围的毫米波雷达的点云数据,其中,所述预设距离范围为但不限于10米~30米,例如保留车辆附近20米以内的毫米波雷达的点云数据。

于本实施例中,通过毫米波雷达得到目标的回波点云数据。图2显示为本发明的栅格地图的生成方法中毫米波雷达发出一帧数据的示例图。其中,点云数据为毫米波雷达雷达接收到的数据立方进行测距测速测角以及恒虚警率检测后的结果,点云数据包括但不限于点迹的数量、每个点迹的距离、每个点迹的多普勒(速度)信息和每个点迹的角度参数。

本领域技术人员也可以根据实际需要采用现有技术中其他获取轨迹数据和毫米波雷达的点云数据的方法,本实施例不再具体详述。

步骤s2:基于所述轨迹数据初始化栅格地图。

图3显示为本实施例中基于slam轨迹数据初始化栅格地图的示意图。具体地,于本实施例中,检测车辆可行驶区域并根据车辆行驶轨迹和检测的可行驶区域生成栅格地图。

于本实施例中,感知路面形态可行驶区域,根据车辆的运动信息运动姿态并结合地标信息生成局部栅格地图。其中,栅格地图中每个栅格中存储该栅格所覆盖区域的属性。例如1代表路面,0代表非路面。感知可行驶路面的路面形态可行驶区域并将所述路面形态可行驶区域映射于栅格地图,通过语义进行路面分割,并将所述路面形态可行驶区域映射于栅格地图。于本实施例中,所述路面形态即可行驶区域包括但不限于直行路面、出入口路面和交叉口路面。

初始化栅格地图即计算生成的栅格地图的尺寸,以免建图出现越界的情况。一般来说,每个栅格的尺寸越小,其精度越高,分辨率也越高。也就是说,针对相同的空间格网,其中的栅格数目越多,空间格网的分辨率越高。初始化栅格地图即是将每个栅格设置为预定大小(例如0.125米或其他大小)。

步骤s3:将当前帧的毫米波雷达的点云数据与对应的所述轨迹数据相乘变换到世界坐标系。

本实施例采用轨迹数据将毫米波雷达注册为栅格地图。

其中,所述世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置。

具体地,于本实施例中,所述世界坐标系即为视觉轨迹第一帧的位置,将当前帧的毫米波雷达的点云数据与对应的所述轨迹数据相乘变换到世界坐标系的过程为:

设pi为当前帧的一点,twc为当前帧的到世界坐标系的变换(旋转r+平移t),那么变换到世界坐标系为pw=twc*pi=r*pi+t。

步骤s4:基于变换得到的世界坐标系中的点,获取雷达击中点于所述栅格地图中的位置。

步骤s5:分别调整所述雷达击中点和未被占用的点的概率值,并基于调整后的概率值更新栅格地图。

图4显示为本发明的栅格地图的生成方法中调整雷达击中点的概率值的流程示意图。具体地,如图4所示,于本实施例中,于步骤s5中,调整所述雷达击中点的概率值的实现方式包括:

步骤s510:检测所述雷达击中点是否是首次击中,若是,则继续执行步骤s520,若否,则继续执行步骤s530。

步骤s520:响应于所述雷达击中点是首次击中,标记该雷达击中点,并增加该雷达击中点的概率值。

步骤s530:响应于所述雷达击中点不是首次击中,增加该雷达击中点的概率值。

即本实施例中,根据得到的世界坐标系的点,首先获取车体位置,计算得到雷达击中点所在栅格地图的位置,如果该雷达击中点首次被击中,那么将该雷达击中点标记为击中点,并且增加其概率值;若该雷达击中点不是首次被击中,则直接增加其概率值。

于本实施例中,增加其概率值的方式如下:

概率值的增加是以对数函数的变化值形式进行体现的,假设某个栅格的概率是p,则该栅格(雷达击中点)的概率值的变化值为log(p/(1-p))。logodd=log(p/(1-p)),其中,logodd为概率对数变化值,p为栅格的初始概率。假设当前栅格的logodd的实时概率值为map_odd,那么它被击中时的更新为map_odd=map_odd+log_occ,其中,log_occ为预设的增加固定值。

图5显示为本发明的栅格地图的生成方法中调整原点和雷达击中点之间的点的流程示意图。如图5所示,于本实施例中,于步骤s5中,调整未被占用的点的概率值的实现方式包括:

步骤s540:确认所述雷达击中点与所述车体位置之间的连线上除所述雷达击中点之外的点为未被占用的点;

步骤s550:确认所述未被占用的点是否被标记;若是,则继续执行步骤s570,若否,则继续执行步骤s580;

步骤s560:响应于所述未被占用的点被标记,保持该点的概率值不变;

步骤s570:响应于所述未被占用的点未被标记,减小该点的概率值。

首先获取车体位置,然后将雷达击中点和车体位置构成一条连线,线上的点(不包含雷达击中点(被击中的点))为未被占用的点,如果该未被占用的点已经被标记了,那么它的概率值不变;如果该未被占用的点未被标记,则它的概率值减小。

于本实施例中,减小其概率值的方式如下:

概率值的减小是以对数函数的变化值进行体现的,假设某个栅格的概率是p,则该栅格(雷达击中点)减小的概率值为log(p/(1-p))。logodd=log(p/(1-p)),其中,logodd为概率对数变化值,p为栅格的初始概率。假设当前栅格的logodd的实时概率值为map_odd,那么它被射线经过(未被占用)时的更新为map_odd=map_odd–log_free,其中,log_freec为预设的减少固定值。

本实施例对毫米波雷达的点云数据进行滤波之后噪声仍然会有影响,会导致有效的信息会被后来的噪点刷掉,使栅格图不能反映真实环境的信息,所以本实施例构建栅格地图时采用如上概率策略:一旦某个点被击中,这个点就会被标记,计算概率值的时候,如果有线穿过它,它的概率值也不会减小,再次被击中后,概率值仍然会增加。所以本实施例中调整雷达击中点概率值的方式可以避免有效的信息会被后来的噪点刷掉,使构建的地图可以反映真实环境的信息。

步骤s6:检测是否完成所有帧的毫米波雷达的点云数据的处理,响应于未完成所有帧的毫米波雷达的点云数据的处理,并基于上述当前帧的处理过程,完成所有其它帧的毫米波雷达的点云数据的处理。

如果所有帧的毫米波雷达遍历完成,则进入步骤s7,保存地图;如果没有遍历完成,返回步骤s3继续对下一帧轨迹数据进行处理。

其中,每处理一帧轨迹数据后,实现雷达击中点的概率值的调整之后更新栅格地图,实现原点和雷达击中点之间的点的概率值的调整之后更新栅格地图。

步骤s7:基于各帧中雷达击中点的概率值保存所述栅格地图。

图6显示为本发明的栅格地图的生成方法中保存地图的流程示意图。如图6所示,于本实施例中,于步骤s7中,基于各帧中雷达击中点的概率值保存所述栅格地图的实现方式包括:

步骤s710:确认所述雷达击中点的概率值是否大于概率阈值。

步骤s720:响应于所述雷达击中点的概率值大于所述概率阈值,确认该雷达击中点为占用点,并标记为第一数值。

其中,所述第一数值为一标记数字,例如为但不限于100。

步骤s730:确认所述雷达击中点的概率值是否等于栅格地图的初始值。

步骤s740:响应于所述雷达击中点的概率值等于栅格地图的初始值,确认该雷达击中点为未知点,并标记为第二数值。

其中,所述第二数值为区别于第一数值的标记数字,例如为但不限于-1。

需要说明的是,可以先执行步骤s710和步骤s720,再继续执行步骤s730和步骤s740,也可以先执行步骤s730和步骤s740,再继续执行步骤s710和步骤s720。

步骤s750:响应于所述雷达击中点的概率值小于等于所述概率阈值,或响应于所述雷达击中点的概率值不等于栅格地图的初始值,确认该雷达击中点为未被占用点,并标记为第三数值。

其中,所述第三数值为区别于第一数值和第二数值的标记数字,例如为但不限于0。

例如,在保存栅格地图时,大于某一概率阈值的点为占用点,标记为100;将等于地图初始值的点为未知点标记为-1;其余的点为未被占用的点,标记为0。本实施例中构建的栅格地图构建的示意图如图7所示。

此外需要说明的是,本实施例中,更新占用(雷达击中点)和未占用点是更新的概率增加或减小的变化对数值logodd,比如我们更新占用点是以固定的预设增加值log_occ的值进行更新,未占用点是以预设的固定减小值log_free进行更新。

假设当前栅格的logodd的实时概率值为map_odd,那么它被击中时的更新为map_odd=map_odd+log_occ,它被射线经过(未被占用)时的更新为map_odd=map_odd–log_free。当一个栅格已经被标记为占用时,便不再进行未占用的更新。

当保存地图时,现有数据的logodd值会转换成概率值进行保存。假设当前地图某个栅格的logodd的值为m,那么它的概率值p=exp(m)/(1+exp(m))。

所以本实施例的栅格地图的生成方法在保存栅格地图时,通过概率值确认是否为被占用的栅格,被击中少量的点会被过滤掉,被多次击中的点会被保留下来,有效的过滤了部分噪点。

为使本领域技术人员进一步理解本实施例的栅格地图的生成方法的实施过程,以下对本实施例的栅格地图的生成方法的实施过程进一步说明。

如图8所示,分别获取轨迹数据和毫米波雷达的点云数据,基于所述轨迹数据初始化栅格地图,将当前帧的毫米波雷达的点云数据与对应的所述轨迹数据相乘变换到世界坐标系。

针对雷达击中点,根据得到的世界坐标系的点,计算得到雷达击中点所在栅格地图的位置,如果该雷达击中点首次被击中,那么将该雷达击中点标记为击中点,并且增加其概率值;若该雷达击中点不是首次被击中,则直接增加其概率值。然后更新栅格地图。

针对原点和雷达击中点之间的点,将雷达击中点和车体位置构成一条连线,线上的点(不包含雷达击中点(被击中的点))为未被占用的点,如果该未被占用的点已经被标记了,那么它的概率值不变;如果该未被占用的点未被标记,则它的概率值减小。然后更新栅格地图。

通过以上调整雷达击中点概率值的方式可以避免有效的信息会被后来的噪点刷掉,使构建的地图可以反映真实环境的信息。

检测是否所有帧的毫米波雷达遍历完成,若是则进入保存地图;如果没有遍历完成,返回继续对下一帧轨迹数据进行处理。

在进行地图保存时,将大于某一概率阈值的点确认为占用点,标记为100;将等于地图初始值的点确认为未知点,标记为-1;将其余的点确认为未被占用的点,标记为0。通过概率值确认是否为被占用的栅格,被击中少量的点会被过滤掉,被多次击中的点会被保留下来,有效的过滤了部分噪点。

实施例2

如图9所示,本实施例提供一种栅格地图的生成系统100,所述栅格地图的生成系统100包括:数据获取模块110,初始化模块120,坐标变换模块130,击中点位置获取模块140,概率更新模块150,遍历检测模块160以及地图保存模块170。

于本实施例中,所述数据获取模块110用获取轨迹数据和毫米波雷达的点云数据。

其中,所述数据获取模块110中获取的轨迹数据基于但不限于视觉slam数据、激光slam数据、车身数据或毫米波雷达数据生成。

例如,所述数据获取模块110中获取的轨迹数据基于基于视觉slam数据生成。

其中,基于视觉slam数据生成轨迹数据的过程包括:

1)在任一车辆为地图构建模式时,获取车辆的运动姿态和车辆周边图像并从所述车辆周边图像提取地标信息。

2)基于slam算法,根据车辆的运动姿态和所述地标信息生成地标地图以及车辆行驶轨迹。

本实施例使用的slam算法包括但不限于exf家族、粒子滤波fastslam、图优化等。

大部分基于视觉的slam技术选择sift,fast之类的地标信息。但是这些地标信息受环境变化大。时间不变性不好。所以无法保存在地图中。本实施例在利用slam算法在构建地图时,选用的地标信息包括但不限于停车位的定点、立柱边沿以及其在地面的投影等。

由于毫米波雷达的噪声比较大,本实施例对毫米波雷达的点云数据进行滤波。于本实施例中,所数据获取模块110获取满足预设距离范围的毫米波雷达的点云数据。其中,所述预设距离范围为但不限于10米~30米,例如保留车辆附近20米以内的毫米波雷达的点云数据。

于本实施例中,所述初始化模块120用于基于所述轨迹数据初始化栅格地图。

于本实施例中,所述初始化模块120通过检测车辆可行驶区域并根据车辆行驶轨迹和检测的可行驶区域生成栅格地图。

于本实施例中,所述坐标变换模块130用于将当前帧的毫米波雷达的点云数据与对应的所述轨迹数据相乘变换到世界坐标系。

于本实施例中,所述击中点位置获取模块140用于基于变换得到的世界坐标系中的点,获取雷达击中点于所述栅格地图中的位置。

于本实施例中,所述概率更新模块150用于分别调整所述雷达击中点和未被占用的点的概率值,并基于调整后的概率值更新栅格地图。

于本实施例中,如图10所示,所述概率更新模块150包括:首次击中检测单元151和概率增加单元152。

其中,所述首次击中检测单元151用于检测所述雷达击中点是否是首次击中;所述概率增加单元152用于响应于所述雷达击中点是首次击中,标记该雷达击中点,并增加该雷达击中点的概率值,响应于所述雷达击中点不是首次击中,增加该雷达击中点的概率值。

本实施例中,根据得到的世界坐标系的点,计算得到雷达击中点所在栅格地图的位置,如果该雷达击中点首次被击中,那么将该雷达击中点标记为击中点,并且增加其概率值;若该雷达击中点不是首次被击中,则直接增加其概率值。

于本实施例中,如图11所示,所述概率更新模块150还包括:连线点确认单元153,标记确认单元154以及概率调整单元155。

其中,所述连线点确认单元153用于确认所述雷达击中点与所述车体位置之间的连线上除所述雷达击中点之外的点为未被占用的点,其中,所述概率更新模块150还包括车体位置单元,用于获取车体位置;所述标记确认单元154用于确认所述未被占用的点是否被标记;所述概率调整单元155用于响应于所述未被占用的点被标记,保持该点的概率值不变,响应于所述未被占用的点未被标记,减小该点的概率值。

即将雷达击中点和车体位置构成一条连线,线上的点(不包含雷达击中点(被击中的点))为未被占用的点,如果该未被占用的点已经被标记了,那么它的概率值不变;如果该未被占用的点未被标记,则它的概率值减小。

其中,每处理一帧轨迹数据后,实现雷达击中点的概率值的调整之后更新栅格地图,实现原点和雷达击中点之间的点的概率值的调整之后更新栅格地图。

于本实施例中,所述遍历检测模块160用于检测是否完成所有帧的毫米波雷达的点云数据的处理,所述坐标变换模块130、所述击中点位置获取模块140以及所述概率更新模块150响应于未成所有帧的毫米波雷达的点云数据的处理,继续完成所有其它帧的毫米波雷达的点云数据的处理。

于本实施中,所述地图保存模块170用于基于各帧中雷达击中点的概率值保存所述栅格地图。

于本实施例中,如图12所示,所述地图保存模块170包括:占用点确认单元171,未知点确认单元172以及未被占用点确认单元173。

于本实施例中,所述占用点确认单元171用于确认所述雷达击中点的概率值是否大于概率阈值,并响应于所述雷达击中点的概率值大于所述概率阈值,确认该雷达击中点为占用点,并标记为第一数值。

于本实施例中,所述未知点确认单元172用于确认所述雷达击中点的概率值是否等于栅格地图的初始值,并响应于所述雷达击中点的概率值等于栅格地图的初始值,确认该雷达击中点为未知点,并标记为第二数值。

于本实施例中,所述未被占用点确认单元173用于响应于所述雷达击中点的概率值小于等于所述概率阈值,或响应于所述雷达击中点的概率值不等于栅格地图的初始值,确认该雷达击中点为未被占用点,并标记为第三数值。

所以本实施例的栅格地图的生成系统100在保存栅格地图时,通过概率值确认是否为被占用的栅格,被击中少量的点会被过滤掉,被多次击中的点会被保留下来,有效的过滤了部分噪点。

本实施例的栅格地图的生成系统100具体实现的技术特征与前述实施例1中的栅格地图的生成方法基本相同,实施例间可以通用的技术内容不作重复赘述。

需要说明的是,应理解以上设备的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,某一模块可以为单独设立的处理元件,也可以集成在电子终端的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述终端的存储器中,由上述终端的某一个处理元件调用并执行以上追踪计算模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

实施例3

如图13所示,本实施例还提供一种电子设备10,所述电子设备10包括处理器101、存储器102。所述电子设备10为车载终端,例如为车机、车载盒子,所述电子设备10也可以为置于车内的移动终端,例如为智能手机、pad、智能眼镜、智能手环等。所述的栅格地图的生成方法可应用于多种类型的电子设备10100。所述电子设备10还可以例如是包括存储器、存储控制器、一个或多个处理单元(cpu)、外设接口、rf电路、音频电路、扬声器、麦克风、输入/输出(i/o)子系统、显示屏、其他输出或控制设备,以及外部端口等组件的计算机;所述计算机包括但不限于如台式电脑、笔记本电脑、智能电视等个人电脑。在另一些实施方式中,所述电子设备10还可以是服务器,所述服务器可以根据功能、负载等多种因素布置在一个或多个实体服务器上,也可以由分布的或集中的服务器集群构成,本实施例不作限定。

存储器102通过系统总线与处理器101连接并完成相互间的通信,存储器102用于存储计算机程序,处理器101耦接于所述显示器1003及存储器1002,处理器101用于运行计算机程序,以使所述电子设备10100执行实施例1所述的栅格地图的生成方法。实施例1已经对所述栅格地图的生成方法进行了详细说明,在此不再赘述。

于实际的实现方式中,所述电子设备10100例如为安装android操作系统或者ios操作系统,或者palmos、symbian(塞班)、或者blackberry(黑莓)os、windowsphone等操作系统的电子设备10100。

在示例性实施例中,所述电子设备10100可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器、摄像头或其他电子元件实现,用于执行上述栅格地图的生成方法。

另需说明的是,上述提到的系统总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问设备与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

上述的处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

实施例4

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的栅格地图的生成方法。上述已经对所述栅格地图的生成方法进行了详细说明,在此不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,本发明通过毫米波雷达构建栅格地图,使得建图和定位成本大大降低;本发明中调整击中点概率值的方式可以避免有效的信息会被后来的噪点刷掉,使构建的地图可以反映真实环境的信息;本发明在保存栅格地图时,通过概率值确认是否为被占用的栅格,被击中少量的点会被过滤掉,被多次击中的点会被保留下来,有效的过滤了部分噪点。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1