决策控制方法、装置、自动驾驶车辆及存储介质

文档序号:25741235发布日期:2021-07-06 18:51阅读:68来源:国知局
决策控制方法、装置、自动驾驶车辆及存储介质

本申请属于自动驾驶技术领域,尤其涉及一种决策控制方法、装置、自动驾驶车辆及存储介质。



背景技术:

自动驾驶车辆又称无人驾驶车辆、电脑驾驶车辆或者轮式移动机器人,是一种通过电脑系统实现无人驾驶的智能汽车。

自动驾驶是一项集环境感知、决策与控制等功能于一体的智能系统,是未来智能交通系统的重要组成部分,将对人们的出行乃至生活方式带来极大变革。在自动驾驶领域,如何提高自动驾驶的安全性是亟待解决的技术问题。



技术实现要素:

本申请实施例提供了一种决策控制方法、装置、自动驾驶车辆及存储介质,可以提高自动驾驶的安全性。

第一方面,本申请实施例提供了一种决策控制方法,所述决策控制方法包括:

获取自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息,所述周围车辆是指与所述自动驾驶车辆的距离小于预设距离的车辆;

将所述自动驾驶车辆的当前行驶信息和所述周围车辆的目标行驶信息输入至已训练的actor网络中的决策网络,得到目标决策信息;

将所述自动驾驶车辆的当前行驶信息、所述周围车辆的目标行驶信息和所述目标决策信息输入至所述actor网络中的控制网络,得到目标控制信息;

根据所述目标控制信息,控制所述自动驾驶车辆行驶。

第二方面,本申请实施例提供了一种决策控制装置,所述决策控制装置包括:

信息获取模块,用于获取自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息,所述周围车辆是指与所述自动驾驶车辆的距离小于预设距离的车辆;

第一输入模块,用于将所述自动驾驶车辆的当前行驶信息和所述周围车辆的目标行驶信息输入至已训练的actor网络中的决策网络,得到目标决策信息;

第二输入模块,用于将所述自动驾驶车辆的当前行驶信息、所述周围车辆的目标行驶信息和所述目标决策信息输入至所述actor网络中的控制网络,得到目标控制信息;

车辆控制模块,用于根据所述目标控制信息,控制所述自动驾驶车辆行驶。

第三方面,本申请实施例提供了一种自动驾驶车辆,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述决策控制方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述决策控制方法的步骤。

第五方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在自动驾驶车辆上运行时,使得所述自动驾驶车辆执行如上述第一方面所述决策控制方法的步骤。

由上可见,本方案通过获取自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息,并将上述当前行驶信息和上述目标行驶信息输入至已训练的actor网络中的决策网络,可以得到目标决策信息,将上述当前行驶信息、上述目标行驶信息和上述目标决策信息输入至actor网络中的控制网络,可以得到目标控制信息,由于目标控制信息是基于目标决策信息得到的,故本申请加强了目标决策信息和目标控制信息之间的关联,使目标控制信息更为准确,提高了自动驾驶的安全性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例一提供的决策控制方法的实现流程示意图;

图2是道路示例图;

图3a是actor网络的结构示例图;图3b是注意力机制层的结构示例图;图3c是卷积神经网络层的结构示例图;

图4是本申请实施例二提供的决策控制方法的实现流程示意图;

图5是本申请实施例三提供的决策控制装置的结构示意图;

图6是本申请实施例四提供的自动驾驶车辆的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应理解,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

还应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本申请实施例提供的决策控制方法可以应用于驾驶辅助、部分自动化、有条件自动化、高度自动化、完全自动化等自动驾驶车辆上,本申请实施例对自动驾驶车辆的具体类型不作任何限制。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

参见图1,是本申请实施例一提供的决策控制方法的实现流程示意图,如图1所示,该决策控制方法可以包括以下步骤:

步骤101,获取自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息。

其中,周围车辆是指与自动驾驶车辆的距离小于预设距离的车辆。

在本实施例中,以自动驾驶车辆所在当前道路上的某点为原点建立坐标系,例如当前道路的通行方向为坐标系的纵坐标,与当前道路的通行方向的夹角为90°的方向为坐标系的横坐标,根据上述坐标系,可以将周围车辆与自动驾驶车辆的距离分为横向距离和纵向距离。由于一个车辆在与自动驾驶车辆的纵向距离较小时,说明该车辆距离自动驾驶车辆较近。而一个车辆在与自动驾驶车辆的横向距离较小时,该车辆距离自动驾驶车辆可能较近,也可能较远。故通过纵向距离能够更为准确地选取周围车辆。即上述周围车辆具体可以是指与自动驾驶车辆的纵向距离小于预设距离的车辆。

需要说明的是,为了获得更加全面的道路车辆信息,上述周围车辆的数量可以为至少两个。

自动驾驶车辆的当前行驶信息包括但不限于自动驾驶车辆在当前道路的横向位置、自动驾驶车辆在当前道路的纵向位置、自动驾驶车辆的横向速度、自动驾驶车辆的纵向速度等。

周围车辆的目标行驶信息包括但不限于周围车辆与自动驾驶车辆的横向距离、周围车辆在当前道路的纵向位置、周围车辆的横向速度、周围车辆的纵向速度、自动驾驶车辆与周围车辆发生碰撞的时间等。自动驾驶车辆与周围车辆发生碰撞的时间具体可以是指自动驾驶车辆保持当前车速时与周围车辆发生碰撞的时间。

上述当前道路可以是指自动驾驶车辆所在道路。周围车辆可以与自动驾驶车辆位于同一道路,也可以位于不同道路,在此不做限定。

在本实施例中,可以在当前道路附近设置基站,基站附近的所有车辆(例如,上述所有车辆可以与基站的距离小于目标距离的车辆,目标距离大于或者等于预设距离)均可以将自身的当前行驶信息发送至基站,由于基站是设置在自动驾驶车辆的当前道路附近,故上述所有车辆包括步骤101中的自动驾驶车辆,基站可以根据自动驾驶车辆在当前道路的纵向位置和剩余车辆在当前道路的纵向位置,计算剩余车辆与自动驾驶车辆的纵向距离;确定剩余车辆中纵向距离小于预设距离的车辆为周围车辆;根据下述公式(1)可以计算自动驾驶车辆与周围车辆发生碰撞的时间;基站在计算得到周围车辆与自动驾驶车辆的纵向距离以及自动驾驶车辆与周围车辆发生碰撞的时间之后,可以与周围车辆在当前道路的纵向位置、周围车辆的横向速度和纵向速度构成周围车辆的目标行驶信息,并将周围车辆的目标行驶信息发送至自动驾驶车辆。

自动驾驶车辆与周围车辆发生碰撞的时间的计算公式如下:

其中,yyego表示自动驾驶车辆的纵向位置;yyother表示周围车辆的纵向位置;vyego表示自动驾驶车辆的纵向速度;vyother表示周围车辆的纵向速度;a表示一个大于零的常数,例如10s。

如图2所示是道路示例图,在该图中包括一个自动驾驶车辆、六个周围车辆和两个基站,基站1将车辆a1、a2和a3的目标行驶信息发送至自动驾驶车辆,基站2将车辆a4、a5和a6的目标行驶信息发送至自动驾驶车辆,自动驾驶车辆即可得到六个周围车辆的目标行驶信息。

步骤102,将自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息输入至已训练的actor网络中的决策网络,得到目标决策信息。

上述actor网络包括决策网络和控制网络。决策网络用于输出决策信息,决策信息是离散的,包括但不限于保持车道、左变道或者右变道等指令。控制网络用于输出控制信息。控制信息是连续的,包括但不限于方向盘的角度、油门或者刹车的力度等。

为了区分已训练的actor网络中的决策网络输出的决策信息和训练过程中actor网络中的决策网络输出的决策信息,可以将已训练的actor网络中的决策网络输出的决策信息称之为目标决策信息,将训练过程中actor网络中的决策网络输出的决策信息称之为候选决策信息。

为了区分已训练的actor网络中的控制网络输出的决策信息和训练过程中actor网络中的控制网络输出的控制信息,可以将已训练的actor网络中的控制网络输出的控制信息称之为目标控制信息,将训练过程中actor网络中的控制网络输出的控制信息称之为候选控制信息。

作为一可选实施例,决策网络依次包括第一注意力机制层、第一卷积神经网络层和第一全连接层,将自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息输入至决策网络,得到目标决策信息包括:

将自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息输入至第一注意力机制层,分别增加自动驾驶车辆的当前行驶信息的维度和周围车辆的目标行驶信息的维度,得到自动驾驶车辆的当前行驶信息对应的第一行驶向量和周围车辆的目标行驶信息对应的第二行驶向量;

根据第一行驶向量和第二行驶向量,确定自动驾驶车辆与周围车辆的第一相似度;

将第一相似度与第二行驶向量相乘,得到第三行驶向量;

将第一行驶向量和第三行驶向量输入决策网络的剩余层,得到目标决策信息,决策网络的剩余层包括第一卷积神经网络层和第一全连接层。

自动驾驶车辆在将自身的当前行驶信息和周围车辆的目标行驶信息输入至第一注意力机制层之后,可以先在第一注意力机制层中增加当前行驶信息的维度和目标行驶信息的维度,以丰富与自动驾驶车辆相关的信息,提高目标决策信息的准确性。

具体地,第一注意力机制层可以包括嵌入层,将自动驾驶车辆的当前行驶信息输入至嵌入层,可以通过嵌入层增加当前行驶信息的维度,得到第一行驶向量;将周围车辆的目标行驶信息输入至嵌入层,可以通过嵌入层增加目标行驶信息的维度,得到第二行驶向量。第一行驶向量与第二行驶向量的维度相同。例如,自动驾驶车辆的当前行驶信息的维度为四维,通过嵌入层可以得到八维的第一行驶向量;周围车辆的目标行驶信息的维度为五维,通过嵌入层可以得到八维的第二行驶向量。

自动驾驶车辆与周围车辆的第一相似度表征自动驾驶车辆对周围车辆的关注度,第一相似度越大表征自动驾驶车辆越关注周围车辆,周围车辆对目标决策信息的影响越大。

在计算第一相似度时,可以将第一行驶向量和第二行驶向量输入至第一注意力机制层中的相似度层,相似度层输出第一相似度。其中,相似度层可以是一个神经网络,具体的相似度计算方法在此不做限定。

作为一可选实施例,第一注意力机制层还可以包括softmax层。在将第一相似度与第二行驶向量相乘之前,可以先将第一相似度输入至softmax层,通过softmax层将第一相似度变换为0至1范围内,且所有第一相似度之和为1,以减少数据计算量。

第一相似度的变换公式如下:

其中,e表示欧拉数;ωi表示变换前的第i个第一相似度;ωn表示变换前的第n个第一相似度;αi表示经过sotmax层变换后的第i个第一相似度;n表示第一相似度的数量,也可以理解为周围车辆的数量。

作为一可选实施例,将第一行驶向量和第三行驶向量输入决策网络的剩余层,得到目标决策信息包括:

将第三行驶向量输入至第一卷积神经网络层,得到第四行驶向量;

将第一行驶向量和第四行驶向量输入至第一全连接层,得到目标决策信息。

其中,上述第一卷积神经网络层可以依次包括两层卷积层、最大池化层和全连接层。可以先将第三行驶向量经过两层卷积层,再经过最大池化层,最后再经过全连接层,可以得到周围车辆更高层次的信息。

在将第一行驶向量和第四行驶向量输入至第一全连接层之前,可以先将第一行驶向量和第四行驶向量进行拼接,得到第一拼接后向量,将第一拼接后向量输入至第一全连接层。将第一行驶向量和第四行驶向量进行拼接,可以使得第一行驶向量和第四行驶向量作为一个整体输入至第一全连接层。

步骤103,将自动驾驶车辆的当前行驶信息、周围车辆的目标行驶信息和目标决策信息输入至actor网络中的控制网络,得到目标控制信息。

在基于控制网络得到目标控制信息时,考虑自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息,能够获得更加全面的道路车辆信息,考虑目标决策信息能够加强目标决策信息与目标控制信息之间的关联,本申请通过获得更加全面的道路车辆信息以及加强目标决策信息与目标控制信息之间的关联,能够得到更为准确的目标控制信息,提高自动驾驶的安全性。

作为一可选实施例,控制网络依次包括第二注意力机制层、第二卷积神经网络层和第二全连接层,将自动驾驶车辆的当前行驶信息、周围车辆的目标行驶信息和目标决策信息输入至控制网络,得到目标控制信息包括:

将自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息输入至第二注意力机制层,分别增加自动驾驶车辆的当前行驶信息的维度和周围车辆的目标行驶信息的维度,得到自动驾驶车辆的当前行驶信息对应的第五行驶向量和周围车辆的目标行驶信息对应的第六行驶向量;

根据第五行驶向量、第六行驶向量和目标决策信息,确定自动驾驶车辆与周围车辆的第二相似度;

将第二相似度与第六行驶向量相乘,得到第七行驶向量;

将第五行驶向量和第七行驶向量输入至控制网络的剩余层,得到目标控制信息,控制网络的剩余层包括第二卷积神经网络层和第二全连接层。

自动驾驶车辆在将自身的当前行驶信息和周围车辆的目标行驶信息输入至第二注意力机制层之后,可以先在第二注意力机制层中增加当前行驶信息的维度和目标行驶信息的维度,以丰富与自动驾驶车辆相关的信息,提高目标决策信息的准确性。

具体地,第二注意力机制层可以包括嵌入层,将自动驾驶车辆的当前行驶信息输入至嵌入层,可以通过嵌入层增加当前行驶信息的维度,得到第五行驶向量;将周围车辆的目标行驶信息输入至嵌入层,可以通过嵌入层增加目标行驶信息的维度,得到第六行驶向量。

自动驾驶车辆与周围车辆的第二相似度表征自动驾驶车辆对周围车辆的关注度,第二相似度越大表征自动驾驶车辆越关注周围车辆,周围车辆对目标决策信息的影响越大。

在计算第二相似度时,可以将第五行驶向量、第六行驶向量和目标决策信息输入至第二注意力机制层中的相似度层,相似度层输出第二相似度。其中,相似度层可以是一个神经网络,具体的相似度计算方法在此不做限定。

作为一可选实施例,第二注意力机制层还可以包括softmax层。在将第二相似度与第六行驶向量相乘之前,可以先将第二相似度输入至sotmax层,通过sotmax层将第二相似度变换为0至1范围内,且所有第二相似度之和为1,以减少数据计算量。

作为一可选实施例,将第五行驶向量和第七行驶向量输入至控制网络的剩余层,得到目标控制信息包括:

将第七行驶向量输入至第二卷积神经网络层,得到第八行驶向量;

将第五行驶向量和第八行驶向量输入至第二全连接层,得到目标控制信息。

其中,上述第二卷积神经网络层可以依次包括两层卷积层、最大池化层和全连接层。可以先将第七行驶向量经过两层卷积层,再经过最大池化层,最后再经过全连接层,可以得到周围车辆更高层次的信息。

在将第五行驶向量和第八行驶向量输入至第二全连接层之前,可以先将第五行驶向量和第八行驶向量进行拼接,得到第二拼接后向量,将第二拼接后向量输入至第二全连接层。将第五行驶向量和第八行驶向量进行拼接,可以使得第五行驶向量和第八行驶向量作为一个整体输入至第二全连接层。

步骤104,根据目标控制信息,控制自动驾驶车辆行驶。

自动驾驶车辆在获取目标控制信息之后,可以根据目标控制信息实现自动驾驶。

如图3a所示是actor网络的结构示例图。图3a中a'd表示目标决策信息;a'c表示目标控制信息;sego表示自动驾驶车辆的当前行驶信息;(s1,s2,…,sn)表示周围车辆的目标行驶信息。

如图3b所示是注意力机制层的结构示例图,图3b中的实线部分表示第一注意力机制层,实线部分与虚线部分表示第二注意力机制层,即相比于第一注意力机制层,第二注意力机制层在计算相似度时加入了目标决策信息。

注意力机制层能够使得自动驾驶车辆根据当前的需求重点关注某些车辆的信息,而无需关注所有车辆的信息。如在决策过程中,自动驾驶车辆应该更关注前方车辆,以判断是否需要变道;而在控制过程中,自动驾驶车辆应该根据决策信息选择更关注自动驾驶车辆本身需要变换的车道,以更好地控制自动驾驶车辆的车速。

以图3b中的第一注意力机制层为例。eego表示第一行驶向量;(e1,e1,…,en)表示第二行驶向量;embeddinglayer表示嵌入层;similaritylayer表示相似层;softmaxlayer表示softmax层;(α1,α1,…,αn)表示经过softmax层变换后的第一相似度,(e′1,e'2,…e'n,)表示第三行驶向量,satt表示将第一行驶向量和第三行驶向量拼接后的向量,concatenate表示拼接,dotproduct表示点积或者相乘。

如图3c所示卷积神经网络层的结构示例图,该卷积神经网络层是指第一卷积神经网络和第二卷积神经网络。

卷积神经网络层主要用于保证周围车辆的平移不变性和提取更高层次的信息,因为在输入周围车辆的目标行驶信息时,如果按照距离的远近进行输入,车辆稀疏和车辆密集时将使得actor网络的训练不稳定,故运用卷积神经网络的平移不变性,可以提高actor网络的训练稳定性。另外,采用卷积神经网络还可以减少网络参数,并提取更高层次的信息。

本申请实施例通过获取自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息,并将上述当前行驶信息和上述目标行驶信息输入至已训练的actor网络中的决策网络,可以得到目标决策信息,将上述当前行驶信息、上述目标行驶信息和上述目标决策信息输入至actor网络中的控制网络,可以得到目标控制信息,由于目标控制信息是基于目标决策信息得到的,故本申请加强了目标决策信息和目标控制信息之间的关联,使目标控制信息更为准确,提高了自动驾驶的安全性,也能够更好地控制车辆速度,提高交通效率。

参见图4,是本申请实施例二提供的决策控制方法的实现流程示意图。如图4所示,该决策控制方法可以包括以下步骤:

步骤401,获取第一测试车辆的当前环境状态。

其中,当前环境状态包括第一测试车辆的当前行驶信息和第二测试车辆的目标行驶信息,第二测试车辆是指与第一测试车辆的距离小于预设距离的车辆。

第一测试车辆可以是指用于训练actor网络的自动驾驶车辆。第二测试车辆可以是指用于训练actor网络的车辆,可以为自动驾驶车辆,也可以是非自动驾驶车辆,在此不做限定。上述第一测试车辆和上述第二测试车辆可以是使用仿真模拟软件构建的虚拟车辆,用于训练actor网络。

步骤402,将当前环境状态输入至决策网络,得到候选决策信息。

步骤403,将当前环境状态和候选决策信息输入至控制网络,得到候选控制信息。

上述候选决策信息和候选控制信息可以参见实施例一的相关描述,在此不再赘述。

步骤404,根据候选控制信息,确定第一测试车辆的下一个环境状态和当前环境状态对应的奖励。

其中,当前环境状态对应的奖励可以是指在当前环境状态下采取候选控制信息所获得的奖励。

自动驾驶车辆可以根据候选控制信息,控制第一测试车辆行驶,在第一测试车辆行驶时,第一测试行驶的环境状态发生改变,改变后的环境状态即为下一个环境状态。

步骤405,根据当前环境状态、下一个环境状态和当前环境状态的奖励,训练actor网络。

自动驾驶车辆可以根据当前环境状态、下一个环境状态和当前环境状态的奖励,更新actor网络的网络参数,从而完成对actor网络的训练。

其中,actor网络的网络参数可以包括决策网络的网络参数和控制网络的网络参数。

作为一可选实施例,第一测试车辆的当前行驶信息包括第一测试车辆的横向速度,第二测试车辆的目标行驶信息包括第一测试车辆与其前方车辆发生碰撞的时间,根据候选决策信息和候选控制信息,确定当前环境状态对应的奖励包括:

根据候选决策信息和候选控制信息,控制第一测试车辆行驶;

在第一测试车辆的行驶过程中,检测第一测试车辆是否发生碰撞;

若第一测试车辆发生碰撞,则确定当前环境状态对应的奖励为目标值;

若第一测试车辆未发生碰撞,则根据第一测试车辆的横向速度和第一测试车辆与其前方车辆发生碰撞的时间,确定碰撞奖励;检测第一测试车辆是否安全到达终点,得到第一检测结果,并根据第一检测结果确定安全到达奖励;检测第一测试车辆是否发生变道,得到第二检测结果,并根据第二检测结果确定变道奖励;将碰撞奖励、安全到达奖励和变道奖励相加,确定相加所得值为当前环境状态对应的奖励。

自动驾驶车辆可以根据实施例一中的公式(1),计算第一测试车辆与其前方车辆发生碰撞的时间。

在第一测试车辆根据候选控制信息进行行驶的过程中,自动驾驶车辆可以检测第一测试车辆是否发生碰撞,若第一测试车辆发生碰撞,则可以确定当前环境状态对应的奖励为目标值;若第一测试车辆未发生碰撞,则可以确定当前环境状态对应的奖励可以由碰撞奖励、安全到达奖励和变道奖励三部分构成。

当前环境状态对应的奖励的计算公式如下:

其中,b表示目标值,为小于零的常数,例如-10;rv表示碰撞奖励;rsafe表示安全到达奖励;rcomf表示变道奖励。

碰撞奖励的计算公式如下:

其中,β表示基于惩罚的力度,为大于零的常量,例如β为7;vy表示第一测试车辆的纵向速度;vmax表示第一测试车辆的最大纵向速度;ttc表示第一测试车辆与其前方车辆发生碰撞的时间;c、d和p均为大于零的常量,例如c为30,d为27,p为2。

奖励小于零表示惩罚。如果ttc<p,则表明第一测试车辆当前的速度处于一个比较危险的值,很快就会发生碰撞,因此越小得到的惩罚越大。如果ttc≥p(即公式(4)中的其他情况),则表明第一测试车辆当前的速度处于一个比较安全的值,此时取vy和c中的最小值,可以限制第一测试车辆速度过快。

安全到达奖励是为了激励第一测试车辆安全到达终点。

安全到达奖励的计算公式如下:

其中,f为大于零的常数,例如f为3。

变道奖励是为了防止第一测试车辆不断地变道。

为了提高变道奖励的准确性,在计算变道奖励时还可以考虑变道前后第一测试车辆与前方车辆的纵向距离。

变道奖励的计算公式如下:

其中,δy表示变道后第一测试车辆与前方车辆的纵向距离,δy'表示变道前第一测试车辆与前方车辆的纵向距离;h表示大于零的常数,例如h为10;g表示小于零的常数,例如g为-0.5。

作为一可选实施例,根据当前环境状态、下一个环境状态和当前环境状态对应的奖励,训练actor网络包括:

将当前环境状态输入至critic网络,得到当前环境状态的状态价值函数;

将下一个环境状态输入至critic网络,得到下一个环境状态的状态价值函数;

根据当前环境状态的状态价值函数、下一个环境状态的状态价值函数以及当前环境状态对应的奖励,训练actor网络。

当前环境状态的状态价值函数用于表征当前环境状态好坏,例如,如果第一测试车辆在当前环境状态下的速度很快且距离前方车辆较近,则可以确定当前环境状态的状态价值函数较低;如果第一测试车辆在当前环境状态下的速度适中且处于较为安全的状态,则可以确定当前环境状态的状态价值函数较高。

下一个环境状态的状态价值函数用于表征下一个环境状态的好坏,例如,如果第一测试车辆在下一个环境状态下的速度很快且距离前方车辆较近,则可以确定下一个环境状态的状态价值函数较低;如果第一测试车辆在下一个环境状态下的速度适中且处于较为安全的状态,则可以确定下一个环境状态的状态价值函数较高。

作为一可选实施例,根据当前环境状态的状态价值函数、下一个环境状态的状态价值函数以及当前环境状态对应的奖励,训练actor网络包括:

根据下一个环境状态的状态价值函数以及当前环境状态对应的奖励,确定当前环境状态的动作价值函数;

根据当前环境状态的状态价值函数和当前环境状态的动作价值函数,确定actor网络的优势函数;

根据优势函数,确定决策网络对应的目标函数和控制网络对应的目标函数;

根据决策网络对应的目标函数和控制网络对应的目标函数,训练actor网络。

当前环境状态的动作价值函数的计算公式如下:

q(s,ad,ac)=r+γv(s')(7)

其中,ad表示候选决策信息;ac表示候选控制信息;r表示当前环境状态对应的奖励;γ表示折扣因子;v(s')表示下一个环境状态的状态价值函数。

优势函数的计算公式如下:

其中,表示决策网络的旧网络参数;表示控制网络的旧网络参数;v(s)表示当前环境状态的状态价值函数。

决策网络对应的目标函数的计算公式如下:

其中,表示候选决策信息对应的比率,表示在当前环境状态下采取候选决策信息的当前概率,表示在当前环境状态下采取候选决策信息的上一概率;θd表示决策网络的新网络参数。例如,决策网络的旧网络参数表示决策网络在上一次迭代的网络参数,那么决策网络的新网络参数表示决策网络在此次迭代的网络参数。

控制网络对应的目标函数的计算公式如下:

其中,表示候选控制信息对应的比率,表示在当前环境状态下采取候选控制信息的当前概率,表示在当前环境状态下采取候选控制信息的上一概率;θc表示控制网络的新网络参数。例如,控制网络的旧网络参数表示控制网络在上一次迭代的网络参数,那么控制网络的新网络参数表示控制网络在此次迭代的网络参数。

公式(9)和(10)中的e表示取均值。

需要说明的是,本实施例是通过使得决策网络对应的目标函数和控制网络对应的目标函数最大,实现对actor网络的训练。

在本实施例中,actor网络同时输出决策信息和控制信息,决策信息和控制信息具有较强的关联度,故可以通过公式(9)和(10)实现对决策网络和控制网络的联合训练。

作为一可选实施例,本实施例还包括:

根据优势函数,确定critic网络的目标函数;

根据critic网络的目标函数,训练critic网络。

其中,可以将优势函数的平方值作为critic网络的目标函数。

自动驾驶车辆通过控制critic网络的目标函数使其最小,可以实现对critic网络的训练。

步骤406,获取自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息。

该步骤与步骤101相同,具体可参见步骤101的相关描述,在此不再赘述。

步骤407,将自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息输入至已训练的actor网络中的决策网络,得到目标决策信息。

该步骤与步骤102相同,具体可参见步骤102的相关描述,在此不再赘述。

步骤408,将自动驾驶车辆的当前行驶信息、周围车辆的目标行驶信息和目标决策信息输入至已训练的actor网络中的控制网络,得到目标控制信息.

该步骤与步骤103相同,具体可参见步骤103的相关描述,在此不再赘述。

步骤409,根据目标控制信息,控制自动驾驶车辆行驶。

该步骤与步骤104相同,具体可参见步骤104的相关描述,在此不再赘述。

本申请实施例通过根据当前环境状态、下一个环境状态和当前环境状态的奖励,训练actor网络,能够使得actor网络联合学习决策信息和控制信息,联合学习可以加强决策信息和控制信息之间的关联,使得已训练的actor网络能够输出较为准确的控制信息,提高自动驾驶的安全性。

需要说明的是,上述实施例一和实施例二的公式中,位置和距离的单位可以为米,速度的单位可以为米/秒,时间的单位可以为秒。

参见图5,是本申请实施例三提供的决策控制装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。

上述决策控制装置包括:

信息获取模块51,用于获取自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息,周围车辆是指与自动驾驶车辆的距离小于预设距离的车辆;

第一输入模块52,用于将自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息输入至已训练的actor网络中的决策网络,得到目标决策信息;

第二输入模块53,用于将自动驾驶车辆的当前行驶信息、周围车辆的目标行驶信息和目标决策信息输入至actor网络中的控制网络,得到目标控制信息;

车辆控制模块54,用于根据目标控制信息,控制自动驾驶车辆行驶。

可选地,上述决策控制装置还包括:

状态获取模块,用于获取第一测试车辆的当前环境状态,当前环境状态包括第一测试车辆的当前行驶信息和第二测试车辆的目标行驶信息,第二测试车辆是指与第一测试车辆的距离小于预设距离的车辆;

第三输入模块,用于将当前环境状态输入至决策网络,得到候选决策信息;

第四输入模块,用于将当前环境状态和候选决策信息输入至控制网络,得到候选控制信息;

信息确认模块,用于根据候选控制信息,确定第一测试车辆的下一个环境状态和当前环境状态对应的奖励;

网络训练模块,用于根据当前环境状态、下一个环境状态和当前环境状态对应的奖励,训练actor网络。

可选地,第一测试车辆的当前行驶信息包括第一测试车辆的纵向速度,第二测试车辆的目标行驶信息包括第一测试车辆与其前方车辆发生碰撞的时间,信息确认模块具体用于:

根据候选控制信息,控制第一测试车辆行驶;

在第一测试车辆的行驶过程中,检测第一测试车辆是否发生碰撞;

若第一测试车辆发生碰撞,则确定当前环境状态对应的奖励为目标值;

若第一测试车辆未发生碰撞,则根据第一测试车辆的纵向速度和第一测试车辆与其前方车辆发生碰撞的时间,确定碰撞奖励;检测第一测试车辆是否安全到达终点,得到第一检测结果,并根据第一检测结果确定安全到达奖励;检测第一测试车辆是否发生变道,得到第二检测结果,并根据第二检测结果确定变道奖励;将碰撞奖励、安全到达奖励和变道奖励相加,确定相加所得值为当前环境状态对应的奖励。

上述网络训练模块包括:

状态输入单元,用于将当前环境状态输入至critic网络,得到当前环境状态的状态价值函数;

环境输入单元,用于将下一个环境状态输入至critic网络,得到下一个环境状态的状态价值函数;

第一训练单元,用于根据当前环境状态的状态价值函数、下一个环境状态的状态价值函数以及当前环境状态对应的奖励,训练actor网络。

上述第一训练单元具体用于:

根据下一个环境状态的状态价值函数以及当前环境状态对应的奖励,确定当前环境状态的动作价值函数;

根据当前环境状态的状态价值函数和当前环境状态的动作价值函数,确定actor网络的优势函数;

根据优势函数,确定决策网络对应的目标函数和控制网络对应的目标函数;

根据决策网络对应的目标函数和控制网络对应的目标函数,训练actor网络。

上述网络训练模块还包括:

函数确定单元,用于根据优势函数,确定critic网络的目标函数;

第二训练单元,用于根据critic网络的目标函数,训练critic网络。

可选地,决策网络依次包括第一注意力机制层、第一卷积神经网络层和第一全连接层,上述第一输入模块52包括:

第一增加单元,用于将自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息输入至第一注意力机制层,分别增加自动驾驶车辆的当前行驶信息的维度和周围车辆的目标行驶信息的维度,得到自动驾驶车辆的当前行驶信息对应的第一行驶向量和周围车辆的目标行驶信息对应的第二行驶向量;

第一确定单元,用于根据第一行驶向量和第二行驶向量,确定自动驾驶车辆与周围车辆的第一相似度;

第一相乘单元,用于将第一相似度与第二行驶向量相乘,得到第三行驶向量;

第一输入单元,用于将第一行驶向量和第三行驶向量输入决策网络的剩余层,得到目标决策信息,决策网络的剩余层包括第一卷积神经网络层和第一全连接层。

可选地,上述第一输入单元具体用于:

将第三行驶向量输入至第一卷积神经网络层,得到第四行驶向量;

将第一行驶向量和第四行驶向量输入至第一全连接层,得到目标决策信息。

可选地,控制网络依次包括第二注意力机制层、第二卷积神经网络层和第二全连接层,上述第二输入模块53包括:

第二增加单元,用于将自动驾驶车辆的当前行驶信息和周围车辆的目标行驶信息输入至第二注意力机制层,分别增加自动驾驶车辆的当前行驶信息的维度和周围车辆的目标行驶信息的维度,得到自动驾驶车辆的当前行驶信息对应的第五行驶向量和周围车辆的目标行驶信息对应的第六行驶向量;

第二确定单元,用于根据第五行驶向量、第六行驶向量和目标决策信息,确定自动驾驶车辆与周围车辆的第二相似度;

第二相乘单元,用于将第二相似度与第六行驶向量相乘,得到第七行驶向量;

第二输入单元,用于将第五行驶向量和第七行驶向量输入至控制网络的剩余层,得到目标控制信息,控制网络的剩余层包括第二卷积神经网络层和第二全连接层。

可选地,上述第二输入单元具体用于:

将第七行驶向量输入至第二卷积神经网络层,得到第八行驶向量;

将第五行驶向量和第八行驶向量输入至第二全连接层,得到目标控制信息。

本申请实施例提供的决策控制装置可以应用在前述方法实施例一和实施例二中,详情参见上述方法实施例一和实施例二的描述,在此不再赘述。

图6是本申请实施例四提供的自动驾驶车辆的结构示意图。如图6所示,该实施例的自动驾驶车辆6包括:一个或多个处理器60(图中仅示出一个)、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62。处理器60执行计算机程序62时实现上述各个决策控制方法实施例中的步骤

自动驾驶车辆6可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是自动驾驶车辆6的示例,并不构成对自动驾驶车辆6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如自动驾驶车辆还可以包括输入输出设备、网络接入设备、总线等。

所称处理器60可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器61可以是自动驾驶车辆6的内部存储单元,例如自动驾驶车辆6的硬盘或内存。存储器61也可以是自动驾驶车辆6的外部存储设备,例如自动驾驶车辆6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器61还可以既包括自动驾驶车辆6的内部存储单元也包括外部存储设备。存储器61用于存储计算机程序以及自动驾驶车辆所需的其他程序和数据。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/自动驾驶车辆和方法,可以通过其它的方式实现。例如,以上所描述的装置/自动驾驶车辆实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

本申请实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在自动驾驶车辆上运行时,使得自动驾驶车辆执行时实现可实现上述各个方法实施例中的步骤。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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