基于模拟状态的运载工具动作选择的制作方法

未命名 10-22 阅读:77 评论:0


1.本发明涉及一种用于运载工具的方法和系统以及计算机可读介质,尤其涉及一种基于模拟状态的运载工具动作选择的技术。


背景技术:

2.自动驾驶运载工具通常使用多个类型的图像来感知这些自动驾驶运载工具周围的区域。训练这些系统以准确地感知区域可能是困难且复杂的。


技术实现要素:

3.根据本发明的第一方面,一种方法包括:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于评估所述多个模拟轨迹,选择与所述多个模拟状态中的模拟状态相对应的动作;以及使得所述运载工具执行所述动作。
4.根据本发明的第二方面,一种系统包括:数据存储器,用于存储计算机可执行指令;以及处理器,其被配置为执行所述计算机可执行指令,其中所述计算机可执行指令的执行使得所述系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于所述多个模拟轨迹的评估,选择与所述多个模拟状态中的模拟状态相对应的动作;以及使得所述运载工具执行所述动作。
5.根据本发明的第三方面,一个或多于一个非暂时性计算机可读介质,其包括计算机可执行指令,所述计算机可执行指令在由计算系统执行时,使得所述计算系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于所述多个模拟轨迹的评估,选择与所述多个模拟状态中的模拟状态相对应的动作;以及使得所述运载工具执行所述动作。
附图说明
6.图1是可以实现包括自主系统的一个或多于一个组件的运载工具的示例环境;
7.图2是包括自主系统的运载工具的一个或多于一个系统的图;
8.图3是图1和图2的一个或多于一个装置和/或一个或多于一个系统的组件的图;
9.图4a是自主系统的某些组件的图;
10.图4b是神经网络的实现的图;
11.图4c和图4d是例示cnn的示例操作的图;
12.图5是例示自主系统的示例规划系统的框图;
13.图6a至图6g是例示场景评估系统从场景状态生成模拟状态和轨迹并进行评分的示例的状态图;以及
14.图7是例示由一个或多于一个处理器实现以选择运载工具的动作的例程的示例的流程图。
具体实施方式
15.在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本公开的透彻理解。然而,本公开所描述的实施例可以在没有这些具体细节的情况下实施将是明显的。在一些实例中,众所周知的构造和装置是以框图形式例示的,以避免不必要地使本公开的方面模糊。
16.在附图中,为了便于描述,例示了示意要素(诸如表示系统、装置、模块、指令块和/或数据要素等的那些要素等)的具体布置或次序。然而,本领域技术人员将要理解,除非明确描述,否则附图中示意要素的具体次序或布置并不意在意味着要求特定的处理次序或序列、或处理的分离。此外,除非明确描述,否则在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其他要素结合。
17.此外,在附图中,连接要素(诸如实线或虚线或箭头等)用于例示两个或更多个其他示意要素之间或之中的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,要素之间的一些连接、关系或关联未在附图中例示,以便不使本公开内容模糊。此外,为了便于例示,可以使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令(例如,“软件指令”)的通信,本领域技术人员应理解,这种要素可以表示影响通信可能需要的一个或多于一个信号路径(例如,总线)。
18.尽管使用术语“第一”、“第二”和/或“第三”等来描述各种要素,但这些要素不应受这些术语的限制。术语“第一”、“第二”和/或第三”仅用于区分一个要素与另一要素。例如,在没有背离所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点这两者都是触点,但它们不是相同的触点。
19.在本文所描述的各种实施例的说明书中使用的术语仅是为了描述特定实施例的目的而包括的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,并且可以与“一个或多于一个”或者“至少一个”互换使用,除非上下文另有明确说明。还将理解的是,如本文所使用的术语“和/或”是指并且包括关联的列出项中的一个或多于一个的任何和所有可能的组合。此外,术语“或”以其包括性意义(而不是以其排他性意义)使用,使得在例如用于连接要素的列表时,术语“或”意味着该列表中的要素中的一个、一部分或全部。除非另外具体陈述,否则诸如短语“x、y和z中的至少一个”等的析取语言在所使用的上下文中通常被理解为表示项、术语等可以是x、y或z,或者它们的任何组合(例如,x、y或z)。因而,这样的析取语言通常并不旨在且不应暗示某些实施例需要x中的至少一个、y中的至少一个和z中的至少一个各自均存在。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多于一个其他特征、整数、步骤、操作、要素、组件和/或其群组。
20.如本文所使用的,术语“通信”和“进行通信”是指信息(或者由例如数据、信号、消息、指令和/或命令等表示的信息)的接收、收到、传输、传送和/或提供等中的至少一者。对于要与另一单元进行通信的一个单元(例如,装置、系统、装置或系统的组件、以及/或者它们的组合等)而言,这意味着该一个单元能够直接地或间接地从另一单元接收信息和/或向该另一单元发送(例如,传输)信息。这可以是指本质上为有线和/或无线的直接或间接连接。另外,即使可以在第一单元和第二单元之间修改、处理、中继和/或路由所传输的信息,两个单元也可以彼此进行通信。例如,即使第一单元被动地接收信息并且不主动地向第二单元传输信息,第一单元也可以与第二单元进行通信。作为另一示例,如果至少一个中介单元(例如,位于第一单元和第二单元之间的第三单元)处理从第一单元接收到的信息、并将处理后的信息传输至第二单元,则第一单元可以与第二单元进行通信。在一些实施例中,消息可以是指包括数据的网络分组(例如,数据分组等)。
21.本文所使用的条件语言(诸如“能够”、“可能”、“也许”、“可以”和“例如”等)除非被另外具体陈述或者在如所使用的上下文内以其他方式理解,否则通常旨在传达某些实施例包括某些特征、要素或步骤,而其他实施例不包括某些特征、要素或步骤。因此,这种条件语言通常不旨在暗示:特征、要素或步骤对于一个或多于一个实施例而言无论如何都是必需的,或者一个或多于一个实施例必需包括用于在存在或不存在其他输入或提示的情况下决定在任何特定实施例中是否包括或将进行这些特征、要素或步骤的逻辑。如本文所使用的,取决于上下文,术语“如果”可选地被解释为意指“当

时”、“在

时”、“响应于确定为”和/或“响应于检测到”等。类似地,取决于上下文,短语“如果已确定”或“如果检测到[所陈述的条件或事件]”可选地被解释为意指“在确定

时”、“响应于确定为“或”在检测到[所陈述的条件或事件]时”和/或“响应于检测到[所陈述的条件或事件]”等。此外,如本文所使用的,术语“有”、“具有”或“拥有”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”意在是意味着“至少部分基于”。
[0022]
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其他情况下,尚未详细描述众所周知的方法、过程、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
[0023]
概述
[0024]
许多自主运载工具(av)实现基于学习的规划器(有时称为“经学习规划器”),这些
基于学习的规划器从在训练期间呈现给它们的实例学习。通过反复地传递数据,av可以开发具有预定权衡的用于定义在训练期间呈现的情景中进行什么操作的硬编码规则。这些权衡可以是在如乘坐的平稳性以及与其他小汽车、行人或骑自行车者的协商那样的因素之间。经学习规划器往往适用于简单的情景,但在不常发生或未见过的情景中经常失败。
[0025]
轨迹规划是av如何决定在任何给定时刻进行什么操作。例如,轨迹规划可以包括确定av的路线,该av的路线的特征在于用于连接av可以导航所沿着的状态的一系列动作(也称为轨迹)。各路线可以开始于初始状态,并且结束于最终目标状态(例如,目的地)或目标区域。考虑到景观和构筑物(例如,建筑物、标志等)的大变化以及对象(例如,其他运载工具、行人等)的持续变化和移动,确定高效地朝向目的地前进并且还满足其他标准(诸如期望的安全级别、舒适级别、平稳性等)的路线可能很有挑战性。轨迹规划在自动驾驶中仍是一项艰巨的工程挑战,因为许多av实现基于学习的规划器并因此在以前未见过的情形中缺乏创造性。
[0026]
为了解决这些和其他担忧,规划系统可以应用搜索机制来向经学习规划器提供探索和/或重新评估能力。例如,通过用诸如蒙特卡洛树搜索(mcts)等的加权搜索机制来增强经学习规划器,规划系统可以利用经学习规划器来生成相关的轨迹建议,并且可以利用搜索机制来基于运载工具规划策略从相关的轨迹建议中评估并选择轨迹。搜索机制和经学习规划器的协同作用可以有利地促进创造性和快速的规划系统。
[0027]
有鉴于本文的描述,将理解,本文公开的实施例通过使得av能够动态地且灵活地识别和评估不同的轨迹,显著改进了自主运载工具的轨迹规划。
[0028]
总体概述
[0029]
在一些方面和/或实施例中,本文所述的系统、方法和计算机程序产品包括和/或实现以端到端的方式训练感知系统以识别对象的测试系统。作为非限制性示例,测试系统可以通过以下操作来训练感知系统:将lidar图像与(由图像语义网络从照相机图像生成的)语义图像融合,从融合图像提取特征,并且基于地面实况图像和从融合图像提取的特征之间的计算损失来修改图像语义网络中的至少一个网络参数。
[0030]
借助本文所述的系统、方法和计算机程序产品的实现,自主运载工具可以更准确地识别图像内的对象,更准确地识别图像内的所识别对象的地点,更准确地预测图像内的所识别对象的轨迹,确定所识别对象的附加特征,并且推断与图像的场景有关的附加信息。
[0031]
现在参考图1,例示示例环境100,在该示例环境100中,包括自主系统的运载工具以及不包括自主系统的运载工具进行操作。如所例示的,环境100包括运载工具102a-102n、对象104a-104n、路线106a-106n、区域108、运载工具到基础设施(v2i)装置110、网络112、远程自主运载工具(av)系统114、队列管理系统116和v2i系统118。运载工具102a-102n、运载工具到基础设施(v2i)装置110、网络112、自主运载工具(av)系统114、队列管理系统116和v2i系统118经由有线连接、无线连接、或者有线或无线连接的组合互连(例如,建立用于通信的连接等)。在一些实施例中,对象104a-104n经由有线连接、无线连接、或者有线或无线连接的组合与运载工具102a-102n、运载工具到基础设施(v2i)装置110、网络112、自主运载工具(av)系统114、队列管理系统116和v2i系统118中的至少一者互连。
[0032]
运载工具102a-102n(单独称为运载工具102且统称为运载工具102)包括被配置为运输货物和/或人员的至少一个装置。在一些实施例中,运载工具102被配置为与v2i装置
110、远程av系统114、队列管理系统116和/或v2i系统118经由网络112进行通信。在一些实施例中,运载工具102包括小汽车、公共汽车、卡车和/或火车等。在一些实施例中,运载工具102与本文所述的运载工具200(参见图2)相同或类似。在一些实施例中,一组运载工具200中的运载工具200与自主队列管理器相关联。在一些实施例中,如本文所述,运载工具102沿着相应的路线106a-106n(单独称为路线106且统称为路线106)行驶。在一些实施例中,一个或多于一个运载工具102包括自主系统(例如,与自主系统202相同或类似的自主系统)。
[0033]
对象104a-104n(单独称为对象104且统称为对象104)例如包括至少一个运载工具、至少一个行人、至少一个骑车者和/或至少一个构造物(例如,建筑物、标志、消防栓等)等。各对象104(例如,位于固定地点处并在一段时间内)是静止的或(例如,具有速度且与至少一个轨迹相关联地)移动。在一些实施例中,对象104与区域108中的相应地点相关联。
[0034]
路线106a-106n(单独称为路线106且统称为路线106)各自与连接av可以导航所沿着的状态的一系列动作(也称为轨迹)相关联(例如,规定该一系列动作)。各个路线106始于初始状态(例如,与第一时空地点和/或速度等相对应的状态),并且结束于最终目标状态(例如,与不同于第一时空地点的第二时空地点相对应的状态)或目标区(例如,可接受状态(例如,终止状态)的子空间)。在一些实施例中,第一状态包括一个或多于一个个体将要搭载av的地点,并且第二状态或区包括搭载av的一个或多于一个个体将要下车的一个或多于一个地点。在一些实施例中,路线106包括多个可接受的状态序列(例如,多个时空地点序列),这多个状态序列与多个轨迹相关联(例如,限定多个轨迹)。在示例中,路线106仅包括高级别动作或不精确的状态地点,诸如指示在车行道交叉口处转换方向的一系列连接道路等。附加地或可替代地,路线106可以包括更精确的动作或状态,诸如例如车道区域内的特定目标车道或精确地点以及这些位置处的目标速率等。在示例中,路线106包括沿着具有到达中间目标的有限前瞻视界的至少一个高级别动作的多个精确状态序列,其中有限视界状态序列的连续迭代的组合累积地与共同形成在最终目标状态或区处终止的高级别路线的多个轨迹相对应。
[0035]
区域108包括运载工具102可以导航的物理区域(例如,地理区)。在示例中,区域108包括至少一个州(例如,国家、省、国家中所包括的多个州中的单独州等)、州的至少一部分、至少一个城市、城市的至少一部分等。在一些实施例中,区域108包括至少一个已命名干道(本文称为“道路”),诸如公路、州际公路、公园道路、城市街道等。附加地或可替代地,在一些示例中,区域108包括至少一个未命名道路,诸如行车道、停车场的一段、空地和/或未开发地区的一段、泥路等。在一些实施例中,道路包括至少一个车道(例如,道路的运载工具102可以穿过的部分)。在示例中,道路包括与至少一个车道标记相关联的(例如,基于至少一个车道标记所识别的)至少一个车道。
[0036]
运载工具到基础设施(v2i)装置110(有时称为运载工具到万物(vehicle-to-everything)(v2x)装置)包括被配置为与运载工具102和/或v2i基础设施系统118进行通信的至少一个装置。在一些实施例中,v2i装置110被配置为与运载工具102、远程av系统114、队列管理系统116和/或v2i系统118经由网络112进行通信。在一些实施例中,v2i装置110包括射频识别(rfid)装置、标牌、照相机(例如,二维(2d)和/或三维(3d)照相机)、车道标记、路灯、停车计时器等。在一些实施例中,v2i装置110被配置为直接与运载工具102进行通信。附加地或可替代地,在一些实施例中,v2i装置110被配置为与运载工具102、远程av系统114
和/或队列管理系统116经由v2i系统118进行通信。在一些实施例中,v2i装置110被配置为与v2i系统118经由网络112进行通信。
[0037]
网络112包括一个或多于一个有线和/或无线网络。在示例中,网络112包括蜂窝网络(例如,长期演进(lte)网络、第三代(3g)网络、第四代(4g)网络、第五代(5g)网络、码分多址(cdma)网络等)、公共陆地移动网络(plmn)、局域网(lan)、广域网(wan)、城域网(man)、电话网(例如,公共交换电话网(pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、以及/或者这些网络中的一部分或全部的组合等。
[0038]
远程av系统114包括被配置为与运载工具102、v2i装置110、网络112、队列管理系统116和/或v2i系统118经由网络112进行通信的至少一个装置。在示例中,远程av系统114包括服务器、服务器组和/或其他类似装置。在一些实施例中,远程av系统114与队列管理系统116位于同一位置。在一些实施例中,远程av系统114参与运载工具的组件(包括自主系统、自主运载工具计算和/或由自主运载工具计算实现的软件等)中的一部分或全部的安装。在一些实施例中,远程av系统114在运载工具的寿命期间维护(例如,更新和/或更换)这些组件和/或软件。
[0039]
队列管理系统116包括被配置为与运载工具102、v2i装置110、远程av系统114和/或v2i基础设施系统118进行通信的至少一个装置。在示例中,队列管理系统116包括服务器、服务器组和/或其他类似装置。在一些实施例中,队列管理系统116与拼车公司(例如,用于控制多个运载工具(例如,包括自主系统的运载工具和/或不包括自主系统的运载工具)的操作等的组织)相关联。
[0040]
在一些实施例中,v2i系统118包括被配置为与运载工具102、v2i装置110、远程av系统114和/或队列管理系统116经由网络112进行通信的至少一个装置。在一些示例中,v2i系统118被配置为与v2i装置110经由不同于网络112的连接进行通信。在一些实施例中,v2i系统118包括服务器、服务器组和/或其他类似装置。在一些实施例中,v2i系统118与市政当局或私营机构(例如,用于维护v2i装置110的私营机构等)相关联。
[0041]
提供图1所例示的要素的数量和布置作为示例。与图1例示的要素相比,可以存在附加的要素、更少的要素、不同的要素和/或不同布置的要素。附加地或可替代地,环境100的至少一个要素可以进行被描述为由图1的至少一个不同要素进行的一个或多于一个功能。附加地或可替代地,环境100的至少一组要素可以进行被描述为由环境100的至少一个不同组的要素进行的一个或多于一个功能。
[0042]
现在参考图2,运载工具200包括自主系统202、动力总成控制系统204、转向控制系统206和制动系统208。在一些实施例中,运载工具200与运载工具102(参见图1)相同或类似。在一些实施例中,运载工具200具有自主能力(例如,实现如下的至少一个功能、特征和/或装置等,该至少一个功能、特征和/或装置使得运载工具200能够在无人类干预的情况下部分地或完全地操作,其包括但不限于完全自主运载工具(例如,放弃依赖人类干预的运载工具)和/或高度自主运载工具(例如,在某些情形下放弃依赖人类干预的运载工具)等)。对于完全自主运载工具和高度自主运载工具的详细描述,可以参考sae国际标准j3016:道路上机动车自动驾驶系统相关术语的分类和定义(sae international's standard j3016:taxonomy and definitions for terms related to on-road motor vehicle automated driving systems),其全部内容通过引用而被包含。在一些实施例中,运载工具200与自主
队列管理器和/或拼车公司相关联。
[0043]
自主系统202包括传感器套件,该传感器套件包括诸如照相机202a、lidar传感器202b、雷达(radar)传感器202c和麦克风202d等的一个或多于一个装置。在一些实施例中,自主系统202可以包括更多或更少的装置和/或不同的装置(例如,超声波传感器、惯性传感器、(以下论述的)gps接收器、以及/或者用于生成与运载工具200已行驶的距离的指示相关联的数据的里程计传感器等)。在一些实施例中,自主系统202使用自主系统202中所包括的一个或多于一个装置来生成与本文所述的环境100相关联的数据。由自主系统202的一个或多于一个装置生成的数据可以由本文所述的一个或多于一个系统使用以观测运载工具200所位于的环境(例如,环境100)。在一些实施例中,自主系统202包括通信装置202e、自主运载工具计算202f和安全控制器202g。
[0044]
照相机202a包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。照相机202a包括用以捕获包括物理对象(例如,小汽车、公共汽车、路缘和/或人员等)的图像的至少一个照相机(例如,使用诸如电荷耦合器件(ccd)等的光传感器的数字照相机、热照相机、红外(ir)照相机和/或事件照相机等)。在一些实施例中,照相机202a生成照相机数据作为输出。在一些示例中,照相机202a生成包括与图像相关联的图像数据的照相机数据。在该示例中,图像数据可以指定与图像相对应的至少一个参数(例如,诸如曝光、亮度等的图像特性、以及/或者图像时间戳等)。在这样的示例中,图像可以采用格式(例如,raw、jpeg和/或png等)。在一些实施例中,照相机202a包括配置在(例如,定位在)运载工具上以为了立体影像(立体视觉)的目的而捕获图像的多个独立照相机。在一些示例中,照相机202a包括生成图像数据并将该图像数据传输到自主运载工具计算202f和/或队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)的多个照相机。在这样的示例中,自主运载工具计算202f基于来自至少两个照相机的图像数据来确定多个照相机中的至少两个照相机的视场中的到一个或多于一个对象的深度。在一些实施例中,照相机202a被配置为捕获在相对于照相机202a的距离(例如,高达100米和/或高达1千米等)内的对象的图像。因此,照相机202a包括为了感知在相对于照相机202a一个或多于一个距离处的对象而优化的诸如传感器和镜头等的特征。
[0045]
在实施例中,照相机202a包括被配置为捕获与一个或多于一个交通灯、街道标志和/或提供视觉导航信息的其他物理对象相关联的一个或多于一个图像的至少一个照相机。在一些实施例中,照相机202a生成与一个或多于一个图像相关联的交通灯数据。在一些示例中,照相机202a生成与包括格式(例如,raw、jpeg和/或png等)的一个或多于一个图像相关联的tld数据。在一些实施例中,生成tld数据的照相机202a与本文所述的包含照相机的其他系统的不同之处在于:照相机202a可以包括具有宽视场(例如,广角镜头、鱼眼镜头、以及/或者具有约120度或更大的视角的镜头等)的一个或多于一个照相机,以生成与尽可能多的物理对象有关的图像。
[0046]
激光检测和测距(lidar)传感器202b包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。lidar传感器202b包括被配置为从发光器(例如,激光发射器)发射光的系统。由lidar传感器202b发射的光包括在可见光谱之外的光(例如,红外光等)。在一
些实施例中,在操作期间,由lidar传感器202b发射的光遇到物理对象(例如,运载工具)并被反射回到lidar传感器202b。在一些实施例中,由lidar传感器202b发射的光不会穿透该光遇到的物理对象。lidar传感器202b还包括至少一个光检测器,该至少一个光检测器在从发光器发射的光遇到物理对象之后检测到该光。在一些实施例中,与lidar传感器202b相关联的至少一个数据处理系统生成表示lidar传感器202b的视场中所包括的对象的图像(例如,点云和/或组合点云等)。在一些示例中,与lidar传感器202b相关联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在这样的示例中,该图像用于确定lidar传感器202b的视场中的物理对象的边界。
[0047]
无线电检测和测距(雷达)传感器202c包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。雷达传感器202c包括被配置为发射(脉冲的或连续的)无线电波的系统。由雷达传感器202c发射的无线电波包括预先确定的频谱内的无线电波。在一些实施例中,在操作期间,由雷达传感器202c发射的无线电波遇到物理对象并被反射回到雷达传感器202c。在一些实施例中,由雷达传感器202c发射的无线电波未被一些对象反射。在一些实施例中,与雷达传感器202c相关联的至少一个数据处理系统生成表示雷达传感器202c的视场中所包括的对象的信号。例如,与雷达传感器202c相关联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在一些示例中,该图像用于确定雷达传感器202c的视场中的物理对象的边界。
[0048]
麦克风202d包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。麦克风202d包括捕获音频信号并生成与该音频信号相关联(例如,表示该音频信号)的数据的一个或多于一个麦克风(例如,阵列麦克风和/或外部麦克风等)。在一些示例中,麦克风202d包括变换器装置和/或类似装置。在一些实施例中,本文所述的一个或多于一个系统可以接收由麦克风202d生成的数据,并基于与该数据相关联的音频信号来确定对象相对于运载工具200的位置(例如,距离等)。
[0049]
通信装置202e包括被配置为与照相机202a、lidar传感器202b、雷达传感器202c、麦克风202d、自主运载工具计算202f、安全控制器202g和/或线控(dbw)系统202h进行通信的至少一个装置。例如,通信装置202e可以包括与图3的通信接口314相同或类似的装置。在一些实施例中,通信装置202e包括运载工具到运载工具(v2v)通信装置(例如,用于实现运载工具之间的数据的无线通信的装置)。
[0050]
自主运载工具计算202f包括被配置为与照相机202a、lidar传感器202b、雷达传感器202c、麦克风202d、通信装置202e、安全控制器202g和/或dbw系统202h进行通信的至少一个装置。在一些示例中,自主运载工具计算202f包括诸如客户端装置、移动装置(例如,蜂窝电话和/或平板电脑等)和/或服务器(例如,包括一个或多于一个中央处理单元和/或图形处理单元等的计算装置)等的装置。在一些实施例中,自主运载工具计算202f与本文所述的自主运载工具计算400相同或类似。附加地或可替代地,在一些实施例中,自主运载工具计算202f被配置为与自主运载工具系统(例如,与图1的远程av系统114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)、v2i装置(例如,与图1的v2i装置110相同或类似的v2i装置)和/或v2i系统(例如,与图1
的v2i系统118相同或类似的v2i系统)进行通信。
[0051]
安全控制器202g包括被配置为与照相机202a、lidar传感器202b、雷达传感器202c、麦克风202d、通信装置202e、自主运载工具计算202f和/或dbw系统202h进行通信的至少一个装置。在一些示例中,安全控制器202g包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多于一个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多于一个控制器(电气控制器和/或机电控制器等)。在一些实施例中,安全控制器202g被配置为生成优先于(例如,覆盖)由自主运载工具计算202f生成和/或传输的控制信号的控制信号。
[0052]
dbw系统202h包括被配置为与通信装置202e和/或自主运载工具计算202f进行通信的至少一个装置。在一些示例中,dbw系统202h包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多于一个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多于一个控制器(例如,电气控制器和/或机电控制器等)。附加地或可替代地,dbw系统202h的一个或多于一个控制器被配置为生成和/或传输控制信号以操作运载工具200的至少一个不同的装置(例如,转向信号灯、前灯、门锁和/或挡风玻璃雨刮器等)。
[0053]
动力总成控制系统204包括被配置为与dbw系统202h进行通信的至少一个装置。在一些示例中,动力总成控制系统204包括至少一个控制器和/或致动器等。在一些实施例中,动力总成控制系统204从dbw系统202h接收控制信号,并且动力总成控制系统204使运载工具200开始向前移动、停止向前移动、开始向后移动、停止向后移动、沿某方向加速、沿某方向减速、进行左转和/或进行右转等。在示例中,动力总成控制系统204使提供至运载工具的马达的能量(例如,燃料和/或电力等)增加、保持相同或减少,由此使运载工具200的至少一个轮转动或不转动。
[0054]
转向控制系统206包括被配置为使运载工具200的一个或多于一个轮转动的至少一个装置。在一些示例中,转向控制系统206包括至少一个控制器和/或致动器等。在一些实施例中,转向控制系统206使运载工具200的两个前轮和/或两个后轮向左或向右转动,以使运载工具200左转或右转。
[0055]
制动系统208包括被配置为使一个或多于一个制动器致动以使运载工具200减速和/或保持静止的至少一个装置。在一些示例中,制动系统208包括被配置为使与运载工具200的一个或多于一个轮相关联的一个或多于一个卡钳在运载工具200的相应转子上闭合的至少一个控制器和/或致动器。附加地或可替代地,在一些示例中,制动系统208包括自动紧急制动(aeb)系统和/或再生制动系统等。
[0056]
在一些实施例中,运载工具200包括用于测量或推断运载工具200的状态或条件的性质的至少一个平台传感器(未明确例示出)。在一些示例中,运载工具200包括诸如全球定位系统(gps)接收器、惯性测量单元(imu)、轮速率传感器、轮制动压力传感器、轮转矩传感器、引擎转矩传感器和/或转向角传感器等的平台传感器。
[0057]
现在参考图3,例示装置300的示意图。如所例示的,装置300包括处理器304、存储器306、存储组件308、输入接口310、输出接口312、通信接口314和总线302。在一些实施例中,装置300对应于:运载工具102的至少一个装置(例如,运载工具102的系统的至少一个装置);以及/或者网络112的一个或多于一个装置(例如,网络112的系统的一个或多于一个装
置)。在一些实施例中,运载工具102的一个或多于一个装置(例如,运载工具102的系统的一个或多于一个装置)、以及/或者网络112的一个或多于一个装置(例如,网络112的系统的一个或多于一个装置)包括至少一个装置300和/或装置300的至少一个组件。如图3所示,装置300包括总线302、处理器304、存储器306、存储组件308、输入接口310、输出接口312和通信接口314。
[0058]
总线302包括许可装置300的组件之间的通信的组件。在一些情况下,处理器304包括处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或加速处理单元(apu)等)、麦克风、数字信号处理器(dsp)、以及/或者可被编程为进行至少一个功能的任意处理组件(例如,现场可编程门阵列(fpga)和/或专用集成电路(asic)等)。存储器306包括随机存取存储器(ram)、只读存储器(rom)、以及/或者存储供处理器304使用的数据和/或指令的另一类型的动态和/或静态存储装置(例如,闪速存储器、磁存储器和/或光存储器等)。
[0059]
存储组件308存储与装置300的操作和使用相关的数据和/或软件。在一些示例中,存储组件308包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘等)、紧凑盘(cd)、数字多功能盘(dvd)、软盘、盒式磁带、磁带、cd-rom、ram、prom、eprom、flash-eprom、nv-ram和/或另一类型的计算机可读介质、以及相应的驱动器。
[0060]
输入接口310包括许可装置300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风和/或照相机等)等接收信息的组件。附加地或可替代地,在一些实施例中,输入接口310包括用于感测信息的传感器(例如,全球定位系统(gps)接收器、加速度计、陀螺仪和/或致动器等)。输出接口312包括用于提供来自装置300的输出信息的组件(例如,显示器、扬声器和/或一个或多于一个发光二极管(led)等)。
[0061]
在一些实施例中,通信接口314包括许可装置300与其他装置经由有线连接、无线连接、或者有线连接和无线连接的组合进行通信的类似收发器那样的组件(例如,收发器和/或单独的接收器和发射器等)。在一些示例中,通信接口314许可装置300从另一装置接收信息和/或向另一装置提供信息。在一些示例中,通信接口314包括以太网接口、光接口、同轴接口、红外接口、射频(rf)接口、通用串行总线(usb)接口、接口和/或蜂窝网络接口等。
[0062]
在一些实施例中,装置300进行本文所述的一个或多于一个处理。装置300基于处理器304执行由诸如存储器306和/或存储组件308等的计算机可读介质所存储的软件指令来进行这些处理。计算机可读介质(例如,非暂时性计算机可读介质)在本文被限定为非暂时性存储器装置。非暂时性存储器装置包括位于单个物理存储装置内的存储空间或跨多个物理存储装置分布的存储空间。
[0063]
在一些实施例中,经由通信接口314从另一计算机可读介质或从另一装置将软件指令读取到存储器306和/或存储组件308中。存储器306和/或存储组件308中所存储的软件指令在执行时,使处理器304进行本文所述的一个或多于一个处理。附加地或可替代地,代替软件指令或与软件指令组合使用硬连线电路以进行本文所述的一个或多于一个处理。因此,除非另外明确说明,否则本文所描述的实施例不限于硬件电路和软件的任何特定组合。
[0064]
存储器306和/或存储组件308包括数据存储部或至少一个数据结构(例如,数据库等)。装置300能够从存储器306或存储组件308中的数据存储部或至少一个数据结构接收信息,将信息存储在该数据存储部或至少一个数据结构中,将信息通信至该数据存储部或至
少一个数据结构,或者搜索该数据存储部或至少一个数据结构中所存储的信息。在一些示例中,该信息包括网络数据、输入数据、输出数据或其任何组合。
[0065]
在一些实施例中,装置300被配置为执行存储在存储器306和/或另一装置(例如,与装置300相同或类似的另一装置)的存储器中的软件指令。如本文所使用的,术语“模块”是指存储器306和/或另一装置的存储器中所存储的至少一个指令,该至少一个指令在由处理器304和/或另一装置(例如,与装置300相同或类似的另一装置)的处理器执行时,使装置300(例如,装置300的至少一个组件)进行本文所述的一个或多于一个处理。在一些实施例中,模块以软件、固件和/或硬件等来实现。
[0066]
提供图3所例示的组件的数量和布置作为示例。在一些实施例中,与图3所例示的组件相比,装置300可以包括附加的组件、更少的组件、不同的组件或不同布置的组件。附加地或可替代地,装置300的一组组件(例如,一个或多于一个组件)可以进行被描述为由装置300的另一组件或另一组组件进行的一个或多于一个功能。
[0067]
现在参考图4,例示出自主运载工具计算400(有时称为“av堆栈”)的示例框图。如所例示的,自主运载工具计算400包括感知系统402(有时称为感知模块)、规划系统404(有时称为规划模块)、定位系统406(有时称为定位模块)、控制系统408(有时称为控制模块)和数据库410。在一些实施例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在运载工具的自动导航系统(例如,运载工具200的自主运载工具计算202f)中和/或在该自动导航系统中实现。附加地或可替代地,在一些实施例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在一个或多于一个独立系统(例如,与自主运载工具计算400相同或类似的一个或多于一个系统等)中。在一些示例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在位于运载工具中的一个或多于一个独立系统以及/或者如本文所述的至少一个远程系统中。在一些实施例中,自主运载工具计算400中所包括的系统中的任意和/或全部以软件(例如,存储器中所存储的软件指令)、计算机硬件(例如,通过微处理器、微控制器、专用集成电路(asic)和/或现场可编程门阵列(fpga)等)、或者计算机软件和计算机硬件的组合来实现。还将理解,在一些实施例中,自主运载工具计算400被配置为与远程系统(例如,与远程av系统114相同或类似的自主运载工具系统、与队列管理系统116相同或类似的队列管理系统116、以及/或者与v2i系统118相同或类似的v2i系统等)进行通信。
[0068]
在一些实施例中,感知系统402接收与环境中的至少一个物理对象相关联的数据(例如,感知系统402检测至少一个物理对象所使用的数据),并对该至少一个物理对象进行分类。在一些示例中,感知系统402接收由至少一个照相机(例如,照相机202a)捕获到的图像数据,该图像与该至少一个照相机的视场内的一个或多于一个物理对象相关联(例如,表示该一个或多于一个物理对象)。在这样的示例中,感知系统402基于物理对象(例如,自行车、运载工具、交通标志和/或行人等)的一个或多于一个分组来对至少一个物理对象进行分类。在一些实施例中,基于感知系统402对物理对象进行分类,感知系统402将与物理对象的分类相关联的数据传输到规划系统404。
[0069]
在一些实施例中,规划系统404接收与目的地相关联的数据,并且生成与运载工具(例如,运载工具102)可以朝向目的地行驶所沿着的至少一个路线(例如,路线106)相关联的数据。在一些实施例中,规划系统404定期地或连续地从感知系统402接收数据(例如,上
述的与物理对象的分类相关联的数据),并且规划系统404基于感知系统402所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。在一些实施例中,规划系统404从定位系统406接收与运载工具(例如,运载工具102)的更新位置相关联的数据,并且规划系统404基于定位系统406所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。
[0070]
在一些实施例中,定位系统406接收与运载工具(例如,运载工具102)在区域中的地点相关联(例如,表示该地点)的数据。在一些示例中,定位系统406接收与至少一个lidar传感器(例如,lidar传感器202b)所生成的至少一个点云相关联的lidar数据。在某些示例中,定位系统406从多个lidar传感器接收与至少一个点云相关联的数据,并且定位系统406基于各个点云来生成组合点云。在这些示例中,定位系统406将该至少一个点云或组合点云与数据库410中所存储的区域的二维(2d)和/或三维(3d)地图进行比较。然后,基于定位系统406将至少一个点云或组合点云与地图进行比较,定位系统406确定运载工具在区域中的位置。在一些实施例中,地图包括运载工具的导航之前生成的该区域的组合点云。在一些实施例中,地图包括但不限于车行道几何性质的高精度地图、描述道路网连接性质的地图、描述车行道物理性质(诸如交通速率、交通流量、运载工具和自行车交通车道的数量、车道宽度、车道交通方向或车道标记的类型和地点、或者它们的组合等)的地图、以及描述道路特征(诸如人行横道、交通标志或各种类型的其他行驶信号灯等)的空间地点的地图。在一些实施例中,基于感知系统所接收到的数据来实时地生成地图。
[0071]
在另一示例中,定位系统406接收由全球定位系统(gps)接收器所生成的全球导航卫星系统(gnss)数据。在一些示例中,定位系统406接收与运载工具在区域中的地点相关联的gnss数据,并且定位系统406确定运载工具在区域中的纬度和经度。在这样的示例中,定位系统406基于运载工具的纬度和经度来确定运载工具在区域中的位置。在一些实施例中,定位系统406生成与运载工具的位置相关联的数据。在一些示例中,基于定位系统406确定运载工具的位置,定位系统406生成与运载工具的位置相关联的数据。在这样的示例中,与运载工具的位置相关联的数据包括与对应于运载工具的位置的一个或多于一个语义性质相关联的数据。
[0072]
在一些实施例中,控制系统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408控制运载工具的操作。在一些示例中,控制系统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408通过生成并传输控制信号以使动力总成控制系统(例如,dbw系统202h和/或动力总成控制系统204等)、转向控制系统(例如,转向控制系统206)和/或制动系统(例如,制动系统208)进行操作,来控制运载工具的操作。在示例中,在轨迹包括左转的情况下,控制系统408传输控制信号以使转向控制系统206调整运载工具200的转向角,由此使运载工具200左转。附加地或可替代地,控制系统408生成并传输控制信号以使运载工具200的其他装置(例如,前灯、转向信号灯、门锁和/或挡风玻璃雨刮器等)改变状态。
[0073]
在一些实施例中,感知系统402、规划系统404、定位系统406和/或控制系统408实现至少一个机器学习模型(例如,至少一个多层感知器(mlp)、至少一个卷积神经网络(cnn)、至少一个递归神经网络(rnn)、至少一个自动编码器和/或至少一个变换器等)。在一些示例中,感知系统402、规划系统404、定位系统406和/或控制系统408单独地或与上述系统中的一个或多于一个结合地实现至少一个机器学习模型。在一些示例中,感知系统402、
规划系统404、定位系统406和/或控制系统408实现至少一个机器学习模型作为管道(例如,用于识别位于环境中的一个或多于一个对象的管道等)的一部分。以下关于图4b至图4d包括机器学习模型的实现的示例。
[0074]
数据库410存储传输至感知系统402、规划系统404、定位系统406和/或控制系统408的、从其接收到的、以及/或者由其更新的数据。在一些示例中,数据库410包括用于存储与操作相关的数据和/或软件、并使用自主运载工具计算400的至少一个系统的存储组件(例如,与图3的存储组件308相同或类似的存储组件)。在一些实施例中,数据库410存储与至少一个区域的2d和/或3d地图相关联的数据。在一些示例中,数据库410存储与城市的一部分、多个城市的多个部分、多个城市、县、州和/或国家(state)(例如,国家)等的2d和/或3d地图相关联的数据。在这样的示例中,运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)可以沿着一个或多于一个可驾驶区(例如,单车道道路、多车道道路、高速公路、偏僻道路和/或越野道路等)驾驶,并且使至少一个lidar传感器(例如,与lidar传感器202b相同或类似的lidar传感器)生成与表示该至少一个lidar传感器的视场中所包括的对象的图像相关联的数据。
[0075]
在一些实施例中,数据库410可以跨多个装置来实现。在一些示例中,数据库410包括在运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)、自主运载工具系统(例如,与远程av系统114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)中和/或v2i系统(例如,与图1的v2i系统118相同或类似的v2i系统)等中。
[0076]
现在参考图4b,例示机器学习模型的实现的图。更具体地,例示卷积神经网络(cnn)420的实现的图。为了说明的目的,cnn 420的以下说明将关于通过感知系统402实现cnn 420。然而,将理解,在一些示例中,cnn 420(例如,cnn 420的一个或多于一个组件)由不同于感知系统402的或除感知系统402之外的其他系统(诸如规划系统404、定位系统406和/或控制系统408等)来实现。尽管cnn 420包括如本文所述的某些特征,但这些特征是为了说明的目的而提供的,并且不旨在限制本公开。
[0077]
cnn 420包括包含第一卷积层422、第二卷积层424和卷积层426的多个卷积层。在一些实施例中,cnn 420包括子采样层428(有时称为池化层)。在一些实施例中,子采样层428和/或其他子采样层具有比上游系统的维度(即,节点的量)小的维度。借助于具有比上游层的维度小的维度的子采样层428,cnn 420合并与上游层的初始输入和/或输出相关联的数据量,由此减少cnn 420进行下游卷积运算所需的计算量。附加地或可替代地,借助于子采样层428与至少一个子采样函数相关联(例如,被配置为进行至少一个子采样函数)(如以下关于图4c和图4d所描述的),cnn 420合并与初始输入相关联的数据量。
[0078]
基于感知系统402提供与第一卷积层422、第二卷积层424和卷积层426各自相关联的相应输入和/或输出以生成相应输出,感知系统402进行卷积运算。在一些示例中,基于感知系统402将数据作为输入提供至第一卷积层422、第二卷积层424和卷积层426,感知系统402实现cnn 420。在这样的示例中,基于感知系统402从一个或多于一个不同系统(例如,与运载工具102相同或相似的运载工具的一个或多于一个系统、与远程av系统114相同或相似的远程av系统、与队列管理系统116相同或相似的队列管理系统、以及/或者与v2i系统118相同或相似的v2i系统等)接收数据,感知系统402将数据作为输入提供至第一卷积层422、
第二卷积层424和卷积层426。以下关于图4c包括卷积运算的详细说明。
[0079]
在一些实施例中,感知系统402将与输入(称为初始输入)相关联的数据提供至第一卷积层422,并且感知系统402使用第一卷积层422生成与输出相关联的数据。在一些实施例中,感知系统402将由卷积层生成的输出作为输入提供至不同的卷积层。例如,感知系统402将第一卷积层422的输出作为输入提供至子采样层428、第二卷积层424和/或卷积层426。在这样的示例中,第一卷积层422被称为上游层,并且子采样层428、第二卷积层424和/或卷积层426被称为下游层。类似地,在一些实施例中,感知系统402将子采样层428的输出提供至第二卷积层424和/或卷积层426,并且在该示例中,子采样层428将被称为上游层,并且第二卷积层424和/或卷积层426将被称为下游层。
[0080]
在一些实施例中,在感知系统402向cnn 420提供输入之前,感知系统402对与提供至cnn 420的输入相关联的数据进行处理。例如,基于感知系统402对传感器数据(例如,图像数据、lidar数据和/或雷达数据等)进行归一化,感知系统402对与提供至cnn 420的输入相关联的数据进行处理。
[0081]
在一些实施例中,基于感知系统402进行与各个卷积层相关联的卷积运算,cnn 420生成输出。在一些示例中,基于感知系统402进行与各个卷积层和初始输入相关联的卷积运算,cnn 420生成输出。在一些实施例中,感知系统402生成输出并将该输出提供至全连接层430。在一些示例中,感知系统402将卷积层426的输出提供至全连接层430,其中全连接层430包括与被称为f1、f2、...、fn的多个特征值相关联的数据。在该示例中,卷积层426的输出包括与表示预测的多个输出特征值相关联的数据。
[0082]
在一些实施例中,基于感知系统402识别与作为多个预测中的正确预测的最高可能性相关联的特征值,感知系统402从这多个预测中识别预测。例如,在全连接层430包括特征值f1、f2、...、fn并且f1是最大特征值的情况下,感知系统402将与f1相关联的预测识别为多个预测中的正确预测。在一些实施例中,感知系统402训练cnn 420以生成预测。在一些示例中,基于感知系统402将与预测相关联的训练数据提供至cnn 420,感知系统402训练cnn 420以生成预测。
[0083]
现在参考图4c和图4d,例示利用感知系统402的cnn 440的示例操作的图。在一些实施例中,cnn 440(例如,cnn 440的一个或多于一个组件)与cnn 420(例如,cnn 420的一个或多于一个组件)(参见图4b)相同或相似。
[0084]
在步骤450,感知系统402将与图像相关联的数据作为输入提供至cnn 440(步骤450)。例如,如所例示的,感知系统402将与图像相关联的数据提供至cnn 440,其中该图像是表示为以二维(2d)阵列存储的值的灰度图像。在一些实施例中,与图像相关联的数据可以包括与彩色图像相关联的数据,该彩色图像被表示为以三维(3d)阵列存储的值。附加地或可替代地,与图像相关联的数据可以包括与红外图像和/或雷达图像等相关联的数据。
[0085]
在步骤455,cnn 440执行第一卷积函数。例如,基于cnn 440将表示图像的值作为输入提供至第一卷积层442中所包括的一个或多于一个神经元(未明确例示出),cnn 440执行第一卷积函数。在该示例中,表示图像的值可以对应于表示图像的区(有时称为感受野)的值。在一些实施例中,各个神经元与滤波器(未明确例示出)相关联。滤波器(有时称为内核)可表示为在大小上与作为输入提供至神经元的值相对应的值阵列。在一个示例中,滤波器可被配置为识别边缘(例如,水平线、垂直线和/或直线等)。在连续的卷积层中,与神经元
相关联的滤波器可被配置为连续地识别更复杂的图案(例如,弧和/或对象等)。
[0086]
在一些实施例中,基于cnn 440将作为输入提供至第一卷积层442中所包括的一个或多于一个神经元中的各个神经元的值与同一个或多于一个神经元中的各个神经元相对应的滤波器的值相乘,cnn 440执行第一卷积函数。例如,cnn 440可以将作为输入提供至第一卷积层442中所包括的一个或多于一个神经元中的各个神经元的值与同该一个或多于一个神经元中的各个神经元相对应的滤波器的值相乘,以生成单个值或值阵列作为输出。在一些实施例中,第一卷积层442的神经元的集体输出被称为卷积输出。在一些实施例中,在各个神经元具有相同滤波器的情况下,卷积输出被称为特征图。
[0087]
在一些实施例中,cnn 440将第一卷积层442的各个神经元的输出提供至下游层的神经元。为了清楚起见,上游层可以是将数据传输至不同层(称为下游层)的层。例如,cnn 440可以将第一卷积层442的各个神经元的输出提供至子采样层的相应神经元。在示例中,cnn 440将第一卷积层442的各个神经元的输出提供至第一子采样层444的相应神经元。在一些实施例中,cnn 440向提供至下游层的各个神经元的所有值的聚合添加偏置值。例如,cnn 440向提供至第一子采样层444的各个神经元的所有值的聚合添加偏置值。在这样的示例中,cnn 440基于提供至各个神经元的所有值的聚合和与第一子采样层444的各个神经元相关联的激活函数来确定要提供至第一子采样层444的各个神经元的最终值。
[0088]
在步骤460,cnn 440执行第一子采样函数。例如,基于cnn 440将由第一卷积层442输出的值提供至第一子采样层444的相应神经元,cnn 440可以执行第一子采样函数。在一些实施例中,cnn 440基于聚合函数来执行第一子采样函数。在示例中,基于cnn 440确定提供至给定神经元的值中的最大输入(称为最大池化函数),cnn 440执行第一子采样函数。在另一示例中,基于cnn 440确定提供至给定神经元的值中的平均输入(称为平均池化函数),cnn 440执行第一子采样函数。在一些实施例中,基于cnn 440向第一子采样层444的各个神经元提供值,cnn 440生成输出,该输出有时被称为子采样卷积输出。
[0089]
在步骤465,cnn 440执行第二卷积函数。在一些实施例中,cnn 440以与上述的cnn 440如何执行第一卷积函数类似的方式执行第二卷积函数。在一些实施例中,基于cnn 440将由第一子采样层444输出的值作为输入提供至第二卷积层446中所包括的一个或多于一个神经元(未明确例示出),cnn 440执行第二卷积函数。在一些实施例中,如上所述,第二卷积层446的各个神经元与滤波器相关联。如上所述,与第二卷积层446相关联的(一个或多于一个)滤波器与同第一卷积层442相关联的滤波器相比可被配置为识别更复杂的图案。
[0090]
在一些实施例中,基于cnn 440将作为输入提供至第二卷积层446中所包括的一个或多于一个神经元中的各个神经元的值与同该一个或多于一个神经元中的各个神经元相对应的滤波器的值相乘,cnn 440执行第二卷积函数。例如,cnn 440可以将作为输入提供至第二卷积层446中所包括的一个或多于一个神经元中的各个神经元的值与同该一个或多于一个神经元中的各个神经元相对应的滤波器的值相乘,以生成单个值或值阵列作为输出。
[0091]
在一些实施例中,cnn 440将第二卷积层446的各个神经元的输出提供至下游层的神经元。例如,cnn 440可以将第一卷积层442的各个神经元的输出提供至子采样层的相应神经元。在示例中,cnn 440将第一卷积层442的各个神经元的输出提供至第二子采样层448的相应神经元。在一些实施例中,cnn 440向提供至下游层的各个神经元的所有值的聚合添加偏置值。例如,cnn 440向提供至第二子采样层448的各个神经元的所有值的聚合添加偏
置值。在这样的示例中,cnn 440基于提供至各个神经元的所有值的聚合和与第二子采样层448的各个神经元相关联的激活函数来确定提供至第二子采样层448的各个神经元的最终值。
[0092]
在步骤470,cnn 440执行第二子采样函数。例如,基于cnn 440将由第二卷积层446输出的值提供至第二子采样层448的相应神经元,cnn 440可以执行第二子采样函数。在一些实施例中,基于cnn 440使用聚合函数,cnn 440执行第二子采样函数。在示例中,如上所述,基于cnn 440确定提供至给定神经元的值中的最大输入或平均输入,cnn 440执行第一子采样函数。在一些实施例中,基于cnn 440向第二子采样层448的各个神经元提供值,cnn 440生成输出。
[0093]
在步骤475,cnn 440将第二子采样层448的各个神经元的输出提供至全连接层449。例如,cnn 440将第二子采样层448的各个神经元的输出提供至全连接层449,以使得全连接层449生成输出。在一些实施例中,全连接层449被配置成生成与预测(有时称为分类)相关联的输出。预测可以包括作为输入提供至cnn 440的图像中所包括的对象包括对象和/或一组对象等的指示。在一些实施例中,感知系统402进行一个或多于一个操作以及/或者将与预测相关联的数据提供至本文所述的不同系统。
[0094]
动态场景模拟
[0095]
在不确定和动态条件下规划安全、平稳和舒适的轨迹使自主运载工具的控制大大复杂化。在这样的条件下,单纯的基于学习的规划方法可能缺乏普遍性和安全保证,或者缺乏适应新情形或尝试偏离它们的经学习行为的路径的能力。例如,单纯经学习的系统或神经网络可能过于死板,并且可能导致运载工具移动到不太期望的地点和/或可能无法将运载工具准备在优选位置。为了解决这些和其他问题并确保稳健的框架,规划系统可以包括与轨迹规划所用的可变加权搜索机制组合的强化学习结构。这样,规划系统共享跨不同技术的自主运载工具驾驶的任务,以实现快速和创造性的输出。如此,本文的公开涉及改进运载工具在各种路径上自主导航的能力。
[0096]
在一些情况下,创造性地探索动作和状态可能是时间密集的,并且运载工具可能具有限制其探索所有动作的能力的时间和/或计算约束。为了解决这些问题,系统可以限制要探索的某些动作/状态。在一些情况下,系统可以省略或忽略对有可能导致不太期望的结果的动作(例如,像与行人碰撞或离开驾驶面这样的会破坏某些规则的状态、不满足舒适或安全阈值的动作或状态等)的探索。在某些情况下,系统可以在探索处理的早期限制某些动作或状态,以及/或者使用神经网络来识别不太期望的动作/状态。通过(在较早的时间和/或通过使用神经网络)限制要探索的动作,规划系统可以相对快速地消除不太期望的动作和状态,并且花费更多的时间和计算资源来探索该规划系统否则可能没有时间或计算资源来探索的动作。这可以导致对场景的更快但仍有创造性的探索。
[0097]
图5是例示示例规划系统404的框图,该规划系统404使用与运载工具的场景相关联的场景数据502来规划运载工具200的路径并控制运载工具200。场景数据502可以包括与运载工具200和/或运载工具200的场景(本文中也称为运载工具场景)内的其他对象(诸如运载工具200周围的对象(非限制性示例:由感知系统402识别的对象)等)相关的数据。如本文所述,对象可以包括但不限于行人、自行车、其他运载工具、标志、路缘、建筑物等。作为非限制性示例,场景数据502可以包括与运载工具和/或场景中的对象的位置、朝向、速度、加
速度或其他信息相关联的数据(本文中也称为场景状态数据或状态数据)。
[0098]
与运载工具200相关联的状态数据可以从与感知系统402相关联的传感器套件、来自定位系统406的传感器数据、以及/或者运载工具中或运载工具周围的特定于运载工具的一个或多于一个传感器(例如,用于获得(不是关于运载工具场景中的其他对象所获得的)与运载工具有关的数据的传感器)获得。因此,与运载工具200相关联的状态数据可以以不同的方式获得(例如,运载工具200的地点数据可以从定位系统406获得,而对象的地点数据可以从感知系统402获得),以及/或者包括不可用于运载工具场景中的其他对象的附加数据。例如,与运载工具200相关联的状态数据(或运载工具状态数据)可以包括但不限于与运载工具的方向盘的对中(alignment)或转动相关联的方向盘对中数据、与加速器(例如,油门踏板(gas or throttle pedal))已被踩下或激活的量(或百分比)相关联的加速器数据、与减速器(例如,制动器)已被踩下或激活的量(或百分比)相关联的减速器数据、运载工具的其他控制(例如,与运载工具的一个或多于一个闪光灯相关联的闪光灯数据、与运载工具的一个或多于一个灯相关联的灯数据)、或者与运载工具相关联的其他数据(例如,诸如rpm等的与运载工具的发动机相关联的发动机数据等)、等等。
[0099]
与场景中的对象相关联的状态数据(单独或统称为对象状态数据)可以从感知系统402(或其他源)获得,并且可以是基于从如下的传感器套件获得的数据、或者与对象的通信(例如,与其他运载工具的无线通信)等,该传感器套件包括诸如照相机202a、lidar传感器202b、雷达传感器202c和麦克风202d等的一个或多于一个装置。如本文所述,对象状态数据可以包括对象的加速度、速度、(相对于运载工具200的或绝对/地理)位置、朝向/航向、分类和大小等的任一个或任何组合。
[0100]
在例示示例中,规划系统404包括场景评估系统504和动作选择器506,然而将理解,规划系统404可以包括更少或更多的组件。在一些实施例中,场景评估系统504(包括场景模拟器508)和/或动作选择器506的组件中的任何和/或全部可以使用一个或多于一个处理器或者计算机硬件(例如,通过微处理器、微控制器、专用集成电路(asic)和/或现场可编程门阵列(fpga)等)来实现。这样的处理器或计算机硬件可以被配置为执行非暂时性存储介质上所存储的计算机可执行指令以进行本文所述的一个或多于一个功能。
[0101]
场景评估系统504可以使用场景数据502来确定场景状态(例如,运载工具和场景内的对象的状态)并生成和评估运载工具200的模拟场景状态和/或模拟轨迹,并且动作选择器506可以选择与模拟状态或模拟轨迹中的一个或多于一个相关联的动作(例如,可以将场景状态改变为与模拟状态相似或更紧密地相似的状态的动作)。基于所选择的动作,控制系统408可以沿着路线的轨迹或路径来控制运载工具。例如,控制系统408可以使得运载工具维持或调整一个或多于一个参数以执行所选择的动作。
[0102]
在例示示例中,场景评估系统504包括场景模拟器508、模拟策略510和模拟轨迹/状态得分512。场景模拟器508可以使用模拟策略510来基于场景状态模拟潜在场景状态和/或潜在轨迹,并且可以使用一个或多于一个处理器或其他计算机硬件、一个或多于一个神经网络等来实现。模拟策略510和得分512可以存储在与场景评估系统504、规划系统404或运载工具200相关联的一个或多于一个数据存储区中。数据存储区可以位于运载工具200上或远离运载工具200。
[0103]
(一个或多于一个)模拟策略510可以包括如下的一个或多于一个策略:用以指示
要模拟哪些运载工具动作的策略(例如,运载工具动作策略);用以指示要生成、探索和扩展哪些模拟状态的策略(例如,状态选择策略);用以指示在轨迹模拟期间如何模拟运载工具的策略(例如,运载工具模拟策略);用以指示在轨迹模拟期间如何模拟场景中的对象的策略(例如,对象模拟策略);用以指示何时结束轨迹模拟的策略(例如,结束状态策略);用以指示如何评估轨迹模拟的策略(例如,轨迹评估策略);以及/或者用以指示何时结束状态/轨迹模拟的策略(例如,模拟终止策略)。因此,场景评估系统504可以使用模拟策略510来评估模拟轨迹和模拟场景状态,并且确定模拟轨迹和模拟状态的得分512。尽管本文中可以参考模拟策略510的一个或多于一个策略或子策略,但将理解,这些策略单独地或以聚合的形式可以被称为模拟策略510。
[0104]
场景模拟器508可以使用场景数据或场景状态来基于运载工具200的建议或潜在动作确定模拟场景状态。例如,场景模拟器508可以模拟在运载工具200将向左转15度或者加速25%达500ms的情况下的场景或场景状态。场景模拟器508还可以基于场景中的一个或多于一个对象的潜在动作来确定模拟场景状态。例如,场景模拟器508可以确定在一个或多于一个行人或其他运载工具将继续其路径一段时间或者(诸如通过向左或向右转、加速/减速50%、或者反向移动等)改变其路径的情况下的模拟场景状态。场景模拟器508还可以基于场景状态或模拟场景状态以及运载工具200的一个或多于一个潜在动作来模拟运载工具200的轨迹。
[0105]
动作选择器506可以基于场景评估系统的结果来选择运载工具200所要采取的动作。在一些情况下,动作选择器506可以基于运载工具规划策略来选择动作。运载工具规划策略可以指示动作选择器506将如何评估场景评估系统的结果。在一些情况下,对结果的评估可以包括对与一个或多于一个模拟状态或模拟轨迹相关联的得分的审查。在某些情况下,评估可以包括对由从场景状态采取的动作而产生的模拟状态(本文中也称为子状态或第一级别模拟状态)的得分的审查。在一些这样的情况下,动作选择器506可以选择与第一级别模拟状态其中之一相对应的动作。在某些情况下,动作选择器506可以选择与具有最高得分、最高累积得分、最高平均得分、最高单个得分、或已模拟了最多轨迹等的第一级别模拟状态相对应的动作。
[0106]
将理解,动作选择器506可以基于任何数量的标准来选择动作。在一些情况下,动作选择器506可以基于安全或舒适得分来选择动作。安全和/或舒适得分可以基于一个或多于一个安全阈值和/或舒适阈值(与本文中参考运载工具动作策略所述的阈值类似)。在一些这样的情况下,动作选择器506可以选择被确定为最安全或最舒适的动作,以及/或者使用这些特征来从许多类似评分的动作/模拟状态中选择动作。
[0107]
所选择的动作可以由控制系统408使用以维持或修改运载工具200的一个或多于一个控制,从而执行该动作。为了简单起见,本文中参考图6a至图6g中提供的示例来说明场景评估系统504和动作选择器的某些功能。
[0108]
场景模拟示例
[0109]
图6a至图6g是例示场景评估系统504从场景状态生成模拟状态和轨迹并进行评分的示例的状态图。在一些情况下,场景评估系统504可以使用诸如蒙特卡洛树搜索(mcts)等的随机加权搜索机制,以通过选择从场景状态推导出的模拟状态、扩展所选择的模拟状态、模拟该模拟状态的轨迹、并且将模拟轨迹的结果或得分传播到模拟状态及其父状态(例如,
在模拟状态和场景状态之间的模拟状态),来评估模拟轨迹和模拟状态。
[0110]
图6a是例示针对运载工具200的场景的场景状态620、从场景状态620生成或推导出的不同模拟场景状态622a、622b、622c(单独或统称为模拟状态622或模拟场景状态622)、以及未选择场景状态623的树形图。在例示示例中,树形图的节点可以表示场景状态620、模拟场景状态622或未选择场景状态623,并且各边缘表示运载工具200可以采取的动作、潜在动作或模拟动作。在例示示例中,树形图包括场景状态620、三个模拟状态622(也称为子状态或第一级别模拟状态,因为它们是从场景状态620起的一个级别)、可以由运载工具200采取以分别到达不同模拟状态622a、622b、622c的三个动作630a、630b、630c(单独或统称为动作630)、一个未选择场景状态623、以及一个未选择动作631。
[0111]
场景状态620可以表示运载工具200的场景的场景状态。如本文所述,场景状态620可以包括运载工具状态和场景中的对象(例如,行人、运载工具、建筑物等)的状态。
[0112]
动作630(或模拟动作)和未选择动作631可以与可使得运载工具200以某个方式行动的一个或多于一个控制相对应。例如,动作630、631可以包括但不限于(按预设或可变量)加速、(按预设或可变量)减速、(按预设或可变量)向左或向右转或转向、改变车道、维持速度或方向、反向移动、改变车道等。此外,动作630、631可以与时间相关联。例如,动作630、631可以与在特定时间期间采取的某些控制(诸如向右转向500ms等)相对应。
[0113]
在某些情况下,动作630、631可以包括使得运载工具200以特定方式行动的控制的组合。例如,动作630、631可以包括减速并向左转向或加速并向右转向、或者改变车道等。因此,将理解,尽管在图6a中示出三个(已选择)动作630a、630b、630c和三个相应的模拟状态622a、622b、622c,但可以确定或者可利用更少、更多或不同的动作630或(不同级别的)模拟状态。例如,未选择动作631可以表示未被选择用于模拟的动作,并且状态623可以表示(例如,基于未被选择/模拟的动作631的)未模拟状态。
[0114]
在一些情况下,基于确定为动作631和/或状态623不满足安全和/或舒适阈值,可以不选择动作631和/或状态623来进行模拟。例如,与动作631和/或状态623相关联的得分可能不满足安全、舒适或偏好得分阈值。在某些情况下,基于优先级排序,可以不选择动作631和/或状态623来进行模拟。例如,基于动作631和/或状态623的得分,动作631和/或状态623与其他动作和状态相比可能具有更低的优先级。基于其优先级排序,考虑到时间和/或计算资源约束,系统可能没有足够的时间来模拟动作631和/或状态623。
[0115]
在一些情况下,场景评估系统504基于运载工具动作策略来识别动作630(以及相应地识别状态622)。运载工具动作策略可以指示如何确定可用于模拟的动作。在某些情况下,运载工具动作策略可以指示(例如,不论场景状态或场景数据如何)物理上可能的所有动作都被认为是可用的。在某些情况下,运载工具动作策略可以指示将基于场景数据或场景状态、安全阈值、舒适阈值等来选择可用动作(例如,不是所有物理上可能的动作都被认为是对于运载工具可用)。
[0116]
在一些情况下,如果动作(例如,动作631)和相应的状态(例如,状态623)在物理上不可能(例如,运载工具物理上不能在该时间点增加其加速度和/或增加其转向角度)和/或将违反安全阈值、舒适阈值或其他标准,则可以将它们从潜在模拟中省略。例如,如果规划系统404包括不移动到步行道上的安全阈值、并且场景状态指示人行道紧挨运载工具200的右侧,则运载工具动作策略可以指示向右转不被认为是可用动作,并且可以将向右转从模
拟中省略。类似地,运载工具动作策略可以将其他阈值用于安全阈值以确定哪些动作可用于模拟,诸如但不限于加速或减速阈值、对象相对于运载工具200的地点、道路的边缘、转向角度和速率(例如,可能导致失去对运载工具200的控制或运载工具200侧倾的转向角度和速率)的组合、等等。
[0117]
作为另一示例,如果规划系统404将舒适阈值作为离心力阈值来实现,则运载工具动作策略可以指示导致满足(或超过)离心力阈值的离心力的动作不被考虑用于模拟。类似地,如所描述的,运载工具动作策略可以将其他阈值用于舒适阈值,诸如加速或减速阈值、转向角度阈值等。
[0118]
在某些情况下,运载工具动作策略可以指示将从经训练的神经网络确定或获得可用动作。经训练的神经网络可以使用来自过去驾驶数据的经学习特征来确定不满足安全和/或舒适度阈值或其他标准的动作,并且将这些动作从用于模拟的可用动作630中省略。这样,系统可以避免使用时间和计算资源来探索不太可能导致可行路径的动作和/或状态。这可以增加可用于探索可行路径的时间和计算资源,由此增加探索到的可行动作/状态的数量和所选择路径的置信度,以及增加系统在确定要采取哪个动作时分析可行动作和状态的速率。
[0119]
此外,通过(例如,使用神经网络)在处理的早期时间点限制要探索的动作,规划系统404可能花费更多的时间和计算资源来探索更有可能导致运载工具的肯定结果(例如,降低碰撞的可能性的更安全结果、更有可能满足舒适阈值的更舒适结果等)的动作、状态和轨迹。在较早时间限制要探索的动作可以进一步使得规划系统能够更有创造性地探索可能被忽略的动作,因为这些在第一遍时没有表现得比其他动作更好。这可以在快速消除不良动作的同时导致对场景的更具创造性的探索。在确定了潜在动作630和模拟场景622的情况下,场景评估系统504可以使用状态选择策略来选择要探索模拟状态622中的哪个。状态选择策略可以指示要随机地和/或基于一个或多于一个标准来探索状态,这些标准诸如但不限于已探索或忽略模拟状态622的次数(例如,从模拟状态622生成的模拟数量)、模拟状态622的得分(例如,最高累积得分、最高平均得分等)、与模拟状态相关联的动作的排名、以及/或者与不同模拟状态相关联的模拟轨迹的得分、等等。
[0120]
在一些情况下,状态选择策略可以支持探索具有更高得分的状态和/或最近没有探索的状态(例如,在阈值数量的模拟轨迹之后没有探索的状态、相对于一个或多于一个其他模拟状态被探索少于阈值次数的状态、等等)。在某些情况下,状态选择策略可以对得分(状态已被探索或忽略以选择该状态的次数)进行加权。在一些情况下,加权可以支持选择相对于其他状态没有被多次探索的状态。如本文所述,在一些情况下,状态选择策略可以使用mcts策略或其他启发式搜索策略或算法来确定要探索的状态。通过探索最近未探索的状态或搜索频率较低的状态,场景评估系统504可以提高潜在轨迹的灵活性。在例示示例中,基于状态选择策略,场景评估系统504选择模拟状态622a来进行探索。
[0121]
动作的排名可以基于安全、舒适或维持现状(例如,对航向、速度等没有修改)的偏好。在某些情况下,排名可以来自经训练以对常见动作或常用动作进行排名的神经网络。
[0122]
图6b是例示探索所用的模拟状态622a的选择以及与模拟状态622a相关联的轨迹621a(本文中也称为模拟轨迹621a、轨迹模拟621a或路径模拟621a)的模拟的树形图。在例示示例中,从模拟状态622a向结束状态626a发起模拟轨迹621a。在轨迹模拟621a期间,场景
评估系统504可以选择供运载工具200和/或对象采取直到实现结束状态626a为止的动作。在一些情况下,对运载工具200和/或对象的动作的选择可以分别基于运载工具模拟策略和/或对象模拟策略。运载工具模拟策略可以指示如何选择运载工具200的动作,并且对象模拟策略可以指示如何选择运载工具场景中的对象的动作。
[0123]
将理解,运载工具动作和对象动作可以同时地和/或并发地而不是顺次地发生。例如,可以将运载工具的动作模拟为与场景中的对象的一个或多于一个动作同时发生。如此,运载工具200可以在对象也正采取动作时(即,在无需等待对象采取动作的情况下)继续采取动作。
[0124]
动作可以包括如本文中至少参考运载工具动作策略所述的前述动作(例如,调整运载工具200方向或速率、维持方向/速率等)中的任一个或任何组合。在一些情况下,可以按设置的或变化的时间间隔采取模拟动作。例如,场景评估系统504可以按每100ms、200ms、500ms、1秒或更长时间模拟运载工具200正采取的动作。在一些这样的情况下,模拟状态622可以参考相对于场景状态620的将来相同时间。
[0125]
在一些情况下,如由运载工具模拟策略和对象模拟策略分别所指示的,场景评估系统504可以从所有可能的(或可用的)动作中随机地或伪随机地选择运载工具和对象的模拟动作。在某些情况下,场景评估系统504可以从总可用动作的子集中随机地或伪随机地选择模拟动作。在某些情况下,模拟期间不可用的动作可以是基于安全因数或阈值或舒适阈值。例如,如果运载工具200正在前进移动,则在模拟期间可以不使用将使得运载工具200尝试反向移动的动作,或者在模拟期间可以不使用使轮在任意方向上转动超过阈值度数。在某些情况下,场景评估系统504可以使用经训练的神经网络来减少在轨迹模拟621a期间可用于模拟的动作的数量。
[0126]
除了模拟供运载工具200采取的动作之外,如由对象模拟策略所指示的,场景评估系统504可以模拟运载工具场景中的多个对象的动作。这可以包括由不同分类的多个对象(例如,行人、自行车、其他运载工具等)采取的动作。在某些情况下,场景评估系统504可以使用对象的模拟动作以及/或者对象的模拟路径或轨迹来选择运载工具200的动作。例如,模拟策略可以向场景评估系统504指示运载工具200的模拟动作是(例如,基于对象的预测轨迹)避免与对象的碰撞。
[0127]
在一些情况下,如由对象模拟策略所指示的,场景评估系统504可以使用对象的当前路径/轨迹来确定对象动作(或路径/轨迹)。例如,场景评估系统504可以确定为运载工具场景中的对象将无改变地(例如,方向、速度等没有改变)继续其路径,并且可以不对运载工具200的动作作出反应。
[0128]
在某些情况下,如由对象模拟策略所指示的,场景评估系统504可以改变模拟期间对象的路径/轨迹。在一些这样的情况下,场景评估系统可以选择与对象对运载工具200的动作进行响应相对应的(由对象进行的)动作。例如,场景评估系统504可以确定为对象将对运载工具的动作作出反应,诸如如果运载工具200加速则行人在人行横道中减速或加速、或者如果运载工具200减速则另一运载工具减速、等等。
[0129]
在一些情况下,如由对象模拟策略所指示的,场景评估系统504可以基于运载工具场景中的对象的分类或类型来模拟这些对象的动作。例如,场景评估系统504可以模拟与运载工具或自行车的动作不同的行人的动作。作为非限制性示例,对象模拟策略可以指派与
运载工具或自行车相比、行人将改变方向或停止的更高概率。在一些情况下,行人可能在特定时间段(例如,500ms)内具有“停止”动作,而运载工具可能不具有“停止”动作(例如,考虑到运载工具的当前速度,运载工具可能无法在该特定时间段内停止)。
[0130]
在模拟不同对象的动作时,如由对象模拟策略和/或模拟策略所指示的,场景评估系统504可以将各对象视为独立行为者(例如,各对象可以独立于场景中的其他对象而行动)。例如,场景评估系统504可以估计为不同的行人将基于他们的以下因素而以不同的方式行动:体型(例如,儿童与成人相比(诸如通过更有可能在短时间段(例如,《1秒)内加速或改变方向等)可能以不同的方式行动);地点(例如,人行横道上的行人的动作可能取决于运载工具的动作(例如,行人有可能根据运载工具200的操作而加速/减速),而步行道上的行人的动作可以独立于运载工具的动作);速率(例如,与正在步行的行人相比,正在跑步的行人可能不太可能在特定时间段(例如,《500ms)内停止/沿相反方向移动(或以其他方式在方向上做出极大改变(例如,》60度)))。类似地,场景评估系统可以在模拟其他运载工具或自行车的动作时考虑这些其他运载工具的特征(例如,大小、相对于运载工具200的位置、速度等)或自行车的特征(例如,大小、相对于运载工具200的位置、速度等)。例如,场景评估系统504可以将在运载工具200的相同方向和前方行驶的运载工具视为独立于运载工具的动作而行动,但可以将在相同方向和后方(或侧方)行驶的运载工具视为根据运载工具的动作而采取动作。
[0131]
在某些情况下,如由对象模拟策略所指示的,场景评估系统504可以使用经训练的神经网络来估计或选择运载工具场景中的对象的动作。经训练的神经网络可以使用对象的不同分类来模拟对象可以采取的动作。例如,经训练的神经网络可以基于运载工具的经学习特性来选择运载工具的动作。类似地,经训练的神经网络可以基于自行车和行人的经学习特性来选择自行车和/或行人的动作。
[0132]
场景评估系统504可以通过如模拟策略所指示的那样选择运载工具200和运载工具场景中的对象的动作来继续模拟轨迹621a,直到到达结束状态626a为止。在一些情况下,可以使用结束状态策略来确定何时到达结束状态626a。结束状态策略可以考虑阈值模拟时间段、阈值模拟动作数量、阈值模拟距离、或者所到达或通过的路标中的任一个或任何组合,以确定何时将发生结束状态626a。例如,结束状态策略可以指示场景评估系统504将模拟运载工具200和运载工具场景中的对象的动作,直到模拟了6秒的行驶时间(或一些其他阈值时间段)为止。作为另一示例,结束状态策略可以指示场景评估系统504将模拟运载工具200和运载工具场景中的对象的动作,直到模拟了100个动作(或者一些其他阈值动作数量)为止。在某些情况下,结束状态策略可以指示场景评估系统504将模拟运载工具200和运载工具场景中的对象的动作,直到模拟了阈值距离或到达路标为止。例如,场景评估系统504可以选择运载工具200和运载工具场景中的对象的动作,直到模拟了1/4英里(或其他阈值距离)为止或者直到通过了交叉口(或另一路标)为止。如此,即使可能模拟附加动作和/或状态(例如,模拟可能继续),也可以到达结束状态626a。例如,结束状态626a可以不表示路线的结束或驾驶的终止,而是结束状态626a可以表示模拟轨迹将结束的(时间、地点、距离等方面的)点。
[0133]
一旦到达结束状态626a,就可以基于轨迹评估策略来评估模拟轨迹621a。轨迹评估策略可以指示将评估模拟轨迹621a的标准。
[0134]
在一些情况下,轨迹评估策略可以指示将使用模拟轨迹621a的一个或多于一个特征来评估模拟轨迹621a。这些特征可以是预定义的、动态确定的、或者诸如通过使用神经网络等学习的。这些特征可以涉及运载工具安全(例如,碰撞的可能性、离开道路等)、乘客舒适(加速/减速、离心力、转向度等)、效率(相对于路线中心的距离、车道改变等),并且可以包括碰撞(或碰撞的可能性)、加速的量或比、减速的量或比、到目标的距离、到交通信号(例如,停车标志、灯等)的距离、横向加速度/减速度、对中或航向、对中或航向的变化、速度、速度的变化、越野(例如,离开道路)、车道变化、相对于路线的距离、驾驶性能、离心力等。将理解,可以使用更少、更多或附加的特征来评估模拟轨迹621a。
[0135]
在某些情况下,轨迹评估策略可以指示将如何使用不同特征来评估模拟轨迹621a。在某些情况下,轨迹评估策略可以指示不同特征的一个或多于一个阈值。例如,如果模拟轨迹621a的一个或多于一个特征满足相应的特征阈值,则轨迹评估策略可以指示模拟轨迹621a被认为是成功的。
[0136]
阈值可以针对不同的功能而变化。例如,对于与同对象碰撞相关的特征的阈值,确定为轨迹将(或有可能(例如,》50%))导致与对象碰撞,这将使得场景评估系统504将轨迹分类为不成功(或给予该轨迹低得分或失败得分)。作为另一示例,向左或向右转向的阈值可以是基于运载工具200的速度。例如,考虑到以更低速度的离心力将更低,可以以更低速度使用相对更大程度的转向阈值,并且可以以更高速度使用相对更小程度的转向阈值。因此,在某些情况下,场景评估系统504可以将沿着轨迹的估计离心力与阈值离心力进行比较,以评估模拟轨迹621a。
[0137]
在某些情况下,轨迹评估策略可以指示如何组合一个或多于一个特征来评估模拟轨迹621a。例如,轨迹评估策略可以指示针对不同特征的不同权重,以指示将如何相对于彼此对特征进行加权以及/或者如何确定模拟轨迹621a的总体得分。
[0138]
在一些情况下,轨迹评估策略可以指示将模拟轨迹与预设轨迹或路线进行比较。预设轨迹可以与被识别为可信轨迹(例如,专家轨迹)的轨迹相对应。路线可以与运载工具200从其起点到其终点的规划路线相对应。在一些这样的情况下,场景评估系统504可以根据模拟轨迹与预设轨迹或路线的类似度来将模拟轨迹评分得更高或更低。类似度可以考虑到与预设轨迹或路线的接近度以及其他特征(诸如但不限于速度、加速度等)。
[0139]
在某些情况下,(与本文中参考运载工具动作策略所述的内容类似)轨迹评估策略可以指示将基于安全和/或舒适阈值来评估轨迹。因此,具有更高的安全和/或舒适得分的轨迹可以接收更高得分和/或更可能被识别为成功。
[0140]
如本文所述,场景评估系统504可以基于模拟轨迹621a的个体特征和/或特征的组合来评估轨迹。场景评估系统504可以向模拟轨迹621a指派得分、以及/或者确定模拟轨迹621a是“成功”还是“失败”(例如,一些或所有特征是否满足它们各自的阈值以及/或者组合得分是否满足得分阈值)。
[0141]
图6c是例示将对模拟轨迹621a(或得分)的评估结果传播到模拟状态622a和场景状态620的树形图。在例示示例中,模拟轨迹621a被确定为成功(例如,基于轨迹评估策略将模拟轨迹621a确定为成功)。如此,更新与模拟状态622a相对应的节点以指示进行了一次模拟并且该模拟是成功。将结果/得分类似地传播到场景状态620。
[0142]
为了简单起见,在例示示例中,将得分反映为成功次数相对于模拟次数,然而,将
理解,可以使用模拟轨迹的不同得分来代替成功/模拟次数。例如,各状态可以包括总得分(例如,来自所有模拟的得分的总和)和模拟次数或平均得分等。在一些这样的情况下,这些得分可用于根据状态选择策略确定应探索哪个状态。
[0143]
图6d是例示在根据各模拟状态622a至622c模拟了一个轨迹之后的针对不同模拟状态622a至622c的得分的树形图。在例示示例中,结果指示出:根据轨迹评估策略,来自模拟状态622b的模拟轨迹不成功,并且来自模拟状态622c的模拟轨迹成功。基于轨迹模拟的结果,场景状态620的评分已被更新,以反映根据轨迹评估策略,三次模拟中的两次模拟是成功的。
[0144]
图6e是例示在场景评估系统504已模拟并评估了21个轨迹(其中的11个轨迹根据轨迹评估策略是成功的)之后的、针对场景状态620、(第一级别)模拟状态622a、622b、622c和(第二级别)模拟状态624a、624b、624c、624d(也称为孙子状态或第二级别模拟状态,考虑到它们是从场景状态620起的两个级别)的得分的树形图。图6e还例示分别与模拟状态622a、622b、622c、624a、624b、624c、624d相对应的动作630a、630b、630c、630d、630e、630f和630g(例如,导致或产生相应的模拟状态的动作)。
[0145]
如本文所述,在一些情况下,不同级别的模拟状态可以与不同的时间相对应。例如,场景状态620可以与时间t0处的场景的状态相对应,第一级别模拟状态622可以与时间t1处的场景的模拟相对应,并且第二级别模拟状态624可以与时间t2处的场景的模拟相对应。然而,将理解,在一些情况下,相同级别的模拟状态可以与不同的时间相对应。在一些这样的情况下,不同的时间可以与为了到达模拟状态所采取的动作相对应。例如,如果动作630a是维持航向和速度并且动作630c是改变车道,则与改变车道相关联的时间可能大于归因于维持航向和速度的时间。如此,状态622a和状态622c可以与不同的时间相对应。
[0146]
下表总结了根据特定状态所模拟的成功轨迹的数量以及根据该状态所模拟的轨迹的总数。
[0147][0148][0149]
表1
[0150]
基于状态选择策略,场景评估系统504根据状态622a模拟并评估了10个轨迹,相比之下,根据状态622b模拟并评估了4个轨迹,并且根据状态622c模拟并评估了7个轨迹。如所述,状态选择策略可以考虑到不同状态的得分以及它们被选择/忽略的次数。因此,尽管状
态622a和622c与状态622b相比具有更高的得分,但仍可以不时地选择状态622b以供进一步探索。这样,场景评估系统504可以在对在评估的早期阶段看起来最有希望(例如,具有更高得分)的状态之外的潜在轨迹进行评估时保持灵活性。
[0151]
在例示示例中,基于根据该状态的成功模拟次数相对于总模拟次数来确定得分,然而,将理解,可以使用不同的得分。例如,如果场景评估系统504(例如,基于针对个体特征的得分以及/或者与成功/失败不同的非二进制组合得分)向各轨迹指派得分,则场景评估系统504可以使用来自不同状态的轨迹的平均得分来选择接下来要探索的状态。
[0152]
图6f是例示探索所用的第二级别模拟状态624b的选择以及从第二级别模拟状态624b到结束状态626b的轨迹621b的模拟的树形图。如本文所述,场景评估系统504可以基于状态选择策略来选择探索所用的第二级别模拟状态624b,该状态选择策略可以考虑各种状态的得分、各种状态已被探索/忽略的次数、随机性等。一旦进行了选择,场景评估系统504就可以通过根据模拟策略模拟运载工具200的动作和/或运载工具场景中的对象的动作来模拟运载工具200的轨迹621b,直到根据结束状态策略到达结束状态626b为止。如本文所述,运载工具200和运载工具场景中的对象的模拟动作可以同时地或并发地发生。如此,运载工具200和对象的动作可以不基于转向(即,采取第一动作并在采取第二动作之前等待另一个采取动作)。
[0153]
图6g是例示将模拟轨迹621b的评估结果(或得分)传播到第二级别模拟状态624b及其父状态(例如,第一级别模拟状态622a和场景状态620)的树形图。如本文所述,可以根据轨迹评估策略来对模拟轨迹621b进行评估和/或评分。在例示示例中,场景评估系统504基于轨迹评估策略确定为模拟轨迹621b是成功。如此,更新相关状态的得分。在例示示例中,将第二级别模拟状态624b的得分更新为4/6,将第一级别模拟状态622a的得分更新为7/11,并且将场景状态620的得分更新为12/22。
[0154]
为了简单起见,在例示示例中,将得分反映为成功次数相对于模拟次数,然而将理解,可以使用模拟轨迹的不同得分来代替成功/模拟次数。例如,各状态可以包括总得分(例如,来自所有模拟的得分的总和)和模拟次数或平均得分等。在一些这样的情况下,这些得分可用于根据状态选择策略来确定应探索哪个状态。
[0155]
场景评估系统504可以根据模拟终止策略来继续选择和扩展状态并且评估模拟轨迹。模拟终止策略可以指示场景评估系统504将模拟和评估轨迹的时长。在一些情况下,模拟终止策略可以指示场景评估系统504将模拟轨迹,直到达到阈值时间段、阈值模拟次数、阈值状态数量或阈值处理量为止。例如,模拟终止策略可以指示场景评估系统504将模拟轨迹并持续100ms、200ms、500ms或1秒。在该阈值时间段期间,场景评估系统504可以生成并评估尽可能多的模拟,这些模拟可以包括1000次或更多次轨迹模拟。在某些情况下,模拟终止策略可以指示场景评估系统504将模拟特定数量的轨迹模拟。例如,模拟终止策略可以指示场景评估系统504将在终止模拟之前生成并评估1000次、10000次或1000000次轨迹模拟。类似地,模拟终止策略可以指示场景评估系统504将探索各种状态,直到扩展了特定数量的状态、或者针对模拟状态中的一个或多于一个模拟了特定数量的轨迹为止。在某些情况下,模拟终止策略可以指示场景评估系统504将使用特定量或处理能力来生成轨迹模拟。上述阈值或其他阈值中的任一个或任何组合可以由模拟终止策略使用以指示场景评估系统504将模拟和评估运载工具200的潜在轨迹的时长。
[0156]
一旦达到特定阈值,场景评估系统504就可以终止附加模拟轨迹的生成和评估,并且动作选择器506可以基于运载工具规划策略来选择运载工具200的动作。运载工具规划策略可以指示动作选择器506将如何评估模拟状态并选择与这些状态其中之一相对应的动作。
[0157]
在一些情况下,根据运载工具规划策略,动作选择器506可以选择与第一级别模拟状态622(诸如具有最高得分、最高平均得分、与其相关联的大多数轨迹模拟、其任何组合等的第一级别模拟状态等)相对应的动作。参考图6g,动作选择器506选择动作630a,该动作630a与同其他的第一级别模拟状态622b和622c相比具有最高得分和最关联的模拟轨迹的第一级别模拟状态622a相对应。将理解,动作选择器506可以使用附加的或不同的标准来选择要采取的动作(和相应的模拟状态)。例如,与由场景评估系统504进行的操作相比,动作选择器506可以使用不同的标准来对模拟轨迹评分,并使用自身的得分来选择动作,以及/或者附加数据可以使得动作选择器506改变优先级。例如,突然感知到前方的运载工具已制动,这可能使得动作选择器506使制动动作优先于所有其他动作,而不管模拟轨迹的得分或数量如何。
[0158]
如本文所述,动作630a可以与任何数量的动作(诸如但不限于向左或向右转或转向、维持当前航向和速度、加速或减速、改变车道等)相对应。基于所选择的动作,可以(例如,通过控制系统408)控制运载工具200以执行该动作。
[0159]
一旦动作630a由动作选择器506选择和/或使用控制系统408来执行,场景评估系统504就可以如本文中至少参考图6a至图6g所述评估运载工具200的下一动作。在一些这样的情况下,由动作选择器506选择的第一级别模拟状态622a变为场景状态620(或与其他模拟状态相比最紧密近似场景状态620),并且评估新场景状态620。在某些情况下,考虑到运载工具200正在移动,新场景状态620可能不同于第一级别模拟状态622。例如,即使在第一场景状态中的所有对象都根据它们的预测路径移动,一些对象也考虑到运载工具200的移动而可能不再被识别出,以及/或者可能从与新场景状态620相关联的新场景数据中识别出附加对象。如本文中参考图6a至图6g所述,可以模拟在新场景状态620中识别出的对象的轨迹,并将该轨迹用作新场景状态620的轨迹模拟的一部分。
[0160]
在某些情况下,在采取所选择的动作之后,丢弃、删除或不再重用来自第一级别模拟状态622a的轨迹模拟的结果。例如,由于现实世界中的差异或由于运载工具场景中的对象的不同动作,动作的执行可能不会如预测的那样进行。此外,考虑到运载工具200自身已移动、这可能使一些可见对象不可见和/或使先前不可见的其他对象可见(例如,运载工具200将“看不见”一些对象并且“看见”其他对象),轨迹模拟的结果可能不是有用的。如此,在运载工具200采取所选择的动作之后,针对第一级别模拟状态622a所评估的模拟可能不再可靠或可信。
[0161]
在一些情况下,在采取所选择的动作之后重用来自第一级别模拟状态622a的模拟(例如,图6g中所参考的11个模拟的结果)。在一些这样的情况下,场景评估系统可以扩展其已根据第一级别模拟状态622a评估的轨迹。通过重用轨迹模拟,场景评估系统504可以通过不复制来自第一级别模拟状态622a的先前模拟的先前努力来节省处理能力,以及/或者通过向针对第一级别模拟状态622a进行的先前生成和评估的模拟添加模拟来从新场景状态620获得更多数量的模拟。
[0162]
在某些情况下,可以将第一级别模拟状态622a与新场景状态620进行比较。如果这两者相同或满足类似度阈值,则可以将与第一级别模拟状态622a相关联的轨迹模拟用于新场景状态620。在一些情况下,类似度阈值可以基于第一级别模拟状态622a和新场景状态620中的对象的数量以及/或者第一级别模拟状态622a和新场景状态620中的对象的地点。例如,如果第一级别模拟状态622a中的对象数量满足相对于新场景状态620的阈值数量(例如,相同对象数量或+/-阈值数量)、以及/或者第一级别模拟状态622a中的对象在相对于新场景状态620中的相应对象的阈值距离内,则系统可以确定为满足类似度阈值,并且将与第一级别模拟状态622a相关联的轨迹模拟与新场景状态620一起使用。通过重用模拟,场景评估系统504可以使用其计算资源来探索附加的模拟状态并生成更多的模拟轨迹,这可以改进动作选择。
[0163]
动作选择流程
[0164]
图7是例示由一个或多于一个处理器实现以选择运载工具200的动作的例程700的示例的流程图。图7所例示的流程图仅是为了例示的目的而提供的。将理解,可以移除图7所例示的例程的步骤中的一个或多于一个,或者可以改变步骤的次序。此外,为了例示清楚示例的目的,在各个数据流阶段期间进行各种操作的上下文中描述一个或多于一个特定系统组件。然而,可以使用其他系统布置以及跨系统组件的处理步骤的分布。
[0165]
在框702处,规划系统404获得与运载工具200的场景相关联的场景数据。如本文所述,场景数据可以包括与运载工具200相关联的运载工具数据以及/或者与场景中的一个或多于一个对象相关联的对象数据。可以根据与感知系统402的传感器套件相关联的传感器数据、来自定位系统406的传感器数据从一个或多于一个传感器、以及/或者从运载工具200内或周围的特定于运载工具200的一个或多于一个传感器,来生成数据。场景数据可以包括与运载工具200或场景中的对象的位置、方位、航向、速度、加速度、运载工具200的加速或减速的量、运载工具200的方向盘位置等相关的数据。
[0166]
在一些情况下,规划系统使用场景数据来生成场景状态。场景状态可以指示场景中的对象相对于运载工具200和/或相对于彼此的位置、朝向、航向、速度和其他确定特征。例如,如果检测到两个运载工具、三个行人、自行车和交通标志,则场景数据可以指示这些对象相对于运载工具200和/或相对于彼此的位置、航向和速度。如本文所述,规划系统404可以使用场景数据生成或确定场景状态620。
[0167]
在框704处,规划系统404确定运载工具200的多个动作。这些动作可以与特定时间段相对应。如本文所述,在特定时间或任何特定时间,运载工具200可以采取一个或多于一个动作,诸如但不限于维持或修改运载工具的航向、速度、加速度、车道位置等。在一些情况下,动作可以包括对运载工具200的控制的多个修改,诸如但不限于修改运载工具的航向和速度等。因此,规划系统可以在时间t0确定运载工具200的多个潜在动作。
[0168]
规划系统可以识别在特定时间可以采取哪些动作,并且根据运载工具动作策略将这些动作识别为多个动作。在某些情况下,规划系统404可以确定为(例如,无论场景状态或场景数据如何)所有动作都可用。在某些情况下,规划系统404可以将所有选项的子集识别为多个选项。在一些情况下,规划系统可以基于场景状态(或场景数据)、安全阈值、舒适阈值等的任一个或任意组合来识别多个动作。例如,如果规划系统404包括不离开道路的安全阈值、并且规划系统404确定为道路紧挨在运载工具200的右侧结束,则规划系统404可以确
定为不将右转认为是多个动作的一部分。类似地,如本文所述,可以实现其他阈值作为安全阈值,诸如加速或减速阈值、对象相对于运载工具200的地点、道路边缘、转向角度和速率的组合(例如,可能导致失去对运载工具200的控制或运载工具200侧倾的转向角度和速率)等。
[0169]
作为另一示例,如果规划系统404将舒适阈值作为离心力阈值来实现,则规划系统404可以确定为导致满足(或超过)离心力阈值的离心力的动作不被认为是多个动作的一部分。类似地,如本文所述,可以实现其他阈值作为舒适阈值,诸如加速或减速阈值、转向角度阈值等。
[0170]
在某些情况下,规划系统404可以使用经训练的神经网络来确定针对特定场景状态可以采取哪些动作。经训练的神经网络可以使用来自过去驾驶数据的经学习特征来确定不满足安全和/或舒适阈值的动作。这样,系统可以避免使用时间和计算资源来探索不太可能导致可行路径的动作和/或状态。这可以增加可用于探索可行路径的时间和计算资源,由此增加所探索的可行动作/状态的数量和所选择路径的置信度、以及增加系统在确定要采取哪个动作时分析可行动作和状态的速率。
[0171]
在框706处,规划系统404确定多个模拟状态。如本文所述,各运载工具动作可以改变场景状态并导致模拟状态(例如,在运载工具200采取特定动作的情况下的场景的状态)。在某些情况下,模拟状态还可以考虑场景中的对象的预测动作。例如,在场景状态是时间t0处的场景的状态的情况下,如果运载工具200在时间t0和t1之间采取特定动作(并且场景中的对象在时间t0和t1之间采取一个或多于一个可用动作),则模拟状态可以是时间t1处的场景的状态。在一些情况下,多个模拟状态中的各模拟状态假定场景中的对象的动作是相同的。在某些情况下,这些模拟状态中的一些模拟状态可以使用与场景中的对象的动作有关的不同假设来生成模拟状态。
[0172]
在一些情况下,可以针对所识别的各动作确定一个或多于一个不同的模拟状态。在某些情况下,从改变场景状态的动作生成的模拟状态可以被称为第一级别模拟状态,从改变第一级别模拟状态的动作生成的模拟状态可以被称为第二级别模拟状态,等等。
[0173]
在框708处,规划系统404生成多个模拟轨迹。在某些情况下,一个或多于一个模拟轨迹可以与特定模拟状态相对应。例如,一个或多于一个模拟轨迹可以从特定模拟状态开始。
[0174]
在一些情况下,模拟轨迹可以结束于结束状态。如本文所述,结束状态可以由结束状态策略确定,并且可以与阈值时间(例如,模拟轨迹将跨越六个模拟秒)、阈值距离(例如,模拟轨迹将跨越1/4英里)和/或阈值路标(例如,通过交叉口、下一交通标志等)或者其他阈值中的任一个或任何组合相对应。
[0175]
在一些情况下,模拟轨迹的数量可以基于模拟状态的数量。例如,规划系统404可以针对各个模拟状态生成一个或多于一个模拟轨迹。作为另一示例,规划系统可以针对至少一个模拟状态生成至少一个模拟轨迹。在一些这样的情况下,规划系统404可以不针对各个模拟状态生成模拟轨迹。
[0176]
在一些情况下,规划系统404可以使用状态选择策略来确定应针对哪些模拟状态生成一个或多于一个模拟轨迹。如本文所述,状态选择策略可以考虑(基于先前模拟估计的评估的)不同模拟状态的得分、(相对于其他模拟状态)针对特定模拟状态所生成的模拟轨
迹的数量、动作排名、随机性或伪随机性、以及/或者(相对于其他模拟状态)针对模拟状态生成模拟轨迹的最后时间、等等。
[0177]
规划系统404可以使用模拟策略来生成模拟轨迹。如本文所述,模拟策略可以指示如何选择和/或模拟运载工具200的一个或多于一个动作(例如,运载工具模拟策略)和/或场景中的对象的一个或多于一个动作(例如,对象模拟策略)。如本文所述,模拟策略可以指示运载工具200的一个或多于一个动作可以是从所有可用动作中随机地选择,从所有可用动作中伪随机地选择的(例如,局限于满足安全阈值和/或舒适阈值的动作),等等。类似地,模拟策略可以指示在模拟中不同的对象如何表现。如本文所述,不同的对象(包括相同或不同分类的对象)可以被模拟为彼此独立地行动。例如,可以独立于另一运载工具的模拟来确定一个运载工具200的模拟动作,并且可以独立于不同的行人来确定这两者。在一些情况下,对象可以被模拟为根据对象的分类、(例如,在道路、步行道、人行横道上的)地点、与运载工具200的接近度、大小等以不同的方式而行动。此外,运载工具动作和对象动作可以被模拟为(例如,在无需等待转弯的情况下)并发地或同时地发生。
[0178]
在一些情况下,规划系统可以根据模拟策略(例如,模拟终止策略)生成模拟轨迹。模拟策略可以指示要生成多少个模拟轨迹以及/或者生成模拟轨迹的时长。例如,模拟策略可以指示规划系统404将生成阈值数量的模拟(例如,1000个轨迹),以及/或者在阈值时间段(例如,100ms、200ms、500ms等)内生成模拟轨迹或者直到使用了阈值数量的计算资源为止等。在某些情况下,模拟策略可以指示规划系统404将生成模拟轨迹,直到识别出阈值数量的模拟状态以及/或者针对模拟状态中的一个或多于一个生成了阈值数量的模拟轨迹为止。
[0179]
通过(从经筛选的一组动作)探索各种动作,规划系统可以获得对可用动作/状态的更稳健探索,从而得到规划系统可以选择运载工具的动作的更大一组轨迹。这样,系统可以在其规划处理中保持灵活,并且不太可能选择导致非优选结果(例如,死端、堵塞、碰撞、处于不安全地点等)的路径。
[0180]
在框710处,规划系统404评估多个模拟轨迹。如本文所述,规划系统404可以使用模拟策略(例如,轨迹评估策略)来评估模拟轨迹。模拟策略可以指示如何对模拟轨迹进行评估和/或评分。
[0181]
在一些情况下,为了评估模拟轨迹,规划系统可以从模拟轨迹中提取个体特征,诸如但不限于加速度分布、离心力、转向分布等。基于模拟策略,规划系统404可以对个体特征进行评分,对它们进行加权,以及/或者将它们组合以生成模拟轨迹的得分。在一些情况下,模拟轨迹的得分可以包括所提取特征的一些或全部的得分。在某些情况下,模拟轨迹的得分可以包括综合得分。
[0182]
在一些情况下,规划系统404可以使用所提取的特征的得分和/或综合得分来确定模拟轨迹是被认为是成功还是失败。在某些情况下,规划系统404在不指派成功/失败值的情况下使用所提取特征的得分和/或综合得分。
[0183]
如本文所述,可以使用模拟轨迹的得分来确定与模拟轨迹相关联的模拟状态(例如,模拟轨迹开始于的模拟状态)的得分。例如,来自与相同模拟状态相关联的模拟轨迹的得分可以是累积得分以提供模拟状态得分。在一些情况下,模拟状态得分可以是如图6g所示的与模拟状态相关联的模拟轨迹的总数中被识别为成功的与模拟状态相关联的模拟轨
迹的数量。在某些情况下,模拟状态得分可以是关联的模拟轨迹的得分的总和或平均。可以使用其他方法来使用模拟轨迹的得分来确定模拟状态的得分。
[0184]
此外,父状态或更高级别状态的得分可以基于更低级别或子状态的得分。例如,如图6g所示,当更新更低级别状态的得分时,该变化可以传播到更高级别状态。
[0185]
尽管分开描述,但将理解,框708和710可以并发地进行。在一些情况下,可以并发地或连续地生成和评估模拟轨迹。例如,如本文中参考图6a至图6g所述,规划系统可以连续地生成多个级别的模拟状态,并且生成和评估所生成的不同级别的模拟状态的模拟轨迹。在某些情况下,规划系统404可以并发地生成模拟状态和模拟轨迹。例如,参考图6b,规划系统404可以并发地生成和评估模拟轨迹621a以及来自第一级别模拟状态622b和622c的模拟轨迹。类似地,参考图6f,规划系统404可以并发地生成并评估模拟轨迹621b、以及来自第一级别模拟状态622a、622b或622c、其他的第二级别模拟状态624a、624c、624d中的任一个或任何组合的模拟轨迹,或者甚至从第二级别模拟状态624b并发地生成第二模拟轨迹。
[0186]
在框712处,规划系统404基于模拟状态来选择运载工具200的动作。在某些情况下,规划系统404可以基于运载工具规划策略来选择动作。如本文所述,运载工具规划策略可以指示评估模拟状态和/或选择动作所利用的标准。在一些情况(诸如生成了多个级别的模拟状态等)下,规划系统404可以根据运载工具规划策略来选择与第一级别模拟状态其中之一相对应的动作。如此,规划系统404可以使用模拟状态的子集来选择动作。
[0187]
将理解,运载工具规划策略可以指示更少、更多或不同的标准来选择动作。在某些情况下,标准可以包括模拟状态的得分、与模拟状态相关联的模拟轨迹的数量等的任一个或任何组合。
[0188]
在框714处,使得运载工具200进行动作。在一些情况下,所选择的动作可以与同所选择的模拟状态相关联的动作(例如,如果由运载工具200采取则导致模拟状态的动作)相对应。在某些情况下,规划系统将所选择的动作通信到控制系统408,该控制系统408控制运载工具200执行该动作。
[0189]
将理解,在例程700中可以使用更少、更多或不同的框。例如,在选择和/或采取动作之后,规划系统404可以基于新场景数据和/或新场景状态来重复例程700。在运载工具200正在移动时,新场景数据(或第二场景数据)可以包括来自第一场景数据的对象中的一些或全部以及在第一场景数据中未找到的对象。此外,第二场景数据中的对象可以如本文所述彼此独立地、并且独立于第一场景数据中的对象而行动。
[0190]
在一些情况下,由于新场景状态可以与框714中参考的所选择的模拟状态相对应、并且可能存在与所选择的模拟状态和所选择的模拟状态的子(或任何子级别)模拟状态相关联的模拟轨迹,因此在一些情况下,规划系统404可以保留先前生成的模拟轨迹和子模拟状态。这样,规划系统404可以在无需重新生成数据的情况下继续探索所选择的模拟状态的子(或子级别)模拟状态。在某些情况下,当重复例程700时,规划系统可以丢弃或不使用与所选择的模拟状态相关联的模拟轨迹和/或子级别模拟状态。
[0191]
在一些情况下,可以重复例程700的某些框。例如,如果以上参考的模拟状态是第一级别模拟状态,则可以根据模拟策略,按照期望相对于第一级别状态(或针对第二级别模拟状态和第三级别模拟状态)重复框704至710(例如,持续一定时间量,直到生成了特定数量的模拟轨迹为止,直到探索到特定数量的模拟状态为止,等等)。
[0192]
作为非限制性示例,考虑如下到情景:根据框704至710,已生成一个或多于一个第一级别模拟状态并且已生成和评估一个或多于一个模拟轨迹。在这样的情景中,规划系统可以选择第一级别模拟状态其中之一以供进一步探索,根据所选择的第一级别模拟状态确定运载工具200的动作(704),基于所确定的动作来确定第二级别模拟状态(706),基于第二级别模拟状态来生成模拟轨迹(708),并且评估模拟轨迹并更新相关状态(例如,相应的第二级别状态、所选择的第一级别状态、场景状态等)的得分(710)。
[0193]
如本文所述,可以基于状态选择策略来选择第一级别模拟状态,其可以考虑(相对于其他第一级别模拟状态的)所选择的第一级别模拟状态的得分、与相对于其他第一级别模拟状态的所选择的第一级别模拟状态相关联的模拟次数等。
[0194]
本公开的各种非限制性示例可以通过以下的条款来描述:
[0195]
条款1.一种方法,包括:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于评估所述多个模拟轨迹,选择与所述多个模拟状态中的模拟状态相对应的动作;以及使得所述运载工具执行所述动作。
[0196]
条款2.根据条款1所述的方法,其中,基于所述场景数据来确定所述运载工具的多个可用动作包括:识别物理上可行的动作的列表,并且使用神经网络筛选出不满足舒适阈值或安全阈值的动作。
[0197]
条款3.根据条款1至2中任一项所述的方法,还包括:基于评估所述多个模拟轨迹来向所述多个模拟状态指派得分,其中,基于评估所述多个模拟轨迹来选择动作包括:基于所述多个模拟状态的所指派的得分来选择动作。
[0198]
条款4.根据条款1至3中任一项所述的方法,还包括:至少部分地基于所述场景数据来确定场景状态,其中确定所述多个可用动作是至少部分地基于所述场景状态。
[0199]
条款5.根据条款1至4中任一项所述的方法,其中,获得所述场景数据包括接收以下项中的至少一个:与同所述场景相对应的地图相关联的地图数据、与所述运载工具的路线相关联的路线数据、与所述场景中所识别出的至少一个对象相关联的对象数据、以及与所述运载工具的地点相关联的地点数据。
[0200]
条款6.根据条款1至5中任一项所述的方法,还包括:识别所述场景中的至少一个对象并且生成所述至少一个对象的预测轨迹,其中所述多个模拟轨迹中的至少一个模拟轨迹是基于所述至少一个对象的预测轨迹生成的。
[0201]
条款7.根据条款1至6中任一项所述的方法,其中,所述特定模拟轨迹还包括所述运载工具的多个连续动作的模拟。
[0202]
条款8.根据条款1至7中任一项所述的方法,其中,所述多个可用动作包括加速、修改航向、减速和维持速度中的至少一个。
[0203]
条款9.根据条款1至8中任一项所述的方法,其中,评估所述多个模拟轨迹包括:确定所述多个模拟轨迹中的各模拟轨迹的轨迹得分。
[0204]
条款10.根据条款1至9中任一项所述的方法,其中,评估所述多个模拟轨迹包括通
过以下操作来评估特定模拟轨迹:从所述特定模拟轨迹提取多个特征;以及至少部分地基于所述多个特征来确定所述特定模拟轨迹的得分。
[0205]
条款11.根据条款1至9中任一项所述的方法,其中,评估所述多个模拟轨迹包括通过以下操作来评估特定模拟轨迹:从所述特定模拟轨迹提取多个特征;确定所述多个特征中的各特征的特征得分;对多个特征得分中的各特征得分进行加权;以及将加权后的多个特征得分组合以确定所述特定模拟轨迹的轨迹得分。
[0206]
条款12.根据条款1至11中任一项所述的方法,其中,选择所述动作包括:基于与所述动作相关联以及/或者与同所述动作相关联的模拟状态相关联的安全级别或舒适级别来选择动作。
[0207]
条款13.根据条款1至12中任一项所述的方法,其中,所述场景数据包括照相机数据、lidar数据和雷达数据中的至少一个。
[0208]
条款14.根据条款1、2、4至13中任一项所述的方法,其中,多个动作是多个第一动作,所述多个模拟状态是多个第一模拟状态,所述方法还包括:基于评估所述多个模拟轨迹来对所述多个模拟状态进行评分;基于所述评分来选择所述特定模拟状态;基于所述特定模拟状态来确定所述运载工具的多个第二动作;基于所述多个第二动作来确定多个第二模拟状态,其中所述多个第二模拟状态中的特定第二模拟状态与所述多个第二动作中的特定第二动作相对应;基于所述多个第二模拟状态来生成多个第二模拟轨迹,其中所述多个第二模拟轨迹中的特定第二模拟轨迹开始于所述特定第二模拟状态,其中所述特定第二模拟轨迹包括所述运载工具的场景中的所述多个对象中的至少两个对象所采取的并发动作的第二模拟;评估所述多个第二模拟轨迹;基于评估所述多个模拟轨迹来对所述多个第二模拟状态进行评分;以及基于对所述多个第二模拟状态进行评分来更新所述特定模拟状态的得分,其中,基于评估所述多个模拟轨迹来选择动作包括:基于更新所述特定模拟状态的得分来选择动作。
[0209]
条款15.一种系统,包括:数据存储器,用于存储计算机可执行指令;以及处理器,其被配置为执行所述计算机可执行指令,其中所述计算机可执行指令的执行使得所述系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于所述多个模拟轨迹的评估,选择与所述多个模拟状态中的模拟状态相对应的动作;以及使得所述运载工具执行所述动作。
[0210]
条款16.根据条款15所述的系统,其中,所述计算机可执行指令的执行使得所述系统进行以下操作:基于所述多个模拟轨迹的评估来向所述多个模拟状态指派得分,其中,为了基于所述多个模拟轨迹的评估来选择动作,所述计算机可执行指令的执行使得所述系统基于指派给所述多个模拟状态的得分来选择动作。
[0211]
条款17.根据条款15所述的系统,其中,多个动作是多个第一动作,所述多个模拟状态是多个第一模拟状态,以及其中,所述计算机可执行指令的执行使得所述系统进行以下操作:基于所述多个模拟轨迹的评估来对所述多个模拟状态进行评分;基于所述特定模
拟状态的得分来选择所述特定模拟状态;基于所述特定模拟状态来确定所述运载工具的多个第二可用动作;基于所述多个第二可用动作来确定多个第二模拟状态,其中所述多个第二模拟状态中的特定第二模拟状态与所述多个第二可用动作中的特定第二动作相对应;基于所述多个第二模拟状态来生成多个第二模拟轨迹,其中所述多个第二模拟轨迹中的特定第二模拟轨迹开始于所述特定第二模拟状态,其中所述特定第二模拟轨迹包括所述运载工具的场景中的所述多个对象中的至少两个对象所采取的并发动作的第二模拟;评估所述多个第二模拟轨迹;基于所述多个模拟轨迹的评估来对所述多个第二模拟状态进行评分;以及基于所述多个第二模拟状态的评分来更新所述特定模拟状态的得分,其中,为了基于多个第一模拟轨迹的评估来选择动作,所述计算机可执行指令的执行使得所述系统基于所述特定模拟状态的更新后的得分来选择动作。
[0212]
条款18.一个或多于一个非暂时性计算机可读介质,其包括计算机可执行指令,所述计算机可执行指令在由计算系统执行时,使得所述计算系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于所述多个模拟轨迹的评估,选择与所述多个模拟状态中的模拟状态相对应的动作;以及使得所述运载工具执行所述动作。
[0213]
条款19.根据条款18所述的一个或多于一个非暂时性计算机可读介质,其中,所述计算机可执行指令的执行使得所述计算系统进行以下操作:基于所述多个模拟轨迹的评估来向所述多个模拟状态指派得分,其中,为了基于所述多个模拟轨迹的评估来选择动作,所述计算机可执行指令的执行使得所述计算系统基于指派给所述多个模拟状态的得分来选择动作。
[0214]
条款20.根据条款18所述的一个或多于一个非暂时性计算机可读介质,其中,多个动作是多个第一动作,所述多个模拟状态是多个第一模拟状态,以及其中,所述计算机可执行指令的执行使得所述计算系统进行以下操作:基于所述多个模拟轨迹的评估来对所述多个模拟状态进行评分;基于所述特定模拟状态的得分来选择所述特定模拟状态;基于所述特定模拟状态来确定所述运载工具的多个第二可用动作;基于所述多个第二可用动作来确定多个第二模拟状态,其中所述多个第二模拟状态中的特定第二模拟状态与所述多个第二可用动作中的特定第二动作相对应;基于所述多个第二模拟状态来生成多个第二模拟轨迹,其中所述多个第二模拟轨迹中的特定第二模拟轨迹开始于所述特定第二模拟状态,其中所述特定第二模拟轨迹包括所述运载工具的场景中的所述多个对象中的至少两个对象所采取的并发动作的第二模拟;评估所述多个第二模拟轨迹;基于所述多个模拟轨迹的评估来对所述多个第二模拟状态进行评分;以及基于所述多个第二模拟状态的评分来更新所述特定模拟状态的得分,其中,为了基于多个第一模拟轨迹的评估来选择动作,所述计算机可执行指令的执行使得所述计算系统基于所述特定模拟状态的更新后的得分来选择动作。
[0215]
条款21.一种方法,包括:获得与运载工具的场景相关联的场景数据;至少部分地基于所述场景数据,使用神经网络和随机加权搜索机制来生成所述运载工具的多个轨迹,
所述生成包括:至少部分地基于所述场景数据来选择动作集合中的第一动作,基于所述第一动作来模拟所述多个轨迹中的第一轨迹,基于运载工具规划策略来评估所述第一轨迹,选择所述动作集合中的第二动作,基于所述第二动作来模拟所述多个轨迹中的第二轨迹,基于所述运载工具规划策略来评估所述第二轨迹;至少部分地基于所述运载工具规划策略来从所述多个轨迹中选择轨迹;以及基于所选择的轨迹来控制所述运载工具。
[0216]
条款22.根据条款21所述的方法,还包括:至少部分地基于所述场景数据来确定第一场景状态,其中生成所述多个轨迹是至少部分地基于所述第一场景状态。
[0217]
条款23.根据条款21所述的方法,其中,获得所述场景数据包括:接收以下项中的至少一个:与同所述场景相对应的地图相关联的地图数据、与所述运载工具的路线相关联的路线数据、与在所述场景中识别出的至少一个对象相关联的对象数据、以及与所述运载工具的地点相关联的地点数据。
[0218]
条款24.根据条款21所述的方法,其中,获得场景数据包括:识别所述场景中的至少一个对象并且生成所述至少一个对象的预测轨迹,其中所述运载工具的多个轨迹是基于所述预测轨迹生成的。
[0219]
条款25.根据条款21所述的方法,其中,模拟所述第一轨迹包括:模拟要顺次进行的多个动作,其中所述多个动作包括所述第一动作。
[0220]
条款26.根据条款21所述的方法,其中,模拟所述第二轨迹包括:模拟要顺次进行的多个动作,其中所述多个动作包括所述第一动作和所述第二动作。
[0221]
条款27.根据条款21所述的方法,其中,模拟所述第二轨迹包括:模拟要顺次进行的多个动作,其中所述多个动作包括所述第二动作并且不包括所述第一动作。
[0222]
条款28.根据条款21所述的方法,其中,所述动作集合包括以下项中的至少一个:加速、修改航向、减速和维持速度。
[0223]
条款29.根据条款21所述的方法,其中,评估所述第一轨迹包括:确定所述第一轨迹的轨迹得分。
[0224]
条款30.根据条款21所述的方法,其中,评估所述第一轨迹包括:从所述第一轨迹中提取多个特征;以及至少部分地基于所述多个特征和所述运载工具规划策略来评估第一轨迹。
[0225]
条款31.根据条款21所述的方法,其中,评估所述第一轨迹包括:从所述第一轨迹中提取多个特征;确定所述多个特征中的各特征的特征得分;将多个特征得分组合以确定所述第一轨迹的轨迹得分。
[0226]
条款32.根据条款21所述的方法,其中,评估所述第一轨迹包括:从所述第一轨迹中提取多个特征;确定所述多个特征中的各特征的特征得分;对多个特征得分中的各特征得分进行加权;将多个加权后的特征得分组合以确定所述第一轨迹的轨迹得分。
[0227]
条款33.根据条款21所述的方法,其中,评估所述第一轨迹包括:将所述第一轨迹与预设轨迹进行比较。
[0228]
条款34.根据条款21所述的方法,还包括:从所述第一轨迹中提取多个特征,其中评估所述多个特征包括:将所述第一轨迹的多个特征与预设轨迹的相应多个特征进行比较。
[0229]
条款35.根据条款21所述的方法,其中,评估所述第一轨迹包括:使用神经网络来
评估所述第一轨迹。
[0230]
条款36.根据条款21所述的方法,其中,评估所述第二轨迹包括:确定所述第二轨迹的第二轨迹得分;以及至少部分地基于所述第二轨迹得分来更新所述第一轨迹的第一轨迹得分。
[0231]
条款37.根据条款21所述的方法,其中,选择所述第一动作包括:使用所述神经网络来从所述动作集合中识别第一组动作;以及从所述第一组动作中选择所述第一动作。
[0232]
条款38.根据条款21所述的方法,其中,选择所述第一动作包括使用所述神经网络。
[0233]
条款39.根据条款21所述的方法,其中,模拟所述第一轨迹包括:使用所述神经网络来模拟所述第一轨迹。
[0234]
条款40.根据条款21所述的方法,其中,选择所述第二动作是至少部分地基于所述第一动作,其中所述第二动作是所述第一动作的子动作。
[0235]
条款41.根据条款21所述的方法,其中,所述第二动作是所述第一动作的同类动作。
[0236]
条款42.根据条款21所述的方法,其中,所述运载工具规划策略指示至少部分地基于以下项中的至少一个来选择运载工具路径:与所述运载工具路径相关联的安全级别、与所述运载工具路径相关联的舒适级别、以及与特定路径相关联的路线进展。
[0237]
条款43.根据条款21所述的方法,其中,所述随机加权搜索机制是蒙特卡洛树搜索。
[0238]
条款44.根据条款21所述的方法,其中,所述场景数据包括照相机数据、lidar数据和雷达数据中的至少一个。
[0239]
条款45.根据条款21所述的方法,其中,所述场景数据包括照明、天气和一天中的时间中的至少一个的指示。
[0240]
附加示例
[0241]
本文所述的所有方法和任务都可以通过计算机系统来进行和完全自动化。计算机系统在一些情况下可以包括多个不同的计算机或计算装置(例如,物理服务器、工作站、存储器阵列、云计算资源等),它们通过网络进行通信和互操作以进行所述功能。各个这样的计算装置通常包括执行存储器或其他非暂时性计算机可读存储介质或装置(例如,固态存储装置、盘驱动器等)中所存储的程序指令或模块的处理器(或多个处理器)。本文所公开的各种功能可以体现在这样的程序指令中,或者可以在计算机系统的专用电路(例如,asic或fpga)中实现。在计算机系统包括多个计算装置的情况下,这些装置可以但不需要位于同一位置。所公开的方法和任务的结果可以通过将诸如固态存储器芯片或磁盘等的物理存储装置变换成不同的状态来持久地存储。在一些实施例中,计算机系统可以是基于云的计算系统,其处理资源由多个不同的业务实体或其他用户共享。
[0242]
本文所述的或在本公开的附图中例示的处理可以响应于事件(诸如按预先确定的或动态确定的时间表、在由用户或系统管理员发起时按需、或者响应于某些其他事件)而开始。当发起这样的处理时,可以将一个或多于一个非暂时性计算机可读介质(例如,硬盘驱动器、闪速存储器、可移除介质等)上所存储的一组可执行程序指令加载到服务器或其他计算装置的存储器(例如,ram)中。然后,这些可执行指令可由计算装置的基于硬件的计算机
处理器执行。在一些实施例中,这样的处理或其一部分可以在多个计算装置和/或多个处理器上串行地或并行地实现。
[0243]
根据本实施例,本文所述的任何处理或算法的某些动作、事件或功能可以以不同的序列进行,可以被相加、合并或完全省略(例如,并非所有所描述的操作或事件对于算法的实践都是必需的)。此外,在某些实施例中,操作或事件可以例如通过多线程处理、中断处理、或者多个处理器或处理器核或者在其他并行架构上同时进行,而不是顺次进行。
[0244]
结合本文公开的实施例所描述的各种例示性逻辑块、模块、例程和算法步骤可被实现为电子硬件(例如,asic或fpga装置)、在计算机硬件上运行的计算机软件、或者这两者的组合。此外,结合本文公开的实施例所描述的各种例示性逻辑块和模块可以通过以下来实现或进行:机器,诸如处理器装置、数字信号处理器(“dsp”)、专用集成电路(“asic”)、现场可编程门阵列(“fpga”)或其他可编程逻辑装置;分立栅极(discrete gate)或晶体管逻辑;分立硬件组件;或者它们的被设计为进行本文所述的功能的任何组合。处理器装置可以是微处理器,但在替代方案中,处理器装置可以是控制器、微控制器、或状态机、或者它们的组合等。处理器装置可以包括被配置为处理计算机可执行指令的电路。在另一实施例中,处理器装置包括在无需处理计算机可执行指令的情况下进行逻辑操作的fpga或其他可编程装置。处理器装置还可被实现为计算装置的组合(例如,dsp和微处理器的组合)、多个微处理器、与dsp核结合的一个或多于一个微处理器、或任何其他这这样的配置。尽管本文主要关于数字技术进行说明,但处理器装置也可主要包括模拟组件。例如,本文所述的渲染技术的一部分或全部可以在模拟电路或者混合模拟和数字电路中实现。计算环境可以包括任何类型的计算机系统,其包括但不限于基于微处理器的计算机系统、大型计算机、数字信号处理器、便携式计算装置、装置控制器、或器具内的计算引擎(仅举几个例子)。
[0245]
结合本文公开的实施例所描述的方法、处理、例程或算法的要素可以直接以硬件、由处理器装置执行的软件模块、或这两者的组合来体现。软件模块可以驻留在ram存储器、闪速存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移除盘、cd-rom、或任何其他形式的非暂时性计算机可读存储介质中。示例性存储介质可以耦接到处理器装置,使得处理器装置可以从存储介质读取信息并将信息写入存储介质。在替代方案中,存储介质与处理器装置可以是一体的。处理器装置和存储介质可以驻留在asic中。asic可以驻留在用户终端中。在替代方案中,处理器装置和存储介质可以作为分立组件驻留在用户终端中。
[0246]
在先前描述中,已经参考许多具体细节描述了本公开的方面和实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本技术发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。

技术特征:
1.一种方法,包括:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于评估所述多个模拟轨迹,选择与所述多个模拟状态中的模拟状态相对应的动作;以及使得所述运载工具执行所述动作。2.根据权利要求1所述的方法,其中,基于所述场景数据来确定所述运载工具的多个可用动作包括:识别物理上可行的动作的列表,并且使用神经网络筛选出不满足舒适阈值或安全阈值的动作。3.根据权利要求1或2所述的方法,还包括:基于评估所述多个模拟轨迹来向所述多个模拟状态指派得分,其中,基于评估所述多个模拟轨迹来选择动作包括:基于所述多个模拟状态的所指派的得分来选择动作。4.根据权利要求1至3中任一项所述的方法,还包括:至少部分地基于所述场景数据来确定场景状态,其中确定所述多个可用动作是至少部分地基于所述场景状态。5.根据权利要求1至4中任一项所述的方法,其中,获得所述场景数据包括接收以下项中的至少一个:与同所述场景相对应的地图相关联的地图数据、与所述运载工具的路线相关联的路线数据、与所述场景中所识别出的至少一个对象相关联的对象数据、以及与所述运载工具的地点相关联的地点数据。6.根据权利要求1至5中任一项所述的方法,还包括:识别所述场景中的至少一个对象并且生成所述至少一个对象的预测轨迹,其中所述多个模拟轨迹中的至少一个模拟轨迹是基于所述至少一个对象的预测轨迹生成的。7.根据权利要求1至6中任一项所述的方法,其中,所述特定模拟轨迹还包括所述运载工具的多个连续动作的模拟。8.根据权利要求1至7中任一项所述的方法,其中,所述多个可用动作包括加速、修改航向、减速和维持速度中的至少一个。9.根据权利要求1至8中任一项所述的方法,其中,评估所述多个模拟轨迹包括:确定所述多个模拟轨迹中的各模拟轨迹的轨迹得分。10.根据权利要求1至9中任一项所述的方法,其中,评估所述多个模拟轨迹包括通过以下操作来评估特定模拟轨迹:从所述特定模拟轨迹提取多个特征;以及至少部分地基于所述多个特征来确定所述特定模拟轨迹的得分。11.根据权利要求1至9中任一项所述的方法,其中,评估所述多个模拟轨迹包括通过以
下操作来评估特定模拟轨迹:从所述特定模拟轨迹提取多个特征;确定所述多个特征中的各特征的特征得分;对多个特征得分中的各特征得分进行加权;以及将加权后的多个特征得分组合以确定所述特定模拟轨迹的轨迹得分。12.根据权利要求1至11中任一项所述的方法,其中,选择所述动作包括:基于与所述动作相关联以及/或者与同所述动作相关联的模拟状态相关联的安全级别或舒适级别来选择动作。13.根据权利要求1至12中任一项所述的方法,其中,所述场景数据包括照相机数据、lidar数据和雷达数据中的至少一个。14.根据权利要求1、2、4至13中任一项所述的方法,其中,多个动作是多个第一动作,所述多个模拟状态是多个第一模拟状态,所述方法还包括:基于评估所述多个模拟轨迹来对所述多个模拟状态进行评分;基于所述评分来选择所述特定模拟状态;基于所述特定模拟状态来确定所述运载工具的多个第二动作;基于所述多个第二动作来确定多个第二模拟状态,其中所述多个第二模拟状态中的特定第二模拟状态与所述多个第二动作中的特定第二动作相对应;基于所述多个第二模拟状态来生成多个第二模拟轨迹,其中所述多个第二模拟轨迹中的特定第二模拟轨迹开始于所述特定第二模拟状态,其中所述特定第二模拟轨迹包括所述运载工具的场景中的所述多个对象中的至少两个对象所采取的并发动作的第二模拟;评估所述多个第二模拟轨迹;基于评估所述多个模拟轨迹来对所述多个第二模拟状态进行评分;以及基于对所述多个第二模拟状态进行评分来更新所述特定模拟状态的得分,其中,基于评估所述多个模拟轨迹来选择动作包括:基于更新所述特定模拟状态的得分来选择动作。15.一种系统,包括:数据存储器,用于存储计算机可执行指令;以及处理器,其被配置为执行所述计算机可执行指令,其中所述计算机可执行指令的执行使得所述系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于所述多个模拟轨迹的评估,选择与所述多个模拟状态中的模拟状态相对应的动作;以及
使得所述运载工具执行所述动作。16.根据权利要求15所述的系统,其中,所述计算机可执行指令的执行使得所述系统进行以下操作:基于所述多个模拟轨迹的评估来向所述多个模拟状态指派得分,其中,为了基于所述多个模拟轨迹的评估来选择动作,所述计算机可执行指令的执行使得所述系统基于指派给所述多个模拟状态的得分来选择动作。17.根据权利要求15所述的系统,其中,多个动作是多个第一动作,所述多个模拟状态是多个第一模拟状态,以及其中,所述计算机可执行指令的执行使得所述系统进行以下操作:基于所述多个模拟轨迹的评估来对所述多个模拟状态进行评分;基于所述特定模拟状态的得分来选择所述特定模拟状态;基于所述特定模拟状态来确定所述运载工具的多个第二可用动作;基于所述多个第二可用动作来确定多个第二模拟状态,其中所述多个第二模拟状态中的特定第二模拟状态与所述多个第二可用动作中的特定第二动作相对应;基于所述多个第二模拟状态来生成多个第二模拟轨迹,其中所述多个第二模拟轨迹中的特定第二模拟轨迹开始于所述特定第二模拟状态,其中所述特定第二模拟轨迹包括所述运载工具的场景中的所述多个对象中的至少两个对象所采取的并发动作的第二模拟;评估所述多个第二模拟轨迹;基于所述多个模拟轨迹的评估来对所述多个第二模拟状态进行评分;以及基于所述多个第二模拟状态的评分来更新所述特定模拟状态的得分,其中,为了基于多个第一模拟轨迹的评估来选择动作,所述计算机可执行指令的执行使得所述系统基于所述特定模拟状态的更新后的得分来选择动作。18.一个或多于一个非暂时性计算机可读介质,其包括计算机可执行指令,所述计算机可执行指令在由计算系统执行时,使得所述计算系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来确定所述运载工具的多个可用动作;基于所述多个可用动作来确定多个模拟状态,其中所述多个模拟状态中的特定模拟状态与所述多个可用动作中的特定动作相对应;基于所述多个模拟状态来生成多个模拟轨迹,其中特定模拟轨迹开始于所述特定模拟状态,其中所述多个模拟轨迹中的所述特定模拟轨迹包括所述运载工具的场景中的多个对象所采取的并发动作的模拟;评估所述多个模拟轨迹;基于所述多个模拟轨迹的评估,选择与所述多个模拟状态中的模拟状态相对应的动作;以及使得所述运载工具执行所述动作。19.根据权利要求18所述的一个或多于一个非暂时性计算机可读介质,其中,所述计算机可执行指令的执行使得所述计算系统进行以下操作:基于所述多个模拟轨迹的评估来向所述多个模拟状态指派得分,其中,为了基于所述多个模拟轨迹的评估来选择动作,所述计算机可执行指令的执行
使得所述计算系统基于指派给所述多个模拟状态的得分来选择动作。20.根据权利要求18所述的一个或多于一个非暂时性计算机可读介质,其中,多个动作是多个第一动作,所述多个模拟状态是多个第一模拟状态,以及其中,所述计算机可执行指令的执行使得所述计算系统进行以下操作:基于所述多个模拟轨迹的评估来对所述多个模拟状态进行评分;基于所述特定模拟状态的得分来选择所述特定模拟状态;基于所述特定模拟状态来确定所述运载工具的多个第二可用动作;基于所述多个第二可用动作来确定多个第二模拟状态,其中所述多个第二模拟状态中的特定第二模拟状态与所述多个第二可用动作中的特定第二动作相对应;基于所述多个第二模拟状态来生成多个第二模拟轨迹,其中所述多个第二模拟轨迹中的特定第二模拟轨迹开始于所述特定第二模拟状态,其中所述特定第二模拟轨迹包括所述运载工具的场景中的所述多个对象中的至少两个对象所采取的并发动作的第二模拟;评估所述多个第二模拟轨迹;基于所述多个模拟轨迹的评估来对所述多个第二模拟状态进行评分;以及基于所述多个第二模拟状态的评分来更新所述特定模拟状态的得分,其中,为了基于多个第一模拟轨迹的评估来选择动作,所述计算机可执行指令的执行使得所述计算系统基于所述特定模拟状态的更新后的得分来选择动作。

技术总结
本发明涉及基于模拟状态的运载工具动作选择。场景模拟系统可以使用运载工具的场景的场景数据来生成一个或多于一个模拟状态以及与一个或多于一个模拟状态相关联的一个或多于一个模拟轨迹。该系统可以对模拟轨迹进行评估,并且基于模拟轨迹的评估来选择运载工具的动作。动作。动作。


技术研发人员:C
受保护的技术使用者:动态AD有限责任公司
技术研发日:2023.04.06
技术公布日:2023/10/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐