一种简单可行的小范围内依据高精度地图标注车道线等的方法及相应的提取车道线等信息的程序

之前做的结构化道路下全局路径规划相关的工作,为无人车提供车道线级别的导航,在这简单记录一下。主要有两部分的工作,第一部分是标注地图,即在高精度的slam地图地图上标注出车道线等信息,纯手工标注的,有点麻烦,但小范围内的话也还行;第二部分是编写程序,提取出车道线等信息,供无人车参考。

1、标注地图

首先是如何标注地图的问题,参照了标准的OpenDRIVE和Apollo OpenDRIVE,形成了自己的一个标图格式,感觉更方便些,但是不能通用了。

signal包含交通灯、停车/减速让行、限速、注意行人等。junction为交叉路口,包含该路口内道路、车道线的连接关系。road为道路。object包含停止线、斑马线、停车位等。laneSection,由于标准中没有实体与之对应,因此借用来表示道路边界。lane为车道线。利用ArcMap打开slam高精度地图后,手动标注的地图如下图所示。

一种简单可行的小范围内依据高精度地图标注车道线等的方法及相应的提取车道线等信息的程序_第1张图片

 

2、标注的地图的数据都保存在了相应的shp文件中,把这些shp文件导入到数据库(postgresql+postgis)中后,编写程序从数据库中提取数据。

3、程序是Qt下用C++写的。

下图绿色的是起点(车辆当前位置)到指定终点的路线。

一种简单可行的小范围内依据高精度地图标注车道线等的方法及相应的提取车道线等信息的程序_第2张图片

车道线有白实线、白虚线、黄实线和黄虚线。红色的为道路边界或马路牙子。左上角为前方道路的一些提示信息,比方说路口右转,d表示还有82米进入右转路口,l表示右转路口长35米。

一种简单可行的小范围内依据高精度地图标注车道线等的方法及相应的提取车道线等信息的程序_第3张图片

 

你可能感兴趣的:(一种简单可行的小范围内依据高精度地图标注车道线等的方法及相应的提取车道线等信息的程序)