自主车辆的运动控制决策的制作方法

文档序号:17727314发布日期:2019-05-22 02:36阅读:290来源:国知局
自主车辆的运动控制决策的制作方法

本公开整体涉及用于规划和控制自主或部分自主车辆的运动的多种系统和算法。



背景技术:

机动车辆能够在乘车人输入很少或无持续输入的情况下感测其环境并导航至目的地,因此可被称为“自主”或“自行驾驶”车辆,并且正日益成为研究和开发的重点。由于可用硬件和软件的限制,直到最近,用于分析车辆外部环境相关方面可进行的最快计算速度都不足以使得能够在没有人类指导的情况下作出重大导航决策。然而,即使采用目前的高速处理器、大型存储器和高级算法,在其他实体(诸如,其他驾驶人或其他自主车辆)驾驶行为不可预测以及真实世界交通中车辆环境相关数据不完整或嘈杂的情况下,就自主车辆的轨迹作出及时合理的决策(既不基于过于悲观的假设、也不基于过度乐观的假设)仍然是一项巨大挑战。



技术实现要素:

本发明描述了用于管理自主车辆轨迹或运动的决策的方法和装置的各种实施方案。根据一个实施方案,与自主车辆相关联的决策部件可至少包括行为规划器和运动选择器。行为规划器和运动选择器中的一者或两者可包括相应的计算设备组。行为规划器可被配置为针对一些所选时间范围(例如,约数十秒或几分钟)以迭代方式生成车辆的条件性动作及相关联的预期状态变化的候选序列,并且将在各种规划迭代期间生成的序列中的至少一些提供给运动选择器。这些序列也可被称为策略。动作可包括例如加速至特定速度、变道、减速至特定速度等,并且可能与几秒的短时间段相关联。给定状态可表示受控自主车辆的位置、速度和/或其他属性,道路拓扑信息(包括车道线、停车标志、路面等等)以及自主车辆外部环境中的其他车辆和其他实体。从一种状态转变为另一种状态(由在这两个状态中的第一状态下所采取的特定动作所致)可与条件性概率相关联(因为此动作可能导致若干其他下一状态)。在至少一些实施方案中,行为规划器可被配置为利用基于决策树的技术(诸如,蒙特卡洛树搜索算法的变型)来生成策略。在一个实施方案中,可使用从一个或多个机器学习模型(诸如,深层神经网络模型)获得的启发法来优化决策树算法的执行,例如,可使用一个或多个神经网络来限制树搜索的广度,而使用另一个神经网络来限制树搜索的深度。

运动选择器可使用这些策略以及多个另外的输入来生成低级命令或指令,这些命令或指令随后被传输到车辆的各种运动控制子系统(诸如,刹车子系统、加速子系统、转向子系统等),从而致使车辆沿着运动选择器所选择的特定轨迹移动。在一些实施方案中,这些命令或指令的发出速率通常可比运动选择器从行为规划器接收策略的速率更快。在各种实施方案中,自主车辆可包括多个不同类型的传感器设备,包括例如各种外部取向的相机和/或乘车人取向的相机、全球定位系统(gps)设备、雷达设备、光探测和测距(lidar)设备等。在一些实施方案中,行为规划器和运动选择器可以不同速率对传感器设备的输出进行采样,该输出指示自主车辆在其中运行的环境或“世界”。可将运动选择器视为相对于车辆已实现轨迹的最终仲裁器,其可例如涉及针对其他实体的紧急情况和/或非预期行为作出响应,因此,运动选择器的传感器数据采样速率比行为规划器(其作出较长期决策和概率性决策)更快(频率更高)。可将一个或两个决策部件配置为能够处理来自传感器的不完整或嘈杂的数据集,如在障碍物部分遮挡视线的情况下。

在一些实施方案中,可使用真实世界的驾驶人所采取的记录的动作的统计分布来生成策略。例如,监督学习算法(其可包括使用神经网络)可利用记录的动作来学习在某些驾驶条件下最常采取的动作类型,并因此利用此类代表性动作来更有效地构建策略,而不是同等地考虑很少采用的或不成功的动作。在至少一个实施方案中,可使用增强学习算法(其可包括使用不同的神经网络)学习模拟驾驶人行为。也可使用神经网络以递归方式来估计不同动作序列的值,例如聚合针对动作序列中遇到的各个状态计算得出的奖励。奖励和值计算可包括若干不同类型因子的量化,诸如及时到达目的地的可能性、物理可行性、交通规则合规性、各种动作可能产生的社会互动的类型和/或乘车人舒适度/压力感。在一些情况下,奖励和值计算可针对不同乘车人进行定制,例如,相对于其他因子,一些乘车人可能更优先考虑使通行时间最短。在至少一个实施方案中,将策略传输到运动选择器之前,行为规划器可确保该策略符合就类似因子所定义的最低接受标准,以使得运动选择器只需要处理替代方案的相对较小子集。在一些实施方案中,可使用车辆外部资源来进行行为规划器功能中的至少一些,例如,可使用位于数据中心处的服务器来训练和/或执行机器学习模型中的一些。然而,在其中可使用外部资源的各种实施方案中,车载决策部件可被设计成能够承受与外部资源的通信故障。

在至少一个实施方案中,除行为规划器和运动选择器之外,与车辆相关联的决策部件还可包括其他部件,包括例如路线规划器和车道级规划器。可基于所作决策的粒度将这些部件按逻辑分层组织,其中路线规划器位于分层结构的最高层处,负责作出最广泛的决策,然后是车道级规划器、行为规划器和运动选择器。

根据至少一些实施方案,一种方法可包括在与车辆相关联的行为规划器处生成一个或多个条件性动作序列。这些序列可组合使用决策树算法和从一个或多个机器学习模型获得的启发法来生成。可选择至少一些动作序列(例如,基于考虑了诸如及时性、遵守交通法规等因子的递归评估技术),并将这些序列传输到运动选择器。该方法还可包括:运动选择器基于分析传感器数据和基于从行为规划器收到的动作序列生成一个或多个运动控制指令,并且将这些指令传输到运动控制子系统来实现,以实现所选轨迹。在一些情况下,可并行生成替代的条件性动作序列,例如,可使用一组计算设备来进行生成一个条件性动作序列所需的处理,并且在与进行第一序列处理的时间段至少部分重叠的时间段内,可使用另一组计算设备来进行生成另一个条件性动作序列所需的处理。

根据一个实施方案,非暂态计算机可访问存储介质存储程序指令,当在一个或多个处理器上执行程序指令时,程序指令可实现车辆的行为规划器。行为规划器可从车辆的一个或多个传感器获得相应的数据集。通过使用这些数据集、树搜索算法以及一个或多个机器学习模型生成的启发法,行为规划器可生成车辆的一个或多个动作序列。可将序列中的至少一些传输到运动选择器,运动选择器被配置为使用这些序列来生成并发出一个或多个致使车辆移动的运动控制指令。

附图说明

图1示出了根据至少一些实施方案的示例性系统环境,在该环境中,自主车辆的决策部件可利用树搜索算法并结合神经网络模型来控制车辆轨迹。

图2示出了根据至少一些实施方案的自主车辆的示例性决策场景以及与此类决策场景相关联的一般问题特征。

图3提供了根据至少一些实施方案的针对自主车辆决策的混合方法的概况,该方法涉及随机技术、确定性技术和基于学习的技术的组合。

图4示出了根据至少一些实施方案的示例性决策树,从该决策树中,可选择包括候选动作和状态序列的策略,用于从行为规划器传输到运动选择器。

图5示出了根据至少一些实施方案的可用于策略评估的示例性因子。

图6示出了根据至少一些实施方案的可用适于规划自主车辆轨迹的蒙特卡洛树搜索(mcts)算法的概况。

图7示出了根据至少一些实施方案的神经网络模型的概况,这些模型可用于优化针对自主车辆运动控制的树搜索操作。

图8示出了根据至少一些实施方案的可供自主车辆行为规划器使用的动作分布的示例。

图9示出了根据至少一些实施方案的在自主车辆本地计算资源与远程数据中心之间的规划活动分布的示例。

图10示出了根据至少一些实施方案的自主车辆可采用的四层级决策系统内的示例性信息流。

图11是根据至少一些实施方案的示出可在系统处进行的操作的多个方面的流程图,该系统利用使用神经网络优化的树搜索来控制自主车辆的移动。

图12是根据至少一些实施方案的示出可在自主车辆的运动选择器处进行的操作的多个方面的流程图。

图13是示出了可在至少一些实施方案中使用的示例性计算设备的框图。

尽管本文中的实施方案借助若干实施方案和例示性附图进行描述,但是本领域技术人员将认识到,实施方案并不限于所述的实施方案或附图。应当理解,附图和具体实施方式并不旨在将实施方案限制为所公开的特定形式,相反,其旨在涵盖落在所附权利要求书所定义的实质和范围内的所有修改形式、等同形式和替代形式。本文所用的标题仅用于组织目的,并不意味着用于限制说明书或权利要求书的范围。如在整个本专利申请中所使用的那样,以允许的意义(即,意味着具有可能性)而非强制的意义(即,意味着必须)使用字词“可”。类似地,字词“包括”意味着包括但不限于。当用于权利要求中时,术语“或”用作包括性的或而不是用作排他性的或。例如,短语“x、y或z中至少一者”意味着x、y和z中的任一者以及它们的任意组合。

具体实施方式

图1示出了根据至少一些实施方案的示例性系统环境,在该环境中,自主车辆的决策部件可利用树搜索算法并结合神经网络模型来控制车辆轨迹。如图所示,系统100包括自主或部分自主车辆110。术语“自主车辆”在本文中可广义地用于指代下述车辆:至少在一些时间点,不需要乘车人直接输入,即可作出至少一些运动相关决策(例如,是否加速、减速、变道等)。在各种实施方案中,乘车人可以覆写车辆决策部件所作的决策,甚至至少暂时停用车辆决策部件;此外,在至少一个实施方案中,车辆决策部件可在某些条件下请求或要求乘车人参与一些决策。为了协助引入可用于车辆运动规划和控制的算法,图1示出了车辆110的四类部件:运动相关决策部件116、本地传感器集合112、运动控制子系统120和通信设备114。在所示的实施方案中,决策部件116可包括多个层级或分层,包括但不一定限于行为规划器117和运动选择器118(下文在图10的上下文中介绍了其他决策层级的示例)。

运动控制子系统120诸如刹车系统、加速系统、转向控制器等可共同负责致使车辆110发生各类移动变化(或保持当前轨迹),例如,响应于决策部件116发出的指令或命令,从而导致实际或已实现轨迹122。在图1所示的用于决策的分层方法中,运动选择器118可负责向各种运动控制子系统发出相对细粒度的运动控制指令,如箭头134所示。在不同的实施方案中,向运动控制子系统120发出指令的速率可变化,例如,在一些具体实施中,运动选择器118可大约每40毫秒发出一个或多个指令,这对应于运动选择器118约25赫兹的工作频率。当然,在一些驾驶条件下(例如,当车辆在轻微交通流量的直线公路上使用巡航控制功能时),在一些时间点可能不需要向运动控制子系统提供改变轨迹的指令。例如,如果决策部件作出保持车辆当前速度的决策并且不需要新的指令来保持当前速度,则运动选择器可以不必每t毫秒发出新指令,即使其可以能够以此速率提供此类指令。

基于所示实施方案中的若干输入,包括行为规划器117生成的条件性动作和状态序列(如箭头133所示)以及从传感器集合112获得的数据,运动选择器118可确定要提供给运动控制子系统的指令的内容(即,是否需要刹车以减速x个单位、是否需要加速y个单位、是否需要实现转弯或变道等)。条件性动作和状态序列在本文可使用符号{动作,状态}或{a,s}来表示,也可称为“策略”或“动作序列”。动作序列可表示车辆未来轨迹的一组选定选项,由行为规划器使用涉及多个模型的技术生成,如下文进一步详述。在至少一些实施方案中,行为规划器117也可使用传感器数据来生成动作和状态序列。在不同的实施方案中,行为规划器117和/或运动选择器118可从车辆传感器集合112的各个传感器以各种采样频率采集输入。例如,在一个实施方案中,在运动选择器处的给定传感器的输出采样速率可以是在行为规划器处的输出采样速率的大约10倍。在一些实施方案中,不同的传感器可以能够按不同的最高速率来更新其输出,因此,在行为规划器和/或运动选择器处获得输出的速率也可能随传感器的不同而变化。在所示的实施方案中,集合112可包括多种传感器,包括外部取向的相机、乘车人取向的传感器(其可例如包括主要朝向乘车人面部指向的相机或生理信号检测器,诸如心率检测器等,并且可以能够提供乘车人的舒适度或压力度证据)、全球定位系统(gps)设备、雷达设备、lidar(光探测和测距)设备等。除常规的摄像机和/或静态相机之外,在一些实施方案中,可使用近红外相机和/或景深相机。在一个实施方案中,通信设备114中的一者或多者也可发挥传感器的作用,例如,可经由任何合适的通信协议来采集关于附近其他自主或非自主车辆的状态和/或规划的信号。

在用于管理车辆110的移动的一种方法中,行为规划器117可生成若干替代策略,这些策略包括条件性动作和可因这些动作而达到的状态的相应序列,并且将替代方案与相关联的元数据(例如,指示基于当前已知信息的替代方案的“相对优势”的奖励或数值指标)一起提供给运动选择器118。在一些实施方案中,与将指令134提供给控制子系统120的预期速率相比,这些规划可按较低的速率提供给运动选择器118(速率较低可能是由例如为了生成替代方案而进行大量计算引起)。如图1的示例所示,在一些实施方案中,运动选择器118和行为规划器117的工作频率之比可为大约10:1(例如,如果将更新后的{a,s}序列提供给运动选择器的速率为大约b赫兹,则将指令提供给运动控制子系统的速率可为大约10*b赫兹)。不同的实施方案可使用其他频率比,图1所示的比率仅作为示例,并非旨在进行限制。

在所示的实施方案中,行为规划器117可利用一个或多个蒙特卡洛树搜索(mcts)算法来生成{a,s}序列,以提供给运动选择器。在至少一些实施方案中,可从一个或多个深度神经网络获得用于优化mcts算法的启发法(例如,通过识别对应于“更有用”动作的节点子集来限制所构建的树的尺寸以及限制给定级别的树搜索的广度,以及/或者基于所分配的节点值来限制树搜索的深度)。mcts是一种决策方法,有时用于自动化游戏机系统,它结合了随机模拟的通用性与机器学习系统中经常采用的树搜索算法的精确性。下文提供了关于mcts可以适用于控制自导航车辆移动的方式的附加细节以及可以采用神经网络来增强所涉及的树搜索的方式。在一些实施方案中,启发法中的至少一些可以离线模式获得(在必须实时作出依赖于启发法的决策之前)。在其他实施方案中,可实时或近实时获得启发法。在一些实施方案中,可使用除神经网络之外的机器学习模型来优化决策树搜索。

在一个实施方案中,生成{a,s}序列或策略涉及的计算中的至少一些可在远程计算设备上进行,例如在针对训练及运行人工神经网络模型和/或mcts算法而优化的服务器池处进行。在此类实施方案中,可使用通信设备114(其可包括硬件和/或软件部件,用于任何合适类型的无线或基于电话学的通信信道)来获取策略,以及将来自车辆的传感器数据提供给远程计算设备等。在一些实施方案中,策略可使用结合在车辆110内的计算设备本地以及远程设备两者生成,例如,针对短时间段的{a,s}序列可本地生成,而针对较长时期的{a,s}序列可远程生成。在一些实施方案中,本地与远程进行决策的程度之比可随时间推移而变化,如下文参照图9所详述,例如,如果难以或无法与远程设施通信,则可暂时在本地生成更多(可能较不复杂或较短持续时间)的决策,直至通信质量恢复。在一个实施方案中,无论决策是否至少部分地在本地生成,都可使用通信设备114将关于车辆状态(和/或在各种状态下采取的本地动作)的数据传输到远程数据存储库,这些数据可随后进行分析并用于增强未来决策能力。在至少一个实施方案中,可至少部分地并行生成若干不同策略,例如,可使用一组执行线程或处理器生成策略a,而可使用另一组执行线程或处理器(至少部分地并发)生成策略b。在所示的实施方案中,从车辆的角度来看,行为规划器117产生的各个策略可表示“世界”的相应互斥的条件性演变,其中“世界”至少包括车辆110的位置、取向和速度与车辆外部环境中动态变化的相干的其他实体组(包括道路拓扑的方面)的表述一起。行为规划器117也可负责(例如,基于传感器数据、用于处理外部环境不完整视图或部分可观察视图的模型等)精确确定应当被视为与所示实施方案中给定策略相干的外部实体。

在各种实施方案中,为了生成给定策略,行为规划器117可利用一组特定(通常但并非必须互斥的)动作的统计分布,这组动作由一个或多个车辆控制实体(例如,人类驾驶人或模拟驾驶人)在给定条件或状态下采取。例如,可分析表示人类驾驶人在过去所作的实际驾驶决策的数据库。数据库的各项记录可包括:指示车辆状态的数据(例如,逻辑等效项,像“轿车s在三车道公路的中间车道以60英里/小时的速度行驶、接近看起来以大约50英里的时速在同一车道中同向移动的卡车t”),以及不同驾驶人所采取的实际驾驶动作(例如,逻辑等效项,像“移到左车道、临时加速至70英里/小时以超过卡车t”或“移到左车道,不变速”、“保持在中间车道中、减速至50英里/小时”等)。使用真实驾驶人在类似于自主车辆当前或预期状态的情况下所采取的若干不同动作的概率分布,可识别另外一组互斥的动作。因此,例如相对于一对策略p1和p2,其中的每一个包括车辆状态s,基于对真实世界驾驶决策统计分布的分析,动作a1可包括在策略p1中,(相对于a1)互斥的动作a2可包括在策略p2中。与在一些可选择实现的单个“最优”规划的自主导航方法中不同,在所示的实施方案中,可提供若干替代策略或{a,s}序列供运动选择器118考虑。在至少一些实施方案中,例如除使用真实世界驾驶数据之外或与之相反,还可模拟驾驶行为并利用该模拟来作出统计分布。

将给定{a,s}序列提供给运动选择器之前,在至少一个实施方案中,可由行为规划器117验证所提议序列的可接受性。采用的接受标准可包括:例如,该规划是否能导致及时到达正在进行的行程的目标目的地、该规划是否动态可行、该规划是否遵守适用的交通规则以及/或者所提议规划是否为乘车人带来舒适的运输体验。一个或多个奖励函数和/或值函数(其可递归地聚合所提议{a,s}序列的若干状态或动作的奖励)可用于基于类似因子的定量评估来比较不同实施方案中的替代策略。在至少一些实施方案中,奖励和/或值函数也可考虑社会互动,例如,如果特定动作a1(诸如,突然变道以在另一车辆前方移动或以很小的间隙超过自行车)可能引起车辆外部(或内部)人员反感或消极社交反应,则可以将含动作a1的策略赋予比不含动作a1的策略低的值(所有其他因子均相等)。

图2示出了根据至少一些实施方案的自主车辆的示例性决策场景以及与此类决策场景相关联的一般问题特征。在行程开始之前,可识别从起始点210到目的地215(在图2中标记为“目的地”)的自主车辆250的高级总体路线212。高别路线212可例如使用网络可访问的映射服务来识别,并且可包括诸如所提议一组公路/道路、有待用于公路/道路的出口和入口等信息。在一些情况下,高级路线212还可包括到达目的地215的估计或目标时间。路线212可包括多个子区或节段231,诸如节段231c、231j和231v。例如,给定节段231可代表例如一些到道路或公路上的入口或弯道、道路或公路上的一些行驶距离等。

在所示示例中,路段213j包括自主车辆使用入口匝道234汇入多车道道路233(虚线表示车道边界)。在此示例中,出口匝道235位于入口匝道234的短距离内。在车辆250进入道路之时或刚好之前,许多其他车辆201(其中零个或多个可为自主车辆),诸如车辆201a、201b、201c、201d和201u可能正在使用道路233,并且可能足够接近入口匝道而被视为与车辆250的运动决策相干。车辆201和250的主要运动方向用箭头表示,例如,在图2所示的视图中,假设所示的大多数车辆通常从左到右行驶。相对于自主车辆250需要作出的决策可包括:例如,应当进入道路的速度、车辆250在进入道路之后应当立即保持在任何给定车道中的时间、进入入口之后是否应当改变车速以及应当改变多少等。

虽然经验丰富的人类驾驶人可能认为作出这些决策相当简单,但以及时安全的方式自动执行此类决策可能是复杂的任务。针对自主车辆作出运动相关决策的主要问题汇总于下文。有了对“世界”(车辆250附近的环境以及车辆当前位置和移动的特性)一定程度的了解,以及有了目的地215的相关信息(包括高级路线212),可要求车辆250的决策部件产生一系列轨迹,以便车辆(a)以及时有效的方式安全地到达目的地(例如,符合某些期望的燃料或电池使用目标)、(b)动态可行(例如,符合各种适用的物理定律)、(c)遵守交通规则以及(d)为乘车人提供舒适的体验。

图2示出了趋于使自主车辆决策变得困难的许多问题特征261。首先,车辆250的动态变化环境可能是固有随机性而非确定性的,相对于其他车辆201和其他相关物体(诸如道路中的碎屑、坑道、标志等),具有噪声而非完整准确的数据(诸如速度、位置或前进方向)。在一些情况下,一个或多个物体241可能部分地挡住道路视线。因此,在必须对车辆250作出汇入相关决策期间,可能无法观察到全部或部分的一个或多个车辆,诸如201u。此外,其他代理(例如,车辆201的驾驶人或碰巧是自动车辆的那些车辆201的决策部件)的意图或目标未知且难以预测。例如,即使车辆201a的当前位置和速度已知,控制车辆201a的代理也可能突然将车辆201a的轨迹转变到不同车道,如箭头211a和211b所示,并且这种转变可能影响代表自主车辆250所作的决策。其次,在作出决策时可能需要考虑的度量或观察值(诸如各种车辆之间的速度和相对距离)中的许多者可采用连续值而非离散值,从而导致可能的状态和动作的可行空间在理论上是无限的。

可能需要规划的连续动作数目可能相当大,从而导致规划范围很大。原则上,为了实现最优决策(对最优的定义本身可能并不重要),需要针对行程目标相对于彼此地评估各个动作和对应的可实现状态,这种比较在计算方面可能变得难以处理,具体取决于每个阶段考虑的替代方案数目。最后,由于车辆250在移动,动能水平很高(因此具有潜在危险),因此必须在严格的实时约束条件下利用有限的计算资源作出决策。这些特征组合在一起可使自主车辆的运动规划成为极其困难的命题,因为可能需要组合利用多种不同类型的算法,如下所论。

图3提供了根据至少一些实施方案的针对自主车辆决策的混合方法的概况,该方法涉及随机技术、确定性技术和基于学习的技术的组合。如下文所详述,作为混合方法320的一部分,可使用随机方法,由行为规划器327来构建决策树,在当前状态和所选动作给定的情况下,随机方法采用条件性概率来获取相应的下一状态。根据定义,确定性/反应性方法326旨在避免不确定性,可用于简化某些必须极快作出的决策,如在紧急响应规则325管理的各类紧急情况下。此外,在各种实施方案中,确定性技术也可用于对非预期事件作出反应。由于环境的固有不可预测性,不可完全依赖确定性算法来用于运动选择,因为该算法有时可导致规划没有任何合理的选项满足行程目标的死胡同。其他单纯决定性方法可能涉及悲观假设,这形成过于审慎的轨迹(例如,实施试图将所有可能的问题场景考虑在内的规划可导致行程极其缓慢,因此不符合期望)。最后,可使用机器学习算法311学习难以人工进行编码的关系(例如,状态与动作之间的关系)和/或优化混合决策方法中所用的随机和/或确定性技术的方面。近年来发生的计算成本的降低可使实现随机技术以及机器学习算法更加可行,因为所需的计算量可能很大。例如,对于一些算法与参数组合,车载计算资源可能已足够。

混合决策方法的输入321可包括:例如,路线导航数据322(例如,公路、道路、弯道等),“世界”的观察结果323(使用自主车辆的各种传感器和/或通信设备获得的自主车辆本身以及其周围环境的观察结果)、交通规则324以及一组紧急响应规则325(诸如“如果车辆以相对时速r公里靠近到m米之内,则以速度s撤离道路”)。考虑到可用数据的不完整,决策部件326的行为规划器327可构建多个模型来表示关于世界及相关联的不确定性并进行预测。模型可包括状态模型344,其表示例如各种代理(诸如其他车辆的驾驶人或决策部件)的会车位置、速度、加速度等。动作模型345可被配置为表示短期范围内的期望的行为(例如,变道、保持当前速度、加速至某个目标速度)。在所示的实施方案中生成策略时,可仅考虑满足某些标准的代表性动作的所选子集。如果考虑当前状态和替代动作,预测模型345可提供某些数目的下一状态的概率分布。在所示的实施方案中,使用此类模型时,在一些情况下可能涉及使用如下所论的机器学习技术,行为规划器可生成一个或多个策略({动作,状态}序列)的组,对它们进行评估,并且为运动选择器328提供至少一个所推荐的策略子集。

运动选择器328可作出粒度更精细的决策,以生成作为决策部件的输出331的可驾驶轨迹332。在所示的实施方案中,这些粒度更精细的决策可基于下述各项作出:行为规划器提供的策略、以比行为规划器采集传感器数据更高的频率采集的传感器数据和(在一些情况下)紧急响应规则325。除这些职责之外,运动选择器328可协调在策略预测状态与实际(所观察到的)状态之间的不匹配,并且使行为规划器可能已经提供的轨迹通畅以为乘车人提供更舒适的乘坐环境。在一些实施方案中,决策部件的输出可包括记录,其包括用于获得可驾驶轨迹332的推理的指示中的至少一些。可例如对此类记录进行离线分析,以随时间推移而改善决策质量。

图4示出了根据至少一些实施方案的示例性决策树,从该决策树中,可选择包括候选动作和状态序列的策略,用于从行为规划器传输到运动选择器。在所示的实施方案中,决策树410可包括两类节点:状态节点(具有诸如s0、s1-0等的标签)和动作节点(具有诸如a0、a1-0等的标签)。在行为规划器构建决策树410的给定时间点,自主车辆世界的当前或初始状态可用标记为s0的节点表示。多个动作从初始状态开始可能是可行的,每个动作可导致具有相应转变概率的若干下一状态中的一个。即,如果给定源状态和动作,源状态与可能因实施该动作引起的其他“下一状态”之间的边可各自指示进入该状态的概率。为了减少混乱,图4示出了详细示例,其中针对每个状态考虑两个动作,并且其中每个动作可引发三个下一状态中的一个。在真实世界情形中,状态节点和动作节点的相应扇出可能与图4所示的情况明显不同(例如大于)。此外,在至少一些实施方案中,对于不同的状态节点、不同的动作节点或在树内的不同等级,扇出可不同。在各种实施方案中,可将扇出以及决策树的等级数目视为决策过程中的可微调参数或可优化参数。

从根节点s0向下遍历树至正在进行决策的最低级状态421(sk-0,sk-1,…,sk-n)中的一个形成条件性动作和状态的候选序列(诸如,标记为422的序列对中的一个),可选择该序列以用于传输到运动选择器。如果动作a0从初始状态s0开始实施,则考虑例如树410中包括的一组可能的下一状态。符号pr(s1-0|s0,a0)表示在给定开始状态s0和动作a0的情况下进入状态s1-0的条件性转变概率411。类似地,pr(s1-1|s0,a0)表示在给定开始状态s0和动作a0的情况下进入状态s1-1的概率。根据规划范围(大致对应于树410的深度,即,介于s0与最低级状态421之间的等级数目)以及从动作节点和状态节点的扇出,在各种实施方案中,构建完整决策树所需的计算总量可能相当大。在各种实施方案中,当构建决策树(诸如410)时以及相对于彼此评估动作和状态序列时,行为规划器可使用若干类型的优化。在一些实施方案中,使用如下所述的递归技术(涉及使用指示不同状态的相对适用性的本地奖励函数)来选择待提供给运动选择器的一个或多个候选序列,可估计与各种状态相关联的值。在如下所述的一些实施方案中,蒙特卡洛搜索树算法可例如与经训练以相对于宽度和深度限制树搜索的神经网络一起使用。

图5示出了根据至少一些实施方案的可用于策略评估的示例性因子。在一些实施方案中,可使用递归评估过程。在此类过程中,奖励r(si,aj,si+1)与从每个状态si到状态si+1的各个转变相关联,其中转变是实施一些动作aj的结果,可通过向下遍历决策树来计算该奖励。然后,在向上遍历回该树期间,可聚合给定{动作,状态}序列发生转变的相应奖励,以获得整个序列的值。因为转变具有如上所述与其相关联的条件性概率,所以可概率性地而非确切地表示与给定序列相关联的值。在至少一个实施方案中,行为规划器相对于给定初始状态生成的多个策略可基于其估计值来相对于彼此排序,并且仅将符合最小值标准的策略子集传输到运动选择器。

在确定与给定转变相关联的奖励时,在所示的实施方案中,可考虑许多因子。除时间效率517(即,如果实施一组给定动作,多快可能到达目的地)之外,可共同用于确定奖励并因此确定策略值的因子525还可包括乘车人体验质量509、交通规则或规范的遵守程度501、社会互动505和资源消耗513。一组关于乘车人偏好和心理的假设可指导量化因子的方式,以获得数值奖励或值:例如,相对于乘车人体验,可以将导致更少变道、更少快速加速和减速时间段等的动作序列视为优于在一分钟之内涉及四次变道并且速度快速变化的规划。在数值方面,可将即使轻微违反交通规则或规范(例如,在进行转弯前至少t秒时应当激活转向信号,或者不应当越过由实心白线组成的分道线)的序列视为劣于不违反任何交通规则或规范的序列。

在一些情况下,与{动作,状态}序列相关联的值可结合(例如,与其他乘车人/驾驶人的)预期社会互动的表示505。例如,在所需出口之前变道可积极地有助于序列值。然而,如果变道定时和在目标车道中与另一车辆的接近度为由此使得其导致明显粗鲁地“截断”另一车辆的路,则另一乘车人可能不非常积极地反应,因此由于可导致潜在的消极社会互动,该序列值可能减小。当然,需要根据文化或地理背景来评估社会互动和期望,例如,在一个国家引起极端消极社会反应的特定动作可能在另一国家被视为不那么具有冒犯性。在一些实施方案中,也可将资源消耗525(例如,作为特定序列相对于其他序列的结果的电动或混合动力车辆的汽油或电池消耗程度)结合在奖励/值计算内。在一些实施方案中,奖励/值估计中也可包括环境影响(诸如碳足迹)。在一些实施方案中,可基于车主和/或乘车人的偏好将对应的定制权重分配给不同因子,例如,相比于其他乘车人,一些乘车人可能指示车辆的决策元件将更大权重分配给环境或资源消耗因子。在一些实施方案中,评估中各种因子量化的方式(例如,如何准确将具体运动转化为相对于舒适度、压力感等的度量,忽略哪些运动以及将哪些运动包括在奖励/值计算中)可包括决策算法的参数,这些参数本身可随时间推移使用机器学习技术或其他技术进行微调。

在一些实施方案中,可使用类似于图5所示公式551、552和553的公式用于奖励和值计算以及用于(从一组策略中)选择具有最大值的最优策略。使用公式551,可使用针对作为动作“a”的可实现结果的下一状态组的条件性转变概率(pr(s’|s,a))来计算与给定状态和动作p(s,a)相关联的总奖励。符号“π”用于表示公式552和553中的策略({动作,状态}序列),vπ(s)表示执行策略π(其包括动作aπ)时与状态s相关联的值。公式553指出,将使用公式552确定的值最大化(因此使用argmax运算符)的顺序动作和状态的特定组合代表所考虑策略中的最优策略。如前所述,在各种实施方案中,可选择不止一个策略或{动作,状态}序列作为候选项传输到运动选择器,因此,尽管公式553指出如何可识别最优策略,但并不意味着仅提供单个最优策略给运动选择器。相反,例如,可提供值适度地接近最优值的若干策略。

如前所述,在各种实施方案中,可在自主车辆的决策部件中使用基于树搜索的算法。图6示出了根据至少一些实施方案的适用于生成自主车辆动作序列的蒙特卡洛树搜索(mcts)算法的概况。在较高级处,诸如图6所示的基本mcts算法可包括多次迭代或循环,其中每次迭代均包括叶节点选择阶段602、树扩展阶段604、模拟阶段606和反向传播阶段614。树可包括多个节点和多个边。一般来讲,每个节点可对应于一种状态,每个边可对应于动作,该动作导致从一种状态转变为另一状态。(对于自主车辆运动规划,可调整基本mcts算法,由此使得从树的给定状态s1到另一状态s2的边表示给定动作导致状态s1变成状态s2的概率,例如,边可表示转变概率而不是非条件性动作本身)。在一些实施方案中,对于自主汽车,对应于树中的一个边的单个“动作”实际上可对应于若干不同运动引发型指令的组合。在各种实施方案中,除状态信息之外,针对各个节点存储的元数据可包括:节点的相应估计值(例如,使用下述神经网络计算的)和/或致使迄今为止在算法执行过程中遇到该节点的频率的访问计数。

图6中字母r指示的根节点可对应于例如初始状态(例如,当前状态),相对于初始状态,将作出关于动作的策略。在一个实施方案中,从根节点开始,可在叶节点选择阶段602的每个树级处以递归方式识别“最优”子节点,直至到达字母l指示的叶节点。例如,在一个简单的mcts具体实施(其可进行修改,以用于自主车辆环境)中,可使用上限置信度(ucb)公式来选择子节点。根据此公式,可计算第i个子节点的数量qi:

在所示的公式中,vi是第i个子节点的估计值,c是偏置常数,n是迄今为止第i个子节点的母节点的被访问次数,ni是第i个子节点自身的被访问次数。在每个级处,可选择具有最大qi的子节点,由此可建立面向“最优”叶节点l的路径655。已经显示,ucb公式可针对各种使用情况,在利用已知奖励与探索尚未被访问的节点之间维持合理的平衡。

在扩展阶段604,基于所用决策系统识别的可行动作,可添加一个或多个新节点(诸如图6中的扩展节点e)作为l的子节点。接着,在模拟阶段606,可对从新添加的节点e进入的可能状态进行模拟(在图6中用标记“模拟”表示)。根据采用mcts技术的应用,可进行模拟,直至达到不同的树深度。例如,当mcts用于对一些游戏作出玩法决策时(在每个状态下,这些游戏具有相当小的一组可行动作),可进行模拟,直至进入游戏终止状态(例如,获胜、战败或平局)。当mcts用于自主车辆移动决策时或用于可能动作更广泛的游戏时,可选择模拟深度作为算法的参数,因为综合模拟可能不切实际(或者,在车辆场景中促成多种状态的各种连续值的情况下,不可能)。在反向传播阶段610,可例如沿着路径657,在树上向上传播模拟结果(可包括例如在模拟中使用相应概率获得的各种状态的值),从而根据需要更新每个节点的值和访问计数。可随后开始下一个迭代阶段,除非用于动作选择的指定资源已耗尽,或者用于动作选择的分配时间已耗尽。如果以及当时间/资源耗尽时,可使用识别的针对叶节点的最优路径中的至少一条发起对应的动作。在用于自主车辆的mcts的变型中,可使用若干不同路径(最优路径以及一条或多条接近最优路径)来生成相应的行为规划,并且在一些实施方案中作为输入提供给运动选择器。

一般来讲,与图6所示类似的mcts算法具有下述优点:可应用于多个领域(游戏、车辆导航等);树生长和树搜索朝向“更有趣的”节点(例如,奖励/值较高的节点)呈不对称偏置;至少从计算角度而言,可随时正常退出算法(在存储了当前结果的情况下);算法的概念简单。当然,随着可行动作和可达状态的组合空间变大,执行基本mcts算法以涵盖所有替代方案所需的计算资源也可能变得不可想象的大。

在一些实施方案中,可使用神经网络模型来增强核心mcts算法(例如,以应用可通过若干方式限制搜索结果的启发法),以使得能够及时作出与自主车辆相关的决策。通过此类模型,可在决策过程中引入所学到的搜索偏置,即,基于真实驾驶人和/或模拟驾驶人体验,通过尝试识别“更好”或“更有用”的动作来限制搜索树中的搜索。由于远期预测通常不如近期预测准确,因此在各种实施方案中,树在行为规划器运算的给定迭代期间的构建深度可使用名为“可变决议树生长”方法来减小。为了减小树深度,也可使用从外部源获得的导航相关信息(例如,不同路段当前的交通估计量和/或历史交通记录)与到达目的地的估计剩余时间一起。例如,在一个实施方案中,可将规划范围设置为大约30秒,这可导致大约10个待考虑动作的树深,假定每个动作对应大约3秒。

图7示出了根据至少一些实施方案的神经网络模型的概况,这些模型可用于优化针对自主车辆运动控制的树搜索操作。以举例的方式示出三个神经网络:监督学习策略神经网络(slpnn)702、增强学习策略神经网络(rl-pnn)722和监督学习值神经网络(sl-vnn)732。

在所示的实施方案中,可将记录(实际)动作705(以及这些动作的结果或奖励)的概率分布用作训练sl-pnn的输入。实际动作可包括例如人类驾驶人采取的动作和/或自主车辆决策部件在实际环境中采取的动作。rl-pnn可例如被初始化为sl-pnn的副本,并且可通过进行模拟(例如,代表不太可能在真实驾驶人记录中被捕获的不太可能状态的模拟)来增强。可认为该分析的增强学习阶段类似于在游戏计算机程序中的自我对决,其中计算机跟其自身对决并学习此类游戏的结果。模拟725中所进行动作的概率分布可与所记录的驾驶人动作的概率分布一起使用,以有助于限制沿着宽度维度进行的蒙特卡洛树搜索(即,限制在树的给定级处检查的子节点数目),如元件775所示。例如,在一组n个替代的可行动作(可从给定状态获得)中,最常发生且可实现模拟中的行程目标(因此可被视为“最可能”的动作)的前k个动作可被视为进一步分析的候选项。可使用sl-vnn(如元件785所示)来有助于限制在蒙特卡洛树内执行搜索的深度,例如通过将值分配给发生在有限深度的状态(使用rl-pnn识别的可能动作所导致的状态)。在一些实施方案中,可在图7所示的传递路径的一个或多个阶段使用具有多个隐藏层的深度cnn(卷积神经网络)。

如前所述,在各种实施方案中,可使用早前在各种状态下(例如,由人类驾驶人、其他自主车辆的决策部件或模拟驾驶人)所采取的动作的统计分布来规划自主车辆的移动。图8示出了根据至少一些实施方案的可用于生成自主车辆动作序列的动作分布的示例。在上方的柱状图801a中,示出了在特定状态s1下,所采取的四个示例性互斥的可行动作a1、a2、a3和a4中每一个的相对次数,其中四个动作的相应柱高与所采取的相应动作的次数成比例。在所示示例中,动作a1对应于在不变向的情况下加速车辆,a2对应于刹车,a3对应于变道至当前车道右侧,动作a4对应于变道至左侧。在此四个示例性动作中,基于所采集的记录数据和/或模拟,a3最频繁地被选择,a4第二,a1第三。

当车辆决策系统遇到类似于s1的状态时(或当类似于s1的状态是被视为正在生成的策略中可能性的预期状态之一时),可考虑动作a1至a4的分布以生成策略。例如,在一个具体实施中,可生成至少两个替代策略(涉及下述情况下所采取的动作:如果达到状态s1或其等同形式/当达到该状态或其等同形式),一个涉及动作a3,另一个涉及动作a4。在此类具体实施中,两个替代方案都可由行为规划器提供给运动选择器。类似地,如果达到或预期达到状态s11以及当达到或预期达到该状态时,可分析柱状图802中所示的可行动作a5、a6、a7和a8的分布以生成策略。例如,如果要生成两个替代策略,则可选择a5和a7作为在状态s11下所采取的动作。考虑到最常进行的动作(a5)和下一最常见动作a7的发生计数之间的差异较大,在至少一些情况下,仅生成涉及从状态s11进行a5的策略,也就是说,即使行为规划器已编程为默认通常生成涉及从给定状态开始的替代动作的至少两个策略,如果凭经验发现这些动作中的一个比任何其他动作更受欢迎,则可覆盖默认设置。

在利用上述类型的神经网络的实施方案中,至少一些神经网络的输入可包括对应于统计分布(诸如图8所示的分布)的世界状态概率分布810,而非原始传感器数据(诸如经由一个或多个相机捕获的像素)。如上所述,在自主车辆的情况中,在给定状态下所采取的替代动作的数目可能相当大。在至少一些实施方案中,可将部分柱状图用作近似分布,而不是构建来指示动作的分布情况的完整柱状图(可包括针对许多很少实施的动作的柱状图桶)。

在一些实施方案中,可以分布式方式进行与自主车辆相关联的决策部件的计算,例如使用车辆自身的本地资源以及远程资源。图9示出了根据至少一些实施方案的自主车辆本地计算资源与远程数据中心之间的规划活动分布的示例。在所示的实施方案中,示出了两辆自主车辆909a和909b,其中的每辆均被配置为利用远程数据中心905的计算资源来进行决策所需的一些处理子集。数据中心905可包括例如一个或多个计算资源池913,诸如服务器951a至951n。在一些实施方案中,至少一些资源池913或各个服务器951可进行优化,用于进行机器学习操作,例如,一些服务器可使用比常规cpu更适于神经网络算法的图形处理单元(gpu)。数据中心的资源可用于训练和运行自主车辆行为规划器采用的机器学习模型中的至少一些(包括例如上述类型的神经网络);因此,在所示的实施方案中,在实行中的行为规划器可包括车辆本地的一些车载部件和一些远程部件。在至少一些实施方案中,可将数据中心的计算资源设置成能够在数据中心905处并行生成许多不同策略或{动作,状态}序列。除池913中的计算资源之外,数据中心也可包括一个或多个数据库914,其包含可用于自主车辆909进行决策的位置特定信息或区域特定信息。

自主车辆909中的每一个包括一组相应的车载计算资源917(例如,车辆909a和909b的相应资源917a和917b)以及相应的本地高速缓存953(例如,车辆909a和909b的相应动态更新的高速缓存953a和953b)。根据例如车辆909的当前位置和/或当前乘车人的身份,可通过数据中心的数据库914定期更新高速缓存953。例如,可根据需要将城市特定交通规则或社区特定交通规则加载到高速缓存中,当乘车人改变时可更新乘车人偏好(诸如选择策略时将相对权重分配到不同因子)等等。应当指出的是,并非所有自主车辆都可包含等同的本地计算资源,例如一些车型可包含比其他车型更强大的处理设备和/或更大的高速缓存。

在各种实施方案中,至少部分地基于自主车辆909与数据中心之间的网络连接质量,可使用车载资源在本地以及在远程进行相对数量不同的规划相关处理。通常,自主车辆可尝试与数据中心905建立并维持高带宽低延迟的通信信道。如果连接质量高,如箭头932针对车辆909b所示,则数据可以高速率和高保真度往返于数据中心905进行传输,因此较大部分规划任务可在数据中心处进行。相比之下,如果连接质量较低,如箭头931相对于车辆909a所示,则可能必须使用车载资源来实现较大部分决策逻辑。在至少一个实施方案中,可使用本地计算资源来进行传感器数据采集和处理以及运动选择器操作的任务,但也可(尽管并非必须)在数据中心处进行至少一部分行为规划器的功能。在各种实施方案中,由于与远程数据中心的连接可能较弱,可将车辆决策部件设计成由此使得即使长期无法与数据中心进行通信,也能够规划车辆的移动。

在图1的系统100中,示出了双层的运动相关决策部件116:行为规划器和运动选择器。在各种实施方案中,可使用其他层数的决策部件。图10示出了根据至少一些实施方案的自主车辆可采用的四层级决策系统内的示例性信息流。在所示的实施方案中,分析细节的粒度(以及所产生输出的相应特异性)从上到下增加。在最高级处,如果给定起点(例如,给定行程开始之前或行程期间不同时间点处车辆的当前位置,该位置可例如经由gps传感器获得)和终点(例如,对应于由乘车人例如口头输入、使用文本输入或使用触摸屏地图所提供的地址的目的地),路线规划器1001可识别将用于该行程的具体道路、公路等。可例如从交通报告/分析中获得当前交通信息,以选择满足乘车人指定标准的路线(例如,到达目的地的时间最短、覆盖距离最短、收费最低、碳排放最少等)。在一些情况下,乘车人可从路线规划器1001提供的一组候选路线中选择具体路线。

在所示的实施方案中,可将高级路线规划作为输入(与从车辆传感器采集的传感器数据一起)提供给车道级规划器1005。车道级规划器可分析附近或靠近车辆的位置和速度,识别高级路线规划中指示的出口或弯道,并根据需要以及在需要时生成对应的值函数。可将值函数作为输入提供给行为规划器1009。如前所述,可将行为规划器层1009生成的策略提供给运动选择器层1013。运动选择器层可生成致使车辆开始运动的低级指令1017。在至少一些实施方案中,在多层决策系统的任何给定层处,上述层中的每一层的输出以及各种传感器产生的输出可以是可用的(为其原始形式或者在一个或多个居间层进行转换之后)。各层之间的传感器数据采样速率可以不同,其中与在较高层处相比,在较低层处获得传感器数据的频率更高。

图11是根据至少一些实施方案的示出可在系统处进行的操作的方面的流程图,其中系统利用使用神经网络优化的树搜索来控制自主车辆的具体行程的移动。如元件1101所示,可确定自主车辆行程的目的地(假设车辆的当前位置是行程起始点),以例如响应车辆决策系统从乘车人处收到的输入。在一个实施方案中,例如乘车人可口头说出目的地,而在其他实施方案中,可使用触摸屏界面或联系人地址(例如,智能手机联系人应用中的地址)指示目的地。可识别包括一系列道路的高级路线以及道路之间的转换(例如,转弯、公路入口和出口等)。(当然,根据条件的变化,可动态地改变或偏离高级路线本身)。

一旦行程开始,就可按连续迭代方式来规划车辆的移动,这是因为可获得关于环境的新数据并且可基于分析新数据而生成响应。在给定迭代期间,可采集并分析自主车辆多个本地传感器设备(例如包括各种摄像机、近红外相机、景深相机、雷达设备、lidar设备等)的传感器数据(元件1104)。

车辆可采用多层决策系统,包括至少行为规划器层和运动选择器层。行为规划器可采用蒙特卡洛树搜索(mcts)算法,其中使用从一个或多个神经网络或其他机器学习算法获得的启发法来优化增强搜索,以生成多个替代策略或条件性动作序列(元件1107)。各个动作可对应于车辆的几秒移动,并且可包括例如“从中间车道变换至右车道”、“保持在当前车道中时加速至速度x”等。每个策略可包括相应条件性概率的指示,,其与状态对之间的具体状态转变(其可由实现给定动作而产生)相关联。给定状态可表示受控自主车辆以及某些选定区域内对自主车辆周围具有潜在影响的其他车辆和物体(例如,在几百米内,具体取决于车速)的已知或估计位置、方位和速度等。也可生成相应策略的估计值(例如,基于诸如图5的上下文中所讨论的因子)。在一些使用神经网络来优化决策树操作的实施方案中,所用的神经网络可包括如上所述的一个或多个策略网络(其可共同有助于减小树搜索的宽度)和/或值网络(其有助于减小树搜索的深度)。可使用监督学习(例如,基于对观察到的各种状态下的动作分布的分析)和增强学习(例如,基于驾驶行为的模拟)的组合来获得启发法。在至少一些实施方案中,传感器数据可包括用于生成条件性动作序列的输入的一部分。

在所示的实施方案中,至少可将这些序列及其值的子集作为输入以特定频率或速率f1提供给运动选择器层(元件1110)。除规划之外,运动选择器也可例如以高于f1的速率采样来自车辆传感器的传感器数据(元件1113)。在各种实施方案中,运动选择器和/或行为规划器也可负责补偿不完整或嘈杂的传感器数据集,例如因周围环境的视线被遮挡或被部分遮挡所致。在一些实施方案中,可构建观察模型,用于处理此类部分观察数据。例如,在非完全可见位置中,模型可包括关于其他车辆的可能分布状况(在位置和速度方面)的假设,例如基于当前环境可见部分的实际观察情况和/或类似环境的记录数据。可使用车辆(例如,在其他类似环境中)的时间序列测量来推断是否存在其他车辆以及可能的轨迹。在一些此类实施方案中,可将对应于所推断车辆的另外分支添加到决策树,用于规划自主车辆自身的动作。

在所示的实施方案中,可使用传感器数据、动作序列和一组紧急响应规则的组合在运动选择器处生成短期运动引发型指令(元件1116)。在所示的实施方案中,运动选择器可访问比用于在行为规划器处生成动作序列更近期的传感器数据,并且可负责补偿在行为规划器所作的预测与实际观察到的条件之间的冲突。在各种实施方案中,关于运动选择器的工作的其他细节在下文关于图12的讨论中提供。可将指令从运动选择器传输到车辆的各种控制子系统(元件1119),该指令可致使车辆沿所选轨迹行进。应当指出的是,在至少一些情况下,车辆实际上形成的或实现的轨迹可不同于对应于行为规划器生成的动作序列的轨迹,即,运动选择器可基于更新和/或更完整的数据覆盖行为规划器生成的所提议决策。在所示的实施方案中,与从行为规划器接收动作序列的频率相比,来自运动选择器的输出可以更高频率来生成并传输。在其他实施方案中,运动选择器输出产生的速率不一定高于行为规划器的输出。如果已到达目的地(如在对应于元件1122的操作中检测到),则行程可视为完整行程(元件1125)。否则,在给定其当前状态的情况下,可使用与元件1104至1122所示类似的操作对关于自主车辆后续移动的决策执行下一次迭代。

图12是根据至少一些实施方案的示出可在自主车辆的运动选择器处进行的操作的方面的流程图。如元件1201所示,运动选择器可例如以固定间隔或以不同间隔从行为规划器接收候选动作序列。在所示的实施方案中,动作序列可能已经在行为规划器处被识别和选择,而未必考虑到行程的通畅性或舒适度(如乘车人可能感知到的),运动选择器的责任可包括在此类实施方案中尽可能地使实际轨迹通畅。

运动选择器可识别或隔离对应于给定动作序列的多个候选世界演变(元件1204),其中每个候选世界包括自主车辆得可能运动以及一组其他车辆的对应无干扰轨迹。

基于不同的世界演变,可识别就时间和空间而言的一组不可驾驶区域(元件1207)。例如,如果在候选世界演变中的至少一个中与另一车辆碰撞的概率超过阈值,或者如果到达区域所需的加速度或减速度超过阈值,则可认为该区域是不可驾驶区域。然后,可生成针对自主车辆的简单“骨架”轨迹(元件1210),需考虑不可驾驶区域,同时限制自主车辆在不同时间点的最高速度和位置。

在所示的实施方案中,考虑到骨架轨迹、实时传感器数据和乘车人舒适度考虑因子的约束,可识别运动选择器发出的一组特定运动控制指令(元件1213)并提供给适当的运动控制子系统(元件1216)。

应当注意的是,在各种实施方案中,可使用除图11和图12的流程图中所示操作之外的至少一些操作来实现上述车辆运动控制的决策技术。在一些实施方案中,所示操作中的一些可能无法实现、或者可按不同顺序实现或者并行实现而不是顺序实现。例如,在各种实施方案中,在自主车辆的各种传感器处,可几乎连续地与其他决策步骤中的一些的处理并行地采集关于环境的输入数据。另外,如前所述,在一些情况下,可例如使用独立的计算资源集在至少一些具体实施中并行地生成和/或评估多个动作序列。

在至少一些实施方案中,服务器用于实现本文所述决策技术中的一个或多个,包括各类传感器信号的采集、获取或处理技术以及机器学习算法(包括神经网络算法、树搜索等)的训练和执行技术,并且可包括通用计算机系统,其包括或被配置为访问一个或多个计算机可访问介质。图13示出了此类通用计算设备9000。在所示的实施方案中,计算设备9000包括一个或多个处理器9010,其经由输入/输出(i/o)接口9030耦接到主存储器9020(其既可包括非易失性存储器模块,也可包括易失性存储器模块,并且也可称为系统存储器)。计算设备9000还包括耦接到i/o接口9030的网络接口9040以及可包括各类传感器的其他i/o设备9035。

在各种实施方案中,计算系统9000可为包括一个处理器9010的单处理器系统或包括若干处理器9010(例如,两个、四个、八个或其他合适数目)的多处理器系统。处理器9010可为能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器9010可以是实现多种指令集架构(isa)(诸如x86、powerpc、sparc、mipsisa或任何其他合适的isa)中的任何者的通用处理器或嵌入式处理器。在多处理器系统中,处理器9010中的每个处理器通常可以但并非必须实现相同的isa。在一些具体实施中,可使用图形处理单元(gpu)代替常规处理器,或者除常规处理器之外还可使用图形处理单元(gpu)。

存储器9020可被配置为存储处理器9010可访问的指令和数据。在至少一些实施方案中,存储器9020可包括易失性部分和非易失性部分两者;在其他实施方案中,仅可使用易失性存储器。在各种实施方案中,系统存储器9020的易失性部分可通过任何合适的存储器技术来实现,诸如静态随机存取存储器(sram)、同步动态ram或任何其他类型的存储器。对于系统存储器的非易失性部分(其可包括例如一个或多个nvdimm),在一些实施方案中,可使用基于闪存的存储器设备,包括nand闪存设备。在至少一些实施方案中,系统存储器的非易失性部分可包括电源,诸如超级电容器或其他电力存储设备(例如,电池)。在各种实施方案中,可至少对系统存储器的非易失性部分使用基于忆阻器的电阻式随机存取存储器(reram)、三维nand技术、铁电ram、磁阻ram(mram)或各种类型的相变存储器(pcm)中的任何者。在所示的实施方案中,示出了可执行程序指令9025和数据1926存储在主存储器9020内,这些数据实现一个或多个所需功能,诸如上述方法、技术和数据。

在一个实施方案中,i/o接口9030可被配置为协调在处理器9010、主存储器9020和各种外围设备(包括网络接口9040或其他外围接口,诸如各种类型的永久性和/或易失性存储设备、传感器设备等)之间的i/o流量。在一些实施方案中,i/o接口9030可进行任何必要的协议、定时或其他数据转换功能,以将来自一个部件(例如,主存储器9020)的数据信号转换成另一部件(例如,处理器9010)适用的格式。在一些实施方案中,i/o接口9030可包括对设备的支持,该设备例如通过各种类型的外围设备总线诸如外围部件互连(pci)总线标准或通用串行总线(usb)标准的变体而附接。例如,在一些实施方案中,i/o接口9030的功能可例如被划分到两个或更多个单独部件中,诸如北桥和南桥。此外,在一些实施方案中,i/o接口9030(诸如到存储器9020的接口)的功能中的一些或全部可直接集成到处理器9010中。

例如,网络接口9040可被配置为允许数据在计算设备9000与附接到一个或多个网络9050的其他设备9060(诸如图1至图12所示的其他计算机系统或设备)之间交换。在各种实施方案中,网络接口9040可例如支持经由合适的有线或无线通用数据网络(诸如多种类型的以太网网络)的通信。另外,网络接口9040可支持下述通信:经由电信/电话网络,诸如模拟语音网络或数字光纤通信网络;经由存储区域网络,诸如光纤信道san;或经由任何其他适当类型的网络和/或协议。

在一些实施方案中,主存储器9020可为计算机可访问介质的一个实施方案,该计算机可访问介质被配置为存储上文针对图1至图12所述的程序指令和数据,用于实现对应方法和装置的实施方案。然而,在其他实施方案中,可在不同类型的计算机可访问介质上接收、发送或存储程序指令和/或数据。一般而言,计算机可访问介质可包括经由i/o接口9030耦接到计算设备9000的非暂态存储介质或存储器介质,诸如磁性或光学介质,例如磁盘或dvd/cd。非暂态计算机可访问存储介质也可包括任何易失性或非易失性介质,诸如ram(例如,sdram、ddrsdram、rdram、sram等)、rom等,这些介质可作为主存储器9020或其他类型的存储器而包括在计算设备9000的一些实施方案中。此外,计算机可访问介质可包括经由通信介质(诸如网络和/或无线链路,诸如可经由网络接口9040来实现)传递的传输介质或信号,诸如电信号、电磁信号或数字信号。多个计算设备中的部分或全部(诸如图13所示设备)可用于实现各种实施方案中所述的功能;例如,在各种不同设备和服务器上运行的软件部件可进行协作,以提供该功能。在一些实施方案中,除使用通用计算机系统实现之外或与之相反,所述功能的一些部分可使用存储设备、网络设备或专用计算机系统实现。如本文所用,术语“计算设备”是指至少所有这些类型的设备,并且不限于这些类型的设备。

结论

各种实施方案还可包括在计算机可访问介质上接收、发送或存储根据以上描述所实现的指令和/或数据。一般而言,计算机可访问介质可包括存储介质或存储器介质诸如磁介质或光介质,例如磁盘或dvd/cd-rom、易失性介质或非易失性介质诸如ram(例如sdram、ddr、rdram、sram等)、rom等,以及传输介质或信号,诸如电信号、电磁信号或数字信号,经由通信介质诸如网络和/或无线链路来传送。

附图所示和本文所述的各种方法代表方法的示例性实施方案。该方法可以软件、硬件或它们的组合来实现。方法的顺序可改变,并且各种元素可被添加、重新排序、组合、忽略和修改等。

可作出各种修改和改变,这对于从本公开受益的本领域的技术人员来说应当是显而易见的。其旨在涵盖所有此类修改形式和变更形式,因此上述具体实施方式应被视为例示性的而非限制性的。

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