自动驾驶车辆以及自动驾驶控制方法和装置与流程

文档序号:19875729发布日期:2020-02-08 06:23阅读:220来源:国知局
自动驾驶车辆以及自动驾驶控制方法和装置与流程

本公开涉及自动驾驶领域,特别涉及一种交互式的自动驾驶车辆以及自动驾驶控制方法和装置。



背景技术:

自动驾驶又称无人驾驶,是一种通过电脑系统控制车辆自动行驶的先进技术。

在一些相关技术中,自动驾驶车辆通过传感器感知场景中的障碍物,例如,路牙、车辆、行人等,按照躲避障碍物的路径规划策略规划行车路径,并按照规划的行车路径自动行驶。



技术实现要素:

相关的自动驾驶技术将周围的事物均当作需要躲避的障碍物去规划行车路径。然而,发明人发现,其中有些障碍物比较特别,其基于车辆鸣笛等操作可能做出响应,离开其当前的位置,不再是障碍物。

基于该发现,本公开通过感知场景中能够做出交互响应的障碍物,例如,行人、车辆等,向这种障碍物发送交互请求,以使得这种障碍物对交互请求做出交互响应,从而,在自动驾驶过程中,自动驾驶车辆与周围的行人和车辆等特定对象形成信息交互,实现了一种交互式的自动驾驶控制方案。

此外,基于该发现,本公开通过感知场景中能够做出交互响应的障碍物,先按照场景中没有这种障碍物的情况规划行车路径,并在自动驾驶车辆与这种障碍物相遇之前,提前发送交互请求,提示这种障碍物离开,如果检测到这种障碍物在相遇时刻之前离开当前行车路径,控制自动驾驶车辆仍然按照当前行车路径继续自动行驶,不再需要躲避该障碍物,可以避免危险系数更高的例如借道超车等驾驶操作,使自动驾驶更安全。

本公开的一些实施例提出一种自动驾驶控制方法,包括:

感知场景中能够做出交互响应的障碍物;

向所述障碍物发送交互请求,以使得所述障碍物对所述交互请求做出交互响应。

在一些实施例中,还包括:

基于所述场景,规划第一行车路径;

判断所述第一行车路径的平滑程度是否符合预设条件;

在不符合预设条件的状况由所述障碍物引起的情况下,执行所述发送交互请求的步骤。

在一些实施例中,还包括:

基于没有所述障碍物的所述场景,规划第二行车路径;

确定自动驾驶车辆在沿着所述第二行车路径行驶时与所述障碍物相遇的时刻;

在所述相遇时刻之前提前发送所述交互请求,以使得所述障碍物对所述交互请求做出交互响应并离开所述第二行车路径;

如果检测到所述障碍物在所述相遇时刻之前离开所述第二行车路径,控制自动驾驶车辆按照规划的所述第二行车路径继续自动行驶。

在一些实施例中,还包括:

确定所述障碍物的类型和/或行为模式;

按照所述障碍物的类型和/或行为模式相应的交互方式,执行所述发送交互请求的步骤。

在一些实施例中,所述交互方式包括交互类型、交互起始时间、交互终止时间、交互频率中的一项或多项。

在一些实施例中,所述交互方式的确定方法包括:

基于交互方式参数变量,构建自动驾驶的目标函数,设置在所述相遇时刻之前所述障碍物离开所述第二行车路径的约束,在满足所述约束的情况下,确定一组交互方式参数,使得所述目标函数的值最大。

在一些实施例中,所述目标函数为:

其中,cost表示所述目标函数的目标,tdanger表示所述相遇时刻,finteract表示发送交互请求与所述障碍物离开所述第二行车路径之间的时间差,tstart表示发送交互请求的开始时间,tend表示发送交互请求的结束时间,frequency表示交互请求的发送频率,penalty()表示输入与输出正相关的函数,w1和w2表示权值,w1>0,w2≥0;

所述约束包括:tdanger-finteract-tstart≥0。

在一些实施例中,finteract被设置与正相关,distance表示自动驾驶车辆与所述障碍物之间的距离,param表示所述障碍物做出交互响应的灵敏程度,根据所述障碍物的类型和/或行为模式设置。

在一些实施例中,finteract与的关系根据所述障碍物的实际响应时间进行修正。

在一些实施例中,能够做出交互响应的障碍物包括行人、骑车的行人、推车的行人、有人驾驶的车辆或无人驾驶的车辆。

在一些实施例中,所述交互类型包括灯光方式和\或鸣笛方式。

本公开的一些实施例提出一种自动驾驶控制装置,包括:

存储器;以及

耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行任一个实施例所述的自动驾驶控制方法。

本公开的一些实施例提出一种自动驾驶车辆,包括:

传感器,被配置为感知场景中能够做出交互响应的障碍物;

自动驾驶控制装置;以及

交互装置,被配置为基于所述自动驾驶控制装置的控制发出相应的交互请求。

本公开的一些实施例提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一个实施例的自动驾驶控制方法的步骤。

附图说明

下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开,

显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开自动驾驶车辆一些实施例的示意图。

图2为本公开交互式的自动驾驶控制方法一些实施例的流程示意图。

图3为本公开交互式的自动驾驶控制方法另一些实施例的流程示意图。

图4a-4b为本公开的自动驾驶场景示意图。

图5为本公开自动驾驶控制装置的一些实施例的结构示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。

图1为本公开自动驾驶车辆一些实施例的示意图。

如图1所示,该实施例的自动驾驶车辆10装配了各种传感器11、自动驾驶控制装置12、以及交互装置13。

各种传感器11能够感知行车的场景以及场景中的障碍物。其中的障碍物包括能够做出交互响应的第一障碍物和不能做出交互响应的第二障碍物。其中的“第一”和“第二”的描述用来区分不同类型的对象,并不用来表示数量、大小或时序等含义。第一障碍物例如包括各种人(包括单独的行人、骑车的行人、推车的行人)以及移动的车辆(有人驾驶的车辆或无人驾驶的车辆),以及能够对车辆的灯光提示或鸣笛提示做出响应的其他障碍物。第二障碍物例如包括路牙、护栏等固定道路设置,以及对车辆的灯光提示或鸣笛提示不能做出响应的其他障碍物。各种传感器11例如包括雷达、视觉传感器等,但不限于所举示例,相应的场景以及障碍物的感知可以参考现有技术。

自动驾驶控制装置12是基于各种传感器11的感知信息进行行车规划以及行车控制的装置。自动驾驶控制装置12基于感知信息可确定障碍物的类型、行为模式等信息。障碍物的类型包括第一障碍物和第二障碍物,第一障碍物类型可以继续细分为人或车辆,人可以继续细分为单独的行人、骑车的行人、推车的行人等,第二障碍物类型可以继续细分为路牙、护栏等。障碍物的行为模式在本公开中主要是指第一障碍物的行为模式,包括行进方向(如同向行进或相向行进)、行进速度等信息。

下面描述障碍物(特别是第一障碍物)的类型、行为模式等信息的确定方法。例如,利用雷达扫描获得场景及其中障碍物的轮廓信息,利用各种类型的障碍物的轮廓的先验知识,从扫描获得的轮廓信息中发现各种类型的障碍物。例如,利用人或车辆的轮廓的先验知识,发现人或车辆相关的障碍物;利用单独的行人、骑车的行人、推车的行人的轮廓的先验知识,发现单独的行人、骑车的行人、推车的行人;利用路牙、护栏的轮廓的先验知识,发现路牙、护栏。又例如,利用计算机视觉传感器,获得相关的图像,通过预先训练的机器学习模型,如利用卷积神经网络实现的各种类型的障碍物(如人或车辆;或者单独的行人、骑车的行人、推车的行人;或者路牙、护栏等类型)的分类模型,识别图像中的各种类型的障碍物,如人或车辆;或者单独的行人、骑车的行人、推车的行人;或者路牙、护栏等障碍物。通过跟踪第一障碍物可以确定该第一障碍物的行为模式。例如,通过多次的雷达扫描信息或多帧图像,对其中的同一障碍物进行跟踪,可以确定该障碍物的行进方向、行进速度等行为模式。

交互装置13是用来发出交互请求的装置,例如能够发出灯光提示的车灯,或能够发出鸣笛提示的喇叭等。在自动驾驶车辆中,交互装置13通常基于自动驾驶控制装置12的控制发出相应的交互请求。

图2为本公开交互式的自动驾驶控制方法一些实施例的示意图。

如图2所示,该实施例的方法包括:步骤21和23,可选的,还可以包括步骤22。

在步骤21,传感器感知场景以及其中的障碍物。其中的障碍物可能包括能够做出交互响应的第一障碍物和不能做出交互响应的第二障碍物。

在步骤22,自动驾驶控制装置基于感知的场景以及其中的障碍物,规划第一行车路径,并判断第一行车路径的平滑程度是否符合预设条件,在不符合预设条件的状况由第一障碍物引起的情况下,执行后续步骤23,如果平滑程度符合预设条件,或者,不符合预设条件的状况由第二障碍物引起的情况下,则需要进行避障操作,不执行后续步骤23。

其中,第一行车路径例如可以按照现有技术中的躲避障碍物的路径规划策略或者其他现行的自动驾驶路径规划策略来规划确定,本公开对此不作限定。

其中,平滑程度是衡量行车路径的是否舒适简单的其中一个标准。例如,根据行车路径中的速度骤变信息或前轮转角骤变信息等确定行车路径的平滑程度,如果行车路径中的速度变化平滑和前轮转角变化平滑,则认为行车路径比较平滑。如果第一障碍物引起行车路径中的速度骤变或前轮转角骤变,则认为第一障碍物引起第一行车路径的平滑程度不符合预设条件的状况发生。

需要说明的是,步骤22是可选的,即在步骤21之后可以直接执行步骤23。

在步骤23中,自动驾驶控制装置控制交互装置向第一障碍物发送交互请求,以使得第一障碍物对交互请求做出交互响应。

例如,自动驾驶控制装置控制交互装置向行人或车辆鸣笛或灯光示警,行人或车辆司机或无人驾驶车辆的传感器“听到”鸣笛或“看到”灯光后,自己离开或驾驶车辆离开自动驾驶车辆当前的行车路径,不再成为其当前行车路径上的障碍物。

上述实施例通过感知场景中能够做出交互响应的障碍物,例如,行人、车辆等,向这种障碍物发送交互请求,以使得这种障碍物对交互请求做出交互响应,从而,在自动驾驶过程中,自动驾驶车辆与周围的行人和车辆等特定对象形成信息交互,实现了一种交互式的自动驾驶控制方案,弥补了当前自动驾驶领域非常欠缺的方面。

图3为本公开交互式的自动驾驶控制方法另一些实施例的流程示意图。如图3所示,该实施例的方法包括:步骤31,33-36,可选的,还可以包括步骤32。

在步骤31,传感器感知场景以及其中的障碍物。其中的障碍物可能包括能够做出交互响应的第一障碍物和不能做出交互响应的第二障碍物。

在步骤32,自动驾驶控制装置基于感知的场景以及其中的障碍物,规划第一行车路径,并判断第一行车路径的平滑程度是否符合预设条件,在不符合预设条件的状况由第一障碍物引起的情况下,执行后续步骤,如果平滑程度符合预设条件,或者,不符合预设条件的状况由第二障碍物引起的情况下,则需要进行避障操作,不执行后续步骤。

其中,第一行车路径的规划以及平滑程度的确定参考前述步骤22,这里不再赘述。

需要说明的是,步骤32是可选的,即在步骤31之后可以直接执行步骤33及其后续步骤。

在步骤33,自动驾驶控制装置基于没有第一障碍物的场景,规划第二行车路径。即,将第一障碍物从场景中抹去,基于场景以及其中的第二障碍物(如果有的话)规划第二行车路径。

其中,行车路径的具体规划方法仍然可以参考现有技术,本公开只是假设从场景中抹去一部分特别的障碍物。

在步骤34,自动驾驶控制装置确定自动驾驶车辆在沿着第二行车路径行驶时与第一障碍物相遇的时刻。

相遇时刻,即根据当前的规划,按照一定的速度在沿着行车路径行驶时,结合感知到的第一障碍物的类型和行为模式,所估计的自动驾驶车辆与第一障碍物何时会相撞。

在步骤35,在相遇时刻之前,自动驾驶控制装置控制交互装置提前发送交互请求,以使得第一障碍物响应交互请求离开第二行车路径。

在步骤36,如果检测到第一障碍物在相遇时刻之前离开第二行车路径,自动驾驶控制装置控制自动驾驶车辆按照规划的第二行车路径继续自动行驶,不再需要躲避该第一障碍物。

上述交互式的自动驾驶控制方案,通过感知场景中能够做出交互响应的障碍物,先按照场景中没有这种障碍物的情况规划行车路径,并在自动驾驶车辆与这种障碍物相遇之前,提前发送交互请求,提示这种障碍物离开,如果检测到这种障碍物在相遇时刻之前离开当前行车路径,控制自动驾驶车辆仍然按照当前行车路径继续自动行驶,不再需要躲避该障碍物,可以避免危险系数更高的例如借道超车等驾驶操作,使自动驾驶更安全。

例如,如图4a所示,自动驾驶车辆1的前方有一辆低速行驶的汽车2沿着自动驾驶车辆1当前的车道线前向行驶,自动驾驶车辆1可以先不借道超车,可以先施加灯光操作(如果是夜晚的话)或鸣笛操作(如果是白天的话),试探该汽车2是否能够让出当前车道,如果该汽车2能够让出当前车道,如图4b所示,则自动驾驶车辆1可以在当前的车道线上继续前向行驶,无需借道超车,从而避免了危险系数更高的借道超车操作。

如前所述,自动驾驶控制装置能够确定第一障碍物的类型和/或行为模式,因此,在步骤23和步骤35中,自动驾驶控制装置可以控制交互装置,按照第一障碍物的类型和/或行为模式相应的交互方式,如交互类型(如灯光或鸣笛)、交互起始时间、交互终止时间、交互频率(如闪灯频率或鸣笛频率)等,向第一障碍物发送交互请求,以使得第一障碍物对交互请求做出交互响应。

其中,交互起始时间根据第一障碍物的类型和/或行为模式确定,使得交互请求在相遇时刻之前被提前发送出来,以使得第一障碍物有足够的时间对交互请求做出交互响应。不同类型的第一障碍物,所能做出交互响应的灵敏程度不同,需要设置不同的交互起始时间或者说提前量。灵敏程度低的第一障碍物比灵敏程度高的第一障碍物,需要预留更大的提前量,以使得第一障碍物有足够的时间离开行车路径。例如,骑车的行人通常比推车的行人的灵敏程度高,则推车的行人相对于骑车的行人需要预留更多的提前量;移动的车辆通常比行人的灵敏程度高,则行人相对于移动的车辆需要预留更多的提前量。不同的行为模式也会影响交互起始时间或者说提前量的设置。例如,在相同距离下,相向行驶的自动驾驶车辆和第一障碍物比同向行驶的自动驾驶车辆和第一障碍物会早更相遇,因此,与自动驾驶车辆相向行驶的第一障碍物比同向行驶的第一障碍物对应的交互起始时间更早。

交互类型根据第一障碍物的类型和/或行为模式确定,以使得第一障碍物更容易地捕获到交互请求。例如,与自动驾驶车辆同向行驶的行人,看不到自己的后面,因此,难以看到来自自己后方的灯光,可以采用鸣笛方式发出交互请求。与自动驾驶车辆同向行驶的车辆,由于车辆配备有后视镜,因此,可以采用灯光或鸣笛的方式发出交互请求。当然,根据需要还可以同时以灯光和鸣笛方式发出交互请求。

交互频率根据第一障碍物的类型和/或行为模式确定,以使得第一障碍物感受到事件的紧迫程度,尽快地做出响应。通常,针对紧急的情况,交互频率可以更大,使得第一障碍物感受到事件的紧迫性,尽快地做出响应。例如,灵敏程度低的第一障碍物比灵敏程度高的第一障碍物,可以设置更大的交互频率。与自动驾驶车辆相向行驶的第一障碍物比同向行驶的第一障碍物,可以设置更大的交互频率。当然,也可以针对所有第一障碍物设置相同的交互频率。

交互终止时间根据第一障碍物的类型和/或行为模式确定,以达到既使第一障碍物离开,同时减少对环境影响的目的。例如,灵敏程度高的第一障碍物比灵敏程度低的第一障碍物,可以设置更短的交互时间段和更早的交互终止时间。与自动驾驶车辆相向行驶的第一障碍物比同向行驶的第一障碍物,可以设置更短的交互时间段和更早的交互终止时间。当然,也可以针对所有第一障碍物设置相同的交互时间段。

关于交互方式,一种方法,可以根据各种类型和各种行为模式的第一障碍物的反映数据统计确定,这种方法比较简单且易于实现;另一种方法,还可以采用非线性规划方法确定,这种方法能够基于一定的约束寻求到满足相关目标的最优的一组发送方式参数,客观性和准确性更好。后面会具体描述这种方法。

下面描述采用非线性规划方法确定交互方式的过程。该方法主要包括:基于交互方式参数变量,构建自动驾驶的目标函数,设置在相遇时刻之前障碍物离开第二行车路径的约束,在满足该约束的情况下,确定一组交互方式参数,使得目标函数的值最大,并将目标函数的值最大时对应的一组交互方式参数确定为最终的交互方式。下面结合公式具体描述。

首先,将第一障碍物从场景中抹去,基于场景以及其中的第二障碍物(如果有的话)重新规划一条行车路径(设为x)。

然后,假设自动驾驶车辆沿着路径x行驶,运动过程对应着时间区间[0,t]。如果我们不采取灯光或鸣笛等任何提示操作,自动驾驶车辆最早在哪一时刻与第一障碍物相遇(即相撞),通过模拟方式将这一相遇时刻确定下来,记为tdanger,显然地,tdanger∈(0,t]。

随后,将针对交互方式参数进行数值计算,其目的是求解以下三个交互方式参数(即决策变量)中的部分或全部(本实施例假设是全部):灯光/喇叭操作的起始时刻tstart、结束时刻tend以及操作频率frequency。

定义交互函数finteract(distance,frequency,param),该函数的输入是distance,frequency,param,输出是发送交互请求与第一障碍物离开行车路径之间的时间差,即当前障碍物通过接收到灯光/鸣笛信号后开始远离自动驾驶车辆的行车路线的响应到撤离完成之间的时间差。在该函数的输入中,distance表示自动驾驶车辆与第一障碍物之间的距离(距离越远则障碍物响应的效果越差),frequency表示交互请求的发送频率,即上文介绍的鸣笛或闪光的操作频率(频率越高则障碍物的响应效果越好,但可能因此产生厌烦心理或因此影响周围环境),param表示当前类型的第一障碍物做出交互响应的灵敏程度,可根据第一障碍物的类型和/或行为模式设置,其数值越高则代表着第一障碍物越敏感(例如,骑车的行人比推车的行人的灵敏程度高,交互响应更好)。

因此,finteract被设置与正相关,公式表示为:

例如,公式(1)的一个示例性的表现形式为:

其中β>0,该参数需要结合实际逐步调试而确定。

finteract与的关系根据第一障碍物的实际响应时间进行修正,例如修正其中的参数β。

建立这样一个非线性规划命题,其代价函数为使得行车收益度cost达到最大,与此同时满足一系列约束条件。具体而言,行车收益度cost包括因障碍物经过我们提醒而提前远离的奖励,并减去因我们高频率鸣笛或闪光给周围环境或障碍物造成不适的惩罚:

其中,cost表示目标函数的目标,tdanger表示相遇时刻,finteract表示发送交互请求与第一障碍物离开行车路径x之间的时间差,tstart表示发送交互请求的开始时间,tend表示发送交互请求的结束时间,frequency表示交互请求的发送频率,penalty()表示输入与输出正相关的函数(即惩罚函数,反映了鸣笛或闪光次数n与造成环境不适程度的正比例关系),w1和w2表示权值,w1代表着奖励部分的重要程度,w2代表着惩罚部分的重要程度,w1>0,w2≥0。w2可以为0,说明代价函数中可以没有惩罚部分。

penalty(n)函数的一种示例性的表现形式为:

其中α>0是参数,该参数需要结合实际逐步调试而确定。

非线性规划命题的约束条件包括(5a-5e):

tstart∈[0,t],(5a)

tend∈[0,t],(5b)

tstart<tend,(5c)

frequency>0,(5d)

tdanger-finteract-tstart≥0.(5e)

其中,公式(5a)、(5b)确保了施加灯光或喇叭操作的时刻在有效范围内开始并结束,公式(5c)确保了实施操作的自然因果顺序、(5d)确保操作实际实施,(5e)确保通过上述操作能够在危险发生之前使得障碍物及时响应并撤离我们的行车路线。

总结起来,非线性规划命题为:最大化公式(3),满足约束条件(5a-5e)。

采用常用的数值优化方法,例如ipopt(internalpointoptimizer,是一个解决非线性规划最优化问题的工具集),sqp(sequencequadraticprogram,序列二次规划)等,求解上述非线性规划问题,计算使cost最大的一组发送方式参数tstart,tend,frequency。最后,按照计算出来的交互方式参数提前发出交互请求。

随着自动驾驶车辆不断前进,我们估算的障碍物的交互式反应结果未必与我们预期的公式(1)可能不完全一样,这种真实情况与估算情况的偏差,我们在未来周期中不断进行修正,使其更加可靠。例如,finteract与的关系(如参数β)根据第一障碍物的实际响应时间进行修正。

图5为本公开自动驾驶控制装置的一些实施例的结构示意图。

如图5所示,该实施例的自动驾驶控制装置50包括:存储器51以及耦接至该存储器51的处理器52,处理器52被配置为基于存储在存储器51中的指令,执行前述任意一些实施例中的自动驾驶控制方法。

其中,存储器51例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。

装置50还可以包括输入输出接口53、网络接口54、存储接口55等。这些接口53,54,55以及存储器51和处理器52之间例如可以通过总线56连接。其中,输入输出接口53为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口54为各种联网设备提供连接接口。存储接口55为sd卡、u盘等外置存储设备提供连接接口。

本公开还提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任意一些实施例中的自动驾驶控制方法的步骤。

本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上gai仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

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