CN111157010A - 一种用于无人驾驶的地图生成方法 - Google Patents
一种用于无人驾驶的地图生成方法 Download PDFInfo
- Publication number
- CN111157010A CN111157010A CN201911416120.9A CN201911416120A CN111157010A CN 111157010 A CN111157010 A CN 111157010A CN 201911416120 A CN201911416120 A CN 201911416120A CN 111157010 A CN111157010 A CN 111157010A
- Authority
- CN
- China
- Prior art keywords
- layer
- map
- course
- lane
- road
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
本发明涉及一种用于无人驾驶的地图生成方法,包括,准备创建地图模型所需的地图原始数据;根据地图原始数据从下往上按照航线点层→车道层→航向道层→路段层的顺序依次生成分层地图模型;对地图模型中的航线点层、车道层、航向道层和路段层中与之相对应的道路交通属性进行填充;对填充后的地图模型中的数据进行一致性验证,当地图模型中下层与与其相邻的上层中所包含的相同的元素属性的数量一致时,则完成地图的生成。本方法大大简化地图生成过程中繁冗复杂的重复性步骤,使地图制作的工作可以专注于地图特征元素的改动,尽量自动化地图生成过程,减少人工地图制作的工作量,进而有效的提升了地图制作的效率,使以后更大规模的地图制作和更新成为可能。
Description
技术领域
本发明涉及智能驾驶技术领域,特别是涉及一种用于无人驾驶的地图生成方法。
背景技术
高精度地图是无人驾驶的核心部分之一,因而高精度地图的制作技术便成了无人驾驶系统不可缺少的一环。目前业界对无人驾驶系统使用的高精度地图还没有一个统一的标准,各个图商针对自家的高精度地图格式有自己的制作方式。
地图生成是一个步骤相对简单但重复繁琐的过程,手工制作工作量极大。目前,各个地图厂商都在开发针对自家的高精度地图格式地图自动化或半自动化的生成方式。本技术方案专门用于针对现有的用于无人驾驶的高精度地图模型:道路导航地图(RoadNavigation Map, RNM)提出半自动化的地图生成方式,本方案可以大大简化地图生成过程中繁冗复杂的重复性步骤,使地图制作的工作可以专注于地图特征元素的改动,尽量自动化地图生成过程,减少人工地图制作的工作量,进而有效的提升了地图制作的效率,使以后更大规模的地图制作和更新成为可能。
发明内容
本发明为克服上述现有技术所述的不足,提供一种用于无人驾驶的地图生成方法。
为解决上述技术问题,本发明的技术方案如下:
一种用于无人驾驶的地图生成方法,包括如下步骤:
准备创建地图模型所需的地图原始数据;
根据地图原始数据从下往上按照航线点层→车道层→航向道层→路段层的顺序依次生成分层地图模型;
根据地图原始数据分别对地图模型中的航线点层、车道层、航向道层和路段层中与之相对应的道路交通属性进行填充;
对填充后的地图模型中的数据进行一致性验证,即判断地图模型中下层与上层同一元素属性的一致性,当地图模型中下层与与其相邻的上层中所包含的相同的元素属性的数量一致时,则完成地图的生成。
进一步的,作为优选技术方案,所述地图原始数据包括车道中心线数据、道路边沿线数据、路面标记数据、交通灯数据和交通标识数据。
进一步的,作为优选技术方案,所述分层地图模型的生成具体包括:
根据车道中心线数据选定属于车道的车道ID的所有航线点,按照道路行驶方向排列航线点,即按照车道中心线中的航线点的排列顺序排列航线点,生成航线点层,同时生成每个航线点的属性;
根据航线点层所属的车道ID生成ID为车道ID的车道,同时生成该条车道的属性,从而生成车道层;
选定属于航向道ID的所有车道,生成ID为航向道ID的航向道,同时生成该航向道的属性,从而生成航向道层;
选定属于路段ID的所有航向道,生成ID为路段ID的路段,同时生成该路段的属性,从而生成路段层。
进一步的,作为优选技术方案,还包括:
生成航向道的属性的同时,需要同时更新该航向道中每条车道的属性和每条车道中每个航线点的属性;
生成路段的属性的同时,需要同时依次逐层向下更新该路段中每个航向道的属性、每条航向道中每条车道的属性和每条车道中每个航线点的属性。
进一步的,作为优选技术方案,在生航向道层之后,还包括:
选定相互连接的两条航向道,生成两条相连接航向道的属性,同时更新相连接航线点的属性。
进一步的,作为优选技术方案,对地图模型填充道路交通属性具体包括:
根据道路边沿线数据选定道路边界线对应的所有航线点,计算并填充地图模型中所选的所有航线点和所有车道的与道路边界线相关属性的填充;
根据路面标记数据选定路边标记对应的所有航向点,计算并填充地图模型中所选的所有航线点的与路边标记相关属性的填充;
根据交通灯数据选定交通灯对应的所有航向点,计算并填充地图模型中所选的所有航线点的与交通灯相关属性的填充;
根据交通标识数据选定交通标识对应的所有航向点,计算并填充地图模型中所选的所有航线点的与交通标识相关属性的填充。
进一步的,作为优选技术方案,分别与道路边界线、路边标记、交通灯和交通标识对应的航向点的选定具体包括:
通过搜索分别与道路边界线、路边标记、交通灯或交通标识之间最短距离的航线点确定。
进一步的,作为优选技术方案,一致性验证具体包括:
验证地图模型中所有的航线点的总数与所有车道的所有航线点之和是否一致;
验证路段属性中的路段编号与路段所包含的航向道数量是否一致;
验证航向道属性中的航向道编号与航向道所包含的车道数量是否一致;
验证车道属性中的航线点编号与车道所包含的航线点数量是否一致。
进一步的,作为优选技术方案,一致性验证还包括:
验证验证地图模型中每层元素属性是否都是有效值。
进一步的,作为优选技术方案,所述地图模型中的每层具体包括:
路段层:地图模型由各路段组成,路段层是通过交叉路口将道路网络划分为不同路段,每个路段始于一个交叉路口,终止于另一个交叉路口;
航向道层:一个路段被划分为一个或多个航向道,不同航向道代表路段中不同的行驶方向;
车道层:一个航向道内包含一个或多个车道;
航线点层: 由沿着车道中心线的一系列航线点组成,每个航线点与其周围相关道路和交通属性相关联,通过航线点将无人驾驶汽车和其当前所处的道路交通环境联系起来,使无人驾驶汽车能够根据当前的车身定位快速获取周围道路和交通信息,用于辅助无人驾驶汽车的自主导航、环境感知和高精度定位。
与现有技术相比,本发明技术方案的有益效果是:
本方法大大简化地图生成过程中繁冗复杂的重复性步骤,使地图制作的工作可以专注于地图特征元素的改动,尽量自动化地图生成过程,减少人工地图制作的工作量,进而有效的提升了地图制作的效率,使以后更大规模的地图制作和更新成为可能。
附图说明
图1为本发明方法步骤流程图。
图2为本发明地图原始数据示意图。
图3为本发明分层地图模型示意图。
图4为本发明分层地图模型生成流程图。
图5为本发明道路交通元素生成流程图。
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的;相同或相似的标号对应相同或相似的部件;附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征更易被本领域技术人员理解,从而对本发明的保护范围作出更为清楚的界定。
实施例1
一种用于无人驾驶的地图生成方法,如图1所示,包括如下步骤:
S10. 准备创建地图模型所需的地图原始数据。
所述地图原始数据如图2所示:包括车道中心线数据(Central Line)、道路边沿线数据(Boundary)、路面标记数据(Lane Marking)、交通灯数据(Traffic Light)和交通标识数据(Traffic Sign)。
其中:
车道中心线数据(Central Line):是由一系列几何坐标点(x,y)组成的道路中每条车道的中心线。根据应用的需求,位于中心线上的点的采样间隔可以不同,车道中心线上的点,即航线点(waypoint)用来创建地图模型中的航线点层。
车道中心线数据基本格式设计如下表1所示:
表1
序号(index)(int) | 横坐标(x)(double) | 纵坐标(y)(double) |
1 | x.x | x.x |
2 | x.x | x.x |
道路边沿线数据(Boundary):由一系列几何坐标点(x,y)组成的道路边界线(路沿线或道路边界),道路边界坐标点用来填充地图模型相应航线点(waypoint)的道路边界属性。
道路边沿线数据基本格式设计如下表2所示:
表2
序号(index)(int) | 横坐标(x)(double) | 纵坐标(y)(double) |
1 | x.x | x.x |
2 | x.x | x.x |
路面标记数据(Lane Marking):路面标记数据是由一系列几何坐标点(x,y)组成的道路表面标记及其属性。路面标记坐标点用来填充地图模型相应航线点(waypoint)的道路标记属性。其中,道路表面标记包括箭头、文字等。
路面标记数据基本格式设计如下表3所示:
表3
序号(index)(int) | 路面标记边界点序列(double)(double) | 种类(int) |
1 | (x1,y1)(x2,y2)……(xn,yn) | x |
2 | (x1,y1)(x2,y2)……(xm,ym) | y |
交通灯数据(Traffic Light):交通灯数据是由一系列几何坐标点(x,y)组成的交通灯位置及其属性。交通灯数据用来填充地图模型相应航线点(waypoint)的交通灯属性。
交通灯数据基本格式设计如下表4所示:
表4
序号(index)(int) | 位置(x,y)(double)(double) | 种类(int) |
1 | (x1,y1) | x |
2 | (x2,y2) | y |
交通标识数据(Traffic Sign):交通标识数据是由一系列几何坐标点(x,y)组成的交通标识位置及其属性。交通标识数据用来填充地图模型相应航线点(waypoint)的交通标识属性。
交通标识数据基本格式设计如下表5所示:
表5
序号(index)(int) | 位置(x,y)(double)(double) | 种类(int) |
1 | (x1,y1) | x |
2 | (x2,y2) | y |
S20. 根据地图原始数据从下往上按照航线点层→车道层→航向道层→路段层的顺序依次生成分层地图模型,如图3所示。
其中:
航线点层:由沿着车道中心线的一系列航线点组成,每个航线点与其周围相关道路和交通属性相关联,通过航线点将无人驾驶汽车和其当前所处的道路交通环境联系起来,使无人驾驶汽车能够根据当前的车身定位快速获取周围道路和交通信息,用于辅助无人驾驶汽车的自主导航、环境感知和高精度定位。
航线点层的基本属性如下表6所示:
表6
Attribute Name | Value Type | Remark |
id | String | Unique ID to identify the waypoint. |
type | Integer | Type of the waypoint, either Normal (1) or Dummy (0). |
xcoord | Real | x coordinate of the waypoint. |
ycoord | Real | y coordinate of the waypoint. |
lane_width | Real | Lane width at the waypoint. |
is_stop | Integer | Whether the waypoint is a stop line. |
is_junct | Integer | Whether the waypoint is a junction point. |
is_carpark | Integer | Whether the waypoint is a carpark point. |
succs | String | List of successor waypoints x.x.x.x,x.x.x.x (separated by “,”) to the waypoint. |
behaviors | String | List of vehicle behaviors x,x (separated by “,”) between the waypoint to its corresponding successor waypoints. |
lane_id | String | id of the lane to which the waypoint belongs. |
Traffic_l | Struct | Custom struct to hold traffic light information, e.g. position, type, etc. |
Traffic_s | Struct | Custom struct to hold traffic sign information, e.g. position, type, etc. |
车道层:一个航向道内包含一个或多个车道。
车道层的基本属性如下表7所示:
表7
Attribute Name | Value Type | Remark |
id | String | Unique ID to identify the lane. |
num_wps | Integer | Number of waypoints in the lane. |
width | Real | Width of the lane. |
left_b | Ineger | Type of the left lane marking boundary, e.g. double yellow line. |
right_b | String | Type of the right lane marking boundary. |
chl_id | String | id of the channel to which the lane belongs. |
航向道层:一个路段被划分为一个或多个航向道,不同航向道代表路段中不同的行驶方向。
航向道层的基本属性如下表8所示:
表8
AttributeName | ValueType | Remark |
id | String | Unique ID to identify the channel. |
num_lanes | Integer | Number of lanes in the channel. |
length | Real | Distance along the channel used as travelling cost. |
preds | String | List of predecessor channels x.x,x.x (separated by “,”) to the channel. |
conn_lanes | String | List of lanes x-x,x (separated by “-”) of the channel, that are connected to the corresponding predecessor channels.Range (0, num_lanes]. |
succs | String | List of successor channels x.x,x.x (separated by “,”) from the channel. |
sugg_lanes | String | List of lanes x-x,x (separated by “-”) of the channel, that are connected to the corresponding successor channels andsuggested to take. Range (0, num_lanes]. |
seg_id | String | id of the segment to which the channel belongs. |
路段层:地图模型由各路段组成,路段层是通过交叉路口将道路网络划分为不同路段,每个路段始于一个交叉路口,终止于另一个交叉路口。
路段层的基本属性如下表9所示:
表9
Attribute Name | Value Type | Remark |
id | String | Unique ID to identify the segment. |
name | String | Road name of the segment. |
num_chls | Integer | Number of channels in the segment, value can be 1 or 2 channel(s). |
rnm | String | RNM name to which the segment belongs. |
本步骤中分层地图模型的生成如图4所示,具体包括:
S201. 根据车道中心线数据选定属于车道的车道ID的所有航线点,按照道路行驶方向排列航线点,即按照车道中心线中的航线点的排列顺序排列航线点,生成航线点层,同时生成每个航线点的属性。
本步骤中航线点的属性包括表6中的id、type、xcoord、ycoord、lane_id、succs和behaviors等部分属性
S202. 根据航线点层所属的车道ID生成ID为车道ID的车道,同时生成该条车道的属性,从而生成车道层。
本步骤具体为:
根据航线点层所属的车道ID生成ID为车道ID的车道,同时生成该条车道的属性,包括表7中的id、num_wps等部分属性,然后,重复生成航线点层和车道,直至车道层的所有车道生成完毕,从而完成车道层的生成。
S203. 选定属于航向道ID的所有车道,生成ID为航向道ID的航向道,同时生成该航向道的属性,从而生成航向道层。
本步骤具体为:
选定属于航向道ID的所有车道,生成ID为航向道ID的航向道,同时生成该航向道的属性,包括表8中的id,num_lanes,length等部分属性,同时需要更新该航向道中每条车道的属性和每条车道中每个航线点的属性;车道属性包括表7中的id,chl_id等部分属性,每个航线点的属性包括表6中的id, succs等部分属性;重复执行本步骤,直至航向道层所有航向道生成完毕,从而生成航向道层。
S2031. 选定相互连接的两条航向道,生成两条相连接航向道的属性,同时更新相连接航线点的属性。其中,两条相连接航向道的属性包括表8中的preds,conn_lanes,succs,sugg_lanes等部分属性,相连接航线点的属性包括表6中的succs。
S204. 选定属于路段ID的所有航向道,生成ID为路段ID的路段,同时生成该路段的属性,从而生成路段层。
本步骤具体为:选定属于路段ID的所有航向道,生成ID为路段ID的路段,同时生成该路段的属性,包括表9中该路段的全部属性,包括id, name, num_chls,rnm,同时依次逐层向下更新该路段中每个航向道的属性、每条航向道中每条车道的属性和每条车道中每个航线点的属性。每个航向道的属性包括表8中的seg_id,每条车道的属性包括表7中的id,每个航线点的属性包括表6中的id, succs等部分属性,重复上述步骤,直至路段层所有路段生成完毕,从而生成路段层。
S30. 根据地图原始数据分别对地图模型中的航线点层、车道层、航向道层和路段层中与之相对应的道路交通属性进行填充。
本步骤中道路交通属性进行填充如图5所示,具体包括:
根据道路边沿线数据选定道路边界线对应的所有航线点,计算并填充地图模型中所选的所有航线点和所有车道的与道路边界线相关属性的填充。
本步骤具体为:根据道路边沿线数据选定道路边界线对应的所有航线点,计算并填充地图模型中所选的航线点和所在车道的属性,航线点的属性包括表6中的lane_width,车道的属性包括表7中的width,left_b, right_b;重复执行本步骤,完成地图模型中所选的所有航线点和所有车道的与道路边界线相关属性的填充。
根据路面标记数据选定路边标记对应的所有航向点,计算并填充地图模型中所选的所有航线点的与路边标记相关属性的填充。
本步骤具体为:根据路面标记数据选定路边标记对应的航向点,计算并填充地图模型中所选的航线点的与路边标记相关属性的填充。航线点的属性包括表6中的is_stop,is_junct, is_carpark;重复执行本步骤,完成所有航线点的与路边标记相关属性的填充。
根据交通灯数据选定交通灯对应的所有航向点,计算并填充地图模型中所选的所有航线点的与交通灯相关属性的填充。
本步骤具体为:根据交通灯数据选定交通灯对应的所有航向点,计算并填充地图模型中所选的航线点的与交通灯相关属性的填充。航线点的属性包括表6中的traffic_l;重复执行本步骤,完成所有航线点的与交通灯相关属性的填充。
根据交通标识数据选定交通标识对应的所有航向点,计算并填充地图模型中所选的所有航线点的与交通标识相关属性的填充。
本步骤具体为:根据交通标识数据选定交通标识对应的航向点,计算并填充地图模型中所选的航线点的与交通标识相关属性的填充。航线点的属性包括表6中的traffic_s;重复执行本步骤,完成所有航线点的与交通标识相关属性的填充。
在本步骤中,航线点的确定包括:通过搜索分别与道路边界线、路边标记、交通灯或交通标识之间最短距离的航线点确定。
同时,本步骤中,航线点的与道路边界线、路边标记、交通灯或交通标识相关属性的填充过程不分先后顺序。
S40. 对填充后的地图模型中的数据进行一致性验证,即判断地图模型中下层与上层同一元素属性的一致性,当地图模型中下层与与其相邻的上层中所包含的相同的元素属性的数量一致时,则完成地图的生成。
本步骤中一致性验证具体包括:
验证地图模型中所有的航线点的总数与所有车道的所有航线点之和是否一致。
验证路段属性中的路段编号与路段所包含的航向道数量是否一致。
验证航向道属性中的航向道编号与航向道所包含的车道数量是否一致。
验证车道属性中的航线点编号与车道所包含的航线点数量是否一致。
验证验证地图模型中每层元素属性是否都是有效值(包括空值)。
本步骤中,当上述属性均一致,则完成地图的生成。但是,本步骤中一致性验证包括但不限于上述方面。
以图3为例举例说明,地图的生成过程。
图3中包含一个路段,两个航向道,每个航向道包含两条车道,每条车道包含9个航线点。
1、分层地图模型的生成过程:
第一步:选定Lane #2所有9个waypoints,按照车道中心线数据顺序产生waypoint id序列, 即:2.1, 2.2,2.3, …, 2.9;同时产生所选waypoints的部分属性,以第一个waypoint 2.1为例,如下表10所示:
表10
id | 2.1 |
type | 1(default) |
xcoord | x.x (UTM coordinates) |
ycoord | x.x (UTM coordinates) |
lane_id | 2 |
succs | 2.2 |
behaviors | x(behavior from 2.1 to its successor waypoint 2.2) |
第二步:生成id为2的车道,同时产生该车道的部分属性,如下表11所示:
表11
id | 2 |
num_wps | 9 |
第三步:自上而下产生其它三条车道以及各自包含的waypoint id序列及部分属性。
第四步:选定Channel #1所有两条lanes,生成id为1的航向道,同时产生该航向道部分属性,如下表12所示:
表12
id | 1 |
num_lanes | 2 |
length | x.x(calculated by summing the distances between waypoints) |
同时更新该航向道包含所有车道的部分属性,以车道2为例,如下表13所示:
表13
id | 1.2(update from 2 to 1.2) |
chl_id | 1 |
同时向下层更新各个航线点的部分属性,以车道2航线点1为例,如下表14所示:
表14
id | 1.2.1(update from 2.1 to 1.2.1) |
succs | 1.2.2(update from 2.2 to 1.2.2) |
第五步:以同样方式生成另外一条航向道Channel #2。
第六步:本例没有相互连接的航向道,因此相关航向道属性置空。如下表15所示:
表15
preds | NULL |
conn_lanes | NULL |
succs | NULL |
sugg_lanes | NULL |
第七步:选定Segment #1的所有channels,生成id为1的路段,同时产生该路段全部属性,如下表16所示:
表16
id | 1 |
name | “xxx street” |
num_chls | 2 |
rnm | “RNM map name” |
同时更新该路段包含所有航向道的部分属性,以航向道1为例,如下表17所示:
表17
id | 1.1(update from 1 to 1.1) |
seg_id | 1 |
同时逐层向下更新所有元素id,以航向道1下车道2为例,如下表18所示:
表18
id | 1.1.2(update from 1.2 to 1.1.2) |
以车道2下航线点1为例,如下表19所示:
表18
id | 1.1.2.1(update from 1.2.1 to 1.1.2.1) |
succs | 1.1.2.2(update from 1.2.2 to 1.1.2.2) |
第八步:本例中只有一条路段,因此分层地图模型生成完成。
2、分层地图模型的填充过程:
假设车道宽度5米(由道路边沿线数据计算所得),路沿为双黄线(double yellow),隔离带为双白线(double white),车道线为单白虚线(single dashed white),每条车道包含一个道路标识(箭头),并假设在每个航向尽头各包含一个交通灯和一个交通标识。
第一步:根据道路边沿线数据,计算并填充表6 waypoint的属性,以WP 1.1.2.1为例,如下表19所示:
表19
lane_width | 5 |
以及表7中所在lane的属性,以lane 1.1.2为例,如下表20所示:
表20
width | 5 |
left_b | double_yellow |
right_b | single_dashed_white |
第二步:重复执行第一步,完成所有waypoints和lanes与道路边界线相关属性的填充。
第三步:根据路面标记数据,填充表6 waypoint的属性,以WP 1.1.2.1为例,如下表21所示:
表21
is_stop | false |
is_junct | false |
is_carpark | false |
第四步:重复执行第三步,完成所有waypoints与路面标记相关属性的填充。
第五步:根据交通灯数据,搜索距离最近的waypoint,并填充表6waypoint的属性,以WP 1.1.2.9为例,如下表22所示:
表22
traffic_l | true |
第六步:重复执行第五步,完成所有waypoints与交通灯相关属性的填充。
第七步:根据交通标识数据,搜索距离最近的waypoint,并填充表6 waypoint的属性,以WP 1.1.2.9为例,如下表23所示:
表23
traffic_s | true |
第八步:重复执行第七步,完成所有waypoints与交通标识相关属性的填充。
3、一致性验证
地图所有waypoints的总数(36)要和所有lane的waypoints总数相加的和(4x9)一致。
路段属性num_chls(2)要和其所包含的航向道数量(2)一致。
航向道属性num_lanes要和其所包含的车道数量一致;如下表24所示:
表24
航向道属性num_lanes | 包含车道数 | |
航向道1.1 | 2 | 2 |
航向道1.2 | 2 | 2 |
车道属性num_wps要和其所包含的航线点数量一致;如下表25所示:
表25
车道属性num_wps | 包含航线点数 | |
车道1.1.1 | 9 | 9 |
车道1.1.2 | 9 | 9 |
车道1.2.1 | 9 | 9 |
车道1.2.2 | 9 | 9 |
地图模型中每层元素属性都有有效值(包括空值)。
未填充的地图元素属性置空值 NULL。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种用于无人驾驶的地图生成方法,其特征在于,包括如下步骤:
准备创建地图模型所需的地图原始数据;
根据地图原始数据从下往上按照航线点层→车道层→航向道层→路段层的顺序依次生成分层地图模型;
根据地图原始数据分别对地图模型中的航线点层、车道层、航向道层和路段层中与之相对应的道路交通属性进行填充;
对填充后的地图模型中的数据进行一致性验证,即判断地图模型中下层与上层同一元素属性的一致性,当地图模型中下层与与其相邻的上层中所包含的相同的元素属性的数量一致时,则完成地图的生成。
2.根据权利要求1所述的用于无人驾驶的地图生成方法,其特征在于,所述地图原始数据包括车道中心线数据、道路边沿线数据、路面标记数据、交通灯数据和交通标识数据。
3.根据权利要求2所述的用于无人驾驶的地图生成方法,其特征在于,所述分层地图模型的生成具体包括:
根据车道中心线数据选定属于车道的车道ID的所有航线点,按照道路行驶方向排列航线点,即按照车道中心线中的航线点的排列顺序排列航线点,生成航线点层,同时生成每个航线点的属性;
根据航线点层所属的车道ID生成ID为车道ID的车道,同时生成该条车道的属性,从而生成车道层;
选定属于航向道ID的所有车道,生成ID为航向道ID的航向道,同时生成该航向道的属性,从而生成航向道层;
选定属于路段ID的所有航向道,生成ID为路段ID的路段,同时生成该路段的属性,从而生成路段层。
4.根据权利要求3所述的用于无人驾驶的地图生成方法,其特征在于,还包括:
生成航向道的属性的同时,需要同时更新该航向道中每条车道的属性和每条车道中每个航线点的属性;
生成路段的属性的同时,需要同时依次逐层向下更新该路段中每个航向道的属性、每条航向道中每条车道的属性和每条车道中每个航线点的属性。
5.根据权利要求3所述的用于无人驾驶的地图生成方法,其特征在于,在生航向道层之后,还包括:
选定相互连接的两条航向道,生成两条相连接航向道的属性,同时更新相连接航线点的属性。
6.根据权利要求2所述的用于无人驾驶的地图生成方法,其特征在于,对地图模型填充道路交通属性具体包括:
根据道路边沿线数据选定道路边界线对应的所有航线点,计算并填充地图模型中所选的所有航线点和所有车道的与道路边界线相关属性的填充;
根据路面标记数据选定路边标记对应的所有航向点,计算并填充地图模型中所选的所有航线点的与路边标记相关属性的填充;
根据交通灯数据选定交通灯对应的所有航向点,计算并填充地图模型中所选的所有航线点的与交通灯相关属性的填充;
根据交通标识数据选定交通标识对应的所有航向点,计算并填充地图模型中所选的所有航线点的与交通标识相关属性的填充。
7.根据权利要求6所述的用于无人驾驶的地图生成方法,其特征在于,分别与道路边界线、路边标记、交通灯和交通标识对应的航向点的选定具体包括:
通过搜索分别与道路边界线、路边标记、交通灯或交通标识之间最短距离的航线点确定。
8.根据权利要求2所述的用于无人驾驶的地图生成方法,其特征在于,一致性验证具体包括:
验证地图模型中所有的航线点的总数与所有车道的所有航线点之和是否一致;
验证路段属性中的路段编号与路段所包含的航向道数量是否一致;
验证航向道属性中的航向道编号与航向道所包含的车道数量是否一致;
验证车道属性中的航线点编号与车道所包含的航线点数量是否一致。
9.根据权利要求2所述的用于无人驾驶的地图生成方法,其特征在于,一致性验证还包括:
验证验证地图模型中每层元素属性是否都是有效值。
10.根据权利要求1所述的用于无人驾驶的地图生成方法,其特征在于,所述地图模型中的每层具体包括:
路段层:地图模型由各路段组成,路段层是通过交叉路口将道路网络划分为不同路段,每个路段始于一个交叉路口,终止于另一个交叉路口;
航向道层:一个路段被划分为一个或多个航向道,不同航向道代表路段中不同的行驶方向;
车道层:一个航向道内包含一个或多个车道;
航线点层: 由沿着车道中心线的一系列航线点组成,每个航线点与其周围相关道路和交通属性相关联,通过航线点将无人驾驶汽车和其当前所处的道路交通环境联系起来,使无人驾驶汽车能够根据当前的车身定位快速获取周围道路和交通信息,用于辅助无人驾驶汽车的自主导航、环境感知和高精度定位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416120.9A CN111157010B (zh) | 2019-12-31 | 2019-12-31 | 一种用于无人驾驶的地图生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416120.9A CN111157010B (zh) | 2019-12-31 | 2019-12-31 | 一种用于无人驾驶的地图生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111157010A true CN111157010A (zh) | 2020-05-15 |
CN111157010B CN111157010B (zh) | 2021-07-30 |
Family
ID=70560277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911416120.9A Active CN111157010B (zh) | 2019-12-31 | 2019-12-31 | 一种用于无人驾驶的地图生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111157010B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114705204A (zh) * | 2022-05-09 | 2022-07-05 | 浙江大学 | 一种基于道路基础设计资料的高精度地图生成方法 |
CN115127564A (zh) * | 2022-06-29 | 2022-09-30 | 吉林大学 | 一种面向多层级自动驾驶导航系统的分层地图模型 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160021153A1 (en) * | 2014-07-16 | 2016-01-21 | Highway Hottie, LLC | System and computer program for social media utilizing navigation |
CN108332761A (zh) * | 2018-02-07 | 2018-07-27 | 驭势(上海)汽车科技有限公司 | 一种使用及创建路网地图信息的方法与设备 |
CN109976332A (zh) * | 2018-12-29 | 2019-07-05 | 惠州市德赛西威汽车电子股份有限公司 | 一种用于无人驾驶的高精度地图模型及自主导航系统 |
CN110036425A (zh) * | 2016-11-18 | 2019-07-19 | 伟摩有限责任公司 | 用于自动驾驶车辆的动态路由 |
-
2019
- 2019-12-31 CN CN201911416120.9A patent/CN111157010B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160021153A1 (en) * | 2014-07-16 | 2016-01-21 | Highway Hottie, LLC | System and computer program for social media utilizing navigation |
CN110036425A (zh) * | 2016-11-18 | 2019-07-19 | 伟摩有限责任公司 | 用于自动驾驶车辆的动态路由 |
CN108332761A (zh) * | 2018-02-07 | 2018-07-27 | 驭势(上海)汽车科技有限公司 | 一种使用及创建路网地图信息的方法与设备 |
CN109976332A (zh) * | 2018-12-29 | 2019-07-05 | 惠州市德赛西威汽车电子股份有限公司 | 一种用于无人驾驶的高精度地图模型及自主导航系统 |
Non-Patent Citations (1)
Title |
---|
李春华等: "空间实体在不同层次细节上保持拓扑关系一致性的研究", 《计算机应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114705204A (zh) * | 2022-05-09 | 2022-07-05 | 浙江大学 | 一种基于道路基础设计资料的高精度地图生成方法 |
CN114705204B (zh) * | 2022-05-09 | 2024-01-30 | 浙江大学 | 一种基于道路基础设计资料的高精度地图生成方法 |
CN115127564A (zh) * | 2022-06-29 | 2022-09-30 | 吉林大学 | 一种面向多层级自动驾驶导航系统的分层地图模型 |
CN115127564B (zh) * | 2022-06-29 | 2023-03-10 | 吉林大学 | 一种面向多层级自动驾驶导航系统的分层地图模型 |
Also Published As
Publication number | Publication date |
---|---|
CN111157010B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108871368B (zh) | 一种高精度地图车道横向拓扑关系的构建方法、系统及存储器 | |
CN106802954B (zh) | 无人车语义地图模型构建方法及其在无人车上的应用方法 | |
CN105825672B (zh) | 一种基于浮动车数据的城市指引区域提取方法 | |
CN109976332A (zh) | 一种用于无人驾驶的高精度地图模型及自主导航系统 | |
CN103389104B (zh) | 一种与二维导航同步的三维方向性导航方法及其装置 | |
CN111157010B (zh) | 一种用于无人驾驶的地图生成方法 | |
CN110118564B (zh) | 一种高精度地图的数据管理系统、管理方法、终端和存储介质 | |
CN110378293B (zh) | 一种基于实景三维模型生产高精度地图的方法 | |
US20100121886A1 (en) | Map Database Generating Systems, Methods, and Programs | |
CN109900279A (zh) | 一种基于泊车位全局路由的停车场语义地图创建方法 | |
JP6391507B2 (ja) | ナビゲーション装置、ナビゲーションプログラム、及びナビゲーション方法 | |
CN107806880B (zh) | 一种在地图中沿道路标记位置的系统及其方法 | |
CN101359434A (zh) | 用于交通导航系统和交通仿真系统的路网模型构建方法 | |
CN103162664B (zh) | 高程数据获取方法与装置、导航设备 | |
CN101608926A (zh) | 多层次多模态寻径导航方法 | |
CN106126729A (zh) | 一种电子地图里程桩数据采集及更新方法 | |
CN106409129A (zh) | 路况绘制方法及装置 | |
CN107230369A (zh) | 一种基于rfid道路标线的车辆导行方法 | |
CN105205283A (zh) | 一种集成城市设计和建设控制指标的规则建模方法 | |
CN110440819B (zh) | 导航方法、装置和系统 | |
CN101169331B (zh) | 利用三维图片的车载导航装置 | |
CN107316474B (zh) | 基于svg矢量数据格式的动态交通信息简图制作方法 | |
CN111982135A (zh) | 一种基于不同协议的地图格式之间的转换方法 | |
CN101169330B (zh) | 利用单一分歧图片的车载导航装置 | |
JP2019128260A (ja) | 表示装置、地図データ構造 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |