掌桥专利:专业的专利平台
掌桥专利
首页

构建地图的方法、装置、电子设备及计算机可读存储介质

文献发布时间:2023-06-19 13:29:16


构建地图的方法、装置、电子设备及计算机可读存储介质

技术领域

本申请涉及计算机技术领域,尤其是涉及一种构建地图的方法、装置、电子设备及计算机可读存储介质。

背景技术

目前,随着信息技术的发展,无人车、智能机器人等的快速发展,对于无人车以及智能机器人等的自动建图、定位及避障控制技术的需求愈加强烈。其中,高精度的建图和定位是实现高精度避障、循迹和控制的基础,其是物流车、乘用车等自主无人车以及智能机器人等的核心。

在相关技术中,无人车以及智能机器人等的高精度建图及定位多基于激光雷达,融合视觉、全球导航卫星系统(Global Navigation Satellite System,GNSS)等构建,地图建图成本高、地图复杂、更新困难和周期长。因此,如何在实现高精度建图的同时,降低地图建图的成本成为一个关键问题。

发明内容

本申请目的是提供一种构建地图的方法、装置、电子设备及计算机可读存储介质,用于解决以上至少一项技术问题。

本申请的上述发明目的是通过以下技术方案得以实现的:

第一方面,提供了一种构建地图的方法,包括:

获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据;

基于所述至少一个鱼眼相机采集到的图像数据、所述轮速数据以及所述IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息;以及,

基于所述至少一个雷达传感器采集的雷达数据进行毫米波建图,得到至少一个毫米波地图信息;

基于所述至少一个鱼眼相机采集的图像数据以及所述每路鱼眼相机对应的地图信息进行目标检测以及语义分割处理,生成对应的2D车位对象地图以及2D语义点云地图,所述目标检测包括车位检测以及车位号检测中的至少一项,所述2D车位对象地图为以检测到的车位以及车位号中的至少一项为基础的车位对象地图,所述2D语义点云地图为以各个语义像素点及其位置为基础的语义点云地图;

基于所述每路鱼眼相机对应的地图信息、所述毫米波地图、所述2D点云地图以及所述2D语义点云地图,构建多层复合地图。

在一种可能的实现方式中,所述基于所述至少一个鱼眼相机采集到的图像数据、所述轮速数据以及所述IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息,包括:

对每路鱼眼相机采集到的图像数据进行视觉特征提取;

对每路鱼眼相机对应的视觉特征进行特征匹配,并基于特征匹配结果计算所述每路鱼眼相机对应的位姿信息;

基于所述轮速数据以及所述IMU数据,对所述每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息。

在另一种可能的实现方式中,所述基于所述轮速数据以及所述IMU数据,对所述每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息,包括:

基于所述轮速数据以及所述IMU数据分别确定车辆的位姿信息;

基于分别确定出的位姿信息确定优化后的位姿信息;

基于所述优化后的位姿信息,对所述每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到所述每路鱼眼相机对应的地图信息。

在另一种可能的实现方式中,所述基于所述至少一个雷达传感器采集的雷达数据进行毫米波建图,得到毫米波地图,包括:

对每个雷达传感器采集的雷达数据,并基于对应的雷达传感器的安装参数进行空间对齐,得到每个雷达传感器对应的3D点云数据,所述3D点云数据包括:对应的雷达传感器中各个目标在车辆坐标系下的三维空间坐标;

将所述每个雷达传感器对应的3D点云数据投影到2D地面,得到每个雷达传感器对应的2D点云数据,所述每个雷达传感器对应2D点云数据包括:对应的雷达传感器中各个目标在车辆坐标系下的二维空间坐标;

基于所述每个雷达传感器对应的2D点云数据以及车辆的位姿信息进行毫米波建图,得到所述毫米波地图,所述车辆的位姿信息为基于所述轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据计算得到的。

在另一种可能的实现方式中,基于所述至少一个鱼眼相机采集的图像数据进行目标检测,生成对应的2D车位对象地图,包括:

基于所述至少一路鱼眼相机采集的图像数据生成顶视图;

基于所述顶视图进行车位检测,得到车位检测结果,所述车位检测结果包括:车位位置信息以及车位类别信息;以及,

基于所述顶视图进行车位号检测以及车位号识别,得到车位号检测结果以及车位号识别结果,所述车位号检测结果包括:车位号以及车位号的位置信息;

基于预设鱼眼相机对应的地图信息、所述车位检测结果、所述车位号检测结果以及所述车位号识别结果,生成对应的2D车位对象地图,所述预设鱼眼相机对应的地图信息属于各个鱼眼相机对应的地图信息中的一个鱼眼相机对应的地图信息。

在另一种可能的实现方式中,所述基于预设鱼眼相机对应的地图信息、所述车位检测结果、所述车位号检测结果以及所述车位号识别结果,生成对应的2D车位对象地图,包括:

基于顶视图坐标系与车辆坐标系的转换关系,将所述车位检测结果和所述车位号检测结果转换到车辆坐标系中,得到在所述车辆坐标系下的车位检测结果和在所述车辆坐标系下的车位号检测结果;

基于所述预设鱼眼相机对应的地图信息、所述在车辆坐标系下的车位检测结果以及所述在车辆坐标系下的车位号检测结果,确定在所述预设鱼眼相机对应的地图上的车位检测结果以及在所述预设鱼眼相机对应的地图上的车位号检测结果;

基于所述在所述预设鱼眼相机对应的地图上的车位检测结果、所述在所述预设鱼眼相机对应的地图上的车位号检测结果以及所述车位号识别结果,生成对应的2D车位对象地图。

在另一种可能的实现方式中,基于所述每路鱼眼相机对应的地图信息进行语义分割处理,生成对应的2D语义点云地图,包括:

对至少一路鱼眼相机对应的地图信息进行语义分割处理,得到每路鱼眼地图中各个像素分别对应的语义类别标签;

将所述语义类别标签为预设语义类别标签对应的像素投影至顶视图,得到各个像素在顶视图中分别对应的位置信息;

基于顶视图坐标系和车辆坐标系的转换关系,将所述各个像素在顶视图中分别对应的位置信息转换到车辆坐标系下,得到所述各个像素在所述车辆坐标系中分别对应的位置信息;

基于所述预设鱼眼相机对应的地图信息以及所述各个像素在所述车辆坐标系中分别对应的位置信息,生成对应的2D语义点云地图。

在另一种可能的实现方式中,所述基于所述每路鱼眼相机对应的地图信息、所述毫米波地图、所述2D点云地图以及所述2D语义点云地图,构建多层复合地图,包括:

基于预设鱼眼相机对应的地图信息、虚拟边界线以及POI构建导航地图;

基于所述每路鱼眼相机对应的地图信息、所述毫米波地图、所述2D点云地图、所述2D语义点云地图以及所述导航地图,构建所述多层复合地图。

在另一种可能的实现方式中,所述每路鱼眼相机对应的地图信息,包括:每路鱼眼相机对应的定位位姿;

所述基于所述每路鱼眼相机对应的地图信息、所述毫米波地图、所述2D点云地图、所述2D语义点云地图以及所述导航地图,构建所述多层复合地图,包括:

以预设鱼眼相机对应的定位位姿为基础轨迹,建立其他鱼眼相机对应的定位位姿、所述毫米波地图、所述2D点云地图、所述2D语义点云地图以及所述导航地图之间的映射关系;

基于所述映射关系构建所述多层复合地图。

在另一种可能的实现方式中,以预设鱼眼相机对应的定位位姿为基础轨迹,建立任一层地图与所述预设鱼眼相机对应的定位位姿之间的映射关系,包括以下至少一项:

以预设鱼眼相机对应的定位位姿为基础轨迹,建立任一层地图与所述预设鱼眼相机对应的定位位姿之间的整体映射关系;

以预设鱼眼相机对应的定位位姿为基础轨迹,采用滑动窗口连续计算任一层地图与所述预设鱼眼相机对应的定位位姿的局部轨迹映射,以建立局部映射关系。

在另一种可能的实现方式中,所述方法还包括:

基于所述每路鱼眼相机对应的地图信息以及所述至少一个毫米波地图进行实时融合定位;

获取3D实时感知信息,并基于实时融合定位结果以及所述3D实时感知信息,进行局部轨迹规划;

基于所述局部轨迹规划,对车辆进行循迹控制。

在另一种可能的实现方式中,所述基于所述每路鱼眼相机对应的地图信息以及所述至少一个毫米波地图进行实时融合定位,包括:

从所述每路鱼眼相机对应的地图信息中提取对应的视觉特征;

基于每路鱼眼视觉特征进行重定位和跟踪定位,得到第一车辆位姿信息,所述第一车辆位姿信息为每路鱼眼相机对应的位姿信息;

对所述第一车辆位姿信息以及优化后的位姿信息进行位姿融合,得到第二车辆位姿信息,第二车辆位姿信息为每路鱼眼相机融合后的位姿信息,所述优化后的位姿信息为基于轮速数据确定出的位姿信息与基于IMU数据确定出的位姿信息共同确定出的位姿信息;

基于每个雷达传感器对应的2D点云数据进行定位处理,得到第三车辆位姿信息,所述第三车辆位姿信息为每个雷达传感器对应的位姿信息;

基于所述2D车位对象地图以及所述2D语义点云地图进行语义定位,得到第四车辆位姿信息,所述语义定位包括:语义重定位以及语义跟踪定位;

基于所述第二车辆位姿信息、所述第三车辆位姿信息以及所述第四车辆位姿信息进行实时融合定位,得到实时融合定位结果。

在另一种可能的实现方式中,基于所述2D车位对象地图以及所述2D语义点云地图进行语义定位,包括:

获取所述2D车位对象地图、车位检测结果以及车位识别结果;

基于所述2D车位对象地图、车位检测结果以及所述车位识别结果进行语义定位;

获取所述2D语义点云地图,并基于所述语义点云地图进行语义定位。

在另一种可能的实现方式中,所述2D车位对象地图中包含:车位检测结果slot_map,车位号检测结果number_map,及车位号识别结果,所述车位号识别结果包括:各帧分别对应的车位号序列;

其中,基于所述2D车位对象地图、车位检测结果以及所述车位识别结果进行重定位,包括:

基于当前帧识别的车位号序列搜索所述2D车位对象地图,得到相似候选关键帧,所述相似候选关键帧的车位号序列与所述当前帧识别的车位号序列相同,或者相似度满足预设相似度阈值;

基于所述相似候选关键帧的车位号检测结果number_map与所述当前帧的车位号检测结果进行匹配;

基于匹配结果并通过最近邻迭代算法ICP计算车辆的位姿信息;

基于所述相似关键帧的车位检测结果slot_map和所述当前帧的车位检测结果进行匹配;

基于匹配结果并通过ICP计算优化计算得到的车辆的位姿信息,以得到优化后的车辆的位姿信息。

在另一种可能的实现方式中,基于所述2D车位对象地图、车位检测结果以及所述车位识别结果进行语义跟踪定位,包括:

以重定位成功的地图中的关键帧为参考关键帧,以当前帧识别到的车位号序列,检测到的车位号number序列、车位slot序列同参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位,得到当前帧的位姿;

根据计算得到当前帧的位姿,在所述2D车位对象地图中查找和所述当前关键帧的位姿距离最近的关键帧位姿,并设定其为最新的参考关键帧;

以当前帧识别到的车位号序列,检测到的车位号number序列、车位slot序列同新的参考关键帧中进行匹配,通过ICP计算位姿进行跟踪定位;

循环执行同时根据计算得到当前帧的位姿,在地图中查找和所述当前帧的位姿距离最近的关键帧位姿、设定其为最近的参考关键帧,以及以当前帧识别到的车位号序列,检测到的车位号number序列、车位slot序列同新的参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位直至跟踪结束。

在另一种可能的实现方式中,所述基于所述第二车辆位姿信息、所述第三车辆位姿信息以及所述第四车辆位姿信息进行实时融合定位,得到实时融合定位结果,包括:

获取映射关系,所述映射关系为其他各路鱼眼相机对应的定位位姿与预设鱼眼相机对应的定位位姿之间的映射关系,以及所述毫米波地图、所述2D点云地图、所述2D语义点云地图以及所述导航地图与所述预设鱼眼相机对应的定位位姿之间的映射关系;

基于所述映射关系,将其他路鱼眼相机对应的第二车辆位姿信息以及每个第三车辆位姿信息映射到所述预设鱼眼相机的地图坐标系中;

将映射后的其他路鱼眼相机对应的第二车辆位姿信息、预设鱼眼相机对应的第二车辆位姿信息、映射后的每个第三车辆位姿信息以及所述第四车辆位姿信息,并基于多观测卡尔曼滤波进行实时融合定位,得到所述实时融合定位结果。

在另一种可能的实现方式中,所述获取3D实时感知信息,之前还包括:

获取车位检测结果、车位号检测结果以及车位号识别结果;

获取预设语义类别的标签对应的像素在顶视图中的位置信息;

将所述每路鱼眼相机采集的图像数据投影为柱状图,并对每个柱状图进行3D对象检测,得到每个柱状图对应的3D检测结果;

获取所述每个雷达传感器对应的3D点云数据,并对每颗雷达的目标点进行聚类处理,得到每个聚类结果对应的3D边界框的位置信息;

基于所述车位检测结果、车位号检测结果、车位号识别结果、预设语义类别的标签对应的像素在顶视图中的位置信息、所述每个柱状图对应的3D检测结果以及所述每个聚类结果对应的3D边界框的位置信息进行融合跟踪,得到所述3D实时感知信息。

在另一种可能的实现方式中,所述基于实时融合定位结果以及所述3D实时感知信息,进行局部轨迹规划,包括:

获取3D感知结果,并基于所述3D感知结果以及定位信息,生成规划栅格;

基于所述规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划;

在所述局部路径规划的基础上进行速度规划,确定所述局部轨迹规划。

在另一种可能的实现方式中,所述基于所述规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划,之前还包括:

从所述多层复合地图中提取导航地图层;

从所述导航地图层中获取车辆运行轨迹;

基于所述车辆运行轨迹以及预设的POI目标区域进行全局路径规划;

其中,所述基于所述规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划,包括:

基于所述规划栅格、各个传感器分别测量到的实时测量信息以及所述全局路径信息,进行局部路径规划。

第二方面,提供了一种构建地图的装置,装置包括:

第一获取模块,用于获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据;

第一建图模块,用于基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息;以及,

第二建图模块,用于基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到至少一个毫米波地图信息;

生成模块,用于基于至少一个鱼眼相机采集的图像数据以及每路鱼眼相机对应的地图信息进行目标检测以及语义分割处理,生成对应的2D车位对象地图以及2D语义点云地图,目标检测包括车位检测以及车位号检测中的至少一项,2D车位对象地图为以检测到的车位以及车位号中的至少一项为基础的车位对象地图,2D语义点云地图为以各个语义像素点及其位置为基础的语义点云地图;

第三建图模块,用于基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图。

在一种可能的实现方式中,第一建图模块在基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息时,具体用于:

对每路鱼眼相机采集到的图像数据进行视觉特征提取;

对每路鱼眼相机对应的视觉特征进行特征匹配,并基于特征匹配结果计算每路鱼眼相机对应的位姿信息;

基于轮速数据以及IMU数据,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息。

在另一种可能的实现方式中,装置还包括:第一确定模块以及第二确定模块,其中,

第一确定模块,用于基于轮速数据以及IMU数据分别确定车辆的位姿信息;

第二确定模块,用于基于分别确定出的位姿信息确定优化后的位姿信息;

其中,第一建图模块在基于轮速数据以及IMU数据,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息时,具体用于:

基于优化后的位姿信息,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息。

在另一种可能的实现方式中,第二建图模块在基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到毫米波地图时,具体用于:

对每个雷达传感器采集的雷达数据,并基于对应的雷达传感器的安装参数进行空间对齐,得到每个雷达传感器对应的3D点云数据,3D点云数据包括:对应的雷达传感器中各个目标在车辆坐标系下的三维空间坐标;

将每个雷达传感器对应的3D点云数据投影到2D地面,得到每个雷达传感器对应的2D点云数据,每个雷达传感器对应2D点云数据包括:对应的雷达传感器中各个目标在车辆坐标系下的二维空间坐标;

基于每个雷达传感器对应的2D点云数据以及车辆的位姿信息进行毫米波建图,得到毫米波地图,车辆的位姿信息为基于轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据计算得到的。

在另一种可能的实现方式中,生成模块在基于至少一个鱼眼相机采集的图像数据进行目标检测,生成对应的2D车位对象地图时,具体用于:

基于至少一路鱼眼相机采集的图像数据生成顶视图;

基于顶视图进行车位检测,得到车位检测结果,车位检测结果包括:车位位置信息以及车位类别信息;以及,

基于顶视图进行车位号检测以及车位号识别,得到车位号检测结果以及车位号识别结果,车位号检测结果包括:车位号以及车位号的位置信息;

基于预设鱼眼相机对应的地图信息、车位检测结果、车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图,预设鱼眼相机对应的地图信息属于各个鱼眼相机对应的地图信息中的一个鱼眼相机对应的地图信息。

在另一种可能的实现方式中,生成模块在基于预设鱼眼相机对应的地图信息、车位检测结果、车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图时,具体用于:

基于顶视图坐标系与车辆坐标系的转换关系,将车位检测结果和车位号检测结果转换到车辆坐标系中,得到在车辆坐标系下的车位检测结果和在车辆坐标系下的车位号检测结果;

基于预设鱼眼相机对应的地图信息、在车辆坐标系下的车位检测结果以及在车辆坐标系下的车位号检测结果,确定在预设鱼眼相机对应的地图上的车位检测结果以及在预设鱼眼相机对应的地图上的车位号检测结果;

基于在预设鱼眼相机对应的地图上的车位检测结果、在预设鱼眼相机对应的地图上的车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图。

在另一种可能的实现方式中,生成模块在基于每路鱼眼相机对应的地图信息进行语义分割处理,生成对应的2D语义点云地图时,具体用于:

对至少一路鱼眼相机对应的地图信息进行语义分割处理,得到每路鱼眼地图中各个像素分别对应的语义类别标签;

将语义类别标签为预设语义类别标签对应的像素投影至顶视图,得到各个像素在顶视图中分别对应的位置信息;

基于顶视图坐标系和车辆坐标系的转换关系,将各个像素在顶视图中分别对应的位置信息转换到车辆坐标系下,得到各个像素在车辆坐标系中分别对应的位置信息;

基于预设鱼眼相机对应的地图信息以及各个像素在车辆坐标系中分别对应的位置信息,生成对应的2D语义点云地图。

在另一种可能的实现方式中,第三建图模块在基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图时,具体用于:

基于预设鱼眼相机对应的地图信息、虚拟边界线以及POI构建导航地图;

基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图、2D语义点云地图以及导航地图,构建多层复合地图。

在另一种可能的实现方式中,每路鱼眼相机对应的地图信息,包括:每路鱼眼相机对应的定位位姿;

第三建图模块在基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图、2D语义点云地图以及导航地图,构建多层复合地图时,具体用于:

以预设鱼眼相机对应的定位位姿为基础轨迹,建立其他鱼眼相机对应的定位位姿、毫米波地图、2D点云地图、2D语义点云地图以及导航地图之间的映射关系;

基于映射关系构建多层复合地图。

在另一种可能的实现方式中,第三建图模块在以预设鱼眼相机对应的定位位姿为基础轨迹,建立任一层地图与预设鱼眼相机对应的定位位姿之间的映射关系时,具体用于以下至少一项:

以预设鱼眼相机对应的定位位姿为基础轨迹,建立任一层地图与预设鱼眼相机对应的定位位姿之间的整体映射关系;

以预设鱼眼相机对应的定位位姿为基础轨迹,采用滑动窗口连续计算任一层地图与预设鱼眼相机对应的定位位姿的局部轨迹映射,以建立局部映射关系。

在另一种可能的实现方式中,装置还包括:融合定位模块、第二获取模块、局部轨迹规划模块以及循迹控制模块,其中,

融合定位模块,用于基于每路鱼眼相机对应的地图信息以及至少一个毫米波地图进行实时融合定位;

第二获取模块,用于获取3D实时感知信息;

局部轨迹规划模块,用于基于实时融合定位结果以及3D实时感知信息,进行局部轨迹规划;

循迹控制模块,用于基于局部轨迹规划,对车辆进行循迹控制。

在另一种可能的实现方式中,融合定位模块在基于每路鱼眼相机对应的地图信息以及至少一个毫米波地图进行实时融合定位时,具体用于:

从每路鱼眼相机对应的地图信息中提取对应的视觉特征;

基于每路鱼眼视觉特征进行重定位和跟踪定位,得到第一车辆位姿信息,第一车辆位姿信息为每路鱼眼相机对应的位姿信息;

对第一车辆位姿信息以及优化后的位姿信息进行位姿融合,得到第二车辆位姿信息,第二车辆位姿信息为每路鱼眼相机融合后的位姿信息,所述优化后的位姿信息为基于轮速数据确定出的位姿信息与基于IMU数据确定出的位姿信息共同确定出的位姿信息;

基于每个雷达传感器对应的2D点云数据进行定位处理,得到第三车辆位姿信息,第三车辆位姿信息为每个雷达传感器对应的位姿信息;

基于2D车位对象地图以及2D语义点云地图进行语义定位,得到第四车辆位姿信息,语义定位包括:语义重定位以及语义跟踪定位;

基于第二车辆位姿信息、第三车辆位姿信息以及第四车辆位姿信息进行实时融合定位,得到实时融合定位结果。

在另一种可能的实现方式中,融合定位模块在基于2D车位对象地图以及2D语义点云地图进行语义定位时,具体用于:

获取2D车位对象地图、车位检测结果以及车位识别结果;

基于2D车位对象地图、车位检测结果以及车位识别结果进行语义定位;

获取2D语义点云地图,并基于语义点云地图进行语义定位。

在另一种可能的实现方式中,2D车位对象地图中包含:车位检测结果slot_map,车位号检测结果number_map,车位号识别结果,所述车位号识别结果包括:各帧分别对应的车位号序列;

其中,融合定位模块在基于2D车位对象地图、车位检测结果以及车位识别结果进行重定位时,具体用于:

基于当前帧识别的车位号序列搜索2D车位对象地图,得到相似候选关键帧,所述相似候选关键帧的车位号序列与所述当前帧识别的车位号序列相同,或者相似度满足预设相似度阈值;

基于相似候选关键帧的车位号检测结果number_map与当前帧检测的车位号检测结果进行匹配;

基于匹配结果并通过最近邻迭代算法ICP计算车辆的位姿信息;

基于相似关键帧的车位检测结果slot_map和当前帧的车位检测结果进行匹配;

基于匹配结果并通过ICP计算优化计算得到的车辆的位姿信息,以得到优化后的车辆的位姿信息。

在另一种可能的实现方式中,融合定位模块在基于2D车位对象地图、车位检测结果以及车位识别结果进行语义跟踪定位时,具体用于:

以重定位成功的地图中的关键帧为参考关键帧,以当前帧识别到的车位号序列,检测到的车位号number序列、车位slot序列同参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位,得到当前帧的位姿;

根据计算得到当前帧的位姿,在2D车位对象地图中查找和当前关键帧的位姿距离最近的关键帧位姿,并设定其为最新的参考关键帧;

以当前帧识别到的车位号序列,检测到的车位号number序列、车位slot序列同新的参考关键帧中进行匹配,通过ICP计算位姿进行跟踪定位;

循环执行同时根据计算得到当前帧的位姿,在地图中查找和当前帧的位姿距离最近的关键帧位姿、设定其为最近的参考关键帧,以及以当前帧识别到的车位号序列,检测到的车位号number序列、车位slot序列同新的参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位直至跟踪结束。

在另一种可能的实现方式中,融合定位模块在基于第二车辆位姿信息、第三车辆位姿信息以及第四车辆位姿信息进行实时融合定位,得到实时融合定位结果时,具体用于:

获取映射关系,映射关系为其他各路鱼眼相机对应的定位位姿与预设鱼眼相机对应的定位位姿之间的映射关系,以及毫米波地图、2D点云地图、2D语义点云地图以及导航地图与预设鱼眼相机对应的定位位姿之间的映射关系;

基于映射关系,将其他路鱼眼相机对应的第二车辆位姿信息以及每个第三车辆位姿信息映射到预设鱼眼相机的地图坐标系中;

将映射后的其他路鱼眼相机对应的第二车辆位姿信息、预设鱼眼相机对应的第二车辆位姿信息、映射后的每个第三车辆位姿信息以及第四车辆位姿信息,并基于多观测卡尔曼滤波进行实时融合定位,得到实时融合定位结果。

在另一种可能的实现方式中,装置还包括:第三获取模块、第四获取模块、投影模块、对象检测模块、第五获取模块、聚类处理模块以及融合跟踪模块,其中,

第三获取模块,用于获取车位检测结果、车位号检测结果以及车位号识别结果;

第四获取模块,用于获取预设语义类别的标签对应的像素在顶视图中的位置信息;

投影模块,用于将每路鱼眼相机采集的图像数据投影为柱状图;

对象检测模块,用于对每个柱状图进行3D对象检测,得到每个柱状图对应的3D检测结果;

第五获取模块,用于获取每个雷达传感器对应的3D点云数据;

聚类处理模块,用于对每颗雷达的目标点进行聚类处理,得到每个聚类结果对应的3D边界框的位置信息;

融合跟踪模块,用于基于车位检测结果、车位号检测结果、车位号识别结果、预设语义类别的标签对应的像素在顶视图中的位置信息、每个柱状图对应的3D检测结果以及每个聚类结果对应的3D边界框的位置信息进行融合跟踪,得到3D实时感知信息。

在另一种可能的实现方式中,局部轨迹规划模块在基于实时融合定位结果以及3D实时感知信息,进行局部轨迹规划时,具体用于:

获取3D感知结果,并基于3D感知结果以及定位信息,生成规划栅格;

基于规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划;

在局部路径规划的基础上进行速度规划,确定局部轨迹规划。

在另一种可能的实现方式中,装置还包括:提取模块、第六获取模块以及全局路径规划模块,其中,

提取模块,用于从多层复合地图中提取导航地图层;

第六获取模块,用于从导航地图层中获取车辆运行轨迹;

全局路径规划模块,用于基于车辆运行轨迹以及预设的POI目标区域进行全局路径规划;

其中,局部轨迹规划模块在基于规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划时,具体用于:基于规划栅格、各个传感器分别测量到的实时测量信息以及全局路径信息,进行局部路径规划。

第三方面,提供了一种电子设备,该电子设备包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面中任一可能的实现方式所示的构建地图对应的操作。

第四方面,提供了一种计算机可读存储介质,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如第一方面中任一可能的实现方式所示的构建地图的方法。

综上所述,本申请包括以下至少一种有益技术效果:

本申请提供了一种构建地图的方法、装置、电子设备及计算机可读存储介质,与相关技术相比,在本申请中,通过获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据,然后基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息;以及,基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到至少一个毫米波地图信息;基于至少一个鱼眼相机采集的图像数据以及每路鱼眼相机对应的地图信息进行目标检测以及语义分割处理,生成对应的2D车位对象地图以及2D语义点云地图,目标检测包括车位检测以及车位号检测中的至少一项,2D车位对象地图为以检测到的车位以及车位号中的至少一项为基础的车位对象地图,2D语义点云地图为以各个语义像素点及其位置为基础的语义点云地图;然后基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图。也即在本申请实施例中,基于鱼眼相机图像、毫米波雷达点云、相机语义分割像素、相机感知车位、轮速以及IMU数据等协同构建地图,可以实现对于低成本的多类型传感器数据的高精度建图,以解决高精度地图构建对于高成本激光雷达的依赖问题,从而可以实现高精度建图的同时,降低地图建图的成本。

附图说明

图1a是本申请实施例提供的一种自动建图定位及循迹避障的整体流程示意图;

图1b是本申请实施例一种构建地图的流程示意图;

图2是本申请实施例中另一种构建地图的流程示意图;

图3是本申请实施例中前视鱼眼相机3D点云地图示例图;

图4是本申请实施例中毫米波雷达2D点云地图示例图;

图5是本申请实施例中毫米波雷达关键帧轨迹、前视及右视觉鱼眼相机关机帧轨迹示例图;

图6是本申请实施例中2D车位地图及2D道路线边界及标识地图生成示意图;

图7是本申请实施例中四路鱼眼相机生成的顶视图的示例图;

图8是本申请实施例中车位检测、分类、车位号检测以及识别示意图;

图9是本申请实施例中多层复合地图组成及其关系示意图;

图10是本申请实施例中基于多鱼眼及多毫米波雷达的实时融合定位流程示意图;

图11是本申请实施例中基于多个鱼眼相机及毫米波雷达的3D环境感知流程示意图;

图12是本申请实施例中正轴圆柱投影示意图;

图13是本申请实施例中一种构建地图的装置结构示意图;

图14是本申请实施例中的一种电子设备的装置结构示意图。

以下结合附图对本申请作进一步详细说明。

本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。

本申请实施例旨在设计一种高定位精度、低延时、低成本的自动建图、定位及避障方法和系统。主要解决单一传感器难以应对多样化目标(机动车、非机动车、行人、锥桶、交通水马等各种动静态障碍物)、场景变化(室内场景、室外园区、小区场景)、气候季节变换和光照变换(正常光照、亮光照、逆光、昏暗、夜晚等)的建图、定位及循迹问题。

具体地,在本申请实施例中,基于多种不同类型的传感器协同感知、建图和定位,可以包括:基于大广角、低成本的多路鱼眼相机进行360度全方位感知、建图和定位;其次,使用适应于低速、不同天气状况和光照的4D毫米波雷达进行全天候感知、建图和定位;然后,基于车辆自身的轮速及IMU传感器实时感知车辆自身状态及变化;最后,三种类型的传感器独立工作、且协同分工协作,共同实现多特征环境的3D综合感知、多特征融合的3D、2D建图及定位。

具体详见如图1a所示,具体可以包括以下八个步骤:获取多个鱼眼相机、多个毫米波雷达数据,获取轮速及IMU数据;基于多个鱼眼相机融合轮速和IMU数据进行视觉地图建图,基于多个毫米波雷达数据进行毫米波建图,基于其位姿输出建立多个地图的映射;基于多个鱼眼相机进行顶视图构建,完成车位检测、可行驶区域检测及道路标识检测;基于视觉地图、毫米波地图及车位检测结果、可行驶区域检测结果、道路标识线结果生成多层复合地图140;基于多个鱼眼进行3D对象检测测距和跟踪,基于多个毫米波数据进行3D对象检测测距和跟踪,视觉检测跟踪结果同毫米波检测跟踪结果融合,同时前视鱼眼进行可行驶区域检测、顶视图进行车位检测和跟踪;根据实时获取得到的多个鱼眼相机、多个毫米波雷达数据及轮速及IMU数据通过多层复合地图进行视觉重定位和定位、毫米波重定位和定位及二者的融合定位;根据车辆的当前位姿、车辆周边的对象检测和跟踪状态、可行驶区域状态及目标区域状态,实时规划得到车辆的目标轨迹;根据车辆的当前位姿、速度目标轨迹进行循迹控制。

通过上述方式,可对相同场景提取不同侧面的特征,可以提高系统对环境的描述性能和适应性,从而增加了系统对环境的感知、建图和定位能力,最终支持系统的精确循迹和运行。

本申请实施例提供了一种构建地图的方法,如图1b所示,该构建地图的方法可以由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制,该方法可以包括:

步骤S201、获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据。

具体地,在本申请实施例中可以同时获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮式里程计采集的轮速数据以及IMU采集到的IMU数据,也可以不同时。在本申请实施例中,至少一个鱼眼相机采集图像数据的获取步骤、至少一个雷达传感器采集雷达数据的获取步骤、轮速里程计采集到的轮速数据的获取步骤以及IMU数据的获取步骤的具体执行顺序在本申请实施例中不做限定。

进一步地,在本申请实施例中,至少一个鱼眼相机可以为两路鱼眼相机、四路鱼眼相机以及六路鱼眼相机,在本申请实施例中涉及的鱼眼相机并不限定。以四路鱼眼相机为例,该四路鱼眼相机可以包括:前视鱼眼相机、后视鱼眼相机、左视鱼眼相机及右视鱼眼相机。

步骤S202、基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息。

步骤S203、基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到至少一个毫米波地图信息。

对于本申请实施例,步骤S202可以在步骤S203之前执行,也可以在步骤S203之后执行,也可以和步骤S203同时执行,在本申请实施例中不做限定。

步骤S204、基于至少一个鱼眼相机采集的图像数据以及每路鱼眼相机对应的地图信息进行目标检测以及语义分割处理,生成对应的2D车位对象地图以及2D语义点云地图。

其中,目标检测包括车位检测以及车位号检测中的至少一项,2D车位对象地图为以检测到的车位以及车位号中的至少一项为基础的车位对象地图,2D语义点云地图为以各个语义像素点及其位置为基础的语义点云地图。

步骤S205、基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图。

具体地,在本申请实施例中,构建多层复合地图的方式,具体可以详见下述实施例。

本申请实施例提供了一种构建地图的方法,与相关技术相比,在本申请实施例中,通过获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据,然后基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息;以及,基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到至少一个毫米波地图信息;基于至少一个鱼眼相机采集的图像数据以及每路鱼眼相机对应的地图信息进行目标检测以及语义分割处理,生成对应的2D车位对象地图以及2D语义点云地图,目标检测包括车位检测以及车位号检测中的至少一项,2D车位对象地图为以检测到的车位以及车位号中的至少一项为基础的车位对象地图,2D语义点云地图为以各个语义像素点及其位置为基础的语义点云地图;然后基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图。也即在本申请实施例中,基于鱼眼相机图像、毫米波雷达点云、相机语义分割像素、相机感知车位、轮速以及IMU数据等协同构建地图,可以实现对于低成本的多类型传感器数据的高精度建图,以解决高精度地图构建对于高成本激光雷达的依赖问题,从而可以实现高精度建图的同时,降低地图建图的成本。

具体地,在本申请实施例,步骤S201中获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据,具体可以包括:实时获取多个鱼眼相机、多个毫米波雷达数据,以及车辆的轮速和IMU数据。在本申请实施例中涉及到的具体坐标系包括:相机坐标系、车辆坐标系、雷达坐标系、IMU坐标系和世界坐标系。在本申请实施例中,相机坐标系:以摄像机光心为原点,z轴指向相机前方,x轴指向相机右方,y轴指相机下方;车辆坐标系:以车辆后轴中心为原点,z轴指向上方,x轴指向车辆前方,y轴指向车辆右方;雷达坐标系:以雷达的集合中心为原点,z轴指向雷达的前方,x轴指向雷达右方,y轴指雷达下方;世界坐标系:以车辆建图初始时刻的车辆坐标系的原点作为世界坐标系的原点,以此刻车辆的车辆坐标系的指向作为世界坐标系的指向。

具体地,鱼眼相机数据为原始的RGB三通道图像数据,可以通过Image(r,g,b)来表征,毫米波雷达数据包括目标的距离、方向角度、俯仰角度和径向多普勒标量速度,可以通过MMRadar(distance,yaw_ang,pitch_ang,speed)来表征,轮速为车辆左右后轮的轮齿脉冲数以及方向盘转角及挡位状态,可以通过Wheel(nl,nr,wheel_ang)来表征,IMU为三个方向的加速度以及三个方向的角速度,可以通过IMU(acc_x,acc_y,acc_z,v_ang_x,v_ang_y,v_ang_z)。

具体地,步骤S202中基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息,具体可以包括:步骤S2021、步骤S2022以及步骤S2023,如图2所示,其中,

步骤S2021、对每路鱼眼相机采集到的图像数据进行视觉特征提取。

具体地,在本申请实施例中,对每路鱼眼相机采集到的图像数据进行视觉特征提取,具体可以包括:对于每路鱼眼的每帧图像进行图像的颜色空间转换从三通道的RGB彩图转换为单通道的灰度图;其次,对于灰度图像进行多层高斯金字塔处理,计算FAST关键点并用灰度质心法确定FAST关键点的方向,均匀化处理来选择FAST关键点;然后,计算每个FAST关键点的rBRIEF(rotation-aware BRIEF)二进制描述子,即ORB特征。在本申请实施例中,无需对鱼眼图像进行去畸变处理,直接在原始畸变图上进行ORB特征提取,不仅提升处理速度、降低延时,而且保证图像纹理不被减弱、图像的大视野范围,有助于提升特征的区分能力和对车辆快速移动的适应能力。

具体地,在本申请实施例中视觉特征提取也可以是具备旋转和尺度不变性的SIFT、SURF特征或者其他用于视觉Slam系统的特征。这里ORB、SIFT、SURF等特征的旋转不变性通常是通过求得关键点的主方向获得的,而尺度不变形是通过高斯金字塔获得的。关键点的提取在不同尺度就是不同的关键点,而对于旋转不变性来说,关键点都是通过邻域的阈值特性确定的,即使图片旋转了也不会影响到关键点的提取。

步骤S2022、对每路鱼眼相机对应的视觉特征进行特征匹配,并基于特征匹配结果计算每路鱼眼相机对应的位姿信息。

对于本申请实施例,特征匹配利用的汉明距离(英文全称:Hamming distance)进行判决,汉明距离通过比较向量每一位是否相同,若不同,则汉明距离加1,向量相似度越高,对应的汉明距离越小。在本申请实施例中采用汉明距离,使用快速最近邻逼近搜索函数库(Fast Approximate Nearest Neighbor Search Library,FLANN)来对相邻帧的ORB特征进匹配。

进一步地,鱼眼相机,不遵循针孔成像的原理,需采用合适的相机模型,例如,MEI模型和Davide Scaramuzza模型。MEI模型为全向相机omnidirectional模型融合Radtan畸变模型,MEI模型参数{mirror_parameters, distortion_parameters,projection_parameters},本发明使用的1280*720鱼眼相机的MEI模型参数示例如下:

mirror_parameters: xi: 1.145461279306342e+00

distortion_parameters:k1: 0.3397684328877317,k2: -0.2755914681941158,p1: -0.0008923275953632081,p2: -0.002040769442076639

projection_parameters:gamma1:605.6673735861577,gamma2:605.5946450749516,

u0: 641.3794794420246,v0: 358.8113673778945

进一步地,Davide Scaramuzzax模型是全向相机融合等距投影畸变模型,畸变参数由多项式表示,在本申请实施例中使用的1280*720鱼眼相机的Davide Scaramuzzax模型参数示例如下:

poly_parameters:p0: -2.866598e+02,p1: 0.000000e+00, p2: 8.627931e-04,p3: -8.048520e-07,p4:1.302224e-09

affine_parameters: ac: 1.000200,ad: -0.000176,ae:0.000058,cx:637.800455,cy: 357.574015;

进一步地,将同一路鱼眼相机两幅图像间匹配的多组2D像素点对(p1,p2)基于该路鱼眼相机的相机模型转换成归一化平面上的坐标对(x1,x2),基于对极约束求解该路鱼眼相机运动:旋转R和平移T。对于不同路的鱼眼相机的运动,使用CAMi(Ri,Ti)表示,i从1到4,分别表示前路鱼眼相机、右路鱼眼相机、后路鱼眼相机和左路鱼眼相机。在本申请实施例中并不限定于四路鱼眼相机,例如还可以为两路鱼眼相机、六路鱼眼相机。

步骤S2023、基于轮速数据以及IMU数据,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息。

具体地,步骤S2023中基于轮速数据以及IMU数据,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息,之前可以包括:步骤S2023a以及步骤S2023b,如图2所示,其中,

步骤S2023a、基于轮速数据以及IMU数据分别确定车辆的位姿信息。

对于本申请实施例,在某个时间变化段Delta_T,基于左右轮编码器Wheel(nl,nr)的变化,计算Delta_T 时间内里程的变化Sr和Sl,二者取均值即可得到车辆Delta_T 时间内里程变化S=(Sr+Sl)/2。考虑到IMU低速状态下的噪声影响较大,仅使用IMU角速度数据IMU(v_ang_x,v_ang_y,v_ang_z)在Delta_T 时间内进行积分得到三个方向的角度变化量IMU(Roll, Pitch, Yaw)。车辆在地面2D空间内运动,可确定车辆的位置及姿态变化为Vehicle(S*sin(Yaw),S*cos(Yaw),Yaw)。车辆任意一个时刻t的位姿Vehicle_t = Vehicle(S*sin(Yaw),S*cos(Yaw),Yaw) + Vehicle_t-1,即上一个时刻的位姿加上Delta_T 时间内的位姿变化。

步骤S2023b、基于分别确定出的位姿信息确定优化后的位姿信息。

具体地,轮速里程计在某个时间变化段Delta_T,基于Wheel(nl,nr,wheel_ang)即左右轮编码器和方向盘转角变化,计算Delta_T 时间内的车辆位姿变化odometry(x,y,yaw)及其协方差odometry_cov;IMU在Delta_T 时间内,基于角速度数据积分得到三个方向的角度变化量IMU(Roll, Pitch, Yaw)及其协方差imu_cov;基于扩展卡尔曼滤波,采用松耦合方法融合轮式里程计和IMU的计算输出,得到变化的3D位置及3D姿态。

在上述得到优化后的位姿信息的基础上,步骤S2023中基于轮速数据以及IMU数据,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息,具体可以包括:基于优化后的位姿信息,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息。

具体地,在本申请实施例中,每路鱼眼相机对应的地图信息可以包括:前视鱼眼点云地图及关键帧轨迹信息20231、右视鱼眼点云地图及关键帧轨迹信息23232、左视鱼眼点云地图及关键帧轨迹信息20233以及后视鱼眼点云地图及关键帧轨迹信息20234等,具体如图2所示。

对于本申请实施例,先进行建图初始化,如果成功,进行位姿优化局部图的优化, 再结合轮速和IMU进行递归的尺度恢复。具体通过序列中多帧的观测,递归逐帧调整地图的 尺度,得到在视频序列中每帧图像

通过对轮式编码器的数据可以得到在对应图像的时刻

对于

恢复视觉地图点在三维空间中的真实位置为

其中,

具体地,步骤S203中基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到毫米波地图,具体可以包括:步骤S2031、步骤S2032以及步骤S2033,如图2所示,其中,

步骤S2031、对每个雷达传感器采集的雷达数据,并基于对应的雷达传感器的安装参数进行空间对齐,得到每个雷达传感器对应的3D点云数据。

具体地,在本申请实施例中使用多颗水平安装在车身周围的4D毫米波雷观测车辆周围环境,每颗4D毫米波雷达输出的目标数据都是相对于雷达坐标系的,包括目标的距离、方向角度、俯仰角度和径向多普勒标量速度。多颗雷达需要先做相应的数据时间同步(通常由雷达硬件的机制完成),保证每一帧数据包含所有雷达同一时刻附近的所有数据,且每帧数据以稳定频率输出。

进一步地,毫米波雷达数据为MMRadar(distance,yaw_ang,pitch_ang,speed),将 每颗雷达的目标数据从雷达坐标系转换到车辆坐标系。设第j颗雷达的第i个目标的距离为

这些目标构成了毫米波雷达的3D点云输出数据。在本申请实施例中,3D点云数据包括:对应的雷达传感器中各个目标在车辆坐标系下的三维空间坐标。

步骤S2032、将每个雷达传感器对应的3D点云数据投影到2D地面,得到每个雷达传感器对应的2D点云数据。

其中,每个雷达传感器对应2D点云数据包括:对应的雷达传感器中各个目标在车 辆坐标系下的二维空间坐标。在本申请实施例中,通过对每个3D点云数据忽略其z坐标值, 得到2D点

步骤S2033、基于每个雷达传感器对应的2D点云数据以及车辆的位姿信息进行毫米波建图,得到毫米波地图。

其中,车辆的位姿信息为基于轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据计算得到的。在本申请实施例中,基于轮速里程计采集到的轮速数据以及IMU采集到的IMU计算得到各自对应的车辆的位姿信息的方式详见上述实施例,在此不再赘述。

对于本申请实施例,可采用2D激光的相关建图算法来进行,例如基于图网络的优化方法cartographer。cartographer基于submap子图构建全局地图,能有效的避免建图过程中环境中移动物体的干扰,并且cartographer支持多传感器数据建图,支持2D-SLAM和3D-SLAM建图。在本申请实施例中,可使用cartographer的多传感器进行2D-SlAM的建图,具体的由一定数量的LaserScan组成一个submap子图,一系列的submap子图构成了全局地图;用LaserScan构建submap的短时间过程累计误差不大,用submap构建全局地图的长时间过程会存在较大累计误差,利用闭环检测来修正submap的位置;闭环检测的基本单元是submap,闭环检测采用scan_match策略。其中,基于4D毫米波雷达融合轮速里程计及IMU生成的2D点云地图,具体示例如图4所示。

进一步地,在通过上述实施例得到各路鱼眼点云地图及关键帧的轨迹信息以及至少一个毫米波点云地图及轨迹之后,还可以包括:步骤SC,如图2所示,其中,

步骤SC、以前视鱼眼相机的视觉Slam的轨迹为基础,进行映射建立,并将映射关系存储至轨迹映射表中。

基于工具evo_traj,可显示由上述实施例建立的地图的关键帧轨迹,包括:各路鱼眼点云地图的关键帧轨迹(例如,前视鱼眼点云地图的关键帧轨迹、后视鱼眼点云地图的关键帧轨迹、左视鱼眼点云地图的关键帧轨迹及右视鱼眼点云地图的关键帧轨迹)以及毫米波点云地图的轨迹。图5给出了毫米波雷达建图的关键帧轨迹、前视鱼眼相机建图的关键帧轨迹及右视觉鱼眼相机建图的关键帧轨迹的示例。从图5的示例可看出,因为各个不同传感器成功启动建图初始化的时刻不同导致各个不同传感器建立图的起始位姿有差异,同时不同传感器建图的尺度也不一致和不稳定的。为此,本方案以前视鱼眼相机建立的图关键帧的轨迹为基础,建立其他地图关键帧轨迹到其的映射。定位时,其他地图的定位结果即可均映射到前视鱼眼相机建立的地图上。

具体的,某个地图轨迹到前视鱼眼地图轨迹的映射可以是整体映射关系,基于evo工具来计算得到两个轨迹的SIM(3)映射,即两个轨迹整体的平移旋转及尺度映射。

更进一步,某个地图轨迹到前视鱼眼地图轨迹的映射可以是连续的局部动态映射。采用滑动窗口机制连续计算两个轨迹的局部轨迹的SIM(3)映射,该映射和滑动窗口的位置值关联,由此得到SIM(3)映射序列,该映射序列用于把某个地图轨迹精准地映射到前视鱼眼地图轨迹。定位时,该映射序列可把某个地图的定位结果精准地映射到前视鱼眼地图上的位置。

进一步地,步骤S204中基于至少一个鱼眼相机采集的图像数据进行目标检测,生成对应的2D车位对象地图,具体可以包括:步骤Sa、步骤Sb、步骤Sc以及步骤Sd,如图6所示,其中,

步骤Sa、基于至少一路鱼眼相机采集的图像数据生成顶视图。

具体地,根据鱼眼相机的投影成像模型,鱼眼相机安装的外参矩阵,可确定相机的逆透视变换IPM(Inverse Perspective Mapping),具体公式如下所示。

其中,鱼眼相机中的像素被映射到以车辆中心为坐标原点的地面上,z取零。具体 的,

步骤Sb、基于顶视图进行车位检测,得到车位检测结果。

具体的,在顶视图上基于深度神经网络模型进行车位的检测及分类,其中,输入图像为拼接的顶视图,首先通过卷积神经网络获取车位的全局信息和车位角点信息,然后通过两个信息进行融合从而获取图像中车位的具体位置(由车位入口的两个角点确定)及车位类别信息,具体表示为slot(No.,x1,y1;x2,y2;type)

步骤Sc、基于顶视图进行车位号检测以及车位号识别,得到车位号检测结果以及车位号识别结果。在本申请实施例中,步骤Sb可以在步骤Sc之前执行,也可以在步骤Sc之后执行,还可以与步骤Sc同时执行,在本申请实施例中不做限定。

具体地,对于车位号的检测,采样通用对象检测模型SDD或者专门用于文本检测的网络模型SegLink。SegLink利用不同的feature map分别进行预测,同时引入了带方向bounding-box。SegLink可以检测任意方向的文本行,具体示意可参考图8(b),其表示为number(No.,x,y,w,h,θ),其中No.是车位的序号,其值就是该车位号隶属的车位序号。基于检测到的车位号的方向将车位号区域旋转到归一化的水平方向上,具体示意可参考图8(c),然后对于旋转到正确方向的车位号,基于OCR技术进行识别。在本申请实施例中, 车位号检测结果包括:车位号以及车位号的位置信息。

步骤Sd、基于预设鱼眼相机对应的地图信息、车位检测结果、车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图。

其中,预设鱼眼相机对应的地图信息属于各个鱼眼相机对应的地图信息中的一个鱼眼相机对应的地图信息。

具体地,基于预设鱼眼相机对应的地图信息、车位检测结果、车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图,具体可以包括:基于顶视图坐标系与车辆坐标系的转换关系,将车位检测结果和车位号检测结果转换到车辆坐标系中,得到在车辆坐标系下的车位检测结果和在车辆坐标系下的车位号检测结果;基于预设鱼眼相机对应的地图信息、在车辆坐标系下的车位检测结果以及在车辆坐标系下的车位号检测结果,确定在预设鱼眼相机对应的地图上的车位检测结果以及在预设鱼眼相机对应的地图上的车位号检测结果;基于在预设鱼眼相机对应的地图上的车位检测结果、在预设鱼眼相机对应的地图上的车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图。

具体地,在顶视图坐标系中,以车辆中心为原点,x轴指向车辆右方,y轴指向车辆前方,z轴朝上。车辆坐标系中以车辆后轴中心为原点,z轴指向上方,x轴指向车辆前方,y轴指向车辆右方。二者之间的变换关系为:

其中,x和y为顶视图坐标系中点的位置,xb和yb为车辆坐标系中点的位置,

进一步地,车辆位姿随着时间t变化而变化,t时刻车辆在前视鱼眼地图中位姿为 4*4的齐次矩阵

其中,将number_T转换为4*4的齐次矩阵,然后直接左乘

如上检测和转换后的slot_map,number_map以及车位号识别结果s(No.,n1,n2,n3,n4,n5),组成了2D车位地图,默认的2D车位地图中会存在同一个车位的多次重复且其位置有细微变动的情况。进一步地,为减少地图大小保证车位在图中唯一性,可以基于车位的位置进行聚类,然后对同一类车位进行统计获取其位置均值,以统计的位置均值作为该车位位置。

进一步地,将通过上述实施例生成的以检测、分类及识别的车位及车位号为基础的车位对象地图,其单独存储为2D车位对象地图。

进一步地,基于每路鱼眼相机对应的地图信息进行语义分割处理,生成对应的2D语义点云地图,具体可以包括:步骤Se、步骤Sf、步骤Sg以及步骤Sh,其中,步骤Se至步骤Sh可以在步骤Sa至步骤Sd之前执行,也可以在步骤Sa至步骤Sd之后执行,还可以与步骤Sa至步骤Sd同时执行,在本申请实施例中并不限定。

步骤Se、对至少一路鱼眼相机对应的地图信息进行语义分割处理,得到每路鱼眼地图中各个像素分别对应的语义类别标签。

具体地,基于深度学习对至少一路鱼眼相机对应的地图信息进行语义分割处理。在原始的鱼眼图像,直接进行彩色图像的语义分割,将图像中的每个像素进行分类得到语义类别标签。具体的,可使用基于编码器解码器结构的UNet网络或使用金字塔空洞池化及全连接条件随机场的DeepLab网络等方法实现图像语义分割。

步骤Sf、将语义类别标签为预设语义类别标签对应的像素投影至顶视图,得到各个像素在顶视图中分别对应的位置信息。

具体地,预设语义标签可以包括:道路边界、道路线以及道路标识。在本申请实施例中,语义label为道路边界、道路线及道路标识的像素的顶视投影。具体可以采用上述实施例中的逆透视变换IPM将语义label 为道路边界、道路线及道路标识的像素进行投影。默认可仅做前视鱼眼相机的语义分割和相应语义label像素的顶视投影;更进一步,四路鱼眼相机均可做语义分割及相应语义label像素的顶视投影。

步骤Sg、基于顶视图坐标系和车辆坐标系的转换关系,将各个像素在顶视图中分别对应的位置信息转换到车辆坐标系下,得到各个像素在车辆坐标系中分别对应的位置信息。

进一步地,无论是1路鱼眼相机还是多路鱼眼相机的语义label,均基于公式(7)将其转换到车辆坐标系中。其中,公式(7)具体详见上述实施例,在此不再赘述。

步骤Sh、基于预设鱼眼相机对应的地图信息以及各个像素在车辆坐标系中分别对应的位置信息,生成对应的2D语义点云地图。

具体地,车辆位姿随着时间t变化而变化,t时刻车辆在前视鱼眼地图中位姿为4*4 的齐次矩阵

进一步地,生成以各个语义像素点的label及其位置为基础的语义点云地图,其单独存储为车位线、边界及标识的2D语义点云地图。

具体地,步骤S205中,基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图,具体可以包括:步骤S2051(图中未示出)以及步骤S2052(图中未示出),其中,

步骤S2051、基于预设鱼眼相机对应的地图信息、虚拟边界线以及POI构建导航地图。

进一步地,在本申请实施例中,预设鱼眼相机对应的地图信息可以为前视鱼眼对应的地图信息。在本申请实施例中,基于前视鱼眼的定位位姿轨迹,虚拟边界线及POI构建导航地图图层。首先,顶视图上虚拟边界线的生成。在顶视图上,基于语义分割得到道路边界点;对道路边界点进行采样,采样策略为离散均匀的采集距离车辆中心最近的道路边界点;对于没有道路边界点的区域,采样距离车辆指定距离的点序列来替代,默认距离设定为离车辆中心为二分之一车宽加指定的宽度,指定的宽度可以是1米或2米等。然后,以定位位姿轨迹为循迹轨迹,添加检测到的POI的类型及位置或者通过HMI添加手工设定的POI的类型及位置,完成导航地图图层的生成。其可用作HMI显示的基础,也可用于全局路径规划。用于全局规划的循迹轨迹是有确定的指向的,其指向由建图时车辆行驶的时间顺序确定的,不可逆性。

步骤S2052、基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图、2D语义点云地图以及导航地图,构建多层复合地图。

具体地,每路鱼眼相机对应的地图信息,包括:每路鱼眼相机对应的定位位姿;步骤S2052中基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图、2D语义点云地图以及导航地图,构建多层复合地图,具体可以包括:以预设鱼眼相机对应的定位位姿为基础轨迹,建立其他鱼眼相机对应的定位位姿、毫米波地图、2D点云地图、2D语义点云地图以及导航地图之间的映射关系;基于映射关系构建多层复合地图。

进一步地,以预设鱼眼相机对应的定位位姿为基础轨迹,建立任一层地图与预设鱼眼相机对应的定位位姿之间的映射关系,具体可以包括:以预设鱼眼相机对应的定位位姿为基础轨迹,建立任一层地图与预设鱼眼相机对应的定位位姿之间的整体映射关系;和/或,以预设鱼眼相机对应的定位位姿为基础轨迹,采用滑动窗口连续计算任一层地图与预设鱼眼相机对应的定位位姿的局部轨迹映射,以建立局部映射关系。

对于本申请实施例,基于视觉地图、毫米波地图,车位检测结果、可行驶区域检测结果、道路标识线结果生成的车位对象地图和道路语义点云地图,构建多层复合地图140。其中每层地图均是独立构建、独立存储,其中,前视鱼眼点云地图数据及其关键帧轨迹为多层复合地图的核心层,是右视鱼眼点云地图及关键帧轨迹、后视鱼眼点云地图以及关键帧轨迹、左视鱼眼点云地图及关键帧轨迹进行轨迹映射的基准,是车位对象地图、道路边界及道路标识地图、导航地图构建的基准。具体多层复合地图的组成如图9所示。在图9中,车位对象地图也可以称为停车位地图(Slot_Position, Slot_Type, Slot_No, Slot_No_Pos),道路语义点云地图可以称为道路边界以及道路标识地图(road_boudary, road_lines,road_markers),导航地图也可以称为导航地图(Visual_Front_Trajectory, POIs, Slot_Position,Slot_No),右视鱼眼点云地图及关键帧轨迹也可以称为右视鱼眼点云地图及关键帧轨迹(Visual_Right_Map, Visual_Right_Trajectory)、后视鱼眼点云地图以及关键帧轨迹也可以称为后视鱼眼点云地图以及关键帧轨迹(Visual_Back_Map, Visual_Back_Trajectory)、左视鱼眼点云地图及关键帧轨迹也可以称为左视鱼眼点云地图及关键帧轨迹(Visual_Left_Map, Visual_Left_Trajectory),前视鱼眼点云地图及关键帧轨迹也可以称为前视鱼眼点云地图及关键帧轨迹(Visual_Front_Map, Visual_Front_Trajectory)。

进一步地,在本申请实施例中,多层复合地图中的每层地图均是独立构建、独立存储,其中预设鱼眼点云地图数据及其关键帧轨迹(前视鱼眼点云地图数据及其关键帧轨迹)为多层复合地图的核心层,其是毫米波地图、2D点云地图、2D语义点云地图以及导航地图构建的基准。

具体地,获取前视鱼眼点云地图数据及其关键帧轨迹数据,其作为多层复合地图的核心层,即其是其他层映射的基准和构建的基准,进一步地,以前视鱼眼的定位位姿轨迹为基准轨迹,建立各个层地图的位姿轨迹同基准轨迹的映射关系。某层地图轨迹到前视鱼眼地图轨迹的映射可以是整体映射关系,基于evo工具来计算得到两个轨迹的SIM(3)映射,即两个轨迹整体的平移旋转及尺度映射。更进一步,某个地图轨迹到前视鱼眼地图轨迹的映射也可以是连续的局部动态映射。采用滑动窗口机制连续计算两个轨迹的局部轨迹的SIM(3)映射,该映射和滑动窗口的位置值关联,由此得到SIM(3)映射序列,该映射序列用于把某个地图轨迹精准地映射到前视鱼眼地图轨迹。

进一步地,通过上述实施例可以得到构建的复合地图,进一步地,在得到构建的复合地图之后还可以对车辆进行循迹控制。

进一步地,在本申请实施例中,该方法可以包括:步骤S1(图中未示出)、步骤S2(图中未示出)以及步骤S3(图中未示出),其中,

步骤S1、基于每路鱼眼相机对应的地图信息以及至少一个毫米波地图进行实时融合定位。

进一步地,步骤S1可以在步骤S201之后执行。

具体地,步骤S1中基于每路鱼眼相机对应的地图信息以及至少一个毫米波地图进行实时融合定位,具体可以包括:步骤S11、步骤S12、步骤S13、步骤S14、步骤S15以及步骤S16,如图10所示,其中,

步骤S11、从每路鱼眼相机对应的地图信息中提取对应的视觉特征。在本申请实施例中,从每路鱼眼相机对应的地图信息中提取对应的视觉信息的方式具体详见上述实施例,在此不再赘述。

步骤S12、基于每路鱼眼视觉特征进行重定位和跟踪定位,得到第一车辆位姿信息。

其中,第一车辆位姿信息为每路鱼眼相机对应的位姿信息。在本申请实施例中,基于每路鱼眼视觉特征进行重定位和跟踪定位,具体可以包括:基于每路鱼眼视觉特征以及各路鱼眼点云地图及轨迹进行重定位和跟踪定位。在本申请实施例中,各路鱼眼点云地图及轨迹包括:前视鱼眼点云地图及轨迹、后视鱼眼点云地图及轨迹、左视鱼眼点云地图及轨迹以及右视鱼眼点云地图及轨迹等。

具体地,重定位过程如下:首先,计算当前帧的BOW向量,在关键帧词典数据库中选取若干关键帧作为候选;其次,寻找有足够多的特征点匹配的关键帧;最后,利用RANSAC迭代,使用PnP算法求解位姿。跟踪定位过程如下:设定局部地图中与当前帧有相同点的关键帧序列成为K1,在covisibility graph中与K1相邻的为K2。局部地图有一个参考关键帧Kref∈K1,它与当前帧具有最多共同看到的地图云点。针对K1,K2可见的每个地图云点,在当前帧中进行搜索找到匹配的地图点;相机位姿通过匹配所有地图点被优化。

步骤S13、对第一车辆位姿信息以及优化后的位姿信息进行位姿融合,得到第二车辆位姿信息。

其中,第二车辆位姿信息为每路鱼眼相机融合后的位姿信息,优化后的位姿信息为基于轮速数据确定出的位姿信息与基于IMU数据确定出的位姿信息共同确定出的位姿信息,第一车辆位姿信息为为每路鱼眼相机对应的位姿信息。

进一步地,在本申请实施例中,计算得到优化后的位姿信息的方式具体详见上述实施例,在此不再赘述。

进一步地,在得到优化后的位姿信息之后,基于第一车辆位姿信息以及优化后的位姿信息进行位姿融合的方式具体可以包括:可采用滤波的方法,对于每一路鱼眼相机的位姿,基于扩展卡尔曼滤波将其同轮速IMU的位姿进行融合;也可采用位姿图优化的方法,鱼眼相机位姿作为节点,轮速IMU构造的两个位姿的变换作为边,基于g2o或者cere进行位姿优化。

步骤S14、基于每个雷达传感器对应的2D点云数据进行定位处理,得到第三车辆位姿信息。在本申请实施例中,步骤S14可以在步骤S11至步骤S13之前执行,也可在步骤S11至步骤S13之后执行,还可以在步骤S11、步骤S12以及步骤S13中任一步骤之前、之后或者同时执行,在本申请实施例中不作限定。

其中,第三车辆位姿信息为每个雷达传感器对应的位姿信息。

具体地,每个雷达传感器对应的2D点云数据为对多路毫米波雷达数据对齐及2D投影后得到。具体地,2D点云的定位,采用cartographer定位算法进行。采用多分辨率栅格和分枝定界两个策略,前者减小总的搜索范围,后者能在同样搜索范围下减小搜索次数,两者结合提高搜索效率,解决初始位姿误差比较大的情况下的大范围搜索问题。具体的,多分辨率栅格,先用一个很低的分辨率得到一个粗略位置,然后调高一点,让位姿变的精确一点,然后循环这个过程,递进调高分辨率,层次递进直到达到精匹配需要的分辨率;分枝定界,根据每次搜索的结果确定下一次搜索往哪去会更合理,避免了暴力遍历,提高效率。具体2D点云同地图的匹配采用扫描匹配,先用相关性扫描匹配求初值,再基于优化的扫描匹配进一步优化位姿。

步骤S15、基于2D车位对象地图以及2D语义点云地图进行语义定位,得到第四车辆位姿信息。

其中,语义定位包括:语义重定位以及语义跟踪定位。

具体地,基于2D车位对象地图以及2D语义点云地图进行语义定位,包括:获取2D车位对象地图、车位检测结果以及车位识别结果;基于2D车位对象地图、车位检测结果以及车位识别结果进行语义定位;获取2D语义点云地图,并基于语义点云地图进行语义定位。

具体地,2D车位对象地图中包含:车位检测结果slot_map,车位号检测结果number_map以及车位号识别结果,车位号识别结果包括:各帧分别对应的车位号序列;其中,基于2D车位对象地图、车位检测结果以及车位识别结果进行重定位,具体可以包括:基于当前帧识别的车位号序列搜索2D车位对象地图,得到相似候选关键帧;基于相似候选关键帧的车位号检测结果number_map与当前帧的车位号检测结果进行匹配;基于匹配结果并通过最近邻迭代算法ICP计算车辆的位姿信息;基于相似关键帧的车位检测结果slot_map序列和当前帧的车位检测结果进行匹配;基于匹配结果并通过ICP计算优化计算得到的车辆的位姿信息,得到优化后的车辆的位姿信息。在本申请实施例中,所述相似候选关键帧的车位号序列与所述当前帧识别的车位号序列相同,或者相似度满足预设相似度阈值。在本申请实施例中,预设相似度阈值可以由用户设定,也可以为预先设定存储的,在本申请实施例中不做限定。

具体地,基于所述2D车位对象地图、车位检测结果以及所述车位识别结果进行语义跟踪定位,具体可以包括:以重定位成功的地图中的关键帧为参考关键帧,以当前帧识别到的车位号序列,检测到的车位号number序列、车位slot序列同参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位,得到当前帧的位姿;根据计算得到当前帧的位姿,在所述2D车位对象地图中查找和所述当前关键帧的位姿距离最近的关键帧位姿,并设定其为最新的参考关键帧;以当前帧识别到的车位号序列,检测到的车位号number序列、车位slot序列同新的参考关键帧中进行匹配,通过ICP计算位姿进行跟踪定位;循环执行同时根据计算得到当前帧的位姿,在地图中查找和所述当前帧的位姿距离最近的关键帧位姿、设定其为最近的参考关键帧,以及以当前帧识别到的车位号序列,检测到的number序列、slot序列同新的参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位直至跟踪结束。

具体地,语义跟踪定位包括:(1)以重定位成功的地图中的关键帧为参考关键帧,以当前帧识别到的车位号序列,检测到的number序列、slot序列同参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位;(2)同时根据计算得到当前帧的位姿,在地图中查找和其距离最新的关键帧位姿、设定其为最新的参考关键帧;(3)以当前帧识别到的车位号序列number序列、slot序列同新的参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位。重复步骤(2)和(3),完成跟踪定位。

步骤S16、基于第二车辆位姿信息、第三车辆位姿信息以及第四车辆位姿信息进行实时融合定位,得到实时融合定位结果。

具体地,步骤S16中基于第二车辆位姿信息、第三车辆位姿信息以及第四车辆位姿信息进行实时融合定位,得到实时融合定位结果,具体可以包括:获取映射关系,映射关系为其他各路鱼眼相机对应的定位位姿与预设鱼眼相机对应的定位位姿之间的映射关系,以及毫米波地图、2D点云地图、2D语义点云地图以及导航地图与预设鱼眼相机对应的定位位姿之间的映射关系;基于映射关系,将其他路鱼眼相机对应的第二车辆位姿信息以及每个第三车辆位姿信息映射到预设鱼眼相机的地图坐标系中;将映射后的其他路鱼眼相机对应的第二车辆位姿信息、预设鱼眼相机对应的第二车辆位姿信息、映射后的每个第三车辆位姿信息以及第四车辆位姿信息,并基于多观测卡尔曼滤波进行实时融合定位,得到实时融合定位结果。

步骤S2、获取3D实时感知信息,并基于实时融合定位结果以及3D实时感知信息,进行局部轨迹规划。

进一步地,获取3D实时感知信息,之前还可以包括:步骤S2a、步骤S2b、步骤S2c、步骤S2d以及步骤S2e,如图11所示,其中,在本申请实施例中,步骤S2a、步骤S2b、步骤S2c以及步骤S2d的执行顺序在本申请实施例中不做限定,其中,图11仅是给出一种示例。

步骤S2a、获取车位检测结果、车位号检测结果以及车位号识别结果。

具体地,基于鱼眼相机进行顶视图的生成,然后基于顶视图的车位检测及分类、车位号检测及识别,以得到车位检测结果、车位号检测结果以及车位号识别结果。在本申请实施例中,基于鱼眼相机进行顶视图的生成以及基于顶视图的车位检测及分类、车位号检测及识别的方式具体详见上述实施例,在此不再赘述。

步骤S2b、获取预设语义类别的标签对应的像素在顶视图中的位置信息。

具体地,鱼眼图像上基于深度学习进行语义分割得到各个像素的语义标签,然后将语义label为道路边界、道路线及道路标识的像素的顶视投影。顶视图上的聚类采用连通区域分析的方法,语义分割图像中的像素集合分成由相同标签且位置相邻的像素点组成的图像区域,由此确定顶视图中的不同道路边界对象、不同道路线对象及不同道路标识对象。具体地,在本申请实施例中基于深度学习进行语义分割得到各个像素的语义标签,进而对语义标签为道路边界、道路线及道路标识的顶视投影具体可以详见上述实施例,在此不再赘述。

步骤S2c、将每路鱼眼相机采集的图像数据投影为柱状图,并对每个柱状图进行3D对象检测,得到每个柱状图对应的3D检测结果。

对于本申请实施例,基于圆柱投影将鱼眼相机图像投影为矩形的柱状图。圆柱投影是以圆柱面作为投影面,按某种条件,将地球面上的经纬线投影到圆柱面上,并沿圆柱母线切开展成平面的一种投影;从几何上看,圆柱投影是圆锥投影中锥顶在无穷远处的特例。具体的,本方案采用正轴圆柱投影如图12所示,经线和纬线投影后各自均为平行线,且经纬线正交。在本申请实施例中,在图12(a)中为投影面和原面的关系示意图,在图12(b)中为投影面展开后的示意图。根据经纬线表象特征可见,投影直角坐标x,y分别为φ和λ的函数,即x=g(φ);y=α*λ。式中函数g取决于投影变形性质。α为投影常数,在正切圆柱投影中,α等于赤道半径α,相割时小于α。等角正圆柱投影也称墨卡托投影。圆柱投影的变形仅随纬度而变化,即在同纬线上各点的变形相同而与经度无关。故在圆柱投影中,等变形线与纬线一致,成为平行线。步骤S2d、获取每个雷达传感器对应的3D点云数据,并对每颗雷达的目标点进行聚类处理,得到每个聚类结果对应的3D边界框的位置信息。

对于本申请实施例,每个雷达传感器对应的3D点云数据的获得方式具体详见上述实施例,在此不再赘述。

进一步地,在得到3D点云数据后,使用DBSCAN 算法对每颗雷达的目标点进行聚类计算,使用kd-tree来加快三维空间的距离搜索,提高计算效率。通过DBSCAN算法得到目标的核心点、核心可达点和离群点。对于每个聚类计算其外接长方体,即可得到该对象的3DBounding Box,也即得到每个聚类结果对应的3D边界框的位置信息。

步骤S2e、基于车位检测结果、车位号检测结果、车位号识别结果、预设语义类别的标签对应的像素在顶视图中的位置信息、每个柱状图对应的3D检测结果以及每个聚类结果对应的3D边界框的位置信息进行融合跟踪,得到3D实时感知信息。

进一步地,各类不同的检测结果(车位检测结果、车位号检测结果、车位号识别结 果、预设语义类别的标签对应的像素在顶视图中的位置信息、每个柱状图对应的3D检测结 果以及每个聚类结果对应的3D边界框的位置信息)分别是属于不同的坐标系中,车位检测 结果、车位号检测结果、车位号识别结果属于车辆坐标系中,预设语义类别的标签对应的像 素在顶视图中的位置信息属于车辆坐标系,每个柱状图对应的3D检测结果是前视鱼眼相机 坐标系,每个聚类结果对应的3D边界框的位置信息是车辆坐标系的。为此,对每个柱状图对 应的3D检测结果左乘前鱼眼相机外参矩阵的逆

进一步地,在得到3D实时感知结果和实时融合定位结果之后,基于实时融合定位结果以及3D实时感知信息,进行局部轨迹规划,具体可以包括:基于3D感知结果以及定位信息,生成规划栅格;基于规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划;在局部路径规划的基础上进行速度规划,确定局部轨迹规划。

进一步地,基于规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划,之前还可以包括:从多层复合地图中提取导航地图层;从导航地图层中获取车辆运行轨迹;基于车辆运行轨迹以及预设的POI目标区域进行全局路径规划。在本申请实施例中,从导航地图层中读取前视鱼眼相机建立的车辆的运行轨迹Visual_Front_Trajectory,并从前导航地图层上的多个POIs中获取预设的POI;基于获取的车辆当前的融合定位结果,获取的前视鱼眼相机建图时的关键帧轨迹,即车辆运行轨迹Visual_Front_Trajectory,以及指定的POI目标区域,进行全局路径规划。全局路径规划是根据给定的地图和目标位置,规划一条使车辆或者机器人到达目标位置的路径,其仅考虑工作空间的几何约束,不考虑车辆的运动学模型和约束。采用A*算法来规划全局路径,也可采用改进的A*算法,特别的,在本申请实施例中可基于建图时的关键帧轨迹来加速全局路径规划。具体做法如下:首先,计算选定的POI区域(可选择POI区域的中心位置)和前视鱼眼相机建图时的关键帧轨迹Visual_Front_Trajectory的距离(2D坐标系下的欧式距离),找到关键帧轨迹上离POI点最近的点Target_Pos(Xt,Yt);其次,计算车辆当前位置Cur_Pos和Visual_Front_Trajectory的距离(2D坐标系下的欧式距离),确定Visual_Front_Trajectory上离车辆当前位置Cur_Pos最近的点Ori_Pos(Xo,Yo);然后,Visual_Front_Trajectory上的Ori_Pos和Target_Pos的之间的轨迹点就是规划的全局路径;进一步,如果Ori_Pos和Target_Pos的之间的轨迹有多条,选择距离最小的轨迹作为规划的全局路径。

对于本申请实施例,从多层复合地图中提取导航地图层以及从导航地图层中获取车辆运行轨迹;基于车辆运行轨迹以及预设的POI目标区域进行全局路径规划的步骤可以在基于3D感知结果以及定位信息生成规划栅格的步骤之前执行,也可以在基于3D感知结果以及定位信息生成规划栅格的步骤之后执行,也可以与基于3D感知结果以及定位信息生成规划栅格的步骤同时执行,在本申请实施例中并不限定。

具体地,在生成规划栅格时,采用占用栅格对空间进行划分。在本申请实施例中,可用二值栅格法把工作空间分割成规则而均匀的含二值信息的栅格。在车辆移动过程中,栅格的尺寸和位置不变。二值信息分别表示该栅格处是否有障碍,没有障碍的栅格称为自由栅格,否则为障碍栅格。

进一步地,在得到规划栅格后,根据传感器的实时测量信息,调整路径轨迹以避免发生碰撞。避障规划又叫局部路径规划/动态路径规划。主要是对障碍物的移动轨迹跟踪(Moving Object Detection and Tracking ,MODAT)做出下一步可能位置的推算,绘制一幅包含现存碰撞风险和潜在碰撞风险的障碍物地图,计算得到路径规划。具体可采用启发式搜索算法(例如A*算法、Dijkstra算法)、随机采样算法(例如概率路图法、快速随机扩展书法)、动态规划算法进行路径规划。

在得到全局路径规划的基础上,基于规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划,具体可以包括:基于规划栅格、各个传感器分别测量到的实时测量信息以及全局路径信息,进行局部路径规划。

进一步地,在得到局部路径规划后,基于车辆运动学的轨迹规划。车辆低速运动场景,不考虑车辆的动力学,仅根据车辆运动学模型和约束。在实时路径规划的基础上,考虑时间序列和车辆运动学对车辆进行轨迹规划优化。具体的,车辆可简化为两轮二自由度转向模型。然后在局部规划路径的基础上,进行速度规划,以得到局部轨迹规划。

步骤S3、基于局部轨迹规划,对车辆进行循迹控制。

对于本申请实施例,根据车辆的当前位姿、速度、局部轨迹规划进行循迹控制。在本申请实施例中主要是应用于低速的无人车辆,为此循迹控制无需考虑车辆的动力学模型,无需考虑轮胎作用力。自主循迹控制包括横向控制和纵向控制。横向控制主要通过控制转向盘使车辆沿着期望的既定路线行驶,同时满足一定的舒适性和平顺性要求。纵向控制是行车方向上的控制,主要是通过控制车辆的油门和刹车使得车辆按照期望的车速行驶。

具体的自主循迹控制可采用基于比例-积分-微分(英文缩写:PID)控制器的循迹控制方法或基于自抗扰控制器(Active Disturbance Rejection Control,ADRC)的循迹控制方法。基于PID控制器的循迹控制由比例单元P、积分单元I和微分单元 D组成,通过 Kp、Ki和 Kd三个参数的设定通过对三个参数的设定,可实现比例控制、积分控制、微分控制三种控制方法的单独或组合使用。具体的,在循迹横向控制中,可仅采用PD控制器,输入偏差e(t),经过PD控制器后输出u(t)直接控制转向;在循迹纵向控制中,可仅采用PI控制器来实现。更进一步,可基于ADRC控制器进行循迹控制,ADRC控制器相对于PID控制器增加了一个过渡过程,将阶跃变化变得柔和、设计了非线性控制率、设计了扩张状态观测器ESO,估计反馈数据和干扰。

进一步地,在本申请实施例中,除了通过PID控制器进行循迹控制,还可以通过纵横向协同控制、模糊控制、模型预测控制(Model Predictive Control,MPC)、滑模控制和线性二次型最有控制线性二次型调节器(linear quadratic regulator,LQR)进行循迹控制,在本申请实施例中不做限定。

上述实施例从方法流程的角度介绍了一种构建地图的方法,下述实施例从模块或者单元的角度介绍了一种构建地图的装置,适用于上述方法实施例,具体如下所示:

本申请实施例提供了一种构建地图的装置,如图13所示,其中,构建地图的装置1300具体可以包括:第一获取模块1301、第一建图模块1302、第二建图模块1303、生成模块1304以及第三建图模块1305,其中,

第一获取模块1301,用于获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据;

第一建图模块1302,用于基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息;以及,

第二建图模块1303,用于基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到至少一个毫米波地图信息;

生成模块1304,用于基于至少一个鱼眼相机采集的图像数据以及每路鱼眼相机对应的地图信息进行目标检测以及语义分割处理,生成对应的2D车位对象地图以及2D语义点云地图,目标检测包括车位检测以及车位号检测中的至少一项,2D车位对象地图为以检测到的车位以及车位号中的至少一项为基础的车位对象地图,2D语义点云地图为以各个语义像素点及其位置为基础的语义点云地图;

第三建图模块1305,用于基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图。

本申请实施例的另一种可能的实现方式,第一建图模块1302在基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息时,具体用于:

对每路鱼眼相机采集到的图像数据进行视觉特征提取;

对每路鱼眼相机对应的视觉特征进行特征匹配,并基于特征匹配结果计算每路鱼眼相机对应的位姿信息;

基于轮速数据以及IMU数据,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息。

本申请实施例的另一种可能的实现方式,装置1300还包括:第一确定模块以及第二确定模块,其中,

第一确定模块,用于基于轮速数据以及IMU数据分别确定车辆的位姿信息;

第二确定模块,用于基于分别确定出的位姿信息确定优化后的位姿信息;

其中,第一建图模块1302在基于轮速数据以及IMU数据,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息时,具体用于:

基于优化后的位姿信息,对每路鱼眼相机对应的位姿信息进行位姿优化以及尺度恢复,得到每路鱼眼相机对应的地图信息。

本申请实施例的另一种可能的实现方式,第二建图模块1303在基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到毫米波地图时,具体用于:

对每个雷达传感器采集的雷达数据,并基于对应的雷达传感器的安装参数进行空间对齐,得到每个雷达传感器对应的3D点云数据,3D点云数据包括:对应的雷达传感器中各个目标在车辆坐标系下的三维空间坐标;

将每个雷达传感器对应的3D点云数据投影到2D地面,得到每个雷达传感器对应的2D点云数据,每个雷达传感器对应2D点云数据包括:对应的雷达传感器中各个目标在车辆坐标系下的二维空间坐标;

基于每个雷达传感器对应的2D点云数据以及车辆的位姿信息进行毫米波建图,得到毫米波地图,车辆的位姿信息为基于轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据计算得到的。

本申请实施例的另一种可能的实现方式,生成模块1304在基于至少一个鱼眼相机采集的图像数据进行目标检测,生成对应的2D车位对象地图时,具体用于:

基于至少一路鱼眼相机采集的图像数据生成顶视图;

基于顶视图进行车位检测,得到车位检测结果,车位检测结果包括:车位位置信息以及车位类别信息;以及,

基于顶视图进行车位号检测以及车位号识别,得到车位号检测结果以及车位号识别结果,车位号检测结果包括:车位号以及车位号的位置信息;

基于预设鱼眼相机对应的地图信息、车位检测结果、车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图,预设鱼眼相机对应的地图信息属于各个鱼眼相机对应的地图信息中的一个鱼眼相机对应的地图信息。

本申请实施例的另一种可能的实现方式,生成模块1304在基于预设鱼眼相机对应的地图信息、车位检测结果、车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图时,具体用于:

基于顶视图坐标系与车辆坐标系的转换关系,将车位检测结果和车位号检测结果转换到车辆坐标系中,得到在车辆坐标系下的车位检测结果和在车辆坐标系下的车位号检测结果;

基于预设鱼眼相机对应的地图信息、在车辆坐标系下的车位检测结果以及在车辆坐标系下的车位号检测结果,确定在预设鱼眼相机对应的地图上的车位检测结果以及在预设鱼眼相机对应的地图上的车位号检测结果;

基于在预设鱼眼相机对应的地图上的车位检测结果、在预设鱼眼相机对应的地图上的车位号检测结果以及车位号识别结果,生成对应的2D车位对象地图。

本申请实施例的另一种可能的实现方式,生成模块1304在基于每路鱼眼相机对应的地图信息进行语义分割处理,生成对应的2D语义点云地图时,具体用于:

对至少一路鱼眼相机对应的地图信息进行语义分割处理,得到每路鱼眼地图中各个像素分别对应的语义类别标签;

将语义类别标签为预设语义类别标签对应的像素投影至顶视图,得到各个像素在顶视图中分别对应的位置信息;

基于顶视图坐标系和车辆坐标系的转换关系,将各个像素在顶视图中分别对应的位置信息转换到车辆坐标系下,得到各个像素在车辆坐标系中分别对应的位置信息;

基于预设鱼眼相机对应的地图信息以及各个像素在车辆坐标系中分别对应的位置信息,生成对应的2D语义点云地图。

本申请实施例的另一种可能的实现方式,第三建图模块1305在基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图时,具体用于:

基于预设鱼眼相机对应的地图信息、虚拟边界线以及POI构建导航地图;

基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图、2D语义点云地图以及导航地图,构建多层复合地图。

本申请实施例的另一种可能的实现方式,每路鱼眼相机对应的地图信息,包括:每路鱼眼相机对应的定位位姿;

第三建图模块1305在基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图、2D语义点云地图以及导航地图,构建多层复合地图时,具体用于:

以预设鱼眼相机对应的定位位姿为基础轨迹,建立其他鱼眼相机对应的定位位姿、毫米波地图、2D点云地图、2D语义点云地图以及导航地图之间的映射关系;

基于映射关系构建多层复合地图。

本申请实施例的另一种可能的实现方式,第三建图模块1305在以预设鱼眼相机对应的定位位姿为基础轨迹,建立任一层地图与预设鱼眼相机对应的定位位姿之间的映射关系时,具体用于以下至少一项:

以预设鱼眼相机对应的定位位姿为基础轨迹,建立任一层地图与预设鱼眼相机对应的定位位姿之间的整体映射关系;

以预设鱼眼相机对应的定位位姿为基础轨迹,采用滑动窗口连续计算任一层地图与预设鱼眼相机对应的定位位姿的局部轨迹映射,以建立局部映射关系。

本申请实施例的另一种可能的实现方式,装置1300还包括:融合定位模块、第二获取模块、局部轨迹规划模块以及循迹控制模块,其中,

融合定位模块,用于基于每路鱼眼相机对应的地图信息以及至少一个毫米波地图进行实时融合定位;

第二获取模块,用于获取3D实时感知信息;

局部轨迹规划模块,用于基于实时融合定位结果以及3D实时感知信息,进行局部轨迹规划;

循迹控制模块,用于基于局部轨迹规划,对车辆进行循迹控制。

本申请实施例的另一种可能的实现方式,融合定位模块在基于每路鱼眼相机对应的地图信息以及至少一个毫米波地图进行实时融合定位时,具体用于:

从每路鱼眼相机对应的地图信息中提取对应的视觉特征;

基于每路鱼眼视觉特征进行重定位和跟踪定位,得到第一车辆位姿信息,第一车辆位姿信息为每路鱼眼相机对应的位姿信息;

对第一车辆位姿信息以及优化后的位姿信息进行位姿融合,得到第二车辆位姿信息,第二车辆位姿信息为每路鱼眼相机融合后的位姿信息,所述优化后的位姿信息为基于轮速数据确定出的位姿信息与基于IMU数据确定出的位姿信息共同确定出的位姿信息;

基于每个雷达传感器对应的2D点云数据进行定位处理,得到第三车辆位姿信息,第三车辆位姿信息为每个雷达传感器对应的位姿信息;

基于2D车位对象地图以及2D语义点云地图进行语义定位,得到第四车辆位姿信息,语义定位包括:语义重定位以及语义跟踪定位;

基于第二车辆位姿信息、第三车辆位姿信息以及第四车辆位姿信息进行实时融合定位,得到实时融合定位结果。

本申请实施例的另一种可能的实现方式,融合定位模块在基于2D车位对象地图以及2D语义点云地图进行语义定位时,具体用于:

获取2D车位对象地图以及车位检测及识别结果;

基于2D车位对象地图以及车位检测及识别结果进行语义定位;

获取2D语义点云地图,并基于语义点云地图进行语义定位。

本申请实施例的另一种可能的实现方式,2D车位对象地图中包含:车位检测结果slot_map,车位号检测结果number_map,及车位号识别结果,车位号识别结果包括:各帧分别对应的车位号序列;

其中,融合定位模块在基于2D车位对象地图、车位检测结果以及车位识别结果进行重定位时,具体用于:

基于当前帧识别的车位号序列搜索2D车位对象地图,得到相似候选关键帧;

基于相似候选关键帧的车位号检测结果number_map与当前帧检测的车位号检测结果进行匹配;

基于匹配结果并通过最近邻迭代算法ICP计算车辆的位姿信息;

基于相似关键帧的车位检测结果slot_map序列和当前帧检测的车位检测结果进行匹配;

基于匹配结果并通过ICP计算优化计算得到的车辆的位姿信息,得到优化后的车辆的位姿信息。

本申请实施例的另一种可能的实现方式,融合定位模块在基于2D车位对象地图、车位检测结果以及车位识别结果进行语义跟踪定位时,具体用于:

以重定位成功的地图中的关键帧为参考关键帧,以当前帧检测到的车位号序列、车位号number序列、车位slot序列同参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位,得到当前帧的位姿;

根据计算得到当前帧的位姿,在2D车位对象地图中查找和当前关键帧的位姿距离最近的关键帧位姿,并设定其为最新的参考关键帧;

以当前帧检测到的车位号序列、车位号number序列、车位slot序列同新的参考关键帧中进行匹配,通过ICP计算位姿进行跟踪定位;

循环执行同时根据计算得到当前帧的位姿,在地图中查找和当前帧的位姿距离最近的关键帧位姿、设定其为最近的参考关键帧,以及以当前帧检测到的车位号序列、车位号number序列、车位slot序列同新的参考关键帧中的进行匹配,通过ICP计算位姿进行跟踪定位直至跟踪结束。

本申请实施例的另一种可能的实现方式,融合定位模块在基于第二车辆位姿信息、第三车辆位姿信息以及第四车辆位姿信息进行实时融合定位,得到实时融合定位结果时,具体用于:

获取映射关系,映射关系为其他各路鱼眼相机对应的定位位姿与预设鱼眼相机对应的定位位姿之间的映射关系,以及毫米波地图、2D点云地图、2D语义点云地图以及导航地图与预设鱼眼相机对应的定位位姿之间的映射关系;

基于映射关系,将其他路鱼眼相机对应的第二车辆位姿信息以及每个第三车辆位姿信息映射到预设鱼眼相机的地图坐标系中;

将映射后的其他路鱼眼相机对应的第二车辆位姿信息、预设鱼眼相机对应的第二车辆位姿信息、映射后的每个第三车辆位姿信息以及第四车辆位姿信息,并基于多观测卡尔曼滤波进行实时融合定位,得到实时融合定位结果。

本申请实施例的另一种可能的实现方式,装置还包括:第三获取模块、第四获取模块、投影模块、对象检测模块、第五获取模块、聚类处理模块以及融合跟踪模块,其中,

第三获取模块,用于获取车位检测结果、车位号检测结果以及车位号识别结果;

第四获取模块,用于获取预设语义类别的标签对应的像素在顶视图中的位置信息;

投影模块,用于将每路鱼眼相机采集的图像数据投影为柱状图;

对象检测模块,用于对每个柱状图进行3D对象检测,得到每个柱状图对应的3D检测结果;

第五获取模块,用于获取每个雷达传感器对应的3D点云数据;

聚类处理模块,用于对每颗雷达的目标点进行聚类处理,得到每个聚类结果对应的3D边界框的位置信息;

融合跟踪模块,用于基于车位检测结果、车位号检测结果、车位号识别结果、预设语义类别的标签对应的像素在顶视图中的位置信息、每个柱状图对应的3D检测结果以及每个聚类结果对应的3D边界框的位置信息进行融合跟踪,得到3D实时感知信息。

本申请实施例的另一种可能的实现方式,局部轨迹规划模块在基于实时融合定位结果以及3D实时感知信息,进行局部轨迹规划时,具体用于:

获取3D感知结果,并基于3D感知结果以及定位信息,生成规划栅格;

基于规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划;

在局部路径规划的基础上进行速度规划,确定局部轨迹规划。

本申请实施例的另一种可能的实现方式,装置1300还包括:提取模块、第六获取模块以及全局路径规划模块,其中,

提取模块,用于从多层复合地图中提取导航地图层;

第六获取模块,用于从导航地图层中获取车辆运行轨迹;

全局路径规划模块,用于基于车辆运行轨迹以及预设的POI目标区域进行全局路径规划;

其中,局部轨迹规划模块在基于规划栅格、各个传感器分别测量到的实时测量信息,进行局部路径规划时,具体用于:

基于规划栅格、各个传感器分别测量到的实时测量信息以及全局路径信息,进行局部路径规划。

对于本申请实施例,第一获取模块1301、第二获取模块、第三获取模块、第四获取模块、第五获取模块以及第六获取模块可以为相同的获取模块,也可以均为不同的获取模块,也可以部分为相同的获取模块,在本申请实施例中不做限定。

本申请实施例提供了一种构建地图的装置,与相关技术相比,在本申请实施例中,通过获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据,然后基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息;以及,基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到至少一个毫米波地图信息;基于至少一个鱼眼相机采集的图像数据以及每路鱼眼相机对应的地图信息进行目标检测以及语义分割处理,生成对应的2D车位对象地图以及2D语义点云地图,目标检测包括车位检测以及车位号检测中的至少一项,2D车位对象地图为以检测到的车位以及车位号中的至少一项为基础的车位对象地图,2D语义点云地图为以各个语义像素点及其位置为基础的语义点云地图;然后基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图。也即在本申请实施例中,基于鱼眼相机图像、毫米波雷达点云、相机语义分割像素、相机感知车位、轮速以及IMU数据等协同构建地图,可以实现对于低成本的多类型传感器数据的高精度建图,以解决高精度地图构建对于高成本激光雷达的依赖问题,从而可以实现高精度建图的同时,降低地图建图的成本。

本申请实施例提供了一种构建地图的装置适用于上述方法实施例,在此不再赘述。

本申请实施例中提供了一种电子设备,如图14所示,图14所示的电子设备1400包括:处理器1401和存储器1403。其中,处理器1401和存储器1403相连,如通过总线1402相连。可选地,电子设备1400还可以包括收发器1404。需要说明的是,实际应用中收发器1404不限于一个,该电子设备1400的结构并不构成对本申请实施例的限定。

处理器1401可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线1402可包括一通路,在上述组件之间传送信息。总线1402可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1402可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器1403可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器1403用于存储执行本申请方案的应用程序代码,并由处理器1401来控制执行。处理器1401用于执行存储器1403中存储的应用程序代码,以实现前述方法实施例所示的内容。

其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等,在本申请实施例中,该服务器可以为云端服务器。图14示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与相关技术相比,在本申请中,通过获取至少一个鱼眼相机采集的图像数据、至少一个雷达传感器采集的雷达数据、轮速里程计采集到的轮速数据以及惯性传感器IMU采集到的IMU数据,然后基于至少一个鱼眼相机采集到的图像数据、轮速数据以及IMU数据,进行视觉地图建图,得到每路鱼眼相机对应的地图信息;以及,基于至少一个雷达传感器采集的雷达数据进行毫米波建图,得到至少一个毫米波地图信息;基于至少一个鱼眼相机采集的图像数据以及每路鱼眼相机对应的地图信息进行目标检测以及语义分割处理,生成对应的2D车位对象地图以及2D语义点云地图,目标检测包括车位检测以及车位号检测中的至少一项,2D车位对象地图为以检测到的车位以及车位号中的至少一项为基础的车位对象地图,2D语义点云地图为以各个语义像素点及其位置为基础的语义点云地图;然后基于每路鱼眼相机对应的地图信息、毫米波地图、2D点云地图以及2D语义点云地图,构建多层复合地图。也即在本申请实施例中,基于鱼眼相机图像、毫米波雷达点云、相机语义分割像素、相机感知车位、轮速以及IMU数据等协同构建地图,可以实现对于低成本的多类型传感器数据的高精度建图,以解决高精度地图构建对于高成本激光雷达的依赖问题,从而可以实现高精度建图的同时,降低地图建图的成本。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请的方法及其核心思想,不应理解为对本申请的限制。本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。

技术分类

06120113696252