发明内容
本发明实施例提供一种无人车的变道方法、装置及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种无人车的变道方法,包括:
基于主车的行驶意图确定要执行变道的候选车道;
基于各个所述候选车道的变道条件,对所述候选车道进行筛选;
从筛选后的所述候选车道中选择主车执行变道的目标车道;
判断主车从当前车道变道到所述目标车道是否安全;
在所述判断的结果为安全的情况下,执行变道。
在一种实施方式中,基于各个所述候选车道的变道条件,对所述候选车道进行筛选,包括:
利用机器学习模型对所述候选车道进行排序,将安全风险大和/或通行性差的所述候选车道排序在后;
将所述排序在后的至少一个候选车道筛选掉。
在一种实施方式中,所述机器学习模型的特征包括:障碍物和主车的运动学参数、障碍物与主车的距离、障碍物的状态中的至少一项;
其中,所述运动学参数包括速度和位置中的至少一项,所述障碍物的状态包括障碍物的尺寸、障碍物的朝向和障碍物的类别中的至少一项,所述障碍物的类别包括长期静止类别和短期静止类别。
在一种实施方式中,从筛选后的所述候选车道中选择主车执行变道的目标车道,包括:
针对筛选后的所述候选车道中的每个车道分别计算变道代价值;
分别将每个车道的各个所述变道代价值加权求和;
根据所述加权求和的值选择主车执行变道的目标车道。
在一种实施方式中,所述变道代价值包括阻塞代价值、参考线代价值和保持车道代价值中的至少二种。
在一种实施方式中,针对筛选后的所述候选车道中的每个车道分别计算变道代价值,包括:
根据障碍物和主车的运动学参数、障碍物与主车的距离、障碍物的状态中的至少一项确定所述阻塞代价值;
其中,所述运动学参数包括速度和位置中的至少一项,所述障碍物的状态包括障碍物的尺寸、障碍物的朝向和障碍物的类别中的至少一项,所述障碍物的类别包括长期静止类别和短期静止类别。
在一种实施方式中,针对筛选后的所述候选车道中的每个车道分别计算变道代价值,包括:
根据主车当前位置对应的变道区间的长度确定所述参考线代价值。
在一种实施方式中,针对筛选后的所述候选车道中的每个车道分别计算变道代价值,包括:
根据从当前车道到所述候选车道的变道次数和/或主车的行驶意图确定所述保持车道代价值。
在一种实施方式中,分别将每个车道的所述变道代价值加权求和,包括:
对每个所述变道代价值对应的权值进行调试;
根据所述调试的结果设置每个所述变道代价值对应的权值;
根据设置的权值将所述变道代价值加权求和。
在一种实施方式中,判断主车从当前车道变道到所述目标车道是否安全,包括:
根据采集到的单帧数据进行单帧轨迹判别,所述单帧轨迹判别包括:判断要执行变道的目标车道上的每个障碍物相对于主车的距离是否大于安全距离;
根据采集到的多帧数据进行多帧趋势判别,所述多帧趋势判别包括:判断所述目标车道上的每个障碍物相对于主车的距离是否没有减小;
若所述单帧轨迹判别和所述多帧趋势判别的判别条件成立,则判定主车从当前车道变道到所述目标车道是安全的。
在一种实施方式中,判断所述目标车道上的每个障碍物相对于主车的距离是否没有减小,包括:
利用采集到的连续多帧数据中的每一帧数据,分别计算所述目标车道上的每个障碍物相对于主车的距离,所述距离包括横向距离和纵向距离;
判断所述距离是否没有减小。
在一种实施方式中,判断要执行变道的目标车道上的每个障碍物相对于主车的距离是否大于安全距离,包括:
计算所述目标车道上的每个障碍物相对于主车的安全距离,所述安全距离包括横向安全距离和纵向安全距离;
在主车与障碍物的横向距离大于所述横向安全距离,并且主车与障碍物的纵向距离大于所述纵向安全距离的情况下,判定障碍物相对于主车的距离大于安全距离。
在一种实施方式中,所述方法还包括:
若判定主车在当前时刻变道不安全,则在获取到下一帧数据后,再次判断主车从当前车道变道到所述目标车道是否安全。
在一种实施方式中,在所述判断的结果为安全的情况下,执行变道之前,还包括:
在所述判断的结果为安全的情况下,调整主车的车速,以使所述主车的车速与所述目标车道上的障碍车的车速相适应。
第二方面,本发明实施例提供了一种无人车的变道装置,包括:
候选车道确定单元,用于基于主车的行驶意图确定要执行变道的候选车道;
筛选单元,用于基于各个所述候选车道的变道条件,对所述候选车道进行筛选;
车道选择单元,用于从筛选后的所述候选车道中选择主车执行变道的目标车道;
安全判断单元,用于判断主车从当前车道变道到所述目标车道是否安全;
变道执行单元,用于在所述判断的结果为安全的情况下,执行变道。
在一种实施方式中,所述筛选单元还用于:
利用机器学习模型对所述候选车道进行排序,将安全风险大和/或通行性差的所述候选车道排序在后;
将所述排序在后的至少一个候选车道筛选掉。
在一种实施方式中,所述机器学习模型的特征包括:障碍物和主车的运动学参数、障碍物与主车的距离、障碍物的状态中的至少一项;
其中,所述运动学参数包括速度和位置中的至少一项,所述障碍物的状态包括障碍物的尺寸、障碍物的朝向和障碍物的类别中的至少一项,所述障碍物的类别包括长期静止类别和短期静止类别。
在一种实施方式中,所述车道选择单元包括:
代价值计算子单元,用于针对筛选后的所述候选车道中的每个车道分别计算变道代价值;
加权求和计算子单元,用于分别将每个车道的各个所述变道代价值加权求和;
车道选择子单元,用于根据所述加权求和的值选择主车执行变道的目标车道。
在一种实施方式中,所述变道代价值包括阻塞代价值、参考线代价值和保持车道代价值中的至少二种。
在一种实施方式中,所述代价值计算子单元还用于:
根据障碍物和主车的运动学参数、障碍物与主车的距离、障碍物的状态中的至少一项确定所述阻塞代价值;
其中,所述运动学参数包括速度和位置中的至少一项,所述障碍物的状态包括障碍物的尺寸、障碍物的朝向和障碍物的类别中的至少一项,所述障碍物的类别包括长期静止类别和短期静止类别。
在一种实施方式中,所述代价值计算子单元还用于:
根据主车当前位置对应的变道区间的长度确定所述参考线代价值。
在一种实施方式中,所述代价值计算子单元还用于:
根据从当前车道到所述候选车道的变道次数和/或主车的行驶意图确定所述保持车道代价值。
在一种实施方式中,所述加权求和计算子单元还用于:
对每个所述变道代价值对应的权值进行调试;
根据所述调试的结果设置每个所述变道代价值对应的权值;
根据设置的权值将所述变道代价值加权求和。
在一种实施方式中,所述安全判断单元包括:
单帧判别子单元,用于根据采集到的单帧数据进行单帧轨迹判别,所述单帧轨迹判别包括:判断要执行变道的目标车道上的每个障碍物相对于主车的距离是否大于安全距离;
多帧判别子单元,用于根据采集到的多帧数据进行多帧趋势判别,所述多帧趋势判别包括:判断所述目标车道上的每个障碍物相对于主车的距离是否没有减小;
判定子单元,用于若所述单帧轨迹判别和所述多帧趋势判别的判别条件成立,则判定主车从当前车道变道到所述目标车道是安全的。
在一种实施方式中,所述多帧判别子单元还用于:
利用采集到的连续多帧数据中的每一帧数据,分别计算所述目标车道上的每个障碍物相对于主车的距离,所述距离包括横向距离和纵向距离;
判断所述距离是否没有减小。
在一种实施方式中,所述单帧判别子单元还用于:
计算所述目标车道上的每个障碍物相对于主车的安全距离,所述安全距离包括横向安全距离和纵向安全距离;
在主车与障碍物的横向距离大于所述横向安全距离,并且主车与障碍物的纵向距离大于所述纵向安全距离的情况下,判定障碍物相对于主车的距离大于安全距离。
在一种实施方式中,所述安全判断单元还用于:
若判定主车在当前时刻变道不安全,则在获取到下一帧数据后,再次判断主车从当前车道变道到所述目标车道是否安全。
在一种实施方式中,所述装置还包括变道准备单元,用于:
在所述判断的结果为安全的情况下,调整主车的车速,以使所述主车的车速与所述目标车道上的障碍车的车速相适应。
第三方面,本发明实施例提供了一种无人车的变道装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述装置的结构中包括处理器和存储器,所述存储器用于存储支持所述装置执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述装置还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的方法。
上述技术方案具有如下优点或有益效果:根据变道条件等信息进行综合判断给出安全合理的变道决策,可以选择最适合行驶的车道,并且选择在安全的时刻执行变道,大大减少了故障发生的概率,保障无人车安全顺畅地执行变道。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1为本发明实施例提供的无人车的变道方法的流程图。如图1所示,本发明实施例的无人车的变道方法包括:
步骤S11,基于主车的行驶意图确定要执行变道的候选车道;
步骤S12,基于各个所述候选车道的变道条件,对所述候选车道进行筛选;
步骤S13,从筛选后的所述候选车道中选择主车执行变道的目标车道;
步骤S14,判断主车从当前车道变道到所述目标车道是否安全;
步骤S16,在所述判断的结果为安全的情况下,执行变道。
通常情况下,无人车行驶的过程中根据路线规划在当前车道的某个位置执行变道。但仅依据路线规划可能无法应对实际路况场景中的各种复杂情况,例如无人车遇到车道阻塞等状况时可能无法应对。因此,无人车行驶过程中可以根据具体情况实时进行综合判断给出安全合理的变道决策。
具体地,在步骤S11中,首先根据主车的行驶意图确定在当前时刻哪些车道是可以执行变道的候选车道。例如在双向八车道的路段中,根据主车的行驶意图,可能在主车行驶方向上的四个车道都是可以执行变道的车道。则在这种情况下,主车行驶方向上的四个车道都可以确定为候选车道。在步骤S12中,根据各个所述候选车道的变道条件的情况,对所述候选车道进行初步筛选,将条件差的车道筛选掉。例如将安全风险大的、通行性差的车道筛选掉。在步骤S13中,从筛选后的所述候选车道中选择一个最适合行驶的车道,作为主车执行变道的目标车道。在步骤S14中,判断步骤S13中选择的目标车道是否安全。在步骤S16中,如果步骤S13中选择的目标车道是安全的,则控制无人车向目标车道执行变道。
在步骤S11中,可根据局部导航策略来确定候选车道,以及确定变道区间的长度。具体地,局部导航策略可以是在road(道路)级别的。利用局部导航策略,可确定从起点到终点需要通过哪些道路,确定在哪个路口右转或左转。比如,先走中关村东路,再走北四环路。行驶到中关村东路有个右转的交叉口,在中关村东路要右转。在以上示例中,局部导航策略确定在交叉口是直行还是转向行驶,确定在road内哪个是目标车道。在另一个示例中,在无人车通过路口的时候,局部导航策略可以包括:是否要在路口右转,有几条右转的车道;是否要直行,有几条直行的车道;同样,还包括左转的情形,是否要走左转专用道等。
图2为本发明实施例提供的无人车的变道方法的无人车变道场景示意图。在又一个示例中,如图2所示,车道2和车道3都可以直行,在标号d1和标号d2的两条虚线之间是画实线的道路区域,但在这个区域的前面还有画虚线的道路区域。在道路上画虚线的区域是可以执行变道的,但在道路上画实线的区域是不可以执行变道的。无人车如果直行,则行驶到标号d2所示的虚线之上的位置也是可以执行变道的。也就是说如果无人车直行,在两个画虚线的区域都可以执行变道。对于主车而言,由于在前面还有机会变道,则当前时刻可以继续直行,没有必要急于变道。但是如果此时主车的行驶意图是要右转,则需要尽快变道。局部导航策略可基于主车的行驶意图确定在当前时刻哪些车道是可以执行变道的候选车道。
在一种实施方式中,基于各个所述候选车道的变道条件,对所述候选车道进行筛选,包括:
利用机器学习模型对所述候选车道进行排序,将安全风险大和/或通行性差的所述候选车道排序在后;
将所述排序在后的至少一个候选车道筛选掉。
在根据局部导航策略确定候选车道之后,对所述候选车道进行变道预剪枝,也就是进行初步筛选。变道预剪枝包括从候选车道中将不可能执行变道的车道剪掉。比如根据局部导航策略确定了三条候选车道,先根据车道的变道条件将三条候选车道预排序,把条件最差的车道剪掉。条件差的车道可包括安全风险大和/或通行性差的车道。在一种实施方式中,变道预剪枝可以只剪掉一个车道。在另一种实施方式中,变道预剪枝可以将明显的有安全风险的车道剪掉。明显的安全风险的一个示例包括:在主车想要变道时,目标车道上在主车的后面距离主车当前位置10米内有一个比主车快的障碍车,在这种情况下不能变道。根据车间距、车流等信息可以判断出来,这种情况主车是无法执行变道的。通常在障碍车太多或者障碍车太快的情况下是无法执行变道的。变道预剪枝这一步骤可以粗略地先筛选一下,根据要变道的目标车道上障碍车的多少、障碍车的车速的快慢、将安全风险大的分枝先剪掉,也就是将无法执行变道的车道预先从候选车道中筛选掉。
可利用机器学习模型将导航策略确定的车道进行排序和变道预剪枝。经过变道预剪枝之后,后续的两个步骤(步骤S13和步骤S14)的效果会更好。由于通过变道预剪枝把条件差的车道先剪掉了,后续处理的数据量减少了,从而使后续处理的准确性更高了。
在一种实施方式中,所述机器学习模型的特征包括:障碍物和主车的运动学参数、障碍物与主车的距离、障碍物的状态中的至少一项;
其中,所述运动学参数包括速度和位置中的至少一项。所述障碍物的状态包括障碍物的尺寸、障碍物的朝向和障碍物的类别中的至少一项。障碍物的尺寸可包括障碍物的长宽高、大小、形状。障碍物的尺寸可表示障碍物对车道的侵入程度,包括障碍物占据了车道的空间的多少。所述障碍物的类别包括长期静止类别和短期静止类别。障碍物的类别可以体现出障碍物是否是死车,它是一个长期静止的障碍物还是短期静止的障碍物。如果是长期静止的障碍物,则其对于车道的阻塞程度会更严重。其中,障碍物不一定是障碍车,也可能是路障等其他障碍物。
图3为本发明实施例提供的无人车的变道方法的车道选择的流程图。如图3所示,图1中的步骤S13,从筛选后的所述候选车道中选择主车执行变道的目标车道,包括:
步骤S110,针对筛选后的所述候选车道中的每个车道分别计算变道代价值;
步骤S120,分别将每个车道的各个所述变道代价值加权求和;
步骤S130,根据所述加权求和的值选择主车执行变道的目标车道。
无人车的变道涉及到以下因素:(一)安全因素;(二)主车是否想要变道的意图。比如无人车在路口想要右转,则无人车一定要变道到右转车道上才能右转,但这时变道到右转车道并不一定是安全的。向右变道是无人车的行驶意图,变道不仅要考虑行驶意图,还要考虑安全因素。本发明实施例可帮助无人车做出决策,选择适合行驶的车道,例如选择哪个车道比较畅通且能到达目的地。
具体地,可预先设置至少二种变道代价值。某个车道的变道代价值可用于表示变道到该车道所需要耗费的代价的多少,例如,变道到该车道的难易程度或者该车道通行、阻塞的程度等因素,都会影响到变道到该车道所需要耗费的代价。每一种变道代价值可表示其中一种因素对变道代价的影响。可针对筛选后的所述候选车道中的每个车道分别计算至少二种变道代价值,然后分别将每个车道的所有的变道代价值加权求和。某个车道的加权求和的值表示在各种因素综合考虑的情况下变道到该车道所需要耗费的代价。
在一种实施方式中,所述变道代价值包括阻塞代价值、参考线代价值和保持车道代价值中的至少二种。可考虑到执行变道决策时需要权衡的多种因素,选择多种对应的代价值参与计算,以保证执行变道的安全性。在一个示例中,可同时使用以上三种代价值来进行变道的权衡。
具体地,以上变道代价值的表示含义和计算方法如下:
(1)阻塞代价值(block cost),表示车道的可通行性,即车道通行或阻塞的程度。阻塞代价值越大,表示车道的通行性越不好,车道阻塞越严重。
在一种实施方式中,针对筛选后的所述候选车道中的每个车道分别计算变道代价值,包括:
根据障碍物和主车的运动学参数、障碍物与主车的距离、障碍物的状态中的至少一项确定所述阻塞代价值;
其中,所述运动学参数包括速度和位置中的至少一项。所述障碍物的状态包括障碍物的尺寸、障碍物的朝向和障碍物的类别中的至少一项。障碍物的尺寸可包括障碍物的长宽高、大小、形状。障碍物的尺寸可表示障碍物对车道的侵入程度,包括障碍物占据了车道的空间的多少。所述障碍物的类别包括长期静止类别和短期静止类别。障碍物的类别可以体现出障碍物是否是死车,它是一个长期静止的障碍物还是短期静止的障碍物。如果是长期静止的障碍物,则其对于车道的阻塞程度会更严重。其中,障碍物不一定是障碍车,也可能是路障等其他障碍物。
以上这些因素会影响到车道的可通行性,可根据这些因素中的至少一项确定所述阻塞代价值。例如,在某个车道上的障碍物的速度快的情况下确定该车道的阻塞代价值相应大。又如,在某个车道上的障碍物的体积大的情况下确定该车道的阻塞代价值相应大。再如,在某个车道上的障碍物属于长期静止类别的情况下确定该车道的阻塞代价值相应大。
(2)参考线代价值(reference line cost),该值大小表示变道的难易程度。该值越大,表示变道越难。
在一种实施方式中,针对筛选后的所述候选车道中的每个车道分别计算变道代价值,包括:
根据主车当前位置对应的变道区间的长度确定所述参考线代价值。
图4和图5为本发明实施例提供的无人车的变道方法的无人车变道场景示意图。其中,图4所示的场景中有两个车道,分别是直行车道和右转车道。图5所示的场景中有三个车道,分别是直行车道、左转车道和右转车道。图4和图5中的标号1表示变道区间,标号2所示的虚线表示参考线,标号3所示的虚线表示变道区间的终点,标号4表示不可变道区间。其中,在标号2所示的虚线部分(参考线)对应的车道区间内是可以执行变道的。也就是说,执行变道时主车所在的位置必须在标号3所示的虚线(变道区间的终点)之前,满足这个条件才能实施变道。因此,从主车当前位置到标号3所示的虚线之间的区域是可以执行变道的,这个区域就是变道区间1。在标号3所示的虚线之上,标号2所示的虚线向上延伸变成了实线,则该实线对应的车道区间内是不可以执行变道的,这个区域就是不可变道区间4。
参见图4,在一个示例中,主车想要右转时,此时主车所在的位置是虚线区,也就是标号2所示的参考线所对应的变道区间1。主车的位置距离不可变道区间4还有500米,也就是主车当前位置到变道区间的终点3的距离是500米。这种情况下,在500米的长度上都是可以进行变道的。对于执行变道这个动作而言,500米的距离是足够长的,变道是比较容易的。因此这种情况下要执行变道的目标车道的参考线代价值相对而言是比较小的。但是在另外一种情况下,如果主车当前位置到变道区间的终点3的距离只有50米,执行变道就不容易了,这种情况下要执行变道的目标车道的参考线代价值相对而言是比较大的。在这个示例中,参考线代价值可根据主车当前位置对应的变道区间的长度而确定。
图4和图5中的实线和虚线都是在地图上有标记的,和实际公路中划的道线对应。公路中划的道线有实线与断续的虚线之分。按规定,一般在不影响其他车辆正常行驶情况下可以在虚线位置变换车道,但实线处是不能变换车道的。实线可以看作是交通行驶中一道看不见的栅栏,在行车过程中是不应该越过的。
(3)保持车道代价值(keep lane cost),表示可达性。
在一种实施方式中,针对筛选后的所述候选车道中的每个车道分别计算变道代价值,包括:
根据从当前车道到所述候选车道的变道次数和/或主车的行驶意图确定所述保持车道代价值。
参见图5,在一个示例中,无人车在路口想要右转的场景中,此时的目标车道是右转车道(图5中的车道3)。从车道2变道到车道3,与从车道1变道到车道3相比较,这两种变道过程执行的难易程度是不一样的。从车道2变道到车道3只需执行一次变道,从车道1变道到车道3要执行两次变道。当前车道与目标车道之间的距离越远,执行变道越困难,目标车道的可达性越差。保持车道代价值是权衡当前车道与目标车道之间的距离的一个代价值。因此,某个车道的保持车道代价值可表示变道到该车道的难易程度。某个车道的保持车道代价值越大,表示向该车道执行变道越困难。
参见图5,在另一个示例中,位于车道2上的主车想要右转。如果车道1和车道3上都没有障碍物,车道2上有障碍物,则在车道1和车道3之间进行选择,应倾向于选择变道到车道3,因为此时主车的意图是想要右转。也就是说,符合主车行驶意图的车道相对来说具有较好的可达性。因此,对于符合主车行驶意图的车道,该车道的保持车道代价值可确定为相对较小的数值。
无人车执行变道的场景包括转弯的时候需要变道,也包括在直行的时候有时也需要变道。参见图5,在又一个示例中,主车当前车道是直行车道(车道2),两边分别是左转专用道(车道1)和右转专用道(车道3)。此时在车道2上主车的前方的位置有损坏的肇事车阻塞了直行车道,车道2的通行性不好,阻塞代价值较大,不是最适合行驶的车道。主车可以选择向右变道。变道到右转专用道之后,如果已经绕过了车道2上的肇事车,还要变回直行车道上来。因为主车绕过了肇事车之后,车道2的通行性变好了,而且车道2又是符合主车行驶意图的车道,而车道3不符合主车行驶意图,因此相比之下,此时车道2是最适合行驶的车道,主车还要变道回车道2。
图6为本发明实施例提供的无人车的变道方法的变道代价值加权求和的流程图。如图6所示,在一种实施方式中,图3中的步骤S120,分别将每个车道的所述变道代价值加权求和,包括:
步骤S210,对每个所述变道代价值对应的权值进行调试;
步骤S220,根据所述调试的结果设置每个所述变道代价值对应的权值;
步骤S230,根据设置的权值将所述变道代价值加权求和。
在一个示例中,对于每个车道都分别计算以上三个变道代价值。然后将三个变道代价值加权求和,根据加权求和的值去判断当前时刻哪个车道是最适合行驶的车道,加权求和的值可看作是该车道总的变道代价。其中,加权的权值设置是根据调试结果确定的。最后选择三个代价值加权求和的值最小的车道,也就是变道代价最小的车道。如果当前车道不是最适合行驶的车道,则可选择变道到最适合行驶的车道上去。
上述示例中,将某个车道的所述变道代价值加权求和,具体可利用以下公式计算:
s=w1*COST1+w2*COST2+w3*COST3
其中,s表示某个车道的所述变道代价值加权求和的值;COST1表示阻塞代价值;w1表示阻塞代价值对应的权值;COST2表示参考线代价值;w2表示参考线代价值对应的权值;COST3表示保持车道代价值;w3表示保持车道代价值对应的权值。
参见图5,在一个示例中,目前主车的位置在车道1,当前时刻车道2上有个静止的障碍物。则车道2上的阻塞代价值可能较大,即通行性不好。由于车道2上的阻塞代价值较大而导致各个变道代价值加权求和的值也较大,也就是变道到车道2的代价较大。如果车道1上也有一个阻塞的障碍物,则只能选择走车道3。因为车道1和车道2的通行性都不好,变道到车道2和车道3的代价都较大。如果车道3没有障碍物,则相比之下车道3的各个变道代价值加权求和的值是最小的,变道到车道3的代价是最小的,车道3是最适合行驶的车道,则选择变道到车道3。
再如前述示例,主车位于车道2,当前车道有阻塞,通行性不好,车道2上的阻塞代价值较大而导致各个变道代价值加权求和的值也较大。由于当前车道已不是最适合行驶的车道,因此可选择由车道2变道到车道3。变道到车道3已经躲避了阻塞之后,仍使用本发明实施例的方法再次进行变道。此时车道2和车道3都没有阻塞,这二个车道的阻塞代价值都较小。车道2是符合主车行驶意图的车道,而车道3不符合主车行驶意图,因此车道2的保持车道代价值相比之下是较小的。综合考虑各种因素,分别计算车道2和车道3的各个变道代价值的加权求和的值,相比之下车道2的各个变道代价值加权求和的值是最小的,再一次选择的结果是变回车道2上来。因为主车的意图是要直行,车道2是最适合行驶的车道。
由此,使用本本发明实施例的变道方法,可以保证在任何时刻都能够实时选择最适合行驶的车道,避免发生冲突的现象。无人车在行驶到任何位置都实时地判断一下,是不是要变道,变到哪条车道上比较适合。某个车道的各个变道代价值加权求和的值表示变道到该车道的所需要耗费的代价的多少。如果当前车道的各个变道代价值加权求和的值不是最小的,另一个车道的各个变道代价值加权求和的值是最小的,则可选择变道到需要耗费的代价最小的车道上。
上述技术方案具有如下优点或有益效果:根据变道代价值加权求和的值选择最适合行驶的车道,根据实时路况和无人车的行驶意图帮助无人车做出决策,使无人驾驶更加安全畅通。
图7为本发明实施例提供的无人车的变道方法的安全判断的流程图。如图7所示,图1中的步骤S14,判断主车从当前车道变道到所述目标车道是否安全,包括:
步骤S101,根据采集到的单帧数据进行单帧轨迹判别,所述单帧轨迹判别包括:判断要执行变道的目标车道上的每个障碍物相对于主车的距离是否大于安全距离;
步骤S102,根据采集到的多帧数据进行多帧趋势判别,所述多帧趋势判别包括:判断所述目标车道上的每个障碍物相对于主车的距离是否没有减小;
步骤S103,若所述单帧轨迹判别和所述多帧趋势判别的判别条件成立,则判定主车从当前车道变道到所述目标车道是安全的。
无人车系统的相机、雷达和传感器等数据采集装置通常以特定的数据采集频率采集数据。在一个示例中,无人车系统设计的相机采集频率是30赫兹,则表示每秒钟采集到30帧数据。上述“单帧轨迹判别”包括使用采集到的单帧数据进行轨迹判别。“多帧趋势判别”包括使用采集到的连续多帧数据判断障碍物与主车的距离的变化趋势。具体地,利用连续多帧的采集数据中的每一帧数据分别判断每个障碍物相对于主车的最小距离,再分析连续多帧的采集数据所对应的最小距离的变化趋势,判断最小距离是否在减小。如果减小,则变道是不安全的。
在一种实施方式中,只使用“单帧轨迹判别”的判别条件,即比较每个障碍物相对于主车的距离是否大于安全距离。在一个示例中,可比较每个障碍物相对于主车的横向距离是否大于横向安全距离,纵向距离是否大于纵向安全距离。如果上述比较的结果是两个都是大于,则判定此时变道是安全的。
在另一种实施方式中,可同时使用“单帧轨迹判别”和“多帧趋势判别”的判别条件。即满足每个障碍物相对于主车的距离大于安全距离,又满足最小距离的变化趋势不减小的条件,也就是在以上两个条件同时满足的情况下,才判定此时变道是安全的。
图8为本发明实施例提供的无人车的变道方法的单帧轨迹判别的流程图。如图8所示,在一种实施方式中,图7中的步骤S101,判断要执行变道的目标车道上的每个障碍物相对于主车的距离是否大于安全距离,包括:
步骤S201,计算所述目标车道上的每个障碍物相对于主车的安全距离,所述安全距离包括横向安全距离和纵向安全距离;
步骤S202,在主车与障碍物的横向距离大于所述横向安全距离,并且主车与障碍物的纵向距离大于所述纵向安全距离的情况下,判定障碍物相对于主车的距离大于安全距离。
“单帧轨迹判别”需要获取的数据包括:主车的位置、速度、主车车头的角度;障碍物的位置、速度、加速度、障碍车车头的角度;地图信息、车道信息等。例如,车道信息可包括主车在哪个车道上,障碍物在哪个车道上。地图信息可包括车道关系,根据车道关系可规划行车路线。在一个示例中,某个障碍车虽然在主车后方,但其位置在对向车道上,由于对向车道不可能是执行变道的目标车道,因此这种情况下根据该障碍车的位置,在执行无人车变道安全判别方法时可以不必考虑该障碍车。
图9为本发明实施例提供的无人车的变道方法的安全距离示意图。图9中的标号H2表示主车和障碍车之间的横向距离。图9中的标号H1表示主车和障碍车之间的纵向距离。
安全距离包括横向安全距离和纵向安全距离,横向安全距离是两车之间的距离在垂直于车道的方向的分量,纵向安全距离是两车之间的距离在平行于车道的方向的分量。横向安全距离就是指汽车在并排行驶过程中,或者超车时并排行驶时,能保证两车安全,不发生事故的最小距离。纵向安全距离是指后车跟随前车行驶时,必须保持当前车突然紧急制动的时候,后车随之制动不至撞及前车的距离,这个距离就是前后车的安全距离。
在这种实施方式中,根据主车规划的结果和障碍物的预测轨迹,计算安全距离。再根据安全距离判定主车是否安全。主车与障碍物当前时刻的距离不能小于安全距离,在主车与障碍物当前时刻的距离小于安全距离的情况下,可以判定为不安全。如果主车与障碍物当前时刻的横向距离大于横向安全距离且纵向距离大于纵向安全距离,则判定当前时刻执行变道是相对安全的。在此基础上可再使用“多帧趋势判别”的判别条件来判别,以进一步确认当前时刻执行变道的安全性。
在一个示例中,主车规划出设定时间内的行车轨迹,例如主车规划出未来8秒的行车轨迹,障碍车预测出未来8秒的行车轨迹。根据“单帧轨迹判别”的判别条件,从当前时刻t0开始,推算出8秒内的两车之间的距离是否大于安全距离。
图10为本发明实施例提供的无人车的变道方法的多帧趋势判别的流程图。如图10所示,在一种实施方式中,图7中的步骤S102中的“多帧趋势判别”,判断所述目标车道上的每个障碍物相对于主车的距离是否没有减小,包括:
步骤S310,利用采集到的连续多帧数据中的每一帧数据,分别计算所述目标车道上的每个障碍物相对于主车的距离,所述距离包括横向距离和纵向距离;
步骤S320,判断所述距离是否没有减小。
在这种实施方式中,根据每一帧数据都可以计算出目标车道上的每个障碍物相对于主车的距离。根据连续多帧的数据可分析每个障碍物相对于主车的距离的变化趋势。如果判断主车后方的某个障碍物连续多帧的数据所对应的两车间的距离在变小,则判定变道是不安全的。在障碍物相对于主车的距离增大或者不变的情况下,执行变道可能是安全的。
例如,当前时刻主车想要变道,此时主车后面有辆障碍车处于加速行驶的状态,障碍车加速表示该障碍车没有避让的意向。在后车加速的情况下,前后车之间的距离会变小,前后车之间需要保持的安全距离会增大。这种情况下使用“多帧趋势判别”的判别条件,可判断出该障碍车相对于主车的距离在变小,因此当前时刻主车执行变道是不安全的。
在一个示例中,主车规划出设定时间内的行车轨迹,例如主车规划出未来8秒的行车轨迹,障碍车预测出未来8秒的行车轨迹。根据“多帧趋势判别”的判别条件,在获取第一帧数据后,根据第一帧数据从当前时刻t1开始,推算出8秒内的两车之间的第一最小距离;在获取第二帧数据后,根据第二帧数据从当前时刻t2开始,推算出8秒内的两车之间的第二最小距离;然后判断最小距离的变化趋势。在这个示例中,以连续获取的两帧数据为依据可判断出最小距离的变化趋势。在另一个示例中,判断变化趋势可以根据连续获取的多帧数据为依据,例如以连续获取的三帧以上的数据为依据来判断最小距离的变化趋势。
在一种实施方式中,所述方法还包括:
若判定主车在当前时刻变道不安全,则在获取到下一帧数据后,再次判断主车从当前车道变道到所述目标车道是否安全。
在判定主车在当前时刻变道不安全的情况下,主车不能执行变道。等到获取到下一帧数据后,再根据新获取的数据重新判断主车从当前车道变道到所述目标车道是否安全,。在每一帧数据获取后,都利用最新获取的数据重新实时判断执行变道是否安全,以便寻找一个安全的时机执行变道。
上述技术方案中具有如下优点或有益效果:通过判别连续多帧数据对应的障碍物与主车的距离的变化趋势,使无人车变道安全判别更加准确,减少了事故发生概率,提高了无人车驾驶的安全性。
图11为本发明实施例提供的无人车的变道方法的流程图。如图11所示,在一种实施方式中,步骤S16,在所述判断的结果为安全的情况下,执行变道之前,还包括:
步骤S15,在所述判断的结果为安全的情况下,调整主车的车速,以使所述主车的车速与所述目标车道上的障碍车的车速相适应。
图12为本发明实施例提供的无人车的变道方法的无人车变道过程的状态转换示意图。如图12所示,变道过程中的状态可包括直行状态、变道状态和准备变道状态。主车通常情况下是处于直行状态,从直行状态可以直接切换到变道状态,从变道状态还可以切换回直行状态。在另一种情况下,在直行状态和变道状态之间还可以有一个准备变道状态,主车可以先从直行状态切换到准备变道状态,然后再从准备变道状态切换到变道状态,最后再从变道状态切换回直行状态。
例如,准备变道状态可包括:主车所在的当前位置的变道区间剩余的长度已经很小的情况,比如小于200米或小于100米。可在变道区间剩余的长度小于预定距离阈值时,触发主动调整车速来找机会变道。这种找机会变道的情况不同于在这之前的等机会变道的情况。准备变道可包括调整车速,以与目标车道的速度相适应。根据目标车道上的车流、速度去调整主车的速度,一边调整主车的速度,一边等适合的变道机会,然后在时机合适的情况下执行变道。
如前述,从直行状态到变道状态中间可能会有一个准备变道的状态,但准备变道的状态不是一定会有。比如在变道区间剩余的长度没有达到预定距离阈值时,即不触发主动调整主车车速的情况下,可能有机会执行变道。这种情况下可直接从直行状态切换到变道状态,如果在有机会的时候已经完成了变道,就不需要进入到准备变道的状态了。但是如果主车行驶到变道区间剩余的长度小于预定距离阈值的位置,就必须触发主动调整车速以找机会执行变道,这种情况下就需要进入到准备变道的状态。在一个示例中,当前路段上的障碍车很少,则在变道区间剩余的长度没有达到预定距离阈值时可能有很多机会执行变道,可能不需要进入到准备变道的状态。在另一个示例中,如果目标车道上的障碍车很多,则通常需要进入到准备变道状态。进入到准备变道状态后,判断障碍车的车速,调整主车车速,以寻找变道的机会。
上述技术方案具有如下优点或有益效果:根据变道条件等信息进行综合判断给出安全合理的变道决策,可以选择最适合行驶的车道,并且选择在安全的时刻执行变道,大大减少了故障发生的概率,保障无人车安全顺畅地执行变道。
图13为本发明实施例提供的无人车的变道装置的结构框图。如图13所示,本发明实施例的无人车的变道装置包括:
候选车道确定单元100,用于基于主车的行驶意图确定要执行变道的候选车道;
筛选单元200,用于基于各个所述候选车道的变道条件,对所述候选车道进行筛选;
车道选择单元300,用于从筛选后的所述候选车道中选择主车执行变道的目标车道;
安全判断单元400,用于判断主车从当前车道变道到所述目标车道是否安全;
变道执行单元600,用于在所述判断的结果为安全的情况下,执行变道。
在一种实施方式中,所述筛选单元200还用于:
利用机器学习模型对所述候选车道进行排序,将安全风险大和/或通行性差的所述候选车道排序在后;
将所述排序在后的至少一个候选车道筛选掉。
在一种实施方式中,所述机器学习模型的特征包括:障碍物和主车的运动学参数、障碍物与主车的距离、障碍物的状态中的至少一项;
其中,所述运动学参数包括速度和位置中的至少一项,所述障碍物的状态包括障碍物的尺寸、障碍物的朝向和障碍物的类别中的至少一项,所述障碍物的类别包括长期静止类别和短期静止类别。
图14为本发明实施例提供的无人车的变道装置的车道选择单元的结构框图。如图14所示,在一种实施方式中,所述车道选择单元300包括:
代价值计算子单元310,用于针对筛选后的所述候选车道中的每个车道分别计算变道代价值;
加权求和计算子单元320,用于分别将每个车道的各个所述变道代价值加权求和;
车道选择子单元330,用于根据所述加权求和的值选择主车执行变道的目标车道。
在一种实施方式中,所述变道代价值包括阻塞代价值、参考线代价值和保持车道代价值中的至少二种。
在一种实施方式中,所述代价值计算子单元310还用于:
根据障碍物和主车的运动学参数、障碍物与主车的距离、障碍物的状态中的至少一项确定所述阻塞代价值;
其中,所述运动学参数包括速度和位置中的至少一项,所述障碍物的状态包括障碍物的尺寸、障碍物的朝向和障碍物的类别中的至少一项,所述障碍物的类别包括长期静止类别和短期静止类别。
在一种实施方式中,所述代价值计算子单元310还用于:
根据主车当前位置对应的变道区间的长度确定所述参考线代价值。
在一种实施方式中,所述代价值计算子单元310还用于:
根据从当前车道到所述候选车道的变道次数和/或主车的行驶意图确定所述保持车道代价值。
在一种实施方式中,所述加权求和计算子单元320还用于:
对每个所述变道代价值对应的权值进行调试;
根据所述调试的结果设置每个所述变道代价值对应的权值;
根据设置的权值将所述变道代价值加权求和。
图15为本发明实施例提供的无人车的变道装置的安全判断单元的结构框图。如图15所示,在一种实施方式中,所述安全判断单元400包括:
单帧判别子单元410,用于根据采集到的单帧数据进行单帧轨迹判别,所述单帧轨迹判别包括:判断要执行变道的目标车道上的每个障碍物相对于主车的距离是否大于安全距离;
多帧判别子单元420,用于根据采集到的多帧数据进行多帧趋势判别,所述多帧趋势判别包括:判断所述目标车道上的每个障碍物相对于主车的距离是否没有减小;
判定子单元430,用于若所述单帧轨迹判别和所述多帧趋势判别的判别条件成立,则判定主车从当前车道变道到所述目标车道是安全的。
在一种实施方式中,所述多帧判别子单元420还用于:
利用采集到的连续多帧数据中的每一帧数据,分别计算所述目标车道上的每个障碍物相对于主车的距离,所述距离包括横向距离和纵向距离;
判断所述距离是否没有减小。
在一种实施方式中,所述单帧判别子单元410还用于:
计算所述目标车道上的每个障碍物相对于主车的安全距离,所述安全距离包括横向安全距离和纵向安全距离;
在主车与障碍物的横向距离大于所述横向安全距离,并且主车与障碍物的纵向距离大于所述纵向安全距离的情况下,判定障碍物相对于主车的距离大于安全距离。
在一种实施方式中,所述安全判断单元400还用于:
若判定主车在当前时刻变道不安全,则在获取到下一帧数据后,再次判断主车从当前车道变道到所述目标车道是否安全。
图16为本发明实施例提供的无人车的变道装置的结构框图。如图16所示,在一种实施方式中,所述装置还包括变道准备单元500,用于:
在所述判断的结果为安全的情况下,调整主车的车速,以使所述主车的车速与所述目标车道上的障碍车的车速相适应。
本发明实施例的无人车的变道装置中各单元的功能可以参见上述方法的相关描述,在此不再赘述。
在一个可能的设计中,无人车的变道装置的结构中包括处理器和存储器,所述存储器用于存储支持无人车的变道装置执行上述无人车的变道方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述无人车的变道装置还可以包括通信接口,无人车的变道装置与其他设备或通信网络通信。
图17为本发明实施例提供的无人车的变道装置的结构框图。如图17所示,该装置包括:存储器101和处理器102,存储器101内存储有可在处理器102上运行的计算机程序。所述处理器102执行所述计算机程序时实现上述实施例中的无人车的变道方法。所述存储器101和处理器102的数量可以为一个或多个。
该装置还包括:
通信接口103,用于与外界设备进行通信,进行数据交互传输。
存储器101可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器101、处理器102和通信接口103独立实现,则存储器101、处理器102和通信接口103可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图17中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器101、处理器102及通信接口103集成在一块芯片上,则存储器101、处理器102及通信接口103可以通过内部接口完成相互间的通信。
又一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述无人车的变道方法中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。