一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种地图车道数据生成方法及装置与流程

2022-05-18 08:57:00 来源:中国专利 TAG:


1.本发明涉及无人驾驶技术领域,特别是涉及一种地图车道数据生成方法及装置。


背景技术:

2.高精地图是目前无人驾驶技术的必备环节,而车道数据是高精地图的核心内容。车辆通常需要沿着高精地图车道中心线数据给定的一连串坐标点作为预定轨迹进行自动行驶,而为了便于车辆自动控制模块对车辆进行精准控制并达到平稳行驶的目的,车道中心线坐标点序列需要符合车辆运动学规律,即曲率连续,或者说曲线要尽量平滑。
3.目前现有的技术都是分段或局部进行平滑,这种局部处理法能够保证地图上大部分点都是相对平滑的,但是对于拓扑分叉点等复杂位置,难以保证全局所有点都是曲率连续的。而现有的全局平滑方法又不能很好地处理分叉点处的曲率连续问题,且对于环行线更是难以进行平滑。


技术实现要素:

4.本发明所要解决的技术问题是,克服现有技术的缺点,提供一种地图车道数据生成方法及装置。
5.为了解决以上技术问题,本发明的技术方案如下:
6.一种地图车道数据生成方法,包括,
7.采集车道布局信息,并基于所述车道布局信息将车道划分为普通车道和连接车道;
8.绘制所有普通车道的边线,并基于普通车道的边线生成普通车道中心线;
9.对所述普通车道中心线进行点间隔均匀化处理并进行平滑处理;
10.根据连接线生成算法生成所有连接车道中心线;
11.根据所述连接车道中心线生成所有所述连接车道缺少的边线。
12.作为本发明所述地图车道数据生成方法的一种优选方案,其中:在所述绘制所有普通车道的边线,并基于普通车道的边线生成普通车道中心线之后,还包括,
13.判断所述普通车道中心线是否存在拓扑分叉点,若存在,则将拓扑分叉处的车道设置为连接车道。
14.作为本发明所述地图车道数据生成方法的一种优选方案,其中:所述绘制所有普通车道的边线,并基于普通车道的边线生成普通车道中心线包括,
15.获取普通车道两侧边线的点序列,并沿边线的方向依次获取点序列中每个点的坐标;
16.分别计算普通车道两侧边线上每个点在当前边线上所处位置的比例值;
17.沿两条边线的方向,从两条边线的起点开始依次取点,每次取一组目标点,计算两个目标点之间的中点作为中心线上的点,得到构成中心线的所有的点,以此生成普通车道中心线。
18.作为本发明所述地图车道数据生成方法的一种优选方案,其中:在所述判断所述普通车道中心线是否存在拓扑分叉点,若存在,则将拓扑分叉处的车道设置为连接车道之后,还包括,
19.判断所述普通车道中心线是否存在环形拓扑,若存在,则在形成环形拓扑的普通车道中截取一段弧形车道作为连接车道。
20.作为本发明所述地图车道数据生成方法的一种优选方案,其中:截取的所述弧形车道的中心线弧长大于等于1m。
21.作为本发明所述地图车道数据生成方法的一种优选方案,其中:所述对所述普通车道中心线进行点间隔均匀化并进行平滑处理包括,
22.对所述普通车道中心线中的点之间进行线性插值,使所述普通车道中心线中的点均匀分布;
23.将所有前后相连的所述普通车道中心线作为一段连续的曲线,对其进行平滑处理;
24.将经过平滑处理后的曲线作为普通车道中心线。
25.作为本发明所述地图车道数据生成方法的一种优选方案,其中:所述根据连接线生成算法生成所有连接车道中心线包括,
26.获取待生成的所述连接车道中心线的起点参数和终点参数,所述起点参数包括起点的第一坐标、第一曲率和第一方向角,所述终点参数包括终点的第二坐标、第二曲率和第二方向角;
27.将起点的第一坐标、第一曲率、第一方向角和终点的第二坐标、第二曲率和第二方向角作为输入参数,输入至连接线生成算法;
28.通过所述连接线生成算法生成连接车道中心线,并得到对应所述连接车道中心线的曲线模型和曲线参数。
29.作为本发明所述地图车道数据生成方法的一种优选方案,其中:在所述根据所述连接车道中心线生成所有所述连接车道缺少的边线之后,还包括,
30.对所有所述普通车道中心线中的点进行非线性插值,使所述普通车道中心线中的点密度达到设定值,根据所述连接车道中心线的曲线模型和曲线参数对对应所述连接车道中心线的点重新采样,使所述连接车道中心线中的点密度达到设定值。
31.本发明还公开了一种地图车道数据生成装置,包括,
32.第一采集模块,用于采集车道布局信息,并基于所述车道布局信息将车道划分为普通车道和连接车道;
33.第一生成模块,用于生成所有所述普通车道的边线,并基于普通车道的边线生成普通车道中心线;
34.第一处理模块,用于对所述普通车道中心线进行点均匀化处理并进行平滑处理;
35.第一判断模块,用于判断所述普通车道中心线是否存在拓扑分叉点,并在存在时将拓扑分叉处的车道设置为连接车道;
36.第二判断模块,用于判断所述普通车道中心线是否存在环形拓扑,并在存在时在形成环形拓扑的普通车道中截取一段弧形车道作为连接车道;
37.第二生成模块,用于连接线生成算法生成所有连接车道中心线;
38.第三生成模块,用于根据所述连接车道中心线生成所有所述连接车道缺少的边线;
39.第二处理模块,用于对所有所述普通车道中心线中的点进行非线性插值,使所述普通车道中心线中的点密度达到设定值,并根据所述连接车道中心线的曲线模型和曲线参数对对应所述连接车道中心线的点重新采样,使所述连接车道中心线中的点密度达到设定值。
40.作为本发明所述地图车道数据生成装置的一种优选方案,其中:截取的所述弧形车道的中心线弧长大于等于1m。
41.本发明的有益效果是:
42.(1)本发明将所有车道划分为普通车道和连接车道,然后对普通车道的中心线进行平滑算法处理,之后对再对连接车道的中心线使用连接线生成算法进行生成,保证所有车道中心线的点都是曲率连续的,使无人驾驶车辆可更好地运行。
43.(2)本发明基于地图整体进行分析,将车道划分为普通车道和连接车道,分别进行处理,并对于普通车道发生拓扑分叉的位置,如分道、合流等情况,将拓扑分叉处的普通车道划分为连接车道,对环岛等普通车道形成环形拓扑的情况,将环形车道中任意一段普通车道分离出来并划分为连接车道,有效解决了拓扑分叉点以及环形中心线难以平滑的问题。
44.(3)本发明先将车道中心线的间隔设置地较大,对车道中心线进行平滑处理,平滑处理之后重新生成密集点序列,最终得到的所有车道中心线都是曲率连续且间隔均匀的,且生成速度非常快。
45.(4)本发明通过对流程和方法进行改进,使中心线生成速度更快,可更好地保证所有位置和情况都能获得曲率连续的中心线,且中心线平滑程度更好,同时虚拟边线也更加合理和平滑,最终制作大批量车道数据时的效率更高,数据质量更好,从而使无人驾驶车辆行驶时更加平顺,乘客的乘坐体感更好。
附图说明
46.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
47.图1为本发明提供的地图车道数据生成方法的步骤流程图;
48.图2为本发明提供的地图车道数据生成方法中步骤s105的具体流程示意图;
49.图3为本发明提供的地图车道数据生成方法中步骤s106的具体流程示意图;
50.图4为普通车道边线绘制后的效果示意图;
51.图5为本实施例中普通车道中心线生成算法的辅助示意图;
52.图6为普通车道中心线生成后的效果示意图;
53.图7为将拓扑分叉处的普通车道划分为连接车道的第一种效果示意图;
54.图8为将拓扑分叉处的普通车道划分为连接车道的第二种效果示意图;
55.图9为将形成环形拓扑的普通车道中间划分出一段连接车道的效果示意图;
56.图10为生成曲率连续的连接车道中心线的效果示意图;
57.图11为连接车道缺少左边线或右边线的示意图;
58.图12为最终生成的高精度车道效果示意图;
59.图13为地图车道数据生成装置的结构示意图。
具体实施方式
60.为使本发明的内容更容易被清楚地理解,下面根据具体实施方式并结合附图,对本发明作出进一步详细的说明。
61.参见图1,为本实施例提供了一种地图车道数据生成方法的步骤流程图,上述方法包括步骤s101~s108,具体步骤说明如下:
62.步骤s101:采集车道布局信息,并基于车道布局信息将车道划分为普通车道和连接车道。
63.具体的,在地图采集车上设置采集传感器,通过地图采集车在道路上移动,使采集传感器对车道布局信息进行采集。采集完成后,对数据进行处理可得到采集范围内的道路信息以及道路底图。根据道路信息可获取道路的车道布局信息,并将车道划分为普通车道和连接车道。其中,普通车道一般是具有明确地面车道标线作为边线的车道,而连接车道通常是没有明确车道边线的虚拟车道,如在路口内部的转弯车道等。
64.步骤s102:绘制所有普通车道的边线,并基于普通车道的边线生成普通车道中心线;
65.具体的,完成车道划分后,在道路底图上绘制普通车道的边线,每个普通车道有左右两条边线,两条边线的长度基本保持一致。普通车道边线的绘制依据是采集传感器采集到的车道布局信息,即采集传感器采集到的普通车道的车道标线。普通车道边线绘制后的效果见图4。
66.可以理解的是,普通车道的边线有实线和虚线两种。本实施例中,在实线与虚线的连接处会对车道线进行分段,并根据分段情况,依次对车道进行标号。
67.在完成所有普通车道的边线绘制后,根据左右边线生成普通车道中心线。对于任意一条普通车道,指定该普通车道的左边线、右边线以及车道方向,然后使用中心线生成算法可生成普通车道中心线。对于任意一条普通车道,其中心线生成算法包括以下步骤:
68.步骤s102a:获取普通车道的两侧边线的点序列,并沿边线的方向依次获取点序列中每个点的坐标。
69.具体的,普通车道两侧的边线均是由按顺序排列的点序列来表示的折线。在获取点序列中每个点的坐标时,需要确定边线的方向,即是正向还是反向。如果是反向,则表示生成中心线时,取该边线的坐标点是由后向前取,以图为例,即(l4,l3,l2,l1,l0)。如果是正向,则取该边线的坐标点是由前向后取,即(l0,l1,l2,l3,l4)。
70.步骤s102b:分别计算普通车道两侧边线上每个点在当前边线上所处位置的比例值。
71.具体的,以图5中左边线为例,先计算折线上每一段的长度。比如,l0和l1之间长度是d1,l1和l2之间长度是d2,然后将所有线段长度加到一起得到折线总长度d,然后从l0开始依次计算每一个点所处位置的比例值,比如l0的比例值s0=0.0,l1的比例值s1=d1/d,
l2的比例值s2=(d1 d2)/d,即比例值s=(从折线起点开始到当前点的累积长度)/折线总长度,终点l4的比例值s4=1.0,这样就得到了左边线所有的比例值(s0,s1,s2,s3,s4)和右边线所有的比例值(w0,w1,w2,w3,w4)。
72.步骤s102c:沿两条边线的方向,从两条边线的起点开始依次取点,每次取一组目标点,计算两个目标点之间的中点,作为中心线上的点,并进行保存,以得到构成中心线的所有的点。具体步骤如下:
73.步骤s102c-1:取得左边线上的目标点l,右边线上的目标点r,计算两个点之间的中点,进行保存。
74.步骤s102c-2:取左边线和右边线上的下一个点作为目标点l和r。
75.步骤s102c-3:当左边线上的当前点l的比例值小于右边线上的当前点r的比例值或右边线上当前点r是终点时,进行步骤s102c-4,否则进行步骤s102c-5。
76.步骤s102 c-4:设r=(左边线上当前点l的比例值-右边线上前一个点的比例值)/(右边线上当前点的比例值-右边线上前一个点的比例值),计算右边线段上的点q的坐标(x,y),x=(右边线上当前点r的横坐标

右边线上前一个点的横坐标)*r 右边线上前一个点的横坐标,y=(右边线上当前点r的纵坐标-右边线上前一个点的纵坐标)*r 右边线上前一个点的纵坐标,然后计算左边线上当前点l和q之间的中点p,即x=(l.x q.x)/2,y=(l.y q.y)/2,保存到结果中,然后l目标点往后移动一个点,判断l和r是否都已经到达终点,若是,则进行步骤s102c-6,若否,则进行步骤s102c-3。
77.步骤s102 c-5:设r=(右边线上当前点r的比例值-左边线上前一个点的比例值)/(左边线上当前点l的比例值-左边线上前一个点的比例值),计算左边线上的点z的坐标(x,y),x=(左边线上当前点l的横坐标-左边线上前一个点的横坐标)*r 左边线上前一个点的横坐标,y=(左边线上当前点l的纵坐标-左边线上前一个点的纵坐标)*r 左边线上前一个点的纵坐标,然后计算r和z之间的中点p,保存到结果中,然后r目标点往后移动一个点,判断l和r是否都已经到达终点,若是,则进行s102c-6,若否,则进行步骤s102c-3。
78.步骤s102c-6:计算目标点l和r之间的中点,并进行保存,由此依次得到了构成中心线的所有点。
79.步骤s102c-7:依次检查中心线上所有点,计算前后两个点之间的距离,并设置阈值t,判断距离是否小于t,若小于则删除其中任意一个点。需要说明的是,整条折线的起点、终点不进行删除,只删除折线中间点。由此,得到生成的普通车道中心线。在本实施例中,阈值t设置为0.00001。
80.之后重复上述过程,直至完成所有普通车道中心线的生成。完成后的效果见图6。
81.步骤s103:判断普通车道中心线是否存在拓扑分叉点,若存在,则将拓扑分叉处的车道设置为连接车道。
82.具体的,检查所有普通车道的拓扑关系,判断是否存在拓扑分叉点。对于存在拓扑分叉的位置,将所有普通车道或部分普通车道划分为连接车道,保证普通车道前后连接之后形成的车道序列之间在拓扑上是彼此分离的,而车道序列之间只通过连接车道进行连接。
83.其中,车道序列是按照普通车道中心线起点和终点这两个端点的坐标来判断。端点坐标(x,y)作为拓扑节点的判断依据。如果端点坐标相等,则认为是同一个拓扑节点,将
所有行驶方向相同、拓扑节点前后相连的车道连接到一起,形成一个车道序列,其同样具有前后两个拓扑节点。需要保证任意两个车道序列拓扑上都不相连,即彼此分离。
84.参见图7和图8,为将拓扑分叉处的普通车道划分为连接车道的示意图。其中,如果拓扑分叉处的某条普通车道有实际的左右边线,且左右边线相对于前后普通车道的边线之间是较为平滑的连接,则可将该条普通车道的中心线与前后的普通车道中心线放在一起进行平滑处理。否则,只能将拓扑分叉处的普通车道划分为连接车道,后续单独进行连接车道中心线的生成。
85.另外,需要说明的是,对于不存在拓扑分叉的普通车道,即对于某一段普通车道,如果其左右边线明显不够平滑,则可将该段普通车道截取出来,作为连接车道,后续单独进行连接车道中心线的生成,否则会导致车道中心线整体曲线不够平滑的问题。
86.步骤s104:判断普通车道中心线是否存在环形拓扑,若存在,则在形成环形拓扑的普通车道中截取一段弧形车道作为连接车道。
87.具体的,检查所有普通车道的拓扑关系,对环岛等情况,即在拓扑上形成环形的地方,将环形普通车道打断并分离处一小段,将其设置为连接车道。参见图9。
88.这样处理的目的是:很多平滑算法无法处理环形的点序列,或者只是将环形点序列当做一般的折线进行平滑,把环形的起点和中点当作两个不同的点进行平滑,最终得到的结果,其起点/终点(是同一个点)要么分离成两个不同的点,要么虽然坐标是相等的,但是在这个点上的曲率不连续。本实施例将环形的普通车道中心线拆分成弧形的普通车道中心线和弧形的连接车道中心线,平滑算法只需要处理普通车道中心线,而连接车道中心线由后续的连接线生成算法单独生成,这样很好地解决了环形普通车道中心线难以平滑的问题。
89.在本实施例,截取出的弧形车道的中心线弧长大于等于1m,便于后续进行连接车道中心线的生成,且便于对数据进行质量检查。过短的车道中心线在可视化界面上难以观察。
90.步骤s105:对普通车道中心线进行点间隔均匀化处理并进行平滑处理。
91.具体的,步骤s102中通过中心线生成算法生成的普通车道中心线,其点是稀疏、不均匀的,这样的曲线并不适合作为无人驾驶车辆的轨迹去使用。因此,需要对其进行点隔间均匀化处理以及平滑处理。具体处理步骤如下:
92.步骤s105a:对普通车道中心线中的点之间进行线性插值,使普通车道中心线中的点均匀分布。其中,线性插值的目标间隔为0.20m~1.00m。在本实施例中,线性插值的目标间隔为0.50m,线性插值后,普通车道中心线中所有点的间隔均为0.50m左右,不要求完全均匀,只需要大致均匀,如实际点的间隔为0.40m~0.60m。
93.步骤s105b:将所有前后相连的普通车道中心线作为一段连续的曲线,对其进行平滑处理。即将所有前后相连的普通车道中心线连接到一起,作为一个整体进行平滑处理。
94.步骤s105c:将经过平滑处理后的曲线作为新的普通车道中心线。平滑处理后,点的数目不会变化,且仍保持大致均匀,即平滑处理结束后,点间隔仍大致为0.50m。这时候所有点的曲率是连续的,所有点的位置不可以再移动,只可以在整体普通车道中心线的两个端点处进行逐个点删除或增加,不可以对内部点再进行变动,保证所有点曲率的连续性。
95.需要说明的是,本实施例中采用的点间隔均匀化处理以及平滑处理均为现有的处
理方式,具体处理步骤不再赘述。
96.步骤s106:根据连接线生成算法生成所有连接车道中心线。
97.具体的,对于转弯车道、路口、分道、合流等位置添加连接车道中心线,将经过步骤s105处理后的普通车道中心线连接起来。参见图10,为生成曲率连续的连接车道中心线的效果示意图。连接车道中心线的生成步骤如下:
98.步骤s106a:获取待生成的所述连接车道中心线的起点参数和终点参数,所述起点参数包括起点的第一坐标(x1,y1)、第一曲率k1和第一方向角a1,所述终点参数包括终点的第二坐标(x2,y2)、第二曲率k2和第二方向角a2。
99.步骤s106c:将起点的第一坐标(x1,y1)、第一曲率k1、第一方向角a1和第二坐标(x2,y2)、第二曲率k2、第二方向角a2作为输入参数,输入至连接线生成算法。
100.步骤s106d:通过连接线生成算法生成连接车道中心线,并得到对应连接车道中心线的曲线模型和曲线参数。
101.比如,曲线模型是2段spiral组合曲线,那么参数有(x1,y1)、(x2,y2)、k1、k2、a1、a2、k3、s1、s2,其中(x1,y1)、k1、a1是开始点坐标、曲率和方向角,(x2,y2)、k2、a2是终点坐标、曲率和方向角,k3是中间曲率,s1是第一段spiral曲线的长度,即从开始点到中间曲率的曲线长度,s2是第二段spiral曲线的长度,即从中间曲率到终点曲率的长度。保存了曲线模型类型和参数值之后,整条曲线都可以通过曲线方程计算得到,任意给定一个点间隔s,既可以按照步长为s计算得到曲线上的所有点。
102.在本实施例中,初步生成连接车道中心线后,先设定一个较大的点间隔,如0.5m,来生成实际的连接车道中心线点序列,这样比较稀疏一点的点序列便于调整和维护,待确认无误后,再设定较小的点间隔,便于无人驾驶车辆使用。
103.步骤s107:根据所述连接车道中心线生成所有所述连接车道缺少的边线。
104.具体的,由于某些路口、分道、合流等位置的连接车道,其连接车道中心线已经完成,但是存在一些连接车道缺少左右边线,参见图11,因此需要添加虚拟的边线。生成虚拟边线的方法是根据连接车道中心线,使用边线生成算法自动生成车道的左边线或右边线。。
105.需要说明的是,边线生成算法也为现有算法,在本实施例中不再赘述。
106.步骤s108:对所有普通车道中心线中的点进行非线性插值,使普通车道中心线中的点密度达到设定值,根据连接车道中心线的曲线模型和曲线参数对对应连接车道中心线的点重新采样,使连接车道中心线中的点密度达到设定值。
107.具体的,经过步骤s107处理后,所有普通车道和连接车道的边线以及中心线均已生成,且所有中心线的点都已曲率连续,点间隔为0.5m,对于无人驾驶车辆来说,该点间隔是比较稀疏的,需要对点密度进行加密。处理方法如下:
108.步骤s108a:对普通车道中心线的点进行非线性插值,对于普通车道中心线的每个点,可获取与其相邻的前后几个点的坐标,根据洛必达法则,可以比较准确地计算得到每个点的曲率k、曲率导数dk、方向角a,之后对于相邻两个点,根据点的坐标和曲率k、曲率导数dk、方向角a,使用样条插值等非线性插值算法,对两个点之间进行点间隔0.05m~0.20m的插值,这样得到的点序列仍保持非常高的曲率连续性。在本实施例中,非线性插值的目标间隔为0.10m。
109.步骤s108b:对连接车道中心线,使用步骤s106中得到的曲线模型和曲线参数,对
连接车道中心线上的点进行简单的重新采样即可,使连接车道中心线的点密度加密至0.10m。
110.经过步骤s108处理后的最终车道示意图参见图12。
111.由此,上述方法基于地图整体进行分析,将车道划分为普通车道和连接车道,分别进行处理,并对于普通车道发生拓扑分叉的位置,如分道、合流等情况,将拓扑分叉处的普通车道划分为连接车道,对环岛等普通车道形成环形拓扑的情况,将环形车道中任意一段普通车道分离出来并划分为连接车道,有效解决了拓扑分叉点以及环形中心线难以平滑的问题。
112.本实施例还提供了一种地图车道数据生成装置,参见图13,为该装置的结构示意图,该地图车道数据生成装置包括:
113.第一采集模块,用于采集车道布局信息,并基于车道布局信息将车道划分为普通车道和连接车道。在本实施例中,第一采集模块包括地图采集车以及设置在地图采集车上的采集传感器。采集传感器包括但不限于定位设备、摄像头、激光雷达。
114.第一生成模块,用于生成所有普通车道的边线,并基于普通车道的边线生成普通车道中心线。
115.第一处理模块,用于对普通车道中心线进行点均匀化处理并进行平滑处理。
116.第一判断模块,用于判断普通车道中心线是否存在拓扑分叉点,并在存在时将拓扑分叉处的车道设置为连接车道。
117.第二判断模块,用于判断普通车道中心线是否存在环形拓扑,并在存在时在形成环形拓扑的普通车道中截取一段弧形车道作为连接车道。在本实施例中,截取的弧形车道的中心线弧长大于等于1m。
118.第二生成模块,用于连接线生成算法生成所有连接车道中心线。
119.第三生成模块,用于根据连接车道中心线生成所有连接车道缺少的边线。
120.第二处理模块,用于对所有所述普通车道中心线中的点进行非线性插值,使普通车道中心线中的点密度达到设定值,并所述连接车道中心线的曲线模型和曲线参数对对应连接车道中心线的点重新采样,使连接车道中心线中的点密度达到设定值。在本实施例中,车道中心线中的点密度的设定值为0.10m。
121.除上述实施例外,本发明还可以有其他实施方式;凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献