掌桥专利:专业的专利平台
掌桥专利
首页

用于运载工具的方法、运载工具和存储介质

文献发布时间:2023-06-19 16:11:11



技术领域

以下描述涉及用于自主运载工具的路线规划器。

背景技术

自主运载工具在其软件栈中使用路线规划器来在各种场景下生成自主运载工具的候选轨迹。规划器使用传感器数据和运载工具的物理状态(例如,位置、速率、航向)来生成运载工具的用以避免与自主运载工具附近的智能体(例如,其它运载工具、行人)碰撞的可能轨迹。当确定运载工具对于给定场景应该采取哪个候选轨迹时,规划器通常考虑交通法律的违反以及可能的其它驾驶规则(例如,安全性、伦理、当地文化、乘客舒适性、礼貌、性能等)。因此,期望在现实世界中可能发生的各种场景下评估所规划轨迹。

发明内容

提供基于采样的机动动作实现器的技术。

在实施例中,一种方法,包括:使用至少一个处理器获得运载工具的机动动作描述,所述机动动作描述描述了对所述运载工具的动态站-时间约束和动态站-空间-时间约束的联合,其中,所述动态站-时间约束在时间上被参数化,并且所述动态站-空间-时间约束在站和时间上被参数化;使用所述至少一个处理器对所述动态站-时间约束和所述动态站-空间-时间约束进行采样;使用所述至少一个处理器使用所采样的动态站-时间约束、所采样的动态站-空间-时间约束和运动模型的成本函数来求解优化问题;以及使用所述至少一个处理器基于所求解出的优化问题生成轨迹,其中,所述轨迹满足所述机动动作描述所施加的所述动态站-时间约束和所述动态站-空间-时间约束。

在实施例中,所述动态站-空间-时间约束明确地包含偏置决策。

在实施例中,所述运动模型是运动学自行车模型。

在实施例中,所述求解是连续且迭代的。

在实施例中,在优化的轨迹满足未采样的所述动态站-时间约束和所述站-空间-时间约束的情况下,连续且迭代的所述求解收敛。

在实施例中,所述轨迹使施加于所述运载工具的舒适性约束最大化。

在实施例中,所述方法还包括:使用所述至少一个处理器求解纵向速率优化问题,以确定在何处开始对所述动态站-时间约束和所述动态站-空间- 时间约束进行采样。

在实施例中,所述纵向速率优化问题包括静态速率分布约束和机动动作站-时间约束。

在实施例中,所述静态速率分布约束通过考虑路径曲率来限制所述运载工具的最大横向加速度。

在实施例中,对所述纵向速率优化问题的所述求解提供用于求解所述优化问题的加速度和速度的初始猜测。

在实施例中,所述方法还包括:使用控制电路基于所述轨迹发起所述运载工具的机动动作。

在实施例中,一种非暂时性计算机可读存储介质,其存储有指令,所述指令在由至少一个处理器执行的情况下使所述至少一个处理器进行上述的方法。

在实施例中,一种运载工具,包括:至少一个处理器;非暂时性计算机可读存储介质,其存储有指令,所述指令在由所述至少一个处理器执行的情况下使所述至少一个处理器进行根据上述的方法。

所公开的实施例中的一个或多个提供以下优点中的一个或多个。基于采样的机动动作实现器生成满足由同伦施加的动态站-时间和站-空间-时间约束并且同时最大化乘客舒适性的轨迹。通过使用关于动态站-时间和站-空间- 时间约束、运动模型以及乘客舒适性约束的成本函数求解优化问题来生成轨迹。即使智能体超出预测范围,也在动态站-空间-时间约束下执行偏置决策。站-时间约束由时间参数化,对于该时间,可以使用连续且迭代优化的相应时间步长而没有任何信息损失,即没有近似。对于适当提出的问题,优化的单次迭代可能足以生成满足由同伦施加的动态站-时间和站-空间-时间约束以及乘客舒适性约束的轨迹。

将站和空间约束施加在彼此之上得到可以沿着定义的时间范围连续采样的充分机动动作描述,这极大地简化了规划系统的架构。不需要进一步的决策,并且接近度约束直接表示为可以用于优化的连续函数。

这些和其它方面、特征和实现可以被表达为用于进行功能的方法、设备、系统、组件、程序产品、部件或步骤,以及其它方式。根据包括权利要求的以下描述,这些和其它方面、特征和实现将变得明显。

附图说明

图1示出根据一个或多个实施例的具有自主能力的自主运载工具(AV)的示例。

图2示出根据一个或多个实施例的示例“云”计算环境。

图3示出根据一个或多个实施例的计算机系统。

图4示出根据一个或多个实施例的AV的示例架构。

图5是根据一个或多个实施例的路线规划系统的框图。

图6示出根据一个或多个实施例的运载工具由于其路径中的障碍物而必须改变车道的驾驶场景的示例同伦。

图7A和7B分别示出根据一个或多个实施例的机动动作描述和空间约束。

图8示出根据一个或多个实施例的用于碰撞避免机动动作的示例模型预测控制器(MPC)类制定。

图9示出根据一个或多个实施例的对站-时间约束进行采样。

图10示出根据一个或多个实施例的对空间-站-时间约束进行采样。

图11示出根据一个或多个实施例的示例纵向实现。

图12A是根据一个或多个实施例的涉及两个智能体的示例驾驶场景的示例机动动作描述。

图12B示出根据一个或多个实施例的示例驾驶场景的加速度和速度分布。

图12C是根据一个或多个实施例的示例驾驶场景的鸟瞰视图(BEV)。

图13是根据一个或多个实施例的用于对动态站-时间和站-空间-时间约束进行采样的处理的流程图。

具体实施方式

在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。

在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。

此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。

现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。

下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到完全解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:

1.总体概述

2.系统概述

3.自主运载工具架构

4.基于样本的机动动作实现器

总体概述

提供了用于基于采样的机动动作实现器的技术。如图5所示,基于采样的机动动作实现器可以是自主运载工具的路线规划系统架构的一部分。给定机动动作描述,机动动作实现器基于AV的能力和AV运动约束实时计算AV的一个或多个实现(例如,在下文中也称为“轨迹”)。实现器的输出是连续轨迹,其表示AV在不久的将来(例如,接下来的10ms)将如何移动。在实施例中,机动动作被描述为站-时间(例如,可驾驶区域)和站-空间-时间约束(例如,纵向和横向间隙)的联合。

给定运动模型(例如,运动学自行车模型)、动态站-时间约束和站-空间- 时间约束以及目标函数,实现器迭代且连续地求解关于运动模型和约束的初始化相关优化问题。由于优化在时间上直接离散化,因此优化允许在不丢失信息(即没有近似)的情况下对站-时间约束进行采样。

在实施例中,站-空间-时间约束由两个变量参数化:沿着基线轨迹的站和时间。由于在优化的第一次迭代中,不知道在哪里采样站点,因此首先求解快速的与初始无关的点质纵向速率优化问题,其包括乘客舒适性的分布约束和同伦站-时间约束(下文中也称为“初始优化”)。除了采样近似之外,还计算优化求解器的初始猜测。

在初始优化之后,使用来自初始优化的初始猜测来求解迭代优化,并且迭代优化包括站约束、空间约束、运动模型和舒适性目标(例如,加速/减速和速率最大值)。在实施例中,当所得到的轨迹满足所有指定约束(没有进行采样)时,迭代优化收敛。由于初始优化,优化的单次迭代可能足以生成满足由机动动作描述施加的约束和针对适定问题的舒适性约束的轨迹。

使用前述优化,计算满足AV的动态和物理约束的多个AV轨迹。可以将轨迹提供给轨迹分数生成器,该轨迹分数生成器使用一个或多个规则书、一个或多个机器学习模型以及/或者一个或多个安全机动动作模型来评估(例如,评分)轨迹,然后使用评估的结果来选择最符合一个或多个规则书中的规则的轨迹。

所选择的轨迹在时间上被参数化并输入到跟踪控制器中,该跟踪控制器实现MPC类制定,该制定具有对控制输入和状态的约束,这允许跟踪控制器查询AV在给定时间的精确期望位置。

系统概述

图1示出具有自主能力的自主运载工具100的示例。

如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。

如本文所使用的,自主运载工具(AV)是一种具有自主能力的运载工具。

如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船、摩托车、自行车等。无人驾驶的小汽车是运载工具的示例。

如本文所使用的,“轨迹”是指将AV从第一时空地点运行到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,并且各路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。

如本文所使用的,“实现”是指由本文描述的基于样本的机动动作实现器生成的轨迹。

“机动动作”是AV的位置、速率或转向角(航向)的改变。Al机动动作是轨迹,但不是所有轨迹都是机动动作。例如,其中AV以恒定速度在直线路径上行驶的AV轨迹不是机动动作。

如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,RAM 和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。

如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。

如本文所使用的,“车道”是道路的可被运载工具穿越的部分并且可以对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能容纳两个或两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木)来定义车道。

如本文所使用的,“规则书”是对基于相对重要性布置的规则集实现优先级结构的数据结构,其中对于优先级结构中的任何特定规则,在结构中具有比优先级结构中的特定规则低的优先级的一个或多个规则具有比特定规则低的重要性。可能的优先级结构包括但不限于:分层结构(例如,关于规则的的总顺序或部分顺序)、非分层结构(例如,关于规则的加权系统)或混合优先级结构,在混合优先级结构中,规则的子集是分层的,但各个子集内的规则是非分层的。规则可以包括交通法规、安全性规则、伦理规则、当地文化规则、乘客舒适性规则以及可以用于评估由任何来源(例如,人类、文本、规程、网站)提供的运载工具的轨迹的任何其它规则。

如本文所使用的,“运载工具自身”或“自身”是指具有用于感测虚拟环境的虚拟传感器的虚拟运载工具或AV,该虚拟环境被例如规划器用来规划虚拟AV在虚拟环境中的路线。

“一个或多个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任何组合。

还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。

在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。

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

如本文所使用的,AV系统是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV系统并入在AV内。在实施例中,AV系统跨若干地点分布。例如,AV系统的一些软件是在类似于下面关于图3描述的云计算环境300的云计算环境中实现的。

一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全自主运载工具、高度自主运载工具和有条件自主运载工具,诸如分别为所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。本文件所描述的技术也适用于部分自主运载工具和驾驶员辅助运载工具,诸如所谓的第 2级和第1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义)。在实施例中,一个或多个第1级、第2级、第3级、第 4级和第5级运载工具系统可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全自主运载工具到人类操作的运载工具范围内的任何级别的运载工具受益。

参考图1,AV系统120使AV 100沿着轨迹198操作,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。

在实施例中,AV系统120包括用于从计算机处理器146接收操作命令并对其进行操作的装置101。在实施例中,计算处理器146与下面参考图3描述的处理器304相似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。

在实施例中,AV系统120包括用于测量或推断AV 100的状态或条件的属性的传感器121,这些属性诸如是AV的位置、线速度和加速度、角速度和加速度、以及航向(例如,AV100的前端的方向)。传感器121的示例是全球导航卫星系统(GNSS)接收器、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速率传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。

在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122, LiDAR 123,RADAR,超声波传感器,飞行时间(TOF)深度传感器,速率传感器,温度传感器,湿度传感器和降水传感器。

在实施例中,AV系统120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与以下关于图3描述的ROM 308或存储装置310类似。在实施例中,存储器144与下面描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程数据库134通过通信信道传输到AV 100。

在实施例中,AV系统120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到AV 100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140 跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。

在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、 Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV系统120。在实施例中,远程数据库134嵌入在如图2中所描述的云计算环境200中。通信接口140将从传感器121收集的数据或与AV 100操作有关的其它数据传输到远程数据库134。在实施例中,通信接口140向AV 100传输与遥操作有关的信息。在一些实施例中,AV 100与其它远程(例如,“云”)服务器136通信。

在实施例中,远程数据库134还存储和传输数字数据(例如,存储诸如道路和街道地点的数据)。这些数据存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV 100。

在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速率分布)。在一个实现中,这种数据可以存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV100。

位于AV 100上的计算装置146基于实时传感器数据和先验信息两者以算法方式生成控制动作,允许AV系统120执行其自主驾驶能力。

在实施例中,AV系统120包括耦接到计算装置146的计算机外围设备132,用于向AV100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,外围设备132类似于下面参考图3讨论的显示器312、输入装置314和光标控制器316。耦接是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。

示例云计算环境

图2例示示例“云”计算环境。云计算是一种服务交付模式,用于使得能够方便、按需地在网络上访问可配置计算资源(例如网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)的共享池。在典型的云计算系统中,一个或多个大型云数据中心容纳用于交付云所提供的服务的机器。现在参考图2,云计算环境200包括通过云202互连的云数据中心204a、 204b和204c。数据中心204a、204b和204c为连接到云202的计算机系统206a、206b、206c、206d、206e和206f提供云计算服务。

云计算环境200包括一个或多个云数据中心。一般而言,云数据中心(例如图2中所示的云数据中心204a)是指构成云(例如图2中所示的云202或云的特定部分)的服务器的物理排列。例如,服务器在云数据中心中物理排列成房间、组、行和机架。云数据中心有一个或多个区域,其中包括一个或多个服务器房间。每个房间有一行或多行服务器,并且每行包括一个或多个机架。每个机架包括一个或多个单独的服务器节点。在一些实现中,区域、房间、机架和/或行中的服务器基于数据中心设施的物理基础设施要求(包括电力、能源、热力、热源和/或其它要求)被排列成若干组。在实施例中,服务器节点类似于图3中描述的计算机系统。数据中心204a具有许多分布在多个机架上的计算系统。

云202包括云数据中心204a、204b和204c以及用于连接云数据中心204a、 204b和204c并有助于促进计算系统206a-f对云计算服务的访问的网络和网络资源(例如,网络设备、节点、路由器、交换机和网络电缆)。在实施例中,该网络表示一个或多个本地网络、广域网或通过使用地面或卫星连接部署的有线或无线链路耦接的网际网络的任意组合。通过网络交换的数据使用多种网络层协议(诸如,因特网协议(IP)、多协议标签交换(MPLS)、异步传输模式 (ATM)、帧中继(Frame Relay)等)进行传输。此外,在网络表示多个子网络的组合的实施例中,在每个底层子网络上使用不同的网络层协议。在一些实施例中,网络表示一个或多个互连网际网络(诸如公共因特网等)。

计算系统206a-f或云计算服务消费者通过网络链路和网络适配器连接到云202。在实施例中,计算系统206a-f被实现为各种计算装置,例如服务器、台式机、膝上型计算机、平板电脑、智能手机、物联网(IoT)装置、自主运载工具(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。在实施例中,计算系统206a-f在其它系统中实现或作为其它系统的一部分实现。

计算机系统

图3例示计算机系统300。在实现中,计算机系统300是一种专用计算装置。专用计算装置被硬连线以执行这些技术,或包括诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的被持久编程为执行上述技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成这些技术。在各种实施例中,专用计算装置是台式计算机系统、便携式计算机系统、手持装置、网络装置或包含硬线和/或程序逻辑以实现这些技术的任何其它装置。

在实施例中,计算机系统300包括总线302或用于传达信息的其它通信机制、以及与总线302耦接以处理信息的硬件处理器304。硬件处理器304是例如通用微处理器。计算机系统300还包括主存储器306,诸如随机存取存储器 (RAM)或其它动态存储装置,该主存储器306耦接到总线302以存储信息和指令,该信息和指令由处理器304执行。在一个实现中,主存储器306用于在执行要由处理器304执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器304可访问的非暂时性存储介质中时,使计算机系统300变成一个专用机器,该机器被定制以执行指令中指定的操作。

在实施例中,计算机系统300还包括只读存储器(ROM)308或耦接到总线302的其它静态存储装置,用于存储处理器304的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器的存储装置310,并且该存储装置310耦接到总线302以存储信息和指令。

在实施例中,计算机系统300通过总线302耦接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器的显示器312。包括字母数字键和其它键的输入装置314耦接到总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入装置是光标控制器316,诸如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器304,并用于控制光标在显示器312上的移动。这种输入装置通常具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面上的位置。

根据一个实施例,本文的技术由计算机系统300响应于处理器304执行主存储器306中包含的一个或多个指令的一个或多个序列而执行。这些指令从诸如存储装置310的另一存储介质读入主存储器306。执行主存储器306中包含的指令序列使处理器304执行本文所描述的过程步骤。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。

如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置310的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、 NV-RAM、或任何其它存储芯片或存储盒。

存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线302的电线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信过程中产生的声波或光波。

在实施例中,各种形式的介质涉及将一个或多个指令的一个或多个序列承载到处理器304以供执行。例如,这些指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机系统300的本地调制解调器接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将数据放置在总线302上。总线 302将数据承载到主存储器306,处理器304从主存储器306检索并执行指令。主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储装置310上。

计算机系统300还包括耦接到总线302的通信接口318。通信接口318提供耦接到连接至本地网络322的网络链路320的双向数据通信。例如,通信接口 318是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口318是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口318发送和接收承载表示各种类型的信息的数字数据流的电、电磁或光信号。

网络链路320通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路320通过本地网络322提供与主计算机324或与由因特网服务提供商(ISP)326运营的云数据中心或设备的连接。ISP 326又通过现在通常称为“因特网”328的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中这些信号承载了进出计算机系统300的数字数据。在实施例中,网络320包含上述云202或云202的一部分。

计算机系统300通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机系统300接收用于处理的代码。接收到的代码在接收到时由处理器304执行,和/或存储在存储装置310中,或存储在其它非易失性存储装置中以便以后执行。

自主运载工具架构

图4示出用于自主运载工具(例如,图1所示的AV 100)的示例架构400。架构400包括感知模块402(有时称为感知电路)、规划模块404(有时称为规划电路)、控制模块406(有时称为控制电路)、定位模块408(有时称为定位电路) 和数据库模块410(有时称为数据库电路)。各模块在AV 100的操作中发挥作用。共同地,模块402、404、406、408和410可以是图1所示的AV系统120的一部分。在一些实施例中,模块402、404、406、408和410中的任何模块是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路[ASIC]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。

在使用中,规划模块404接收表示目的地412的数据,并且确定表示AV 100为了到达(例如,抵达)目的地412而可以行驶的轨迹414(有时称为路线) 的数据。为了使规划模块404确定表示轨迹414的数据,规划模块404从感知模块402、定位模块408和数据库模块410接收数据。

感知模块402使用例如也如图1所示的一个或多个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象416的场景描述提供至规划模块404。

规划模块404还从定位模块408接收表示AV位置418的数据。定位模块408通过使用来自传感器121的数据和来自数据库模块410的数据(例如,地理数据)以计算位置来确定AV位置。例如,定位模块408使用来自GNSS接收器的数据和地理数据来计算AV的经度和纬度。在实施例中,定位模块408所使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。

控制模块406接收表示轨迹414的数据和表示AV位置418的数据,并且以将使得AV100行驶轨迹414到达目的地412的方式来操作AV的控制功能 420a~420c(例如,转向、油门、制动、点火)。例如,如果轨迹414包括左转,则控制模块406将以如下方式操作控制功能420a~420c:转向功能的转向角度将使得AV 100左转,并且油门和制动将使得AV 100在进行转弯之前暂停并等待经过的行人或运载工具。

在实施例中,前述模块402、404、406、408中的任一个可向基于规则的轨迹验证系统500发送请求以验证所规划轨迹并且接收轨迹的分数,如参考图5至8更详细地描述的。

基于样本的机动动作实现器

图5是根据一个或多个实施例的规划系统500的框图。系统500包括路线规划器501、逻辑约束生成器502、同伦提取器503、基于样本的机动动作实现器504、轨迹分数生成器505、跟踪控制器506和AV 507。

在实施例中,路线规划器501:1)接收AV 507的初始和最终状态;2)利用车道路线器形成车道的道路数据(路障)的几何块的期望序列;3)基于车道改变将路线分成路段,使得段不包含车道改变;4)基于投影在路障的AV的物理状态(从动态世界模型508获得)选择AV 507所在的路段;5)提取所选择的路段的锚路径(其可以标记为在期望车道改变的情况下的“期望的”锚);以及6) 基于最大/最小长度修整锚路径。在不需要车道改变的情况下,提取相邻锚路径并仅标记为“可选的”,这意味着AV 507可以使用该车道(如果需要)以避免碰撞。

在实施例中,路线规划器501生成AV 507的操作环境的图形表示、基于传感器数据的AV 507的物理状态(例如,速率、位置)以及可能的结果。在实施例中,图形表示是包括多个节点的决策图,其中各个节点表示AV 507对于特定驾驶场景的决策空间的样本,例如,与其它运载工具和对象以及环境约束(例如,可驾驶区域、车道标记)相关的多个机动动作。决策图的边缘表示 AV 507对于特定驾驶场景可用的不同轨迹。

在实施例中,逻辑约束生成器502包括生成“硬”约束和“软”约束其中至少之一。硬约束是必须不被违反的逻辑约束,因为如果被违反,AV将与其它对象(诸如可能“乱穿”道路的行人等)碰撞。注意,硬约束并不意味着“不碰撞”。而是,硬约束可以是例如可能导致碰撞的空间和速率约束的组合。例如,硬约束可以用词语表示为:“如果AV在车道A中以30mph前进或者在车道B中以2mph/s加速,则将与行人碰撞。”因此,正式表示的硬约束是“在车道A中不以30mph前进”和“在车道A中不超过25mph”。

软约束是AV应该遵循但是可以被违反以例如完成到目的地的行程或避免碰撞的约束。“软”约束的一些示例包括但不限于:乘客舒适性约束和与正在穿过街道(乱穿)的行人的横向间隙的最小阈值,其用以在AV的机动动作的情况下确保该行人和AV乘客的舒适性。在实施例中,软约束可以体现在一个或多个分层或非分层规则书中。软约束可以包括随时间改变的空间约束 (例如,随着交通的进行而开放的车道)。空间约束可以是可驾驶区域。

在一些实施例中,不同的约束被不同地采样。例如,同伦提取器503可以以10Hz操作,并且实现搜索可以以20Hz两倍快地进行。

在实施例中,同伦提取器503生成AV的潜在机动动作集合。代替假设目标然后选择导致成本最低的目标,同伦提取器503假设活动约束集合(称为“同伦”(下面定义)),然后选择导致成本较低的约束集合。同伦提取器503 从路线规划器501接收包含“锚路径”的路线规划。“锚路径”是AV所位于的车道的最佳估计,并且是AV在进行车道改变时可使用的可选路径(潜在期望的路径)。在实施例中,路线规划还包含沿着锚路径计算(例如,用边界生成器计算)的速率平方和空间约束。

给定AV 507的初始状态、在锚路径上的AV 507的最终状态、场景中的其它智能体的地图表示和预测,同伦提取器503找到AV可以进行的所有“近似”可行机动动作。注意,在该上下文中,所得到的机动动作可能不是动态可行的,但是同伦提取器503保证所得到的描述机动动作的约束集合不是空集(还考虑AV足迹)。AV机动动作由同伦描述,同伦是以初始AV状态开始并且以最终AV状态结束的任何路径可以连续变形的唯一空间。为了找到这些机动动作,同伦提取器503在AV可以相对于其它智能体采取的所有可能的决策(例如,在左侧/右侧通过、在之前或之后通过或仅在之后通过)上迭代。简而言之,同伦提取器503的输出描述AV到智能体的时空地点。尽管这可能是计算上昂贵的搜索,但是由于一组简单的检查,可以消除所有不可行的组合。在2021 年12月7日提交的标题为“Homotopic-Based Plannerfor Autonomous Vehicles”的共同未决申请(代理案卷号46154-0261001)(其全部内容通过引用并入本文) 中进一步详细描述同伦提取器503。

为了能够描述表示其它智能体位于何处以及AV与这些智能体的碰撞意味着什么的约束,每个智能体被转换为站-时间障碍或站-空间-时间障碍,如参考图7A和7B所描述的。站-时间约束是随时间被参数化的约束,而站-空间 -时间约束是随站和时间这两者被参数化的约束。

在实施例中,实现搜索504a…504n由基于样本的机动动作实现器504进行,以生成同伦提取器503所提供的所有提取的同伦的轨迹1…N的集合。基于样本的机动动作实现器504找到满足由同伦施加的约束并且同时使乘客舒适性最大化的实现(在本文中也称为轨迹)。给定单个同伦,基于样本的机动动作实现器504在该同伦内动态生成可行轨迹实现。参考图6至13进一步详细描述基于样本的机动动作实现器504。用于生成机动动作和/或轨迹的示例技术还在2021年12月7日提交的标题为“Vehicle Operation Using ManuverGeneration”的共同未决申请(代理案卷号46154-0316001)中进一步详细描述,其全部内容通过引用并入本文。

在实施例中,轨迹分数生成器505使用一个或多个规则书、一个或多个机器学习模型509以及/或者一个或多个安全机动动作模型510来对轨迹1…N 进行评分,并且使用分数来选择最符合一个或多个规则书中的规则的轨迹。

在实施例中,使用预定义成本函数来生成轨迹分数。例如,可以使用全序或偏序分层成本函数来对轨迹进行评分。基于优先级或相对重要性将成本函数应用于与违反和/或满足一个或多个规则书中的规则层级相关联的度量 (例如,布尔值)。基于优先级的规则的示例层级如下(从上到下):碰撞避免(布尔)、阻塞(布尔)、期望车道中的最终状态(布尔)、车道改变(布尔)和乘客舒适性(双浮点)。在该示例中,每个非零优先级规则被定义为布尔,以避免高优先级成本的过度优化。最重要或最高优先级的规则是避免碰撞,随后是避免阻塞,随后是避免期望车道中的最终状态,随后是车道改变,随后是舒适性规则(例如,最大加速度/减速度)。这些示例规则更充分地描述如下:

碰撞:如果沿着评分轨迹存在AV运载工具的足迹与任何其它智能体的足迹碰撞(例如,如果它们的多边形相交,则它们被认为碰撞)的状态,则设置为真。

阻塞:如果最终同伦不包含期望的目标状态并且轨迹的最终速度低于指定阈值(例如,2m/s),则认为轨迹被阻塞。

期望车道中的最终状态:如果在期望车道改变的车道中找到轨迹的最终状态,则设置为真,并且如果AV 507的足迹在评分的轨迹期间的任何时间穿过车道分隔物,则设置为真。

舒适性:可以考虑加速度/减速度、制动距离、纵向和横向间隙的最大值。

对于各个轨迹,检查规则并确定度量。使用度量来制定成本函数,然后使用例如最小二乘制定或任何其它合适的求解器来最小化成本函数。具有最低成本的轨迹是所选择的轨迹,即,具有最少规则违反或最符合的轨迹。注意,上述规则仅仅是示例。本领域普通技术人员将认识到,任何合适的成本函数和规则书可以用于轨迹评分,包括具有更多或更少规则的规则书。

跟踪控制器506用于改善系统500针对计算需求中的意外尖峰的鲁棒性。跟踪控制器506是提供稳定且平滑的控制输入并允许系统500更快地对干扰作出反应的快速执行。在实施例中,跟踪控制器506以40Hz运行。到跟踪控制器506的输入是由轨迹分数生成器505提供的已按时间参数化的所选择的轨迹,使得跟踪控制器506可以查询AV在给定时间的精确期望位置。

在实施例中,跟踪控制器506被制定为具有对控制输入和状态的约束并且具有与常规连续MPC的一些差异的MPC类问题。然而,也可以使用任何合适的多变量控制算法。MPC类制定使用运动模型、预定范围上的成本函数J 以及用于使用控制输入u来最小化成本函数J的优化算法。用于优化的示例成本函数是二次成本函数。

在实施例中,动态模型是笛卡尔坐标或任何其它合适的参考坐标系中的运动学运载工具模型。例如,如参考图8更充分描述的,运动学运载工具模型可以是自行车模型,其允许在几何上定义侧滑角,以根据相对于AV的重心表示的变量来表示横摆率。在实施例中,成本函数J遵循轮廓误差制定(与锚路径的正交偏差),其中目标是最小化横向和纵向跟踪误差。控制输入u不在该制定中使用,而是用于参考图9描述的纵向速率优化问题中。

图6示出根据一个或多个实施例的三个不同同伦及其相应实现。如先前所定义的,同伦是在初始AV状态处开始并在最终AV状态处结束的任何路径可以连续变形的唯一空间。如参考图8所述,给定单个同伦,基于样本的机动动作实现器504使用MPC类制定在该同伦内生成运动学上和/或动态上可行的轨迹。

在该示例中,运载工具601正在右车道602中行驶并且正在接近阻挡右车道602的对象603(例如,停放的运载工具)。运载工具604、605正在左车道606 中行驶。运载工具601可能减速并在运载工具604后面合并到左车道606(同伦 #1),在运载工具604前面加速并在运载工具605后面合并到左车道606(同伦 #2),或者在运载工具605前面加速并在运载工具605前面合并到左车道606(同伦#3)。这三个机动动作可以由同伦提取器503通过对运载工具601可以关于运载工具604、605采取的所有可能决策进行迭代来生成。同伦提取器503的输出描述运载工具601到运载工具604、605的时间-空间位置。

图7A是根据一个或多个实施例的针对图7B中所示的行人“乱穿”场景的示例机动动作描述。纵轴是站/位置(米),以及横轴是时间(秒)。机动动作描述定义精确且连续的运载工具机动动作。机动动作是动态站-时间约束和站-空间-时间约束的联合,其中站-空间-时间约束明确地包含偏置决策,并且因此还含有接近度约束。站-时间约束的一些示例是最大速率和道路约束 (例如,所有可用车道)。站-空间-时间约束的一些示例是可驾驶区域以及与其它智能体的纵向和横向间隙距离。图7B是示出关于锚路径705的示例空间约束的BEV。

在该示例场景中,行人障碍物701(硬障碍物或软障碍物)“乱穿”道路702,并且运载工具703在以舒适的减速度减速之后进入锚路径管704。因此,运载工具703将需要机动动作以避免与行人障碍物701碰撞,但也必须遵守关于锚路径705的站-时间和站-空间-时间约束,包括停留在可驾驶区域706内并保持距行人障碍物701和驾驶场景中的任何其它智能体(例如,其它移动或停放的运载工具)的期望纵向和横向间隙距离,如参考图8所述。

图7A中所示的示例机动动作描述描述了可以由运载工具703使用以避免与行人障碍物701碰撞的机动动作空间。在该示例中,机动动作空间707是由行人障碍物701的间隙区域709和可驾驶区域706限制的不相交空间。注意,在图7A中,区域708表示硬行人障碍物,并且区域709表示软行人障碍物。因此,区域708(在站和时间中)指示:如果根据机动动作描述没有进行避开机动动作,则运载工具703何时将肯定地与行人障碍物701碰撞。区域710表示进入相邻车道的避开机动动作。

在彼此之上施加站-时间和站-空间-时间约束得到可以沿着定义的时间范围连续采样的充分机动动作描述,这极大地简化了规划系统500的架构。不需要进一步的决策,并且接近度约束直接表示为可以用于优化的连续函数。

图8示出根据一个或多个实施例的由运载工具801进行以避开运载工具 801的行驶车道中的停放的小汽车802的示例避开机动动作的示例制定。特别地,分别针对横向位移和纵向位移这两者示出接近度约束,其中纵向偏差d

在实施例中,给定运动模型、站-时间和站-空间-时间约束以及成本函数,轨迹优化问题由跟踪控制器506求解。在实施例中,通过以与常规MPC制定相同的方式制定接近度约束,根据下面的等式[1]来求解轨迹优化问题:

[1]

x

c

x∈X

u∈U

λ∈∧

在实施例中,优化问题可以在曲线坐标系中定义的状态空间中制定,其中状态相对于运载工具的重心(CoG)来定义。引入六个松弛变量作为对所有软约束的附加输入。在该示例实施例中,跟踪控制器506将由轨迹分数生成器505输出的在时间上参数化的所选轨迹作为输入。这意味着跟踪控制器506 可以查询AV在任何时间t

在实施例中,运动模型是运动学自行车模型,其允许几何地定义侧滑角β,使得运载工具的速度(v

其中

其中,l

在实施例中,成本函数J

以及

J

在实施例中,仅前三种状态需要进行跟踪,舒适性要求适用于加速度和两个输入。跟踪和舒适性目标都被实现为二次成本。松弛违反由二次或线性成本惩罚:

J

其中,Q=diag(q

注意,等式[1]至[8]的制定与常规MPC不同,因为MPC使用动态前瞻来近似偏置决策并利用来自MPC的预测时间对空间约束进行采样。然而,上述 MPC类制定对机动动作描述(同伦)中的约束进行编码,因此跟踪控制器506 不必做出附加决策或近似。

在实施例中,规则书定义提供运载工具的行为预期的高级约束。从规划模块(例如,规划模块404)接收过程运动规划,对该过程运动规划生成考虑上述运动模型和成本函数的更精细的实现。在上述MPC类优化中考虑规则书中的一个或多个规则。一个或多个规则指定由规划模块404提供的过程运动规划定义的轨迹优化的解空间。在一些实施例中,可以在MPC制定内重新评估一个或多个规则,诸如接近度规则等。下面的表I是所采用的规则的示例。

表I-示例规则书约束

线性不等式约束

上述示例规则书约束被转换为状态约束。状态x∈X、输入u∈U和松弛变量s∈S的可行集合由线性不等式约束表示。注意,根据定义,松弛变量是半正定的。线性不等式约束是硬的并且不允许松弛,因此不能控制约束的违反。在实施例中,运载工具不接近状态约束的边界来操作:

[9] x

u

0≤a≤a

非线性不等式约束

通过使用一般不等式约束,可以施加更复杂的约束。这些更复杂的约束可以是不同状态、输入和在线可指定变量的非线性组合。通常,对横向位置和速率使用约束以生成围绕由规划模块404给出的锚路径的管。在这些约束制定中使用松弛变量来明确地控制和惩罚违反。在实施例中,定义以下非线性不等式约束:

c

c

c

c

c

c

c

图9示出根据一个或多个实施例的对站-时间约束进行采样。由于站-时间约束不是连续可微分的事实,站-时间约束需要通过采样来离散化(如垂直线 900所指示的),其中各个垂直线表示在特定时间的样本,并且因此使站-时间约束离散化。由于站-时间约束已经仅在时间上被参数化,因此可以使用相应的MPC时间步长。注意,对站-时间约束采样不会导致任何近似。

图10示出根据一个或多个实施例的对空间-站-时间约束进行采样。对空间-站-时间约束进行采样比仅在时间上参数化的对站-时间约束进行采样更复杂,因为空间-站-时间约束在时间和站上被参数化。站成份必须被先验地采样以构造优化问题。如参考图11所述,纵向速率优化问题的解可以用作优化的初始猜测。

图11示出根据一个或多个实施例的示例纵向实现。在实施例中,利用使用参考图8描述的MPC类制定的另一优化的结果(其比上述优化更快地求解) 来初始化上述优化问题。在初始优化问题中,利用双积分器以加速度作为可控输入u来求解点质纵向问题(速率优化)。初始优化包括站速率分布约束和同伦站-时间约束。这也允许在优化中还施加加速度约束。例如,由于速率分布约束还考虑AV 507的路径的曲率,因此纵向初始猜测也将间接地限制最大横向加速度。因此,除了用于对空间约束进行采样的站之外,初始优化还提供AV507的速率和加速度的初始猜测以用于优化。

图12A至12C示出根据一个或多个实施例的具有两个智能体的同伦的优化的结果。在图12A中,运载工具的运动预测1201被示出为完全在站约束内,并且因此,能够足够快地加速,使得合并到相邻车道1202中是可行的。这也可以在图12B中看到,其中运载工具的加速度在预测范围开始时非常高,并且随着运载工具的速度增加而缓慢减小。在图12B中,随着运载工具越来越靠近运载工具前方的停放的小汽车,速度由于接近度约束而减小。最后,图 12C描绘运载工具1200的整个预测轨迹1203,包括其它两个智能体1204a和 1204b(例如,其它运载工具)的预测。

此时,大的优化问题易于求解,这是因为其仅由站约束、空间约束、运动模型和舒适性目标组成。由于空间约束采样,通过使用来自先前迭代的结果对空间约束进行重新采样而迭代地求解优化问题。在实施例中,如果优化后的轨迹满足所有原始约束(没有进行采样),则认为优化问题收敛。在适当提出的问题中,收敛可以在单次迭代中发生。

示例处理

图13是根据一个或多个实施例的用于基于规则的轨迹评估的处理的流程图。处理1300可以使用例如如参考图3所描述的计算机系统300来实现。

处理1300可以通过获得运载工具的机动动作描述(1301)开始。机动动作描述描述了对运载工具的动态站-时间约束和站-空间-时间约束的联合。动态站-时间约束在时间上被参数化,并且动态站-空间-时间约束在站和时间上被参数化。

处理1300通过对动态站-时间约束和动态站-空间-时间约束进行采样 (1302)(如参考图5至8所描述)来继续。

处理1300通过使用所采样的动态站-时间约束、所采样的动态站-空间- 时间约束和运动模型的成本函数来求解优化问题(1303)(如参考图5至8所描述)而继续。

处理1300通过基于所求解出的优化问题生成轨迹(如参考图5至8所描述) 来继续,其中轨迹满足由机动动作描述施加的动态站-时间约束和动态站-空间-时间约束(1304)。

处理1300通过根据轨迹控制运载工具(1305)而继续。

在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤 /子实体。

附加示例

下面提供本文描述的特征的示例实现。

示例1:一种方法,包括:使用至少一个处理器获得运载工具的机动动作描述,所述机动动作描述描述了对所述运载工具的动态站-时间约束和动态站-空间-时间约束的联合,其中,所述动态站-时间约束在时间上被参数化,并且所述动态站-空间-时间约束在站和时间上被参数化;使用所述至少一个处理器对所述动态站-时间约束和所述动态站-空间-时间约束进行采样;使用所述至少一个处理器使用所采样的动态站-时间约束、所采样的动态站-空间- 时间约束和运动模型的成本函数来求解优化问题;以及使用所述至少一个处理器基于所求解出的优化问题生成轨迹,其中,所述轨迹满足所述机动动作描述所施加的所述动态站-时间约束和所述动态站-空间-时间约束。

示例2:根据示例1所述的方法,所述动态站-空间-时间约束明确地包含偏置决策。

示例3:根据前述示例中任一项所述的方法,所述运动模型是运动学自行车模型。

示例4:根据前述示例中任一项所述的方法,所述求解是连续且迭代的。

示例5:根据前述示例中任一项所述的方法,在优化的轨迹满足未采样的所述动态站-时间约束和所述站-空间-时间约束的情况下,连续且迭代的所述求解收敛。

示例6:根据前述示例中任一项所述的方法,所述轨迹使施加于所述运载工具的舒适性约束最大化。

示例7:根据前述示例中任一项所述的方法,所述方法还包括:使用所述至少一个处理器求解纵向速率优化问题,以确定在何处开始对所述动态站 -时间约束和所述动态站-空间-时间约束进行采样。

示例8:根据前述示例中任一项所述的方法,所述纵向速率优化问题包括静态速率分布约束和机动动作站-时间约束。

示例9:根据前述示例中任一项所述的方法,所述静态速率分布约束通过考虑路径曲率来限制所述运载工具的最大横向加速度。

示例10:根据前述示例中任一项所述的方法,对所述纵向速率优化问题的所述求解提供用于求解所述优化问题的加速度和速度的初始猜测。

示例11:根据前述示例中任一项所述的方法,所述方法还包括:使用控制电路基于所述轨迹发起所述运载工具的机动动作。

示例12:一种非暂时性计算机可读存储介质,其存储有指令,所述指令在由至少一个处理器执行的情况下使所述至少一个处理器进行示例1~11中任一项的方法。

示例13:一种运载工具,包括:至少一个处理器;非暂时性计算机可读存储介质,其存储有指令,所述指令在由所述至少一个处理器执行的情况下使所述至少一个处理器进行示例1~11中任一项的方法。

相关申请

本申请要求于2021年1月28日提交的美国临时申请序列号63/142,871的权益,其全部内容通过引用并入本文。

技术分类

06120114736552