自动驾驶车辆规划的制作方法

文档序号:25292949发布日期:2021-06-01 17:45阅读:204来源:国知局
自动驾驶车辆规划的制作方法

本公开涉及自动驾驶车辆(av)操纵规划。



背景技术:

自动驾驶车辆,也称为无人驾驶车辆,是指具有用于监视其外部环境的传感器系统和能够使用这些传感器自动做出和实施驾驶决策的控制系统的车辆。这尤其包括基于来自传感器系统的输入来自动调整车辆的速度和行驶方向的能力。完全自动驾驶或“无驾驶员”的车辆具有足够的决策能力,无需人类驾驶员的任何输入即可操作。然而,本文所使用的术语自动驾驶车辆也适用于半自动驾驶车辆,半自动驾驶车辆具有更有限的自动驾驶决策能力,因此仍然需要人类驾驶员的一定程度的监督。



技术实现要素:

为了安全且有效地导航遇到的驾驶场景,自动驾驶车辆规划器需要能够规划在所遇到的场景中要执行的操纵序列。本发明提供了一种推理框架,该推理框架允许计算机实施的av规划器在考虑其他车辆/主体的预计行为的情况下,推理在其遇到的驾驶场景中的不同操纵序列的可能效果,使得它可以确定在该场景中要执行的适当操纵序列(自我车辆操控)。

本发明的各方面均涉及一种自动驾驶车辆(av)规划方法,包括:

接收与av有关的传感器信号(输入);

处理传感器输入以确定遇到的驾驶场景;

在av规划器中,执行树搜索算法以确定与通过构建的游戏树的路径对应的av操纵序列;以及

生成用于执行所确定的av操纵序列的av控制信号;

其中,游戏树具有表示所遇到的驾驶场景的预计状态的多个节点,并且通过基于(i)候选av操纵和(ii)所遇到的驾驶场景中的至少一个外部主体(活动者)的预计行为更新子节点的父节点的驾驶场景状态,来确定每个子节点的预计驾驶场景状态。

通过将生成行为模型应用于从传感器信号导出的外部主体的一个或更多个观察参数,来模拟外部主体的预计行为。

生成行为模型还可应用于一个或更多个自我车辆参数(以对另一活动者对自我车辆实施规划方法或以其他方式由规划方法控制的响应进行建模)和/或驾驶场景的一个或更多个参数(诸如道路布局/其他驾驶环境参数,以对另一活动者对其环境的响应进行建模)。

在本发明的第一方面中,生成行为模型是机器学习(ml)模型,该机器学习(ml)模型已经基于观察的真实世界驾驶行为的示例进行了训练。

即,第一方面提供了一种自动驾驶车辆(av)规划方法,包括:

接收与av有关的传感器输入;

处理av传感器输入以确定遇到的驾驶场景;

在av规划器中,执行树搜索算法以确定与通过构建的游戏树的路径对应的av操纵序列;以及

生成用于执行所确定的av操纵序列的av控制信号;

其中,游戏树具有表示所遇到的驾驶场景的预计状态的多个节点,并且通过基于(i)候选av操纵和(ii)所遇到的驾驶场景中的至少一个外部主体的预计行为来更新子节点的父节点的驾驶场景状态,来确定每个子节点的预计驾驶场景状态;以及

其中,通过将生成行为模型应用于从传感器输入导出的外部主体的一个或更多个观察参数,来模拟外部主体的预计行为;生成行为模型是已经基于观察的真实世界驾驶行为的示例进行了训练的机器学习(ml)模型。

在实施例中,可以将对象跟踪应用于传感器输入以确定外部主体的观察踪迹,并且可以基于观察踪迹来模拟外部主体的预计行为。

用于训练生成模型的观察的真实世界驾驶行为的至少一些示例可能已经从闭路电视数据提取。

生成行为模型可以包括经训练的神经网络。

可以使用针对所遇到的驾驶场景的驾驶区域而学习的空间马尔可夫模型的学习的占用概率和/或转变概率,来模拟外部主体的预计行为。

树搜索算法可以是概率树搜索算法。

树搜索算法可以是蒙特卡洛树搜索(mcts)算法。

可通过根据定义的场景描述语言从传感器输入提取驾驶场景参数集合来确定驾驶场景。

生成行为模型还应用于一个或更多个自我车辆参数和/或驾驶场景的一个或更多个参数。

在本发明的第二方面中,生成行为模型采取逆向规划器的形式,该逆向规划器将逆向规划方法应用于一个或更多个观察参数以模拟预计行为。

即,第二方面提供了一种自动驾驶车辆(av)规划方法,包括:

接收与av有关的传感器输入;

处理传感器输入以确定遇到的驾驶场景;

在av规划器中,执行树搜索算法以确定与通过构建的游戏树的路径对应的av操纵序列;以及

生成用于执行所确定的av操纵序列的av控制信号;

其中,游戏树具有表示所遇到的驾驶场景的预计状态的多个节点,并且通过基于(i)候选av操纵和(ii)所遇到的驾驶场景中的至少一个外部主体的预计行为来更新子节点的父节点的驾驶场景状态,来确定每个子节点的预计驾驶场景状态;以及

其中,通过将逆向规划方法应用于从传感器输入导出的外部活动者的一个或更多个观察参数,来模拟外部主体的预计行为。

逆向规划方法可包括:确定在所遇到的驾驶场景中的外部活动者的可用目标集合,以及针对可用目标集合应用概率性或确定性目标识别,以便模拟预计行为。确定性目标识别意味着,将可用目标之一识别为由外部活动者实施。概率性目标识别意味着,针对可用目标中的至少一个估计外部主体正在实施该目标的概率(例如,每个目标的概率,其是外部活动者正在实施该目标的概率)。

可以将对象跟踪应用于传感器输入,以便跟踪所遇到的驾驶场景中的至少一个外部活动者,并且由此确定在时间间隔内外部活动者的观察踪迹。

逆向规划方法可包括:

确定在所遇到的驾驶场景中外部活动者的可用目标集合;

针对可用目标中的每一个,确定预期轨迹模型;

将外部活动者的观察踪迹与可用目标中的每一个的预期轨迹模型进行比较,以确定该目标的似然度;以及

使用所确定的目标中的至少一个目标的似然度,来模拟外部活动者的预计行为。

使用所确定的至少一个目标的似然度来模拟外部活动者的预计行为的步骤可包括:基于至少一个目标的预期轨迹模型和所确定的该目标的似然度,来计算外部活动者的至少一个预测轨迹。

每个目标的预期轨迹模型可以是与该目标相关联的预测轨迹的分布。

每个目标gi的分布包括:预测轨迹集合中的每个预测轨迹t的条件概率p(t|gi),并且该目标的似然度p(gi|τ)用于在给定观察踪迹τ的情况下,估计至少一个预测轨迹概率p(t|τ)。

观察踪迹可用于预测目标的最佳可用轨迹模型,所述比较包括将最佳可用轨迹模型与预期轨迹模型进行比较。

观察踪迹可用于预测外部活动者的当前操控和/或未来操控,并且所预测的当前操控或未来操控可用于确定最佳可用轨迹模型。

可以针对至少一个目标确定多个操控的序列,并且可以基于分别与多个操控相关联的部分轨迹模型来确定目标的最佳可用轨迹模型。

每个部分轨迹模型可以包括一个或更多个目标运动值,并且可以通过将运动平滑应用于目标运动值来确定最佳可用轨迹模型的未来部分的一个或更多个运动值。

每个目标的预期轨迹模型可以是该目标的单个预期轨迹。

每个目标的最佳可用轨迹模型可以是单个最佳可用轨迹。

每个操控的部分轨迹模型可以是该操控的最可能的部分轨迹。

可将定义的成本函数应用于每个目标的预期轨迹模型和最佳可用轨迹模型两者,以确定预期轨迹模型和最佳可用轨迹模型的相应成本,其中,所述比较包括比较那些成本。

成本函数可以在惩罚不安全轨迹的同时奖励减少的驾驶时间。

成本函数还对缺乏舒适感进行惩罚。

可以通过基于所确定的目标的似然度从可用目标集合中采样目标,来模拟外部主体的预计行为。

可以针对不同的操控或操控序列来确定不同的目标分布,以及可以通过基于操控分布从可能操控集合中采样操控或操控序列,且然后基于针对操控或操控序列确定的目标分布从可用目标集合中采样目标,来模拟外部主体的预计行为。

可以使用在操控级别的逆向规划来确定操控分布,这可以包括:针对可能操控中的每一个,确定预期轨迹模型,以及将外部活动者的观察踪迹与针对可能操控中的每一个的预期轨迹模型进行比较,以确定该操控的似然度。

可对具有不同采样目标的多个构建的游戏树多次执行搜索算法,并且可以由av规划器基于多个构建的游戏树内的路径的统计分析来确定av操控序列。

可以将对象跟踪应用于传感器输入,以便跟踪所遇到的驾驶场景中的至少一个外部活动者,并且由此确定在时间间隔内外部活动者的观察踪迹;

其中,逆向规划方法可包括:

确定在所遇到的驾驶场景中针对外部活动者的可能操控集合,

针对可能操控中的每一个,确定预期轨迹模型,

将外部活动者的观察踪迹与针对可能操控中的每一个的预期轨迹模型进行比较,以确定该操控的似然度,以及

使用所确定的操控中的至少一个操控的似然度,来模拟外部活动者的预计行为。

每个操控的预期轨迹模型可以是与该操控相关联的单个轨迹。

每个操控的预期轨迹模型可以是与该操控相关联的预测轨迹的分布。

本发明的第三方面提供了一种自动驾驶车辆(av)规划方法,包括:

接收与av有关的传感器输入;

处理传感器输入以确定遇到的驾驶场景;

在av规划器中,执行树搜索算法以确定与通过构建的游戏树的路径对应的av操纵序列;以及

生成用于执行所确定的av操纵序列的av控制信号;

其中,游戏树具有表示所遇到的驾驶场景的预计状态的多个节点,并且通过基于(i)候选av操纵和(ii)所遇到的驾驶场景中的至少一个外部主体的预计行为来更新子节点的父节点的驾驶场景状态,来确定每个子节点的预计驾驶场景状态;以及

其中,通过将目标识别应用于从传感器输入导出的外部活动者的一个或更多个观察参数,来模拟外部主体的预计行为。

目标识别可以包括针对可用目标集合中的每一个计算:

基于一个或更多个观察参数的针对目标的最佳可用轨迹模型,以及

针对目标的最优轨迹模型。

目标识别可以是概率的,并且可以通过将每个目标的最佳可用轨迹模型与最优轨迹模型进行比较来确定目标分布。

可以将定义的成本函数应用于每个目标的预期轨迹模型和最佳可用轨迹模型两者,以确定预期轨迹模型和最佳可用轨迹模型的相应成本,并且可以通过比较它们的成本来比较那些轨迹模型。

可以针对多个可能操控或操控序列确定多个目标分布。

可以根据基于目标分布从可用目标集合中采样的目标,来模拟预计行为。

可以通过基于针对外部主体确定的操控分布从可能操控中采样至少一个操控,然后从针对所采样的操控确定的目标分布中采样目标,来模拟预计行为。

可以对具有不同采样目标的多个构建的游戏树多次执行树搜索算法,并且可以由av规划器基于多个构建的游戏树内的路径的统计分析来确定av操控序列。

可替代地,可以使用目标识别决策树来执行目标识别。

本发明的另一方面提供了一种配置自动驾驶车辆的方法,该方法包括:

在训练系统处,接收从一个或更多个驾驶区域捕捉的真实世界驾驶行为数据;

处理真实世界驾驶行为,以提取用于训练生成模型的真实世界驾驶行为的示例;

使用所提取的驾驶行为示例来训练生成行为模型,以基于外部主体的一个或更多个观察参数来预测外部主体的行为;以及

将经训练的生成行为模型存储在自动驾驶车辆的电子存储装置中,其中,自动驾驶车辆包括自动驾驶车辆规划器,自动驾驶车辆规划器被配置为使用该生成行为模型来实施本文公开的任何方面或其任何实施例的方法。

以上提及的传感器输入可以包括从av传感器系统接收的传感器输入。进一步或可替代地,传感器输入可包括经由通信链路接收的外部捕捉的传感器输入。

本发明的另一方面提供了一种自动驾驶车辆(av)规划方法,包括:

接收与av有关的传感器输入;

处理av传感器输入以确定遇到的驾驶场景;

在av规划器中,执行树搜索算法以确定与通过构建的游戏树的路径对应的av操纵序列;以及

生成用于执行所确定的av操纵序列的av控制信号;

其中,游戏树具有表示所遇到的驾驶场景的预计状态的多个节点,并且通过基于(i)候选av操纵和(ii)所遇到的驾驶场景中的至少一个外部主体的预计行为来更新子节点的父节点的驾驶场景状态,来确定每个子节点的预计驾驶场景状态。

以上特征中的任一个可以在其实施例中实施。

本发明的另外的方面提供一种包括执行硬件的计算机系统以及一种包括可执行指令的计算机程序,该执行硬件被配置为执行本文公开的该方法步骤中的任一方法步骤,该可执行指令被配置为当被执行时实施该方法步骤中的任一方法步骤。

再另外的方面提供了一种具体在计算机系统中的自动驾驶车辆(av)规划器以及一种包括自动驾驶车辆规划器和驱动机构的自动驾驶车辆,该自动驾驶车辆(av)规划器被配置为实施本文公开的该方法步骤中的任一方法步骤,该驱动机构耦接至该自动驾驶车辆规划器并且响应于由该av规划器生成的控制信号。

附图说明

为了更好地理解本发明,并示出本发明的实施例可以如何实施,请参考以下附图,在附图中:

图1示出了示意性功能框图,其示出了在自动驾驶车辆计算机系统中实现的功能部件;

图2示出了可以用于自动驾驶车辆操纵规划的示例性游戏树;

图3示出了树搜索算法的流程图,该树搜索算法可以用于从游戏树中选择要执行的操纵序列;

图4示出了用于训练生成行为模型的训练系统的示意性功能框图;

图5a-图5c示出了在模拟器中实现的本技术的示例;

图6示出了逆向规划方法的流程图;

图7a-图7c通过示例示出了逆向规划的某些原理;

图8示出了基于两个可能操纵的树搜索的示例;

图9示出了基于两个以上操纵的树搜索的示例;

图10示出了示例性逆向规划方法的流程图;

图11示出了用于替代目标识别方法的决策树;

图12示出了结合来自逆向规划的预测的操控规划方法的示意性功能框图;

图13示出了从cctv数据学习的轨迹模型的示例;

图14a-图14c示出了其中可实施所描述的技术的示例性场景;

图15示出了高级别流程图,以示出应用于关于(一个或更多个)其他主体的概率预测的蒙特卡洛树搜索的某些原理;以及

图16示出了空间马尔可夫模型的示例,该空间马尔可夫模型对由cctv监测的区域中的正常驾驶行为进行建模。

具体实施方式

下面详细描述本发明的示例性实施例。首先描述本发明的一些有用的背景。

图1示出了在av(自我车辆)的车载计算机系统a1中实现的某些功能部件(即,数据处理部件a2、预测部件a4和av规划器a6)的高度示意性功能框图。

数据处理部件a2接收来自av的车载传感器系统a8的传感器数据。车载传感器系统a8可以采取不同的形式,但通常包括各种传感器,诸如图像捕捉设备(相机)、lidar单元等、(一个或更多个)卫星定位传感器(gps等)、(一个或更多个)运动传感器(加速度计、陀螺仪等)等,这些传感器共同地提供丰富的传感器数据,从丰富的传感器数据中可以提取关于周围环境和该环境内的av和其他活动者(车辆、行人等)的状态的详细信息。

然而,应注意,本技术不限于使用利用av自身的车载光学传感器(图像捕捉设备、激光雷达等)捕捉的图像数据等。可替代地或另外地,可以使用外部捕捉的传感器数据(例如,由av附近的外部图像捕捉单元捕捉的cctv图像等)来应用该方法。在这种情况下,av可经由一个或更多个无线通信链路从外部传感器数据源接收用于实现该方法的传感器输入中的至少一些。

数据处理系统a2处理传感器数据以从中提取这种信息。这通常将涉及各种形式的机器学习(ml)/人工智能(ai)处理。在当前背景下,相关的数据处理系统a2的功能包括定位(框a10)、对象检测(框a12)和对象跟踪(框a14)。

执行定位以提供周围环境和该环境内的av位置的感知。为此,可以使用各种定位技术,包括可视的和基于地图的定位。举例来说,参考名称为“vehiclelocalization(车辆定位)”的英国专利申请no.1812658.1,该专利通过引用以全文并入本文。此专利申请公开了使用视觉检测和预定地图数据的组合的合适的定位方法。分割被应用于视觉(图像)数据以检测周围的道路结构,该道路结构进而与预定的地图数据(诸如hd(高清晰度)地图)相匹配,以便确定在地图参考系中相对于道路和/或周围环境的其他结构的av位置的准确且鲁棒的估计值,道路和/或周围环境的其他结构进而通过合并视觉和地图数据通过视觉检测和基于地图的推断的组合来确定。为了确定位置估计值,使用粒子滤波或类似方式将从结构匹配确定的个别位置估计值与其他(一个或更多个)位置估计值(诸如,gps)组合,以提供在地图参考系中av的准确位置估计值,该准确位置估计值对于个别位置估计值的准确性波动具有鲁棒性。在已经准确地确定地图上的av位置之后,视觉检测到的道路结构与预定地图数据合并,以提供实时地图形式的车辆的当前和历史周围环境的全面表示以及地图参考系中的av位置的准确且鲁棒的估计值。在当前背景下的术语“地图数据”包括如通过将视觉(或其他基于传感器的)检测与预定地图数据合并而导出的实时地图的地图数据,但还包括预定地图数据或仅从视觉/传感器检测导出的地图数据。

对象检测被应用于传感器数据以检测和定位环境内的外部对象,外部对象诸如车辆、行人和其他外部活动者,av需要能够安全地响应外部对象的行为。例如可以包括3d边界框检测的形式,其中,估计环境内和/或相对于自我车辆的对象的位置、方位和大小。例如可以应用于诸如rgbd(红绿蓝深度)、lidar点云等的(3d)图像数据。这允许在地图上确定这样的外部活动者的位置和其他物理特性。

对象跟踪用于跟踪环境内检测到的对象的任何移动。结果是随着时间通过对象跟踪确定的每个对象的观察踪迹(τ)。观察踪迹τ是移动对象的历史记录,其捕捉移动对象随时间的路径,并且还可在不同时间点捕捉诸如对象的历史速度、加速度等其他信息。

结合使用,对象检测和对象跟踪允许在确定的av周围的地图上被全面地定位和跟踪外部活动者。

对象检测和对象跟踪本身是众所周知的,并且可以使用各种可公开获得的现有技术模型来在当前背景下执行。

通过定位、对象检测和对象跟踪的组合,数据处理部件a2提供自我车辆周围环境的全面表示、该环境内的任何外部活动者的当前状态(在可以检测的范围内的位置、前进方向、速度等)以及av已经能够跟踪的这种活动者的历史踪迹。这被连续地实时更新以提供最新的位置和环境感知。

预测部件a4使用该信息作为预测分析的基础,其中,预测部件a4对av附近的外部活动者的未来行为进行预测。以下描述了合适的预测方法的示例。

av规划器a6使用所提取的关于自我周围环境和该环境内的外部主体的信息连同由预测部件a4提供的行为预测作为av规划的基础。也就是说,由预测部件a4进行的预测分析在已由数据处理部件从传感器数据中提取的信息之上添加预测信息的层,该信息进而由av规划器a6用作av规划决策的基础。这通常是分层规划过程的一部分,在该分层规划过程中,av规划器a6做出各种高级别决策,然后做出实现高级别决策所需的越来越低级别的决策。最终结果是一系列实时的、低级别的动作决策。为了实现这些决策,av规划器a6生成控制信号,该控制信号至少部分地输入到av的驱动机构a16,以便(例如,通过转向、刹车、加速、换档)控制车辆的速度和前进方向等。还生成控制信号以执行诸如信令的辅助动作。

场景提取部件a3使用数据处理部件a2的输出来确定自我车辆所遇到的驾驶场景。所确定的驾驶场景包括驾驶场景参数,驾驶场景参数从所捕捉的传感器数据中提取,并且驾驶场景参数提供简明但足够详细以用作现实模拟的基础的av所遇到的真实世界场景的表示。这用结构化场景描述语言来制定,该结构化场景描述语言可被用作这种模拟的基础。在附录a中提供了正式场景描述语言中的场景描述的示例。

模拟器a5接收所遇到的驾驶场景的参数,并且可以基于这些参数运行模拟。这些是在不同假设下遇到的驾驶场景中可能发生情况的模拟。这些模拟用作av规划的基础,其中,av规划器a6运行多个模拟,目的是确定在遇到的驾驶场景中要采取的操纵的全局最优序列以执行定义的目标(即,实现所期望的结果,诸如到达地图上的特定位置)。在下面描述的示例中,模拟作为由av规划器a6的操纵选择部件a7执行的蒙特卡洛树搜索(montecarlotreesearch,mcts)的一部分运行。

预测部件a4的功能是对要作为模拟的一部分运行的预测的外部主体行为进行建模。即,执行外部主体行为模型用于预测所遇到的驾驶场景中的任何外部活动者的行为,使得所预测的行为可被并入到操纵规划所基于的模拟中。

操纵规划

在自我车辆行进时,为了执行定义的目标,必须规划执行哪些操纵。如所指示的,这可以使用蒙特卡洛树搜索来实现,蒙特卡洛树搜索是用于决策过程的启发式搜索算法。蒙特卡洛树搜索是“在线”推理过程,即,其由av规划器a6执行以便实时做出实际驾驶决策。

mcts应用于游戏树。游戏树是源自游戏理论的数据结构,游戏树提供用于经由对能够被有意义地评分的不同可能结果的系统分析而做出合理决策的框架。完全构建的游戏树以有限数量的可能“移动”捕捉“游戏”的每个可能结果,其中,术语游戏在数学意义上用于意指决策主体之间的战略交互(移动)的正式模型。树搜索算法可以应用于游戏树,目标是确定对应于通过游戏树的特定路径的移动序列,移动序列相对于定义的奖励(分数)函数是(全局)最优的。

mcts是用于搜索游戏树的高效概率树搜索算法。随着不同路径的探索,游戏树被动态地构建。mcts的益处在于,它可以提供渐进地正确的逼近,而不需要完全探索通过游戏树的每条可能的路径,即,不需要考虑每个可能的移动序列,这进而意味着不需要完全构建游戏树。在这种情况下,mcts不保证将找到真正的全局最优的移动序列,但是算法在给定了合理量的时间和计算资源的情况下将朝着足够优化的解收敛。

注意,在当前背景下,可能存在关于一组离散的有序操纵的变型,这些操纵被视为用于本目的的唯一序列。例如,时间t0与t1之间的“跟随车道”和t1与t2之间的“转换车道”可以被认为是时间t0与t1’(不同于t1)之间的“跟随车道”和t1’与t2之间的转换车道的不同的操纵序列,因为从跟随车道到转换车道的变化发生在不同的相应时间。

在当前背景下,移动是驾驶操纵。当自我车辆遇到它需要导航的实际驾驶场景时,mcts被用作系统地推理在所遇到的驾驶场景中的不同自我操纵(即,自我车辆的av规划器a6可能采取的操纵)的不同可能结果的手段,并考虑其中任何外部主体(其他车辆、行人等)的预测行为。这是通过如上所述的基于所捕捉的传感器数据参数化所遇到的驾驶场景,并且基于所提取的驾驶场景参数和如由预测部件a4建模的外部主体行为在模拟器a5中运行不同的模拟来实现的。

概率树搜索算法(诸如mcts)的使用允许为大游戏树找到足够最优的操纵序列作为实时av决策的一部分。在当前背景下,游戏树可以很大,因为在场景中可能存在许多主体。

使用这些模拟的结果来评估所定义的奖励函数,以便对通过游戏树的不同可能路径进行评分,这进而驱动mcts的执行朝着相对于奖励函数的全局最优路径进行。

图2中示出了示例性游戏树d00。

游戏树d00具有表示遇到的驾驶场景的当前状态s0(为了方便定义为时间t=0)的根节点d02。这捕捉了自我车辆的实际当前状态和所遇到的驾驶场景内的任何外部主体相对于其周围环境,特别是相对于周围道路布局/结构的当前状态(位置、速度、加速度等)。

mctd00的附加节点表示在关于自我车辆的行为的不同假设下在未来的不同时间的驾驶场景的预计(即,预测、未来)状态。mctd00的结构允许av规划器a6来推理,在自我车辆要执行给定操纵序列的情况下在驾驶场景中可能发生的情况。

为了便于这种推理,mctd00的结构如下。

可能的操纵由蒙特卡洛树d00的边表示。给定其当前状态s0和要执行的定义目标的情况下,假设自我车辆的可能操纵。

除根节点d02之外的每个节点是另一个节点(其父节点)的子节点,并且表示驾驶场景的预计状态。基于遇到的驾驶场景的模拟来确定每个这种节点的预计状态,该驾驶场景的模拟在某组相关假设下在模拟器a5中运行,如现在将描述的。

示出了从每个父节点到其相应的一个或更多个子节点的边。每个父子节点对之间的边表示在给定由父节点表示的驾驶场景的状态(在时间t)的情况下av规划器a6可采取的对应操纵;子节点进而表示在间隔δt上执行该操纵的情况下驾驶场景的预计状态(在时间t+δt)。

通过基于驾驶场景的适当模拟对由其父节点表示的驾驶场景状态进行更新,来确定每个子节点的预计驾驶场景状态。驾驶场景模拟基于以下各项来运行:所提取的驾驶场景描述参数;父状态(这可以例如被用作模拟的起始状态);父节点和子节点之间的对应操纵(在时间t和t+δt之间模拟其执行);以及在时间t与t+δt之间模拟的外部主体行为(如由预测部件a4建模的)。

通过在给定由父节点表示的驾驶场景的状态、该时间间隔δt中的外部主体行为以及要执行的操纵的情况下,模拟或“展示”av规划器a6将在真实生活中采取的动作,来模拟由自我车辆在间隔δt中对应操纵的执行。

可使用“动作策略”来模拟自我车辆的操纵的执行,“动作策略”已被学习或以其他方式被确定用于在给定特定状态的情况下执行所讨论中的操纵。动作策略还被av规划器a6用作在真实世界中执行该操纵的基础。例如,可以通过强化学习(rl)“离线”学习动作策略。举例来说,参考名称为“autonomousvehiclemanoeuvres(自动驾驶车辆操纵)”的英国专利申请no.1816852.6,该专利申请通过引用以全文并入本文。此专利申请公开了用于操纵学习的框架,其中训练场景是从观察到的驾驶行为数据确定的。

如所指示的,通过执行预测部件a4的外部主体行为模型来模拟外部主体行为。稍后描述合适的行为模拟模型的示例。

举例来说,图2示出了从根节点d02到根节点的3个直接子节点的边d04a-c,3个直接子节点分别标记为d06a-c。这些边d04a-c中的每个表示不同操纵,不同操纵可以在给定它们从其延伸的节点(在该示例中为根节点d02)的驾驶场景的状态s0的情况下被执行。这些子节点中的每一个分别表示驾驶场景的后续状态s1a、s1b、s1c,后续状态在自我车辆从状态s0开始执行对应操纵的情况下被预测。

例如,相对于父状态s0,在多车道驾驶场景中,边d04a-c可以分别对应于“跟随车道”、“左转车道”和“右转车道”。在状态s0中,自我车辆处于当前车道:执行跟随车道操纵以在可应用时间间隔δt内停留在当前车道中;执行左转车道和右转车道以分别尝试移动到当前车道的左侧和右侧的车道。状态s1a、s1b、s1c是根据相关操纵,通过将在相关时间间隔上的外部主体行为考虑在内来使父状态s0进展而获得的。

可能适用的其他示例性操纵包括减速、继续和退出(例如,在导航环状交叉路口时)。

如将认识到的,从节点的相应父状态开始,以完全相同的方式获得进一步沿树向下的节点的驾驶场景状态。

某些节点是终止(终端)节点,即,没有子节点的节点,诸如图2中的节点d08和d10。这些表示“末端状态”,从广义上讲,“末端状态”对应于自我车辆已经成功执行定义的目标(成功)的点,或者对应于确定定义的目标已经失败的点。失败可以视情境而定以各种方式来定义,但示例包括:自我车辆被迫中止目标;该车辆被确定为已经进行不充分的进展;以及该车辆撞毁或以其他方式出于安全原因失灵。视情境而定,从根节点d02开始,可能需要操纵或操纵序列来到达终止节点。

可选地,可将末端目标分解成两个或更多个中间目标,当末端目标太远时,这可能是适当的。在该背景中,每个中间目标可基于其自己的游戏树来执行,该游戏树具有表示中间目标的末端状态(但不一定是末端目标的末端状态)的终止节点。

游戏树d00是有限树,因为通过游戏树d00的每个可能的路径在有限数量的移动之后最终终止于终止节点。

基于奖励函数,给每个考虑的终止结节点分配分数(奖励),该分数(奖励)指示其所表示的结果的可取性。这可以是简单的二进制方案,具有分别用于成功和失败的两个分数,或者可以在适当时应用更丰富的评分机制。例如,如果在较短的时间量内达到成功的结果,或者在情境中适当的任何标准下成功的结果以其他方式更合乎需要,则成功的结果可被更高地评分。分配给通过游戏树的每个可能路径的分数简单地是分配给其终止节点的分数。

奖励不一定仅在终端状态中给出。基于奖励函数为每个考虑的路径分配分数(奖励),该分数(奖励)指示其所表示的结果的可取性。这可以是简单的二进制方案,具有分别用于成功和失败的两个分数,或者可以在适当时应用更丰富的评分机制。例如,如果在较短的时间量内达到成功的结果,或者在情境中适当的任何标准下成功的结果以其他方式更合乎需要,则成功的结果可被更高地评分。

在本示例中,游戏是单玩家模型,其中,每条边对应于自我车辆的操纵。外部主体的行为被捕捉为在从可应用父节点移动到可应用子节点时发生的状态变化的一部分。虽然该方法确实展示了其他主体可能做什么,但是它不一定在该展示中包含了其他主体可能如何响应自我车辆的假设动作(但是两者都不排除)。即,虽然生成行为可以建模外部活动者对自我车辆以及对其周围(驾驶背景,例如道路布局)的响应,但是不要求建模由外部活动者做出的高级别决策,因为可以用更简单的模型来实现可接受的结果。然而,本技术可被扩展以合并外部活动者的高级别规划(诸如逆向规划)的模型。

可以仅假设可能的(即,现实上可实现的)操纵。例如,如果车辆处于相对于t型交叉口的特定位置(对应于父状态),则可能存在三种可能的操纵:停止、左转和右转,但继续直行将不会成为选项。

作为另一个示例,在多车道道路中,可用操纵可以是跟随车道和转换车道。mcts用于对那些操纵进行排序,使得车辆保持跟随车道操纵,直到开始转换车道操纵是安全的。

该模型可以结合对车辆在真实世界中的行为方式的一定程度的理解。例如,它知道车辆的一个限制是不能当场转弯。因此,不假设将需要不可能的车辆行为的任何操纵。

一种识别通过游戏树d00的最优路径的方式是评估每个可能的终止节点的分数,并选择具有最高分数的路径。然而,实际上,这可能是不可行的,尤其是实时的。

在这种情境下,可以使用诸如mcts的概率树搜索,其能够使用合理的计算资源量在合理的时间量中找到至少足够接近最优的路径。

图8示出了mct800的简单示例,当针对给定目标仅存在两个可能的操纵时可以使用mct800。例如,目标可以是从侧方道路沿特定方向加入交通流。在该示例中,av需要向左转以加入道路。如果两条道路都是单车道,则av可以实施的两个可能的操纵是停止或左转。这取决于车辆何时从“停止”变为左转而产生了多种可能的操纵序列,例如,(停止、停止、转弯、转弯、……)对(停止、停止、停止、转弯、……)等。

av的当前状态s0是当av接近交叉口时的状态。这在时间t0由根节点802表示。av可以停止在交叉口处或左转至道路上。这两个可能的操纵分别由边804a和804b表示。

为了实现加入主道路的目标,av必须实施左转的操纵,边804b。然而,这可以在任何时间实施。mct800示出了在5个时间间隔δt中的每个之后的av的预测状态,但是应当理解,可以考虑更多或更少的时间间隔。尽管确定状态的时间间隔在图8的mct中示出是相同的,但是应当理解,每次迭代的时间间隔可以改变。

av在状态s0中开始。如果av选择立刻左转至主道路,跟随边804b,则预测状态是s1b,由子节点806b表示。这是终止节点,因为av已经加入主道路。如果状态s1b是av的安全状态,则终止节点806b是成功。然而,如果状态s1b不安全,例如,av已经与外部主体冲突或接近外部主体,则终止节点806b是失败。

或者,在t0时,av可以实施停止操纵,跟随边804a。因此,所产生的预测状态s1a将对应于在与主道路的交叉口处停止的av。然后,av必须在时间t0+δt时决定是否实施左转操纵(取边804b)或保持停止(取边804a)。

再次,这导致具有与主道路上的av对应的状态s2b的一个终止节点810b,以及由于av尚未加入主道路而不作为终止节点的一个子节点810a。

这针对每个附加时间步长重复,其中,路径以对应于已加入主道路的av的状态终止。这些状态中的一些将是失败,而其他状态将是成功。然后从所构建的mct中找到最优路径。

图9示出了av从具有两个车道的道路接近环状交叉路口的示例性mct。图5a-图5c示出了这种场景(见下文)。

目标是av加入环状交叉路口。最初状态s0包括av在左侧车道中接近环状交叉路口。av可以执行三种可能的操纵:停止、跟随车道以及右转。这三种操纵分别由边904a、904b、904c表示。结果状态s1a、s1b和s1c分别对应于av在与环状交叉路口的交叉口处停止、在其当前车道中加入环状交叉路口或者转换到道路的右侧车道。

如果av跟随边904b,则结果状态s1b是终止节点906b。这是因为av已经加入了环状交叉路口。终止节点906b可以是或可以不是成功节点。

如果av实施右移动操纵、跟随边904c,则av进入道路的右侧车道。然后,av具有继续向前(边908b)或停止(边908a)的选项。通过继续向前,av加入环状交叉路口,因此路径以终止节点910b终止。然而,如果av停止,则av可以在下一时间间隔实施停止或跟随车道(即,在右侧车道中加入环状交叉路口)的操纵。

如果av从当前状态s0,实施停止操纵(跟随边904a),则av具有再次实施三种操纵,即停止、跟随车道和向右移动中的任一个的选项。

每次实施跟随车道操纵时,由于av已经加入环状交叉路口,所以生成终止节点。当实施向右移动操纵时,向右移动操纵不能在下一次迭代时被实施,因此子节点的数量减少一个。当实施停止操纵时,所有三种操纵保持可行。能够以这种方式为所有可能的路径构建mct。一旦构建mct,就找到了最优路径。

如上所述,mct不需要为了找到足够最优的解而被完全构建。

图3示出了可以在图2的游戏树d00上执行的示例性mcts算法的流程图。因为mcts方法本身是已知的,所以仅简要地描述相关步骤以便示出mcts在当前背景下的应用。

mcts基于概率计算迭代地操作,该概率计算可以被认为是来自考虑中的终止节点的奖励的“反向传播”的形式(注意,这是与用于神经网络中的反向传播的链规则不同的概率计算)。

游戏树d00是随着mcts的执行而动态构建的,在实践中可能仅部分地构建游戏树d00。每当遇到新的状态时增加节点,并且假设车辆可以从该状态执行的可能操纵。这继续直到到达终止节点。

每次迭代都从遍历现有树开始,从最初选择根节点d02开始(步骤e0)。所选择的节点被标记为被访问(e2),并且尝试通过游戏树d00从根节点到终端节点的单个路径(e4)。这意味着运行模拟以确定驾驶场景的状态的连续变化,如上所述,(从根节点的状态开始)直到到达终止节点。扩展是随机的,即,随机选择操纵并且将新节点添加到树。如果新节点不是终端,则针对终端节点模拟展示(rollout)。展示也是随机的,即,从叶节点开始,随机选择操纵,以便从那里进展到终端节点。然后,如上所述对迭代进行评分,并且关于该分数的信息通过被访问节点被反向传播(e6)。接下来,选择未访问的节点(e8),并且从步骤e2开始对于新选择的节点重复该过程。

每次迭代可以从通过“访问”之前尚未被访问的节点开始,从最初选择根节点d02开始(步骤e0)。所选择的节点被标记为已访问(e2),并且扩展通过游戏树d00从所选择的节点到终止节点的单个路径(e4)。这意味着运行模拟以确定驾驶场景的状态的连续变化,如上所述,(从所选择的节点的状态开始)直到到达终止节点。路径扩展是随机的,即,从当前选择的节点开始,随机选择操纵,以便从那里进展到终止节点。然后,如上所述,终止节点被评分,并且关于该分数的信息通过扩展路径被反向传播(e6)(注意:沿着扩展路径的节点未被标记为已访问)。接下来,选择未访问的节点(e8),并且从步骤e2开始对于新选择的节点重复该过程。基于到目前为止已经通过游戏树反向传播的分数信息来选择未访问的节点,使得(随着时间的推移)将节点的选择偏向更有希望的结果,同时仍然鼓励进行足够级别的探索以减轻不想要的收敛到仅仅局部最优的风险。

该过程迭代地重复直到它终止(e10)。这可以例如是当已经达到某个时间限制或已经执行了某个迭代次数等时。mcts的益处在于,尽管它运行得越长,它将越接近平均全局最优解,但是它可以在任何时间被终止。

在终止时,av规划器a6选择被确定为最有希望的扩展路径之一,并且生成用于控制av以在已经遇到的真实世界驾驶场景中执行对应的操纵序列的控制信号(e12)。

最有希望的路径可以是具有最大分数的路径。然而,还可以考虑除分数之外的信息(见下文)。

在av遇到的真实驾驶场景中,道路布局通常将是固定的和已知的,然而场景中的其他车辆/活动者都是动态的。由此,有可能在mcts过程随时间运行时将检测到新的活动者。当在正在进行的mcts过程期间检测到新的活动者时,保留包括已经构建的现有节点和边的构建的游戏树的结构。然而,模拟在现有的游戏树上重新运行,以便考虑新检测到的主体的模拟行为来重新计算奖励函数。

图5a示出了应用于模拟器中的环状交叉路口驾驶场景的mcts过程的示例。自我车辆由附图标记500表示,并且需要在环状交叉路口上存在其他车辆502的情况下在环状交叉路口场景安全地规划。通过选择“减速”、“跟随车道”和“转换到右车道”(右转换)的操纵的足够最优的序列来这样做。

图5b示出了如何由mcts评估不同的操纵序列。

图5c示出了自我车辆500选择和执行操纵序列以进入环状交叉路口。然后,该过程重复以确定并执行操纵序列以退出环状交叉路口。

如下所述,可以用关于其他主体的行为的概率预测来实施mcts。例如,以下考虑概率操纵检测和概率目标识别两者。利用概率预测,在过程的开始处对一个或更多个相关分布进行采样以有效地获得确定性预测或预测集合((一个或更多个)样本)。然后利用从概率预测采样的不同确定性预测来重复mcts。

图15示出了利用概率预测实施的mtcs的高级别流程图。

在步骤1502中,针对外部活动者确定至少一个概率预测。例如可以是在主体p(m|τ)的可能的操纵上的分布p(m|τ)和/或在可能的目标p(g|o)上的分布p(g|o)(参见下文)。

符号o表示观察值集合。观察值o可以是观察到的踪迹τ自身(o=τ),但o不必限于此方面。例如,在一个实施方式中,观察值o可以包括主体的操控mj,在这种情况下,可以使用符号p(g|mj)(可能作为速记,因为观察值o可以包括(一个或更多个)附加参数)(还要注意,可以从踪迹τ推断操控)。

在步骤1504中,对步骤1504的(一个或更多个)分布进行采样以获得(一个或更多个)确定性预测的集合。例如,p(m|τ)可被采样以选择实际当前操控mj和/或p(g|o)可被采样以按照统计上鲁棒的方式选择实际当前目标(使得更可能的目标、操控等更可能被选择)。

在步骤1506中,如上所述,完整地执行mcts过程。这可以被迭代成mcts过程的“超级迭代”,以区别于在mcts过程内执行的探索树的迭代步骤。

用概率预测的不同采样来重复mcts的多个超级迭代,例如,在步骤1504中从相同的目标/操控分布p(g|o)/p(m|τ)中采样的不同的目标/操控。即,在步骤1504中针对每个超级迭代对(一个或更多个)概率预测进行重采样。此重复被示出为被执行直到满足停止条件集合(1508),例如,达到时间限制,或者执行某个数量的超级迭代等。

在完成mcts过程的所有超级迭代之后,在步骤1510中应用所有结果的统计分析,以便为自我车辆选择最有希望的操控序列。

在步骤1510中的总体结果的统计分析考虑了在mcts的每个超级迭代中确定的分数。然而,还可以考虑其他信息,诸如与给定操控序列相关联的“置信度”。置信度反映操控序列已经经由模拟测试的程度。例如,特定操控序列可能在一个mcts超级迭代中被高度评分,但恰好在其他超级迭代中未被测试。在那种情况下,序列具有高分数但低置信度,并且可被忽略,以偏向于具有较高置信度的较低评分操控序列,即,已被更广泛地测试的操控序列。

外部主体行为模拟

当构建游戏树d00时,为了确定驾驶场景状态变化,需要预测外部活动者的未来移动。如所指出的,为此目的由预测部件a4对这种外部主体行为进行建模。

在该背景下可以使用不同形式的生成模型。

合适的模型的一个示例是“逆向规划器”。举例来讲,参考名称为“autonomousvehicleplanningandprediction(自动驾驶车辆规划和预测)”的英国专利申请no.1816850.0,该专利通过引用以全文并入本文。此专利申请公开了可以在当前背景下使用的模拟外部主体行为的逆向规划器。下面描述了逆向规划。

可以假定主体规划与车辆处于相同的级别,尽管不一定使用相同的方法。

出于预测的目的,假定由车辆和外部主体共享的知识是地图。

在逆向规划的描述之后,稍后描述用于操纵规划的mcts可与目标识别组合的特定机制的进一步细节。

逆向规划部件a24被示出为形成图1中的预测部件a4的一部分。逆向规划部件a24(逆向规划器)实施如稍后描述的“逆向规划”。

进一步或替代地,可以训练生成模型以使用诸如cctv(闭路电视)镜头之类的真实生活驾驶行为数据来预测主体的未来移动。

一个这样的示例是基于神经网络的模型(或其他可训练函数近似器),其在t0之前的短时间段内使用外部主体的(一个或更多个)观察参数(诸如观察到的踪迹)来预测主体可能如何移动。这可以是概率模型或者可以是确定性的。这样的模型可以用于在(诸如未知道路布局)之前未遇到模型的驾驶背景中生成现实行为,从而利用这样的模型在经过适当训练时从训练示例概括的能力。

另一示例是已知驾驶区域的模型,其通过例如基于cctv镜头直接观察该驾驶区域而导出。例如,在城市驾驶背景中,可为困难的驾驶区域(诸如复杂的/繁忙的交叉口、环状交叉路口等)建立模型。一种这样的模型是空间马尔可夫模型,其中,驱动区域被划分为网格单元,并且通过长期观察来确定网格单元的占用概率和/或网格单元之间的转变概率,并且该模型进而可以用于基于其观察的(一个或更多个)参数来预测外部主体行为。

这些是经训练的行为生成模型的示例。

参见图4,可以训练生成模型f06以在训练计算机系统f00中离线地模拟外部主体行为。真实世界驾驶行为数据f01(诸如cctv数据)在训练系统的行为提取部件f02处被接收,该行为提取部件f02处理该数据以提取驾驶行为的示例以供在训练中使用。训练部件f04使用这些示例来训练生成模型f06,以基于如上所述的观察参数(诸如观察踪迹)来模拟外部车辆行为。训练部件f04和行为提取部件f02是在训练系统f00的一个或更多个处理器(未示出)上执行的训练系统f00的功能部件。在以这种方式训练生成模型f06之后,通过将生成模型f06传送到自动驾驶车辆的车载计算机系统a1的电子存储器,可以将生成模型f06结合到av中,以使得预测部件a4能够执行以上功能。

逆向规划

为了帮助av规划器a6做出av规划决策,诸如确定由自我车辆采取以安全且有效地执行定义的目标的操纵、动作等的序列,逆向规划器a24预测附近的外部活动者的移动,该外部活动者在当前背景下可被称为主体。逆向规划器a24是可以在以上背景中应用的生成行为模型的一个示例。

逆向规划可以在操纵级别实施,以便做出关于外部活动者的当前操纵的概率预测。例如,给定包括(或源自)踪迹τ的相关观察集合的情况下,逆向规划器a24可以预测可用操纵集合m(诸如“跟随车道”、“转换车道”转换车道等)上的概率分布p(m|τ)。在操纵级别的逆向规划是(概率)操纵检测的形式。

替换地或附加地,逆向规划可在目标级别实施,以便做出关于外部活动者的当前目标的概率预测。例如,逆向规划器a24可以预测可用目标集合g上的概率分布p(g|o)。例如,在具有左转的驾驶场景中,目标可以是被捕捉为合适的目标位置的“左转”目标或“继续直行”目标(即,保持在当前道路上并且不进行左转)。目标级别的逆向规划是(概率)目标识别的形式。

目标识别和操控检测将通常在不同的时间尺度上操作。目标识别通常考虑比操纵检测更长的未来的时间段。例如,操纵预测可能会在未来几秒(例如,5s级),而目标识别可能会(视情境而定)比这更遥远。因此,目标识别通常会考虑比操控识别更长的轨迹(即,未来更远的轨迹)。

目标可以例如被捕捉为地图上(即,在地图参考系中)的自我车辆试图从地图上的当前位置到达的期望位置(参考点),其中,期望位置是相对于遇到的道路布局定义的。例如,可以相对于特定交叉口、车道布局、环状交叉路口出口等来定义期望位置。给定周围道路布局和任何外部活动者的情况下,将存在车辆可采取以便通过到达期望位置成功地执行该目标的各种路径/动作。还存在自我车辆动作,将阻止自我车辆这样做,例如,选择较差的最初动作序列可能导致车辆被迫采取不想要的环状交叉路口退出,或者在继续执行目标不安全时由于外部活动者的行为而中止目标。将有关外部活动者的行为的可靠预测结合到规划中,帮助av规划器a6安全且有效地规划,从而最大程度地减少了中止目标的发生。

当在目标级别实施时,逆向规划假设每个外部主体的不同的可能目标,然后生成主体可以如何实现每个目标的轨迹,以及主体将跟随每个轨迹的似然度。基本假设是,每个外部主体将以可以使用生成模型来预测的方式动作。

在当前背景下的逆向规划指的是,可以由av预测部件a4实施的特定类别的预测方法。也就是说,逆向规划方法是通过假设外部活动者以可预测的方式规划来预测外部活动者(特别是其他车辆)的行为的特定方法。

术语“逆向规划”是指外部活动者将以可预测的方式规划其决策的这种基本假设。更正式地,假设是另一车辆将以可被假设的生成模型来规划和执行。

现在将参见图6来描述逆向规划方法,图6示出该方法的流程图。这考虑在目标级别的逆向规划,但是基本原理同样适用于在操控级别的逆向规划。该方法的步骤由逆向规划器a24实时地或伪实时地重复地执行,使得足够新的预测总是对av规划器a6可用。该方法利用由数据处理系统a2提供的信息,即关于周围环境/道路布局、环境内的任何其他活动者的位置/状态以及通过对象跟踪观察到的那些(一个或更多个)活动者的踪迹的信息。

针对所考虑的一个或更多个外部活动者(车辆、行人、骑车人等)中的每一个执行以下步骤,那些活动者是除了以下示例中的av之外的车辆。

在步骤sb2(图6)中,为所讨论的另一车辆确定假设目标集合。假设另一车辆当前正在执行这些目标之一。为了确定适当的假设目标集合,确定诸如另一车辆附近的道路布局的驾驶背景。

外部主体目标通常基于地图假设。例如,在给定在地图上指示的道路交叉口、环状交叉路口或其他道路布局(驾驶背景)的附近的外部车辆集合的情况下,可单独从道路布局假设合适的目标(而不考虑主体的任何观察到的历史行为)。举例来说,在左转交叉口附近有外部主体集合的情况下,假设的目标可以是左转和继续直行。如所指示的,这样的目标是参照地图上的合适的目标位置(例如,参考点)来定义的。

然而,可以以各种方式假设可用目标。例如,可以在假设外部主体目标中考虑观察到的历史行为(诸如在时间t之前观察到的踪迹),或者可以使用基于地图和基于历史行为的推断的组合来假设目标。

注意,即使当历史行为不用于假设可用目标时,其仍然用于确定那些目标中的每一个的似然度(因为p(g|o)取决于主体的行为的观察值o)。

已经确定了假设的目标集合,对于这些目标中的每一个执行以下步骤:

在步骤sb4中,针对所讨论的假设目标确定预期轨迹模型。预期轨迹模型是在假定另一车辆正在执行该特定目标的情况下模拟该另一车辆的未来行为的模型。特别地,假定另一车辆在该时间段δt期间执行该目标,预期踪迹模型指示该另一车辆在给定的时间段δt(从时间t到时间t+δt)内将采取一个或更多个特定路径(轨迹)的可能性。如所指示的,车辆正在执行的目标可以基于地图由终点参数化。例如,如果目标是继续直行(而不是比如左转),终点可以是在同一车道中的车辆前方设定距离(比如40m)处的道路上的点。可替代地,在例如多车道场景中,目标位置可以是沿前方道路的某个距离,而不指定特定车道(参见下文以获得进一步的细节)。

预期轨迹模型可以仅是针对给定目标的(单个)预测路径,但是在本示例中,其采取针对所讨论的目标的预测路径分布的形式。在当前情况下,通过在给定外部车辆在时间t的位置rt的情况下,为所讨论的目标合成n条预测路径的离散集合,从而为至少时间间隔δt提供预测路径分布,来为每个目标提供预测路径分布。

举例来讲,图7a示出了分别针对目标g1和g2的如针对特定外部车辆所预测的相应预测路径集合pg1、pg2。目标g1、g2分别相对于地图参考系中的参考位置r1、r2来定义,该参考位置可以是地图上的点或区域。在给定外部车辆在时间t的位置rt和每个目标的参考点r1、r2的情况下,分别为目标g1、g2合成预测路径集合pg1、pg2。

尽管在该示例中,每个目标相对于单个参考点/区域来简单地定义,但是将理解,目标可以以其他方式来定义,例如在情境中适当时参考多个参考点来定义。通常,目标由一个或更多个目标参数集合来定义,目标参数进而通常在自动驾驶的背景下的地图参考系中定义。地图参考系中的参考位置是目标参数的一个示例,并且与这样的参考位置有关的所有描述同样适用于其他类型的目标参数。

按照左转示例,将为“继续直行”目标生成一个路径集合,一个路径集合是预测另一车辆在执行“继续”目标时可能采取的路径,并且将针对“左转”目标生成另一路径集合,另一路径集合是预测另一车辆在执行“左转”目标时可能采取的路径。

可以使用生成模型来合成这些路径。基本假定,另一车辆将用该模型规划并执行。该模型可以对应于av规划器a6本身(假定其他车辆将以与自我车辆相同的方式规划),但是它也可以与av自己的规划器不同。

例如,可以使用快速探索随机树(rapidlyexploringrandomtree,rrt)模型为每个目标合成路径。按照图ca的示例,对于每个目标g1、g2,基于该目标的参考位置(分别为r1、r2)和外部车辆的当前位置r0定义预测路径的空间(搜索空间)。然后,搜索空间(基于随机化的输入参数)被随机采样,以便确定n条路径的集合以及这些路径中的每一条路径的似然度。为了模拟每个目标的n条路径,rrt的相关参数被随机化n次,以执行搜索空间的n个适当偏置的随机搜索。

举例来说,名称为“efficientcomputationofcollisionprobabilitiesforsafemotionplanning(用于安全运动规划的冲突概率的有效计算)”的英国专利申请no.1803292.0公开了rrt模型,该rrt模型可以在当前背景下使用以实现逆向规划,该专利通过引用以全文并入本文。计算沿着给定轨迹的冲突概率风险,并且将冲突概率风险用于根据安全性对候选轨迹进行排序。这进而在假定外部车辆更有可能采用更安全的路径来执行所讨论的目标的情况下,提供了每个采样路径的似然度。即,路径概率可基于与安全性的假定关系来确定。采样路径及其概率是轨迹模型的一个示例。

然而,这仅是合适的生成模型的一个示例,并且也可以使用所生成的模型的其他形式。代替轨迹模型的示例稍后描述。

一个这样的示例是基于神经网络的模型,该模型已经被训练成在给定观察踪迹和要执行的目标的情况下输出路径预测模型(例如,预测路径或预测路径的分布)。网络是基于真实世界驾驶行为示例来训练的。例如,神经网络可以基于从已经在城市驾驶环境中捕捉的cctv(闭路电视)数据的大语料库中提取的示例来训练。

另一示例是空间马尔可夫模型(或类似物),其可通过在足够的时间段上监测驾驶区域来针对特定驾驶区域被预先确定(见上文)。

通常,逆向规划器a24可以是任何模型,该模型可以对于不同的假设目标进行推理。

在步骤sb6中,在时间段δt(即,在时间t与t+δt之间)上实际观察到的另一车辆的踪迹与该时间段δt的与所讨论的目标相关联的路径的分布匹配,以确定该目标的似然度。

举例来说,图7b示出了所讨论的车辆在时间t与t+δt之间的实际观察踪迹τ。通过将实际踪迹τ与针对每个目标g1、g2(图7a)的预测路径分布进行匹配,可以针对时间间隔δt概率性地确定每个目标g1、g2的似然度。这可以是软匹配的形式。在给定外部车辆的观察踪迹τ的情况下,目标似然度可以被捕捉为每个假设的目标gi的条件概率,即p(gi|τ),该条件概率是在给定观察踪迹τ的情况下外部车辆在时间间隔δt上执行该目标gi的估计概率。

换言之,逆向规划器a24用于为每个假设目标预测,在假定另一车辆在该时间段期间执行了该目标(即,假如另一车辆已经执行了该目标,则该另一车辆在时间间隔δt期间可能已经进行的操作)的情况下,另一车辆在时间间隔δt中可能已经采取的可能路径集合和这些路径中的每个路径的似然度。然后,将其与该时间段内另一车辆的实际踪迹(即,另一车辆实际上进行了的操作)进行比较,以确定时间段δt的每个目标的似然度。

参考图7c,现在在给定观察踪迹τ的情况下,每个目标的似然度是已知的,在给定观察踪迹τ的情况下,在时间t+δt之后的任何给定预测路径(轨迹)t的(绝对)似然度可以例如被确定为:

其中,上面定义了p(gi|τ),并且p(t|gi)是在给定在时间t+δt针对目标gi的路径分布的情况下主体采取路径t的估计概率。注意,符号“δt”和“δt”在本文是等效的。还要注意,用于表示轨迹的数学符号(小写或大写希腊字母“tau”,即τ、t)与用于表示时间的符号(小写或大写拉丁“t”,即t、t)之间的区别。

轨迹可以是简单的空间路径,但是该描述同样适用于包含运动信息(诸如速度/速率信息、加速度)的轨迹。对于后者,两个轨迹可对应于相同的空间路径(或轨迹的至少相应部分可对应于相同的空间路径),但仍是不同的轨迹,例如,因为它们与不同的速率信息相关联(例如,一个速率信息可对应于沿基本上相同的空间路径但以较低速度(至少在沿空间路径的一些点处)移动的车辆)。例如,轨迹可采取空间路径结合与空间路径的相应点或部分相关联的相关联速率或速率集合的形式。扩展可以附加地并入相关联的(一个或更多个)加速度值等。

虽然在图中未示出,但是在时间t+δt(从其确定p(t|gi))的路径分布本身可以由例如如上所述,针对目标gi在时间t+δt重新执行逆向规划器a24来确定,但是在时间t+δt具有外部主体rt+δt的新的确定位置,以便相应地更新预期轨迹模型。为了重新执行逆向规划器a24,目标参数此时可能已经更新或可能尚未更新。在使用数据驱动行为模型的情况下,类似地,可以在此时重新执行行为模型,以便更新预期轨迹模型。

随着时间的推移,重复执行上述步骤,可能实时地执行上述步骤。对于某种程度上偏离达到其目标的外部主体,最初可能无法确切地确定其正在执行哪个目标,因为不同目标的路径分布最初是类似的,并且这将反映在假设的目标的集合上的概率的分布中。随着路径分布发散,概率分布通常将随着路径分布发散而开始偏向特定目标。

用于操纵的逆向规划

以上考虑目标的逆向规划。如所指示的,在假设的操纵集合m上,逆向规划还可在操纵级别上实施。

例如,如果另一车辆当前在附近没有交叉口的多车道道路上行驶,则假设的操纵集合m可包括“跟随车道”和“转换车道”。在这种情况下,将为“跟随车道”操纵生成一个路径集合,该一个路径集合是预测另一车辆在当前执行“跟随车道”操纵时可能采取的路径,并且将为“转换车道”操纵生成另一路径集合,该另一路径集合是预测另一车辆在执行“转换车道”操纵时可能采取的路径。上述描述同样适用于操纵级别逆向规划,但是用假设的操纵集合m代替假设的目标集合g。

对于操纵级别逆向规划,外部主体的观察踪迹τ可用于估计可能操纵集合m的每个操纵mj∈m的概率。对于每个操控mj∈m,确定时间t的预测轨迹模型,如图7a所示。该预测轨迹模型可以是单一轨迹或轨迹分布。然后,通过将实际观察踪迹τ与每个操控mj的轨迹模型进行比较(如图7b所示),可基于观察踪迹τ与该操控mj的轨迹模型匹配的程度来估计该操控的概率p(mj|τ)。如上所述,这可以是软匹配的形式。

在下面的示例中,为了简化计算,为了逆向规划的目的,每个操控mj被映射到单个轨迹。对于与轨迹分布相关联的操控,为了逆向规划的目的,可以采取分布的模式或最可能的轨迹。在这种情况下,假定存在单个轨迹tj,使得:

p(tj|mj)=1

并且假定所有其他轨迹的概率为零。

以上使用的符号在与给定操纵mj相关联的轨迹tj和相对于给定目标gi评估的轨迹t之间进行区分。

为了到达目标gi,外部主体可执行操纵序列,例如,(mj,mk,…)。在这种情况下,总体目标轨迹(即,到达目标gi)可被确定为与各个操控mi,mj,...相关联的操控轨迹的组合。例如,在下面描述的实施方式中,通过组合操控轨迹并且对其应用速率平滑来确定目标轨迹。为此,与操控mi相关联(或相对于操纵mi被评估)的轨迹ti可被称为“部分轨迹”,而与目标相关联(或相对于目标被评估)的轨迹t可被称为“完全轨迹”。

在考虑针对特定目标gi的多个轨迹的情况下,可以使用符号t(n)代替t来指代针对目标gi的第n轨迹。

已发现部分轨迹与操纵之间的“一对一”关系的以上简化假定以减少的计算负担给出可接受的性能。然而,尽管如此,并不使此暗示假定轨迹与操纵之间的“一对一”关系的替代性实施方式是可行的。在没有这种简化假定的情况下,更一般的贝叶斯关系仍然成立:

其中,p(tk|mj)∈[0,1]是给定操控ml的部分轨迹tj的概率。在这种情况下,不是假定模式/最有可能的部分轨迹,而是可以从p(tj|ml)中取而代之地对部分轨迹进行采样,并且在本文中关于模式/最有可能的部分轨迹的所有描述同样适用于这种情况下的采样轨迹。

逆向规划-示例性实施方式

作为进一步说明,现在将进一步详细描述用于目标识别的逆向规划的示例性实施方式。该实施方式使用目标级别的逆向规划来预测至少一个外部主体在设定的可用目标g上的概率分布p(g|o),即,对于每一个可用目标,该主体当前实施该目标的估计概率。

所描述的实施方式另外使用概率操纵检测,来预测在给定外部主体的观察踪迹τ的情况下在可能的操纵集合m上的分布p(m|τ),即,对于每个可能的操纵,主体当前正在执行该操纵的估计概率。操控预测馈送到如稍后描述的目标预测中。例如,操控检测可以使用在操纵级别的逆向规划来实施。

换言之,所描述的实施方式在操纵级别和目标级别两者上进行推理。

目标识别

目标识别是在给定主体的过去动作和其他情境信息的观察的情况下,推断主体(外部活动者,其在以下示例中是目标车辆,但外部活动者可以是如所指出的另一种形式的活动者)的主体目标的过程。

在当前背景下,目标通常将为逆向规划器a24在其目标上进行推理的车辆指定目标位置,诸如公路/交叉口上的各种出口点或不同车道。另一个主体的目标的知识可以通知规划过程,因为可以关于主体行为对于其假设的目标做出预测。

使用目标识别还增加了av系统的“可解释性”。可解释性是指系统向人类解释其决策的能力。记录目标推断过程(自我车辆认为其他车辆在不同时间的目标是什么)可以提供用于决策跟踪和调试的可解释的信息。

可以确定性地或概率性地推断目标。在以下示例中,在给定相关观察值集合o的情况下来概率性地推断目标,即,针对可用目标g的有限集合估计目标后验p(g|o),其中,p(gi|o)是在给定观察值o的情况下外部主体具有目标gi∈g的概率。

在mcts的背景下,概率性地推断目标,以便当树在上述意义上展示时做出关于外部活动者的未来轨迹的推理预测。

操控和目标

首先,描述了用于确定可用目标和操纵的示例方案。本描述提供了与稍后描述的逆向规划的特定实施方式相关的背景。然而,该描述在这方面不受限制,并且同样地适用于mcts的其他实施方式,其他实施方式包括逆向规划/目标识别的替代实施方式和不使用目标识别的实施方式(例如,以上给出的在没有更高级别的目标识别的情况下使用数据驱动的行为模型的示例)。

多策略基线

使用“多策略方法”作为基线。多策略方法的基本假定是,包括自我车辆的所有车辆(或更一般地,外部活动者)在任何时候都执行有限数量的操控之一,操控是诸如跟随车道、车道变换、转弯等。这样的操控在本文中还可以被称为“操控策略”(注意操纵策略(即,有限的操纵集合的操纵)与可以用于执行所选择的操控策略的动作策略之间的区别;还应注意,操纵/操控的英语/美国拼写在本文中可互换地使用)。

“目标”活动者是指其行为正在被预测的外部活动者。可以对一个或更多个目标车辆(或其他活动者)进行预测,并且将以上假定的集合应用于每个目标活动者。前述段落中的操控策略示例实际上是“闭环”,这意味着它们将传感器反馈考虑在内并且自动地改变它们的速度及与领先车辆(领先车辆是目标车辆跟随的车辆)之间的距离。然而,如以下解释的,为了逆向规划的目的,它们可以被建模为“开环”操纵,具有增加的计算效率的益处,并且不显著影响逆向规划器a24的性能。目标车辆和领先车辆在以下示例中是汽车,但描述同样适用于任何形式的活动者(车辆、行人、骑车人等)。类似地,此示例考虑自动驾驶汽车(自我汽车),但描述适用于任何形式的自动驾驶车辆。

下面详细描述的图12示出了作为预测部件a4的一部分的操纵检测器1102。

作为一个示例,操控检测器1102可以以上述方式在操纵级别实施逆向规划。

作为另一示例,操纵检测器1102可以实现贝叶斯变化点检测方法。该方法用于将观察到的目标车辆的低级别轨迹分割成操控序列,并且最近一段用作对汽车的当前执行的操控的预测。使用该预测,针对自我汽车可用的每个操控模拟多个前进轨迹,并且选择执行具有最优评估的操控。

贝叶斯变化点检测本身是已知的,并且是指对系统的基本隐藏状态中的变化的概率性检测。在当前背景下,外部活动者在特定时间的隐藏状态被定义为其在该时间正在执行的操纵策略。此隐藏状态不是直接可观察的,因此需要通过由隐藏状态引起的观察(在本实例中是所观察的踪迹)来推断。这允许在当前时间点估计每个可用操控的概率,即,外部活动者当前正在执行该操控的概率。

例如,隐马尔可夫模型(hhm)可以用于将操纵表示为hhm的隐藏状态,其中,观察到的踪迹被建模为由hmm的状态转变引起。

如下所述,可以定义相对小的操控策略集合以显著地简化规划过程。由于操控策略以包含诸如速率和距离的低级别规划的方式被定义,因此可以定义这样的小集合。类似地,由于假定其他汽车正在执行这些相同策略之一,在给定低级别轨迹的情况下,可以有效地推断其当前操控。

这种多策略方法本身是缺乏远见的,因为它仅预测其他汽车的当前操控,但是它不尝试预测它们的未来操控。逆向规划建立在该方法上以预测如稍后描述的未来动作。

操控

基本操控

操控表示用于规划和预测的基本动作。在此示例中,考虑以下“基本”(初级)操控:

跟随车道

向左/向右变换车道

左转/右转(在驾驶方向上转弯到最近的车道上)

停止/谨慎

应理解,所描述的技术可扩展到替代或附加操控。

每个基本操控具有指定的适用性和与其相关联的终止条件。如果状态满足操控的适用性条件,则操控仅在给定状态中可用。例如,如果汽车左侧有车道,并且如果在该车道上有足够的用于汽车的开放空间,则才可能向左变换车道。适用性条件还可以对交通规则进行编码。如果状态满足终止条件,则操控终止。对于变换车道操控,一旦汽车已经到达车道并且与车道方向对齐,便是这种情况。

在操控的开始和结束之间,操控指定自我汽车要跟随的参考路径和沿该路径的目标速率。在当前背景下,轨迹被定义为对(静态参考路径、目标速率)。即,作为静态参考路径加上相关联的目标速率集合(见上文)。

然而,通常,操控与多个轨迹相关联。例如,在预测的背景下,操纵可与轨迹分布相关联,即,每个具有指定概率(即,假定外部活动者载当前正在执行该操控的情况下,该外部活动者将遵循该轨迹的概率)的轨迹集合。

一些诸如跟随车道和谨慎的操控不具有自然终止条件。对于这样的操控,终止条件被指定为参数。“宏动作”(参见下文)基于背景信息自动地设定这些参数。

谨慎操控是在宏动作中使用的停止操控的变型。谨慎会使汽车减速并且继续移动到作为参数给出的指定位置。在该位置处,如果满足终端条件,则操控终止,否则它将完全停止汽车,然后当满足终端条件时终止。终端条件用于检查指定车道中的即将到来的交通(作为参数给出)。如果未指定车道,则终端条件始终为真。当可能有即将到来的交通时,允许汽车规划安全和平滑的进入/退出。

作为在仅用于左退出/右退出宏的谨慎中的特殊情况,如果即将到来的车辆停止,且预测至少在受控汽车完成转弯操控所需的时间量内保持停止,则允许强制终止。这允许诸如在以下描述的场景3中的特殊情况。

一些基本操控仅在宏动作内部使用,因为它们具有附加参数或因为它们仅在非常特定的位置中是可能的,诸如转弯操控。

以下示例使用两种类型的基本操控:用于逆向规划(预测)或更一般地目标识别的开环操控,即,由图1中的目标识别部件a24;以及av的规划器a6中用于mcts自我规划的闭环操控。这些在以下章节中详述。

闭环操控

如果使用来自传感器的反馈,则基本操控是闭环的。这可以覆盖操控中的不同程度的自动化。这里,假定每个闭环操控自动地控制汽车的速率以及与领先车辆之间的距离(自适应巡航控制(acc)的形式)。还假定每个操控能够自动地启动紧急制动。

该系统关于操控的具体实施方式不可知,并且基本上将它们视为“黑匣子”功能。这具有灵活性的益处,并且允许直接并入不同的表示。可能的实施方式包括:

·使用有限状态机或任何编程逻辑的硬编码启发法

·使用由动态自行车模型定义的运动原语的格子路径规划器

·约束优化规划器

在状态变化之后,可以重复调用以上列表中的规划方法以使它们闭环。

开环操控

与闭环操控相反,开环操控不使用传感器反馈。开环操控指定参考路径(或路径上的分布),而无需尝试用反馈来校正这些路径。这允许操控的更简单且计算上成本更低的实施方式。

再次,系统关于开环操控的表示不可知。

实现开环操控的简单但有效的方式将多项式函数拟合到从道路拓扑结构提取的点的集合。目标速率可以被设定为常数或其他时间序列。这是计算一条轨迹而不是轨迹上的分布,这在许多实际背景中被发现是足够的。

另一个实施方式,使用上述类型的行为模型(诸如,高斯过程或神经网络)来收集驾驶轨迹。该轨迹数据可以按不同方式生成:

·在仿真中,在不同的情况下,使用对应的闭环操控

·来自用av平台生成的真实驾驶数据

·来自真实cctv数据,分割成识别出的操控。举例来说,图13示出拟合于在cctv镜头中随时间观察到的轨迹的高斯轨迹模型1202的示例。

如在谨慎操控中使用的诸如“等待直到即将到来的交通畅通”的条件,可以在开环操控中通过等待指定的时间直到条件被预测为真(例如,等待直到预测到交通畅通)来实现。

目标速率和速率平滑

如所指出的,在本示例中,轨迹被定义为与目标速率集合组合的静态路径。

目标速率被设定在基本操控内部。作为一般原理,可以(例如)假定,车辆将尝试在特定区域中以某一速度(例如,速度限制)行驶。如果在前方存在较慢的汽车(在这种情况下,汽车的速率是新的目标)或如果由于驾驶路径中的曲率等而需要,则减小该目标。

对于开环车道跟随,目标速率被设定为

min(速度限制,前方汽车(如果有的话)的速度)。

由于其简单性,该方法的计算成本较低,但是可能会导致冲突的其他车辆的预测轨迹。例如,在下面的场景1中,预测卡车以限速继续直行(因为在前方没有车辆),并且还假定汽车2以限速(在超车的车道跟随段期间)超车。因为用于汽车2的逆向规划实际上假定用于卡车的恒定速率,所以用于汽车2和卡车的预测轨迹可能冲突。然而,在该情况和许多其他情况下,已经发现该矛盾不会导致自我规划器a6的问题:仍然可以使用该简单方法的预测输出来做出安全且有效的规划决策。

在生成曲线轨迹(例如,转弯和车道变换)的基本操控内,使用基于局部曲率的启发法来设定目标速率。这个函数如下所示,其中,vtarget是目标速率,并且ψ是点曲率。其他项是被设定为适当值的常数

υtarget=max(υmin,υmax-cψ)

点曲率由以下等式给出,其中,x和y是笛卡尔坐标。使用有限差从车辆的目标路径估计x和y的导数:

速率平滑

因为速率被设定在基本操控内部,所以两个后续操控可以具有速率的突然变化。典型示例是跟随车道,随后是转弯操控。

为了补偿这种效果,跨不同操控的所得完整轨迹可以在速率上被平滑化以改进控制和真实性。使用速率平滑函数,其优化给定轨迹中的目标速率。速率平滑用于预测(逆向规划)和mcts自我规划两者。

速率平滑被公式化为沿着给定路径的轨迹上的优化问题。假定在纵向位置处的点的集合以及它们相应的目标速率拟合了连续且可微分的函数κ:x→υ。然后,考虑时间范围th(其可以例如使用目标速率来估计)、在两个时间点之间流逝的时间δt以及优化的其他参数(例如,最大速度υmax和加速度amax),平滑问题被定义为:

s.t.xt+1=xt+υtδt

0<υt<υmax

|υt+1-υt|<amaxδt

根据问题的解,空间重采样可以用于获得在处实际上可实现的值。最后可实现的位置由xn给出。如果那么有可能仅从这个解中重采样。

可替代地,可以从xn开始解决类似的问题,可以重复这个过程直到达到条件。

还有可能对与轨迹相关的其他(一个或更多个)参数(诸如加速度)进行建模,并且对这种(一个或更多个)参数施加约束作为对问题的扩展。

速率平滑应当考虑输入轨迹中的零速率,零速率指示完全停止。实现该目的的简单方式是,将轨迹拆分成通过停止事件(零速率)而分开的段,并且将平滑函数应用于每个段。

宏动作

特殊种类的操控,本文中称为“宏动作”,以两种重要的方式缓解规划器:它们指定公共的操控序列,并且它们基于背景信息(通常是道路布局)自动地在基本操控中设定自由参数。

在该示例中,使用以下宏动作(以括号中示出的操控参数):

·继续车道:指定序列<跟随车道(直到可见车道末端,即,车道目标)>

·左/右退出:指定序列<跟随车道(直到在/接近转弯点处)、谨慎(直到即将到来的交通顺畅/安全距离)、左转/右转>。出口点被自动设定为对应于自我汽车的目标的出口点,从而允许宏动作跳过较早的出口点(这在环状交叉路口中尤其有用)。

·交叉道路:指定序列<跟随车道(直到在/接近道路交叉处)、谨慎(直到来自交叉道路的即将到来的交通顺畅/安全距离)、跟随车道(直到在道路交叉之后)>

·超车:指定序列<向右变换车道,跟随车道(直到自我汽车已经经过其他(一辆或更多辆)汽车),向左变换车道>

宏动作的适用性条件由宏动作中的第一操控的适用性条件和可能的附加条件给出。例如,<右退出>的附加条件是汽车在其驾驶方向上的最右侧车道上,并且目标出口点在汽车前方的同一车道上。<交叉道路>的附加条件是存在道路交叉,其中,自我汽车必须让路于另一汽车的前方(见以下场景3)。宏动作的终止条件由宏动作中的最后操控给出。

宏动作可显著加速规划过程和预测过程,因为单个宏动作可足以完成给定目标。例如,在以下场景2中,如果自我汽车的目标是g3,则单个宏动作<右退出>将已经完成目标。宏动作也是有用的,因为它们自动关心操控之间的转换点,否则将需要明确地规划该转换点(例如,设定诸如跟随车道的操控的开放终止条件)。

该运作中所使用的宏动作不定义可分解动作的层次结构;它们以灵活的方式简单地定义动作序列。宏动作隐含地包括在规划搜索空间中。

如所指出的,对于以下描述的特定示例性mcts过程,宏动作中的所有基本操控都是闭环的,并且对于逆向规划,所有基本操控都是开环的。

目标和目标生成

自我汽车的目标

基于路线规划生成自我汽车的目标。路线规划器(图1中的a25)将标注的道路地图(标注有车道方向、交通标志等)和开始位置/末端位置作为输入。它计算从开始到末端位置的路线,该路线指定自我汽车必须行进通过的路段和方向的序列。该路线向下传递到规划器a6,在该规划器a6中,该路线被用于生成自我汽车的目标,如下所示:

概念上,规划器a6“放大”地图,其中,视野区(例如,正方形或圆形或任何合适的形状)以自我汽车为中心,类似于以下示出的场景图片。该视野区随着自我汽车连续移动。在任何时间点,自我汽车的目标由路线中的下一出口点(在该出口点汽车需要从当前道路变化到连接道路)给出,或者如果路线中的下一出口点还不可见,则由当前车道的可见末端给出。例如,在下面的场景1中,下一个出口点不可见,因此目标是g1。在下面的场景2中,出口点变得可见并且新的目标变成g3。

其他汽车的目标

例如,另一汽车的目标可以被定义为其可能的出口点和汽车方向上的道路的可见末端,以自我汽车的视野区为界。启发式目标生成函数用于使用关于道路布局和交通规则的信息(例如,使用sdl道路图)来枚举给定视野区中的汽车的可能目标的集合。为了减少当存在许多目标(例如,许多出口点)时的计算时间,如果在汽车前方的同一车道上已经存在两个较早出口点,那么函数可忽略汽车的出口点目标。

可以指定其他类型的目标,诸如“我希望你在我前面”。可以基于环境中的汽车的当前配置来动态地添加和移除这样的目标。以下场景描述给出了目标的示例。

目标识别

在该示例性实施方式中,基于“成本惩罚”执行目标识别,如现在将参见图10所描述的。

在当前背景下,“规划”意指被选择用于达到目标的一个或更多个基本操纵的序列。在一些情况下,这样的基本操控序列可以由宏动作来定义。用宏观动作或多个基本操控的一些其他序列,每个基本操控与部分轨迹相关联,并且使用速率平滑来组合部分轨迹以确定用于到达目标的完全轨迹。

图10示出了基于成本惩罚从可用目标的有限集合概率性地推断外部活动者的目标的方法的示意流程图。图10的右侧示出了应用于具有两个可用目标的场景的步骤的说明性示例:

1、g1沿着当前道路继续,该当前道路被定义为可见道路末端处的目标位置(更一般地,被定义为当前道路上汽车前方的参考点);

2、g2采取右转退出,根据出口位置定义。

给定观察到的汽车的可能目标的集合和由该汽车执行的过去的基本操控的序列,可以使用逆向规划的过程来计算该目标的后验分布。该方法在给定观察值o的序列(例如,如在以上示例中的观察踪迹τn)、在目标上的先验分布p(g)以及似然函数l(o|g)的情况下,在可能的目标g上计算贝叶斯后验p(g|o)~l(o|g)p(g)。

符号p(o|g)和l(o|g)是等效的,并且意味着在给定目标g的情况下观察值o的条件概率。符号“l”与这样的事实一致地使用:这些概率在统计意义上的似然度(注意,在本公开中较早地,术语似然度在每天的意义上使用,并且不一定是这种特定的统计。该意义在背景下将是清楚的)。

目标是根据目标位置定义的,并且符号gi可被用来表示该区的目标位置。目标位置gi可以是空间中的点,但也可以是区或可以对应于沿道路的特定距离,例如,目标位置可以被定义为垂直于道路的线,并且在这种情况下,一旦汽车到达该线(不管其在道路中的横向位置如何),该汽车就被称为已经到达目标。

给定目标gi∈g的似然度l(o|gi)被定义为两个规划的相应成本之间的差(成本惩罚):

1、从汽车的最初位置rt(在时间t)到目标位置gi的最优规划,即,从rt到gi的最优规划,而与时刻t之后汽车的任何观察到的行为无关。这可以作为基本操控、宏动作或除了宏动作之外的多个基本操控的序列来执行。通过多个基本操纵,与其相关联的部分轨迹被组合以提供用于从最初位置rt到达目标gi的最优完全轨迹(而与时间t之后汽车的任何实际观察到的行为无关);以及

2、“最佳可用”规划—在给定在时间t和时间t+δt之间的汽车的任何观察到的行为的情况下,被定义为从rt到目标位置gi的最优规划,即,从rt到gi的最佳规划,其中,附加约束是该规划必须匹配在随后的时间间隔δt中实际观察到的行为。换言之,作为从汽车的最初位置rt到目标gi的最优规划,使得该规划遵守观察值o。这假定汽车更可能执行最优规划以实现目标,但是允许一定程度的偏离。这也可以作为基本操控、宏动作或除了宏动作之外的多个基本操控的序列来执行。通过多个基本操纵,与其相关联的部分轨迹被组合以提供用于从最初位置rt到达目标gi的“最佳可用”完全轨迹,但是考虑在从t到t+δt的间隔中汽车的实际观察行为。最佳可用轨迹具有针对间隔[t,t+δt]的观察部分,该观察部分与实际观察轨迹匹配,并且具有针对后续时间间隔的未来部分,该未来部分被选择为使得与最佳可用完全轨迹相关联的总成本(即,观察部分和未来部分两者的全部成本)最小化。

这是目标识别的形式,因为考虑到达目标的完全路径(完全路径可以是基于与多个操控相关联的多个部分轨迹)。

分配给完全轨迹的成本可以考虑如稍后描述的各种因素。这些包括驾驶时间(惩罚花费更长时间来到达目标的轨迹)、安全性(惩罚不安全轨迹)和舒适性(例如,惩罚具有过度急动的轨迹)。

例如,汽车的最初位置rt可以是汽车的第一观察位置。合理的方法是使用由自我汽车的传感器范围定义的过去观察的移动窗口来定义最初位置rt。

在图10的步骤1004中,为每个目标g1、g2计算最优规划(上述1)。一旦计算,这允许例如使用a*搜索(详见下文)为每个目标g1、g2确定最优轨迹。在计算了最优轨迹之后,然后可以计算与最优轨迹相关联的全部成本(也在以下描述)。最优轨迹是完全轨迹,即,用于从最初位置rt到达所讨论的目标。

在图10的示例中,轨迹由沿着该轨迹的在时间上均匀间隔的点表示,使得均匀间隔的点意味着恒定速率,并且点之间距离的增加(相应地,减小)意味着加速(相应地,减速)。白色圆圈用于表示最优轨迹点。因此可见,对于目标g1,最优轨迹是以恒定速度沿着道路连续的直线路径,而对于目标g2,最优轨迹随着汽车接近用于退出的转弯点而逐渐减慢。

在步骤1006中,为每个目标g1、g2计算最佳可用规划(上述2)。如所指示的,这些考虑时间t(当汽车处于其最初位置rt时)与当前时间t+δt之间的实际观察值o。那些观察值o可以包括观察低级别踪迹τ,在图10中使用黑色圆圈表示。

在该背景下,观察值o可替代地或附加地包括汽车的当前操控,即,每个目标的概率可以根据当前由汽车执行的操控来估计。它们可另外包括过去观察到的操控。

尽管未在图10中明确示出,但如上所述,应用概率操控检测以预测汽车的可能的当前操控上的概率分布。因此,根据可能的当前操纵上的分布p(m|τ),当前操控可能不是明确地而是仅概率性地已知的。这可以通过首先从p(m|τ)采样当前操控mj并且然后从该当前操控mj的目标概率分布p(g|o)采样(即,观察值o包括mj)来解决。

根据最佳可用规划,可以确定最佳可用轨迹(详见下文),这进而允许针对最佳可用轨迹(也在下文描述)确定全部成本。在从最初位置rt到目标位置gi的完整轨迹的意义上,这也是完全轨迹。最佳可用轨迹具有与实际观察轨迹(即,图10中的黑色圆圈)匹配的、在时间t与t+δt之间的观察部分,且另外包括t+δt之后的时间的未来部分,其在图10中使用斜线阴影圆圈表示。

在所描绘的示例中,可以看出目标g1的最佳可用轨迹的观察部分(黑色圆圈)和未来部分(斜线阴影圆圈)都相当好地匹配该目标g1的最优轨迹(白色圆圈)。因此,目标g1的成本惩罚是最优轨迹的成本与最佳可用轨迹的成本之间的差,该成本惩罚相对较低。

然而,对于目标g2,所观察到的轨迹(黑色圆圈)相当显著地偏离最优轨迹(白色圆圈),因为汽车在时间t+δt之前未能达到最优轨迹所需的程度。这种差异本身将不一定引起显著的成本惩罚(它可以取决于或可以不取决于实施方式的细节)。然而,由于所观察到的行为,可以看出最佳可用轨迹的未来部分(即,时间t+δt之后的部分)必定包括急速制动(这反映了以下事实:在给定汽车的情境下,从汽车的当前位置到g2的最低成本路径必须涉及急速制动),这受到成本函数的惩罚。与最优轨迹的成本的差异意味着目标g2的更高的成本惩罚。

在步骤1008中,对于每个目标g1、g2,根据成本惩罚计算目标似然度l(o|g),即,针对该目标,在步骤1004中计算的最优规划的成本与在步骤1006中计算的最佳可用规划的成本之间的差。这进而允许基于目标似然度和目标先验来计算目标后验p(g|o)(步骤1010)。

先验p(g)可以用于编码关于某些目标的“固有”概率的知识。例如,在图10的场景中,可以观察到汽车相对不频繁地采取右转退出,这可以被编码为p(g2)<p(g1)的先验。这将有效地使目标g1偏向于g2。对于没有该先验知识的场景,可以简单地假定在没有对特定汽车的个体行为的任何观察的情况下,每个目标是同样可能的,即p(g1)=p(g2)。

以上假定,给定目标,可以在给定汽车的最初位置rt的情况下确定该目标的最优规划,并且可以在给定在随后的时间间隔δt中的观察的情况下确定该目标的最佳可用规划。此外,假定在给定最优(相应的最佳可用)规划的情况下,可以确定最优(相应的最佳可用)轨迹。如现在将描述的,以这种方式将目标映射到规划到轨迹的一种机制使用a*搜索。

概率规划识别算法

a*搜索

在包括宏动作的开环操控上执行“a*搜索”。基于其适用性条件来过滤操控。如果基本操控指定轨迹上的分布,则可选择合适的单个轨迹,例如,作为模型或最有可能的轨迹。

a*搜索是根据节点和边的加权图制定的已知方法。在当前背景下,其目的在于找到从给定位置(由开始节点表示)到达指定目标gi的最优规划。该图的节点表示操控(基本操控或宏动作),并且目的是找到以相对低的成本到达目标的节点序列(并因此是序列操控)。对于每个节点n,“到目前为止的成本”g(n)被定义为从开始节点到节点n的成本,并且启发式函数h(n)提供从n到目标的成本的估计。搜索开始于开始节点处,并且在每个节点处,将序列扩展到具有最低节点成本的下一节点,最低节点成本被定义为:

f(n)=g(n)+h(n)。

可以使用简化假定:环境中的所有其他汽车使用恒速率模型。

为了找到从最初位置rt到目标gi的最优轨迹,搜索从在时间t和位置rt由汽车执行的操控开始。为了在给定时间间隔δt中的观察值o的情况下找到从汽车的当前位置rt+δt到目标的最佳可用轨迹,搜索从检测到的当前操纵和当前位置rt+δt开始。

上述操控检测方法可用于检测操控。注意,这通常将导致可能当前操控上的概率分布。应当针对每个预测的当前操控进行逆向规划,因为这些操控可能导致目标上的后验不同。因此,每个可能的当前操控后验产生其自己的目标。为了计算效率,仅考虑n个最有可能的当前操控,并且忽略任何其他操控,其中,n是可以适当设定的方法参数。

到达当前位置(当前搜索节点)到目前为止的成本g(n)可被定义为基于由基本操控指定的路径和速度到当前位置的估计驾驶时间。

估计到目标的剩余成本的成本启发式h(n)由以限速从当前位置经由直线到目标位置的行驶时间给出。注意,为了有效地引导搜索,h(n)仅需要提供最小剩余成本的估计以便引导搜索。因此,在此可以做出相对粗糙的假设而不影响性能。

在找到最优规划之后,跨规划中的操控生成完整轨迹。然后,将速率平滑应用于完整轨迹,并且计算完全成本函数(见下面的成本函数部分)以获得规划的最终成本。这个最后的步骤(应用平滑和完全成本函数)使得有可能拾取基于速率的附加“线索”,如在以下制动示例中。

速率平滑不被应用于已经观察到的轨迹的任何部分。否则,速率平滑的效果可以是清除在某些目标处将提示的证据(见图10的示例的背景中的进一步细节)。

为了考虑汽车在操控(例如,变换车道)的中途的情况,需要识别汽车当前执行的操控,以使得可以在规划到未来更远之前完成当前执行的操控。

为了减小搜索空间,可以从搜索空间移除基本转弯操控和谨慎操控,因为这些不在宏动作之外使用。如果车道跟随操控的终端条件被设定为某个固定长度作为默认值,则该车道跟随操控仍可用作宏动作之外的基本操控。

本示例在逆向规划期间不检查外部活动者之间的冲突。尽管可以这样做,但它将使得整个过程更加昂贵。此外,由于诸如其他车辆的恒定速率的一些简化假定,可能存在冲突不可避免地发生的情况。以下详述的多主体mcts方法可以处理这样的冲突检查。

可替代地,作为逆向规划的一部分,该过程可以扩展到关于可能冲突进行推理。

已经发现以上关于a*搜索阐述的假定提供了计算效率与性能之间的良好平衡。当然,应当理解,可以使用不同的假定集合,诸如非恒定速率模型。作为另一示例,以上通过仅考虑与操控相关联的最可能的轨迹,实质上将搜索问题转变为确定性问题。然而,这可以同样地扩展到基于完全或截断的轨迹分布的概率搜索。也就是说,虽然以上考虑单一轨迹形式的完全/部分轨迹模型,但是这些技术也可以应用于完全/部分轨迹分布。

多线程可以用于通过对每个目标g使用独立的线程来加速过程。在汽车具有独立目标的附加假定下,可以通过针对每个另一汽车使用一个过程/线程来实现进一步的并行化。

制动

尽管在以上方法中制动不被识别为独特的操控,但该方法仍能够在目标的似然度中考虑制动。

作为示例,考虑图10中所示和上述的场景。从汽车的最初位置到g2的最优规划由右退出宏动作给出。在应用速率平滑之后,结果是持续减速直到汽车到达转弯点的轨迹。这个最优轨迹的成本由c2表示。

假定观察到汽车跟随车道,现在更靠近转弯点的中途,并且与g2的最优轨迹类似的速度减速。所以,如果到g2的轨迹有竞争,则会导致轨迹的成本与c2的类似。另一方面,从最初状态到g1的最优轨迹将不涉及这种制动,从而导致显著的成本差异(由于时间差异和可能的急动)。因此,g2的后验概率增加,而g1的概率减小。

(作为旁白:应注意,不将速率平滑应用于已经观察到的轨迹的任何部分)。在本示例中,背后的推理是明显的:如果将速率平滑应用于整个轨迹,则平滑还将降低已经观察到的跟随车道操控的部分中的速率。这将导致更低的成本惩罚,因为制动不再非常突然。换言之,它将使轨迹更类似于从最初观察位置起的最优轨迹。因此,平滑适于将过去轨迹视为不可修改的常数。)

现在假定观察到汽车跟随车道但是具有恒定速率而不是减速。如果该轨迹继续到g2,它将涉及突然的制动,从而导致比c2高得多的成本。另一方面,继续轨迹到达目标g1(停留在车道中)基本上是从最初状态到g1的最优规划。因此,在后验概率上g2降低并且g1增加。

最后,假定观察到汽车跟随车道并且突然减速到接近转弯点。这种突然的制动将导致g2和g1两者显著的成本惩罚,因为它不处于来自最初状态的最优轨迹中。因此,两个目标的成本将增加,导致两个目标的相对概率的更小变化。

经由目标树的目标识别

作为逆向规划方法的替代,决策树可用于实现目标检测。

图11中示出了用于目标识别的决策树的示例。

在给定目标集合g的情况下,使用贝叶斯定律,计算目标上的后验分布p(g|o)~l(o|g)p(g)。目标g的似然度l(o|g)由与g相关联的树计算,该树可与g联合生成。树计算在范围[0,1]内的归一化分数以指示目标的似然度,0指示对目标的不支持。

在右侧示出了使用示例数字的场景2(右退出)中的目标g2的示例树。树测试几个条件,包括:

·汽车是否在针对目标的正确车道中

·汽车是否指示正确方向

·出口点是否在汽车的按顺序的下一个(即,在同一车道上不存在更靠近汽车的其他出口点)

·汽车是否正在减速

在每个分支中,树针对条件进行测试并且将分数(以1开始)乘以范围[0,1]中的某个因子,从而导致在树终止节点处的最终分数。不同分支可以针对不同条件进行测试,并且分支中给出的因子可以不同以反映测试条件的不同重要性。相乘因子的替代方案是沿着树分支添加因子且按终止节点深度来归一化。

这种使用树的方法具有两个主要优点:树评估起来便宜,并且树容易被人类解释(增加了可解释性)。

可以基于真实世界或模拟的驾驶行为数据(例如,来自模拟或cctv),使用诸如c4.5的算法或用于回归树学习的算法来构建决策树。例如,可以指定二进制特征(测试条件)的集合,然后树学习算法在给定针对特定目标记录的地面真值数据的情况下找到特征和部分分数的最优子集。

根据目标预测轨迹

为了预测汽车到给定目标的可能轨迹和相关联的概率,可以使用与逆向规划相同的a*搜索方法。不是在找到最优规划之后终止a*,而是施加固定时间预算,且允许算法计算具有相关成本的规划集合(可能多达某一固定数量的规划)。每当a*搜索找到到达目标的节点时,就会将对应的规划添加到该规划集合中。通过连接规划中的操控给出的部分轨迹,可以从规划中生成轨迹。

可以使用softmax分布(轨迹模型)计算从规划中提取的轨迹上的分布:

其中,t(n)是到目标的第n条完全轨迹,cn是轨迹t(n)的成本(平滑之后的全部成本),并且βn是轨迹t(n)的缩放因子(如上所述,符号t(n)用于到目标的第n个完全轨迹以与给定操控mj的部分轨迹tj区分)。编码了这样的假定:更接近最优轨迹的可能性更大。缩放因子可以用于基于观察数据来下加权特定轨迹,即,允许在相关示例上对轨迹预测模型进行训练。或者,可以使用恒定缩放因子(例如,值1)。

以上softmax迹模型可用作经由rrt获得的轨迹模型的替代。

如在逆向规划中,为每个预测的当前操控产生这样的轨迹集合,集中于诸如n最可能的当前操控的某个子集。a*在完成当前操控之后开始,并且最终轨迹包括当前操控的剩余部分。

这预测了各种合理的轨迹而不是单个最优轨迹,这是有益的,因为存在多个轨迹实现(接近)最小成本但导致不同预测的情况,这进而可能需要在自我车辆部分上的不同行为。

将目标识别与mcts集成

现在将描述用于将目标识别与上述mcts操纵规划过程集成的具体机制。该组合提供通用交互感知操控规划器。

采样当前操控和目标

图12示出了机制的示意性概述,通过该机制,可以将逆向规划的结果作为mcts展示的一部分来应用。这将上述相对于图15描述的原理进行了应用,其中,用关于(一个或更多个)其他主体的概率预测的不同采样多次执行mcts。

操控检测器1102以上述方式检测目标活动者的当前操控概率分布。对于每个操控mi∈m(m是可用操控的有限集合),在给定观察到的低级别踪迹τ的情况下,提供了目标活动者当前实施该操控的概率,即

p(m|τ)。

每个mcts超级迭代开始如下。对于每个其他汽车:

1.从预测的当前操控及其概率集合中采样当前操控,即,基于p(m|τ)对当前操控mj进行采样(图12的框1104);

2.从与所采样的当前操控对应的目标后验p(g|o)中采样目标,即,应用以上具有采样当前操控mj(其可被认为形成观察值o的部分)的逆向规划步骤。

这些采样,即采样当前操控mj和采样目标gi在mcts过程的整个超级迭代中被使用。以上步骤1和步骤2将在每个mcts超级迭代的开始处执行,在该超级迭代中在树的每个节点处(从根节点到终端节点)应用迭代。

在图12中,速记符号p(g|mi)和p(g|mk)用于分别表示给定当前操控mi和mj的目标后验,注意观察值o可以比仅仅当前操控更广泛(例如,包含先前(一个或更多个)操控的序列)。使用这个符号,如果在以上步骤1处对操控mi进行采样,那么将在步骤2中对目标后验p(g|mi)进行采样;而如果mj被采样,则目标后验p(g|mk)将被使用。

从组合的后验采样可防止不一致的展示。例如,考虑其中汽车具有两个可能的目标以及具体相等概率的两个预测的当前操控的情况。第一操控的目标后验将所有概率置于第一目标上,而第二操控的目标后验将所有概率置于第二目标上。因此,组合的目标后验将相等的概率置于两个目标上(相反,如果要从组合目标后验采样目标,然后对当前操控进行采样,则可以以当前操控结束,对于该当前操控,不存在到采样目标的轨迹(例如,不存在从第一操控到第二目标的路径))。

具有轨迹采样的单主体mcts

在给定每个其他汽车的采样的当前操控和目标的情况下,从相关联的预测轨迹和概率集合中采样它们的运动轨迹。这些轨迹用于预测每个汽车沿着展示的运动。

自我规划是在包括宏动作的闭环操控集合上完成的,该闭环操控集合在当前状态下是可应用的。在许多情况下,单个宏动作可能足以实现自我汽车的目标。目的是在规划期间尽快找到这样的宏动作。简单的方法是对该操控集合进行排序,使得总是首先尝试宏动作;可替代地,可以提供“最佳第一猜测”函数,对于给定的目标,“最佳第一猜测”函数返回通常实现该目标的宏动作。如果宏动作当前不可应用(例如,在自我汽车处于中间车道时向左退出),则理想地规划器应当快速找到使其可应用的方式(例如,首先使用基本向左变换车道操控,然后使用宏动作向左退出)。

在为自我车辆选择操控之后,向前模拟环境直到操控结束。这包括将其他汽车的轨迹向前模拟到与自我车辆相同的时间点,以及环境中的任何其他建模过程。在向前模拟期间,应用冲突检查器来检查自我车辆是否与任何其他车辆冲突。如果存在冲突,则立即“切断”搜索树中的该分支(即,不再探索)。

mcts使用以下章节中定义的成本函数。为了确保mcts仅生成实现目标的规划,仅在如果展示到达目标和当展示到达目标时应用成本函数。更确切地,在应用速率平滑之后,将成本函数应用于由展示中的操控生成的轨迹。然后将产生的平滑轨迹的成本向上传播到搜索树。由此,mcts仅搜索实现目标的可行规划,并且在这些规划中搜索最佳规划。

宏动作的使用意味着成功的规划将典型地包含1-5个(包括宏动作的)操控。所以,为了加速搜索,可以在深度5处切断(终止)mcts搜索。

在附件b中提供了用于具有目标识别的单主体mcts的伪代码算法。

速度增强

可能的速度增强包括:

·可以在mcts中使用各种程度的多线程,例如,使用多个线程来生成展示和更新统计。

·通过以降低的规划质量为代价来规划开环操控而不是闭环操控,可以降低计算成本。在mcts规划之后将执行的操控总是闭环的。

成本函数

成本函数用于逆向规划和mcts以量化驾驶轨迹的成本。轨迹t包含车辆要跟随的参考路径和沿该路径的目标速率序列。成本函数将轨迹作为输入,并返回实值成本c(t)。对于任何给定的轨迹,成本函数的评估应该是便宜的,并且计算成本应该增长最多o(|t|)。

例如,成本可以被定义为若干成本因子的加权(线性)和。这些因子包括:

·时间:汽车需要多少时间来完成轨迹?(注意:这与参考路径的长度不同,因为它还取决于目标速率。)

·曲率:轨迹“弯曲”程度如何?曲率收紧将导致呈指数级增加的成本。角速率可以用作代理。

·速率变化:速率沿着轨迹变化多少?高变化率(例如,突然减速)应导致呈指数级增加的成本。

·“安全”:作为安全的代理,可以根据在轨迹期间到任何其他车辆的最小距离,用指数成本来计算“成本因子”(忽略超过距离阈值的车辆)。即,使得成本随着最小距离的减小而呈指数级增加。

这些成本因子中的大多数可以通过在时间上向前步进通过轨迹并且基于旧/新位置向量和目标速率进行一些简单计算来迭代地计算。成本因子的加权将需要基于经验测试来调整。

归一化

为了确保不同成本因子的可比性,将所有成本因子归一化到相同范围[0,1]是有帮助的。其还有助于归一化加权,使得权重是非负的并且加起来为1。总之,这些归一化步骤确保c(t)在[0,1]中,这满足ucb/uct中成本在[0,1]范围内的假定。

如果成本因子被定义为最小/最大函数(例如,最大偏航速率、到其他汽车的最小距离),则归一化可能更容易实现。

替代且更便宜的方法是将成本与操控相关联而不是与轨迹相关联。例如,将规划成本定义为规划中的基本操控的数量。如果由操控(例如,总是跟随相同的多样条的车道变换)生成的轨迹没有变化或只有很小的变化,则这可以是适当的方法。然而,如果操控生成轨迹束,或者如果轨迹可以取决于诸如车辆配置的动态方面(例如,靠近车辆后面的车道变换与不如此靠近车辆后面的车道变换),那么将固定成本分配给操控可能不合适,因为根据情境,相同的操控可能导致轨迹显著不同。

示例性场景

现在将描述三个示例性场景以示出目标的概念,并且强调目标识别可以如何通知自我汽车的决策。这些场景还示出了所提出的方法的一些边界情况。在图13a至图13c中分别表示了三种场景。

场景1:汽车超车慢卡车(图14a)

汽车2在缓慢移动的卡车1后面行驶。示出了汽车2的一个目标位置,表示为g1。在该场景中,汽车2可能移动到自我车道以超车卡车。

仅近视基线会在汽车2的跟随车道操控中放置大部分/全部后验概率,无法预测可能即将发生车道变换,因为其不关于未来操控进行推理。

假定汽车2使用与自我汽车类似的成本函数(即,包括时间因子),并且为汽车2进行逆向规划以实现g1,该方法可以预测在限速下通过跟随车道跟随的汽车2的车道变换操控。如果汽车2距离自我汽车很远,则该预测将可能不会导致自我汽车做出反应。然而,如果汽车2靠近自我汽车(如图片中),则自我汽车可以决定减速并与汽车2保持一定距离。

场景2:汽车变换车道以退出(图14b)

其他汽车的两个可能目标g1和g2是基于道路布局生成的。对于汽车2,g1/g2都是可能的,但是对于汽车3,仅g1是可能的。

观察到汽车2正在执行右变换车道。基于针对汽车2的逆向规划和每个可能目标,变换车道极有可能指示g2。在变换车道之后,g2的最优规划规定跟随车道,降低速度(由于速率平滑)随后右转。考虑到该序列并且假定自我车辆的目标是g1,mcts规划器可以意识到:汽车2的减速过度惩罚自我车辆目标函数(因为其迫使自我车辆也减速),因此,在汽车2已经完成车道变换之后,其可以决定向左变换车道。

近视基线将仅识别汽车2正在变换到右车道,但将无法预测随后的减速。基线将可能仍会执行车道变换,但是仅在减速已经在进行中之后。

场景3:在等待汽车前方移动(图14c)

基于道路布局指示其他汽车的四个可能目标。自我汽车在交叉口处等待。

没有观察到汽车3的减速,表明g2是最可能的(但是g3/4仍然是可能的,尽管以强力制动为代价)。

汽车2已经停止在所示位置,与到达g3的规划匹配:因为汽车3即将到来并使用恒定速率,所以汽车2必须停止,等待汽车3经过,然后右转到g3。相反,在所示位置上的停止不指示g1或g4(g2不是汽车2的有效目标)。

给定所推断的目标和规划的群集的情况下,自我汽车可以意识到,当汽车2等待汽车3经过时,其可以安全地左转至道路上。

近视基线将识别汽车2的停止操控,但将不能预测随后的操控。

数据驱动行为模型

如上所述,经学习的活动者行为可在mcts模拟内使用以提供现实模拟。这样的生成行为模型可以结合逆向规划使用,或者作为逆向规划的替代,即,可以使用经学习的生成行为模型而无需实施逆向规划(例如,可以使用经学习的模型简单地生成一个或更多个轨迹,而不需要对目标、操控等作出推理)。如所指出的,这样的模型的示例包括空间马尔可夫模型和神经网络。

例如,生成行为模型可以是基于监测的驾驶区域内的多个空间区的空间马尔可夫模型(smm),其中,计算以下中的至少一个:与每个空间区相关联的估计占用概率,以及与多个空间区对中的每一个空间区相关联的估计转变概率。

空间区可以是覆盖在被监测的驾驶区域上的网格的单元。这可以考虑道路结构和/或所监测的驾驶区域中的其他结构,其可以(例如)从地图手动标注或确定。

符号pi表示空间区i的估计占用概率,并且pi,j表示从空间区i到空间区j的转变的估计概率。用smm,在给定模型model情况下,可以基于与由驾驶路径(轨迹)t穿过的一系列网格单元(或其他空间区域)相关联的占用概率和/或转变概率来确定p(t|model)。

驾驶行为数据可以包括任何形式的传感器数据,诸如图像数据和/或运动传感器数据等。数据可以以任何合适的方式收集,但是cctv(闭路电视)系统提供了收集驾驶行为数据的特别便利的手段,特别是在具有良好的cctv覆盖的城市环境中。例如,本公开认识到,来自复杂驾驶背景(例如,复杂环状交叉路口、多车道交叉口、盲角等)的cctv提供驾驶行为数据的丰富来源。

在以下示例中,真实生活驾驶行为数据(诸如cctv图像数据)被用于生成用于训练和用于预测在驾驶时活动者的行为的模型。

可以在一段时间内针对固定区域收集真实生活数据。收集数据的时间段可以是例如24小时,以尝试生成通过该区域的交通移动的准确表示。位置可以是小的,诸如交叉口。可以选择具有穿过它们的高交通量的区域以最大化数据收集的可能性。

收集关于道路布局(驾驶背景)的数据。这可以来自诸如hd(高清晰度)地图的地图,或者它可以从cctv镜头收集,并且手动地或自动地输入。例如,可以手动地标注cctv镜头。

从收集的数据中提取关于所收集的数据中的活动者的位置和运动的信息,并且将信息用于建立正常驾驶行为的空间马尔可夫(状态转变)模型(smm)。状态转变模型是可以用于提供正常行为的简化表示的离散单元近似模型。为了实现这一点,可以将网格应用于在cctv镜头中捕捉的位置。该网格可以在5-10cm/单元的范围内。

然后可以在所讨论的时间段内分析每个网格单元中的主体的行为。在这个分析中提取的信息可以例如包括每个网格元件在所收集的数据的时间段上的占用频率以及在该时间段期间从每个元件到其周围元件进行的转变的数量。然后,可以使用此信息来将占用概率估计pi分配给每个网格单元并且将转变概率估计pi,j分配给每对网格单元i,j。

举例来说,图16示出了为cctv相机的视野内的道路布局确定的smm。在这种情况下,道路布局是相对复杂的交叉口的一部分,固定网格已经叠加在该交叉口上。举例来说,网格的两个单元由参考标志i和j表示,并且具有通过观察真实世界交通确定的占用概率pi和pj。单元i和j之间的转变概率pi,j是活动者直接从单元i移动到单元j的概率,也是通过观察确定的。

如将意识到的,以上描述仅考虑用于对预期车辆行为进行建模的合适模型的一些示例。合适模型的其他实示例包括马尔可夫决策过程模型和对数据的奖励。在这种情况下,通过拟合马尔可夫决策过程模型并奖励数据来执行训练。

在硬件级别上,av的车载计算机系统a1包括能够执行算法以执行上述功能的执行硬件。虽然执行硬件可以是通用或专用执行硬件或它们的任何组合,但是它一般将包括一个或更多个处理器(诸如中央处理单元(cpu))并且其可以结合专用硬件操作,专用硬件诸如但不限于加速器(例如gpu)、现场可编程门阵列(fpga)或其他可编程硬件和/或专用集成电路(asic)等。在给定需要执行复杂的数据处理操作的情况下,经常使用精致且复杂的ml/ai模型,具有足够的准确度和速度(经常是实时的)以确保安全和可靠的操作,车载计算机系统可能是高度精致的,可能具有专门化的计算机硬件,该计算机硬件被定制成实现所讨论的模型和算法。特别地,在给定ai领域中创新正在进展的速度的情况下,将领会,av车载计算机系统a1在硬件级别和功能/软件级别两者处的架构可采取许多形式。本文中,在计算机系统中实现的功能部件等,诸如数据处理部件a2、预测部件a4和av规划器a6,是由计算机系统实现的特定功能的高级别表示,即,由在情境中合适的计算机系统的任何通用和/或专用硬件(的组合)执行的功能。

附件a-场景描述示例

附件b

具有目标识别的单主体mcts的伪代码

在计算预算未用完时

对于每一个其他汽车,对当前操控进行采样,目标和轨迹从当前状态执行展示直到到达目标或到达最大展示长度:

从当前状态选择自我操控//例如,使用ucb规则或一些其他探索,连同用于宏动作的优先级机制一起模拟自我操控,直到它终止//如果操控是宏动作,我们通过宏动作内的整个序列模拟使用它们采样的轨迹,模拟所有其他汽车向前到与自我汽车相同的时间点如果自我汽车在模拟段中与其他汽车冲突:切断搜索分支并选择不同的操控如果新状态到达目标:提取自我轨迹,应用速率平滑以及计算成本函数传播导致搜索树成本增加选择当前状态的最佳操控(例如,最小预期成本或最多访问)。

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