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

相关申请的交叉引用

本专利申请要求于2018年11月5日提交的序列号为16/181,164的美国专利申请的优先权,其全部内容通过引用并入本申请。

背景技术

规划器系统利用与环境中的物体关联的信息来确定如何穿越环境。例如,某些现有的规划器系统考虑与此类物体的相对位置来确定如何穿越环境。规划器系统还可以结合基于物理的简单建模,以在确定如何穿越环境时预测此类物体的未来状态。

附图说明

参照附图描述详细描述。在附图中,附图标记的最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的部件或特征。

图1是示出如本文所述的确定是否跟随物体的示例实施方式的示意图。

图2是示出了如本文所述的确定是否跟随物体的另一示例实施方式的示意图。

图3和图4是示出了如本文所述的确定是否跟随物体的示例性实施方式的示意图。

图5是示出了如本文所述的用于生成可行驶区域的示例计算系统的框图。

具体实施方式

本文描述的技术针对于确定用于自动驾驶车辆(在下文中称为“车辆”)是否跟随物体。这样的确定可以包括在沿着由车辆产生的轨迹的点处确定物体是否在或将在车辆的阈值距离内。例如,车辆可以产生可行驶区域,该可行驶区域代表车辆可以在其中穿越的环境区域。车辆可以捕获环境的传感器数据,该环境的传感器数据可以表示诸如在相邻车道中或以其他方式接近该车辆的另一车辆之类的物体。可行驶区域可被更新以反映物体的当前位置或预测位置,并且操作可包括针对沿车辆产生的轨迹的各个点确定物体的当前位置或预测位置是否在轨迹的阈值距离之内。如果物体侵占轨迹(例如,基于距离阈值(一个或多个)和/或成本(一个或多个)),则车辆可以确定以跟随物体。跟随可能涉及改变车辆的纵向控制(例如,速度和/或加速度)以维持车辆与物体之间的最小距离,其中最小距离可以至少部分地基于车辆和物体之间的相对距离和/或速度。

物体可以例如位于自动驾驶车辆可以在环境中行驶的可行驶区域中或相对附近。在示例中,物体可能刚刚开始从相邻车道合并到可行驶区域的车道中。

在各种实施方式中,车辆可以一次对一个物体执行“抽查”以确定是否跟随物体之一。通过通常避免额外使用处理器进行更详细的计算,例如涉及预测一个或多个物体的运动,基于预测的运动确定可能的轨迹等的计算,这样的抽查可以是相对快速的过程。替代地,抽查可以涉及一次相对于可行驶区域单独考虑(例如,“融合”)一个物体。对于每个这样的物体,可以对照计算的候选可行驶区域来检查(例如,考虑或比较)参考轨迹(例如,当前或最新轨迹的横向规划)。如上所述,如果参考轨迹与候选可行驶区域相交或在候选可行驶区域的边界的阈值距离内(或者,在其他实施例中,与新计算出的候选可行驶区域相关的成本相对较高),则车辆可以选择跟随物体。在跟随的这种情况下,可以使用新计算出的候选可行驶区域来随后修改轨迹。另一方面,在没有相交且因此没有跟随的情况下,新计算的候选可行驶区域仅用作“抽查”测量,随后被丢弃。随后可以使用环境中每个单独物体的这种抽查来通知控制器。

基于是否跟随物体的决定,自动驾驶车辆的计算设备可以通过考虑多个各种动态和/或静态物体和/或这种物体将如何在环境中操作的预测来确定构造并随后修改可行驶区域。物体的非限制性列表可以包括环境中的障碍物,包括但不限于行人,动物,骑自行车的人,卡车,摩托车,其他车辆等。在至少一个示例中,可行驶区域是环境中的虚拟表示,其通常定义约束和/或边界,在约束和/或边界中,车辆可以相对于物体和障碍物安全地行驶以有效地到达预期目的地。在一些示例中,可行驶区域由自动驾驶车辆上的计算设备(一个或多个)确定,并且可以被那些计算设备(一个或多个)用来在环境中导航自动驾驶车辆。也就是说,自动驾驶车辆上的计算设备(一个或多个)可以基于可行驶区域的范围来确定轨迹。

通常,可行驶区域可被确定为车辆可在其中行驶的环境中的虚拟空间。可行驶区域可以包括提供与物体偏移的边界,其可以基于物体(一个或多个)的语义属性,概率模型(包括物体运动的模型,传感器测量值等),道路规则(例如,结合车道边界,人行道等)或其他信息来确定。在至少一些示例中,沿可行驶区域边界的离散部分(例如,每10cm,50cm,1m等)可以用附加信息编码,例如但不限于距最近物体的距离,最近物体的语义分类,不确定性(例如,基于传感器噪声),置信度等。此外,在一些实施方式中,可以确定一个以上的可行驶区域。例如,就像现实世界中的驾驶员可能具有避免物体的多种选择一样,例如,在三车道道路上向右行驶或向左行驶,可以为一条以上的潜在规划路径确定多个可行驶区域。在这些示例中,选择一个可行驶区域进行实施。例如,可行驶区域可能是首选的,因为它具有更大的区域,因为它更好地符合交通法规(例如,让车辆驶过左侧而不是右侧),因为它避开了最多的物体,或者由于一个或多个其他原因。

作为非限制性示例,自动驾驶车辆的计算设备可以接收传感器数据并检测环境中的一个或多个物体和/或确定环境中一个或多个物体的属性或物体参数。除了与之相关联的任何不确定性信息之外,物体参数还可包括一个或多个物体中的每一个的速度,加速度,位置,分类和/或范围。由自动驾驶车辆捕获的传感器数据可以包括光检测和测距(LIDAR)传感器数据,无线电检测和测距(RADAR)传感器数据,声音导航和测距(SONAR)传感器日期,图像数据,渡越时间数据等。在某些情况下,传感器数据可以被提供给感知系统,该感知系统被配置为确定环境中的物体的类型(例如,车辆,行人,自行车,动物,停放的汽车,树木,建筑物等)。此外,感知系统可以基于传感器数据确定关于环境中的物体的运动信息。

在一些情况下,自动驾驶车辆的计算设备可以利用物体(一个或多个)和/或物体(一个或多个)的属性来确定在确定可行驶区域时应当考虑哪个物体(一个或多个),以确定可行驶区域的范围,和/或确定轨迹,或修改现有轨迹,以在可行驶区域中导航自动驾驶车辆。在一些示例中,可以至少部分地通过考虑与预测的轨迹的车辆动力学相关联的一个或多个成本和/或约束来确定是否修改可行驶区域和/或轨迹。

在一些实施方式中,自动驾驶车辆上的计算设备(一个或多个)可以通过融合或包括关于环境中的多个物体的数据来确定或修改可行驶区域。例如,计算设备(一个或多个)可以确定相对于一个或多个物体导航通过环境的轨迹。然后,在沿着轨迹的离散点(或离散点处的线段)处,计算设备(一个或多个)可以确定(例如)从轨迹到物体的横向距离。例如,计算设备(一个或多个)可以使用射线投射技术来确定沿轨迹的车辆姿势处的横向距离。然后,基于这些距离和关于物体(一个或多个)的信息,可以确定修改的轨迹。例如,计算设备(一个或多个)可以使用关于物体的语义信息来对物体进行分类,并确定与其相关联的安全系数或安全等级。在一些情况下,车辆与物体的最小偏移距离或安全裕度可以与每个安全等级相关联。计算设备(一个或多个)也可以使用关于物体的概率信息来确定安全等级和/或车辆相对于物体的偏移距离。例如,计算设备(一个或多个)可以将概率滤波应用于距离确定,以例如考虑与横向距离相关联的不确定性。例如,不确定性可能与测量相关,例如与传感器和/或传感器部件的校准和/或公差,与感测到的物体的运动,例如,与物体的潜在未来运动或表征运动的预测模型等相关的不确定性。

在一些实施方式中,可以使用成本或约束来例如强制执行安全行驶条件和/或物理正确性(例如,以确保轨迹遵循物理上合理的轨迹)。在某些情况下,可以通过在点之间进行插值来确定轨迹,这些点由以下所述的过程确定,或者将曲线拟合到这些点(例如,拟合多项式曲线,贝塞尔曲线,回旋曲线等中的一项或多项)。在某些情况下,生成或修改轨迹和/或选择点可以至少部分基于与车辆动力学相关的一个或多个成本和/或约束,以防止或减少轨迹可能导致危险或不安全行驶条件或代表不合理的轨迹(例如,涉及车辆的“远距运输(teleportation)”,其中后续点包括车辆的物理上不可能的运动)。这样成本的示例可以包括但不限于速度成本(例如,恒定速度成本),加速成本,物体可能遵循道路规则的期望等。

例如,通常基于环境中的物体来确定可行驶区域(例如,行驶走廊/包络)。在一些示例中,这样的物体可以表示静态物体(例如,停放的汽车,建筑物,塔等)。在其他示例中,这样的物体可以附加地或可替代地包括不会影响车道内的行驶的动态物体(例如,自自动驾驶车辆后方的车辆,迎面驶来的车辆等)。随后生成约束到可行驶区域的轨迹。响应于物体(例如,相邻车道中的第二车辆)进入车辆的可行驶区域(和/或这种事件的预测),可在“抽查”操作中修改可行驶区域。修改的(例如,最新更新的)可行驶区域与最新轨迹之间的比较(例如,经由抽查)可以确定是否要跟随物体。在确定要跟随的情况下,可以基于比较来修改轨迹。否则,轨迹不需要修改,至少到目前为止不需要响应于物体的动作修改。换句话说,如果不跟随该物体,则可行驶区域和/或轨迹可被保持,并且车辆将继续沿当前轨迹行驶。

在一些示例中,一旦建立了修改的可行驶区域,则自动驾驶车辆的计算设备可以确定是否生成一个或多个新轨迹以在可行驶区域内进行。因此,例如,可行驶区域可以限定车辆可以在其中行驶的区域的边界,并且轨迹可以是车辆将根据其行驶的可行驶区域内的离散段。因此,例如,尽管可以使用穿过环境的规划路径来计算可行驶区域,但是轨迹可以是离散的,较短的段,旨在由车辆执行以在可行驶区域内穿越环境。

本文描述的技术针对于利用传感器和感知数据以使诸如自动驾驶车辆之类的车辆能够导航通过环境,同时跟随或规避环境中的物体。例如,可以基于预测概率来生成一个或多个轨迹,并且可以将这些轨迹提供给规划器系统以控制自动驾驶车辆的操作。

在一些示例中,自动驾驶车辆的计算设备的预测系统可以包括机器学习模型,该机器学习模型被训练为输出可以用于生成接近自动驾驶车辆的物体的一个或多个预测轨迹的数据。例如,机器学习模型可以在将来的一次或多次(例如,1秒,2秒,3秒等)输出与物体(例如,第三方车辆)关联的坐标(例如,x坐标和y坐标)。在一些示例中,机器学习模型可以输出与物体相关联的坐标以及与每个坐标相关联的概率信息。在一些示例中,这样的概率信息可以被表示为与阈值概率水平(例如,物体在特定时间的位置在由椭圆表示的区域内的概率为65%)相关联的椭圆或其他多边形。可以通过在机器学习模型输出的坐标之间进行插值来生成预测的轨迹。在一些示例中,机器学习模型可以包括卷积神经网络(CNN),其可以包括一个或多个递归神经网络(RNN)层,诸如但不限于长短期记忆(LSTM)层。在一些示例中,机器学习模型可以输出与预测概率相关联的热图。在一些示例中,可以至少部分地基于热图来确定至少一个预测的轨迹。

本文描述的技术可以提供用于确定是否跟随环境中的物体的鲁棒框架。通过基于将物体范围合并到车辆的可行驶区域中来执行基于几何或基于成本的检查,本文描述的技术可以比常规技术更快。在某些情况下,快速确定要跟随车辆可以允许规划系统更改车辆的轨迹(例如,通过减速),从而可以改善安全性结果(例如,通过保持车辆与物体之间的最小距离)和/或通过改善乘客舒适度(例如,通过缓慢减速而不是制动来调节车辆速度)。

本文描述的技术可以以多种方式来实现。下面参考以下附图提供示例实施方式。尽管在自动驾驶车辆的上下文中进行了讨论,但是本文描述的方法,装置和系统可以应用于各种系统(例如,传感器系统或机器人平台),并且不限于自动驾驶车辆。在另一个示例中,可以在航空或航海环境中利用这些技术。另外,本文描述的技术可以与真实数据(例如,使用一个或多个传感器捕获的),模拟数据(例如,由模拟器生成的)或两者的任何组合一起使用。

图1-5提供了与本文描述的技术相关联的附加细节。

图1是示出了如本文所述的在确定车辆是否要跟随物体期间所涉及的示例过程的图形流程图。具体地,图1示出了由车辆102执行的过程100,其中在确定是否为该车辆创建修改的控制时考虑环境中的物体104。在特定示例中,诸如车辆之类的物体104可能在相邻车道中并合并到车辆102的路径或车道中。这种情况尤其可能导致确定是否跟随物体104。修改的可行驶区域随后可以用于确定和/或修改通过环境的轨迹,例如,因此车辆102可以沿着该轨迹行驶通过环境。修改的轨迹与跟随物体104的车辆102相关联,而未修改的轨迹与不跟随物体104的车辆相关联。在物体104直接位于车辆102前方的示例中,可行驶区域被修改以使得可行驶区域不包括物体104,并且生成修改的轨迹将导致车辆102跟随物体104。

图1所示的过程不限于使用车辆102执行,并且可以使用本申请中描述的任何其他车辆以及本文所述之外的其他车辆来实施。此外,本文描述的车辆102不限于执行图1所示的过程。

过程100被示为逻辑流程图中的框的集合,其表示可以以硬件,软件或其组合来实现的操作序列。在软件的上下文中,框代表存储在一个或多个计算机可读存储介质上的计算机可执行指令,该计算机可执行指令在由处理器(一个或多个)执行时执行所陈述的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程,程序,对象,部件,数据结构等。描述操作的顺序不旨在被理解为限制,并且可以以任何顺序和/或并行地组合任意数量的所描述的框以实现处理。在一些实施例中,可以完全省略该过程的一个或多个框。而且,过程100可以全部或部分地与其他过程组合。

在框106处,车辆102经由以硬件,软件或其组合实现的操作来确定环境中的可行驶区域和轨迹。可行驶区域可能已经基于环境中的一个或多个静态障碍物(例如,车道边界,路缘,人行道,停放的汽车等)和/或动态障碍物(例如,来往交通等)的位置/定位被预先确定。如图所示,车辆102在可行驶区域110中遵循轨迹108。车辆102在车道112中行驶并且物体104(例如,另一车辆)在相邻车道114中行驶。这两个车道由分隔物116界定,尽管在某些实施方式中分隔物116不需要包括任何标记,但其可以是油漆条纹或鲍里斯点(例如,凸起的路面标记)。可行驶区域110可基于环境中的静态和/或动态物体而产生。在一些实施方式中,可行驶区域110的尺寸和几何形状(因此可能包括从可行驶区域110移除的区域“切口”(图1中未显示))可基于环境中特殊物体的考虑来确定,例如紧急响应车辆,迎面而来的交通,交叉交通等。换句话说,此类特殊物体可能会指示以其他方式基于其他物体确定的可行驶区域的各个部分是不可接受的,因此对于可行驶区域的“最终”版本应将其删除。

在框118处,车辆102经由以硬件,软件或其组合实现的操作,基于物体104的动作和/或位置来确定修改的可行驶区域。这样的确定可以基于与物体104相关联的传感器数据并通过与物体104相关联的传感器数据来接收。在图1所示的示例情况下,物体104执行改变,漂移和/或从车道112合并到车道114中的动作,导致车道侵入。该动作可以提示车辆102确定修改的可行驶区域110*,其可以包括“切口”或去除可行驶区域110的一部分120。在其他实施方式中,车辆102可以仅响应于物体104与车辆102的接近度、而不管物体104的动作如何来确定修改的可行驶区域110*。在下文所述的其他实施方式中,车辆102可以至少部分地基于与物体104相关联的成本来确定修改的可行驶区域110*。在下文描述的其他实施方式中,车辆102可以至少部分地基于物体104的预测行为来确定修改的可行驶区域110*。可以针对附加的附近物体一次执行框118的过程(图1中未示出)。

如下所述,车辆102可包括传感器系统(一个或多个),例如LIDAR传感器,RADAR传感器,超声换能器,SONAR传感器,渡越时间传感器,位置传感器(例如GPS,指南针等),惯性传感器(例如,惯性测量单元,加速计,磁力计,陀螺仪等),相机(例如RGB,IR,强度,深度等),麦克风,车轮编码器,环境传感器(例如温度传感器,湿度传感器,光传感器,压力传感器等)等。传感器系统(一个或多个)可以向车辆计算设备(一个或多个)提供输入,并且车辆计算设备(一个或多个)的一个或多个系统可以利用该输入。例如,在至少一个示例中,车辆计算设备(一个或多个)可以接收输入以供定位系统,感知系统,预测系统,规划器系统和/或可行驶区域确定系统进行处理。

在至少一个示例中,车辆102可以经由网络(一个或多个)将传感器数据发送到计算设备(一个或多个)。在一些示例中,车辆102可以将原始传感器数据发送到计算设备(一个或多个)。在其他示例中,车辆102可以将处理的传感器数据和/或传感器数据的表示发送到计算设备(一个或多个)(例如,从定位系统,感知系统,预测系统和/或规划器系统输出的数据)。在一些示例中,在经过预定时间段之后,接近实时等,车辆102可以以特定的频率将传感器数据发送到计算设备(一个或多个)。随着时间的推移收集的传感器数据可以对应于日志数据。

在框122处,车辆102经由以硬件,软件或其组合实现的操作,基于修改的可行驶区域来评估车辆102的轨迹。在一些情况下,操作可以包括在离散的时间步长或轨迹108上的点处评估环境的状态,这可以称为“rollout”。这样的评估可以包括如预期的随着时间更新车辆102和/或物体104的位置。这样的评估是用于通过基于物体104确定修改的可行驶区域是否需要新的轨迹来确定物体104是否影响轨迹的技术的一部分。例如,如果物体104基本上移入车道112,则可行驶区域110将需要被修改。即使在这种情况下,例如,如果在轨迹108和物体104之间仍然存在安全且重要的横向间隙124(例如,关于基于车辆102和/或物体104的速度的阈值,物体104的分类,车辆102在地图上的位置等)。在这种情况下,车辆102可以通过物体104(或以其他方式继续遵循轨迹108),因此选择不跟随物体104。

在框126处,车辆102确定是否修改与轨迹108相关联的控制(一个或多个)。例如,如上所述,这种确定可以基于物体104是否影响轨迹108。在一些示例中,这种确定可以在几何上进行(例如,轨迹108是否与可行驶区域110的边界相交和/或在其预定距离内)。在附加的或替代的示例中,这种确定可以包括在给定更新或修改的可行驶区域110*的情况下,确定与遵循轨迹相关的各种成本。例如,这样的成本可以至少部分地基于与轨迹相关联的行程参数。在一些实施方式中,行程参数可以包括事故风险因素和车辆动力学中的一个或多个(例如,其可以用于确定用于安全舒适地减速(或停止)的安全停止轨迹)。成本或行程参数还可以包括与最小距离相关联的数据,以保持车辆与物体之间的最小距离。仅列举几个示例,其他行程参数可以包括车辆动力学,乘客舒适度,估计的到达时间和能量使用。

在框128处,在过程100的框118、122和126中,一次(和/或基本上同时且独立地)可以包括和考虑除物体104以外的物体。以这种方式,关于每个物体的信息可单独地与可行驶区域110融合或组合,并相对于参考线(例如,轨迹108)检查以确定是否跟随(例如,根据纵向速度进行控制)。如上所述,在自动驾驶车辆正在行驶的环境中可能存在许多物体。这样的物体可能包括车辆和行人。基于传感器数据,车辆计算设备可以例如经由图像处理,视觉检测,分类和/或分割,LIDAR检测,分割和/或分类和/或其他过程来识别物体。

在框130处,基于与修改的轨迹相关联的修改的控制(一个或多个)来控制车辆102,使得车辆102跟随物体104。可替代地,基于与(未修改的)轨迹108相关联的未修改的控制来控制车辆102,从而使车辆102不跟随物体104。

图2是示出了如本文所述的基于物体的预测行为确定车辆是否要跟随物体期间所涉及的示例过程的图形流程图。具体地,图2示出了类似于图1的环境,但是另一过程200由车辆102执行。过程200包括基于物体104所执行的动作的预测来确定是否为车辆102创建修改的可行驶区域。在特定示例中,物体104可以在相邻车道中并且刚开始(或显示某种意图指示)合并至车辆102的路径或车道中。这种情况尤其可以导致确定是否跟随物体104。随后可以使用修改的可行驶区域来确定和/或修改通过环境的轨迹,例如,使得车辆102可以沿着轨迹行驶通过环境。修改的轨迹与跟随物体104的车辆102相关联,而未修改的轨迹与不跟随物体104的车辆102相关联。

对于上面的过程100,过程200被示为逻辑流程图中的框的集合,其表示可以以硬件,软件或其组合来实现的操作序列。在软件的上下文中,框代表存储在一个或多个计算机可读存储介质上的计算机可执行指令,该计算机可执行指令在由处理器(一个或多个)执行时执行所陈述的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程,程序,对象,部件,数据结构等。描述操作的顺序不旨在被理解为限制,并且可以以任何顺序和/或并行地组合任意数量的所描述的框以实现处理。在一些实施例中,可以完全省略该过程的一个或多个框。而且,过程200可以全部或部分地与其他过程组合。

在框202处,车辆102经由以硬件,软件或其组合实现的操作来确定环境中的可行驶区域和轨迹。可以基于环境中一个或多个静态或动态障碍物的位置/定位预先确定可行驶区域。如图所示,车辆102在可行驶区域206中遵循轨迹204。车辆102在车道112中行驶并且物体104(例如,另一车辆)在相邻车道114中行驶。这两个车道由分隔物116限定边界,分隔物116可以是油漆条纹或鲍里斯点(例如,凸起的路面标记),尽管分隔物116在一些实施方式中不需要包括任何标记。可行驶区域206可基于环境中的静态和/或动态物体而产生。

在框208处,车辆102经由以硬件,软件或其组合实现的操作来确定与物体104相关联的预测的轨迹。物体的预测运动可以用于确定物体104将在车辆102的前方切入的可能性,这可能影响和/或潜在地干扰车辆102的操作。例如,物体104的车道变更可能需要车辆102减速以为物体104跟随物体腾出空间。这种情况将涉及修改车辆102的可行驶区域206。特别地,在框210处,车辆102经由以硬件,软件或其组合实现的操作,基于物体104的预测的轨迹来确定修改的可行驶区域。在图2所示的示例情况中,车辆102从预测的可能性(例如,可能超过预定阈值)中预测轨迹212,其中物体104将从车道112漂移和/或合并至车道114中,从而导致车道侵入。物体104的该预测的轨迹可以促使车辆102确定修改的可行驶区域206*,其可以包括可行驶区域206的一部分214的“切口”或移除。在一些实施方式中,车辆102可以确定物体104的多个预测轨迹,并且这些预测轨迹中的每一个可以与可能性值相关联。车辆102可以例如基于具有最高可能性值的预测轨迹来确定修改的可行驶区域206*(例如,在确定此类物体的多个预测轨迹的那些示例中),尽管可以使用任何预测轨迹和/或这种轨迹的不确定性或可能性。可以针对附加的附近物体(图2中未示出)一次和/或基本上同时且独立地执行框208和210的过程。

车辆102可以基于由如上所述的传感器系统(一个或多个)收集的数据来预测物体104(和其他物体)的行为。这样的传感器系统(一个或多个)可以向车辆计算设备(一个或多个)提供输入,并且车辆计算设备(一个或多个)的一个或多个系统可以利用该输入。例如,在至少一个示例中,车辆计算设备(一个或多个)可以接收输入以供定位系统,感知系统,预测系统,规划器系统和/或可行驶区域确定系统进行处理。

在框216处,车辆102经由以硬件,软件或其组合实现的操作,基于修改的可行驶区域206*(其可能已经基于物体104的预测轨迹212进行了修改)来评估车辆102的轨迹204。在一些情况下,这些操作可以包括在沿着轨迹204的离散时间步长或点处评估环境的状态,这可以被称为“rollout”。这样的评估可以包括随着时间的推移预期地更新车辆102和/或物体104的位置(例如,基于与车辆102相关联的控制和/或基于与预测的轨迹204相关联的预期位置,加速度,速度等)。这样的评估是用于通过基于物体104确定修改的可行驶区域206*是否需要新的轨迹(例如,替换轨迹204)来确定物体104是否影响轨迹204的技术的一部分。例如,如果物体104的预测轨迹212相交于或进入车辆102的轨迹204的预定阈值距离之内,则需要修改轨迹204和/或可行驶区域206。在附加或替代示例中,可以确定与相对于修改的可行驶区域206*的轨迹204相关联的成本。

在框218处,车辆102确定是否修改与轨迹204相关联的车辆102的控制(一个或多个)。例如,如上所述,这种确定可以基于物体104是否影响轨迹204。在图2所示的示例中,物体104的预测的轨迹212导致物体104直接位于车辆102的前面,并且在某些时间步中,占据了与轨迹204相关联的环境的一部分。这种情况可能导致车辆102生成修改的轨迹220(例如,代替轨迹204),以跟随物体104。

如图1中所示,可以关于几何形状(轨迹204是否相交于和/或进入修改的可行驶区域206*的阈值距离之内)和/或通过重新评估与修改的可行驶区域206*相关联的各种成本来做出这样的确定。例如,这样的成本可以至少部分地基于与轨迹相关联的行程参数。在一些实施方式中,行程参数可以包括以下各项中的一项或多项功能:到边界的距离(例如,抛物线,多项式,指数等),车辆速度,车辆加速度的变化,跟随距离,事故风险因素和车辆动力学(例如,其可以用来确定安全停止的轨迹,以安全且舒适地减速(或停止))等。成本或行程参数还可以包括与最小距离相关联的数据,以保持车辆与物体之间的最小距离。仅列举几个示例,其他行程参数可以包括车辆动力学,乘客舒适度,估计的到达时间和能量使用。

在框222处,基于与修改的轨迹相关联的修改的控制来控制车辆102,使得车辆102跟随物体104。可替代地,在物体104的预测轨迹212不与车辆102的轨迹204相交或干涉的情况下,基于与(未修改的)轨迹108相关联的未修改的控制来控制车辆102,使得车辆102不跟随物体104。

将会理解,随着车辆102移动通过环境,环境中的物体在不断变化。因此,过程100和200可以迭代地执行。例如,可以以例如约0.5秒至约3秒的间隔近实时地确定新的可行驶区域。此外,当物体相对于车辆改变位置,速度,姿态等时,可行驶区域可被更新以包括关于物体的新信息。此外,每个可行驶区域可以基于例如车辆和/或物体(一个或多个)的预测运动的传播。因此,例如,沿着确定横向距离的路径的位置可以包括当车辆处于与轨迹相关联的位置时物体将在何处的近似值。

图3是示出了在确定是否跟随物体304的交叉路口处的车辆302的示例实施方式300的示意图。具体地,图3示出了车辆302在(例如,跟随)物体304的后面(既在车道306中行驶又在接近交叉路口)。如图所示,物体304向左转入相交街道的车道308。在描绘的情况之前,车辆302可能已经在物体304后面一段时间了,可替代地,物体304可能刚刚从右车道308进入车道306,以准备向左转弯,从而在车辆302的前方牵引(例如,插道)。这种转弯可能会导致两种情况。在第一种情况下,例如,在从车道306转向车道308的过程中或之前,物体304可能会大幅减速或停止。在第二种情况下,物体304可以在转弯的整个过程中基本上保持其速度。在任一情况下,车辆302可执行确定是否跟随物体304直到物体304转弯的过程。例如,在第一种情况下,跟随物体304的动作意味着车辆302随着物体304的减速而减速,从而保持了车辆和物体之间的安全距离。可替代地,在第一情况下,不跟随物体304的动作意味着车辆302经由右车道310经过物体304。在第二情况下,跟随物体304的动作意味着车辆302维持其速度,并期望物体304可以从车道306转向车道308。可替代地,在第二种情况下,不跟随物体304的动作意味着车辆302经由右车道310经过物体304。

在各种实施方式中,车辆302可以执行物体304的“抽查”以确定是否跟随物体。如上所述,通过通常避免额外使用处理器进行更详细的计算,例如涉及确定详细的成本(一个或多个)或预测物体的运动,基于预测的运动确定可能的轨迹等,这样的抽查可以是相对快速的过程。替代地,抽查可以包括评估和比较车辆302的可行驶区域314的当前或最新轨迹312的横向规划图与车辆302的新计算的修改的可行驶区域的轨迹。注意,可行驶区域314指示上述后一种情况,其中物体304突然被牵引到车辆302的前方。如果参考轨迹312相交(或者,在其他实施例中,参考新计算的修改的可行驶区域,与这样的轨迹相关的成本相对较高),车辆302可以选择跟随物体304。在这种情况下,新近计算的修改的可行驶区域314用于修改车辆302的行驶轨迹。另一方面,在没有相交因而没有跟随的情况下,新计算的候选可行驶区域仅被用作“抽查”测量,随后被丢弃。在一些实施方式中,如上所述,车辆302可以基于物体304的预测轨迹316来修改可行驶区域314。可替代地,如果车辆302确定物体304将离开车道306进入车道308,则车辆302可以保持可以减小车辆302与物体304之间的距离的速度,该距离则可能与“制动tap”相关联以使车辆302减速。也就是说,在一些情况下,基于预测的轨迹316确定物体304可以离开可行驶区域314可以减少减速度,从而改善乘坐舒适性和/或节省车辆能量资源。

图4是示出了在交叉路口处确定是否跟随物体404的车辆402的示例实施方式400的示意图。具体地,图4示出了在车道406中行驶并接近交叉路口的车辆402。如图所示,物体404在迎面驶来的车道408中并右转进入相交街道的车道410。车辆402还打算转入车道410(从车道406)。车辆402和物体404的这种转弯可能导致两种情况。例如,在第一种情况下,物体404可以在从车道408到车道410的转弯期间或之前实质上减速或停止。在第二种情况下,物体404可以在转弯的整个过程中基本上保持其速度。在任一情况下,车辆402可以在转弯之后执行确定是否跟随物体404的过程。例如,在第一种情况下,跟随物体404的动作意味着车辆402足够慢地减速以允许物体404在车辆402转弯之前转弯。在(物体404和车辆402的)两个转弯之后,跟随意味着车道410中保持了车辆和物体之间的安全距离。可替代地,在第一种情况下,不跟随物体404的动作意味着车辆402在物体404转向车道410之前,它没有为物体404让路并转入车道410。在第二种情况下,跟随物体404的动作意味着车辆402继续转弯,并在车道410中保持在物体404后面的安全距离。

在各种实施方式中,车辆402可以执行物体404的抽查以确定是否跟随该物体。抽查可能涉及评估车辆402的当前或最新轨迹412的横向规划,并将其与新计算的车辆402的修改的可行驶区域进行比较。如果参考轨迹相交(或者,在其他实施例中,与新计算的修改的可行驶区域相关的成本相对较高),则车辆402可以选择跟随物体404。在这种情况下,新计算的修改的可行驶区域用于修改车辆402的轨迹。另一方面,在没有相交且因此没有跟随的情况下,新计算的候选可行驶区域仅用作“抽查”测量,然后丢弃。在一些实施方式中,如上所述,车辆402可以基于物体404的预测轨迹416来修改可行驶区域414。

图5是示出如本文所述的用于产生和利用可行驶区域的示例性系统500的框图。在至少一个示例中,系统500可以包括车辆502,该车辆可以是与以上参考图1-4描述的车辆102、302和402相同的车辆。车辆502可以包括一个或多个车辆计算设备504,一个或多个传感器系统506,一个或多个发射器508,一个或多个通信连接510,至少一个直接连接512以及一个或多个驱动系统514。在一个示例中,传感器系统506可以对应于上述传感器系统。

车辆计算设备(一个或多个)504可以包括处理器(一个或多个)516和与处理器(一个或多个)516通信耦合的存储器518。在所示的示例中,车辆502是自动驾驶车辆。然而,车辆502可以是任何其他类型的车辆。在所示的示例中,车辆计算设备(一个或多个)504的存储器518存储定位系统520,感知系统522,预测系统524,规划器系统526,可行驶区域确定系统528以及一个或多个系统控制器530。尽管将这些系统和部件示出并在下面进行描述,但是为了便于理解,作为单独的部件,各种系统和控制器的功能可以与所讨论的属性不同。通过非限制性示例,归属于感知系统522的功能可以由定位系统520和/或预测系统524来执行。此外,可以利用更少或更多的系统和部件来执行本文所述的各种功能。此外,尽管出于说明性目的在图5中描绘为驻留在存储器518中,但是可以预期,定位系统520,感知系统522,预测系统524,计划器系统526,可驱动区域确定系统528和/或一个或多个系统控制器530可以附加地或替代地由车辆502可访问(例如,存储在远离车辆502的存储器上或以其他方式可由其访问)。

还如图5所示,存储器518可以包括可以存储一个或多个地图的地图存储器532和/或可以存储物体信息的物体信息存储器534。地图可以是以二维或三维模型建模的任意数量的数据结构,这些数据结构可以提供有关环境的信息,例如但不限于拓扑(诸如交叉路口),街道,山脉,道路,地形和一般环境。

在至少一个示例中,定位系统520可以包括从传感器系统(一个或多个)506接收数据以确定车辆502的位置和/或方向(例如,X位置,Y位置,Z位置,滚动,俯仰或偏航中的一个或多个)的功能。例如,定位系统520可以包括和/或请求/接收环境的地图(例如,从地图存储器532),并且可以连续地确定该地图内的自动驾驶车辆的位置和/或方向。在一些情况下,定位系统520可以利用SLAM(同时定位和映射),CLAMS(同时进行校准,定位和映射),相对SLAM,束调整,非线性最小二乘优化,差分动态编程等来接收图像数据,LIDAR数据,RADAR数据,IMU数据,GPS数据,车轮编码器数据等,以准确地确定自动驾驶车辆的位置。在一些情况下,定位系统520可以将数据提供给车辆502的各个部件,以确定自动驾驶车辆的初始位置,以产生用于在环境中行驶的轨迹。

在某些情况下,感知系统522可以包括执行物体检测,分割和/或分类的功能。在一些示例中,感知系统522可以提供处理后的传感器数据,该传感器数据指示诸如物体104、304和404之类的接近车辆502的物体的存在。感知系统还可以包括将实体分类为实体类型(例如,汽车,行人,骑自行车的人,动物,建筑物,树木,路面,路缘,人行道,未知对象等)。例如,感知系统522可以将传感器数据与物体信息数据库534中的物体信息进行比较以确定分类。在附加和/或替代示例中,感知系统522可以提供处理的传感器数据,该传感器数据指示与检测到的物体和/或物体所处的环境相关联的一个或多个特征。在一些示例中,与物体相关联的特征可以包括但不限于x位置(全局和/或局部位置),y位置(全局和/或局部位置),z位置(全局和/或局部位置),方向(例如,滚动,俯仰,偏航),物体类型(例如,分类),物体的速度,物体的加速度,物体的范围(大小),与物体关联的边界框等。与环境关联的特征可以包括但不限于环境中另一个物体的存在,环境中另一个物体的状态,一天中的时间,一周中的一天,一个季节,天气状况,黑暗/光亮指示等。

预测系统524可以访问来自传感器系统(一个或多个)506的传感器数据,来自地图存储器532的地图数据,以及在一些示例中,从感知系统522输出的感知数据(例如,处理后的传感器数据)。在至少一个示例中,预测系统524可以至少部分地基于传感器数据,地图数据和/或感知数据来确定与物体相关联的特征。如上所述,特征可以包括物体的范围(例如,高度,重量,长度等),物体的姿势(例如,x坐标,y坐标,z坐标,俯仰,滚动,偏航),物体的速度,物体的加速度和物体的行驶方向(例如,航向)。此外,预测系统524可以被配置为确定物体与附近的行驶车道之间的距离,当前行驶车道的宽度,与人行横道的接近度,语义特征(一个或多个),交互式特征(一个或多个)等。

预测系统524可以分析物体的特征以预测物体的未来动作。例如,预测系统524可以预测车道变更,减速度,加速度,转弯,方向变化等。预测系统524可以将预测数据发送到可行驶区域确定系统528,使得可行驶区域确定系统528可以利用该预测数据来确定可行驶区域的边界(例如,除了或根据物体的语义分类,还基于位置,速度,加速度的不确定性中的一项或多项)。例如,如果预测数据指示沿着肩部行走的行人行为不规律,则可行驶区域确定系统528可以确定靠近行人的可行驶区域的增加的偏移量。在车辆502不是自动驾驶的一些示例中,预测系统524可以向驾驶员提供可能影响行驶的预测事件的指示(例如,音频和/或视觉警报)。

在一些示例中,预测系统524可以包括确定表示环境中物体的预测位置(一个或多个)的预测点(一个或多个)的功能。在一些实施方式中,预测系统524可以至少部分基于与最高概率相关联的单元和/或至少部分地基于与生成与预测点相关联的预测轨迹相关联的成本(一个或多个)来确定与热图相关联的预测点。

例如,预测系统524可以至少部分地基于评估与风险因素,安全性和车辆动力学相关联的一个或多个成本函数,来选择热图的点,单元或区域作为预测点,仅举几个示例。这样的成本可以包括但不限于基于位置的成本(例如,限制预测点之间允许的距离),速度成本(例如,通过预测的轨迹实施恒定速度的恒定速度成本),加速度成本(例如,在整个预测轨迹上强制实施加速边界),物体可能遵循道路规则的期望等。在至少一些示例中,与单元相关联的概率可以乘以成本(在至少一些示例中可以被归一化),使得与成本乘以概率的最大值相关联的点(例如,候选点)就被选择为与特定时间与物体相关联的预测点。

通常,规划器系统526可以确定车辆502要遵循的穿越环境的路径。例如,规划器系统526可以确定各种路线和轨迹以及各种细节水平。例如,规划器系统526可以确定从第一位置(例如,当前位置)到第二位置(例如,目标位置)行驶的路线。为了便于讨论,路线可以是在两个位置之间行驶的一系列路标。作为非限制性示例,路标包括街道,交叉路口,全球定位系统(GPS)坐标等。此外,规划器系统526可以生成用于沿着从第一位置到第二位置的路线的至少一部分引导自动驾驶车辆的指令。在至少一个示例中,规划器系统526可以确定如何将自动驾驶车辆从路标序列中的第一路标引导到路标序列中的第二路标。在一些示例中,指令可以是轨迹或轨迹的一部分。在一些示例中,可以根据滚动时域技术基本上同时(例如,在技术公差内)生成多个轨迹,其中选择多个轨迹之一供车辆502导航。因此,在本文描述的示例实施方式中,规划器系统526可以生成轨迹,车辆可以沿着该轨迹导航,并且该轨迹被包含在可行驶区域内。

可行驶区域确定系统528被配置为确定可行驶区域,例如可行驶区域110。尽管在存储器518中被示为单独的块,但是在一些示例和实施方式中,可行驶区域确定系统528可以是规划器系统526的一部分。可行驶区域确定系统528可以访问来自传感器系统(一个或多个)506的传感器数据,来自地图存储器532的地图数据,来自物体信息存储器534的物体信息,来自定位系统520,感知系统522和/或预测系统524中的一个或多个的输出(例如,处理的数据)。通过非限制性示例,可行驶区域确定系统528可以访问(例如,检索或接收)一个或多个规划路径。规划路径可以表示导航环境的潜在路径,并且例如可以基于地图数据,物体信息和/或感知数据来确定。在一些示例中,规划路径可以被确定为用于执行任务的候选路径。例如,车辆计算设备(一个或多个)504可以将任务定义或确定为到目的地的最高级别的导航,例如,用于导航到目的地的一系列道路。一旦确定了任务,便可以确定用于执行该高级导航的一个或多个动作。动作可能包括更频繁地确定如何执行任务。例如,动作可以包括诸如“跟随车辆”,“在右侧通过车辆”之类的任务。在一些示例中,可以针对每个动作确定本文描述的投影路径。

对于规划路径(一个或多个),可行驶区域确定系统528可以在沿着规划路径(一个或多个)的离散点处确定从路径到环境中的物体的横向距离。例如,距离可以被接收为由感知系统522生成的感知数据,和/或可以使用数学和/或计算机视觉模型,例如射线投射技术来确定。然后可以调整各种横向距离以解决其他因素。例如,可能期望保持车辆502与环境中的物体之间的最小距离。在本公开的实现中,关于物体的信息,包括语义分类,可以用于确定那些距离调整。此外,预测系统524也可以提供关于物体的预测运动的预测数据,并且可以基于那些预测来进一步调整距离。例如,预测数据可以包括置信度分数,并且可以基于置信度分数来调整横向距离,例如,通过对较小的置信度预测进行较大的调整,对于较小的置信度预测进行较小的调整或不进行调整。使用调整后的距离,可行驶区域确定系统528可以限定可行驶区域的边界。在至少一些示例中,可以离散边界(例如,每10cm,50cm,1m等),并且可以对关于边界的信息进行编码(例如,到最近物体的横向距离,最近物体的语义分类,与边界相关联的置信度和/或概率得分等)。如本文中所描述的,由规划器系统526确定的轨迹可以由可行驶区域限制并根据可行驶区域限制。尽管可行驶区域确定系统528被示为与规划器系统526分离,但是可行驶区域系统528的一个或多个功能可以由规划器系统526执行。在一些实施例中,可行驶区域确定系统528可以是规划器系统526的一部分。

在至少一个示例中,定位系统520,感知系统522,预测系统524,规划器系统526和/或可行驶区域确定系统528可以如上所述处理传感器数据,并且可以通过网络(一个或多个)536将它们各自的输出发送到计算设备(一个或多个)538。在至少一个示例中,定位系统520,感知系统522,预测系统524和/或规划器系统526可以在经过预定时间段之后,接近实时等,以特定频率将它们各自的输出发送到计算设备(一个或多个)538。

在至少一个示例中,车辆计算设备(一个或多个)504可以包括一个或多个系统控制器530,其可以被配置为控制车辆502的转向,推进,制动,安全,发射器,通信和其他系统。这些系统控制器(一个或多个)530可以与驱动系统(一个或多个)514和/或车辆502的其他部件的相应系统通信和/或控制该系统。例如,系统控制器530可以使车辆例如在由可行驶区域确定系统528确定的可行驶区域中沿着由规划器系统526确定的驱动路径穿越。

在至少一个示例中,传感器系统(一个或多个)506可以包括LIDAR传感器,RADAR传感器,超声换能器,SONAR传感器,位置传感器(例如,GPS,指南针等),惯性传感器(例如,惯性测量单元,加速度计,磁力计,陀螺仪等),相机(例如RGB,UV,IR,强度,深度等),麦克风,车轮编码器,环境传感器(例如温度传感器,湿度传感器,光传感器,压力传感器等)。传感器系统506可以包括这些或其他类型的传感器中的每一个的多个实例。例如,LIDAR传感器可以包括位于车辆502的拐角,前,后,侧面和/或顶部的单独的LIDAR传感器。作为另一个示例,相机传感器可以包括多个相机,其布置在车辆502的外部和/或内部周围的各个位置。传感器系统(一个或多个)506可以向车辆计算设备(一个或多个)504提供输入。传感器系统(一个或多个)506可以在经过预定时间段之后,近实时地经由网络(一个或多个)536以特定频率将传感器数据发送到计算设备(一个或多个)538。

车辆502还可包括一个或多个用于发射光和/或声音的发射器(一个或多个)508。在该示例中,发射器508包括内部音频和视觉发射器以与车辆502的乘客进行通信。作为示例而非限制,内部发射器可以包括扬声器,灯,标志,显示屏,触摸屏,触觉发射器(例如,振动和/或力反馈),机械执行器(例如,安全带拉紧器,座椅定位器,头枕定位器等)等。在该示例中,发射器(一个或多个)508还包括外部发射器。作为示例而非限制,该示例中的外部发射器包括光发射器(例如,指示灯,标志,灯阵列等),以与行人,其他驾驶员,其他附近的车辆等视觉通信,一个或多个音频发射器(例如,扬声器,扬声器阵列,喇叭等),以与行人,其他驾驶员,其他附近的车辆等可听地通信。在至少一个示例中,发射器(一个或多个)508可设置在各个位置关于车辆502的外部和/或内部。

车辆502还可包括通信连接(一个或多个)510,其使得能够在车辆502与其他本地或远程计算设备(一个或多个)之间进行通信。例如,通信连接(一个或多个)510可以促进与车辆502和/或驱动系统(一个或多个)514上的其他本地计算设备(一个或多个)的通信。而且,通信连接(一个或多个)510可以允许车辆与附近的计算设备(一个或多个)(例如,其他附近的车辆,交通信号灯等)通信,通信连接(一个或多个)510也使车辆502能够与远程电信操作计算设备或其他远程服务进行通信。

通信连接(一个或多个)510可以包括用于将车辆计算设备(一个或多个)504连接到另一计算设备或诸如网络(一个或多个)536的网络的物理和/或逻辑接口。例如,通信连接(一个或多个)510可以启用基于Wi-Fi的通信,例如,通过经由IEEE 802.11标准定义的频率,诸如

在至少一个示例中,车辆502可以包括驱动系统(一个或多个)514。在一些示例中,车辆502可以具有单个驱动系统514。在至少一个示例中,如果车辆502具有多个驱动系统514,则各个驱动系统514可以定位在车辆502的相反端(例如,前部和后部等)上。在至少一个示例中,驱动系统(一个或多个)514可以包括传感器系统(一个或多个),以检测驱动系统(一个或多个)514的状况和/或车辆502的周围环境。作为示例而非限制,传感器系统(一个或多个)506可以包括:车轮编码器(一个或多个)(例如,旋转编码器),以感测驱动模块的车轮的旋转;惯性传感器(例如,惯性测量单元,加速度计,陀螺仪,磁力计等),以测量驱动模块的位置和加速度;照相机或其他图像传感器;超声波传感器,以声学检测驱动模块的周围环境中的物体;LIDAR传感器,RADAR传感器等。一些传感器,例如车轮编码器(一个或多个),对于驱动系统(一个或多个)514可以是唯一的。在一些情况下,驱动系统(一个或多个)514上的传感器系统(一个或多个)506可以与车辆502的相应系统重叠或补充(例如,传感器系统(一个或多个)506)。

驱动系统(一个或多个)514可以包括许多车辆系统,包括高压电池,用于驱动车辆502的电动机,将来自电池的直流电转换成交流电以供其他车辆系统使用的逆变器,包括转向电机和转向齿条(可以是电动的)的转向系统,包括液压或电动执行器的制动系统,包括液压和/或气动组件的悬架系统,用于分配制动力以减轻牵引力损失并保持控制的稳定性控制系统,HVAC系统,照明设备(例如,用于照亮车辆外部环境的前/尾灯之类的照明设备)以及一个或多个其他系统(例如,冷却系统,安全系统,车载充电系统,其他电气组件,例如,DC/DC转换器,高压结,高压电缆,充电系统,充电端口等)。附加地,驱动系统(一个或多个)514可以包括驱动模块控制器,该驱动模块控制器可以接收和预处理来自传感器系统(一个或多个)的数据并控制各种车辆系统的操作。在一些示例中,驱动模块控制器可以包括处理器(一个或多个)以及与处理器(一个或多个)通信耦合的存储器。存储器可以存储一个或多个模块以执行驱动系统(一个或多个)514的各种功能。此外,驱动系统(一个或多个)514还包括通信连接(一个或多个),该通信连接使得相应的驱动模块能够与其他本地或远程计算设备(一个或多个)进行通信。

如上所述,车辆502可以经由网络(一个或多个)536将传感器数据发送到计算设备(一个或多个)538。在一些示例中,车辆502可以将原始传感器数据发送到计算设备(一个或多个)538。在其他示例中,车辆502可以将处理的传感器数据和/或传感器数据的表示发送到计算设备(一个或多个)538(例如,从定位系统520,感知系统522,预测系统524和/或规划器系统526输出的数据)。在一些示例中,车辆502可以在经过预定时间段之后,近实时等,以特定频率将传感器数据发送到计算设备(一个或多个)538。

计算设备(一个或多个)538可以从车辆502和/或一个或多个其他车辆和/或数据收集设备接收(原始或处理的)传感器数据,并且可以基于传感器数据和其他信息来确定可行驶区域。在至少一个示例中,计算设备(一个或多个)538可以包括处理器(一个或多个)540和与处理器(一个或多个)540通信耦合的存储器542。在所示的示例中,计算设备(一个或多个)538的存储器542存储可行驶区域确定组件544,其例如可以包括物体信息存储器546。在至少一个示例中,物体信息存储器546可以对应于物体信息存储器534和/或物体信息存储器。

可行驶区域确定组件544可对应于上述可行驶区域确定系统528。例如,可行驶区域确定组件544可以处理数据以确定远离车辆的可行驶区域。例如,可行驶区域(或来自多个可行驶区域的优选可行驶区域)可以在计算设备(一个或多个)538处被确定并且例如经由网络536被传送回到车辆502。此外,可行驶区域确定组件544可以执行如上所述的并且归属于定位系统520,感知系统522,预测系统524和/或规划器系统526的一个或多个操作。在至少一个示例中,可行驶区域确定组件544可以分析传感器数据以确定环境中的物体的属性,以(1)确定这种物体(一个或多个)是否应被包括在可行驶区域中,以及(2)配置可行驶区域的边界。例如,可行驶区域确定组件544可以将关于物体的信息与例如存储在物体信息存储器546中的分类信息进行比较,以确定物体是否将受到车辆的影响,物体是否(或者物体的预测运动)是否会影响车辆,和/或物体应影响可行驶区域的程度。

可行驶区域确定组件544还可以或可替代地考虑物体的特征以表征可行驶区域。特征可以包括物体的范围(例如,高度,重量,长度等),物体的姿势(例如,x坐标,y坐标,z坐标,俯仰,滚动,偏航),物体的速度,物体的加速度,物体的行驶方向(例如,航向),物体与附近行驶车道之间的距离,物体的语义分类(汽车,行人,自行车等),当前行驶车道的宽度,与人行横道的接近度,语义特征(一个或多个),交互式特征(一个或多个)等。在一些示例中,特征中的至少一些特征(例如,范围,姿势等)可以由传感器数据源(例如,车辆502和/或其他车辆(一个或多个)和/或数据收集设备(一个或多个))上的感知系统确定,并且可以基于这样的特征和/或与环境的地图相关联的其他传感器数据和/或地图数据来确定其他特征。在一些示例中,可以将样本分成一个或更多个较短的时间段,并且可以针对每个较短的时间段确定特征。可以基于来自每个较短时间段的总特征来确定样本的特征。

车辆502的处理器(一个或多个)516和计算设备(一个或多个)538的处理器(一个或多个)540可以是能够执行指令以处理数据并执行本文所述的操作的任何合适的处理器。作为示例而非限制,处理器(一个或多个)516和540可包括一个或多个中央处理单元(CPU),图形处理单元(GPU)或处理电子数据以将该电子数据转换为可以存储在寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,只要集成电路(例如,ASIC等),门阵列(例如,FPGA等)和其他硬件设备被配置为实现编码的指令,它们也可以被认为是处理器。

存储器518和542是非暂时性计算机可读介质的示例。存储器518和542可以存储操作系统和一个或多个软件应用程序,指令,程序和/或数据,以实现本文描述的方法以及归因于各种系统的功能。在各种实施方式中,可以使用任何适当的存储技术来实现该存储器,例如静态随机存取存储器(SRAM),同步动态RAM(SDRAM),非易失性/闪存类型的存储器或能够存储信息的任何其他类型的存储器。本文描述的体系结构,系统和单独元件可以包括许多其他逻辑,程序和物理组件,附图中示出的那些仅仅是与本文的讨论有关的示例。

应当注意,尽管图5被示为分布式系统,但是在替代示例中,车辆502的组件可以与计算设备(一个或多个)538相关联和/或计算设备(一个或多个)538的组件可以与车辆502相关联。也就是说,车辆502可执行与计算设备(一个或多个)538相关联的一个或多个功能,反之亦然。此外,尽管将各种系统和组件图示为离散系统,但是这些图示仅是示例,并且更多或更少的离散系统可以执行本文所述的各种功能。

可以在计算机可执行指令或软件(例如程序模块)的上下文中实现本文所述的各种技术,所述计算机可执行指令或软件诸如程序模块被存储在计算机可读存储器中并且由一个或多个计算机或其他设备(例如图中所示)的处理器(一个或多个)执行。通常,程序模块包括例程,程序,物体,组件,数据结构等,并定义用于执行特定任务或实现特定抽象数据类型的操作逻辑。

其他架构可以用于实现所描述的功能,并且旨在落入本公开的范围内。此外,尽管出于讨论的目的在上面定义了具体的职责分配,但是可以根据情况以不同的方式分配和划分各种功能和职责。

类似地,可以以各种方式并且使用不同的手段来存储和分发软件,并且可以以许多不同的方式来改变上述的特定软件存储和执行配置。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,而不限于具体描述的存储器的形式。

示例条款

A.一种方法,包括:确定用于车辆的通过环境的可行驶区域,其中,可行驶区域表示环境中车辆可穿越的区域;确定车辆要遵循的可行驶区域内的轨迹;从车辆上的传感器接收传感器数据;至少部分地基于传感器数据来检测环境中的物体;至少部分地基于传感器数据来确定与物体相关联的物体参数,其中,物体参数包括速度、位置、分类或范围中的一个或多个;至少部分地基于物体参数来确定修改的可行驶区域;至少部分地基于修改的可行驶区域来确定轨迹无效;至少部分地基于确定轨迹无效来确定修改的轨迹;以及根据修改的轨迹来控制车辆。

B.段落A的方法,其中,确定轨迹无效包括:至少部分地基于修改的可行驶区域和轨迹来确定成本,并且其中,成本至少部分地基于在车辆和物体之间保持的最小距离。

C.段落B的方法,还包括:至少部分地基于物体参数来确定物体的预测轨迹,其中,成本至少部分地基于预测轨迹。

D.段落A-C中的任一段的方法,其中,物体参数表示物体将进入车辆占用的车道中的车道变更或合并。

E.段落A-D中的任一段的方法,其中,根据修改的轨迹来控制车辆还包括:至少部分地基于物体的相对速度或与物体的相对距离中的一个或多个来控制车辆跟随物体。

F.段落A-E中的任一段的方法,其中,分类包括汽车、自行车、摩托车或行人。

G.段落A-F中的任一段的方法,其中,确定轨迹无效包括:确定轨迹相交于或位于修改的可行驶区域的边界的阈值距离之内。

H.一种车辆,包括:设置在车辆上的传感器;处理器;以及计算机可读介质,其存储由处理器可执行的指令,其中,所述指令在被执行时使处理器执行以下操作,所述操作包括:确定用于车辆的可行驶区域;至少部分地基于可行驶区域来确定车辆要遵循的参考轨迹;从传感器接收传感器数据;至少部分地基于传感器数据来确定车辆所穿越的环境中的物体的物体参数;至少部分地基于传感器数据来修改可行驶区域,以生成修改的可行驶区域;至少部分地基于修改的可行驶区域和参考轨迹来确定是否修改参考轨迹;以及至少部分地基于是否修改参考轨迹来控制车辆。

I.段落H的车辆,其中,物体参数包括速度、位置、分类或范围中的一个或多个。

J.段落I的车辆,其中,分类包括汽车、自行车、摩托车或行人。

K.段落H-J中的任一段的车辆,其中,修改参考轨迹包括:保持车辆与物体之间的相对距离和相对速度。

L.段落H-K中的任一段的车辆,其中,操作还包括:确定物体的预测轨迹;以及确定与预测轨迹相关联的概率,其中,控制车辆还至少部分基于与预测轨迹相关联的概率。

M.段落H-L的车辆,其中,物体的物体参数表示车道改变或合并。

N.段落H-M的车辆,其中,物体的物体参数表示在交叉路口处的转弯。

O.段落H-N的车辆,其中,修改的可行驶区域是第一修改的可行驶区域,并且其中,操作还包括:基于第二物体接收附加的传感器数据;至少部分地基于附加的传感器数据来修改可行驶区域,以生成第二修改的可行驶区域;至少部分地基于第二修改的可行驶区域和参考轨迹来确定成本;以及至少部分地基于成本和第一修改的可行驶区域来控制车辆。

P.一种存储指令的非暂时性计算机可读介质,所述指令在被执行时使一个或多个处理器执行以下操作,所述操作包括:从车辆上的传感器接收传感器数据;确定代表车辆可穿越的区域的可行驶区域;确定车辆要遵循的可行驶区域内的轨迹;至少部分地基于传感器数据来确定与物体相关联的物体参数;至少部分地基于物体参数来修改可行驶区域,以生成修改的可行驶区域;至少部分地基于修改的可行驶区域和轨迹来确定成本;以及至少部分地基于成本来确定是否修改轨迹。

Q.段落P的非暂时性计算机可读介质,操作还包括:确定修改的轨迹,修改的轨迹包括与轨迹不同的纵向加速度分布;以及根据修改的轨迹来控制车辆。

R.段落P-Q的非暂时性计算机可读介质,其中,物体参数包括速度、位置、分类或范围中的一个或多个。

S.段落P-R的非暂时性计算机可读介质,其中,成本至少部分地基于车辆与修改的可行驶区域的边界之间的距离,并且其中,控制车辆包括基于加速度来控制车辆,至少部分地基于车辆和物体之间的相对距离或相对速度来确定该加速度。

T.段落P-S的非暂时性计算机可读介质,操作还包括:确定成本高于阈值成本;以及控制车辆跟随物体。

尽管针对一个特定实现描述了上述示例性条款,但是应该理解,在本文档的上下文中,示例性条款的内容也可以经由方法,设备,系统,计算机可读介质和/或另一种实现方式来实现。

结论

尽管已经描述了本文描述的技术的一个或多个示例,但是其各种改变,添加,置换和等同物也包括在本文描述的技术的范围内。

在示例的描述中,参考形成其一部分的附图,其通过说明的方式示出了所要求保护的主题的特定示例。应当理解,可以使用其他示例,并且可以进行诸如结构改变之类的改变或替换。这样的示例,改变或变更不一定相对于预期的所要求保护的主题偏离范围。尽管此处的步骤可以按一定顺序显示,但在某些情况下,可以更改顺序,以便在不更改所描述系统和方法功能的情况下,可以在不同时间或以不同顺序提供某些输入。所公开的过程也可以以不同的顺序执行。另外,本文描述的各种计算不必以所公开的顺序执行,并且使用计算的替代顺序的其他示例可以容易地实现。除了重新排序外,在某些情况下,计算还可以分解为具有相同结果的子计算。

相关技术
  • 用于跟随的车辆轨迹修改
  • 用于自主车辆轨迹修改的远程操作系统和方法
技术分类

06120112893712