基于相交的概率对安全系统资源的分配的制作方法
未命名
07-12
阅读:66
评论:0

基于相交的概率对安全系统资源的分配
1.相关申请
2.本专利申请要求于2020年11月5日提交的序列号为no.17/090,712的美国专利申请的优先权,标题为“allocation of safety system resources based on probability of intersection”,其全部内容通过引用并入本技术。
背景技术:
3.在自主和半自主车辆中的规划系统确定车辆在运行环境中要采取的动作。车辆的动作可以部分地基于避开环境中存在的对象来确定。例如,可以生成绕过双停车辆、改变车道以避开道路中的另一车辆等的动作。规划系统可以执行任意数量的操作(例如,模拟等)以确定每个检测到的对象对车辆的潜在动作的影响。然而,在具有大量对象的环境中,对每个检测到的对象执行这样的操作在计算上可能是昂贵的,并且在某些情况下,利用机载计算能力是不可能的。
附图说明
4.详细描述参考附图进行描述。在附图中,参考编号的最左侧的(一个或多个)数字表示参考编号首次出现的附图。在不同的附图中使用相同的附图标记指示相似或相同的组件或特征。
5.图1是示例环境的图示,其中,示例车辆应用模型以预测指示与一个或多个示例对象碰撞可能性的相交值。
6.图2a是另一示例环境的图示,其中,一个或多个模型确定车辆与对象之间的相交点和相交时间。
7.图2b是一种示例实现的图示,其中,一个或多个模型确定了对象在环境中与车辆相交的速度。
8.图3是基于来自示例模型的相交值来确定对象的状态表示以导致与车辆相交的示例实现的图示。
9.图4a和4b是示例实现的图示,其中,一个或多个模型确定相交值,所述相交值指示一个或多个示例对象与示例车辆碰撞的可能性。
10.图5是用于实现本文所述技术的示例系统的框图。
11.图6a是描绘了使用一个或多个示例模型确定相交的概率的示例过程的流程图的第一部分。
12.图6b是描绘了使用一个或多个示例模型确定相交的概率的示例过程的流程图的第二部分。
具体实施方式
13.本公开涉及用于预测和避免与在车辆的环境中检测到的对象发生碰撞并且确定哪些对象应当被进一步处理的技术。车辆可以是包括一个或多个传感器以检测环境中的对
象的自主车辆。在一些示例中,车辆安全系统可以接收与对象相关联的状态数据,并且使用所述状态数据来确定对象将遵循与车辆的规划路径相交的不同路径的概率。可以基于车辆信息(例如,车辆的当前轨迹、车辆的当前速度、车辆的规划路径等)和对象信息(对象的当前轨迹和/或速度、对象的一个或多个预测轨迹和/或速度)来确定车辆与对象之间的可能碰撞点和/或相交时间。在各种示例中,车辆安全系统可以实现一种模型,所述模型接收对象将遵循不同路径、可能的碰撞点和/或可能的相交时间的概率作为输入,并且输出车辆和对象未来在环境中相交的概率。使用本文描述的技术,车辆可以从车辆能使用的模型接收相交值,以快速地验证车辆的规划路径将不导致与对象的相交,由此提高车辆的安全性。
14.通常,所述模型可以通过识别碰撞或者以其他方式干扰车辆的概率最高的对象,为车辆安全系统提供关注系统的功能,从而车辆安全系统能够将处理资源分配给最有可能碰撞或者以其他方式干扰车辆的对象。因此,在一些示例中,所述模型可以被配置为识别具有干扰车辆的不同概率的对象,并且为对象所述提供不同级别的进一步处理(例如,具有与车辆碰撞的最高概率的对象可以相对于具有干扰车辆的较低概率的对象经受额外的和/或更密集计算的处理(例如,模拟、估计的状态、交互建模、碰撞估计等)。在一些实例中,所述车辆计算设备可以至少部分地基于接收到表示来自所述模型的(一个或多个)输出的一个或多个指令来控制环境中的车辆。
15.在一些示例中,本文描述的用于预测和避免碰撞的技术能够作为在资源受限平台上运行的车辆安全系统的一部分来实现(例如,处理器和/或存储器容量是受限的)。在这样的示例中,所述模型能够执行相对容易计算的多个单独操作(例如,预测对象将采取多条路径之一的概率),将计算限制在有限数量的可能碰撞位置和时间,并且确定在可能的相交位置和时间与对象相交的概率。以这种方式,所述模型能够输出相交值,所述相交值充当过滤器,以确定哪些对象将由更处理密集的模型或组件进一步处理。这种资源节省意味着能够将更多的处理资源用于碰撞或者以其他方式干扰车辆的可能性最高的对象。
16.在一些示例中,用于确定与环境中的(一个或多个)对象相关联的相交值的技术能够包括应用和/或训练模型,以预测或者以其他方式确定(一个或多个)对象将与车辆相交的可能性。在一些复杂的环境中,可能难以区分可能影响车辆操作的对象(例如,可能发生碰撞或者导致车辆改变轨迹以避开对象)与可能不影响车辆操作的对象。通过使用本文描述的技术确定对象与车辆碰撞的概率,计算设备可以将可用的计算资源引导到最相关的对象(例如,具有影响车辆操作的更高可能性的对象)。在一些示例中,计算设备可以基于来自模型的一个或多个输出,在车辆规划期间将可用的计算资源引导到最相关的对象,由此在车辆在环境中导航时提高车辆安全性。另外,通过将更少的计算资源专用于不太相关的对象,模型和/或组件(例如,车辆安全系统、规划组件等)具有更多的计算资源可用于预测最相关对象的可能碰撞和/或确定避免或减轻此类预测碰撞的响应。
17.在一些示例中,车辆可以包括自主或半自主车辆,其中车辆计算设备被配置为从车辆的一个或多个传感器接收传感器数据。当在环境中导航时,车辆可以使用一个或多个传感器来检测对象。对象可以包括静态对象(例如,建筑物、桥梁、标志等)和动态对象,诸如其他车辆(例如,汽车、卡车、摩托车、轻便摩托车等)、行人、骑自行车的人等。在一些示例中,可以基于来自车辆的传感器(例如,相机、运动检测器、激光雷达传感器、雷达传感器等)的传感器数据来检测所述对象。作为又一示例,可以基于从远程传感器(诸如,例如与另一
车辆相关联的传感器或者位于环境中的传感器)接收的传感器数据来检测对象,其中所述传感器被配置为与多个车辆共享数据。表示检测到的对象的传感器数据可以用于确定模型可用于预测沿路径与对象相交的可能性的状态数据。
18.在一些示例中,车辆可以包括与车辆计算设备分开实施的车辆安全系统,以用于改善车辆安全系统的性能,和/或提供冗余、误差检查和/或验证由车辆计算设备确定的确定和/或命令。然而,在其他示例中,车辆安全系统可以被实现为同一车辆计算设备内的一个或多个组件。
19.举例来说,车辆计算设备可以被认为是主要系统,而车辆安全系统可以被认为是次要系统。主要系统通常可以执行处理以控制车辆如何在环境内机动。主要系统可以实施各种人工智能(ai)技术,诸如机器学习,以了解车辆周围的环境和/或指示车辆在环境内移动。例如,主要系统可以实施al技术来定位车辆、检测车辆周围的对象、分割传感器数据、确定对象的分类、预测对象轨迹、生成车辆和车辆周围对象的轨迹等。
20.在一些示例中,车辆安全系统可以作为基于传感器数据和主要系统(例如,车辆计算设备)实现的al技术接收状态数据(例如,感知数据)的独立系统来操作,并且可以执行本文所述的各种技术,以用于改善车辆的碰撞预测和避免。
21.如本文所述,模型可以表示机器学习模型、统计模型或者其组合。也就是说,模型可以指代从训练数据集学习以改善输出(例如,预测)的准确性的机器学习模型。附加地或替代地,模型可以指代表示逻辑和/或数学函数的统计模型,这些函数生成能用于进行预测的近似值。
22.在一些示例中,车辆安全系统可以确定当前时间(例如,第一时间)与对象相关的状态数据。例如,状态数据可以包括以下中的一项或多项:与对象相关联的位置数据、速度数据和偏航速率数据。在各种示例中,车辆安全系统可以基于偏航速率数据来确定对象的一个或多个可能的航向。在一些示例中,车辆安全系统可以基于偏航速率数据和指示对象的当前位置的位置数据来确定对象与车辆相交的一条或多条路径。在至少一些示例中,可以至少部分地基于与车辆的另一组件预测的标称路径相关联的不确定性水平来确定这样的一个或多个路径。作为非限制性示例,这样的标称预测路径可以与大约5度的偏航(或航向)不确定性相关联,并且多个路径可以被确定为线性、非线性或者以其他方式分布在标称路径的不确定性内的潜在路径的范围内。
23.作为示例而非限制,为了使得车辆能够快速并且准确地响应对象,所述模型可以将相交信息(例如,指示对象与车辆碰撞的可能性的(一个或多个)相交值、按碰撞概率排序的对象、相关对象、非相关对象等等)发送到被配置为规划车辆的轨迹的规划组件和/或发送到被设置为感测环境的感知组件。以这种方式,能够在规划操作期间(例如,避开对象)和/或在感知操作期间(例如,引导一个或多个传感器捕捉相关对象的较高感知水平和/或不相关对象的较低感知水平)考虑来自模型的相交值。
24.在一些示例中,车辆安全系统可以为一条或多条路径中的每条路径确定对象遵循相应路径的概率。例如,所述模型可以接收与对象相关联的状态数据作为输入,并且输出指示对象遵循所述路径的可能性的值。在一些示例中,概率可以至少部分地基于给定对象的当前状态的动力学,并且在一些情况下基于对象的先前状态。例如,由所述模型输出的第一值可以指示对象将遵循第一路径的90%可能性,而由所述模型输出的第二值可以指示所述
对象将遵循与第一路径不同的第二路径的70%可能性。在各种示例中,与车辆安全系统(例如,车辆计算设备)分离的模型能够提供表示对象将遵循特定路径到达车辆安全系统的路径和/或可能性的数据。
25.在一些示例中,车辆安全系统可以为一条或多条路径中的每条路径确定车辆轨迹与每条相应路径之间的(一个或多个)相交点。在一些示例中,车辆安全系统可以为一条或多条路径中的每条路径确定车辆与对象未来相交的(一个或多个)相交时间。例如,车辆安全系统可以从规划组件接收车辆的轨迹,并且至少部分地基于车辆的轨迹来计算(一个或多个)相交点和/或(一个或多个)相交时间。在本文中描述了用于确定相交点和/或相交时间的额外细节,包括与图3、4a和4b相关的额外细节。
26.在一些示例中,针对模型的输入可以包括以下中的一项或多项:对象将遵循路径(或额外路径)的(一个或多个)概率、一个或多个相交点、一个或多个相交时间、(一个或多个)不确定性值和/或状态数据。在一些示例中,碰撞空间可以由车辆安全系统来确定,并且进一步用作对模型的输入。碰撞空间可以表示由假设对象的第一速度(例如,最小速度)的车辆轨迹和路径的第一相交点和假设对象的第二速度(例如,最大速度)的车辆轨迹和路径的第二相交点限定的碰撞区域。
27.在各种示例中,所述模型可以至少部分基于上述输入中的任意一个或多个输入来提供输出。为了例示说明,考虑以下非限制性示例,其中车辆导航环境并且检测动态对象,诸如行人。在这样的示例中,所述状态数据可以基于偏航速率数据来指示行人相对于车辆的位置和对象的航向。计算设备可以确定行人可以遵循的多条路径以及沿着所述多条路径中的每条路径的相交点,以用于确定行人与车辆之间是否将发生相交的总体概率。在各种示例中,相对于由模型处理的其他对象(例如,模型可以指示行人比另一个对象(诸如模型可以指示行人比另一对象(诸如具有由模型输出的较低相关的相交值的车辆)更可能与车辆相交),与行人相交的总体概率可以按重要性排序或者以其他方式排序。
28.如前所述,由所述模型输出的相交值可以用于多种方式。例如,车辆计算设备可以使用来自模型的一个或多个值来确定车辆动作(例如,控制车辆、调整传感器、确定感知数据等)。在一些示例中,车辆所述控制可以包括停止车辆、确定车辆在环境中所遵循的轨迹和/或控制以下中的至少一项:车辆的制动系统、加速系统或驱动系统。
29.在一些示例中,车辆计算设备可以确定其中模型输出对象可能影响车辆的操作的高置信度的区域中的不同感知水平(例如,如由相关联的相交值所指示的)。例如,如果基于从模型输出的相交值存在对象(例如,另一辆车、自行车、摩托车、卡车等)在与车辆碰撞的路径上的高置信度,则能够修改车辆的感知组件以将一个或多个传感器聚焦在所述对象的区域中。作为另一非限制性示例,车辆计算设备可以确定不同的感知水平,诸如通过模型启动感知功能以检测对象的突然移动或不稳定行为。通过提高基于相交值的感知,与不实施所述模型相比,车辆能够更安全地在环境中导航。在任何这样的示例中,可以使用额外的模型,可以使用更复杂的模型,或者可以使用冗余模型等。
30.车辆计算系统可以分配一定数量的存储器、存储器类型和/或存储器位置,以最大限度地使用对预测可能的对象碰撞的模型可用的存储器资源。在一些示例中,模型可以利用远离车辆的存储器资源(例如,远程服务器或远程车辆)。被确定为对车辆的操作没有影响的检测到的对象可以与执行不同预测处理(例如,访问更少的可用存储器资源)的模型相
关联,由此使得更多的存储器资源能够可用于与具影响车辆的操作的更高可能性的对象相对应的模型。
31.在一些示例中,模型可以定义处理资源(例如,处理器量、处理器周期、处理器内核、处理器位置、处理器类型等),以用于预测对象路径是否将可能与车辆相交。实现模型的车辆计算系统可以具有不同的处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)、多核处理器等)。模型可以定义处理资源以利用最有效(例如,使用最少的计算时间量)输出预测的处理器。在一些示例中,模型可以通过使用gpu、cpu或者其组合处理对象来预测相交值。以这种方式,每个模型可以被定义为利用使得模型能够在最少的时间量内执行预测的处理资源(例如,在车辆的规划考虑中使用相交值)。因此,可以将模型分配给对象,以最佳地利用可用的处理资源,并且实现可以改进车辆相对于对象如何导航的更多预测。
32.在本文中所讨论的技术能够通过多种方式来改善车辆的计算设备的功能。例如,所述模型可以充当识别和/或区分对象以供车辆计算设备进一步处理的关注系统(例如,车辆安全系统和/或现有感知组件的冗余)。在一些示例中,所述关注系统可以与主车辆计算设备分离(例如,模型可以被包括为独立于车辆计算设备504的车辆安全系统534的一部分)。所述技术能够包括通过执行限制对可用资源的影响的操作(与不实施模型相比)来优化可用计算资源的模型。例如,通过车辆计算设备利用相交值能够改善准确性和/或减少车辆响应环境中的潜在碰撞的等待时间。
33.本文描述的技术能够通过多种方式来实现。下面参考以下附图提供示例实现。尽管在自主车辆的上下文中进行了讨论,但本文描述的方法、装置和系统能够被应用于各种系统,而不限于自主车辆。在另一示例中,这些技术能够在航空或航海上下文中使用,或者在使用传感器数据的任何系统中使用。此外,尽管在(一个或多个)紧急车辆或者与这样的(一个或多个)紧急车辆相关联的声音的上下文中进行了讨论,但是所述技术能够适用于任何类型或类别的声音,并且不限于本文所讨论的具体示例。另外,本文描述的技术能够与真实数据(例如,使用传感器捕获的数据)、模拟数据(例如,由模拟器生成的数据)或者这两者的任意组合一起使用。
34.图1是环境100中的自主车辆(车辆102)的图示,其中,示例碰撞模型(模型组件104)可以确定一个或多个相交值(相交值106)。车辆计算设备(例如,车辆计算设备504)和/或车辆安全系统(例如,车辆安全系统534)可以实现车辆102的分类模型。尽管被描述为单独的系统,但是在一些示例中,本文所描述的分类技术可以由其他车辆系统、组件和/或计算设备来实现。例如,如将参照图5进一步详细描述的,本文描述的相交信息技术可以至少部分地由定位组件520、感知组件522和/或规划组件524实现或者与其相关联地实现。
35.在各种示例中,车辆安全系统可以被配置为接收表示环境100的(一个或多个)对象的传感器数据,诸如经由感知组件(例如,感知组件522)。在一些示例中,车辆安全系统可以检测、推断、估计或者以其他方式确定表示环境100中的对象的特性的状态数据。在一些示例中,(一个或多个)传感器可以包括被安装在车辆102上的传感器,并且包括但不限于超声波传感器、雷达传感器、光检测和测距(lidar)传感器、相机、麦克风、惯性传感器(例如,惯性测量单元、加速度计、陀螺仪等)、全球定位卫星(gps)传感器等。在一些示例中,(一个或多个)传感器可以包括一个或多个远程传感器,诸如,例如被安装在另一自主车辆上的传感器和/或被安装在环境100中的传感器。在各种示例中,车辆102可以被配置为从其他自主
车辆发送和/或接收数据。数据可以包括传感器数据和/或状态数据,诸如与环境100相关联的传感器数据。
36.在一些示例中,车辆安全系统可以被配置为检测环境100中的对象,诸如对象108(例如,行人)、对象110(例如,车辆)、对象112(例如,行人)和对象114(例如,建筑物)。在一些示例中,车辆安全系统可以被配置为接收、检测、推断、估计或者以其他方式确定每个检测到的对象的一条或多条路径。如在图1中所示的,行人108、车辆110和行人112中的每一个与由车辆安全系统(例如,使用模型组件104或另一模型)确定的两条或更多条路径(例如,对象路径#1、对象路径#2等)相关联。每条路径可以与一个值相关联,以指示对象将遵循所述路径的概率。例如,对于任意数量的路径,模型组件104可以输出指示车辆110遵循第一路径的第一概率的第一值、指示车辆110遵循第二路径的第二概率的第二值、指示车辆110遵循第三路径的第三概率的第三值等。在一些示例中,模型组件104可以从机器学习模型接收与遵循路径的对象相关联的路径信息和/或概率。在至少一些示例中,不确定性可以与这样的路径相关联,并且可以至少部分地基于相关联的不确定性来确定一条或多条路径关于标称路径线性地或非线性地分布。
37.在一些示例中,模型组件104可以确定与两个或更多个对象(诸如行人108和车辆110)中的每个相关联的一条或多条路径的相交值106。在这样的示例中,模型组件104输出的相交值106可以指示行人108或车辆110是否与影响车辆102的操作的更高可能性相关联。以这种方式,车辆计算设备的规划组件(例如,规划组件524)可以从模型组件104接收用于规划操作的指令。
38.在一些示例中,车辆安全系统可以根据与车辆102碰撞的可能性对对象进行排序,并且在一些示例中,可以应用其他模型或组件来处理排序较高的对象,而不是处理排序较低的对象。例如,与行人108相比,至少部分地基于行人112的相交值低于行人108的相交值,模型可以使用较少的计算能力来处理行人112。
39.在一些示例中,并且如在图2和其他地方进一步讨论的,对象路径中的任意一条对象路径可以表示基本直线。然而,在其他示例中,车辆安全系统可以确定检测到的对象的弯曲路径。贯穿本公开讨论了用于确定和利用相交值106的额外细节。
40.在一些示例中,车辆计算设备可以至少部分地基于一个或多个相交值106来控制环境中的车辆102。例如,模型组件104可以通过识别最可能引起相交的对象并且将关于所识别的对象的相交信息传递给车辆计算设备的其他组件,以为车辆102提供关注系统的功能。因此,可以在操作(例如,仿真、估计状态、交互建模、碰撞估计等)或者其他车辆控制规划操作中考虑相交值。
41.图2a是示例环境200a的图示,其中一个或多个模型确定车辆与对象之间的相交点和相交时间。例如,示例车辆计算设备(例如,车辆计算设备504)和/或示例车辆安全系统(例如,车辆安全系统534)可以基于来自示例模型(模型组件104)的相交值(相交值106)来确定车辆(车辆102)与对象(对象108)之间的相交点和相交时间。
42.图2a图示了与多条不同路径(例如,202、204、206、208和210)相关联的对象108(例如,车辆108)。通常,路径202、路径204、路径206、路径208和路径210中的一条或多条路径可以表示车辆108可以在没有时间信息的情况下在空间中遵循的几何位置。车辆计算设备可以至少部分地基于车辆108的状态数据来确定所述路径中的每条路径。例如,路径202、路径
204、路径206、路径208和路径210中的一条或多条路径可以基于车辆108的偏航角(例如,对象相对于固定框架的角度)来确定。在一些示例中,可以至少部分地基于偏航速率(例如,偏航随时间的变化)来确定路径。在各种示例中,所述多条不同路径中的一条或多条路径可以表示除了直线路径之外的曲线或者替代直线路径。
43.对于给定的路径,在各种示例中,车辆安全系统可以确定一个或多个碰撞点(例如,对象和车辆102重叠和/或相交的空间点),诸如碰撞点212、214、216、218和220。碰撞点212、214、216、218和220中的每个碰撞可以与不同的时间相关联。在一些示例中,可以为给定路径确定多个碰撞点。
44.在一些示例中,对于给定的路径,车辆安全系统可以确定一个或多个相交时间,诸如与碰撞点212相关联的相交时间t1、与碰撞点214相关联的相交时间t2、与碰撞点216相关联的相交时间t3、与撞撞点218相关联的相交时间t4、以及与碰撞地点220相关联的相交时间t5。相交时间可以表示从当前时间(t0)开始的、车辆108和车辆102重叠和/或相交的时间。
45.为了说明的目的,车辆102可以是自主车辆,其被配置为根据美国国家公路交通安全管理局发布的5级分类操作,所述分类描述了一种能够在整个行程中执行所有安全关键功能的车辆,其中,驾驶员(或乘员)不被期望在任何时候控制车辆102。在这样的示例中,由于车辆102能够被配置为控制从开始到停止的所有功能,包括所有停车功能,因此车辆102可以不被占用。这仅仅是一个示例,并且本文所述的系统和方法能够结合到任何地面、机载或水上车辆中,包括从需要驾驶员始终手动控制的车辆到部分或完全自主控制的车辆。下面描述与车辆102相关联的额外细节。
46.在至少一个示例中,车辆安全系统可以至少部分地基于与车辆102相关联的轨迹(例如,方向、速度、加速度等)来确定碰撞点和/或相交时间。例如,规划组件(例如,规划组件524)可以向模型组件104发送车辆102的规划轨迹。在各种示例中,当与车辆108发生重叠时,相交时间可以表示从当前时间到与车辆102的轨迹相关联的时间的变化。以这种方式,可以至少部分地基于对象路径(没有时间信息)和与车辆102相关联的时间信息之间的插值来确定碰撞点和/或相交时间。在一些情况下,车辆102的轨迹可以被表示为一系列线段,并且与一个或多个位置、速度、加速度或者其他期望的状态相关联。关于确定碰撞点和/或相交时间的额外细节在本公开中进行了讨论。
47.在至少一个示例中,车辆安全系统可以为一条或多条路径中的每条路径确定车辆108遵循相应路径的概率。例如,模型组件108可以接收与车辆108相关联的状态数据作为输入,并且输出指示对象遵循所述路径的可能性的值。在一些示例中,所述概率可以至少部分地基于给定车辆108的当前和先前状态的动力学。如在图2a中所示的,指示对象遵循路径202、路径204、路径206、路径208和路径210的可能性的值可以由不同级别的阴影来表示。例如,由模型组件104输出的值可以指示车辆108将遵循路径204的90%可能性,而由模型组件104的另一值可以指示车辆108将遵循路径206的70%可能性。
48.在一些示例中,针对模型组件104的输入可以包括以下中的一项或多项:车辆108遵循所述路径中的至少一条路径的(一个或多个)概率、一个或多个碰撞点、一个或多个相交时间和/或状态数据。
49.在各种示例中,所述模型可以至少部分基于上述输入中的任意一个或多个输入来
提供输出。例如,车辆安全系统可以确定车辆108和车辆102之间是否将发生相交的总体概率。在各种示例中,与车辆108相交的总概率可以相对于模型组件104处理的另一对象(诸如行人)按重要性排序或者以其他方式排序。
50.在一些示例中,模型组件104可以识别、检测、分析或者以其他方式确定车辆108与车辆102之间的相交的概率,而不依赖于对象未来遵循的路径。例如,碰撞的概率可以考虑与每条路径相关联的每个概率,以及潜在的碰撞点和相交时间。
51.在一些示例中,为了确定相交的概率,车辆安全系统可以确定路径的碰撞区域,以表示车辆108的给定状态表示(例如,速度)将导致碰撞的空间。例如,对于特定路径,车辆安全系统可以至少部分地基于一个或多个运动方程来确定车辆108与车辆102碰撞的速度(例如,瞬时速度)。在一些示例中,车辆安全系统可以根据状态表示(例如,将当前时间的对象状态映射到碰撞区域)来确定对象在路径的碰撞区域中的概率。在这样的示例中,碰撞的概率可以至少部分地基于车辆108位于路径202的第一碰撞区域中的第一概率、车辆108位于路径204的第二碰撞区域中的第二概率等。在各种示例中,由模型组件104确定的碰撞概率可以进一步至少部分地基于车辆108遵循路径202的第三概率、车辆108遵循路径204的第四概率等。
52.在一些示例中,模型组件104可以至少部分地基于与以下中的一项或多项相关联的一个或多个不确定性值来确定对象路径与车辆102的轨迹相交的概率:对象位置、对象加速度、对象速度、车辆的加速度等。例如,可以确定不确定性值,以说明对象和/或车辆在未来时间可能遵循的位置、速度和/或加速度的偏差。在至少一些示例中,这样的不确定性可能与用于感知和/或预测的模型中的误差相关联。
53.在一些示例中,可以确定不确定性值,以说明对象在未来时间可能遵循的速度偏差,并可通过以下等式表示:
[0054][0055]
其中,σs表示对象在未来时间的位置不确定性,并且σa表示对象未来时间的加速度不确定性。例如,不确定性值可以用作确定对象和车辆在未来时间相交的概率的模型的输入。
[0056]
在一些示例中,不确定性值可以与对象的航向相关,并且可以表示对模型的许多输入中的一个输入,所述模型定义、生成或者以其他方式确定对象未来能够采取的路径(例如,路径的边界可以至少部分地基于与对象的航向相关联的不确定性值来定义)。例如,可以根据与检测车辆附近的一个或多个对象的当前航向的传感器相关联的传感器数据来确定对象的航向。与由车辆的传感器捕获对象的航向(例如,或者与其相关联的数据)相关联的任何不确定性都能够被传送到车辆安全系统以输入到模型组件104中。
[0057]
在一些示例中,模型组件104(或者其他模型)能够接收(一个或多个)不确定性值,所述不确定性值表示与以下中的一项或多项相关的不确定性:对象的航向、对象的速度、对象的位置、对象的加速度、车辆的轨迹等。在这样的示例中,模型组件104(或者其他模型)能够至少部分地基于(一个或多个)不确定性值来输出表示对象将来是否与车辆相交的可能性的数据。作为示例而非限制,模型组件104可以接收路径的相交点、对象与车辆相交的相交时间、对象是否将遵循路径的概率以及一个或多个不确定性值作为输入,并且输出对象
和车辆在未来沿着路径相交的概率。当然,在其他示例中,可以将对象的额外路径和相关联的(一个或多个)相交点以及(一个或多个)相交时间作为输入提供给模型组件104。
[0058]
在各种示例中,模型组件104(或者其他模型)能够确定对象是否将进入环境中的区域的不确定性(例如,对象将进入碰撞区域的不确定性)。诸如对象速度数据或对象航向数据的状态数据能够被输入到机器学习模型中,以至少部分地基于描述对象的状态的当前数据来确定碰撞区域(或路径)。以这种方式,车辆安全系统能使用的另一较不复杂的模型(例如,相对于确定区域或路径的机器学习模型,使用较少或不使用机器学习算法的模型)能够至少部分地基于确定对象与碰撞区域相交的概率来预先避开对象。在一些示例中,较不复杂的模型(例如,模型组件104)可以至少部分地基于表示碰撞区域中不确定性的不确定性值、对象的航向等来确定对象与碰撞区域相交的概率。
[0059]
在一些示例中,车辆计算设备可以将来自模型的一个或多个输出(例如,指示对象和车辆在未来可能相交的可能性或概率的输出)与阈值概率进行比较,并且确定是否与车辆计算设备的另一组件共享、使用和/或进一步处理模型中的一个或多个输出。例如,车辆计算设备可以至少部分地基于来自模型的输出等于或小于阈值概率来控制车辆。
[0060]
此外或可替代地,上述确定的概率中的任意一个或多个概率可以组合,例如,使用贝叶斯建模或者其他方法,以确定碰撞的总体可能性或概率。
[0061]
车辆计算设备可以至少部分地基于从模型组件104接收的信息来控制车辆102。例如,控制车辆102可以包括控制以下中的至少一项:车辆(例如,车辆502)的制动系统、加速系统或驱动系统。在一些示例中,由车辆计算设备控制车辆102可以包括至少部分地基于环境200a中的哪些对象最可能与车辆102碰撞的指示来控制所述车辆。
[0062]
在一些示例中,模型组件104可以定义处理资源(例如,处理器量、处理器周期、处理器内核、处理器位置、处理器类型等),以用于预测与检测到的对象的可能碰撞。实现模型的车辆计算系统和/或车辆安全系统可以具有不同的处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)、多核处理器等)和/或不同的存储器(例如,本地和/或远程存储器或不同的大小)。模型可以定义处理资源以利用最有效地(例如,使用最少的计算时间量)确定输出(例如,预测)的处理器和/或存储器。例如,模型可以实现相对简单的算法,以确定对象的路径(例如,路径202、路径204、路径206、路径208和路径220)或者与对象将来采用所述路径相关联的概率。以这种方式,每个模型可以被定义为利用处理资源和/或存储器资源,所述资源使得模型能够在最少的时间量内执行预测(例如,在车辆的规划考虑中使用预测的行为)。
[0063]
应当理解,图2a中的路径的数量是为了说明的目的。对于环境200a中的任意数量的不同对象,车辆102可以确定不同数量的路径、对象将遵循每条路径的(一个或多个)概率、碰撞点和/或相交时间。
[0064]
图2b是示例实现200b的图示,其中一个或多个模型确定对象在环境中与车辆相交的速度。例如,示例车辆计算设备(例如,车辆计算设备504)和/或示例车辆安全系统(例如,车辆安全系统534)可以基于来自示例模型(模型组件104)的相交值((一个或多个)相交值106)来确定对象(对象108)沿着路径与车辆(车辆102)碰撞的速度。
[0065]
在一些示例中,车辆安全系统可以确定车辆108沿着路径202、路径204、路径206、路径208和路径210中的每条路径与车辆102碰撞的速度范围(例如,基于每条相应路径的航
向)。如在图2b中所示的,车辆108沿着路径202与车辆102碰撞的最小速度和最大速度可以由车辆安全系统使用运动方程来确定(对于其他路径也是如此)。在一些示例中,车辆安全系统可以至少部分地基于确定车辆108的当前速度在最小速度与最大速度之间来确定车辆108与车辆102碰撞的概率。
[0066]
图3是基于来自示例模型的相交值确定对象的状态表示以导致与车辆相交的示例实现的图示。例如,示例车辆计算设备(例如,车辆计算设备504)和/或示例车辆安全系统(例如,车辆安全系统534)可以基于来自示例模型(模型组件104)的相交值((一个或多个)相交值106)来确定对象(对象108)沿着路径与车辆(车辆102)碰撞的状态。
[0067]
如在图3中所图示的,对象108(例如,车辆108)的路径204与车辆102相交,车辆102在未来时间t2在碰撞点214处遵循轨迹222。在一些示例中,车辆安全系统可以至少部分地基于与车辆108相关联的状态数据(例如,位置数据、车辆宽度数据等)、与车辆102相关联的轨迹222和/或与车辆102相关联的宽度数据来确定最小相交时间302和最大相交时间304。例如,车辆安全系统可以使用与动力学、运动、几何和物理(例如,对于二维和/或三维)相关的标准方程来确定最小相交时间302和最大相交时间304。
[0068]
在一些示例中,车辆102的车辆安全系统可以至少部分地基于以下中的一项或多项来确定路径204的碰撞区域306:路径204的一个或多个碰撞点、路径204的一个或多个相交时间、车辆108处于碰撞区域306中的最小速度(或最小时间)、和/或车辆108处于碰撞区域306中的最大速度(或最大时间)。在一些示例中,确定车辆102与车辆108之间的碰撞概率可以包括确定车辆108的当前速度在车辆108处于碰撞区域306中的最小速度与车辆108处于碰撞区域306中最大速度之间。车辆108处于碰撞区域306中的最小时间和/或车辆108处于冲突区域306中的最大时间也可以或替代地在相交值确定期间被考虑。
[0069]
图4a和图4b是示例性实现400a和400b的图示,其中一个或多个模型确定相交值,所述相交值指示一个或多个示例性对象与示例性车辆碰撞的可能性。
[0070]
在一些示例中,模型组件104可以确定车辆环境(诸如环境100中的车辆102)中第一对象的路径402、第二对象的路径404和第三对象的路径406。如在图4a中所示的,路径可以与速度范围(例如,最小速度和最大速度)相关联,以指示与车辆102相交所需的对象的速度。例如,图4a描绘了包括具有各种速度范围的五条路径的路径402。取决于对象的给定偏航,对象可能需要不同的速度与车辆102相交。
[0071]
图4a也图示了由与每个相应对象相关联的状态数据(例如,第一状态数据、第二状态数据和第三状态数据等)确定的第一对象的速度(例如,对象#1的速度408)、第二对象的速度(例如,对象#2的速度410)、第三对象的速度(例如:对象#3的速度412)。也就是说,对象速度(例如,408、410和412)可以表示对象的当前速度。如在图4a中所示的,对象的速度能够与偏航值的范围(例如,偏航数据或偏航速率数据的范围)相关联,并且可以与路径402、路径404和/或路径406的每条路径中的个体路径中的一些相交、全部相交或者都不相交。例如,给定由对象#1的速度408表示的对象#1的当前速度,由模型组件108输出的相交值将指示与车辆102碰撞的相对低的概率(与对象#2相比),因为当前速度不与对象与车辆102碰撞所需的速度范围重叠。另一方面,对象#2将可能与指示与车辆102相交的相对较高可能性的相交值相关联,因为,当前速度至少部分地与路径404中的至少一些路径的速度范围重叠。
[0072]
通常,图4b能够表示对象(例如,环境100中的对象108、对象110和对象112)以及相
对于x-y空间中的车辆102的轨迹416的相关路径。
[0073]
图4b图示了车辆102的表示(例如,车辆表示414)以及对象#1(对象418)、对象#2(对象420)和对象#3(对象422)的表示,所述表示能由模型组件424用于确定指示每个对象与车辆102碰撞的可能性的相交值426。例如,模型组件424可以提供与模型组件104类似的功能。如在图4b中所示的,模型组件424至少部分地基于被确定为不与轨迹416相交的对象418的路径402,将对象418与0.04的相交值相关联(例如,在零到一的范围内,更高的数字指示更大的碰撞可能性,尽管也可以考虑百分比或其他数值)。基于与轨迹416相交的路径404中的至少一些路径,对象420具有0.98的相对较高的相交值。
[0074]
在各种示例中,所述相交值可以由模型组件104使用以下等式来确定:
[0075][0076]
其中,p(intersection)是对象发生碰撞的概率,pathi是对象的第i条可能路径,a是对象的状态表示,cssi为pathi的碰撞区域,并且p(oathi)是对象遵循pathi的概率。在一些示例中,对象的状态表示可以至少部分地基于与对象相关联的状态数据(例如,位置、速度、偏航等)。例如,(一个或多个)碰撞区域(例如,碰撞区域306)可以表示在给定对象的路径和纵向方程的情况下在当前时间可能导致碰撞的空间。
[0077]
在一些示例中,车辆的车辆计算设备和/或车辆安全系统可以向另一组件发送指示相交值426的信息,所述另一组件诸如是用于规划操作的规划组件524(例如,以确定车辆102避开对象420的轨迹)和/或用于修改对象418、420和/或422的下游处理的感知组件522(例如,基于相交值向对象提供更多或更少的感知处理)。以这种方式,模型的输出可以用于安全地控制车辆到达环境中的目的地。
[0078]
图5是用于实现本文所述技术的示例系统500的框图。在至少一个示例中,系统500可以包括车辆,诸如车辆502。
[0079]
车辆502可以包括车辆计算设备504(也被称为车辆计算设备或(一个或多个)车辆计算设备)、一个或多个传感器系统506、一个或多个发射器508、一个或多个通信连接510、至少一个直接连接512、以及一个或多个驱动系统514。
[0080]
(一个或多个)车辆计算设备504可以包括一个或多个处理器516以及与一个或多个处理器516通信耦合的存储器518。在所图示的示例中,车辆502是自主车辆;然而,车辆502可以是任何其他类型的车辆,诸如半自主车辆,或者具有至少图像捕获设备(例如,启用相机的智能手机)的任何其他系统。在所图示的示例中,车辆计算设备504的存储器518存储定位组件520、感知组件522、规划组件524、一个或多个系统控制器526、一幅或多幅地图528和模型组件530,所述模型组件530包括一个或多个模型,诸如第一模型532a、第二模型532b、直到第n模型532n(被统称为“模型532”),其中,n能够是大于1的任意整数。尽管为了说明的目的在图5中描绘为驻留在存储器518中,但是可以设想到,定位组件520、感知组件522、规划组件524、一个或多个系统控制器526、一幅或多幅地图528和/或包括模型532的模型组件530可以附加地或者替代地能由车辆502访问(例如,被存储在远离车辆502的存储器(诸如,例如在远程计算设备550的存储器554上)上或者以其他方式能由其访问)。
[0081]
另外,车辆502可以包括车辆安全系统534,包括对象轨迹组件540、相交组件542、概率组件544和动作组件546。如在该示例中所示的,车辆安全系统534可以与(一个或多个)
车辆计算设备504分开实现,例如,用于改善车辆安全系统的性能,和/或提供冗余、误差检查和/或验证由(一个或多个)车辆计算设备504确定的确定和/或命令。然而,在其他示例中,车辆安全系统534可以被实现为相同的(一个或多个)车辆计算设备504内的一个或多个组件。
[0082]
举例来说,(一个或多个)车辆计算设备504可以被视为主要系统,而车辆安全系统534可以被视为次要系统。主要系统通常可以执行处理以控制车辆如何在环境中机动。主要系统可以实施各种人工智能(ai)技术,诸如机器学习,以了解车辆502周围的环境和/或指示车辆502在环境内移动。例如,主要系统可以实施al技术来定位车辆、检测车辆周围的对象、分割传感器数据、确定对象的分类、预测对象轨迹、生成车辆502和车辆周围对象的轨迹等。在一些示例中,主要系统可以处理来自车辆上的多种类型的传感器的数据,诸如传感器系统506内的光检测和测距(lidar)传感器、雷达传感器、图像传感器、深度传感器(飞行时间、结构光等)、相机等。
[0083]
在一些示例中,车辆安全系统534可以作为基于传感器数据和主要系统(例如,车辆计算设备504)实现的al技术接收状态数据(例如,感知数据)的独立系统来操作,并且可以执行本文所述的各种技术,以用于改善车辆502的碰撞预测和避免。如本文所述,车辆安全系统534可以实现用于基于传感器数据预测相交/碰撞的技术,以及基于车辆和/或车辆周围对象的位置、速度、加速度等的概率技术。在一些示例中,车辆安全系统534可以处理来自传感器的数据,诸如由主要系统处理的传感器数据的子集。为了说明,主要系统可以处理激光雷达数据、雷达数据、图像数据、深度数据等,而车辆安全系统534可以仅处理激光雷达和/或雷达数据(和/或飞行时间数据)。然而,在其他示例中,车辆安全系统534可以处理来自任意数量的传感器的传感器数据,诸如来自每个传感器的数据、来自与主要系统相同数量的传感器的数据等。
[0084]
例如,在2018年11月13日提交的题为“perception collision avoidance”的美国专利申请no.16/189726号中,能够找到包括主要计算系统和次要计算系统的车辆架构的其他示例,出于所有目的,该申请的全部内容通过引用并入本文。
[0085]
尽管出于说明目的在图5中被描述为驻留在存储器518中,可以设想到,定位组件520、感知组件522、规划组件524、模型组件530、系统控制器526和地图528可以附加地或替代地能由车辆502访问(例如,例如,被存储在远离车辆502的存储器上或者能由其访问,例如,被存储在远程计算设备550的存储器548上)。类似地,尽管对象轨迹组件540、相交组件542、概率组件544和/或动作组件546被描绘为驻留在车辆安全系统534的存储器538中,但是这些组件中的一个或多个组件可以附加地或替代地在(一个或多个)车辆计算设备504内实现或者可以能由车辆502访问(例如,被存储在远离车辆502的存储器上或者以其他方式能由其访问,例如,被存储在远程计算设备550的存储器548上)。
[0086]
在至少一个示例中,定位组件520可以包括从(一个或多个)传感器系统506接收数据以确定车辆502的位置和/或取向(例如,x、y、z位置、翻滚、俯仰或偏航中的一项或多项)的功能。例如,定位组件520可以包括和/或请求/接收诸如来自(一幅或多幅)地图528和/或地图组件528的环境的地图,并且可以连续地确定地图内自主车辆的位置和/或取向。在一些情况下,定位组件520可以利用slam(同时定位和映射)、clams(同时校准、定位和映射)、相对slam、束调整、非线性最小二乘优化等来接收图像数据、激光雷达数据、雷达数据、imu
数据、gps数据、车轮编码器数据等,以准确地确定自主车辆的位置。在一些情况下,定位组件520可以向车辆502的各个组件提供数据,以确定自主车辆的初始位置,以用于确定对象与车辆502的相关性,如本文所讨论的。
[0087]
在一些情况下,感知组件522可以包括执行对象检测、分割和/或分类的功能。在一些示例中,感知组件522可以提供经处理的传感器数据,其指示接近车辆502的对象(例如,实体)的存在和/或对象作为对象类型的分类(例如,汽车、行人、骑自行车的人、动物、建筑物、树木、路面、路缘、人行道、未知等)。在一些示例中,感知组件522可以提供经处理的传感器数据,所述传感器数据指示接近车辆502的静止实体的存在和/或静止实体作为类型(例如,建筑物、树木、道路表面、路缘、人行道、未知等)的分类。在附加或替代示例中,感知组件522可以提供经处理的传感器数据,其指示与检测到的对象(例如,被跟踪的对象)和/或对象所处的环境相关联的一个或多个特征。在一些示例中,与对象相关联的特征可以包括但不限于:x位置(全局和/或局部位置)、y位置(全局和/或局部位置)、z位置(全局和/或局部位置)、取向(例如,滚动、俯仰、偏航)、对象类型(例如,分类)、对象的速度、对象的加速度、对象的范围(大小)等。与环境相关联的特征可以包括但不限于环境中另一对象的存在、环境中另一对象的状态、一天中的时间、一周中的一天、季节、天气状况、黑暗/光明的指示等。
[0088]
通常,规划组件524可以确定车辆502穿过环境所遵循的路径。例如,规划组件524可以确定各种路线和轨迹以及各种细节级别。例如,规划组件524可以确定从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线。出于本讨论的目的,路线可以包括在两个地点之间行驶的航路点序列。作为非限制性示例,航路点包括街道、相交点、全球定位系统(gps)坐标等。此外,规划组件524可以生成用于沿着从第一位置到第二位置的路线的至少一部分引导自主车辆的指令。在至少一个示例中,规划组件524可以确定如何将自主车辆从航路点序列中的第一航路点引导到航路点序列中的第二航路点。在一些示例中,指令可以是轨迹或轨迹的一部分。在一些示例中,可以根据后退水平技术基本上同时地生成多条轨迹(例如,在技术公差内),其中,选择多条轨迹中的一条轨迹以用于导航车辆502。
[0089]
在一些示例中,规划组件524可以包括预测组件,以生成环境中对象(例如,动态对象,如行人、汽车、卡车、骑自行车的人、动物等)的预测轨迹。例如,预测组件可以为距离车辆502阈值距离内的对象生成一个或多个预测轨迹。在一些示例中,预测组件可以测量对象的轨迹,并且基于观察到的和预测到的行为生成对象的轨迹。
[0090]
在至少一个示例中,车辆计算设备504可以包括一个或多个系统控制器526,其可以被配置为控制车辆502的转向、推进、制动、安全、发射器、通信和其他系统。(一个或多个)系统控制器526可以与(一个或多个)驱动系统514的对应系统和/或车辆502的其他组件通信和/或对其进行控制。
[0091]
存储器518还可以包括一幅或多幅地图528,车辆502可以使用这些地图在环境内进行导航。出于本讨论的目的,地图可以是以二维、三维或n维建模的任意数量的数据结构,其能够提供关于环境的信息,诸如但不限于拓扑(诸如相交点)、街道、山脉、道路、地形和一般环境。在一些情况下,地图可以包括但不限于:纹理信息(例如,颜色信息(例如,rgb颜色信息、lab颜色信息、hsv/hsl颜色信息等)、强度信息(例如,激光雷达信息、雷达信息等);空间信息(例如,被投影到网格上的图像数据、个体的“面元”(例如,与个体颜色和/或强度相关联的多边形))、反射率信息(例如,镜面信息、回射信息、brdf信息、bssrdf信息等)。在一
个示例中,地图可以包括环境的三维网格。在一些示例中,可以至少部分地基于(一幅或多幅)地图528来控制车辆502。也就是说,(一幅或多幅)地图528可以与定位组件520、感知组件522和/或规划组件524结合使用,以确定车辆502的位置、检测或确定重力、检测环境中的对象、生成路线、确定在环境内进行导航的行动和/或轨迹。
[0092]
在一些示例中,一幅或多幅地图528可以被存储在能经由(一个或多个)网络556访问的(一个或多个)远程计算设备(诸如(一个或多个)计算设备550)上。在一些示例中,可以基于例如特性(例如,实体的类型、一天中的时间、一周中的一天、一年中的季节等)来存储多幅地图528。存储多幅地图528可以具有相似的存储器要求,但是增加了地图中的数据可以被访问的速度。
[0093]
如在图5中所图示的,车辆计算设备504可以包括模型组件530。模型组件530可以被配置为确定车辆502的环境中的对象的相交值。在各种示例中,模型组件530可以从定位组件520、感知组件522和/或从(一个或多个)传感器系统506接收与对象相关联的传感器数据。在一些示例中,模型组件530可以从定位组件520、感知组件522、地图528和/或(一个或多个)传感器系统506接收地图数据。尽管在图5中单独示出,但是模型组件530可以是定位组件520、感知组件522、规划组件524或车辆502的其他组件的一部分。
[0094]
在各种示例中,模型组件530可以发送来自第一模型532a、第二模型532b和/或第n模型532n的(一个或多个)输出,感知组件522可以使用所述输出来基于相关的相交值来改变或修改在对象的区域中执行的感知量。在一些示例中,规划组件524可以至少部分地基于来自模型组件530的(一个或多个)输出来确定车辆502的一个或多个动作(例如,参考动作和/或子动作)。在一些示例中,模型组件530可以被配置为输出指示对象可能导致碰撞的概率的信息。在一些示例中,模型组件530可以至少包括由图1的模型组件102和/或图4b的模型组件424提供的功能。
[0095]
在一些示例中,模型组件530可以向感知组件522传送输出,以引起对与(一个或多个)传感器系统506相关联的一个或多个参数(例如,偏置值、漂移值等)的更新。
[0096]
在各种示例中,模型组件530可以利用机器学习技术来确定相交值,如关于图1和其他地方所描述的。在这样的示例中,可以训练机器学习算法以预测相交的概率,同时改善预测的准确性。
[0097]
车辆安全系统534可以包括对象轨迹组件540,其被配置为使用本文描述的各种系统和技术来确定车辆502的轨迹和/或环境内识别的其他对象的轨迹。在一些示例中,对象轨迹组件540可以从组件520-526接收规划数据、感知数据和/或地图数据,以确定车辆502的规划轨迹和环境中的其他对象的轨迹。
[0098]
在各种示例中,对象轨迹组件540可以生成表示轨迹的一组单点和/或多对相关点(例如,对于路径多边形)。在一些示例中,单条轨迹的点对和/或单个点可以彼此间隔一致(例如,0.2秒间隔、0.5秒间隔等)。在一些示例中,点对和/或单个点可以彼此以不同的间隔。在各种示例中,点对和/或单个点可以以彼此相等的长度(例如,沿着路径的长度)表示。在这样的示例中,点对的每个左/右点可以与点对的下一个左/右点相距预定义的距离(例如,1米、3英尺、18英寸等)。在一些示例中,点对的长度可以彼此不同。在各种示例中,可以基于车辆/对象机动、速度、环境中的交通密度和/或影响确定轨迹的车辆502或对象的其他因素来确定距离。
[0099]
在一些示例中,对象轨迹组件540确定车辆502的单个规划轨迹(例如,基于从规划组件524和地图530接收的规划数据和地图数据),并且可以确定车辆502运行环境中一个或多个其他移动对象(例如,车辆110)的多条轨迹。在一些示例中,另一对象的轨迹可以包括任意数量的可能路径,其中对象可以从当前位置(例如,在感知时)和/或基于行进方向来行进。基于确定代理在到车辆502的阈值距离或时间内,对象轨迹组件540可以确定与对象相关联的轨迹。在一些示例中,对象轨迹组件540可以被配置为确定环境中每个检测到的移动对象的可能轨迹。
[0100]
在各种示例中,相交组件542可以使用本文描述的各种技术来确定车辆502的轨迹和/或环境中其他对象的轨迹中的一条或多条轨迹之间的相交,以确定环境中是否可能存在潜在的碰撞区。潜在的碰撞区可以包括基于(一个或多个)路径多边形和轨迹,车辆502与对象(例如,车辆110)之间可能发生相交的区域。在至少一些示例中,可以使用对象的轨迹和对象属性(例如,对象大小、位置、取向、姿势等)来计算对象的对象多边形。在这样的示例中,碰撞区可以由车辆502的路径多边形与其他对象的对象多边形之间的重叠区域来定义。
[0101]
在一些示例中,如果与车辆502相关联的轨迹与和对象相关联的至少一条轨迹相交,则潜在碰撞区可能存在于车辆502与对象之间。在各种示例中,相交组件542可以基于车辆和对象轨迹在阈值距离内(例如,2英尺、3英尺、4米、5米等)来确定潜在碰撞区可能存在于车辆502与对象之间。在一些示例中,阈值距离可以基于预定义的距离。在各种示例中,可以基于车辆和/或对象的已知或感知宽度来确定阈值距离。在一些示例中,阈值距离可以进一步确定为缓冲器,其可以表示车辆502和/或对象周围的安全缓冲器。
[0102]
在一些示例中,相交组件542可以基于车辆和对象的已知或感知宽度,分别从车辆502和对象的中心扩展车辆轨迹和/或对象轨迹的边缘。如果车辆轨迹(或路径多边形)和对象轨迹(或路径多边形)的扩展宽度在最小允许距离(例如,3英寸、5英寸、1英尺)内相交和/或通过,则相交组件542可以确定潜在碰撞区存在。如果车辆轨迹和/或路径多边形的扩展宽度没有相交和/或通过超过最小允许距离,则相交组件542可以确定碰撞区域不存在。最小允许距离可以基于乘客是否在车内、环境中的道路宽度、乘客舒适度和/或反应、乘客的学习公差、当地驾驶礼仪等。
[0103]
在各种示例中,基于潜在碰撞区可能存在的确定,相交组件542可以被配置为确定潜在碰撞区的边界。在一些示例中,潜在碰撞区可以包括四个元素:车辆进入点、车辆退出点、对象进入点和对象退出点。车辆502和对象进出点中的每个可以包括位置和距离。对象进入点和对象退出点可以包括沿着对象轨迹的轨迹样本,诸如轨迹样本。在一些示例中,对象进入点和代理退出点可以表示不存在碰撞风险的轨迹样本。在各种示例中,可以通过识别在与车辆502的轨迹或路径多边形相交(例如,会聚)之前与对象的轨迹相关联的最后轨迹样本来确定对象进入点位置。在一些示例中,可以通过在对象轨迹与车辆502的轨迹或路径多边形之间会聚之后识别与对象轨迹相关联的第一轨迹样本来确定对象退出点位置。与对象进入点和对象退出点相关联的距离可以从相应位置导出,作为沿着轨迹的距离。
[0104]
相交组件542可以基于车辆轨迹或路径多边形前后的偏移距离来确定车辆进入点和车辆退出点位置。在一些示例中,所述偏移距离可以包括垂直于车辆502的轨迹测量的距离。在一些示例中,所述偏移距离可以包括在轨迹之前和之后沿着路径多边形(例如,车辆路径)测量的距离。在各种示例中,可以从路径多边形的中心测量偏移距离。在一些示例中,
可以沿着路径多边形从车辆的最前方点测量偏移距离。在这样的示例中,偏移距离可以考虑车辆机动(例如,转弯)以及其对车辆502的位置的影响。
[0105]
如上所述,在各种示例中,相交组件542可以对一个或多个潜在碰撞区(其边界,诸如车辆和对象进出点)执行时空重叠分析。在各种示例中,时空重叠可以被表示为与预测的对象轨迹和车辆502的规划轨迹相关联的位置锥(cone)。在各种示例中,相交组件542可以被配置为确定车辆位置锥和代理位置锥。可以基于车辆502沿着经过潜在碰撞区的规划轨迹(例如,路径多边形)的可能速度来确定车辆位置锥。对象位置锥可以基于代理沿着与潜在碰撞区相关联的对象的轨迹的可能速度来确定。
[0106]
在各种示例中,对象的可能速度可以从相交组件542的可能加速度(例如,正加速度和负加速度)导出。加速度可以包括基于快速行为模型(例如,激进行为)的正加速度和基于慢速行为模型(如,保守行为)的负加速度。在各种示例中,与对象相关联的正加速度可以基于交通规则、道路规则、本地驾驶礼仪、交通模式、代理的语义分类等。在一些示例中,正加速度可以表示基于初始速度的环境中可能的最大正加速度量。在各种示例中,与对象相关联的负加速度可以表示环境中可能的最大负加速度量,诸如基于对象的初始速度的负加速度。
[0107]
在各种示例中,相交组件542可以确定对象和车辆502相对于潜在碰撞区的位置线和/或位置锥。车辆502和对象的位置线和/或锥可以基于相对于潜在碰撞区的对象进入时间、对象退出时间、车辆进入时间和车辆退出时间。在这样的示例中,到潜在碰撞区中的进入时间可以与速度的最激进的估计相关联。在各种示例中,对象退出时间和车辆退出时间可以与各自的最小速度相关联。在这样的示例中,到潜在碰撞区中的退出时间可以与速度的最保守估计相关联。
[0108]
在一些示例中,时空重叠可以被表示为与基于时间的对象的可能位置相关联的一个或多个概率密度函数。对象的可能位置可以从可能的加速度和由此导出的速度和/或其他系统或子系统(例如,预测系统,其可以是例如感知组件522的子系统)的输出中导出。概率密度函数可以表示激进和保守的驾驶速度,以及基于对象的加速度的不确定性,诸如基于交通规则、道路规则、本地驾驶礼仪、交通模式、代理的语义分类等的不确定性。概率密度函数可以表示与对象相关联的二维区域或三维区域。概率密度函数的曲线下的面积的总和可以等于1。
[0109]
在各种示例中,概率组件544可以基于由相交组件542执行的时空重叠分析来确定车辆502和/或其他对象(例如,车辆110)之间的相交的预测和/或碰撞的概率/风险。在一些示例中,概率组件544可以基于车辆502的单条轨迹和对象的单条轨迹、基于车辆502和对象相对于潜在碰撞区的位置线和/或位置锥之间的重叠来确定相交的概率。例如,基于位置线在潜在碰撞区中的重叠位置和/或位置锥之间的重叠量(例如,时间间隙、锥重叠百分比等),概率组件544可以确定碰撞风险可能相对较高、中等或较低。
[0110]
另外,使用本文描述的各种技术,概率组件544也可以基于车辆502的规划轨迹与对象的多条轨迹来确定车辆502与对象之间的相交概率。例如,相交组件542可以分析对象的多条轨迹(例如,基于对象状态参数的扰动),并且概率组件544可以基于多条轨迹的分析结果来确定单个碰撞预测。在一些情况下,概率组件544可以基于对象的轨迹的百分比(或比率)来确定相交概率,所述对象的轨迹基于规划车辆轨迹被确定与车辆502相交或碰撞。
[0111]
在各种示例中,动作组件546可以基于车辆502与另一对象(例如,车辆106)之间的相交的预测和/或概率确定以及其他因素,来确定车辆502要采取的一个或多个动作。所述动作可以包括使车辆减速以向对象让行、停止车辆以向对象让行、改变车道或向左转弯、或者改变车道或向右转弯等。基于所确定的动作,(一个或多个)车辆计算设备504(诸如通过(一个或多个)系统控制器528)可以使得车辆502执行所述动作。在至少一些示例中,这样的动作可以基于碰撞概率,所述碰撞概率由概率组件544基于对象的多条轨迹而确定的。在至少一些示例中,响应于确定调整车辆的侧向位置(诸如在向左或向右变道时),车辆安全系统534可以使得组件540-546生成更新的车辆轨迹(或路径多边形)、绘制关于更新的车辆轨道的额外对象轨迹、确定更新的潜在碰撞区、以及执行时空重叠分析以确定在车辆502执行所确定的动作之后相交风险是否仍然存在。
[0112]
能够理解,本文讨论的组件(例如,定位组件520、感知组件522、规划组件524、预测组件526、一个或多个系统控制器528、一幅或多幅地图530以及包括对象轨迹组件540、相交组件542、概率组件544和动作组件546的车辆安全系统534被描述为为了说明目的而被划分。然而,由各种组件执行的操作可以组合或者在任何其他组件中执行。
[0113]
在一些情况下,本文讨论的一些或所有组件的方面可以包括任何模型、技术和/或机器学习技术。例如,在一些情况下,存储器518(以及下文讨论的存储器548)中的组件可以被实现为神经网络。
[0114]
如本文所述,示例性神经网络是受生物启发的技术,其将输入数据传递通过一系列连接层以产生输出。神经网络中的每个层也可以包括另一神经网络,或者可以包括任意数量的层(无论是否是卷积层)。如在本公开的上下文中能够理解的,神经网络可以利用机器学习,机器学习可以指代这样的技术的宽泛类,其中基于学习的参数来生成输出。
[0115]
尽管在神经网络的上下文中进行了讨论,但是可以使用与本公开相一致的任意类型的机器学习。例如,机器学习技术可以包括但不限于:回归技术(例如,普通最小二乘回归(olsr)、线性回归、逻辑回归、逐步回归、多元自适应回归样条(mars)、局部估计散点图平滑(loess)),基于实例的技术(例如,岭回归、最小绝对收缩和选择算子(lasso)、弹性网络、最小角度回归(lars)),决策树算法(例如,分类和回归树(cart)、迭代二分法3(id3)、卡方自动交互检测(chaid)、决策树桩、条件决策树),贝叶斯技术(例如,朴素贝叶斯、高斯朴素贝叶斯、多项朴素贝叶斯、平均单依赖估计器(aode)、贝叶斯信念网络(bnn),贝叶斯网络),聚类技术(例如,k均值、k中值、期望最大化(em)、层次聚类),关联规则学习技术(例如,感知机(perceptron)、反向传播、跳场网络、径向基函数网络(rbfn)),深度学习技术(例如,深度玻尔兹曼机(dbm)、深度信念网络(dbn)、卷积神经网络(cnn)、堆叠自动编码器),降维技术(例如,主成分分析(pca)、主成分回归(pcr)、偏最小二乘回归(plsr)、sammon映射、多维缩放(mds)、投影追踪、线性判别分析(lda)、混合判别分析(mda)、二次判别分析(qda)、灵活判别分析(fda)),集成技术(例如,提升、自举聚合(bagging)、adaboost、堆叠泛化(混合)、梯度提升机(gbm)、梯度提升回归树(gbrt)、随机森林),svm(支持向量机),监督学习,无监督学习,半监督学习等。架构的其他示例包括神经网络,例如resnet-50、resnet-101、vgg、densenet、pointnet等。
[0116]
在至少一个示例中,(一个或多个)传感器系统506可以包括激光雷达传感器、雷达传感器、超声换能器、声纳传感器、位置传感器(例如,gps、罗盘等)、惯性传感器(例如,惯性
测量单元(imu)、加速度计、磁强计、陀螺仪等)、相机(例如,rgb、ir、强度、深度、飞行时间等)、麦克风、车轮编码器、环境传感器(例如温度传感器、湿度传感器、光传感器、压力传感器等)等。(一个或多个)传感器系统506可以包括这些或其他类型的传感器中的每个的多个实例。例如,激光雷达传感器可以包括位于车辆502的拐角、前部、后部、侧面和/或顶部的单个激光雷达传感器。作为另一示例,相机传感器可以包括设置在车辆502的外部和/或内部的不同位置处的多个相机。传感器系统506可以向车辆计算设备504提供输入。另外,或者在替代方案中,传感器系统506可以经由一个或多个网络556在预定时间段过去之后,接近实时地等向一个或多个计算设备550发送传感器数据。在一些示例中,模型组件530可以从一个或多个传感器系统506接收传感器数据。
[0117]
车辆502也可以包括一个或多个发射器508,以用于发射光和/或声音。发射器508可以包括与车辆502的乘客通信的内部音频和视觉发射器。作为示例而非限制,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带张紧器、座椅定位器、头枕定位器等)等。发射器508还可以包括外部发射器。作为示例而非限制,外部发射器可以包括用于发出行进方向信号的灯或车辆行动的其他指示器(例如,指示灯、标志、灯阵列等),以及用于与行人或其他附近车辆进行可听通信的一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等),其中一个或多个包括声束转向技术。
[0118]
车辆502还可以包括一个或多个通信连接510,通信连接510实现车辆502与一个或多个其他本地或远程计算设备之间的通信。例如,通信连接510可以促进与车辆502和/或驱动系统514上的其他本地计算设备的通信。此外,通信连接510可以允许车辆与其他附近计算设备(例如,远程计算设备550、其他附近车辆等)和/或用于接收传感器数据的一个或多个远程传感器系统558通信。通信连接510还使得车辆502能够与远程操作计算设备或其他远程服务通信。
[0119]
通信连接510可以包括用于将车辆计算设备504连接到另一计算设备或网络(例如网络556)的物理和/或逻辑接口。例如,通信连接510可以实现基于wi-fi的通信,例如经由通过ieee 300.11标准定义的频率、短距离无线频率(例如,蓝牙)、蜂窝通信(例如,2g、3g、4g、4g lte、5g等)或使相应的计算设备能够与其他计算设备接合的任何合适的有线或无线通信协议。
[0120]
在至少一个示例中,车辆502可以包括一个或多个驱动系统514。在一些示例中,车辆502可以具有单个驱动系统514。在至少一个示例中,如果车辆502具有多个驱动系统514,则单独的驱动系统514可以位于车辆502的相对端(例如,前部和后部等)。在至少一个示例中,驱动系统514可以包括一个或多个传感器系统,以检测驱动系统514和/或车辆502的周围环境的状况。作为示例而非限制,传感器系统可以包括:一个或多个车轮编码器(例如,旋转编码器),以感测驱动系统的轮的旋转;惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等),以测量驱动系统的取向和加速度;相机或其他图像传感器;超声波传感器,以声学检测驱动系统的环境中的对象;激光雷达传感器;雷达传感器等。一些传感器(例如,车轮编码器)对于驱动系统514可能是唯一的。在某些情况下,驱动系统514上的传感器可以重叠或补充车辆502的对应系统(例如,传感器系统506)。
[0121]
驱动系统514可以包括许多车辆系统,包括高压电池、用于驱动车辆的电动机
(motor)、用于将来自电池的直流电转换成交流电以供其他车辆系统使用的逆变器、包括转向马达和转向齿条(其可能是电动的)的转向系统、包括液压或电动致动器的制动系统、包括液压和/或气动组件的悬挂系统、用于分配制动力以减轻牵引力损失并保持控制的稳定性控制系统、hvac系统、照明(例如,用于照亮车辆外部环境的头灯/尾灯之类的照明)和一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气组件,例如dc/dc转换器、高压接头、高压电缆、充电系统、充电端口等)。另外,驱动系统514可以包括驱动系统控制器,其可以接收和预处理来自传感器系统的数据并控制各种车辆系统的操作。在一些示例中,驱动系统控制器可以包括一个或多个处理器以及与一个或多个处理器通信耦合的存储器。存储器可以存储一个或多个模块以执行驱动系统514的各种功能。此外,驱动系统514还可以包括一个或多个通信连接,其使得相应驱动系统能够与一个或多个其他本地或远程计算设备通信。
[0122]
在至少一个示例中,直接连接512可以提供物理接口,以将一个或多个驱动系统514与车辆502的车身耦合。例如,直接连接512可以允许在驱动系统514和车辆之间传递能量、流体、空气、数据等。在一些情况下,直接连接512可进一步将驱动系统514可释放地固定到车辆502的车身。
[0123]
在至少一个示例中,定位组件520、感知组件522、规划组件524、一个或多个系统控制器526、一幅或多幅地图528和模型组件530可以如上所述处理传感器数据,并且可以通过一个或多个网络556将其各自的输出发送到计算设备550。在至少一个示例中,定位组件520、感知组件522、规划组件524、一个或多个系统控制器526、一幅或多幅地图528和模型组件530可以以特定频率在经过预定时间段之后、近实时地等将其各自的输出发送到远程计算设备550。
[0124]
在一些示例中,车辆502可以经由网络556向计算设备550发送传感器数据。在一些示例中,车辆502可以经由网络556从计算设备550和/或远程传感器系统558接收传感器数据。传感器数据可以包括原始传感器数据和/或经处理的传感器数据和传感器数据的表示。在一些示例中,(原始的或经处理的)传感器数据可以作为一个或多个日志文件被发送和/或接收。
[0125]
计算设备550可以包括处理器552和存储训练组件554的存储器548。
[0126]
在一些情况下,训练组件554可以包括训练机器学习模型以输出分类值的功能。例如,训练组件554可以接收表示标记的碰撞数据的数据(例如,公开可用的数据、传感器数据和/或其组合)。至少一部分数据可以用作训练机器学习模型的输入。作为非限制性示例,传感器数据、音频数据、图像数据、地图数据、惯性数据、车辆状态数据、历史数据(日志数据)或其组合可以被输入到机器学习模型中。因此,通过提供车辆横穿环境的数据,训练组件554可以被训练以输出与对象相关联的相交值,如本文所讨论的。
[0127]
在一些示例中,训练组件554可以包括由模拟器生成的训练数据。例如,模拟的训练数据可以表示车辆与环境中的对象碰撞或几乎与环境中对象碰撞的示例,以提供额外的训练示例。
[0128]
在一些示例中,由训练组件554提供的功能可以由车辆计算设备504包括和/或执行。
[0129]
车辆502的处理器516、车辆安全系统534的处理器536和/或计算设备550的处理器
552可以是能够执行指令以处理数据和执行本文所述操作的任何合适的处理器。作为示例而非限制,处理器516、536和552可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)或处理电子数据以将该电子数据转换成可以存储在寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,集成电路(例如,asic等)、门阵列(例如fpga等)和其他硬件设备也可以被认为是处理器,只要它们被配置为实现编码指令即可。
[0130]
存储器518、存储器548和存储器554是非暂时性计算机可读介质的示例。存储器518、存储器548和/或存储器554可以存储操作系统和一个或多个软件应用程序、指令、程序和/或数据,以实现本文所述的方法和属于各种系统的功能。在各种实现中,可以使用任何合适的存储器技术来实现存储器,例如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存型存储器或能够存储信息的任何其他类型的存储器。这里描述的体系结构、系统和单个元件可以包括许多其他逻辑、编程和物理组件,其中附图中所示的那些仅仅是与这里的讨论相关的示例。
[0131]
在一些情况下,存储器518、存储器548和存储器554可至少包括工作存储器和存储存储器。例如,工作存储器可以是有限容量的高速存储器(例如,高速缓冲存储器),其用于存储要由处理器516、536和/或552操作的数据。在一些情况下,存储器518、存储器548和存储器554可以包括存储存储器,该存储存储器可以是用于长期存储数据的相对大容量的低速存储器。在一些情况下,处理器516、536和/或552不能直接对存储在存储存储器中的数据进行操作,并且可能需要将数据加载到工作存储器中以基于数据执行操作,如本文所讨论的。
[0132]
应当注意,尽管图5被示为分布式系统,但在替代示例中,车辆502的组件可以与计算设备550相关联,和/或计算设备550的组件可以与车辆502相关联。即,车辆502可以执行与计算设备550相关联的一个或多个功能,反之亦然。例如,车辆502和/或计算设备550可以执行与本文描述的一个或多个模型相关的训练操作。
[0133]
图6a是描绘用于使用一个或多个示例模型确定碰撞概率的示例过程600的流程图的第一部分。图6b是描绘用于使用一个或多个示例模型确定碰撞概率的示例过程600的流程图的第二部分。如本文所述,过程600的一些或全部可以由图5中的一个或多个组件来执行。例如,过程600的一些或全部可以由车辆计算设备504和/或车辆安全系统534来执行。
[0134]
在操作602处,所述过程可以包括接收与车辆的环境中的对象相关联的状态数据。在一些示例中,操作602可以包括捕获与车辆102的环境中的一个或多个对象相关联的传感器数据。一个或多个对象可以表示行人、一组行人、另一车辆等。传感器数据可以从车辆上的一个或多个传感器和/或从一个或更少个远程传感器被接收。车辆计算设备可以至少部分地基于传感器数据来检测、推断、估计或者以其他方式来确定表示环境中的对象的特性的状态数据。
[0135]
在操作604处,所述过程可以包括:至少部分地基于所述状态数据来确定对象的第一路径和对象的第二路径,第二路径不同于第一路径。在一些示例中,操作604可以包括:车辆计算设备基于对象的状态数据(例如,位置数据、偏航数据、速度数据等)来确定对象与车辆碰撞的两个或更多个路径。
[0136]
在操作606处,所述过程可以包括确定对象遵循第一路径的第一概率。在一些示例
中,操作606可以包括模型组件104输出第一值以指示对象遵循第一路径的第一概率。在各种示例中,车辆计算设备可以实现机器学习模型以输出一个或多个值,所述值指示对象遵循路径(或者一组路径中的额外路径)的可能性或概率。在一些示例中,由机器学习模型提供的功能可以由模型组件104来实现。在至少一些示例中,可以使用这样的概率来确定与对象相关联的一个或多个额外路径,诸如,例如通过至少部分地基于任何参数(例如,航向)中的不确定性来确定相对于预测路径的其他路径的分布。
[0137]
在操作608处,所述过程可以包括确定对象遵循第二路径的第二概率。在一些示例中,操作608可以包括:模型组件104输出第二值以指示对象遵循第一路径的第二概率。
[0138]
在操作610处,所述过程可以包括确定对象遵循第n路径的第n概率。在一些示例中,操作608可以包括:模型组件104输出第n值以指示对象遵循第n路径的概率(其中,n可以是大于1的任意整数)。
[0139]
在操作612处,所述过程可以包括确定是否为对象确定了额外路径。例如,车辆的车辆计算设备可以为车辆102检测到的每个对象计算预定数量的路径(例如,1、2、3等)。如果确定预定数量的路径不满足或不超过阈值(例如,操作612中的“是”),则操作612之后可以是操作604。如果确定预定数量的路径满足或超过阈值(例如,操作612中的“否”),则操作612可以继续到操作614。
[0140]
在操作614处,所述过程可以包括接收车辆的轨迹。在一些示例中,操作614可以包括从车辆计算设备504的规划组件524接收轨迹。
[0141]
在操作616处,所述过程可以包括确定沿着第一路径的车辆与对象之间的第一碰撞点以及沿着第二路径的车辆与对象之间的第二碰撞点。在一些示例中,操作616可以包括:车辆计算设备使用车辆102的轨迹来计算第一碰撞点和第二碰撞点,如本文所讨论的。在一些示例中,车辆计算设备可以为每个对象路径确定多个碰撞点。
[0142]
在操作618处,所述过程可以包括:确定车辆和对象在沿着第一路径的第一碰撞点处碰撞的第一相交时间,以及车辆和对象沿着第二路径在第二碰撞点处碰撞的第二相交时间。在一些示例中,操作618可以包括:车辆计算设备使用车辆102的轨迹来计算第一相交时间和第二相交时间,如本文所讨论的。在一些示例中,车辆计算设备可以为每个对象路径确定多个相交时间。在一些示例中,车辆计算设备可以至少部分地基于与每个对象路径相关联的一个或多个碰撞点以及一个或多个相交时间来确定碰撞区域。
[0143]
在操作620处,所述过程可以包括确定车辆与对象在第一碰撞点或第二碰撞点处相交的第三概率。在一些示例中,操作620可以包括:车辆计算设备至少部分地基于第一概率、第二概率、第一碰撞点、第二碰撞点、第一相交时间和第二相交时间来确定第三概率。
[0144]
在操作622处,所述过程可以包括:至少部分基于第三概率来控制环境中的车辆。在一些示例中,操作622可以包括:基于来自模型组件104的一个或多个相交值来控制车辆102。例如,模型组件104输出的相交值可以由感知组件(例如,感知组件522)和/或规划组件(例如,规划组件524)使用。在一些示例中,操作622可以包括基于相交值106来确定车辆102的轨迹。车辆102可以被控制为根据(例如,遵循)轨迹移动。
[0145]
本文描述的方法表示可以在硬件、软件或其组合中实现的操作序列。在软件的上下文中,框表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,当由一个或多个处理器执行时,这些指令执行所述操作。通常,计算机可执行指令包括执行特定功能
或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序并不旨在被解释为限制,并且可以以任何顺序和/或并行地组合任何数量的所描述的操作以实现过程。在一些实施例中,可以完全省略该方法的一个或多个操作。作为示例而非限制,可以在没有操作622的情况下执行操作602、604、606、608、614、616、618和620。此外,本文所述的方法可以全部或部分地彼此结合或与其他方法结合。
[0146]
本文描述的各种技术可以在计算机可执行指令或软件(例如程序模块)的上下文中实现,这些指令或软件存储在计算机可读存储器中,并由一个或多个计算设备(例如图中所示的计算设备)的处理器执行。通常,程序模块包括例程、程序、对象、组件、数据结构等,并定义用于执行特定任务或实现特定抽象数据类型的操作逻辑。
[0147]
其他架构可用于实现所描述的功能,并且旨在包含在本公开的范围内。此外,尽管为了讨论的目的,上文定义了具体的职责分配,但各种职能和职责可能会根据情况以不同的方式分配和划分。
[0148]
类似地,软件可以以各种方式和使用不同的方式存储和分布,并且上述特定软件存储和执行配置可以以多种不同的方式变化。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,而不限于具体描述的存储器形式。
[0149]
示例条款
[0150]
本节中的任何示例条款可以与在本文中所描述的任何其他示例条款和/或任何其他示例或实施例一起使用。
[0151]
a:一种系统,包括:一个或多个处理器;以及存储能由所述一个或多个处理器运行的指令的一个或多个非暂时性计算机可读介质,其中,所述指令当被执行时,使得所述系统执行以下操作,包括:接收与车辆附近的环境中的对象相关联的状态数据,所述状态数据包括航向不确定性、速度不确定性以及所述对象遵循路径的概率;至少部分地基于所述航向不确定性和所述路径来确定所述对象的第一潜在路径和所述对象的第二潜在路径,所述第一潜在路径与所述对象遵循所述第一潜在路径的第一概率相关联,并且所述第二潜在路径与所述对象遵循所述第二潜在路径的第二概率相关联;接收所述车辆的轨迹;至少部分地基于所述车辆的所述轨迹和所述速度不确定性来确定所述轨迹与所述第一潜在路径之间的第一相交点以及所述轨迹与所述第二潜在路径之间的第二相交点;至少部分地基于所述第一概率、所述第二概率和所述速度不确定性来确定所述车辆与所述对象在所述第一相交点或所述第二相交点处的相交概率;以及至少部分地基于所述相交概率来控制所述环境中的所述车辆。
[0152]
b:根据段落a描述的系统,其中,所述对象是第一对象,并且还包括:检测第二对象,所述第二对象与第二状态数据、第二航向不确定性和第二速度不确定性相关联;至少部分地基于所述第二状态数据来确定所述第二对象的第三路径和所述第二对象的第四路径,所述第三路径与所述第四概率相关联,并且所述第四路径与所述第五概率相关联;至少部分地基于所述第四概率和所述第五概率来确定所述车辆与所述第二对象之间的第二相交概率;以及确定所述第二相交概率小于或等于阈值概率,其中,控制所述车辆独立于所述第二对象。
[0153]
c:根据段落a或b描述的系统,其中,确定所述第一潜在路径和所述第二潜在路径包括:至少部分地基于所述航向不确定性来确定关于所述路径的路径分布;以及根据路径
的所述分布来确定两条路径作为所述第一潜在路径和所述第二潜在路径。
[0154]
d:根据段落a至c描述的系统,还包括:至少部分地基于最小速度来确定与所述对象和所述车辆处于碰撞区域中相关联的第一时间;以及至少部分地基于最大速度来确定与所述对象和所述车辆处于所述碰撞区域中相关联的第二时间,其中,确定所述相交概率包括确定所述对象的当前速度在所述最小速度与所述最大速度之间。
[0155]
e:根据段落a至d描述的系统,其中,所述速度不确定性至少部分地基于到达相交点的时间以及位置不确定性或加速度不确定性中的一项或多项。
[0156]
f:一种方法,包括:接收与车辆附近的环境中的第一对象相关联的第一组路径;接收与所述环境中的第二对象相关联的第二组路径;接收与所述车辆相关联的轨迹;确定所述轨迹与所述第一组路径中的路径之间的第一相交点以及所述轨迹与所述第二组路径中的路径之间的第二相交点;至少部分地基于所述第一相交点来确定所述车辆与所述第一对象之间的第一相交概率;至少部分地基于所述第二相交点来确定所述车辆与所述第二对象之间的第二相交概率;以及至少部分地基于所述第一相交概率或所述第二相交概率来控制所述车辆。
[0157]
g:根据段落f描述的方法,还包括:接收与所述第一对象相关联的状态数据;至少部分地基于所述状态数据来确定与以下中的至少一项相关联的不确定性值:所述第一对象的位置、所述第一对象的航向、所述第一对象的加速度或者所述车辆的轨迹,并且其中,至少部分地基于所述不确定性值来确定所述第一相交概率。
[0158]
h:根据段落f或g描述的方法,还包括:至少部分地基于所述第一相交点来确定与所述第一对象相关联的第一速度范围;以及至少部分地基于所述第二相交点来确定与所述第二对象相关联的第二速度范围,其中,至少部分地基于与所述第一对象相关联的所述第一速度范围、与所述第二对象相关联的所述第二速度范围、所述第一对象的速度以及所述第二对象的速度来确定所述第一相交概率和所述第二相交概率。
[0159]
i:根据段落f至h描述的方法,其中,确定所述第一速度范围包括:基于与所述第一相交点相关联的相交区域的大小来确定所述第一对象与所述车辆的所述轨迹相交的第一时间,以及所述第一对象与所述车辆的所述轨迹相交的第二时间;以及至少部分地基于所述第一时间和所述第二时间来确定所述第一对象到达所述第一相交点的第一速度,以及所述第一对象到达所述第二相交点的第二速度,其中,所述第一速度范围由从所述第一速度到所述第二速度的速度来限定。
[0160]
j:根据段落f至i描述的方法,其中,所述第一相交概率至少部分地基于与所述第一对象相关联的速度不确定性,并且其中,所述速度不确定性至少部分地基于所述第一时间以及位置不确定性或加速度不确定性中的一项或多项。
[0161]
k:根据段落f至j描述的方法,其中,至少部分地基于与所述第一对象相关联的航向不确定性来确定所述第一组路径。
[0162]
l:根据段落f至k描述的方法,其中,从实现机器学习算法的机器学习模型接收所述第一组路径和所述第二组路径。
[0163]
m:根据段落f至l描述的方法,还包括:将所述第一相交概率、所述第二相交概率以及关于所述第一对象或所述第二对象中的至少一项的信息输入到模型中;从所述模型接收专用于所述第一对象或所述第二对象的计算处理量的指示。
[0164]
n:根据段落f至m描述的方法,还包括:将所述第一相交概率、所述第二相交概率以及关于所述第一对象或所述第二对象中的至少一项的信息输入到模型中;从所述模型接收相对于所述第二对象向所述第一对象应用不同级别的计算处理的指示。
[0165]
o:根据段落f至n描述的方法,其中,至少部分地基于所述第一对象的速度来确定第一相交概率。
[0166]
p:根据段落f至o描述的方法,其中,所述第一组路径中的所述路径表示基本上直线。
[0167]
q:存储能由处理器运行的指令的一个或多个非暂时性计算机可读介质,其中,所述指令当被运行时,使得所述处理器执行以下操作,包括:接收与车辆附近的环境中的对象相关联的一组路径,所述一组路径包括:至少部分基于与所述对象相关联的不确定性的路径分布;接收与所述车辆相关联的轨迹;确定所述轨迹与所述一组路径中的路径之间的相交点;至少部分地基于所述相交点来确定所述车辆与所述对象之间的相交概率;以及至少部分地基于所述相交概率来控制所述车辆。
[0168]
r:根据段落q描述的一个或多个非暂时性计算机可读介质,还包括:至少部分地基于与所述相交点相关联的相交区域来确定与所述相交区域相关联的速度范围;至少部分地基于所述速度范围来确定所述对象与所述车辆同时处于所述相交区域中的概率,其中,所述相交概率至少部分地基于与所述路径相关联的概率和与在所述相交区域中的所述对象相关联的所述概率的乘积来确定。
[0169]
s:根据段落q或r描述的一个或多个非暂时性计算机可读介质,所述操作还包括:接收与所述对象相关联的状态数据,所述状态数据包括与以下中的至少一项相关联的不确定性值:所述对象的位置、所述对象的航向或者所述对象的加速度,其中,至少部分地基于所述不确定性值来确定所述相交概率。
[0170]
t:根据段落q至s描述的一个或多个非暂时性计算机可读介质,所述操作还包括:接收与所述车辆附近的所述环境中的额外对象相关联的一组额外路径,所述一组额外路径包括至少部分基于与所述额外对象相关联的不确定性的额外路径分布;确定所述轨迹与所述一组额外路径中的路径之间的额外相交点;以及至少部分地基于所述额外相交点来确定所述车辆与所述额外对象之间的额外相交概率,其中,至少部分地基于所述额外相交概率小于或等于阈值概率控制所述车辆独立于所述额外对象。
[0171]
尽管上述示例条款是针对一个特定实现进行描述的,但是应当理解,在本文件的上下文中,示例条款的内容也可以通过方法、设备、系统、计算机可读介质和/或其他实现来实现。此外,示例a-t中的任何一个可以单独实现,或者与示例a-t的任何其他一个或多个结合实现。
[0172]
结论
[0173]
尽管已经描述了本文所述技术的一个或多个示例,但是其各种改变、添加、排列和等价物都包含在本文所述的技术范围内。
[0174]
在示例的描述中,参考构成本文一部分的附图,其通过图示的方式显示了所要求保护的主题的具体示例。应当理解,可以使用其他示例,并且可以进行改变或更改,例如结构改变。这样的示例、改变或变更不一定偏离关于所要求保护的主题的范围。尽管这里的步骤可以以特定顺序呈现,但在一些情况下,可以改变顺序,使得在不同时间或以不同顺序提
供特定输入,而不改变所描述的系统和方法的功能。所公开的程序也可以以不同的顺序执行。此外,本文中的各种计算不需要以所公开的顺序执行,并且可以容易地实现使用计算的替代顺序的其他示例。除了重新排序,计算还可以分解为具有相同结果的子计算。
技术特征:
1.一种系统,包括:一个或多个处理器;以及存储能由所述一个或多个处理器运行的指令的一个或多个非暂时性计算机可读介质,其中,所述指令当被运行时,使得所述系统执行以下操作,包括:接收与车辆附近的环境中的对象相关联的状态数据,所述状态数据包括航向不确定性、速度不确定性以及所述对象遵循路径的概率;至少部分地基于所述航向不确定性和所述路径来确定所述对象的第一潜在路径和所述对象的第二潜在路径,所述第一潜在路径与所述对象遵循所述第一潜在路径的第一概率相关联,并且所述第二潜在路径与所述对象遵循所述第二潜在路径的第二概率相关联;接收所述车辆的轨迹;至少部分地基于所述车辆的所述轨迹和所述速度不确定性来确定所述轨迹与所述第一潜在路径之间的第一相交点以及所述轨迹与所述第二潜在路径之间的第二相交点;至少部分地基于所述第一概率、所述第二概率以及所述速度不确定性来确定所述车辆与所述对象在所述第一相交点或所述第二相交点处的相交概率;以及至少部分地基于所述相交概率来控制所述环境中的所述车辆。2.根据权利要求1所述的系统,其中,所述对象是第一对象,并且所述操作还包括:检测第二对象,所述第二对象与第二状态数据、第二航向不确定性和第二速度不确定性相关联;至少部分地基于所述第二状态数据来确定所述第二对象的第三路径和所述第二对象的第四路径,所述第三路径与第四概率相关联,并且所述第四路径与第五概率相关联;至少部分地基于所述第四概率和所述第五概率来确定所述车辆与所述第二对象之间的第二相交概率;以及确定所述第二相交概率小于或等于阈值概率,其中,控制所述车辆是独立于所述第二对象的。3.根据权利要求1或2中的任一项所述的系统,其中,确定所述第一潜在路径和所述第二潜在路径包括:至少部分地基于所述航向不确定性来确定关于所述路径的路径分布;以及根据所述路径分布来确定两条路径作为所述第一潜在路径和所述第二潜在路径。4.根据权利要求1-3中的任一项所述的系统,还包括:至少部分地基于最小速度来确定与所述对象和所述车辆处于碰撞区域中相关联的第一时间;以及至少部分地基于最大速度来确定与所述对象和所述车辆处于所述碰撞区域中相关联的第二时间,其中,确定所述相交概率包括确定所述对象的当前速度在所述最小速度与所述最大速度之间。5.根据权利要求1-4中的任一项所述的系统,其中,所述速度不确定性是至少部分地基于位置不确定性或加速度不确定性中的一项或多项以及到达相交点的时间的。6.一种方法,包括:接收与车辆附近的环境中的第一对象相关联的第一组路径;
接收与所述环境中的第二对象相关联的第二组路径;接收与所述车辆相关联的轨迹;确定所述轨迹与所述第一组路径中的路径之间的第一相交点以及所述轨迹与所述第二组路径中的路径之间的第二相交点;至少部分地基于所述第一相交点来确定所述车辆与所述第一对象之间的第一相交概率;至少部分地基于所述第二相交点来确定所述车辆与所述第二对象之间的第二相交概率;以及至少部分地基于所述第一相交概率或所述第二相交概率来控制所述车辆。7.根据权利要求6所述的方法,还包括:接收与所述第一对象相关联的状态数据;至少部分地基于所述状态数据来确定与以下中的至少一项相关联的不确定性值:所述第一对象的位置、所述第一对象的航向、所述第一对象的加速度或者所述车辆的轨迹,并且其中,确定所述第一相交概率是至少部分地基于所述不确定性值的。8.根据权利要求6或7中的任一项所述的方法,还包括:至少部分地基于所述第一相交点来确定与所述第一对象相关联的第一速度范围;以及至少部分地基于所述第二相交点来确定与所述第二对象相关联的第二速度范围,其中,确定所述第一相交概率和所述第二相交概率是至少部分地基于以下项的:与所述第一对象相关联的所述第一速度范围、与所述第二对象相关联的所述第二速度范围、所述第一对象的速度以及所述第二对象的速度。9.根据权利要求8所述的方法,其中,确定所述第一速度范围包括:基于与所述第一相交点相关联的相交区域的大小来确定所述第一对象与所述车辆的所述轨迹相交的第一时间以及所述第一对象与所述车辆的所述轨迹相交的第二时间;以及至少部分地基于所述第一时间和所述第二时间来确定所述第一对象到达所述第一相交点的第一速度以及所述第一对象到达所述第二相交点的第二速度,其中,所述第一速度范围是由从所述第一速度到所述第二速度的速度来限定的。10.根据权利要求9所述的方法,其中,所述第一相交概率是至少部分地基于与所述第一对象相关联的速度不确定性的,以及其中,所述速度不确定性是至少部分地基于位置不确定性或加速度不确定性中的一项或多项以及所述第一时间的。11.根据权利要求6-10中的任一项所述的方法,其中,所述第一组路径是至少部分地基于与所述第一对象相关联的航向不确定性来确定的。12.根据权利要求6-11中的任一项所述的方法,其中,所述第一组路径和所述第二组路径是从实现机器学习算法的机器学习模型接收的。13.根据权利要求6-12中的任一项所述的方法,还包括:将所述第一相交概率、所述第二相交概率以及关于所述第一对象或所述第二对象中的至少一个的信息输入到模型中;从所述模型接收专用于所述第一对象或所述第二对象的计算处理量的指示。14.根据权利要求6-13中的任一项所述的方法,还包括:
将所述第一相交概率、所述第二相交概率以及关于所述第一对象或所述第二对象中的至少一个的信息输入到模型中;从所述模型接收相对于所述第二对象向所述第一对象应用不同级别的计算处理的指示。15.一种包括编码指令的计算机程序产品,所述编码指令当在计算机上运行时实现根据权利要求6至14中的任一项所述的方法。
技术总结
在本文中讨论了用于基于传感器数据来预测和避免与在环境中检测到的对象发生碰撞的技术。车辆的传感器可以检测所述环境中的一个或多个对象。模型可以确定相交值,所述相交值指示所述对象将遵循与所述车辆的规划路径相交的不同路径的概率。车辆可以从计算设备能用于控制所述车辆的模型接收一个或多个相交值。于控制所述车辆的模型接收一个或多个相交值。于控制所述车辆的模型接收一个或多个相交值。
技术研发人员:L
受保护的技术使用者:祖克斯有限公司
技术研发日:2021.10.21
技术公布日:2023/6/26
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/