一种高精度地图生成系统及生成方法与流程

文档序号:14441091阅读:418来源:国知局
一种高精度地图生成系统及生成方法与流程

本发明涉及一种用于园区无人驾驶汽车的高精度地图生成系统及生成方法。



背景技术:

众所周知,在无人驾驶车辆的研发过程中,需要绘制地图为车辆导航。目前现有的技术中,生成地图的方法主要包括以下几种:

1、在专利文献cn105579811a中公开的方法,利用外部图像、惯性测量单元和无线测量技术gnss(globalnavigationsatellitesystem,全球卫星导航系统)和其他非无线测量传感器测量的数据融合结果,确定用户在全球坐标中的回路轨迹,并结合此轨迹和应用了vslam(visualsimultaneouslocalizationandmapping,视觉即时定位与地图构建)技术的图像特征点,获取平面结构和(或)立体结构地图。

2、在专利文献cn104573733a中公开的方法,利用图像拍摄模块、水平激光雷达、gps处理模块、惯性导航模块、旋转编码器以及图像预处理模块以及地理信息处理模块来生成地图。

3、在专利文献cn106441319a中公开的方法,利用卫星照片、车载传感器(激光雷达和相机)、组合定位系统(卫星定位系统和惯性导航系统)来获取原始道路数据融合生成地图。

以上这些方法中,都用了比较多的传感器来提高地图的精度,但是多传感器带来的问题是成本上的提高,尤其激光雷达的成本从数数万到数十万不等。



技术实现要素:

为了解决上述现有技术存在的问题,本发明旨在提供一种高精度地图生成系统及生成方法,以在提高地图生成精度的同时,有效降低成本。

本发明之一所述的一种高精度地图生成系统,其包括:

一数据采集模块,其根据dgps系统提供的车辆dgps数据以及摄像头提供的车辆前方道路场景的图像数据,获取车辆行驶轨迹上各个轨迹点的行驶数据,所述每个轨迹点的行驶数据包括:该轨迹点的平面xy坐标、速度、航向角以及该轨迹点到左右两侧车道线的距离;

一与所述数据采集模块连接的数据处理模块,其根据所述各个轨迹点的行驶数据生成道路中心线,并根据所述道路中心线生成道路拓扑关系,以获取整个地图的结构信息;以及

一与所述数据处理模块连接的地图显示模块,其根据所述整个地图的结构信息渲染成道路线条,并在线显示车辆当前位置。

在上述的高精度地图生成系统中,所述数据采集模块包括:

一与所述dgps系统连接的dgps信息处理单元,其对所述车辆dgps数据进行解析,以提取出所述各个轨迹点的经纬度坐标、速度和航向角,并通过高斯投影将所述各个轨迹点的经纬度坐标转换为所述各个轨迹点的平面xy坐标;以及

一与所述摄像头连接的摄像头信息处理单元,其对所述车辆前方道路场景的图像数据进行图像预处理、车道线检测以及车道线跟踪,并根据预设的图像坐标和世界坐标之间的映射关系,获得所述各个轨迹点到左右两侧车道线的距离。

在上述的高精度地图生成系统中,所述数据处理模块包括:

一与所述数据采集模块连接的矢量地图生成单元,其根据所述各个轨迹点的行驶数据,滤除所述轨迹点中的坏点和漂移点,并将剩余的轨迹点聚类后拟合生成所述道路中心线;以及

一与所述矢量地图生成单元连接的拓扑地图生成单元,其根据所述道路中心线提取道路口和道路尽头信息,以定义道路数据,生成所述道路拓扑关系。

在上述的高精度地图生成系统中,所述数据处理模块还包括一与所述拓扑地图生成单元连接的特征地图生成单元,其用于在整个地图上添加地图位置标记和道路特征标记。

在上述的高精度地图生成系统中,还包括一连接在所述摄像头与所述数据采集模块之间的摄像头信息接收模块,以及一连接在所述dpgs与所述数据采集模块之间的dgps信息接收模块。

在上述的高精度地图生成系统中,还包括一与所述数据采集模块连接的用于提供所述图像坐标和世界坐标之间的映射关系的摄像头标定模块。

本发明之二所述的一种高精度地图生成方法,其包括以下步骤:

步骤s1,根据dgps系统提供的车辆dgps数据以及摄像头提供的车辆前方道路场景的图像数据,获取车辆行驶轨迹上各个轨迹点的行驶数据,所述每个轨迹点的行驶数据包括:该轨迹点的平面xy坐标、速度、航向角以及该轨迹点到左右两侧车道线的距离;

步骤s2,根据所述各个轨迹点的行驶数据生成道路中心线,并根据所述道路中心线生成道路拓扑关系,以获取整个地图的结构信息;以及

步骤s3,根据所述整个地图的结构信息渲染成道路线条,并在线显示车辆当前位置。

在上述的高精度地图生成方法中,所述步骤s1包括:

步骤s11,对所述车辆dgps数据进行解析,提取出所述各个轨迹点的经纬度坐标、速度和航向角,并通过高斯投影将所述各个轨迹点的经纬度坐标转换为所述各个轨迹点的平面xy坐标;以及

步骤s12,对所述车辆前方道路场景的图像数据进行图像预处理、车道线检测以及车道线跟踪,并根据预设的图像坐标和世界坐标之间的映射关系,获得所述各个轨迹点到左右两侧车道线的距离。

在上述的高精度地图生成方法中,所述步骤s2包括:

步骤s21,根据所述各个轨迹点的行驶数据,滤除所述轨迹点中的坏点和漂移点,并将剩余的轨迹点聚类后拟合生成所述道路中心线;以及

步骤s22,根据所述道路中心线提取道路口和道路尽头信息,以定义道路数据,生成所述道路拓扑关系。

在上述的高精度地图生成方法中,所述步骤s2还包括:

步骤s23,在整个地图上添加地图位置标记和道路特征标记。

由于采用了上述的技术解决方案,本发明只采用摄像头(或相机)(与车辆用于fcw(forwardcollisionwarning)前向碰撞报警、ldw(lanedeparturewarning)车道偏离报警等功能的前视摄像头复用)来获取道路场景的图像数据,由此大大节约了成本,并采用了和现有gps技术不同的双gps(即,dgps)来获取车辆dgps数据(包括车辆的绝对位置信息),由于dgps含主、从两个gps信号,从gps信号可用于克服单gps可能带来的信号漂移等问题,由此提高了信号精度。本发明通过将上述通过摄像头获取的图像信息和dgps信息进行融合,从而实现了用低成本方案生成高精度地图的目的。

附图说明

图1是本发明一种高精度地图生成系统的结构框图;

图2是本发明一种高精度地图生成系统中数据处理模块的结构框图;

图3是本发明中根据摄像头提供的图像数据修正轨迹点平面xy坐标的示意图;

图4是本发明中去除漂移点的示意图;

图5是本发明中车辆与道路方向角度定义的示意图。

具体实施方式

下面结合附图,给出本发明的较佳实施例,并予以详细描述。

请参阅图1、2,本发明之一,即,一种高精度地图生成系统,包括:摄像头标定模块1、摄像头信息接收模块2、dgps信息接收模块3、数据采集模块4、数据处理模块5、数据存储模块6、地图显示模块7、中央处理模块8和显示驱动模块9,其中,

摄像头标定模块1与数据采集模块4连接,摄像头10通过摄像头信息接收模块2与数据采集模块4连接,dgps系统20通过dgps信息接收模块3与数据采集模块4连接,数据采集模块4通过中央处理模块8与数据处理模块5连接,数据处理模块5通过数据存储模块6与地图显示模块7连接,中央处理模块8分别与地图显示模块7以及显示驱动模块9连接,显示驱动模块9还与地图显示模块7连接。

具体来说,摄像头标定模块1用于提供图像坐标和世界坐标之间的映射关系。

数据采集模块4包括:与摄像头信息接收模块2连接的摄像头信息处理单元41以及与dgps信息接收模块3连接的dgps信息处理单元42,其中,

摄像头信息处理单元41对摄像头10提供的车辆前方道路场景的图像数据进行图像预处理、车道线检测以及车道线跟踪等处理,并根据摄像头标定模块1提供的图像坐标和世界坐标之间的映射关系,获得车辆行驶轨迹上各个轨迹点到左右两侧车道线及道路边缘的距离;

dgps信息处理单元42对dgps系统20提供的车辆dgps数据进行解析,以提取出各个轨迹点的经纬度坐标、速度和航向角,并通过高斯投影将各个轨迹点的经纬度坐标转换为各个轨迹点的平面xy坐标;

另外,摄像头信息处理单元41还与dgps信息处理单元42连接,从而根据各个轨迹点到左右两侧车道线及道路边缘的距离对各个轨迹点的平面xy坐标进行修正,以获得分布在道路中心线上的轨迹点的平面xy坐标。

数据处理模块5包括:与数据采集模块4连接的矢量地图生成单元51、与矢量地图生成单元51连接的拓扑地图生成单元52以及与拓扑地图生成单元52连接的特征地图生成单元53,其中,

矢量地图生成单元51根据分布在道路中心线上的轨迹点的平面xy坐标以及各个轨迹点的行驶数据,尤其是分布在道路中心线上的轨迹点的的速度、航向角以及该轨迹点到左右两侧车道线及道路边缘的距离等,滤除轨迹点中的坏点和漂移点(在本实施例中,可通过数据预处理子单元511实现),并将剩余的轨迹点聚类后拟合生成道路中心线,即,生成有序的、均匀分布的道路中心的轨迹点(在本实施例中,可通过与数据预处理子单元511连接的道路中心线生成子单元512实现);

拓扑地图生成单元52根据道路中心线提取道路口和道路尽头信息(在本实施例中,可通过道路节点提取子单元521实现),以定义道路数据,生成所述道路拓扑关系,即提取生成道路关系网(在本实施例中,可通过与道路节点提取子单元521连接的道路拓扑关系生成子单元522实现),以获取整个地图的结构信息(包括地图中有多少道路、每条道路包括了哪些轨迹点、每条道路和其他道路的联通关系等);

特征地图生成单元53用于在整个地图上添加地图位置标记(在本实施例中,可通过地图位置标记子单元531实现)和道路特征标记(在本实施例中,可通过道路特征标记子单元532实现),其中,地图位置标记包括固定特征位置标记(例如加油站的位置)和临时特征标记(例如导航的起始终止位置),道路特征标记是指根据交通标志添加道路的特征信息,例如道路是否限行、道路是否允许变道等(在本实施例中,道路特征标记子单元532可用于定义道路宽度以及道路通行性)。

数据存储模块6用于存储数据处理模块5输出的地图信息。

地图显示模块7根据数据存储模块6中存储的整个地图的结构信息(例如道路轨迹的轨迹点的平面xy坐标)渲染成道路线条,并在线显示车辆当前位置。

中央处理模块8分别为数据采集模块4、数据处理模块5、地图显示模块7和显示驱动模块9提供指令信息(例如,告知数据采集模块4,其采集的数据格式是否正确、是否停止或继续采集数据等指令),并将数据采集模块4输出的数据提供给数据处理模块5。

显示驱动模块9用于向地图显示单元7提供驱动程序。

上述系统的工作原理,即本发明之二,即一种高精度地图生成方法,包括以下步骤:

步骤s1,根据dgps系统20提供的车辆dgps数据以及摄像头10提供的车辆前方道路场景的图像数据,获取车辆行驶轨迹上各个轨迹点的行驶数据,每个轨迹点的行驶数据包括:该轨迹点的平面xy坐标、速度、航向角以及该轨迹点到左右两侧车道线及道路边缘的距离,并根据各个轨迹点到左右两侧车道线及道路边缘的距离对各个轨迹点的平面xy坐标进行修正,以获得分布在道路中心线上的轨迹点的平面xy坐标;

步骤s2,根据各个轨迹点的行驶数据以及分布在道路中心线上的轨迹点的平面xy坐标,生成道路中心线,并根据道路中心线生成道路拓扑关系,以获取整个地图的结构信息;以及

步骤s3,根据整个地图的结构信息渲染成道路线条,并在线显示车辆当前位置。

在本实施例中,上述步骤s1具体包括:

步骤s11,对车辆dgps数据进行解析,提取出各个轨迹点的经纬度坐标、速度和航向角,并通过高斯投影将各个轨迹点的经纬度坐标转换为各个轨迹点的平面xy坐标;以及

步骤s12,对车辆前方道路场景的图像数据进行图像预处理、车道线检测以及车道线跟踪,并根据预设的图像坐标和世界坐标之间的映射关系,获得各个轨迹点到左右两侧车道线及道路边缘的距离,并根据各个轨迹点到左右两侧车道线及道路边缘的距离对各个轨迹点的平面xy坐标进行修正,以获得分布在道路中心线上的轨迹点的平面xy坐标。

上述步骤s2具体包括:

步骤s21,根据各个轨迹点的行驶数据以及分布在道路中心线上的轨迹点的平面xy坐标,滤除轨迹点中的坏点和漂移点,并将剩余的轨迹点聚类后拟合生成道路中心线;以及

步骤s22,根据道路中心线提取道路口和道路尽头信息,以定义道路数据,生成道路拓扑关系;以及

步骤s23,在整个地图上添加地图位置标记和道路特征标记。

在本实施例中,摄像头信息处理单元41主要用于根据车辆前方道路场景的图像数据实现车道检测和跟踪功能,该功能主要包括图像预处理、车道线检测、车道线跟踪三部分,其中,图像预处理部分包括:感兴趣区域选取、灰度化、滤波、边缘提取以及二值化处理;车道线检测和跟踪包括:首先检测到距离选定轨迹点最近的左、右两条直线,把距离这两条直线距离在范围d内的直线设定为左、右直线簇,根据直线簇上的点拟合左、右车道线(具体可参见申请号为201710568932.x的专利申请《一种多车道检测方法及跟踪方法》,此处不再详述)。摄像头信息处理单元41根据得到的上述左、右车道线模型以及实现对摄像头进行标定的结果(即图像坐标和世界坐标之间的映射关系),即可获得轨迹点(即车身)到左右两侧车道线的距离。

在本实施例中,dgps系统20以5-20hz(频率可设定并固定)发送车辆dgps数据,dgps信息处理单元42从中提取的有效数据包括:(1)utc时间,hhmmss(时分秒);(2)定位状态,a=有效定位,v=无效定位;(3)纬度ddmm.mmmmm(度分);(4)纬度半球n(北半球)或s(南半球);(5)经度dddmm.mmmmm(度分);(6)经度半球e(东经)或w(西经);(7)地面速率(000.0~999.9节);(8)地面航向(000.0~359.9度,以正北方为参考基准);(9)utc日期,ddmmyy(日月年);(10)磁偏角(000.0~180.0度,前导位数不足则补0);(11)磁偏角方向,e(东)或w(西);(12)模式指示(a=自主定位,d=差分,e=估算,n=数据无效)。dgps信息处理单元42主要通过高斯投影将上述经纬度坐标数据转换为平面xy坐标(关于高斯投影中经纬度的计算方法为本领域公知常识,此处不再赘述)。

另外,在本实施例中,由于进行车辆dgps数据采集时,dgps系统20相对于道路的位置并不是确定的(如图3所示)。因此在生成道路中心线时需要依据摄像头的图像数据,对轨迹点的平面xy坐标(x,y)进行修正,即,根据各个轨迹点到左右两侧车道线及道路边缘的距离对各个轨迹点的平面xy坐标进行修正,以获得分布在道路中心线上的轨迹点的平面xy坐标,修正后分布在道路中心线上的轨迹点的坐标为(x,y)。如图3所示,由于轨迹点1(其坐标为(x1,y1))和轨迹点2(其坐标为(x2,y2))的采集间隔较短,故可认为在采集间隔内dgps运动轨迹为直线,故可通过如下公式获得道路中心线上轨迹点的坐标(x1,y1):

其中,s1和l1分别是轨迹点1到道路两侧边缘的距离,s2和l2分别是轨迹点2到道路两侧边缘的距离。

在本实施例中,矢量地图生成单元51中的数据预处理子单元511主要用于实现坏点过滤和漂移点去除,其中:

坏点过滤是指:若连续时刻车辆dgps数据得到的速度信息(由于车辆dgps数据采集是固定频率的,因此通过计算两个轨迹点之间的距离,然后除以采样周期,即可获得近似速度值)相差超过阈值,则说明该轨迹点采集的车辆dgps数据很大几率是错的,因此在基于前一时刻为有效数据的基础上,需要排除后一时刻的轨迹点。

漂移点去除的原理可如图4:通过连续的三个轨迹点:点1点2点3来判断;点1和点3连成的直线记为l,若点2到直线l投影的长度d超过了道路宽w,则说明点2很大几率是漂移点,因此需要去除点2。

在本实施例中,矢量地图生成单元51中的道路中心线生成子单元512主要用于将剩余的轨迹点(主要是指分布在道路中心线上的轨迹点)聚类后拟合生成道路中心线,其中:

将剩余的轨迹点聚类是指:通过聚类算法(由于该算法本领域公知常识,故以下仅做简单介绍)沿着轨迹的存储顺序(即道路的延伸方向)进行轨迹点聚类。具体来说包括以下步骤:

(1)设定密度阈值p和聚类半径d,轨迹点由于数据误差的原因,并没有准确地处于汽车行驶轨迹上,而是分布在约为道路宽度两倍的位置上(超过2倍的当做漂移点了),d的取值可以按照此分布规律确定,p的值在不同数据集下不同,密集数据集下应偏大,稀疏数据集下应较小;

(2)将道路区域内采集到的所有有效车辆dgps数据进行高斯变换后存入轨迹点链表中,每个轨迹点的属性数据包含其平面xy坐标和一个是否已完成聚类的标记;

(3)选取链表中的第一个轨迹点数据,如果该数据表示该轨迹点已经参加过聚类,则继续选择链表中的下一个轨迹点数据,直到找到未聚类的数据;若轨迹点未参加过聚类,则跳转步骤(4);

(4)以该未参加过聚类的轨迹点为圆心,距离d为半径聚类,判断聚类圆中的轨迹点数目,如果数目超过了密度阈值p,则将其聚类为一个节点(即,通过取均值的方法,将范围内的轨迹点聚类为一个点),该节点的平面xy坐标分别为这些轨迹点的平面xy坐标的均值,将该节点存入聚类节点链表中,执行步骤(5);

(5)不管该圆内轨迹点数目是否超过密度阈值p,都将这些轨迹点标记为已参加聚类,执行步骤(6);

(6)在轨迹点链表中寻找离该聚类节点最近的并且未参与聚类的轨迹点,如果能找到,则继续步骤(4)(此时步骤(4)中的圆心点是指本步骤中找到的和上一个聚类节点最近且未参加过聚类的轨迹点),否则执行步骤(7);

(7)输出所有聚类节点集合,将这些聚类节点连起来即可认为是道路轨迹,也就是说,一条道路能够用有限的聚类节点以一个链表的形式进行表示,并且相邻的聚类节点在链表中是连续的,例如在地图导航中,汽车经过每一段路,可以认为要途径每个聚类节点。

上述聚类方法的优点在于,得到的聚类节点是顺序分布的,即使采集轨迹点时车辆开的轨迹有重复或者来回开都无影响,并且每个聚类节点分布比较均匀。

道路中心线生成子单元512在完成上述轨迹点聚类后,拟合生成道路中心线,其中包括:

(1)校准道路方向

一般来说,通过简单的gps坐标点计算道路方向是不准确的,因此需要智能车在多次行驶过程中对道路方向进行实时校准,也就是判断当前车辆是否处于行驶平稳的状态,即,车辆在一段行驶距离中行驶方向是否趋于稳定,若是,则应当认为车辆行驶方向与当前道路方向保持平行,此时可令θroad=θcar(θroad表示道路方向,θcar表示车辆行驶方向)。具体可简单采用10个采样周期的车辆数据来判断智能车当前的行驶方向是否趋于稳定;通过10个采样周期内的车辆行驶角度,通过如下公式计算其均方差sd:

其中,θi表示第i个采样周期的车辆行驶角度(方向);n表示有n个采样周期参与了计算;表示n个采样周期内车辆行驶角度(方向)的均值;如果sd<τ,则认为车辆行驶方向趋于稳定,τ为稳定性阔值,通过实际情况确定。

(2)校准车道线与道路轨迹坐标

当遇到摄像头或者导航设备有一方存在无效数据时,根据导航gps状态标志以及摄像头可靠性标志进行判定。由于道路在实际中具有连续性,故利用此特征可对该段“风险道路”进行预生成。

若摄像头遇到无效数据时,则假定当前车辆所处道路和上个采样周期t的道路具有相同的延伸方向,即当前道路的方向角度在一次采样周期内保持不变。根据图5所示,由车辆传感器可以读取车辆行驶速度v,可以求得:

l2=l1+v·t·sin(θ-α)

r2=r1-v·t·sin(θ-α)

其中,(x1,y1)为轨迹点1的坐标,(x2,y2)为轨迹点2的坐标,l1、r1分别为轨迹点1到道路两侧边缘的距离,l2、r2分别为轨迹点3到道路两侧边缘的距离,α为车辆行驶角度,θ为道路方向角度。

若dgps系统不处于差分定位状态时,如图5所示,可根据当前轨迹点与上一个车道线的距离、车辆速度、采集周期等信息通过如下公式对轨迹点的gps位置进行推算:

x2=x1+v·t·cos(α)

y2=y1+v·t·sin(α)

其中,v为车辆行驶速度,t为采样周期,(x1,y1)为轨迹点1的坐标,(x2,y2)为轨迹点2的坐标,l1、r1分别为轨迹点1到道路两侧边缘的距离,l2、r2分别为轨迹点2到道路两侧边缘的距离,α为车辆行驶角度,θ为道路方向角度。

由于风险路段的不确定性,故在生成地图时,需要对该路进行多次测量,通过最小二乘法获得最优道路轨迹(即道路中心线坐标组成的轨迹点的集合)与道路车道线坐标,通过获得的道路中心线坐标和已经测量到的道路宽度(由摄像头获得的道路边线距离得到),可以对道路进行更详细的定义,并且在进行导航时能够更精确的显示车辆与道路的关系。

在本实施例中,拓扑地图生成单元52的道路节点提取子单元521可用于提取道路口和道路尽头信息,具体来说:由于在矢量地图生成单元51中得到的聚类节点顺序分布,并且都赋予了标号,因此可通过以下步骤提取道路口轨迹点(已经过矢量地图生成单元51聚类的节点):

1、若以聚类节点为圆心,以聚类半径的2倍为半径画圆(这是因为在聚类过程中,都是以一倍的聚类半径r进行聚类的,因此若采集的点够多,经过聚类后的聚类节点是近似于均匀分布的,每个节点的距离在r~2r范围内),圆内的点若多于3个,并且点的标号不是连续的,则很可能是路口(这是因为聚类后的节点是近似均匀的,因此若为一条无道路口的道路,其在2r的聚类半径之内,点数应该不超过3个;若多于3个,则代表道路出现了分叉路口),将该节点加入列表l;

2、可以发现在道路比较混乱或者道路口附近有较多的误判点(这是因为道路分叉口会出现两条路距离比较近的情况,因此聚类后会把真正的道路交界口附近的点也包括进来),以距离为差异度,对上述列表l中的节点进行分类,每类定义为簇1,簇2等。

3、判断簇中的各点,以各点为圆心,聚类半径为半径画圆,找出被包含在圆中次数最多的点,则该点有大概率是道路口;而道路尽头因为没有其他道路与之联系,故为聚类半径中包含圆点最少的点;

当找到了道路的路口点和尽头点,各道路路口点与尽头点之间的聚类节点即属于该条道路,这样就能通过道路拓扑关系生成子单元522定义出道路的拓扑关系了。最后可通过特征地图生成单元53给道路的聚类节点添加一些道路的属性信息,由此生成特征地图。

综上所述,本发明通过低成本的dgps与摄像头数据融合,可在短时间内生成可用于园区无人驾驶高精度导航地图。通过本发明,只需将园区道路信息通过汽车收集后,即可快速生成地图,并可用于对园区无人车的最优路径规划。同时,无人驾驶车辆行驶过程中采集的实时数据又可以和历史数据融合,优化、提高地图的精度,从而实现了可持续的低成本高精度二维地图的生成方法。

以上所述的,仅为本发明的较佳实施例,并非用以限定本发明的范围,本发明的上述实施例还可以做出各种变化。即凡是依据本发明申请的权利要求书及说明书内容所作的简单、等效变化与修饰,皆落入本发明专利的权利要求保护范围。本发明未详尽描述的均为常规技术内容。

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