自动驾驶地图的构建方法及相关装置
技术领域
本申请涉及地图构建
技术领域
,尤其涉及一种自动驾驶地图的构建方法及相关装置。背景技术
目前,障碍物栅格图的构建过程为:获取车辆的运动姿态和车辆周边图像并从车辆周边图像提取地标信息。基于即时定位与地图构建SLAM算法,根据车辆的运动姿态和地标信息生成地标地图以及车辆行驶轨迹。检测可行驶区域并根据车辆行驶轨迹和检测的可行驶区域构建障碍物栅格图。但是构建的障碍物栅格图的精确性较低,无法满足规则复杂、感知条件极端的自动代客泊车场景,且无法为车辆提供符合行驶规则的引导信息。
通常,建筑物的室内地图的构建过程为:获取运动物体的移动轨迹;通过记录、矫正运动物体的移动轨迹构建建筑物的室内地图。但是,构建的建筑物的室内地图的精确性较低,无法提供道路边界、车道边界、道路通行方向信息、车道通行方向信息现有技术一生成的栅格图无法为车辆提供符合行驶规则的引导信息,且无法满足自动代客泊车场景。
现有的拓扑地图的构建过程为:获取车辆行驶轨迹;提取车辆行驶轨迹的关键点;基于提取的所有关键点构建拓扑地图。但是车辆行驶轨迹存在较大的随机性导致拓扑地图无法满足多种场景,且构建的拓扑地图的精确性较低,无法提供道路边界、车道边界、道路通行方向信息、车道通行方向信息。
为了解决构建的地图无法满足规则复杂、感知条件极端的自动代客泊车场景,且无法提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,本申请实施例提供一种自动驾驶地图的构建方法及相关装置。
发明内容
本申请实施例提供一种自动驾驶地图的构建方法及相关装置,用于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
第一方面,本申请实施例提供一种自动驾驶地图的构建方法,包括:
根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息;
根据人工驾驶轨迹数据和道路信息获得道路通行方向信息,以及根据车道信息和道路通行方向信息获得车道通行方向信息;
根据路口信息和车道通行方向信息获得路口出入点信息;
根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,虚拟拓扑中心线为车辆在路口区域行驶的边界线。
可以看出,相较于构建的地图无法满足规则复杂、感知条件极端的自动代客泊车场景,且无法提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,在本申请实施例中,首先获得车辆行驶过的区域的道路信息、路口信息和车道信息,然后分别获得道路通行方向信息和车道通行方向信息,其次获得路口出入点信息,最后基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息,包括:
根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路边界;
根据道路边界获得车辆行驶过的区域的道路中心线;
根据道路边界和道路中心线获得车辆行驶过的区域的路口区域;
根据道路边界、道路中心线和路口区域获得车辆行驶过的区域的车道边界;
根据车道边界获得车辆行驶过的区域的车道中心线。
可见,在本示例中,依次获得车辆行驶过的区域的道路边界、道路中心线、路口区域、车道边界和车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路边界,包括:
根据人工驾驶轨迹数据和/或障碍物栅格图获得多个轨迹点缓冲区域;
对多个轨迹点缓冲区域执行融合操作,得到道路缓冲区域;
将道路缓冲区域的边界确定为车辆行驶过的区域的道路边界。
可见,在本示例中,获得多个轨迹点缓冲区域,对多个轨迹点缓冲区域进行融合,得到道路缓冲区域,将道路缓冲区域的边界确定为车辆行驶过的区域的道路边界,依次获得车辆行驶过的区域的道路中心线、路口区域、车道边界和车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,根据道路边界获得车辆行驶过的区域的道路中心线,包括:
对道路边界执行等间隔化形点操作,得到等间隔化形点后的道路边界;
根据等间隔化形点后的道路边界获得第一泰森多边形边集合;
对第一泰森多边形边集合执行删除等间隔化形点后的道路边界之外的泰森多边形边操作,得到第二泰森多边形边集合;
根据道路边界和预存的第一宽度获得道路边界的缓冲区域;
根据第二泰森多边形边集合中与道路边界的缓冲区域不相交的泰森多边形边获得第三泰森多边形边集合;
对第三泰森多边形边集合执行删除悬挂线操作,得到第四泰森多边形边集合;
对第四泰森多边形边集合执行连接操作,得到车辆行驶过的区域的道路中心线。
可见,在本示例中,基于等间隔化形点后的道路边界获得第一泰森多边形边集合,对第一泰森多边形边集合删除等间隔化形点后的道路边界之外的泰森多边形边,得到第二泰森多边形边集合,获得道路边界的缓冲区域,基于第二泰森多边形边集合与道路边界的缓冲区域不相交的泰森多边形边获得第三泰森多边形边集合,对第三泰森多边形边集合删除悬挂线,得到第四泰森多边形边集合,对第四泰森多边形边集合连接,得到车辆行驶过的区域的道路中心线,依次获得车辆行驶过的区域的路口区域、车道边界和车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,根据道路边界和道路中心线获得车辆行驶过的区域的路口区域,包括:
根据道路中心线获得各个路口的中心点;
将以各个路口的中心点为圆心,预存的第一长度为半径的圆确定为各个路口的中心点缓冲区域;
对各个子道路中心线执行删除长度小于预存的第二长度的子道路中心线操作,得到各个道路路段中心线,各个子道路中心线为道路中心线中除各个路口的中心点缓冲区域之外的剩余道路中心线;
根据各个道路路段中心线和预存的第二宽度获得各个道路路段中心线缓冲区域;
对各个子路口区域执行删除面积小于预存的第一面积的子路口区域操作,得到车辆行驶过的区域的路口区域,各个子路口区域为道路边界构成的面中除各个道路路段中心线缓冲区域之外的剩余路口区域。
可见,在本示例中,获得各个路口的中心点,获得各个路口的中心点缓冲区域,获得各个道路路段中心线,基于各个道路路段中心线获得各个道路路段中心线缓冲区域,对各个子路口区域删除面积小于预存的第一面积的子路口区域,得到车辆行驶过的区域的路口区域,依次获得车辆行驶过的区域的车道边界和车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,根据道路边界、道路中心线和路口区域获得车辆行驶过的区域的车道边界,包括:
获得道路边界中除路口区域之外的各个道路路段边界;
获得道路中心线中除路口区域之外的各个道路路段中心线;
根据各个道路路段边界和各个道路路段中心线判断各个道路路段是否为单车道路段或双车道路段,各个道路路段分别与各个道路路段边界和各个道路路段中心线一一对应;
若道路路段A为单车道路段,则将道路路段A对应的道路路段边界确定为车辆行驶过的单车道路段的车道边界,道路路段A为各个道路路段包括的所有单车道路段中的任意一个;
若道路路段B为双车道路段,则将道路路段B对应的道路路段边界和道路路段中心线确定为车辆行驶过的双车道路段的车道边界,道路路段B为各个道路路段包括的所有双车道路段中的任意一个。
可见,在本示例中,获得各个道路路段边界,获得各个道路路段中心线,基于各个道路路段边界和各个道路路段中心线判断各个道路路段是否为单车道路段或双车道路段,如果道路路段A为单车道路段,那么将道路路段A对应的道路路段边界确定为车辆行驶过的单车道路段的车道边界;如果道路路段B为双车道路段,那么将道路路段B对应的道路路段边界和道路路段中心线确定为车辆行驶过的双车道路段的车道边界;获得车辆行驶过的区域的车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,根据人工驾驶轨迹数据和道路信息获得道路通行方向信息,包括:
根据人工驾驶轨迹数据和道路中心线获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合,各个第一相对角度差集合与各个道路路段一一对应;
若第一相对角度差集合C的方差小于预存的第一角度,则确定与第一相对角度差集合C对应的道路路段是单向通行的,第一相对角度差集合C为各个第一相对角度差集合包括的方差小于第一角度的所有第一相对角度差集合中的任意一个;
若第一相对角度差集合C的均值小于预存的第二角度,则确定与第一相对角度差集合C对应的道路路段的道路通行方向为正向通行;
若第一相对角度差集合C的均值大于等于第二角度,则确定与第一相对角度差集合C对应的道路路段的道路通行方向为逆向通行。
在一些可能的实施例中,方法还包括:
若第一相对角度差集合D的方差大于等于第一角度,则确定与第一相对角度差D对应的道路路段是双向通行的,第一相对角度差集合D为各个第一相对角度差集合包括的方差大于等于第一角度的所有第一相对角度差集合中的任意一个。
可见,在本示例中,获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合,如果第一相对角度差集合C的方差小于预存的第一角度,那么确定与第一相对角度差集合C对应的道路路段是单向通行的;如果第一相对角度差集合C的均值小于预存的第二角度,那么确定与第一相对角度差集合C对应的道路路段的道路通行方向为正向通行;如果第一相对角度差集合C的均值大于等于第二角度,那么确定与第一相对角度差集合C对应的道路路段的道路通行方向为逆向通行;如果第一相对角度差集合D的方差大于等于第一角度,那么确定与第一相对角度差D对应的道路路段是双向通行的;获得车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,根据车道信息和道路通行方向信息获得车道通行方向信息,包括:
若根据车道信息和道路通行方向信息获得的道路路段E为双向通行双车道路段,则根据道路路段E对应的道路路段中心线与道路路段E的两个车道中心线的两个第二相对角度差集合,道路路段E为各个道路路段包括的所有双向通行双车道路段中的任意一个;
若第二相对角度差集合F的均值小于预存的第三角度,则判断第二相对角度差集合F对应的车道中心线与道路路段E对应的道路路段中心线的右侧缓冲区域是否相交,第二相对角度差集合F为两个第二相对角度差集合中的任意一个;若是,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为逆向通行;
若第二相对角度差集合G的均值大于等于第三角度,则判断第二相对角度差集合G对应的车道中心线与道路路段E对应的道路路段中心线的左侧缓冲区域是否相交,第二相对角度差集合G为两个第二相对角度差集合中的任意一个;若是,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为逆向通行。
在一些可能的实施例中,方法还包括:
若根据车道信息和道路通行方向信息获得的道路路段H为双向通行单车道路段,则确定道路路段H的车道通行方向为双向通行,道路路段H为各个道路路段包括的所有双向通行单车道路段中的任意一个;
若根据车道信息和道路通行方向信息获得的道路路段I为单向通行单车道路段,则将道路路段I的道路通行方向确定为道路路段I的车道通行方向,道路路段I为各个道路路段包括的所有单向通行单车道路段中的任意一个。
可见,在本示例中,如果道路路段E为双向通行双车道路段,那么根据道路路段E对应的道路路段中心线与道路路段E的两个车道中心线的两个第二相对角度差集合,如果第二相对角度差集合F的均值小于预存的第三角度,那么判断第二相对角度差集合F对应的车道中心线与道路路段E对应的道路路段中心线的右侧缓冲区域是否相交;若是,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为逆向通行;如果第二相对角度差集合G的均值大于等于第三角度,那么判断第二相对角度差集合G对应的车道中心线与道路路段E对应的道路路段中心线的左侧缓冲区域是否相交;若是,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为逆向通行。如果道路路段H为双向通行单车道路段,那么确定道路路段H的车道通行方向为双向通行;如果道路路段I为单向通行单车道路段,那么将道路路段I的道路通行方向确定为道路路段I的车道通行方向;获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,根据路口信息和车道通行方向信息获得路口出入点信息,包括:
获得车道中心线J的起始形点和终止形点,车道中心线J为各个道路路段包括的所有车道中心线中的任意一个;
根据各个路口区域和预存的第三宽度获得各个路口区域的缓冲区域;
若形点K与路口区域L的缓冲区域相交,则确定形点L属于路口区域L,形点K为车道中心线J的起始形点和终止形点中的任意一个,路口区域L为各个路口区域中的任意一个;
若车道中心线J所处车道的车道通行方向为正向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点;
若车道中心线J所处车道的车道通行方向为逆向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;
若车道中心线J所处车道的车道通行方向为双向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;或者,将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点。
可见,在本示例中,获得车道中心线J的起始形点和终止形点,基于各个路口区域获得各个路口区域的缓冲区域,如果形点K与路口区域L的缓冲区域相交,那么确定形点L属于路口区域L,如果车道中心线J所处车道的车道通行方向为正向通行,那么将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点;如果车道中心线J所处车道的车道通行方向为逆向通行,那么将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;如果车道中心线J所处车道的车道通行方向为双向通行,那么将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;或者,将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点。基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
第二方面,本申请实施例提供一种自动驾驶地图的构建装置,包括:
获得单元,用于根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息;
获得单元,还用于根据人工驾驶轨迹数据和道路信息获得道路通行方向信息;
获得单元,还用于根据车道信息和道路通行方向信息获得车道通行方向信息;
获得单元,还用于根据路口信息和车道通行方向信息获得路口出入点信息;
执行单元,用于用于根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,虚拟拓扑中心线为车辆在路口区域行驶的边界线。
第三方面,本申请提供一种自动驾驶地图的构建装置,装置包括相互耦合的处理器、通信接口和存储器,其中:
处理器,用于根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息;
处理器,还用于根据人工驾驶轨迹数据和道路信息获得道路通行方向信息,以及根据车道信息和道路通行方向信息获得车道通行方向信息;
处理器,还用于根据路口信息和车道通行方向信息获得路口出入点信息;
处理器,还用于根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,虚拟拓扑中心线为车辆在路口区域行驶的边界线。
第四方面,本申请提供一种计算机可读存储介质,存储有计算机指令,计算机程序被硬件(例如处理器等)执行以实现本申请实施例中由自动驾驶地图的构建装置执行的任意一种方法的部分或全部步骤。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行以上各方面的自动驾驶地图的构建方法的部分或全部步骤。
第六方面,本申请实施例提供一种芯片系统,芯片系统包括处理器,用于支持电子设备实现以上各方面的自动驾驶地图的构建方法的部分或全部步骤。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1A是本申请实施例提供的第一种自动驾驶地图的构建方法的流程示意图;
图1B是本申请实施例提供的一种获得车辆行驶过的区域的道路信息、路口信息和车道信息的流程示意图;
图1C是本申请实施例提供的一种获得车辆行驶过的区域的道路边界的流程示意图;
图1D是本申请实施例提供的一种获得多个轨迹点缓冲区域的流程示意图;
图1E是本申请实施例提供的一种道路缓冲区域的示意图;
图1F是本申请实施例提供的一种获得车辆行驶过的区域的道路中心线的流程示意图;
图1G是本申请实施例提供的一种等间隔化形点前后的道路边界的示意图;
图1H是本申请实施例提供的一种车辆行驶过的区域的道路中心线的示意图;
图1I是本申请实施例提供的一种获得车辆行驶过的区域的路口区域的流程示意图;
图1J是本申请实施例提供的一种车辆行驶过的区域的路口区域的示意图;
图1K是本申请实施例提供的一种获得车辆行驶过的区域的车道边界的流程示意图;
图1L是本申请实施例提供的一种判断各个道路路段是否为单车道路段或双车道路段的流程示意图;
图1M是本申请实施例提供的一种获得道路通行方向信息的流程示意图;
图1N是本申请实施例提供的一种获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合的流程示意图;
图1O是本申请实施例提供的一种获得车道通信方向信息的流程示意图;
图1P是本申请实施例提供的一种获得路口出入点信息的流程示意图;
图1Q是本申请实施例提供的一种生成虚拟拓扑中心线的示意图;
图2是本申请实施例提供的第二种自动驾驶地图的构建方法的流程示意图;
图3是本申请实施例提供的第三种自动驾驶地图的构建方法的流程示意图;
图4是本申请实施例提供的一种基于自动驾驶地图实现自动代客泊车方法的流程示意图;
图5是本申请实施例提供的一种自动驾驶地图的构建装置的功能单元组成框图;
图6是本申请实施例提供的一种自动驾驶地图的构建装置的结构示意图;
图7是本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请实施例的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
请参见图1A,图1A是本申请实施例提供的第一种自动驾驶地图的构建方法,该自动驾驶地图的构建方法包括步骤101-104,具体如下:
101、自动驾驶地图的构建装置根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息。
自动驾驶地图的构建装置根据人工驾驶轨迹数据获得车辆行驶过的区域的道路信息、路口信息和车道信息;或者,自动驾驶地图的构建装置根据人工驾驶轨迹数据和障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息。
在一些可能的实施例中,如图1B所示,自动驾驶地图的构建装置根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息包括步骤S1-S5,具体如下:
S1、自动驾驶地图的构建装置根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路边界;
S2、自动驾驶地图的构建装置根据道路边界获得车辆行驶过的区域的道路中心线;
S3、自动驾驶地图的构建装置根据道路边界和道路中心线获得车辆行驶过的区域的路口区域;
S4、自动驾驶地图的构建装置根据道路边界、道路中心线和路口区域获得车辆行驶过的区域的车道边界;
S5、自动驾驶地图的构建装置根据车道边界获得车辆行驶过的区域的车道中心线。
自动驾驶地图的构建装置根据人工驾驶轨迹数据获得车辆行驶过的区域的道路边界;或者,自动驾驶地图的构建装置根据人工驾驶轨迹数据和障碍物栅格图获得车辆行驶过的区域的道路边界。
可见,在本示例中,依次获得车辆行驶过的区域的道路边界、道路中心线、路口区域、车道边界和车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,如图1C所示,自动驾驶地图的构建装置根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路边界包括步骤S11-S13,具体如下:
S11、自动驾驶地图的构建装置根据人工驾驶轨迹数据和/或障碍物栅格图获得多个轨迹点缓冲区域;
可选的,如图1D所示,自动驾驶地图的构建装置根据人工驾驶轨迹数据和/或障碍物栅格图获得多个轨迹点缓冲区域包括步骤S111-S115,具体如下:
S111、自动驾驶地图的构建装置设置i是初始值为0,以1为间隔的递增整数,以及判断i是否小于N;
若是,则自动驾驶地图的构建装置执行步骤S112-S115。
若否,则自动驾驶地图的构建装置不执行任何操作。
N是第一轨迹点总数,第一轨迹点总数是基于人工驾驶轨迹数据得到的。
S112、自动驾驶地图的构建装置根据人工驾驶轨迹数据获取车辆在第i时刻的位姿,以及根据车辆在第i时刻的位姿将障碍物栅格图从地图坐标系转换至第i时刻的车体坐标系。
车辆在第i时刻的位姿包括车辆在地图坐标系下第i时刻的x轴坐标、y轴坐标、z轴坐标、偏航角、俯仰角、翻滚角。
在自动驾驶地图的构建装置根据人工驾驶轨迹数据获得多个轨迹点缓冲区域的情况下,自动驾驶地图的构建装置跳过步骤S112。
S113、自动驾驶地图的构建装置获得车辆在第i时刻的可行驶宽度。
可选的,自动驾驶地图的构建装置获得车辆在第i时刻的可行驶宽度,包括:
在自动驾驶地图的构建装置根据人工驾驶轨迹数据和障碍物栅格图获得多个轨迹点缓冲区域的情况下,自动驾驶地图的构建装置获得在x轴坐标的大小为车辆的头部与第i时刻的车体坐标系的原点之间的距离时沿y轴正方向障碍物概率大于预存的第一概率的最大y轴坐标(y1);自动驾驶地图的构建装置获得在x轴坐标的大小为车辆的头部与第i时刻的车体坐标系的原点之间的距离时沿y轴负方向障碍物概率大于第一概率的最小y轴坐标(y2);自动驾驶地图的构建装置将y1与y2的和确定为车辆在第i时刻的可行驶宽度。
或者,在自动驾驶地图的构建装置根据人工驾驶轨迹数据获得多个轨迹点缓冲区域的情况下,自动驾驶地图的构建装置获取车辆的宽度,以及将车辆的宽度确定为车辆在第i时刻的可行驶宽度。
第一概率可以是0.5~0.9。
S114、自动驾驶地图的构建装置根据车辆在第i时刻的可行驶宽度获得第i个轨迹点缓冲区域的半径。
可选的,自动驾驶地图的构建装置根据车辆在第i时刻的可行驶宽度获得第i个轨迹点缓冲区域的半径,包括:
自动驾驶地图的构建装置获取车辆的标称宽度;
自动驾驶地图的构建装置判断车辆在第i时刻的可行驶宽度是否大于等于车辆的标称宽度;
若是,则自动驾驶地图的构建装置将车辆在第i时刻的可行驶宽度的一半确定为第i个轨迹点缓冲区域的半径;
若否,则自动驾驶地图的构建装置将车辆的标称宽度的一半确定为第i个轨迹点缓冲区域的半径。
车辆的标称宽度是车辆的左后视镜与右后视镜之间的距离。
S115、自动驾驶地图的构建装置根据第i个轨迹点缓冲区域的半径获得第i个轨迹点缓冲区域。
可选的,自动驾驶地图的构建装置根据第i个轨迹点缓冲区域的半径获得第i个轨迹点缓冲区域,包括:
自动驾驶地图的构建装置将车辆在地图坐标系下第i时刻的x轴坐标和y轴坐标(第i时刻的车体坐标系的原点)确定为第i个轨迹点缓冲区域的圆心;
自动驾驶地图的构建装置以第i个轨迹点缓冲区域的圆心和半径做圆,得到第i个轨迹点缓冲区域。
S12、自动驾驶地图的构建装置对多个轨迹点缓冲区域执行融合操作,得到道路缓冲区域;
可选的,自动驾驶地图的构建装置对多个轨迹点缓冲区域执行融合操作,得到道路缓冲区域,包括:
自动驾驶地图的构建装置获得多个轨迹点缓冲区域中任意相邻的两个轨迹点缓冲区域的相交区域;
自动驾驶地图的构建装置对任意相邻的两个轨迹点缓冲区域中的其中一个轨迹点缓冲区域包括的该任意相邻的两个轨迹点缓冲区域的相交区域执行删除操作,得到道路缓冲区域。
举例来说,如图1E所示,图1E是本申请实施例提供的一种道路缓冲区域的示意图,道路边界所包围的区域即为道路缓冲区域。
S13、自动驾驶地图的构建装置将道路缓冲区域的边界确定为车道行驶过的区域的道路边界。
自动驾驶地图的构建装置根据人工驾驶轨迹数据获得多个轨迹点缓冲区域;或者,自动驾驶地图的构建装置根据人工驾驶轨迹数据和障碍物栅格图获得多个轨迹点缓冲区域。
可见,在本示例中,获得多个轨迹点缓冲区域,对多个轨迹点缓冲区域进行融合,得到道路缓冲区域,将道路缓冲区域的边界确定为车辆行驶过的区域的道路边界,依次获得车辆行驶过的区域的道路中心线、路口区域、车道边界和车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,如图1F所示,自动驾驶地图的构建装置根据道路边界获得车辆行驶过的区域的道路中心线包括步骤S21-S27,具体如下:
S21、自动驾驶地图的构建装置对道路边界执行等间隔化形点操作,得到等间隔化形点后的道路边界;
可选的,自动驾驶地图的构建装置对道路边界执行等间隔化形点操作,得到等间隔化形点后的道路边界,包括:
自动驾驶地图的构建装置获得道路边界包括的所有形点中任意相邻的上一个形点与下一个形点之间的距离;
自动驾驶地图的构建装置判断任意相邻的上一形点与下一形点之间的距离是否大于预存的第一距离;
若是,则自动驾驶地图的构建装置在任意相邻的上一个形点与下一个形点之间插入与该上一个形点的距离为第一距离的形点,否则(任意相邻的上一形点与下一形点之间的距离小于第一距离),自动驾驶地图的构建装置对该下一个形点执行删除操作,得到等间隔化形点后的道路边界。
第一距离可以是0.2m。
举例来说,如图1G所示,图1G是本申请实施例提供的一种等间隔化形点前后的道路边界的示意图,等间隔化形点前的道路边界包括的所有形点中的任意相邻的两个形点之间的距离不一定相同,等间隔化形点后的道路边界包括的所有形点中的任意相邻的两个形点之间的距离一定相同。
S22、自动驾驶地图的构建装置根据等间隔化形点后的道路边界获得第一泰森多边形边集合;
S23、自动驾驶地图的构建装置对第一泰森多边形边集合执行删除等间隔化形点后的道路边界之外的泰森多边形边操作,得到第二泰森多边形边集合;
S24、自动驾驶地图的构建装置根据道路边界和预存的第一宽度获得道路边界的缓冲区域;
S25、自动驾驶地图的构建装置根据第二泰森多边形边集合中与道路边界的缓冲区域不相交的泰森多边形边获得第三泰森多边形边集合;
S26、自动驾驶地图的构建装置对第三泰森多边形边集合执行删除悬挂线操作,得到第四泰森多边形边集合;
悬挂线是一个端点不与其他线连接,另一个端点与两条以及两条以上的线连接的线段。
S27、自动驾驶地图的构建装置对第四泰森多边形边集合执行连接操作,得到车辆行驶过的区域的道路中心线。
举例来说,如图1H所示,图1H是本申请实施例提供的一种车辆行驶过的区域的道路中心线的示意图,道路边界之间的线即为道路中心线。
可见,在本示例中,基于等间隔化形点后的道路边界获得第一泰森多边形边集合,对第一泰森多边形边集合删除等间隔化形点后的道路边界之外的泰森多边形边,得到第二泰森多边形边集合,获得道路边界的缓冲区域,基于第二泰森多边形边集合与道路边界的缓冲区域不相交的泰森多边形边获得第三泰森多边形边集合,对第三泰森多边形边集合删除悬挂线,得到第四泰森多边形边集合,对第四泰森多边形边集合连接,得到车辆行驶过的区域的道路中心线,依次获得车辆行驶过的区域的路口区域、车道边界和车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,如图1I所示,自动驾驶地图的构建装置根据道路边界和道路中心线获得车辆行驶过的区域的路口区域包括步骤S31-S35,具体如下:
S31、自动驾驶地图的构建装置根据道路中心线获得各个路口的中心点;
各个路口的中心点是车辆行驶过的区域的道路中心线的交点。
S32、自动驾驶地图的构建装置将以各个路口的中心点为圆心,预存的第一长度为半径的圆确定为各个路口的中心点缓冲区域;
第一长度可以是5m。
S33、自动驾驶地图的构建装置对各个子道路中心线执行删除长度小于预存的第二长度的子道路中心线操作,得到各个道路路段中心线,各个子道路中心线为道路中心线中除各个路口的中心点缓冲区域之外的剩余道路中心线;
第二长度可以是10m。
S34、自动驾驶地图的构建装置根据各个道路路段中心线和预存的第二宽度获得各个道路路段中心线缓冲区域;
第二宽度可以是3m。
可选的,自动驾驶地图的构建装置根据各个道路路段中心线和预存的第二宽度获得各个道路路段中心线缓冲区域,包括:
自动驾驶地图的构建装置沿各个道路路段中心线的垂直方向向两侧各自延伸第二宽度,得到各个道路中心线缓冲区域。
S35、自动驾驶地图的构建装置对各个子路口区域执行删除面积小于预存的第一面积的子路口区域操作,得到车辆行驶过的区域的路口区域,各个子路口区域为道路边界构成的面中除各个道路路段中心线缓冲区域之外的剩余路口区域。
第一面积可以是10m2。
举例来说,如图1J所示,图1J是本申请实施例提供的一种车辆行驶过的区域的路口区域的示意图,车辆行驶过的区域由道路路段区域和路口区域组成。
可见,在本示例中,获得各个路口的中心点,获得各个路口的中心点缓冲区域,获得各个道路路段中心线,基于各个道路路段中心线获得各个道路路段中心线缓冲区域,对各个子路口区域删除面积小于预存的第一面积的子路口区域,得到车辆行驶过的区域的路口区域,依次获得车辆行驶过的区域的车道边界和车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,如图1K所示,自动驾驶地图的构建装置根据道路边界、道路中心线和路口区域获得车辆行驶过的区域的车道边界包括步骤S41-S45,具体如下:
S41、自动驾驶地图的构建装置获得道路边界中除路口区域之外的各个道路路段边界;
S42、自动驾驶地图的构建装置获得道路中心线中除路口区域之外的各个道路路段中心线;
S43、自动驾驶地图的构建装置根据各个道路路段边界和各个道路路段中心线判断各个道路路段是否为单车道路段或双车道路段,各个道路路段分别与各个道路路段边界和各个道路路段中心线一一对应;
可选的,如图1L所示,自动驾驶地图的构建装置根据各个道路路段边界和各个道路路段中心线判断各个道路路段是否为单车道路段或双车道路段包括步骤S431-S438,具体如下:
S431、自动驾驶地图的构建装置设置j是初始值为0,以1为间隔的递增整数,以及判断j是否小于M;
若是,则自动驾驶地图的构建装置执行步骤S432-S438。
若否,则自动驾驶地图的构建装置不执行任何操作。
M为各个道路路段中心线的数量。
S432、自动驾驶地图的构建装置提取第j个道路路段中心线对应的道路路段边界的所有形点。
S433、自动驾驶地图的构建装置提取第j个道路路段中心线的所有形点。
S434、自动驾驶地图的构建装置设置k是初始值为0,以1为间隔的递增整数,以及判断k是否小于P;
若是,则自动驾驶地图的构建装置执行步骤S435-S436。
若否,则自动驾驶地图的构建装置执行步骤S437。
P是第j个道路路段中心线的所有形点的数量。
S435、自动驾驶地图的构建装置从第j个道路路段中心线对应的道路路段边界的所有形点中选取与第k个形点最近的形点。
S436、自动驾驶地图的构建装置根据第k个形点和第j个道路路段中心线对应的道路路段边界的所有形点中与第k个形点最近的形点获得第k个形点位置的道路宽度。
可选的,自动驾驶地图的构建装置根据第k个形点和第j个道路路段中心线对应的道路路段边界的所有形点中与第k个形点最近的形点获得第k个形点位置的道路宽度,包括:
自动驾驶地图的构建装置获取第k个形点的坐标;
自动驾驶地图的构建装置获取第j个道路路段中心线对应的道路路段边界的所有形点中与第k个形点最近的形点的坐标;
自动驾驶地图的构建装置根据第k个形点的坐标、第j个道路路段中心线对应的道路路段边界的所有形点中与第k个形点最近的形点的坐标和预存的道路宽度公式获得第k个形点位置的道路宽度。
道路宽度公式预先存储在自动驾驶地图的构建装置中,道路宽度公式为:
s=[(x3-x4)2+(y3-y4)2]1/2,
s是第k个形点位置的道路宽度,(x3,y3)是第k个形点的坐标,(x4,y4)是第j个道路路段中心线对应的道路路段边界的所有形点中与第k个形点最近的形点的坐标。
S437、自动驾驶地图的构建装置根据P个形点中的每个形点位置的道路宽度获得第j个道路路段的宽度。
可选的,自动驾驶地图的构建装置根据P个形点中的每个形点位置的道路宽度获得第j个道路路段的宽度,包括:
自动驾驶地图的构建装置根据P个形点中的每个形点位置的道路宽度获得P个道路宽度的平均值,P个道路宽度与P个形点一一对应;自动驾驶地图的构建装置将P个道路宽度的平均值确定为第j个道路路段的宽度。
S438、自动驾驶地图的构建装置判断第j个道路路段的宽度是否小于预存的第四宽度;
若是,则自动驾驶地图的构建装置确定第j个道路路段为单车道路段。
若否,则自动驾驶地图的构建装置确定第j个道路路段为双车道路段。
S44、若道路路段A为单车道路段,则自动驾驶地图的构建装置将道路路段A对应的道路路段边界确定为车辆行驶过的单车道路段的车道边界,道路路段A为各个道路路段包括的所有单车道路段中的任意一个。
S45、若道路路段B为双车道路段,则自动驾驶地图的构建装置将道路路段B对应的道路路段边界和道路路段中心线确定为车辆行驶过的双车道路段的车道边界,道路路段B为各个道路路段包括的所有双车道路段中的任意一个。
可见,在本示例中,获得各个道路路段边界,获得各个道路路段中心线,基于各个道路路段边界和各个道路路段中心线判断各个道路路段是否为单车道路段或双车道路段,如果道路路段A为单车道路段,那么将道路路段A对应的道路路段边界确定为车辆行驶过的单车道路段的车道边界;如果道路路段B为双车道路段,那么将道路路段B对应的道路路段边界和道路路段中心线确定为车辆行驶过的双车道路段的车道边界;获得车辆行驶过的区域的车道中心线,分别获得道路通行方向信息和车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
自动驾驶地图的构建装置根据车道边界获得车辆行驶过的区域的车道中心线参见自动驾驶地图的构建装置根据道路边界获得车辆行驶过的区域的道路中心线,在此不再叙述。
102、自动驾驶地图的构建装置根据人工驾驶轨迹数据和道路信息获得道路通行方向信息,以及根据车道信息和道路通行方向信息获得车道通行方向信息。
在一些可能的实施例中,如图1M所示,自动驾驶地图的构建装置根据人工驾驶轨迹数据和道路信息获得道路通行方向信息包括步骤S61-S65,具体如下:
S61、自动驾驶地图的构建装置根据人工驾驶轨迹数据和道路中心线获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合,各个第一相对角度差集合与各个道路路段一一对应;
可选的,如图1N所示,自动驾驶地图的构建装置根据人工驾驶轨迹数据和道路中心线获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合包括步骤S611-S618,具体如下:
S611、自动驾驶地图的构建装置提取道路中心线的形点,得到M个第一形点集合。
M是各个道路路段的数量。
S612、自动驾驶地图的构建装置设置m是初始值为0,以1为间隔的递增整数,以及判断m是否小于M;
若是,则自动驾驶地图的构建装置执行步骤S613-S617。
若否,则自动驾驶地图的构建装置执行步骤S618。
S613、自动驾驶地图的构建装置根据第m个形点和第(m+1)个形点获得第m个矩形缓冲区域。
可选的,自动驾驶地图的构建装置根据第m个形点和第(m+1)个形点获得第m个矩形缓冲区域,包括:
自动驾驶地图的构建装置沿经过第m个形点且与道路中心线垂直的方向向两侧各自延伸预存的第五宽度,得到两个第一端点;
自动驾驶地图的构建装置沿经过第(m+1)个形点且与道路中心线垂直的方向向两侧各自延伸第五宽度,得到两个第二端点;
自动驾驶地图的构建装置将两个第一端点和两个第二端点连接,得到第m个矩阵缓冲区域。
S614、自动驾驶地图的构建装置设置n是初始值为0,以1为间隔的递增整数,以及判断n是否小于Q;
若是,则自动驾驶地图的构建装置执行步骤S615。
若否,则自动驾驶地图的构建装置执行步骤S617。
Q是第二轨迹点总数,第二轨迹点总数是基于人工驾驶轨迹数据得到的。
S615、自动驾驶地图的构建装置判断第n个轨迹点是否与第m个轨迹点缓冲区域相交;
若是,则自动驾驶地图的构建装置执行步骤S616。
若否,则自动驾驶地图的构建装置执行步骤S614。
S616、自动驾驶地图的构建装置获得第n个轨迹点的相对角度差。
可选的,自动驾驶地图的构建装置获得第n个轨迹点的相对角度差,包括:
自动驾驶地图的构建装置计算第n个轨迹点的航向角;
自动驾驶地图的构建装置获得第m个形点的航向角(第m个形点与第(m+1)个形点连接形成的线段与正北方向的夹角);
自动驾驶地图的构建装置将第n个轨迹点的航向角与第m个形点的航向角的差值确定为第n个轨迹点的相对角度差。
S617、自动驾驶地图的构建装置将与第m个轨迹点缓冲区域相交的若干轨迹点的若干相对角度差的均值确定为第m个轨迹点缓冲区域的第一相对角度差,若干相对角度差与若干轨迹点一一对应。
S618、自动驾驶地图的构建装置将各个道路路段包括的若干轨迹点缓冲区域的若干第一相对角度差构成的集合确定为各个道路路段的各个第一相对角度差集合,若干第一相对角度差与若干轨迹点缓冲区域一一对应。
S62、若第一相对角度差集合C的方差小于预存的第一角度,则自动驾驶地图的构建装置确定与第一相对角度差集合C对应的道路路段是单向通行的,第一相对角度差集合C为各个第一相对角度差集合包括的方差小于第一角度的所有第一相对角度差集合中的任意一个;
S63、若第一相对角度差集合C的均值小于预存的第二角度,则自动驾驶地图的构建装置确定与第一相对角度差集合C对应的道路路段的道路通行方向为正向通行;
S64、若第一相对角度差集合C的均值大于等于第二角度,则自动驾驶地图的构建装置确定与第一相对角度差集合C对应的道路路段的道路通行方向为逆向通行。
在一些可能的实施例中,方法还包括:
S65、若第一相对角度差集合D的方差大于等于第一角度,则自动驾驶地图的构建装置确定与第一相对角度差D对应的道路路段是双向通行的,第一相对角度差集合D为各个第一相对角度差集合包括的方差大于等于第一角度的所有第一相对角度差集合中的任意一个。
可见,在本示例中,获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合,如果第一相对角度差集合C的方差小于预存的第一角度,那么确定与第一相对角度差集合C对应的道路路段是单向通行的;如果第一相对角度差集合C的均值小于预存的第二角度,那么确定与第一相对角度差集合C对应的道路路段的道路通行方向为正向通行;如果第一相对角度差集合C的均值大于等于第二角度,那么确定与第一相对角度差集合C对应的道路路段的道路通行方向为逆向通行;如果第一相对角度差集合D的方差大于等于第一角度,那么确定与第一相对角度差D对应的道路路段是双向通行的;获得车道通行方向信息,获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
在一些可能的实施例中,如图1O所示,自动驾驶地图的构建装置根据车道信息和道路通行方向信息获得车道通行方向信息包括步骤S71-S75,具体如下:
S71、若根据车道信息和道路通行方向信息获得的道路路段E为双向通行双车道路段,则自动驾驶地图的构建装置根据道路路段E对应的道路路段中心线与道路路段E的两个车道中心线的两个第二相对角度差集合,道路路段E为各个道路路段包括的所有双向通行双车道路段中的任意一个;
自动驾驶地图的构建装置根据道路路段E对应的道路路段中心线与道路路段E的两个车道中心线的两个第二相对角度差集合参见自动驾驶地图的构建装置根据人工驾驶轨迹数据和道路中心线获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合,在此不再叙述。
S72、若第二相对角度差集合F的均值小于预存的第三角度,则自动驾驶地图的构建装置判断第二相对角度差集合F对应的车道中心线与道路路段E对应的道路路段中心线的右侧缓冲区域是否相交,第二相对角度差集合F为两个第二相对角度差集合中的任意一个;若是,则自动驾驶地图的构建装置确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为正向通行;若否,则自动驾驶地图的构建装置确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为逆向通行;
S73、若第二相对角度差集合G的均值大于等于第三角度,则自动驾驶地图的构建装置判断第二相对角度差集合G对应的车道中心线与道路路段E对应的道路路段中心线的左侧缓冲区域是否相交,第二相对角度差集合G为两个第二相对角度差集合中的任意一个;若是,则自动驾驶地图的构建装置确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为正向通行;若否,则自动驾驶地图的构建装置确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为逆向通行。
在一些可能的实施例中,方法还包括:
S74、若根据车道信息和道路通行方向信息获得的道路路段H为双向通行单车道路段,则自动驾驶地图的构建装置确定道路路段H的车道通行方向为双向通行,道路路段H为各个道路路段包括的所有双向通行单车道路段中的任意一个;
S75、若根据车道信息和道路通行方向信息获得的道路路段I为单向通行单车道路段,则自动驾驶地图的构建装置将道路路段I的道路通行方向确定为道路路段I的车道通行方向,道路路段I为各个道路路段包括的所有单向通行单车道路段中的任意一个。
可见,在本示例中,如果道路路段E为双向通行双车道路段,那么根据道路路段E对应的道路路段中心线与道路路段E的两个车道中心线的两个第二相对角度差集合,如果第二相对角度差集合F的均值小于预存的第三角度,那么判断第二相对角度差集合F对应的车道中心线与道路路段E对应的道路路段中心线的右侧缓冲区域是否相交;若是,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为逆向通行;如果第二相对角度差集合G的均值大于等于第三角度,那么判断第二相对角度差集合G对应的车道中心线与道路路段E对应的道路路段中心线的左侧缓冲区域是否相交;若是,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为逆向通行。如果道路路段H为双向通行单车道路段,那么确定道路路段H的车道通行方向为双向通行;如果道路路段I为单向通行单车道路段,那么将道路路段I的道路通行方向确定为道路路段I的车道通行方向;获得路口出入点信息,基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
103、自动驾驶地图的构建装置根据路口信息和车道通行方向信息获得路口出入点信息。
在一些可能的实施例中,如图1P所示,自动驾驶地图的构建装置根据路口信息和车道通行方向信息获得路口出入点信息包括步骤S81-S86,具体如下:
S81、自动驾驶地图的构建装置获得车道中心线J的起始形点和终止形点,车道中心线J为各个道路路段包括的所有车道中心线中的任意一个;
S82、自动驾驶地图的构建装置根据各个路口区域和预存的第三宽度获得各个路口区域的缓冲区域;
S83、若形点K与路口区域L的缓冲区域相交,则自动驾驶地图的构建装置确定形点L属于路口区域L,形点K为车道中心线J的起始形点和终止形点中的任意一个,路口区域L为各个路口区域中的任意一个;
S84、若车道中心线J所处车道的车道通行方向为正向通行,则自动驾驶地图的构建装置将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点;
S85、若车道中心线J所处车道的车道通行方向为逆向通行,则自动驾驶地图的构建装置将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;
S86、若车道中心线J所处车道的车道通行方向为双向通行,则自动驾驶地图的构建装置将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;或者,自动驾驶地图的构建装置将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点。
可见,在本示例中,获得车道中心线J的起始形点和终止形点,基于各个路口区域获得各个路口区域的缓冲区域,如果形点K与路口区域L的缓冲区域相交,那么确定形点L属于路口区域L,如果车道中心线J所处车道的车道通行方向为正向通行,那么将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点;如果车道中心线J所处车道的车道通行方向为逆向通行,那么将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;如果车道中心线J所处车道的车道通行方向为双向通行,那么将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;或者,将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点。基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
104、自动驾驶地图的构建装置根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,虚拟拓扑中心线为车辆在路口区域行驶的边界线。
可选的,自动驾驶地图的构建装置根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,包括:
自动驾驶地图的构建装置获取同一路口区域的虚拟拓扑中心线的所有起始形点和所有终止节点;
自动驾驶地图的构建装置将所有起始形点中的任意一个起始形点与剩余的所有终止节点连接,得到车辆行驶过的区域的自动驾驶地图。
路口区域的所有虚拟拓扑中心线均可以是贝塞尔曲线,也可以是其他满足车辆运动学的曲线,在此不作限定。
举例来说,如图1Q所示,图1Q是本申请实施例提供的一种生成虚拟拓扑中心线的示意图,四个路口区域中的每个路口区域的所有虚拟拓扑中心线均是贝塞尔曲线。
可以看出,相较于构建的地图无法满足规则复杂、感知条件极端的自动代客泊车场景,且无法提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,在本申请实施例中,首先获得车辆行驶过的区域的道路信息、路口信息和车道信息,然后分别获得道路通行方向信息和车道通行方向信息,其次获得路口出入点信息,最后基于路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
请参见图2,图2是本申请实施例提供的第二种自动驾驶地图的构建方法,该自动驾驶地图的构建方法包括步骤201-210,具体如下:
201、自动驾驶地图的构建装置获得传感器数据。
可选的,自动驾驶地图的构建装置获得传感器数据,包括:
自动驾驶地图的构架装置通过摄像头、激光雷达、毫米波雷达、组合惯导、轮速传感器分别获取摄像头数据、激光雷达数据、毫米波雷达数据、组合惯导数据、轮速数据;自动驾驶地图的构建装置将摄像头数据、激光雷达数据、毫米波雷达数据、组合惯导数据、轮速数据确定为传感器数据。其中,摄像头、激光雷达、毫米波雷达、组合惯导、轮速传感器均集成在车辆中。
202、自动驾驶地图的构建装置根据传感器数据构建定位地图。
203、自动驾驶地图的构建装置将定位地图存储至定位图层。
204、在将定位地图存储至定位图层的过程中,自动驾驶地图的构建装置获得车辆的位姿数据,以及将车辆的位姿数据存储至人工驾驶轨迹数据库。
可选的,自动驾驶地图的构建装置获得车辆的位姿数据,包括:
自动驾驶地图的构建装置通过车载传感器获得车辆的位姿数据。车载传感器包括摄像头、激光雷达、毫米波雷达、组合惯导、轮速传感器。车辆的位姿数据包括车辆在地图坐标系下若干个时刻的x轴坐标、y轴坐标、z轴坐标、偏航角、俯仰角、翻滚角。
205、自动驾驶地图的构建装置根据传感器数据构建障碍物栅格图。
206、自动驾驶地图的构建装置将障碍物栅格图存储至障碍物栅格图库。
步骤205和步骤206是可选步骤。
207、自动驾驶地图的构建装置根据人工驾驶轨迹数据库中存储的人工驾驶轨迹数据和/或障碍物栅格图库中存储的障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息。
步骤207参见步骤101的描述,在此不再叙述。
208、自动驾驶地图的构建装置根据人工驾驶轨迹数据和道路信息获得道路通行方向信息,以及根据车道信息和道路通行方向信息获得车道通行方向信息。
步骤208参见步骤102的描述,在此不再叙述。
209、自动驾驶地图的构建装置根据路口信息和车道通行方向信息获得路口出入点信息。
步骤209参见步骤103的描述,在此不再叙述。
210、自动驾驶地图的构建装置根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,虚拟拓扑中心线为车辆在路口区域行驶的边界线。
步骤210参见步骤104的描述,在此不再叙述。
可以看出,相较于构建的地图无法满足规则复杂、感知条件极端的自动代客泊车场景,且无法提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,在本申请实施例中,用户首次驾驶车辆进入停车场,自动驾驶地图的构建装置构建自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
请参见图3,图3是本申请实施例提供的第三种自动驾驶地图的构建方法,该自动驾驶地图的构建方法包括步骤301-310,具体如下:
301、自动驾驶地图的构建装置获得传感器数据。
步骤301参见步骤201的描述,在此不再叙述。
302、自动驾驶地图的构建装置对传感器数据进行提取和处理,得到匹配定位地图的特征。
303、自动驾驶地图的构建装置根据匹配定位地图的特征和定位图层中的特征进行匹配,得到车辆的位姿数据。
304、自动驾驶地图的构建装置将车辆的位姿数据存储至人工驾驶轨迹数据库。
305、自动驾驶地图的构建装置根据传感器数据构建障碍物栅格图。
306、自动驾驶地图的构建装置将障碍物栅格图存储至障碍物栅格图库。
步骤305和步骤306是可选步骤。
307、自动驾驶地图的构建装置根据人工驾驶轨迹数据库中存储的人工驾驶轨迹数据和/或障碍物栅格图库中存储的障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息。
步骤307参见步骤101的描述,在此不再叙述。
308、自动驾驶地图的构建装置根据人工驾驶轨迹数据和道路信息获得道路通行方向信息,以及根据车道信息和道路通行方向信息获得车道通行方向信息。
步骤308参见步骤102的描述,在此不再叙述。
309、自动驾驶地图的构建装置自动驾驶地图的构建装置根据路口信息和车道通行方向信息获得路口出入点信息。
步骤309参见步骤103的描述,在此不再叙述。
310:自动驾驶地图的构建装置自动驾驶地图的构建装置根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,虚拟拓扑中心线为车辆在路口区域行驶的边界线。
步骤310参见步骤104的描述,在此不再叙述。
可以看出,相较于构建的地图无法满足规则复杂、感知条件极端的自动代客泊车场景,且无法提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,在本申请实施例中,用户再次驾驶车辆进入停车场,自动驾驶地图的构建装置更新构建的自动驾驶地图。由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此有助于提高构建的自动驾驶地图的精确性和丰富性,进而自动驾驶车辆利用自动驾驶地图能够更好的自动驾驶。
请参见图4,图4是本申请实施例提供的一种基于自动驾驶地图实现自动代客泊车方法的流程示意图,该基于自动驾驶地图实现自动代客泊车方法包括步骤401-410,具体如下:
401、自动驾驶地图的构建装置获得传感器数据。
402、自动驾驶地图的构建装置对传感器数据进行提取和处理,得到用于匹配定位地图的特征。
403、自动驾驶地图的构建装置根据匹配定位地图的特征和定位图层中的特征进行匹配,得到车辆的位姿数据。
404、自动驾驶地图的构建装置将车辆的位姿数据发送至自动驾驶模块。
405、地图查询模块获取车辆的当前位置,以及根据车辆的当前位置判断车辆是否进入能够自动驾驶的区域。
406、若是,则地图查询模块将车辆的当前位置和车辆进入能够自动驾驶的区域发送至自动驾驶模块。
407、自动驾驶模块接收地图查询模块发送的车辆的当前位置和车辆进入能够自送驾驶的区域,以及获得用户选择的目标车位。
408、自动驾驶模块将车辆的当前位置和目标车位发送至路径规划模块。
409、路径规划模块接收自动驾驶模块发送的车辆的当前位置和目标车位,以及根据车辆行驶过的区域的自动驾驶地图、车辆的当前位置和车辆的目标车位规划车辆的行驶路线。
410、路径规划模块将车辆的行驶路线发送至规划控制模块,以使得规划控制模块完成目标车位的寻找、避障以及泊车入库。
可以看出,相较于构建的地图无法满足规则复杂、感知条件极端的自动代客泊车场景,且无法提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,在本申请实施例中,由于构建的自动驾驶地图能够满足规则复杂、感知条件极端的自动代客泊车场景,且能够提供道路边界、车道边界、道路通行方向信息、车道通行方向信息,因此用户驾驶车辆进入已完成自动驾驶地图构建的区域,能够通过自动驾驶前往目标车位并完成泊车。
请参见图5,图5是本申请实施例提供的一种自动驾驶地图的构建装置的功能单元组成框图,该自动驾驶地图的构建装置500包括:
获得单元501,用于根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息;
获得单元501,还用于根据人工驾驶轨迹数据和道路信息获得道路通行方向信息;
获得单元501,还用于根据车道信息和道路通行方向信息获得车道通行方向信息;
获得单元501,还用于根据路口信息和车道通行方向信息获得路口出入点信息;
执行单元502,用于根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,虚拟拓扑中心线为车辆在路口区域行驶的边界线。
在一些可能的实施方式中,在根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息方面,获得单元501具体单元:
根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路边界;
根据道路边界获得车辆行驶过的区域的道路中心线;
根据道路边界和道路中心线获得车辆行驶过的区域的路口区域;
根据道路边界、道路中心线和路口区域获得车辆行驶过的区域的车道边界;
根据车道边界获得车辆行驶过的区域的车道中心线。
在一些可能的实施方式中,在根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路边界方面,获得单元501具体用于:
根据人工驾驶轨迹数据和/或障碍物栅格图获得多个轨迹点缓冲区域;
对多个轨迹点缓冲区域执行融合操作,得到道路缓冲区域;
将道路缓冲区域的边界确定为车辆行驶过的区域的道路边界。
在一些可能的实施方式中,在根据道路边界获得车辆行驶过的区域的道路中心线方面,获得单元501具体用于:
对道路边界执行等间隔化形点操作,得到等间隔化形点后的道路边界;
根据等间隔化形点后的道路边界获得第一泰森多边形边集合;
对第一泰森多边形边集合执行删除等间隔化形点后的道路边界之外的泰森多边形边操作,得到第二泰森多边形边集合;
根据道路边界和预存的第一宽度获得道路边界的缓冲区域;
根据第二泰森多边形边集合中与道路边界的缓冲区域不相交的泰森多边形边获得第三泰森多边形边集合;
对第三泰森多边形边集合执行删除悬挂线操作,得到第四泰森多边形边集合;
对第四泰森多边形边集合执行连接操作,得到车辆行驶过的区域的道路中心线。
在一些可能的实施方式中,在根据道路边界和道路中心线获得车辆行驶过的区域的路口区域方面,获得501具体用于:
根据道路中心线获得各个路口的中心点;
将以各个路口的中心点为圆心,预存的第一长度为半径的圆确定为各个路口的中心点缓冲区域;
对各个子道路中心线执行删除长度小于预存的第二长度的子道路中心线操作,得到各个道路路段中心线,各个子道路中心线为道路中心线中除各个路口的中心点缓冲区域之外的剩余道路中心线;
根据各个道路路段中心线和预存的第二宽度获得各个道路路段中心线缓冲区域;
对各个子路口区域执行删除面积小于预存的第一面积的子路口区域操作,得到车辆行驶过的区域的路口区域,各个子路口区域为道路边界构成的面中除各个道路路段中心线缓冲区域之外的剩余路口区域。
在一些可能的实施方式中,在根据道路边界、道路中心线和路口区域获得车辆行驶过的区域的车道边界方面,获得单元501具体用于:
获得道路边界中除路口区域之外的各个道路路段边界;
获得道路中心线中除路口区域之外的各个道路路段中心线;
根据各个道路路段边界和各个道路路段中心线判断各个道路路段是否为单车道路段或双车道路段,各个道路路段分别与各个道路路段边界和各个道路路段中心线一一对应;
若道路路段A为单车道路段,则将道路路段A对应的道路路段边界确定为车辆行驶过的单车道路段的车道边界,道路路段A为各个道路路段包括的所有单车道路段中的任意一个;
若道路路段B为双车道路段,则将道路路段B对应的道路路段边界和道路路段中心线确定为车辆行驶过的双车道路段的车道边界,道路路段B为各个道路路段包括的所有双车道路段中的任意一个。
在一些可能的实施例中,在根据人工驾驶轨迹数据和道路信息获得道路通行方向信息方面,获得单元501具体用于:
根据人工驾驶轨迹数据和道路中心线获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合,各个第一相对角度差集合与各个道路路段一一对应;
若第一相对角度差集合C的方差小于预存的第一角度,则确定与第一相对角度差集合C对应的道路路段是单向通行的,第一相对角度差集合C为各个第一相对角度差集合包括的方差小于第一角度的所有第一相对角度差集合中的任意一个;
若第一相对角度差集合C的均值小于预存的第二角度,则确定与第一相对角度差集合C对应的道路路段的道路通行方向为正向通行;
若第一相对角度差集合C的均值大于等于第二角度,则确定与第一相对角度差集合C对应的道路路段的道路通行方向为逆向通行。
在一些可能的实施例中,在根据人工驾驶轨迹数据和道路信息获得道路通行方向信息方面,获得单元501具体用于:
若第一相对角度差集合D的方差大于等于第一角度,则确定与第一相对角度差D对应的道路路段是双向通行的,第一相对角度差集合D为各个第一相对角度差集合包括的方差大于等于第一角度的所有第一相对角度差集合中的任意一个。
在一些可能的实施例中,在根据车道信息和道路通行方向信息获得车道通行方向信息方面,获得单元501具体用于:
若根据车道信息和道路通行方向信息获得的道路路段E为双向通行双车道路段,则根据道路路段E对应的道路路段中心线与道路路段E的两个车道中心线的两个第二相对角度差集合,道路路段E为各个道路路段包括的所有双向通行双车道路段中的任意一个;
若第二相对角度差集合F的均值小于预存的第三角度,则判断第二相对角度差集合F对应的车道中心线与道路路段E对应的道路路段中心线的右侧缓冲区域是否相交,第二相对角度差集合F为两个第二相对角度差集合中的任意一个;若是,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为逆向通行;
若第二相对角度差集合G的均值大于等于第三角度,则判断第二相对角度差集合G对应的车道中心线与道路路段E对应的道路路段中心线的左侧缓冲区域是否相交,第二相对角度差集合G为两个第二相对角度差集合中的任意一个;若是,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为逆向通行。
在一些可能的实施例中,在根据车道信息和道路通行方向信息获得车道通行方向信息方面,获得单元501具体用于:
若根据车道信息和道路通行方向信息获得的道路路段H为双向通行单车道路段,则确定道路路段H的车道通行方向为双向通行,道路路段H为各个道路路段包括的所有双向通行单车道路段中的任意一个;
若根据车道信息和道路通行方向信息获得的道路路段I为单向通行单车道路段,则将道路路段I的道路通行方向确定为道路路段I的车道通行方向,道路路段I为各个道路路段包括的所有单向通行单车道路段中的任意一个。
在一些可能的实施例中,在根据路口信息和车道通行方向信息获得路口出入点信息方面,获得单元501具体用于:
获得车道中心线J的起始形点和终止形点,车道中心线J为各个道路路段包括的所有车道中心线中的任意一个;
根据各个路口区域和预存的第三宽度获得各个路口区域的缓冲区域;
若形点K与路口区域L的缓冲区域相交,则确定形点L属于路口区域L,形点K为车道中心线J的起始形点和终止形点中的任意一个,路口区域L为各个路口区域中的任意一个;
若车道中心线J所处车道的车道通行方向为正向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点;
若车道中心线J所处车道的车道通行方向为逆向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;
若车道中心线J所处车道的车道通行方向为双向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;或者,将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点。
请参见图6,图6是本申请实施例提供的一种自动驾驶地图的构建装置的结构示意图,该自动驾驶地图的构建装置600包括相互耦合的存储器601、通信接口602和处理器603;例如存储器601、通信接口602和处理器603通过总线604耦合。
存储器601可包括但不限于随机存储记忆体(Random Access Memory,RAM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、只读存储器(Read-OnlyMemory,ROM)或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)等等,该存储器601用于相关指令及数据。
处理器603可以是一个或多个中央处理器(Central Processing Unit,CPU),在处理器603是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
处理器603用于读取存储器601中存储的程序代码,与通信接口602配合执行本申请上述实施例中由自动驾驶地图的构建装置600执行的方法的部分或全部步骤。
处理器603,用于根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息;
处理器603,还用于根据人工驾驶轨迹数据和道路信息获得道路通行方向信息,以及根据车道信息和道路通行方向信息获得车道通行方向信息;
处理器603,还用于根据路口信息和车道通行方向信息获得路口出入点信息;
处理器603,还用于根据路口出入点信息执行生成虚拟拓扑中心线操作,得到车辆行驶过的区域的自动驾驶地图,虚拟拓扑中心线为车辆在路口区域行驶的边界线。
在一些可能的实施例中,在根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路信息、路口信息和车道信息方面,处理器603具体用于:
根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路边界;
根据道路边界获得车辆行驶过的区域的道路中心线;
根据道路边界和道路中心线获得车辆行驶过的区域的路口区域;
根据道路边界、道路中心线和路口区域获得车辆行驶过的区域的车道边界;
根据车道边界获得车辆行驶过的区域的车道中心线。
在一些可能的实施例中,在根据人工驾驶轨迹数据和/或障碍物栅格图获得车辆行驶过的区域的道路边界方面,处理器603具体用于:
根据人工驾驶轨迹数据和/或障碍物栅格图获得多个轨迹点缓冲区域;
对多个轨迹点缓冲区域执行融合操作,得到道路缓冲区域;
将道路缓冲区域的边界确定为车辆行驶过的区域的道路边界。
在一些可能的实施例中,在根据道路边界获得车辆行驶过的区域的道路中心线方面,处理器603具体用于:
对道路边界执行等间隔化形点操作,得到等间隔化形点后的道路边界;
根据等间隔化形点后的道路边界获得第一泰森多边形边集合;
对第一泰森多边形边集合执行删除等间隔化形点后的道路边界之外的泰森多边形边操作,得到第二泰森多边形边集合;
根据道路边界和预存的第一宽度获得道路边界的缓冲区域;
根据第二泰森多边形边集合中与道路边界的缓冲区域不相交的泰森多边形边获得第三泰森多边形边集合;
对第三泰森多边形边集合执行删除悬挂线操作,得到第四泰森多边形边集合;
对第四泰森多边形边集合执行连接操作,得到车辆行驶过的区域的道路中心线。
在一些可能的实施例中,在根据道路边界和道路中心线获得车辆行驶过的区域的路口区域方面,处理器603具体用于:
根据道路中心线获得各个路口的中心点;
将以各个路口的中心点为圆心,预存的第一长度为半径的圆确定为各个路口的中心点缓冲区域;
对各个子道路中心线执行删除长度小于预存的第二长度的子道路中心线操作,得到各个道路路段中心线,各个子道路中心线为道路中心线中除各个路口的中心点缓冲区域之外的剩余道路中心线;
根据各个道路路段中心线和预存的第二宽度获得各个道路路段中心线缓冲区域;
对各个子路口区域执行删除面积小于预存的第一面积的子路口区域操作,得到车辆行驶过的区域的路口区域,各个子路口区域为道路边界构成的面中除各个道路路段中心线缓冲区域之外的剩余路口区域。
在一些可能的实施例中,在根据道路边界、道路中心线和路口区域获得车辆行驶过的区域的车道边界方面,处理器603具体用于:
获得道路边界中除路口区域之外的各个道路路段边界;
获得道路中心线中除路口区域之外的各个道路路段中心线;
根据各个道路路段边界和各个道路路段中心线判断各个道路路段是否为单车道路段或双车道路段,各个道路路段分别与各个道路路段边界和各个道路路段中心线一一对应;
若道路路段A为单车道路段,则将道路路段A对应的道路路段边界确定为车辆行驶过的单车道路段的车道边界,道路路段A为各个道路路段包括的所有单车道路段中的任意一个;
若道路路段B为双车道路段,则将道路路段B对应的道路路段边界和道路路段中心线确定为车辆行驶过的双车道路段的车道边界,道路路段B为各个道路路段包括的所有双车道路段中的任意一个。
在一些可能的实施例中,在根据人工驾驶轨迹数据和道路信息获得道路通行方向信息方面,处理器603具体用于:
根据人工驾驶轨迹数据和道路中心线获得人工驾驶轨迹与各个道路路段的各个第一相对角度差集合,各个第一相对角度差集合与各个道路路段一一对应;
若第一相对角度差集合C的方差小于预存的第一角度,则确定与第一相对角度差集合C对应的道路路段是单向通行的,第一相对角度差集合C为各个第一相对角度差集合包括的方差小于第一角度的所有第一相对角度差集合中的任意一个;
若第一相对角度差集合C的均值小于预存的第二角度,则确定与第一相对角度差集合C对应的道路路段的道路通行方向为正向通行;
若第一相对角度差集合C的均值大于等于第二角度,则确定与第一相对角度差集合C对应的道路路段的道路通行方向为逆向通行。
在一些可能的实施例中,在根据人工驾驶轨迹数据和道路信息获得道路通行方向信息方面,处理器603具体用于:
若第一相对角度差集合D的方差大于等于第一角度,则确定与第一相对角度差D对应的道路路段是双向通行的,第一相对角度差集合D为各个第一相对角度差集合包括的方差大于等于第一角度的所有第一相对角度差集合中的任意一个。
在一些可能的实施例中,在根据车道信息和道路通行方向信息获得车道通行方向信息方面,处理器603具体用于:
若根据车道信息和道路通行方向信息获得的道路路段E为双向通行双车道路段,则根据道路路段E对应的道路路段中心线与道路路段E的两个车道中心线的两个第二相对角度差集合,道路路段E为各个道路路段包括的所有双向通行双车道路段中的任意一个;
若第二相对角度差集合F的均值小于预存的第三角度,则判断第二相对角度差集合F对应的车道中心线与道路路段E对应的道路路段中心线的右侧缓冲区域是否相交,第二相对角度差集合F为两个第二相对角度差集合中的任意一个;若是,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合F对应的车道中心线所处车道的车道通行方向为逆向通行;
若第二相对角度差集合G的均值大于等于第三角度,则判断第二相对角度差集合G对应的车道中心线与道路路段E对应的道路路段中心线的左侧缓冲区域是否相交,第二相对角度差集合G为两个第二相对角度差集合中的任意一个;若是,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为正向通行;若否,则确定第二相对角度差集合G对应的车道中心线所处车道的车道通行方向为逆向通行。
在一些可能的实施例中,在根据车道信息和道路通行方向信息获得车道通行方向信息方面,处理器603具体用于:
若根据车道信息和道路通行方向信息获得的道路路段H为双向通行单车道路段,则确定道路路段H的车道通行方向为双向通行,道路路段H为各个道路路段包括的所有双向通行单车道路段中的任意一个;
若根据车道信息和道路通行方向信息获得的道路路段I为单向通行单车道路段,则将道路路段I的道路通行方向确定为道路路段I的车道通行方向,道路路段I为各个道路路段包括的所有单向通行单车道路路段中的任意一个。
在一些可能的实施例中,在根据路口信息和车道通行方向信息获得路口出入点信息方面,处理器603具体用于:
获得车道中心线J的起始形点和终止形点,车道中心线J为各个道路路段包括的所有车道中心线中的任意一个;
根据各个路口区域和预存的第三宽度获得各个路口区域的缓冲区域;
若形点K与路口区域L的缓冲区域相交,则确定形点L属于路口区域L,形点K为车道中心线J的起始形点和终止形点中的任意一个,路口区域L为各个路口区域中的任意一个;
若车道中心线J所处车道的车道通行方向为正向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点;
若车道中心线J所处车道的车道通行方向为逆向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;
若车道中心线J所处车道的车道通行方向为双向通行,则将车道中心线J的起始形点确定为虚拟拓扑中心线的起始形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的终止形点;或者,将车道中心线J的起始形点确定为虚拟拓扑中心线的终止形点,以及将车道中心线J的终止形点确定为虚拟拓扑中心线的起始形点。
本申请实施例还提供一种计算机可读存储介质,存储有计算机指令,计算机程序被硬件(例如处理器等)执行以实现本申请实施例中由自动驾驶地图的构成装置执行的任意一种方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行以上各方面的自动驾驶地图的构成方法的部分或全部步骤。
请参见图7,图7是本申请实施例提供的一种芯片系统的结构示意图,芯片系统700可包括:处理器701,以及耦合于处理器701的一个或多个接口702。示例性的:
处理器701可用于读取和执行计算机可读指令。具体实现中,处理器701可主要包括控制器、运算器和寄存器。示例性的,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器701的硬件架构可以是专用集成电路(applicationspecific integrated circuits,ASIC)架构、无互锁管道阶段架构的微处理器(microprocessor without interlocked piped stages architecture,MIPS)架构、进阶精简指令集机器(advanced RISC machines,ARM)架构或者NP架构等等。处理器701可以是单核的,也可以是多核的。
示例性的,接口702可用于输入待处理的数据至处理器701,并且可以向外输出处理器701的处理结果。具体实现中,接口702可以是通用输入输出(general purpose inputoutput,GPIO)接口,可以和多个外围设备(如显示器(LCD)、摄像头(camara)、射频(radiofrequency,RF)模块等等)连接。接口702通过总线703与处理器701相连。
在一些可能的实施例中,处理器701可用于从存储器中调用本申请的一个或多个实施例提供的自动驾驶地图的构建方法在网络设备或终端设备侧的实现程序或者数据,使得该芯片可以实现前述图1A、图2和图3所示的自动驾驶地图的构建方法,以及图4所示的基于自动驾驶地图实现自动代客泊车方法。存储器可以和处理器701集成在一起,也可以通过接口702与芯片系统700相耦合,也就是说存储器可以是芯片系统700的一部分,也可以独立于该芯片系统700。接口702可用于输出处理器701的执行结果。本申请中,接口702可具体用于输出处理器701的译码结果。关于本申请的一个或多个实施例提供的自动驾驶地图的构建方法可参考前述各个实施例,这里不再赘述。
在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:移动服务共享车辆的路径决策系统和方法