CN117980212A - 基于优化的规划系统 - Google Patents

基于优化的规划系统 Download PDF

Info

Publication number
CN117980212A
CN117980212A CN202280064289.6A CN202280064289A CN117980212A CN 117980212 A CN117980212 A CN 117980212A CN 202280064289 A CN202280064289 A CN 202280064289A CN 117980212 A CN117980212 A CN 117980212A
Authority
CN
China
Prior art keywords
vehicle
cost
output data
determining
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280064289.6A
Other languages
English (en)
Inventor
J·施瓦茨
P·C·沙阿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zoox Inc
Original Assignee
Zoox Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zoox Inc filed Critical Zoox Inc
Publication of CN117980212A publication Critical patent/CN117980212A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0953Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18163Lane change; Overtaking manoeuvres
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/20Direction indicator values
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4041Position

Abstract

本文讨论了用于聚合与一个或多个热图相关联的成本以在环境中控制车辆的技术。车辆计算装置可以实施模型以基于传感器数据来确定环境的不同特征的热图和相应的成本信息。车辆计算装置可以基于将热图组合来输出用于车辆的规划轨迹。这些技术还可以包括确定合理化或根本原因以详细说明确定规划轨迹的原因。

Description

基于优化的规划系统
相关申请
本申请要求于2021年9月21日提交的、标题为“OPTIMIZATION BASED PLANNINGSYSTEM”的美国申请NO.17、485,041的优先权的权益,其全部内容以引用的方式被并入本文。
背景技术
自主车辆和半自主车辆中的规划系统确定车辆在操作环境中要采取的动作。可以部分地基于避开环境中存在的对象来确定车辆的动作。例如,可以通过规划系统生成动作以避让行人、改变车道以避开道路中的另一个车辆等。感知系统利用来自传感器的传感器数据来“查看”环境,使得规划系统能够确定检测到的对象对车辆的潜在动作的影响。
附图说明
参照附图描述具体实施方式。在附图中,附图标记的最左边的数字标识该附图标记首次在其中出现的附图。在不同附图中使用相同的附图标记指示相似或同样的部件或特征。
图1是示例环境的图示,其中示例车辆应用规划部件以预测车辆轨迹。
图2是另一个示例环境的图示,其中示例车辆应用规划部件以预测车辆轨迹。
图3是另一个示例环境的图示,其中示例车辆应用规划部件以预测车辆轨迹。
图4是用于实施本文所描述的技术的示例系统的框图。
图5A是描绘用于使用一个或多个示例模型来确定车辆轨迹和元数据的示例过程的流程图的第一部分。
图5B是描绘用于使用一个或多个示例模型来确定车辆轨迹和元数据的示例过程的流程图的第二部分。
具体实施方式
本申请描述了用于聚合与一个或多个热图相关联的成本以在环境中控制车辆的技术。例如,车辆计算装置可以实现模型以基于传感器数据来确定环境的不同特征的热图和相应的成本信息。车辆计算装置可以组合热图和相关联的成本以输出车辆的规划轨迹和指示关于车辆和/或环境的信息(例如,与规划轨迹有关的情况)的元数据。模型可以接收描述车辆安全性、车辆状态、对象状态和/或控制策略的特征信息,并生成针对未来信息中包括的每个特征热图。该模型可以使用启发法、树搜索和/或数学算法来聚合与不同特征相关联的成本。使用本文所描述的技术,车辆可以接收可供该车辆使用的规划轨迹和元数据以快速和/或抢先避开对象,由此改善车辆的安全性。此外,这些技术可以包括确定合理化或根本原因以详细说明为何确定规划轨迹的原因。
通常,本文描述的技术使得自主车辆能够安全地规划场景,例如与对象(例如,车辆、行人、骑自行车者等)的潜在交互、交通标志交互等。模型可以基于对热图的组合成本应用启发法确定自主车辆的动作(例如,制动动作、加速动作、轨迹等)。模型输出元数据以提供确定该动作的原因(例如,提供在确定该动作时车辆正在做什么的指示)。换句话说,模型确定元数据(也称为可解释性数据)以提供确定轨迹时的环境和自主车辆的上下文。以此方式,模型可以提供“态势感知”以使自主车辆在环境中安全导航。
在一些示例中,车辆计算装置的规划部件可以实施模型以便以多种方式组合与不同特征相关联的成本。例如,模型可以接收表示环境的传感器数据和与环境中的区域相关联的特征数据和/或车辆的控制策略(例如,保持在车道上、改变车道、操作方向灯、制动、加速等)。在一些示例中,模型可以基于传感器数据来确定特征数据中的一些或全部特征的热图。每个热图可以与成本集合相关联,并且模型可以使用启发法和/或算法来组合热图的成本集合。例如,模型可以执行对组合成本的树搜索以确定车辆在未来的规划轨迹。在一些示例中,模型可以对树搜索应用启发法以引起对与不同特征和/或潜在轨迹相关联的分支的不同处理量。在各种示例中,模型可以执行成本的树搜索(例如,跟随成本、车道改变成本、方向灯成本、前进成本、安全成本、障碍物成本、交互成本等)以选择或以其他方式确定来自轨迹集合的规划轨迹。
车辆计算装置可以至少部分地基于来自模型的输出(例如,规划轨迹、元数据)来在环境中控制车辆。例如,车辆计算装置可以检测环境中的对象并使用组合的热图来控制车辆的动作,如确定车辆的轨迹或以其他方式使车辆穿越环境。例如,控制车辆可以包括停止车辆和/或控制以下至少之一:车辆的制动系统、加速系统或驱动系统。
如上所述,模型可以输出元数据,该元数据表示车辆意图和/或环境特征(例如,车辆关于选定的轨迹正在做什么)。元数据可以指示车辆沿着规划轨迹的动作或行为(例如,“继续跟随车辆”、“留在车道”等)。在一些示例中,元数据可以描述在模型确定车辆轨迹期间的车辆位置、对象位置、车辆状态数据、对象状态数据、道路数据规则(例如,交通许可规则)。在一些示例中,通过模型确定元数据可以包括用元数据来注释成本信息(例如,与热图相关联的成本)。通过输出元数据,车辆可以预测与环境中对象的潜在交互,类似于人类操作员在驾驶时决定行动时解释周围环境的方式。
在一些示例中,模型可以输出元数据以呈现在显示装置上,如车辆内的用户界面(例如,以向车辆的乘客显示或解释由车辆进行的动作)。例如,通过模型输出元数据可以包括给自主车辆的驾驶者呈现路线、轨迹和/或环境特征的指示。以此方式,乘客(或其他观察者)可以看到车辆计算装置关于一个或多个对象采取当前动作的原因。例如,车辆可以呈现在自主车辆附近感测到的另一个车辆、行人等的图像以给乘客提供当前和未来车辆操作的乘客情况。
模型还可以或替代地输出元数据用于训练模型。例如,计算装置可以至少部分地基于描述选择或不选择车辆轨迹以供车辆遵循的原因的元数据来训练模型。例如,元数据可以描述有关由模型确定的不同候选轨迹的车辆、环境和其他对象的详细信息。模型可以基于模型确定采用第一候选轨迹的成本比可用作规划轨迹的第二候选轨迹更高(安全成本太高、跟随对象成本太高等)来确定不使用第一候选轨迹。计算装置可以在模型训练期间使用元数据来“理解”为什么第一候选轨迹没有被用作规划轨迹以及为什么第二候选轨迹被模型选择作为规划轨迹。此外,元数据可以被记录、呈现在显示装置上以将车辆动作传达给乘客,和/或用于调试以改善在规划操作期间做出的确定。报告由车辆进行的动作的附加细节在于2017年5月19日提交的名称为“Communicating Reasons for Vehicle Actions”的美国专利申请序列号15/600,258中描述,出于所有目的通过引用以其全部内容并入本文。
如本文所述,模型可以代表机器学习模型、统计模型或其组合。即,模型可以是指从训练数据集学习以改善输出(例如,预测)的准确性的机器学习模型。另外地或可替代地,模型可以是指代表逻辑和/或数学函数的统计模型,该逻辑和/或数学函数生成可用于做出预测的近似值。
本文所讨论的技术能够以多种方式改善车辆计算装置的功能。在规划考虑期间(例如,轨迹确定、计算等)执行针对可能的车辆轨迹的大量预测可能在计算上极其昂贵,特别是当环境中存在大量可能以无限意想不到的方式运行的对象时。如本文所述,通过车辆计算装置利用轨迹数据和元数据可以改善车辆响应环境中潜在碰撞的准确性和/或减少延迟。通过考虑多个特征和相关联的成本,减少了预测对象与车辆之间的潜在交互的计算负荷,从而改善了车辆计算装置的功能。因此,本文讨论的技术可以通过减少用于预测车辆环境中的对象的潜在动作的计算资源(例如,重新利用可用计算资源)来改善车辆计算装置的功能。
本文讨论的技术还可以通过从规划部件接收指示用于确定轨迹或其他车辆动作的原因的预测来改善车辆计算装置的功能。例如,呈现规划部件确定轨迹的原因可以通过使乘客了解车辆计算装置如何充当“安全驾驶员”,从而改善乘客的舒适度和安全性。此外,此类技术可以用于例如验证车辆的安全操作。作为这样的非限制性示例,高度复杂的优化可能无法深入了解为什么创建特定输出。然而,通过执行本文的技术,可以验证系统响应各种场景的安全性。此外,由规划部件输出的不同车辆动作的原因可以用于改善未来预测的准确性(例如,通过识别导致应修改的输出轨迹的成本区域来改善调试)。在一些示例中,规划部件可以通过基于评估车辆周围环境中的导致预测的具体原因或条件,防止车辆采取不需要的额外动作(例如,避免不需要时突然制动或转向)来改善车辆的功能和安全性。
本文描述的技术可以用多种方式实施。在下文参考以下附图提供示例实施方式。虽然在自主车辆的场景中讨论,但是本文描述的方法、装置和系统可以应用于各种系统并且不限于自主车辆。在另一个示例中,这些技术可以用在航空或航海场景中、或任何使用传感器数据的系统。此外,虽然在激光雷达数据的上下文中进行了讨论,但是这些技术可以适用于任何类型的传感器数据,而不限于本文中讨论的特定示例。此外,本文描述的技术可以与真实数据(例如,使用传感器捕获的)、模拟数据(例如,由模拟器生成的)、或两者的任何组合一起使用。
图1是示例环境100的图示,其中示例自主车辆(车辆102)应用规划部件104来预测车辆轨迹。如图所示,规划部件104接收与车辆、环境和一个或多个对象相关联的输入数据106,其可用于确定输出数据108。输出数据108可以表示车辆轨迹(例如,候选轨迹、规划轨迹等)和/或与车辆轨迹相关联的元数据。在一些示例中,本文描述的规划技术可以至少部分地由车辆计算装置(例如,图4的车辆计算装置404)和/或远程计算装置(例如,图4的计算装置436)实施或与它们相关联。
在各种示例中,与车辆102相关联的车辆计算装置可以被配置为诸如经由感知部件来检测环境100中的一个或多个对象(例如,对象110和112)。在一些示例中,车辆计算装置可以基于从一个或多个传感器(例如,激光雷达传感器、雷达传感器、相机等)接收的传感器数据来检测对象。在一些示例中,传感器可以包括安装在车辆102上的传感器,并且可以包括但不限于超声波传感器、雷达传感器、光检测和测距(激光雷达)传感器、相机、麦克风、惯性传感器(例如,惯性测量单元、加速计、陀螺仪等)、全球定位卫星(GPS)传感器等。
在一些示例中,传感器可以包括一个或多个远程传感器,例如安装在另一个自主车辆上的传感器和/或安装在环境100中的传感器。在各种示例中,车辆102可以被配置为传输和/或接收来自其他自主车辆(例如,车队中的一个或多个自主车辆)和/或传感器的数据。数据可以包括传感器数据,如关于在环境100中检测到的对象的数据。在一些示例中,传感器可以安装在环境100中以在能见度降低的区域中提供额外的能见度。
在各种示例中,车辆计算装置可以接收传感器数据并且可以在语义上对检测到的对象进行分类(例如,确定对象类型),例如对象是否是车辆(例如对象110和112)、行人、建筑物、卡车、摩托车、轻便摩托车等。对象可以包括静态对象(例如,建筑物、桥梁、标志等)和动态对象(如其他车辆、行人、骑自行车者等)。在一些示例中,分类可以包括另一个车辆(例如,汽车、皮卡车、半挂卡车、拖拉机、公共汽车、火车等)、行人、儿童、骑自行车的人、滑板运动员、马术运动员、动物等。在各种示例中,模型可以使用对象的分类来确定对象特性(例如,最大速度、加速度、可操纵性等)。以此方式,可以基于对象的特性(例如,对象可能如何在环境中移动)来考虑对象进行的潜在动作。
除了传感器数据之外,输入数据106还可以包括以下一项或多项:特征数据、地图数据、车辆状态数据和对象状态数据,仅举几例。输入数据106可以表示特征信息,例如描述与车辆102相关联的车辆安全性、车辆状态、对象状态和/或控制策略(例如,车道变换特征、方向灯操作特征等)。特征信息中的一个或多个特征可以包括与区域(例如,与对象相邻的区域)、车辆状态(位置、速度、加速度、轨迹等)、对象状态(位置、速度、加速度、轨迹等)和/或控制策略(例如,控制车辆停留在车道中或维持车辆102与另一个对象之间的距离的策略)相关联的信息。输入数据106可以包括基于地图数据的环境特征和/或速度、加速度、转向和/或制动动作的安全阈值(例如,安全范围)。
规划部件104可以实施一个或多个模型来处理输入数据106以确定一个或多个车辆轨迹,如第一候选轨迹114(1)和第二候选轨迹114(2)。规划部件104可以将候选轨迹之一确定为车辆102在环境100中关于对象110和112遵循的规划轨迹。例如,规划部件104可以至少部分地基于执行树搜索或其他决策树技术来识别或以其他方式确定车辆102将在未来时间使用的第一候选轨迹114(1)或第二候选轨迹114(2)之一
在一些示例中,规划部件104可以包括至少部分地基于输入数据106来确定一个或多个离散表示,包括第一离散表示116和第二离散表示118。例如,规划部件104可以至少部分地基于表示对象后面的区域(例如,对象110后面的第一区域和对象112后面的第二区域)的传感器数据和特征数据生成第一离散表示116和第二离散表示118。如图1所示,第一离散表示116和第二离散表示118表示环境的不同区域的相应热图。在各种示例中,规划部件104可以确定特征数据的不同特征的离散表示或热图。
在所示示例中,规划部件104可以确定车辆102是使用第一候选轨迹114(1)来跟随车道120(1)中的对象110,还是使用第二候选轨迹114(2)来跟随车道120(2)中的对象112。在一些示例中,规划部件104可以实现树搜索以确定第一候选轨迹114(1)或第二候选轨迹114(2)作为车辆102未来遵循的规划轨迹。例如,规划部件104可以确定第一候选轨迹114(1)的第一成本集合和第二候选轨迹114(2)的第二成本集合。在该示例中,成本可以与树的分支相关联,并且规划部件104可以基于选择、识别或以其他方式确定具有小于成本阈值、最低成本和/或任何其他指标的组合成本的树的分支来输出规划轨迹。例如,规划部件104可以至少部分地基于第一成本集合或第二成本集合是否小于成本阈值和/或哪一个轨迹与最低总体成本相关联来选择第一候选轨迹114(1)或第二候选轨迹114(2)(或其部分)作为规划轨迹。
在图1的示例中,特征数据表示区域特征、或者对象后面的区域。也就是说,规划部件104可以基于特征数据生成用于跟随对象110的第一热图和用于跟随对象112的第二热图(例如,基于特征类型识别热图的区域)。虽然对象110和112表示附加车辆,但在其他示例中,车辆102可以使用规划部件104来决定是否跟随行人、骑自行车的人、轻便摩托车、摩托车等。如本文别处所解释的,规划部件104还可以或替代地确定何时启动方向灯、是否改变车道、或者是否执行停止操作、转弯操作、加速操作,仅举几例。
如图1所示,第一离散表示116和第二离散表示118可以包括表示车辆102占用相应单元的成本的一个或多个单元(例如,单元122)。例如,每个热图可以与相应的成本集合相关联。与热图相关联的成本可以表示关于特征(例如,用于生成热图的特征数据)占用单元的车辆102的权重。在一些示例中,热图可以与个体成本(例如,参考成本、障碍物成本、前进成本、车道改变成本等)相关联,并且不同个体成本的热图可以被聚合以确定即时的成本的“最终”热图。作为示例而非限制,车辆102占用车道120(2)的参考成本可以在车道中心最低并且可以从车道中心向外增加。另外,障碍物成本可以与对象112相关联(例如,障碍物成本可以随着车辆102与对象112之间的距离减小而增加)。在各种示例中,规划部件104可以聚合成本(例如,参考成本、障碍物成本和其他成本)以确定可用于确定车辆动作的“最终”热图。
图1示出了第一离散表示116和第二离散表示118中的阴影以传达每个单元的成本值。例如,较暗的阴影可以指示车辆102占用单元122的较低成本。在一些示例中,图1中的阴影表示与单元相关联的不同成本,其可以至少部分地取决于车辆102的位置(以及相关联的传感器的新位置)从时间T1改变到T2。在一些示例中,与单元相关联的成本可以至少部分地基于单元对车辆的可访问性、单元的尺寸以及如本文所讨论的其他因素。用于确定成本的附加细节在本公开全文中、包括在图2和图3中讨论。
除了车辆轨迹和元数据之外,规划部件104还可以输出在一个或多个未来时间车辆102的状态、对象110的状态、和/或对象112的状态。即,可以输出未来车辆状态和未来对象状态以表示相应车辆和对象进行的潜在动作,例如通过执行模拟。在一些示例中,车辆计算装置可以基于输出数据108来控制车辆102的操作,而在其他示例中,规划部件104可以将输出数据108发送到车辆计算装置、或远程计算装置的另一个部件或模型,以训练规划部件104的模型以改善预测。训练可以包括使用输出数据108作为弱学习器数据(例如,弱分类器标签)和/或基本事实。例如,弱分类器标签可以将车辆行为的方面(例如,与一个或多个轨迹相关联的动作)分类为好或坏,并且可以至少部分地基于弱分类器标签来训练机器学习模型以确定与后续轨迹相关联的后续车辆行为是好还是坏。
规划部件104可以使用一个或多个模型来确定输出数据108。例如,第一模型可以识别元数据并且第二模型可以确定车辆轨迹。可替代,第一模型可以基于从第二模型接收输入数据106来确定车辆轨迹和元数据。在这样的示例中,第二模型可以向第一模型提供车辆102、对象110和/或对象112的意图(例如,车辆和/或对象的预测行为)。例如,第一模型可以基于第二模型发送指示车辆102、对象110和/或对象112的离散动作或已知行为的数据而从多个候选轨迹中确定规划轨迹。
在一些示例中,训练规划部件104的模型可以包括将第一模型输出的元数据的意图与第二模型输出的意图或动作进行比较。例如,可以通过比较元数据指示的意图与第二模型输出的意图或动作之间的差异来训练第一模型以改善元数据描述。在这样的示例中,规划部件104可以并行地实施第一模型和第二模型,并且使用第二模型的输出作为用于训练第一模型的输出的基本事实。例如,第二模型的输出可以用于验证第一模型的意图输出的准确性。
图2是另一个示例环境200的图示,其中示例车辆(车辆102)应用规划部件(规划部件104)以预测车辆轨迹。
如图所示,计算装置202包括规划部件104,该规划部件包括图生成部件204、成本确定部件206、聚合部件208和合理化部件210。在一些示例中,计算装置202可以包括车辆计算装置(例如,车辆计算装置404)和/或远程计算装置(例如,计算装置436)。规划部件104可以实施以下一项或多项:图生成部件204、成本确定部件206、聚合部件208和合理化部件210,以关于具有方向灯(例如,灯光指示器214)的对象212来控制车辆102。例如,计算装置202可以确定第一候选轨迹216、第二候选轨迹218或第三候选轨迹220以控制车辆102将来何时何地穿过车道边界222。
在一些示例中,计算装置202可以例如基于处理与环境200、对象212或车辆102相关联的输入数据106来选择所确定的轨迹之一作为规划轨迹。为了理解选择第一候选轨迹216、第二候选轨迹218或第三候选轨迹220作为规划轨迹的原因,计算装置202还可以确定描述环境200、对象212或车辆102的元数据。
在各种示例中,规划部件104可以实施图生成部件204以基于传感器数据和特征数据生成离散表示(例如,一个或多个热图、矢量图等)。在图2所示的示例中,特征数据可以包括与穿过车道边界222的车道改变相关联的数据。在一些示例中,图生成器204可以使用与关于图1描述的技术类似的技术来确定一个或多个热图,例如,将热图的单元相关联以表示穿过车道边界222的成本。
成本确定部件206可以确定热图或其他离散表示的一个或多个成本。在图2的示例中,成本确定部件206可以确定车辆102改变车道并越过车道边界222的车道改变成本。一个或多个成本可以被分配或以其他方式与热图的单元相关联。例如,成本值可以随着车辆102接近车道边界而增加,并且随着车辆102远离车道边界222而降低。以此方式,当规划部件104确定用于通过车道边界222的输出数据108时可以考虑车道改变成本。通常,一个或多个热图可以表示考虑到车辆102与移动或非移动对象之间的潜在相互作用所关联的静力学、动力学、运动学等的一种或多种成本。
一些示例成本包括:跟随成本、车道改变成本、方向灯成本、前进成本、安全成本、障碍物成本、交互成本、活动对象成本(例如,对象避开车辆102的成本)、非活动对象成本、行人成本、先前车辆状态成本、传感器误差成本(例如,姿态和/或定位中的误差)、动物成本、骑自行车者成本、灯光指示器成本(例如,车辆或其他对象的尾灯或其他灯)、路网成本等。因此,上述示例成本中的任何一个都可以被编码到一个或多个热图中(例如,热图可以考虑传感器误差,非活动对象像交通锥、街道标志、建筑物等,以及活动对象避开车辆102可能需要的努力)。
聚合部件208可以聚合或组合离散表示和/或与其相关联的成本。例如,聚合部件208可以聚合第一候选轨迹216、第二候选轨迹218或第三候选轨迹220的成本,诸如在具有每个相应轨迹的成本的分支的决策树中。在一些示例中,组合的离散表示(例如,热图)和/或成本可用于确定规划轨迹。例如,聚合部件208可以对决策树的成本应用启发法以确定如何在树中搜索具有最高安全边际(例如,最低总体成本)的候选轨迹。在一些示例中,聚合部件208可以基于与具有最低总体成本、或者是低于成本阈值的第二候选轨迹218相关联的树的分支,将第二候选轨迹218确定为车辆102将来遵循的规划轨迹。在一些示例中,聚合部件208可以至少部分地基于成本阈值来修改树搜索的分支。
在各种示例中,聚合部件208可以通过执行表示空间或轨迹空间的树搜索来聚合成本。根节点可以表示车辆102的当前位置,并且分支可以与诸如前述候选轨迹的潜在候选动作相关联。聚合部件208可以至少部分地基于可配置的参数(例如,指示树中包括的分支的数量的输入,如四个分支,基于场景类型而被约束(例如,排除用于在目的地需要穿越相交的相交处转弯的动作)等)来确定分支的数量。分支可以与来自一个或多个离散表示的成本和/或与离散表示不关联的成本相关联。以此方式,树表示用于预测可用于控制车辆102的动作的可搜索空间。
在一些示例中,候选参考(例如,图2的候选轨迹)可以由规划部件104(或其他部件)生成以用于与分支相关联。在此类示例中,可以基于分支的数量来生成预定数量的候选参考,所述分支的数量将成为树的一部分,这可以取决于前述的可配置参数和/或可用的计算资源(以最大化在树搜索期间的资源效率)。在至少一些此类示例中,可以根据可用的计算量来确定不同数量的离散区域。
执行树搜索可以包括随着时间的推移聚合分支的成本(例如,跟随成本、车道改变成本、方向灯成本、前进成本、安全成本、障碍物成本、交互成本、对象成本等)(例如,通过将分支离散化成一系列时间并评估在这些时间步骤处的聚合或瞬时成本),并且基于关于成本阈值的相应分支的聚合成本值来确定是否改变到另一个分支。例如,当第一候选轨迹216的成本超过成本阈值时,树搜索可以从探索与第一候选轨迹216相关联的分支改变为与第二候选轨迹218或第三候选轨迹220相关联的另一分支。分支还可以或替代地基于比较不同分支彼此的成本并识别具有较低成本的分支来探索。树搜索可以例如将每个相应分支的聚合成本值相互比较和/或与成本阈值进行比较,并且基于相对于其他分支的成本具有最低总体成本的分支来确定车辆要遵循的轨迹。为了清楚起见,探索分支可以对应于跟踪未来时间的候选轨迹。因此,执行树搜索可以包括通过跟踪与在一段时间内跟随潜在轨迹相关联的动作和成本来预测车辆的轨迹。
在一些示例中,树搜索可以通过组合与未来不同时间相关联的候选轨迹的部分(例如,不同潜在轨迹的分段求和)来确定车辆的轨迹。例如,对于第一时间段,第一候选轨迹216可以代表最低总成本以及因此对于车辆102来说是最安全的轨迹,然而,对于第二时间段,第二候选轨迹218可以代表最低总成本。在这样的示例中,聚合部件208可以应用局部优化技术(例如,由算法引起的优化操作)来平滑分支之间的过渡,并且可以组合不同候选轨迹的部分以形成可用于控制车辆在未来的规划轨迹。例如,某个时间点的候选轨迹之间的转变可以对应于树搜索改变分支的时间。因此,树搜索可以确定与预定时间段内的不同时间的多个潜在轨迹相关联的成本,并且基于每个分支被处理的时间量、分支改变发生的时间和/或与每个分支相关的成本确定车辆轨迹。
在一些示例中,聚合部件208可以聚合一段时间内每个时刻的成本(例如,障碍物成本、车道改变成本等)(例如,预测未来8秒的成本,或其他持续期间)。例如,聚合部件208可以在8秒内每0.5秒生成四个不同成本(或其他数量的成本)的热图,使得评估64个(4个成本×16个时刻)热图以确定车辆动作。
合理化部件210表示确定元数据或可解释性数据的功能,其可用于解释为什么聚合部件208确定或以其他方式使用或不使用候选轨迹的一部分以关于对象212控制车辆102。例如,合理化部件210可以基于传感器数据、地图数据、车辆状态数据、对象状态数据、描述通行权的道路数据规则、与车辆状态或对象状态随时间的变化等相关的历史数据来识别描述环境200、车辆102和对象212的数据。通常,元数据可以与2D地图的一个或多个区域相关联。在一些示例中,合理化部件210可以在各种示例中用热图的成本来注释元数据。通过注释元数据和成本,合理化部件210可以提供用于确定车辆102的候选轨迹的一个或多个原因。在一个具体示例中,合理化部件210可以使用具有不同成本的元数据的注释来识别为什么放弃或选择树搜索的分支的原因。换句话说,如果与分支相关联的成本高于成本阈值,则元数据可以提供放弃该分支的原因。
通常,合理化部件210输出表示车辆意图和/或环境特征(例如,车辆关于候选轨迹正在做什么)的元数据。元数据可以指示车辆沿每个轨迹的动作或行为(例如,“继续跟随车辆”、“留在车道上”等)。元数据还可以将天气、路口信息和/或对象行为(例如,不稳定或攻击性对象)与成本相关联。在各种示例中,元数据可以包括时间信息(例如,时间或时间段),使得车辆行为、对象行为和/或轨迹与时间相关联。例如,规划部件104可以基于时间信息将规划轨迹和/或候选轨迹与元数据相关联。
在一些示例中,合理化部件210可以比较离散表示的单元的成本。例如,选择或不选择候选轨迹(或其一部分)作为规划轨迹的根本原因可以至少部分地基于与所选轨迹相关联的成本与未选轨迹所关联的成本之间的差异。因此,选择轨迹的根本原因可以至少部分地基于比较不同轨迹之间的成本并确定成本之间的差异,以及至少在一些示例中,聚合中的哪个或哪些成本是对于最终的轨迹确定最大的影响因素。
在各种示例中,合理化部件210可以输出与元数据相关联的确定性或置信度(例如,基于人行横道中的行人,车辆正在停止或跟随另一车辆的50%置信度)。例如,合理化部件210可以确定置信值以指示元数据确定中的确定程度(例如,选择和/或不选择轨迹的原因)。与元数据相关联的置信值可以用于在训练期间由合理化部件210来改善未来预测,或者将置信值彼此进行比较以识别车辆动作的总体原因。
在一些示例中,合理化部件210输出的元数据可以至少部分地基于来自另一模型或部件的数据来确定。例如,机器学习模型可以向合理化部件210提供输入数据,指示车辆102在环境中以某种方式表现的原因。在一些示例中,机器学习模型可以表示与规划部件104并行运行的另一个规划部件,并且来自机器学习模型的数据可以由合理化部件210处理以基于来自机器学习模型的确定或预测来输出元数据。
合理化部件210可以输出元数据以呈现在诸如车辆内的用户界面的显示装置上,以呈现车辆102如何和/或为何关于环境的特征移动(例如,以显示在环境中关于对象的规划轨迹)。输出元数据以在显示装置上呈现还可以或替代地包括导致在与租用车辆102的用户相关联的移动装置上呈现元数据。例如,显示装置可以呈现在车辆附近进行感知到的另一车辆、行人等的图像,以给用户提供当前和未来车辆操作的背景信息。输出元数据用于呈现还可以包括在车辆102内的装置和/或与用户相关联的装置上输出音频。
合理化部件210还可以或替代地输出用于训练车辆计算装置的一个或多个部件的元数据。例如,计算装置可以至少部分地基于描述候选轨迹被选择或未被选择的原因(例如,为什么树搜索的分支改变等)的元数据来训练合理化部件210。计算装置可以在模型训练期间使用元数据来“理解”为什么特定候选轨迹(或其一部分)被确定为或未被确定为规划轨迹。在一些示例中,人类标记的训练数据(例如,3秒剪辑中的场景的描述)可以用于改善合理化部件210的未来元数据确定。
由合理化部件210输出的元数据还可以或替代地用于通过改变(例如,增加或减少)在树搜索中使用的分支的数量(调整可配置参数)来改善轨迹确定。例如,指示在具有多个行人的区域中先前使用的轨迹的元数据可以用于增加在未来树搜索期间考虑的候选轨迹的数量。
另外地或可替代地,由合理化部件210输出的元数据可以用于修改与一个或多个候选轨迹相关联的一个或多个成本。例如,成本确定部件206可以基于解释为什么使用或不使用先前轨迹的元数据来增加或减少一个或多个成本。在一个具体示例中,可以基于指示区域通常与多个行人相关联的元数据来将行人成本和/或进展成本调整得更高。因此,成本确定部件206可以基于使用元数据进行训练而随着时间的推移改善成本确定(例如,提供更准确的成本),从而改善车辆导航时的车辆安全性。
在一些示例中,计算装置202可以将元数据存储在数据库、存储器或其他存储位置中。例如,合理化部件210可以记录元数据(例如,记录随着时间的推移的数据)以供以后使用。描述环境中的不同场景的元数据可以包括时间信息以将元数据与车辆102或其他对象进行的动作相关联。在各种示例中,记录元数据可以随着车辆102在环境中导航而发生。
在一些示例中,合理化部件210可以将元数据输出到车辆计算装置的一个或多个部件,包括车辆102的规划部件(例如,图4的规划部件426),以使规划部件能够改善、验证,或强化决心或决策。例如,如果规划部件决定左转并激活方向灯,那么规划部件可以使用元数据来导致在类似的左转(或其他车辆动作)时做出一致的未来规划确定。当然,车辆计算装置的其他部件也可以或替代地使用元数据以改善决策(例如,改善传感器校准、车辆定位等)。
图3是另一个示例环境300的图示,其中示例车辆(车辆102)应用规划部件(规划部件104)来预测车辆轨迹。环境300包括计算装置202,然而在其他示例中,环境300中描述的技术可以由车辆计算装置404和/或计算装置436执行。
如图3所示,规划部件104包括图生成部件204、成本确定部件206、聚合部件208和合理化部件210以预测车辆轨迹302以使车辆102能够在交叉路口转弯(例如,无保护的左转)。例如,规划部件104可以接收输入数据106并且确定车辆是否应当沿着车辆轨迹302停在停止点304处以允许对象306(行人)和/或对象308(另一个车辆)安全通过。例如,规划部件104可以基于确定行人306的对象轨迹310以及车辆308的第一对象轨迹312和第二对象轨迹314来预测是否在停止点304处或附近停止。第一对象轨迹312(右转)和第二对象轨迹314(直行)表示车辆308在未来时间遵循的两个潜在轨迹。在其他示例中,规划部件104可以为环境300中的每个对象确定任何数量的对象轨迹。
规划部件104可以实施图生成部件204以确定沿车辆轨迹302的不同区域的热图,不同区域包括行人306前方的区域和车辆308前方的另一区域。在一些示例中,图生成部件204基于传感器数据、地图数据、状态数据和/或特征数据来确定热图。在环境300中,图生成部件204可以基于与交叉路口、左转、人行横道、迎面而来的对象等相关联的特征数据来生成热图。成本确定部件206可以确定每个热图的成本,并且聚合部件208可以组合这些成本以确定是否在停止点304处制动、减速以及不停止、停止或加速。
合理化部件210可以生成将环境200描述为不受控制的交叉路口、具有交通信号的交叉路口等的元数据。元数据还可以取决于与对象轨迹310相关联的速度、与第一对象轨迹312相关联的速度以及与第二对象轨迹314相关联的速度将车辆102描述为左转,并具有与行人306和车辆308的潜在相交点。
图4示出用于实现本文描述的技术的示例系统400的框图。在至少一个示例中,系统400可以包括车辆402,其可以是与上面参考图1描述的车辆102相同的车辆。
车辆402可以包括车辆计算装置404(例如,一个或多个装置)、一个或多个传感器系统406、一个或多个发射器408、一个或多个通信连接410、至少一个直接连接412、和一个或多个驱动系统414。
车辆计算装置404可以包括一个或多个处理器416和与一个或多个处理器416通信耦合的存储器418。在所示示例中,车辆402是自主车辆;然而,车辆402可以是任何其他类型的车辆,诸如半自主车辆,或至少具有图像捕获装置(例如,启用相机的智能电话)的任何其他系统。在一些情况下,自主车辆402可以是被配置为根据美国国家公路交通安全管理局发布的5级分类操作的自主车辆,该分类描述了一种能够在整个行程中执行所有安全关键功能的车辆,其中驾驶员(或乘员)不被期望在任何时候控制车辆。然而,在其他示例中,自主车辆402可以是具有任何其他级别或分类的完全自主车辆或部分自主车辆。
在各种示例中,车辆计算装置统404可以在估计状态的集合的结束处(例如,时间段结束)存储与对象的实际位置相关联的传感器数据,并且可以使用此数据作为训练数据来训练一个或多个模型。在一些示例中,车辆计算装置404可以将数据提供给远程计算装置(即与车辆计算装置分离的计算装置,诸如计算装置436)用于数据分析。在此类示例中,远程计算装置可以分析传感器数据以确定在估计状态的该集合结束时对象的实际位置、速度、行进方向等。通过最小化实际位置和预测位置和/或预测轨迹之间的差异来基于存储的传感器数据训练机器学习模型的附加细节在于2019年3月12日提交的名称为“MotionPrediction Based on Appearance”的美国专利申请序列号16/282,201中描述,出于所有目的通过引用并入本文。
在所示示例中,车辆计算装置404的存储器418存储定位部件420、感知部件422、预测部件424、规划部件426、一个或多个系统控制器428、一个或多个地图430、以及包括一个或多个模型的模型部件432,一个或多个模型例如第一模型434A、第二模型434B、直至第N模型434N(统称为“模型434”),其中N是整数。虽然出于说明性目的在图4中描绘为存在于存储器418中,但是可以设想的是定位部件420、感知部件422、预测部件424、规划部件426、一个或多个系统控制器428、一个或多个地图430和/或包括模型434的模型部件432可以附加地或替代地可由车辆402访问(例如,存储在或者可由远离车辆402的存储器访问,例如在像远程计算装置436的存储器440上)。
在至少一个示例中,定位部件420可以从一个或多个传感器系统406接收数据以确定车辆402的位置和/或朝向(例如,x-位置、y-位置、z-位置、翻滚、俯仰或偏航中的一个或多个)。例如,定位部件420可以包括和/或请求/接收环境的地图,例如来自一个或多个地图430和/或地图部件446的地图,并且可以连续地确定自主车辆在地图内的位置和/或朝向。在一些情况下,定位部件420可以利用SLAM(同时定位和映射)、CLAMS(同时校准、定位和映射)、相对SLAM、束调整、非线性最小二乘优化等,以接收图像数据、激光雷达数据、雷达数据、IMU数据、GPS数据、车轮编码器数据等,以准确地确定自主车辆的位置。在一些情况下,如本文所讨论的,定位部件420可以向车辆402的各种部件提供数据以确定自主车辆的初始位置,以用于确定对象与车辆402的相关性。
在一些情况下,感知部件422可以执行对象检测、分割和/或分类。在一些示例中,感知部件422可以提供经处理的传感器数据,其指示接近车辆402的对象(例如,实体)的存在和/或对象的分类作为对象类型(例如,轿车、行人、骑自行车者、动物、建筑物、树、路面、路缘、人行道、未知等)。在一些示例中,感知部件422可以提供经处理的传感器数据,其指示接近车辆402的静止实体的存在和/或静止实体的分类作为类型(例如,建筑物、树、路面、路缘、人行道、未知等)。在附加或替代示例中,感知部件422可以提供经处理的传感器数据,其指示与检测到的对象(例如,被跟踪的对象)和/或对象所处的环境相关联的一个或多个特征。在实施方式中,感知部件422可以具体识别铰接对象,如铰接车辆。在一些示例中,与对象相关联的特征可以包括但不限于:x-位置(全局位置和/或局部位置)、y-位置(全局位置和/或局部位置)、z-位置(全局位置和/或局部位置)、朝向(例如,翻滚、俯仰、偏航)、对象类型(例如,分类)、对象的速度、对象的加速度、对象的大小(尺寸)等。与环境相关联的特征可以包括但不限于:环境中的另一对象的存在、环境中的另一对象的状态、一天中的时间、一周中的一天、季节、天气状况、黑暗/光亮的指示等。
预测部件424可以生成一个或多个概率图,其表示一个或多个对象在环境中的可能位置的预测概率。例如,预测部件424可以为距车辆402的阈值距离内的铰接对象、车辆、行人、动物等生成一个或多个概率图。在一些情况下,预测部件424可以基于观察到的行为和预测的行为来测量对象的踪迹并生成对象的离散预测概率图、热图、概率分布、离散概率分布、和/或轨迹。在一些情况下,一个或多个概率图可以表示环境中一个或多个对象的意图。
在一些示例中,预测部件424可以生成环境中的对象(例如,铰接对象)的预测轨迹和/或生成针对车辆402的预测候选轨迹。例如,预测部件424可以针对距车辆402的阈值距离内的对象生成一个或多个预测轨迹。在一些示例中,预测部件424可以测量对象的踪迹(trace),并且基于观察到的行为和预测的行为来生成对象的轨迹。
通常,规划部件426可以确定车辆402穿过环境要遵循的路径。例如,规划部件426可以确定各种路线和轨迹以及各种细节层次。例如,规划部件426可以确定从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线。出于本讨论的目的,路线可以包括用于在两个位置之间行进的航路点序列。作为非限制性示例,航路点包括街道、交叉路口、全球定位系统(GPS)坐标等。此外,规划部件426可以生成指令,用于引导自主车辆沿着从第一位置到第二位置的路线的至少部分。在至少一个示例中,规划部件426可以确定如何引导自主车辆从航路点序列中的第一航路点到航路点序列中的第二航路点。在一些示例中,指令可以是轨迹或轨迹的一部分。在一些示例中,可以根据后退水平技术基本上同时生成(例如,在技术容差内)多个轨迹。后退数据水平中的多个路径中具有最高置信水平的单个路径可以被选择以操作车辆。在各种示例中,规划部件426可以至少部分地基于接收表示模型部件432的输出的数据来确定车辆402的轨迹(例如,规划轨迹)。
在其他示例中,规划部件426可以可选择地或另外地使用来自定位部件420、感知部件422和/或预测部件424的数据来确定车辆402穿过环境要遵循的路径。例如,规划部件426可以从定位部件420、感知部件422和/或预测部件424接收关于与环境相关联的对象的数据。使用此数据,规划部件426可以确定从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线以避开环境中的对象。在至少一些示例中,此类规划部件426可以确定不存在此类无冲突路径以及,而进而提供路径,该路径使车辆402安全停止,避免所有碰撞和/或以其他方式减轻损坏。另外地或可替代地,如在图1-图3或其他地方所描述的,规划部件426可以至少部分地基于从规划部件104接收的数据来确定车辆402要遵循的路径。
在至少一个示例中,车辆计算装置404可以包括一个或多个系统控制器428,系统控制器可以被配置为控制车辆402的转向、推进、制动、安全性、发射器、通信和其他系统。系统控制器428可以与驱动系统414的对应的系统和/或车辆402的其他部件进行通信和/或对其进行控制。
存储器418可以进一步包括可以由车辆402使用以在环境内导航的一个或多个地图430。出于本讨论的目的,地图可以是在二维、三维或N维中建模的任何数量的数据结构,其能够提供关于环境的信息,例如但不限于拓扑(例如交叉路口)、街道、山脉、道路、地形和总体环境。在一些情况下,地图可以包括但不限于:纹理信息(例如,颜色信息(例如,RGB颜色信息、Lab颜色信息、HSV/HSL颜色信息)等)、强度信息(例如,激光雷达信息、雷达信息等);空间信息(例如,投影到网格上的图像数据、单独的“面元”(例如,与单独的颜色和/或强度相关联的多边形),反射率信息(例如,镜面反射信息、逆反射信息、BRDF信息、BSSRDF信息等)。在一个示例中,地图可以包括环境的三维网格。在一些示例中,可以至少部分地基于地图430来控制车辆402。也就是说,地图430可以与定位部件420、感知部件422、预测部件424和/或规划部件426结合使用,以确定车辆402的位置、检测环境中的对象、生成路线、确定在环境中导航的动作和/或轨迹。
在一些示例中,一个或多个地图430可以被存储在可经由网络442访问的远程计算装置(例如,计算装置436)上。在一些示例中,多个地图430可以基于例如特性(例如,实体的类型、一天中的时间、一周中的一天、一年的季节等)被存储。存储多个地图430可以具有类似的存储器要求,但是增加了地图中的数据可以被访问的速度。
如图4所示,车辆计算装置404可以包括模型部件432。模型部件432可以被配置为执行规划部件104的功能,包括预测车辆402、对象(对象110、112、212、306和308)的轨迹和元数据。在各种示例中,模型部件432可以从感知部件422和/或从传感器系统406接收与检测到的对象相关联的一个或多个特征。例如,模型部件432可以接收数据,例如,与车辆402、环境和/或环境中的对象相关联的传感器数据、特征数据等。特征数据可以表示环境中的区域和/或车辆的控制策略(例如,保持在车道上、改变车道、操作方向灯、制动、加速等)。在一些示例中,模型部件432可以从感知部件422和/或传感器系统406接收环境特性(例如,环境因素等)和/或天气特性(例如,天气因素,诸如雪、雨、冰等)。虽然在图4中单独示出,但是模型部件432可以是预测部件424、规划部件426或车辆402的其他部件的一部分。
在各种示例中,模型部件432可以发送来自一个或多个模型434的预测,预测部件424和/或规划部件426可以使用该预测来生成车辆的一个或多个预测轨迹(例如,行进方向、速度等)和/或对象的一个或多个预测轨迹(例如行进方向、速度等),例如来自其预测分量。在一些示例中,规划部件426可以确定车辆402的一个或多个动作(例如,参考动作和/或子动作),例如车辆候选轨迹。在一些示例中,模型部件432可以被配置为至少部分地基于车辆402的一个或多个动作来确定对象是否与车辆402相交。在一些示例中,模型部件432可以被配置为例如基于环境特征、天气特征等确定适用于环境的动作。
模型部件432可以生成在一段时间内车辆和环境中前方的一个或多个检测到的对象的多组估计状态。模型部件432可以为适用于环境的每个动作(例如,参考动作和/或子动作)生成一组估计状态。该组估计状态可以包括一个或多个估计状态,每个估计状态包括车辆的估计位置和检测到的对象的估计位置。在一些示例中,估计状态可以包括检测到的对象在初始时间(T=0)(例如,当前时间)的估计位置。
模型部件432可以基于与对象相关联的检测到的轨迹和/或预测的轨迹来确定估计的位置。在一些示例中,确定估计的位置可以基于基本上恒定的速度和/或基本上恒定的轨迹(例如,对象的很少或没有横向移动)的假设。在一些示例中,估计位置(和/或潜在轨迹)可以基于被动和/或主动预测。在一些示例中,模型部件432可以利用基于物理和/或几何的技术、机器学习、线性时间逻辑、树搜索方法、热图和/或用于确定对象的预测轨迹和/或估计位置的其他技术。
在各种示例中,可以在整个时间段内周期性地生成估计状态。例如,模型部件432可以在整个时间段内以0.1秒的间隔生成估计状态。又例如,模型部件432可以以0.05秒的间隔生成估计状态。估计状态可以由规划部件426在确定车辆402在环境中采取的动作中使用。
在各种示例中,模型部件432可以利用机器学习技术来预测与评估的轨迹相关联的风险。在此类示例中,可以训练机器学习算法以基于传感器数据和/或由模型进行的先前预测来确定对象可能在一组估计状态期间(例如,时间段)的特定时间关于车辆402以特定方式表现。在此类示例中,车辆402状态(位置、速度、加速度、轨迹等)和/或对象状态、分类等中的一个或多个可以被输入到此类机器学习模型中,并且继而,行为预测可以由模型输出。
在各种示例中,模型部件432可以使用与每种对象类型相关联的特性来确定用于预测对象之间和/或车辆402与一个或多个对象之间的潜在相交的对象速度或加速度。对象类型的特征的示例可以包括但不限于:最大纵向加速度、最大横向加速度、最大垂直加速度、最大速度、给定速度的最大方向改变等。
正如可以理解的,本文讨论的部件(例如,定位部件420、感知部件424、预测部件422、规划部件426、一个或多个系统控制器428、一个或多个地图430、包括模型434的模型部件432出于说明性目的被描述为划分的。然而,由各种部件执行的操作可以在任何其他部件中组合或执行。
虽然给出了其中本文描述的技术由车辆的规划部件和/或模型部件实施的示例,但在一些示例中,本文描述的技术中的一些或全部可以由车辆的另一个系统(例如辅助安全系统)实施。通常,这样的架构可以包括用于控制车辆402的第一计算装置和在车辆402上操作以验证主系统的操作并控制车辆402以避免碰撞的辅助安全系统。
在一些情况下,本文讨论的一些或全部部件的各方面可以包括任何模型、技术和/或机器学习技术。例如,在一些情况下,存储器418(以及下面讨论的存储器440)中的部件可以被实施为神经网络。
如本文所描述的,示例性神经网络是将输入数据传递通过一系列连接层以产生输出的技术。神经网络中的每一个层还可以包括另一神经网络,或者可以包括任何数量的层(无论是卷积还是非卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指基于学习的参数生成输出的此类技术的广泛类别。
虽然在神经网络的场景中讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习技术可以包括但不限于:回归技术(例如,普通最小二乘回归(OLSR)、线性回归、逻辑回归、逐步回归、多元自适应回归样条(MARS)、局部估计散点图平滑(LOESS)),基于实例的技术(例如,岭回归、最小绝对收缩和选择算子(LASSO)、弹性网络、最小角回归(LARS)),决策树技术(例如,分类与回归树(CART)、迭代二分法3(ID3)、卡方自动交互检测(CHAID)、决策树桩、条件决策树),贝叶斯技术(例如,朴素贝叶斯、高斯朴素贝叶斯、多项式朴素贝叶斯、平均单依赖估计器(AODE)、贝叶斯信念网络(BNN)、贝叶斯网络),聚类技术(例如,k均值、k中值、期望最大化(EM)、层次聚类),关联规则学习技术(例如,感知机、反向传播、跳场网络、径向基函数网络(RBFN)),深度学习技术(例如,深度玻尔兹曼机(DBM)、深度信念网络(DBN)、卷积神经网络(CNN)、堆栈自动编码器),降维技术(例如,主成分分析(PCA)、主成分回归(PCR)、部分最小二乘回归(PLSR)、Sammon映射、多维缩放(MDS)、投影追踪、线性判别分析(LDA)、混合判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA)),集成技术(例如,提升方法、自举聚合(Bagging)、AdaBoost、堆栈泛化(混合)、梯度提升机(GBM)、梯度提升回归树(GBRT)、随机森林)、SVM(支持向量机)、监督学习、无监督学习、半监督学习等)。架构的附加示例包括神经网络,诸如ResNet50、ResNet101、VGG、DenseNet、PointNet等。
在至少一个示例中,传感器系统406可以包括:激光雷达传感器、雷达传感器、超声传感器、声纳传感器、位置传感器(例如,GPS、罗盘等)、惯性传感器(例如,惯性测量单元(IMU)、加速度计、磁力计、陀螺仪等)、相机(例如,RGB、IR、强度、深度、飞行时间等)、麦克风、车轮编码器、环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等)等。传感器系统406可以包括这些或其他类型的传感器中的每一个的多个实例。例如,激光雷达传感器可以包括位于车辆402的拐角、前部、后部、侧面和/或顶部的单独的激光雷达传感器。作为另一示例,相机传感器可以包括设置在围绕车辆402的外部和/或内部的各种位置处的多个相机。传感器系统406可以向车辆计算装置404提供输入。附加地,或者在替代方案中,传感器系统406可以在经过预定时间段之后、在接近实时等以特定频率,经由一个或多个网络442将传感器数据发送到一个或多个计算装置436。
车辆402还可以包括一个或多个用于发射光和/或声音的发射器408。发射器408可以包括内部音频发射器和内部视觉发射器以与车辆402的乘客通信。通过示例而非限制的方式,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带张紧器、座椅定位器、头枕定位器等)和类似物。发射器408还可以包括外部发射器。作为示例而非限制,外部发射器可以包括发送行进方向的信号的灯或车辆动作的其他指示器(例如,指示灯、标志、灯阵列等),以及一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等),以与行人或其他附近车辆进行听觉通信,其中的一个或多个包括声束转向技术(acoustic beam steering technology)。
车辆402还可以包括实现车辆402与一个或多个其他本地或远程计算装置之间的通信的一个或多个通信连接410。例如,通信连接410可以促进与车辆402和/或驱动系统414上的其他本地计算装置的通信。而且,通信连接410可以允许车辆与其他附近的计算装置(例如,远程计算装置436、其他附近的车辆等)和/或一个或多个远程传感器系统444通信以接收传感器数据。通信连接410还使得车辆402能够与远程操作计算装置或其他远程服务通信。
通信连接410可以包括物理接口和/或逻辑接口,用于将车辆计算系统404连接到另一计算装置或网络,例如网络442。例如,通信连接410可以启用基于Wi-Fi的通信,例如由IEEE 802.11标准定义的频率,短距离无线频率诸如蓝牙、蜂窝通信(例如,2G、3G、4G、4GLTE、5G等),或任何合适的有线或无线通信协议,其使得相应的计算机装置能够与其他计算机装置交互。
在至少一个示例中,车辆402可以包括一个或多个驱动系统414。在一些示例中,车辆402可以具有单个驱动系统414。在至少一个示例中,如果车辆402具有多个驱动系统414,那么单独的驱动系统414可以被定位在车辆402的相对端部(例如,前部和后部等)上。在至少一个示例中,驱动系统414可以包括一个或多个传感器系统,以检测驱动系统414和/或车辆402的周围环境的状况。作为示例而非限制,传感器系统可以包括:一个或多个车轮编码器(例如,旋转编码器)以感测驱动模块的车轮的旋转,惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)以测量驱动模块的朝向和加速,相机或其他图像传感器,超声传感器以声学检测驱动模块的周围环境中的对象、激光雷达传感器、雷达传感器等。一些传感器,诸如车轮编码器,可以对于驱动系统414是唯一的。在一些情况下,驱动系统414上的传感器系统可以重叠或补充车辆402的对应系统(例如,传感器系统406)。
驱动系统414可以包括车辆系统中的许多系统,包括:高压电池;马达,用于推进车辆;逆变器,将来自电池的直流电转换成交流电以供其他车辆系统使用;转向系统,包括转向马达和转向齿条(其可以是电动);制动系统,包括液压致动器或电动致动器;悬架系统,包括液压部件和/或气动部件;稳定性控制系统,用于分配制动力以减轻牵引力的损失并维持控制;HVAC系统;照明(例如,诸如用于照亮车辆的外部周围环境的头/尾灯的照明);以及一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气部件,例如DC/DC转换器、高压接头、高压电缆、充电系统、充电端口等)。另外,驱动系统414可以包括驱动模块控制器,其可以接收和预处理来自传感器系统的数据并且控制各种车辆系统的操作。在一些示例中,驱动模块控制器可以包括一个或多个处理器以及与一个或多个处理器通信耦合的存储器。存储器可以存储一个或多个模块以执行驱动系统414的各种功能。此外,驱动系统414还可以包括一个或多个通信连接,该一个或多个通信连接使得相应的驱动模块能够与一个或多个其他本地或远程计算装置进行通信。
在至少一个示例中,直接连接412可以提供物理接口以将一个或多个驱动系统414与车辆402的主体耦合。例如,直接连接412可以允许在驱动系统414和车辆之间传输能量、流体、空气、数据等。在一些情况下,直接连接412可以进一步将驱动系统414可释放地固定到车辆402的车身。
如上所述,在至少一个示例中,定位部件420、感知部件422、预测部件424、规划部件426、一个或多个系统控制器428、一个或多个地图430和模型部件432可以处理传感器数据,并且可以通过一个或多个网络442将其相应的输出发送到计算装置436。在至少一个示例中,定位部件420、感知部件422、预测部件424、规划部件426、一个或多个系统控制器428、一个或多个地图430和模型部件432可以在预定时间段之后、在接近实时等,以特定频率向远程计算装置436发送它们相应的输出。
在一些示例中,车辆402可以经由网络442将传感器数据发送到计算装置436。在一些示例中,车辆402可以经由网络442从计算装置436和/或远程传感器系统444接收传感器数据。传感器数据可以包括原始传感器数据和/或经处理的传感器数据和/或传感器数据的表示。在一些示例中,传感器数据(原始的或经处理的)可以作为一个或多个日志文件被发送和/或接收。
计算装置436可以包括处理器438和存储地图部件446的存储器440、传感器数据处理部件448和训练部件450。在一些示例中,地图部件446可以生成各种分辨率的地图。在此类示例中,地图部件446可以向车辆计算装置404发送一个或多个地图以用于导航目的。在各种示例中,传感器数据处理部件448可以被配置为从一个或多个远程传感器(诸如传感器系统406和/或远程传感器系统444)接收数据。在一些示例中,传感器数据处理部件448可以被配置为处理数据并且将经处理的传感器数据发送到车辆计算装置404,诸如以供模型部件432(例如,模型434)使用。在一些示例中,传感器数据处理部件448可以被配置为将原始传感器数据发送到车辆计算装置404。
在一些情况下,训练部件450可以训练机器学习模型以输出铰接对象轨迹。例如,训练部件450可以接收表示对象在一段时间内穿过环境的传感器数据,例如0.1毫秒、1秒、3秒、5秒、7秒等。传感器数据的至少一部分可以用作训练机器学习模型的输入。
在一些情况下,训练部件450可以由处理器438执行以基于训练数据来训练机器学习模型。训练数据可以包括与值(例如,期望的分类、推理、预测等)相关联的各种数据,例如传感器数据、音频数据、图像数据、地图数据、惯性数据、车辆状态数据、历史数据(日志数据)或其组合。此类值通常可以称为“基准真值”。为了说明,训练数据可以用于确定与评估的轨迹相关联的风险,并且因此可以包括表示由自主车辆捕获的并且与一个或多个分类或确定相关联的环境的数据。在一些示例中,此类分类可以基于用户输入(例如,指示数据描绘特定风险的用户输入)或者可以基于另一个机器学习模型的输出。在一些示例中,此类标记分类(或者更通常地,与训练数据相关联的标记输出)可以被称为基准真值。
在一些情况下,训练部件450可以训练机器学习模型以输出轨迹值、元数据等。例如,训练部件450可以接收表示标记的碰撞数据(例如公开可用的数据、传感器数据和/或其组合)、轨迹数据、元数据的数据等等。数据的至少一部分可以用作训练机器学习模型的输入。因此,通过提供车辆穿越环境的数据,训练部件450可以被训练以输出车辆轨迹以避开与对象相关联的潜在相交,如本文所讨论的。
在一些示例中,训练部件450可以包括已经由模拟器生成的训练数据。例如,模拟训练数据可以表示车辆与环境中的对象碰撞或几乎与环境中的对象碰撞的示例,以提供额外的训练示例。
车辆402的处理器416和计算装置436的处理器438可以是能够执行指令以处理数据并执行如本文所述的操作的任何合适的处理器。作为示例而非限制,处理器416和处理器438可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、或任何其他装置或装置的一部分,其处理电子数据以将该电子数据转换成可以存储在寄存器和/或存储器中的其他电子数据。在一些示例中,集成电路(例如,ASIC等)、门阵列(例如,FPGA等)、和其他硬件装置也可以被认为是被配置为实现编码的指令的处理器。
存储器418和存储器440是非暂时性计算机可读介质的示例。存储器418和存储器440可以存储操作系统和一个或多个软件应用、指令、程序、和/或数据以实现本文描述的方法以及归属于各种系统的功能。在各种实施方式中,存储器可以使用任何合适的存储器技术来实现,例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器、或任何其他类型的能够存储信息的存储器。本文描述的架构、系统、和单独的元件可以包括许多其他逻辑部件、程序化部件和物理部件,其中附图中示出的那些部件仅仅是与本文中的讨论有关的示例。
应当注意,虽然图4被示出为分布式系统,但是在替代示例中,车辆402的部件可以与计算装置436相关联和/或计算装置436的部件可以与车辆402相关联。也就是说,车辆402可以执行一个或多个与计算装置436相关联的功能,反之亦然。
图5A和图5B示出了根据本公开的示例的示例过程。这些过程被示出为逻辑流程图,其每个操作表示可以在硬件、软件或其组合中实现的操作序列。在软件的场景中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,该计算机可执行指令执行所述的操作。通常,计算机可执行指令可以包括执行特定功能或实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。描述操作的顺序并不旨在被解释为限制,并且任何数量的所描述的操作可以被省略和/或按任何顺序和/或并行地组合以实现过程。
图5A是描绘用于使用一个或多个示例模型来确定车辆轨迹和元数据的示例过程500的流程图的第一部分。例如,过程500中的一些或全部可以由图1-图4中的一个或多个部件执行,如本文所述。例如,过程500中的一些或全部可以由车辆计算装置404、计算装置436和/或计算装置202执行。然而,过程500不限于由这些部件执行,并且这些部件不限于执行过程500。
在操作502,过程500可以包括从与自主车辆相关联的传感器接收传感器数据。在一些示例中,操作502可以包括车辆计算装置的规划部件104从与车辆402相关联的激光雷达传感器、雷达传感器等接收传感器数据。在一些示例中,传感器数据表示环境中检测到的对象,例如对象110和对象112。传感器数据可以从车辆上的一个或多个传感器和/或从一个或多个远程传感器(例如,环境中的传感器和/或另一个车辆上的传感器)被接收。
在操作504,该过程可以包括至少部分地基于所述传感器数据和第一特征确定第一热图,所述第一热图表示所述自主车辆穿越环境的第一成本集合。在一些示例中,操作504可以包括车辆计算装置生成、估计或以其他方式确定热图(例如,包括表示成本集合的单元的环境的二维数据表示,如离散表示116)。在各种示例中,图生成部件204可以接收表示对象110后面的区域的特征数据。第一成本集合可以包括跟随成本、车道改变成本、信号成本和/或制动成本,仅举几例。
在操作506,该过程可以包括至少部分地基于传感器数据和第二特征确定第二热图,第二热图表示自主车辆穿越环境的第二成本集合。在一些示例中,操作506可以包括图生成部件204基于与对象112相关联的特征数据来生成、估计或以其他方式确定对象112后面的区域的附加热图(例如,离散表示118)。操作506可以包括例如车辆计算装置实施成本确定部件206以确定与一个或多个热图相关联的成本。
在操作508,该过程可以包括通过模型将第一热图和第二热图聚合为组合图。在一些示例中,操作508可以包括聚合部件208组合第一热图和第二热图(以及与其相关联的成本)。例如,聚合部件208可以将离散表示116和离散表示118组合为组合热图以供车辆计算装置使用。操作508可以包括例如车辆计算装置实施聚合部件208以至少部分地基于执行树搜索来聚合第一热图和第二热图的成本。
图5B是描绘用于使用一个或多个示例模型来确定车辆轨迹和元数据的示例过程500的流程图的第二部分。
在操作510,该过程可以通过模型并且至少部分地基于组合图确定第一输出数据,第一输出数据表示能够用于在未来时间在环境中控制自主车辆的规划轨迹。在一些示例中,操作510可以包括车辆计算装置实施成本确定部件206和/或聚合部件208以至少部分地基于与组合图相关联的聚合成本来确定规划轨迹。在此类示例中,车辆计算装置可以至少部分地基于与热图相关联的成本来确定第一候选轨迹114(1)或第二候选轨迹114(2)的哪些部分被包括作为规划轨迹。例如,与第一候选轨迹114(1)相交的单元的成本或与第二候选轨迹114(2)相交的单元的成本可以被组合并与成本阈值比较,或者彼此比较,以识别哪些单元具有较低的总成本。在一些示例中,规划轨迹可以至少部分地基于启发法。
在操作512,该过程可以通过模型并且至少部分地基于组合图确定第二输出数据,第二输出数据指示用于确定规划轨迹的原因。在一些示例中,操作512可以包括车辆计算装置实施合理化部件210以确定描述环境、车辆402以及对象110和112的元数据。例如,合理化部件210可以确定正在发生什么导致选择候选轨迹作为规划轨迹。虽然成本用于确定规划轨迹,但是成本可能不指示为什么候选轨迹比另一轨迹更安全(例如,更有可能避免与对象110和112相交)。此外,因为可以使用启发法来确定规划轨迹作为树搜索的一部分,所以规划轨迹可以基于与车辆行为不相关的数据。因此,元数据可以提供对规划轨迹的选择的指示。
在操作514,该过程可以至少部分地基于第一输出数据关于第一特征和第二特征在环境中控制自主车辆。在一些示例中,操作514可以包括基于规划轨迹来控制车辆402。在一些示例中,操作512可以包括根据(例如,遵循)规划轨迹来控制车辆402的制动系统、加速系统、转向系统、驱动系统等。
在操作516,该过程可以包括以下各项中的一项或多项:将第二输出数据传输到远程计算装置以用于训练模型,记录第二输出数据,或者使显示装置显示第二输出数据。在一些示例中,操作516可以包括规划部件104输出元数据以呈现在车辆402的乘客区域中的用户界面上,以提供对由车辆402进行的运动或动作的指示。元数据还可以或替代地是显示在与乘客相关联的计算装置上。在一些示例中,操作516还可以或者替代地将第二输出数据发送到计算装置436以用于训练由规划部件104实施的一个或多个模型。例如,元数据可以用于改善由一个或多个模型进行的未来预测。另外地或可替代地,操作516可以包括记录第二输出数据以用于调试、训练或其他目的。例如,元数据可以被记录在数据库或存储器中以供人和/或计算装置分析。
本文中所描述的方法表示可在硬件、软件或其组合中实施的操作序列。在软件的场景中,框表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,该计算机可执行指令执行所述的操作。通常,计算机可执行指令可以包括执行特定功能或实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。描述操作的顺序并不旨在被解释为限制,并且任何数量的所描述的操作可以按任何顺序和/或并行地组合以实现过程。在一些实施例中,可以完全省略该方法的一个或多个操作。此外,本文描述的方法可以全部或部分地彼此组合或与其他方法组合。
本文描述的各种技术可以在计算机可执行指令或软件的场景中(诸如程序模块)实现,计算机可执行指令或软件存储在计算机可读存储装置中并且由诸如图中所示的那些一个或多个计算装置的一个或多个处理器执行。通常,程序模块包括例程、程序、对象、部件、数据结构等,并且定义操作逻辑用于执行特定任务或实现特定抽象数据类型。
可以使用其他架构来实现所描述的功能,并且旨在将其包括在本公开的范围内。此外,虽然出于讨论的目的上文定义了责任的具体分布,但是取决于情况,各种功能和责任可以按不同的方式分布和划分。
类似地,可以按各种方式并且使用不同的手段来存储和分布软件,并且上述特定的软件存储和执行配置可以按许多不同的方式变化。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,不限于具体描述的存储器的形式。
示例条款
本部分中的示例条款中的任一个可以与本文描述的任何其他示例条款和/或任何其他示例或实施例一起使用。
A:一种系统,包括:一个或多个处理器;以及一个或多个非暂时性计算机可读介质,其存储能够由所述一个或多个处理器执行的指令,其中,当所述指令被执行时,使所述系统执行以下操作,包括:从与自主车辆相关联的传感器接收传感器数据;至少部分地基于所述传感器数据和第一特征确定第一热图,所述第一热图表示所述自主车辆穿越环境的第一成本集合;至少部分地基于所述传感器数据和第二特征确定第二热图,所述第二热图表示所述自主车辆穿越所述环境的第二成本集合;通过模型将所述第一热图和所述第二热图聚合为组合图;通过所述模型并且至少部分地基于所述组合图确定第一输出数据,所述第一输出数据表示能够用于在未来时间在所述环境中控制所述自主车辆的规划轨迹;通过所述模型并且至少部分地基于所述组合图确定第二输出数据,所述第二输出数据指示用于确定所述规划轨迹的原因;至少部分地基于所述第一输出数据关于所述第一特征和所述第二特征在所述环境中控制所述自主车辆;以及以下各项中的一项或多项:将所述第二输出数据传输到远程计算装置以用于训练所述模型,记录所述第二输出数据,或者使显示装置显示所述第二输出数据。
B:如条款A所述的系统,其中:所述第一特征或所述第二特征包括以下各项中的一项:与所述自主车辆相关联的车辆状态、车辆安全性、跟随另一个对象特征、车道改变特征或方向灯操作特征。
C:如条款A或B所述的系统,其中,所述第二输出数据包括与所述第一特征或所述第二特征相关联的置信值。
D:如条款A-C中任一项所述的系统,所述操作进一步包括:确定所述第一成本集合中的成本高于成本阈值;以及至少部分地基于成本高于所述成本阈值来修改树搜索的分支,其中确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于修改所述树搜索的分支的。
E:如条款A-C中任一项所述的系统,其中,所述模型是第一模型,并且所述操作进一步包括:将所述传感器数据输入到第二模型中;通过所述第二模型确定表示自主车辆在未来时间在所述环境中的行为的第三输出数据;以及以下各项中的至少一项:至少部分地基于所述第三输出数据与所述第二输出数据之间的比较来训练所述第一模型;或者至少部分地基于所述第三输出数据来验证与所述第二输出数据相关联的原因的准确性。
F:一种方法,包括:从与自主车辆相关联的传感器接收传感器数据;至少部分地基于所述传感器数据和特征来确定所述自主车辆穿越环境的成本集合的离散表示;至少部分地基于所述离散表示确定第一输出数据,所述第一输出数据表示能够用于在未来时间在所述环境中控制所述自主车辆的规划轨迹;确定表示用于确定所述规划轨迹的原因的第二输出数据;至少部分地基于所述第一输出数据关于所述特征在所述环境中控制所述自主车辆;以及以下各项中的一项或多项:输出所述第二输出数据以呈现在显示装置上,将所述第二输出数据传输到计算装置以用于训练,或者记录所述第二输出数据。
G:如条款F所述的方法,其中:所述特征包括以下各项中的一项:与所述自主车辆相关联的车辆状态、车辆安全性、跟随另一个车辆特征、车道改变特征或方向灯操作特征。
H:如条款G所述的方法,其中:所述第二输出数据包括用于指示确定所述规划轨迹的原因的确定性的置信值。
I:如条款F-H中任一项所述的方法,进一步包括:确定所述成本集合中的成本高于成本阈值;以及至少部分地基于成本高于所述成本阈值来修改树搜索的分支,其中确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于修改所述树搜索的分支的。
J:如条款F-I中任一项所述的方法,其中,第一模型确定所述第一输出数据,并且进一步包括:将所述传感器数据输入到第二模型中;通过所述第二模型确定表示自主车辆在未来时间在所述环境中的行为的第三输出数据;以及以下各项中的至少一项:至少部分地基于所述第三输出数据与所述第二输出数据之间的比较来训练所述第一模型;或者至少部分地基于所述第三输出数据来验证所述第二输出数据的准确性。
K:如条款F-J中任一项所述的方法,进一步包括:至少部分地基于所述第一输出数据确定弱分类器标签以训练机器学习模型,所述弱分类器标签将车辆行为的方面分类为好或坏;以及至少部分地基于所述弱分类器标签来训练所述机器学习模型以确定与所述规划轨迹相关联的车辆行为是好还是坏。
L:如条款F-K中任一项所述的方法,进一步包括:应用启发法来组合成成本集合,其中在所述环境中控制所述自主车辆是进一步至少部分地基于所述启发法的。
M:如条款F-L中任一项所述的方法,其中:所述成本集合包含以下的一项或多项:前进成本、跟随成本、车道改变成本、方向灯成本、相交成本、安全成本、活动对象成本或非活动对象成本。
N:如条款F-M中任一项所述的方法,其中,通过以下各项执行树搜索:将第一候选动作与第一分支相关联并且将第二候选动作与第二分支相关联;确定与所述第一候选动作相关联的成本集合的第一组合成本以及与所述第二候选动作相关联的成本集合的第二组合成本;以及至少部分地基于所述第一组合成本与所述第二组合成本之间的差从所述第一分支改变到所述第二分支,其中确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于所述树搜索的。
O:如条款F-N中任一项所述的方法,其中,所述第一候选动作包括第一候选轨迹并且所述第二候选动作包括第二候选轨迹,并且确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于所述第一候选轨迹和所述第二候选轨迹的。
P:如条款F-O中任一项所述的方法,进一步包括:通过以下各项执行树搜索:将第一分支与第一候选轨迹相关联并且将第二分支与第二候选轨迹相关联;处理在一时间段内的所述第一分支和所述第二分支以跟踪未来的所述第一候选轨迹和所述第二候选轨迹;确定处理所述第一分支的第一时间量和处理所述第二分支的第二时间量;以及确定与所述第一分支相关联的成本的第一总成本和与所述第二分支相关联的成本的第二总成本,其中确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于所述第一时间量、所述第二时间量、所述第一总成本和所述第二总成本的。
Q:一个或多个非暂时性计算机可读介质,存储能够由一个或多个处理器执行的指令,其中,当所述指令被执行时,使所述一个或多个处理器执行以下操作,包括:从与自主车辆相关联的传感器接收传感器数据;至少部分地基于所述传感器数据和特征来确定所述自主车辆穿越环境的成本集合的离散表示;至少部分地基于所述离散表示确定第一输出数据,所述第一输出数据表示能够用于在未来时间在所述环境中控制所述自主车辆的规划轨迹;确定表示用于确定所述规划轨迹的原因的第二输出数据;至少部分地基于所述第一输出数据关于所述特征在所述环境中控制所述自主车辆;以及以下各项中的一项或多项:输出所述第二输出数据以呈现在显示装置上,将所述第二输出数据传输到计算装置以用于训练,或者记录所述第二输出数据。
R:如条款Q所述的一种或多种非暂时性计算机可读介质,其中:所述特征包括以下各项中的一项:与所述自主车辆相关联的车辆状态、车辆安全性、跟随另一个车辆特征、车道改变特征或方向灯操作特征。
S:如条款Q或R所述的一种或多种非暂时性计算机可读介质,其中:所述第二输出数据包括用于指示确定所述规划轨迹的原因的确定性的置信值。
T:如条款Q-S中任一项所述的一种或多种非暂时性计算机可读介质,进一步包括:确定所述成本集合中的成本高于成本阈值;以及至少部分地基于该成本高于所述成本阈值来修改树搜索的分支,其中确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于修改所述树搜索的分支的。
虽然上文描述的示例条款是关于一种具体实施方式进行描述的,但是应当理解,在本文的上下文中,示例条款的内容也可以经由方法、装置、系统、计算机可读介质、和/或另一实施方式来实施。另外,示例A-T中的任何一个可以单独地实现或与示例A-T中的任何其他一个或多个组合来实现。
结论
虽然已经描述了本文所述的技术的一个或多个示例,但是其各种改变、添加、置换和等同物被包括在本文所描述的技术的范围内。
在示例的描述中,参考形成其一部分的附图,附图通过图示的方式示出所要求保护的主题的具体示例。应当理解,可以使用其他示例,并且可以进行诸如结构改变的改变或更改。这样的示例、改变或更改不一定偏离关于意图要求保护的主题的范围。虽然本文中的步骤可以按某种顺序呈现,但是在一些情况下,可以改变排序,使得某些输入以不同的时间或按不同的顺序提供,而不会改变所描述的系统和方法的功能。公开的程序也可以按不同的顺序执行。另外,不需要按照所公开的顺序执行本文的各种计算,并且可以容易地实施使用计算的替代顺序的其他示例。除了被重新排序之外,还可以将计算分解为具有相同结果的子计算。

Claims (15)

1.一种系统,包括:
一个或多个处理器;以及
一种或多种非暂时性计算机可读介质,其存储能够由所述一个或多个处理器执行的指令,其中,所述指令当被执行时,使所述系统执行以下操作,包括:
从与自主车辆相关联的传感器接收传感器数据;
至少部分地基于所述传感器数据和特征来确定所述自主车辆穿越环境的成本集合的离散表示;
至少部分地基于所述离散表示来确定第一输出数据,所述第一输出数据表示能够用于在未来时间在所述环境中控制所述自主车辆的规划轨迹;
确定表示用于确定所述规划轨迹的原因的第二输出数据;
至少部分地基于所述第一输出数据关于所述特征在所述环境中控制所述自主车辆;以及
以下各项中的一项或多项:输出所述第二输出数据以呈现在显示装置上,将所述第二输出数据传输到计算装置以用于训练,或者记录所述第二输出数据。
2.如权利要求1所述的系统,其中:
所述离散表示包括热图,
所述第二输出数据包括与所述特征相关联的置信值,或者
所述特征包括以下各项中的一项:与所述自主车辆相关联的车辆状态、车辆安全性、跟随另一个对象特征、车道改变特征或方向灯操作特征。
3.如权利要求1或2所述的系统,其中,所述成本集合为第一成本集合,所述特征为第一特征,并且所述操作进一步包括:
至少部分地基于所述传感器数据和第二特征来确定所述自主车辆穿越所述环境的第二成本集合的第二表示;以及
通过模型将所述离散表示和所述第二表示聚合为组合表示;
其中,确定所述第一输出数据或所述第二输出数据是至少部分地基于所述组合表示的。
4.如权利要求1-3中任一项所述的系统,所述操作进一步包括:
确定所述成本集合中的成本高于成本阈值;以及
至少部分地基于所述成本高于所述成本阈值来修改树搜索的分支,
其中,确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于修改所述树搜索的分支的。
5.如权利要求1-4中任一项所述的系统,其中,确定所述第一输出数据是由第一模型执行的,并且所述操作进一步包括:
将所述传感器数据输入到第二模型中;
通过所述第二模型确定表示所述自主车辆在所述未来时间在所述环境中的行为的第三输出数据;以及
以下各项中的至少一项:
至少部分地基于所述第三输出数据与所述第二输出数据之间的比较来训练所述第一模型;或者
至少部分地基于所述第三输出数据来验证与所述第二输出数据相关联的原因的准确性。
6.一种方法,包括:
从与自主车辆相关联的传感器接收传感器数据;
至少部分地基于所述传感器数据和特征来确定所述自主车辆穿越环境的成本集合的离散表示;
至少部分地基于所述离散表示确定第一输出数据,所述第一输出数据表示能够用于在未来时间在所述环境中控制所述自主车辆的规划轨迹;
确定表示用于确定所述规划轨迹的原因的第二输出数据;
至少部分地基于所述第一输出数据关于所述特征在所述环境中控制所述自主车辆;以及
以下各项中的一项或多项:输出所述第二输出数据以呈现在显示装置上,将所述第二输出数据传输到计算装置以用于训练,或者记录所述第二输出数据。
7.如权利要求6所述的方法,其中:
所述特征包括以下各项中的一项:与所述自主车辆相关联的车辆状态、车辆安全性、跟随另一个车辆特征、车道改变特征或方向灯操作特征。
8.如权利要求6或7所述的方法,其中:
所述第二输出数据包括用于指示确定所述规划轨迹的原因的确定性的置信值,或者
所述成本集合包括以下各项中的一项或多项:前进成本、跟随成本、车道改变成本、方向灯成本、相交成本、安全成本、活动对象成本或非活动对象成本。
9.如权利要求6-8中任一项所述的方法,进一步包括:
确定所述成本集合中的成本高于成本阈值;以及
至少部分地基于所述成本高于所述成本阈值来修改树搜索的分支,
其中,确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于修改所述树搜索的分支的。
10.如权利要求6-9中任一项所述的方法,其中,第一模型确定所述第一输出数据,并且所述方法进一步包括:
将所述传感器数据输入到第二模型中;
通过所述第二模型确定表示所述自主车辆在所述未来时间在所述环境中的行为的第三输出数据;以及
以下各项中的至少一项:
至少部分地基于所述第三输出数据与所述第二输出数据之间的比较来训练所述第一模型;或者
至少部分地基于所述第三输出数据来验证所述第二输出数据的准确性。
11.如权利要求6-10中任一项所述的方法,进一步包括:
至少部分地基于所述第一输出数据来确定弱分类器标签以训练机器学习模型,所述弱分类器标签将车辆行为的方面分类为好或坏;以及
至少部分地基于所述弱分类器标签来训练所述机器学习模型以确定与所述规划轨迹相关联的车辆行为是好还是坏。
12.如权利要求6-11中任一项所述的方法,进一步包括:
应用启发法以组合所述成本集合,
其中,在所述环境中控制所述自主车辆是进一步至少部分地基于所述启发法的。
13.如权利要求6-12中任一项所述的方法,进一步包括:
通过以下各项执行树搜索:
将第一分支与第一候选轨迹相关联并且将第二分支与第二候选轨迹相关联;
处理时间段内的所述第一分支和所述第二分支以在未来跟踪所述第一候选轨迹和所述第二候选轨迹;
确定处理所述第一分支的第一时间量和处理所述第二分支的第二时间量;以及
确定与所述第一分支相关联的成本的第一总成本和与所述第二分支相关联的成本的第二总成本,
其中,确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于所述第一时间量、所述第二时间量、所述第一总成本和所述第二总成本的。
14.如权利要求6-13中任一项所述的方法,其中:
通过以下各项执行树搜索:
将第一候选轨迹与第一分支相关联并且将第二候选轨迹与第二分支相关联;
确定所述成本集合中的与所述第一候选轨迹相关联的第一组合成本以及所述成本集合中的与所述第二候选轨迹相关联的第二组合成本;以及
至少部分地基于所述第一组合成本与所述第二组合成本之间的差异从所述第一分支改变到所述第二分支,
其中,确定表示所述规划轨迹的所述第一输出数据是进一步至少部分地基于所述树搜索的。
15.一种包括编码指令的计算机程序产品,所述编码指令当在计算机上运行时,实现如权利要求6至14中任一项所述的方法。
CN202280064289.6A 2021-09-24 2022-09-07 基于优化的规划系统 Pending CN117980212A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/485,041 2021-09-24
US17/485,041 US20230097121A1 (en) 2021-09-24 2021-09-24 Optimization based planning system
PCT/US2022/042788 WO2023048943A1 (en) 2021-09-24 2022-09-07 Optimization based planning system

Publications (1)

Publication Number Publication Date
CN117980212A true CN117980212A (zh) 2024-05-03

Family

ID=85718137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280064289.6A Pending CN117980212A (zh) 2021-09-24 2022-09-07 基于优化的规划系统

Country Status (3)

Country Link
US (1) US20230097121A1 (zh)
CN (1) CN117980212A (zh)
WO (1) WO2023048943A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230192074A1 (en) * 2021-12-20 2023-06-22 Waymo Llc Systems and Methods to Determine a Lane Change Strategy at a Merge Region
US11807252B2 (en) * 2022-02-14 2023-11-07 Here Global B.V. Method and apparatus for determining vehicle behavior

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014205170A1 (de) * 2014-03-20 2015-11-26 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Ermitteln einer Trajektorie für ein Fahrzeug
US10133275B1 (en) * 2017-03-01 2018-11-20 Zoox, Inc. Trajectory generation using temporal logic and tree search
US10671076B1 (en) * 2017-03-01 2020-06-02 Zoox, Inc. Trajectory prediction of third-party objects using temporal logic and tree search
US10579063B2 (en) * 2017-07-21 2020-03-03 Uatc, Llc Machine learning for predicting locations of objects perceived by autonomous vehicles
US10663977B2 (en) * 2018-05-16 2020-05-26 Direct Current Capital LLC Method for dynamically querying a remote operator for assistance
US11169531B2 (en) * 2018-10-04 2021-11-09 Zoox, Inc. Trajectory prediction on top-down scenes
KR20210074366A (ko) * 2018-10-16 2021-06-21 파이브 에이아이 리미티드 자율주행 차량 계획 및 예측
EP3730384B1 (en) * 2019-04-24 2022-10-26 Aptiv Technologies Limited System and method for trajectory estimation
US11755014B2 (en) * 2019-12-31 2023-09-12 Uatc, Llc Jointly learnable behavior and trajectory planning for autonomous vehicles
US20220063666A1 (en) * 2020-09-01 2022-03-03 Motional Ad Llc Scoring autonomous vehicle trajectories using reasonable crowd data

Also Published As

Publication number Publication date
US20230097121A1 (en) 2023-03-30
WO2023048943A1 (en) 2023-03-30

Similar Documents

Publication Publication Date Title
US11631200B2 (en) Prediction on top-down scenes based on action data
US11215997B2 (en) Probabilistic risk assessment for trajectory evaluation
EP3908493B1 (en) Occlusion prediction and trajectory evaluation
US11126180B1 (en) Predicting an occupancy associated with occluded region
US11548512B2 (en) Yield behavior modeling and prediction
US11554790B2 (en) Trajectory classification
US11708093B2 (en) Trajectories with intent
CN116323353A (zh) 基于相交的概率对安全系统资源的分配
US20220185267A1 (en) Object determination in an occluded region
US11433922B1 (en) Object uncertainty detection
US20220382294A1 (en) Object or person attribute characterization
US11851054B2 (en) Active prediction based on object trajectories
WO2022232708A1 (en) Velocity regression safety system
US20220176988A1 (en) Determining inputs for perception system
CN117980212A (zh) 基于优化的规划系统
CN116261540A (zh) 碰撞避免规划系统
EP4146510A1 (en) Trajectory classification
US11807233B1 (en) Procedurally generated safety system determination
US11970164B1 (en) Adverse prediction planning
US20230182782A1 (en) Identifying relevant objects within an environment
US20240092398A1 (en) Trajectory prediction based on a decision tree
US20240104934A1 (en) Training a codebook for trajectory determination
US20240101150A1 (en) Conditional trajectory determination by a machine learned model
US20240101157A1 (en) Latent variable determination by a diffusion model

Legal Events

Date Code Title Description
PB01 Publication