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

场景理解系统和方法

文献发布时间:2024-04-18 20:00:50


场景理解系统和方法

背景技术

当自主车辆(AV)接近动态对象(如动子)时,AV使用动态对象的预测轨迹来修改其自身的轨迹。应为动态对象检测静态障碍物,并使用静态障碍物来预测动态对象的轨迹。例如,一个或多个可能的轨迹可以使动态对象避开或转向绕过检测到的障碍物。AV包括多个传感器和算法,以便于对象检测、场景理解、对象轨迹预测和车辆轨迹生成。传统AV的场景理解相当初级,这限制了对象轨迹预测和车辆轨迹生成的能力。

发明内容

本公开涉及用于生成可能的对象轨迹和/或操作车辆的实现系统和方法。方法包括:由处理器分析传感器数据以检测环境中的移动对象和移动对象无法穿过的至少一个障碍物;由处理器根据为车道定义的参考帧和距离车道的边界(例如,左边界)的边缘距离来生成障碍物在环境中的位置的定义;由处理器使用定义来检测移动对象何时应当转向绕过障碍物或何时不应当转向绕过障碍物;以及由处理器基于对象何时应当转向绕过障碍物或何时不应当转向绕过障碍物的检测来生成可能的对象轨迹。

本公开还包括用于生成可能的对象轨迹的实现系统和方法。方法包括:由处理器分析传感器数据以检测环境中的移动对象和移动对象无法穿过的至少一个障碍物;由处理器根据为车道定义的参考帧以及从车道的边界(例如,左边界)到障碍物边缘的距离来生成障碍物在环境中的位置的定义;由处理器使用障碍物的位置的定义和移动对象的已知尺寸来检测移动对象可以穿过的障碍物周围的任何空闲空间;以及由处理器基于对任何空闲空间的检测来生成可能的对象轨迹。

实现系统可以包括:处理器;以及包括编程指令的非暂时性计算机可读存储介质,编程指令被配置为使处理器实现用于生成可能的对象轨迹和/或操作车辆的方法。上述方法还可以由计算机程序产品来实现,该计算机程序产品包括存储器和被配置为使处理器执行操作的编程指令。

附图说明

本文中包含的附图构成说明书的一部分。

图1示出了根据本公开各方面的系统。

图2示出了根据本公开各方面的车辆的示例架构。

图3示出了根据本公开各方面如何控制车辆。

图4示出了用于生成可能的对象轨迹和/或操作车辆的方法。

图5示出了具有障碍物的车道。

图6示出了如何得到图5中障碍物的定义。

图7-14分别示出了如何得到各种场景中障碍物的定义。

图15-17分别示出了按车道对对象分类和定义进行索引的表格。

图18-21示出了当应当或不应当执行对象转向绕过障碍物时的场景。

图22示出了可能的对象轨迹。

图23-26示出了移动对象何时应当围绕障碍物向左或向右转向。

图27示出了转向到障碍物右侧的可能的对象轨迹。

图28示出了转向到障碍物左侧的可能的对象轨迹。

图29-30示出了移动对象在障碍物周围转向的空闲空间。

图31示出了用于实现各种实施例的计算机系统。

在附图中,相同的附图标记总体上表示相同或相似的元件。此外,总体上,附图标记最左边的数字表示附图标记首次出现的附图。

具体实施方式

传统机器人系统对场景有基本的理解,并实现静态转向逻辑。这些传统机器人系统的静态转向逻辑被硬编码为以下简单逻辑:移动对象位于道路或车道左侧时,在移动对象的右侧转向;移动对象位于道路或车道右侧时,在移动对象的左侧转向;移动对象阻挡车道时,在移动对象的左侧转向。静态转向逻辑不适用于以下情况:(a)移动对象位于车道起点处和(b)移动对象正在排队并在车道内缓慢前行。静态转向逻辑不考虑任何排队或让行车辆以及施工区域,这限制了对象轨迹预测和车辆路径规划的能力。

本发明的方案解决了传统系统的上述问题。本文描述了提高场景理解以使机器人系统(例如,AV)能够意识到周围环境并且能够在与传统系统相比相对较短的时间内做出关于如何对周围环境中检测到的静态和移动对象作出反应的决策的系统、装置、设备、方法和/或计算机程序产品实施例,和/或上述任何一些的组合和子组合。这样的决策可以包括确定检测到的移动对象是否应当转向绕过障碍物以及确定检测到的移动对象应当如何转向(例如,在障碍物的左侧或右侧转向)。

方法总体上包括:分析传感器数据以检测环境中的移动对象和移动对象无法穿过的障碍物;根据为车道定义的参考帧和距离车道边界的边缘距离来生成环境中每个障碍物的位置的定义;使用障碍物的定义和/或分类来检测移动对象何时应当转向绕过障碍物或何时不应当转向绕过障碍物;基于对象何时应当转向绕过障碍物或何时不应当转向绕过障碍物的检测来生成可能的对象轨迹;和/或基于可能的对象轨迹来控制车辆。在本文中,边界被视为包括左边界。本发明的方案在这方面不受限制。可以根据给定的应用使用右边界作为替代。因此,对于给定的场景,左边界和右边界可以互换。每个参考帧根据x轴坐标和y轴坐标定义2D空间。x轴在本文中被称为帧轴,并且垂直于y轴延伸,y轴在本文中被称为距离轴。帧轴的原点与车道的起点对齐,帧轴的正坐标在与车道行进方向相同的方向上增加。距离轴从车道的第一边界(例如,左边界)延伸到车道的第二边界(例如,右边界),并且其原点可以与车道的第一边界对齐。边缘距离是使用距离轴获得的。对于两个或更多个参考帧,距离轴的原点相对于障碍物的位置可以不同。

在一些场景中,通过以下方式生成定义;识别与障碍物相交的第一参考帧和离障碍物最近但不与障碍物相交的第二参考帧;获得从车道的第一边界(例如,左边界)到障碍物左边缘上的点的第一距离和从车道的第一边界(例如,左边界)到障碍物右边缘上的点的第二距离;以及排列第一参考帧的标识符、第二参考帧的标识符、第一距离和第二距离以提供定义。

在这些或其他场景中,通过以下方式生成定义:识别与障碍物相交的第一参考帧和离障碍物最近但不与障碍物相交的第二参考帧;获得从车道的第一边界(例如,左边界)到障碍物的第一拐角的第一距离、从车道的第一边界(例如,左边界)到障碍物的第二拐角的第二距离、从车道的第一边界(例如,左边界)到障碍物的第三拐角的第三距离、以及从车道的第一边界(例如,左边界)到障碍物的第四拐角的第四距离;以及排列第一参考帧的标识符、第二参考帧的标识符、第一距离、第二距离、第三距离和第四距离以提供定义。参考帧标识符可以按顺序排列。第一距离、第二距离、第三距离和第四距离可以按顺时针顺序排列。例如,在算法结束时,获得最小距离和最大距离。多边形上的每个点都投影到给定的帧上,然后系统使用最小值和最大值来定义帧上的最大占用空间。

在这些或其他场景中,通过以下方式生成定义:识别与障碍物相交的第一参考帧和离障碍物最近但不与障碍物相交的第二参考帧;获得从车道的第一边界(例如,左边界)到障碍物左侧的最小距离和从车道的第一边界(例如,左边界)到障碍物右侧的最大距离;以及排列第一参考帧的标识符、第二参考帧的标识符、最小距离和最大距离以提供定义。该过程可以在障碍物之前的一帧开始并且在障碍物之后的一帧结束,以便将障碍物完全包围在表示中。

在这些或其他场景中,使用包围障碍物和环境中的其他对象的2D矩形来生成定义。障碍物就参考帧而言按顺序排列,与相同的两个连续参考帧相关联,并且就距离第一边界(例如,左边界)的距离而言重叠。

在一些场景中,在下列情况下检测到移动对象应当转向绕过障碍物:(i)当移动对象的至少一部分和障碍物的至少一部分距离车道的第一边界(例如,左边界)的距离相同时或(ii)当差小于阈值时。差是从车道的第一边界(例如,左边界)到移动对象离第一边界(例如,左边界)最远的一侧的距离与从车道的第一边界(例如,左边界)到障碍物离第一边界(例如,左边界)最近的一侧的距离之间的差。当差大于阈值时,检测到移动对象不应当转向绕过障碍物。

定义也可用于获得移动对象的转向方向。当障碍物的右边缘比障碍物的左边缘离移动对象更近时,转向方向为右,而当障碍物的左边缘比障碍物的右边缘离移动对象更近时,转向方向为左。可替代地,当障碍物的左边缘和右边缘距离移动对象等距并且移动对象位于车道的左侧时,转向方向为右,而当障碍物的左边缘和右边缘距离移动对象等距并且移动对象位于车道的右侧时,转向方向为左。本发明的方案在这方面不受限制。附加地或替代地,可以使用其他指标来理解移动对象正朝着障碍物的左侧或右侧行进。此类其他指标包括但不限于速度矢量。当移动对象的行进方向未知或移动对象的行进方向置信度相对较低时,该系统可以应用其他策略。

该方法还可以包括识别移动对象能够穿过的障碍物周围的空闲空间。转向方向可以基于所识别的空闲空间来改变。当移动对象被分类为车辆时,空闲空间可以完全位于可行驶区域内。当移动对象被分类为骑车人或行人时,空闲空间可以位于可行驶区域内或可行驶区域外。

附加地或替代地,方法包括:由处理器分析传感器数据以检测环境中的移动对象和该移动对象无法穿过的至少一个障碍物;由处理器根据为车道定义的参考帧和从车道的左边界到障碍物边缘的距离来生成障碍物在环境中的位置的定义;由处理器使用障碍物的位置的定义和移动对象的已知尺寸来检测移动对象可以穿过的障碍物周围的任何空闲空间;由处理器基于对任何空闲空间的检测来生成可能的对象轨迹;和/或由处理器执行操作以基于可能的对象轨迹来控制车辆。

当移动对象被分类为车辆时,空闲空间可以完全位于道路边界内的可行驶区域内。当移动对象被分类为骑车人或行人时,空闲空间可以位于道路边界内的可行驶区域内或可行驶区域外。当检测到空闲空间时,可能的对象轨迹可以使移动对象转向绕过障碍物,或者当没有检测到空闲空间时,不使移动对象转向绕过障碍物。

每个参考帧可以根据帧轴上的坐标和距离轴上的坐标来定义车道中的2D空间,帧轴垂直于距离轴延伸,距离轴从车道的左边界延伸到车道的右边界。距离轴的原点与车道的边界(例如,左边界)对齐,并且当车道的左边界弯曲或拐弯时,距离轴的原点在距离轴上的位置可变。

本文中使用的单数形式“一”、“一个”和“该”包括复数形式,除非上下文另有明确规定。除非另有定义,否则本文中使用的所有技术和科学术语与本领域普通技术人员通常理解的含义相同。本文中使用的术语“包括”是指“包含但不限于”。

在本文中,术语“车辆”是指能够承载一名或多名乘客和/或货物并由任何形式的能量提供动力的任何移动形式的运输工具。术语“车辆”包括但不限于轿车、卡车、货车、火车、自主车辆、飞机、无人机等。“自主车辆”(或“AV”)是指具有处理器、编程指令和传动系部件的车辆,传动系部件可由处理器控制,无需人工操作。自主车辆可以是完全自主的,对于大多数或所有的驾驶条件和功能,不需要人工操作,或者,自主车辆可以是半自主的,在某些条件下或对于某些操作,可能需要人工操作,或者人工操作可以超驰车辆的自主系统并且可以承担车辆的控制。

与本文相关的附加术语的定义包含在该具体实施方式的末尾。

值得注意的是,本文在AV的背景下描述了本方案。然而,本方案不限于AV应用。本方案可以用于其他应用,例如机器人应用、雷达系统应用、度量应用和/或系统性能应用。

图1示出了根据本公开各方面的示例系统100。系统100包括以半自主或自主方式沿着道路行驶的车辆102。车辆102在本文中也被称为AV 102。AV 102可以包括但不限于陆地车辆(如图1所示)、飞机或船只。如上所述,除非特别指出,否则本公开不一定限于AV实施例,并且在一些实施例中它可以包括非自主车辆。

AV 102总体上被配置为检测其附近的对象。对象可以包括但不限于车辆103、骑车人114(例如自行车、电动滑板车、摩托车等的骑车人)和/或行人116。

如图1所示,AV 102可以包括传感器系统118、车载计算设备122、通信接口120和用户接口124。自主车辆系统还可以包括车辆中所包括的某些部件(例如,如图2中所示),这些部件可以由车载计算设备122使用各种通信信号和/或命令来控制,例如,加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。

传感器系统118可以包括一个或多个传感器,这些传感器连接到AV 102和/或包括在AV 102内。例如,这种传感器可以包括但不限于激光雷达(lidar)系统、无线电探测和测距(radar,雷达)系统、激光探测和测距(LADAR)系统、声音导航和测距(sonar,声纳)系统、一个或多个摄像机(例如,可见光谱摄像机、红外摄像机等)、温度传感器、位置传感器(例如,全球定位系统(GPS)等)、定位传感器、燃料传感器、运动传感器(例如,惯性测量单元(IMU)等)、湿度传感器、占用传感器等。传感器数据可以包括描述对象在AV 102的周围环境内的位置的信息、与环境本身有关的信息、与AV 102的运动有关的信息、与车辆的路线有关的信息等。当AV 102在表面上行进时,至少一些传感器可以收集与该表面有关的数据。

AV 102还可以通过通信网络108将传感器系统收集的传感器数据传送到远程计算设备110(例如,云处理系统)。远程计算设备110可以配置有一个或多个服务器以执行本文中描述的技术的一个或多个过程。远程计算设备110还可以被配置为通过网络108与AV 102通信数据/指令、与服务器和/或数据存储器112通信数据/指令。数据存储器112可以包括但不限于数据库。

网络108可以包括一个或多个有线或无线网络。例如,网络108可以包括蜂窝网络(例如,长期演进(LTE)网络、码分多址(CDMA)网络、3G网络、4G网络、5G网络、另一种类型的下一代网络等)。网络还可以包括公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、专用网络、自组织网络、内联网、互联网、基于光纤的网络、云计算网络等,和/或这些或其他类型的网络的组合。

AV 102可以检索、接收、显示和编辑从本地应用程序生成的或通过网络108从数据存储器112传递的信息。数据存储器112可以被配置为存储和提供原始数据、索引数据、结构化数据、道路地图数据160、程序指令或已知的其他配置。

通信接口120可以被配置为允许AV 102和外部系统之间的通信,例如,外部设备、传感器、其他车辆、服务器、数据存储器、数据库等。通信接口120可以使用任何现在或以后已知的协议、保护方案、编码、格式、封装等,例如但不限于Wi-Fi,红外链路、蓝牙等。用户接口系统124可以是在AV 102内实现的外围设备的一部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。车辆还可以接收状态信息,经由通信接口120通过诸如已知为车辆对车辆、车辆对对象的通信链路或其他V2X通信链路来接收关于其环境中的设备或对象的描述信息或其他信息。术语“V2X”是指车辆与车辆在其环境中可能遇到或影响的任何对象之间的通信。

图2示出了根据本公开各方面用于车辆的示例系统架构200。图1的车辆102和/或103可以具有与图2中所示的系统架构相同或相似的系统架构。因此,以下对系统架构200的讨论对于理解图1的车辆102、103是足够的。然而,其他类型的车辆被认为在本文中描述的技术的范围内,并且可以包含如结合图2所描述的更多或更少的元件。作为非限制性示例,空中车辆可以不包括制动或齿轮控制器,但可以包括海拔高度传感器。在另一个非限制性示例中,基于水的车辆可以包括深度传感器。本领域技术人员将理解,基于车辆类型,可以包括已知的其他推进系统、传感器和控制器。

如图2所示,车辆的系统架构200包括发动机或马达202和用于测量车辆的各种参数的各种传感器204-218。在具有燃料动力发动机的燃气动力或混合动力车辆中,传感器可以包括例如发动机温度传感器204、电池电压传感器206、发动机每分钟转数(RPM)传感器208和节气门位置传感器210。如果车辆是电动或混合动力车辆,那么车辆可以具有电动马达,并且相应地包括传感器,例如电池监测系统212(用于测量电池的电流、电压和/或温度)、马达电流传感器214和马达电压传感器216、以及马达位置传感器218(例如解析器和编码器)。

这两种类型的车辆常见的操作参数传感器包括,例如:定位传感器236,例如加速度计、陀螺仪和/或惯性测量单元;速度传感器238;以及里程计传感器240。车辆还可以具有时钟242,系统使用该时钟242来确定操作期间的车辆时间。时钟242可以被编码到车载计算设备中,它可以是单独的设备,或者也可以有多个时钟。

车辆还可以包括各种传感器,这些传感器用于收集与车辆行驶环境有关的信息。这些传感器可以包括,例如:定位传感器260(例如,全球定位系统(GPS)设备);对象检测传感器,例如一个或多个摄像机262;激光雷达系统264;和/或雷达和/或声纳系统266。传感器还可以包括环境传感器268,例如降水传感器和/或环境温度传感器。对象检测传感器可以使车辆能够在任何方向上检测在车辆的给定距离范围内的对象,而环境传感器收集与车辆行驶区域内的环境条件有关的数据。

在操作过程中,信息从传感器传递到车辆车载计算设备220。车辆车载计算设备220可以使用图18的计算机系统来实现。车辆车载计算设备220分析由传感器捕获的数据,并且可选地基于分析结果控制车辆的操作。例如,车辆车载计算设备220可以经由制动控制器222控制制动;经由转向控制器224控制方向;经由节气门控制器226(在燃气动力车辆中)或马达速度控制器228(例如电动车辆中的电流水平控制器)控制速度和加速度;控制差速齿轮控制器230(在具有变速器的车辆中);和/或控制其他控制器。辅助设备控制器234可以被配置为控制一个或多个辅助设备,例如测试系统、辅助传感器、由车辆运输的移动设备等。

地理位置信息可以从定位传感器260传送到车辆车载计算设备220,车辆车载计算设备220然后可以访问与位置信息相对应的环境地图,以确定环境的已知固定特征,如街道、建筑物、停车标志和/或走/停信号。从摄像机262捕获的图像和/或从激光雷达系统264等传感器捕获的对象检测信息从这些传感器传送到车辆车载计算设备220。对象检测信息和/或捕获的图像由车辆车载计算设备220处理,以检测车辆附近的对象。基于传感器数据和/或捕获的图像进行对象检测的任何已知或将要已知的技术都可以用于本文中公开的实施例中。

激光雷达信息从激光雷达系统264传送到车辆车载计算设备220。此外,捕获的图像从摄像机262传送到车辆车载计算设备220。激光雷达信息和/或捕获的图像由车辆车载计算设备220处理,以检测车辆附近的对象。车辆车载计算设备220进行对象检测的方式包括本公开中详细描述的这种能力。

此外,系统架构200可以包括车载显示设备254,车载显示设备254可以生成并输出接口,在该接口上,传感器数据、车辆状态信息或由本文中描述的过程生成的输出被显示给车辆的乘员。显示设备可以包括以音频格式呈现这种信息的音频扬声器或者单独的设备可以是以音频格式呈现这种信息的音频扬声器。

车辆车载计算设备220可以包括路线控制器232和/或可以与路线控制器232通信,路线控制器232为自主车辆生成从起始位置到目的地位置的导航路线。路线控制器232可以访问地图数据存储器以识别车辆可以行驶以从起始位置到达目的地位置的可行路线和路段。路线控制器232可以对可行路线进行评分并识别到达目的地的优选路线。例如,路线控制器232可以生成最小化路线期间行进的欧几里得距离或其他成本函数的导航路线,并且可以进一步访问可以影响在特定路线上行进所花费的时间量的交通信息和/或估计。根据实现方式,路线控制器232可以使用各种路由方法生成一条或多条路线,例如Dijkstra算法、Bellman-Ford算法或其他算法。路线控制器232还可以使用交通信息来生成反映路线的预期条件的导航路线(例如,一周中的当前日期或一天中的当前时间等),使得为高峰时段期间的行程而生成的路线可以不同于为深夜行程而生成的路线。路线控制器232还可以生成到目的地的多于一条导航路线,并且将这些导航路线中的多于一条发送给用户以供用户从各种可行路线中进行选择。

在各种实施例中,车辆车载计算设备220可以确定AV周围环境的感知信息。基于由一个或多个传感器提供的传感器数据和所获得的位置信息,车辆车载计算设备220可以确定AV周围环境的感知信息。感知信息可以表示普通驾驶员在车辆周围环境中感知到的情况。感知数据可以包括与AV环境中的一个或多个对象有关的信息。例如,车辆车载计算设备220可以处理传感器数据(例如,激光雷达或雷达数据、摄像机图像等),以便识别AV环境中的对象和/或特征。对象可以包括交通信号、道路边界、其他车辆、行人和/或障碍物等。车辆车载计算设备220可以使用任何现在或以后已知的对象识别算法、视频跟踪算法和计算机视觉算法(例如,在多个时间段内逐帧迭代地跟踪对象)来确定感知。

在一些实施例中,对于环境中的一个或多个已识别对象,车辆车载计算设备220还可以确定该对象的当前状态。状态信息可以包括但不限于每个对象的以下信息:当前位置;当前速度和/或加速度、当前航向;当前姿态;当前形状、大小或足迹;类型(例如:车辆、行人、自行车、静止对象或障碍物);和/或其他状态信息。

车辆车载计算设备220可以执行一个或多个预测和/或预期操作。例如,车辆车载计算设备220可以预测一个或多个对象的未来位置、轨迹和/或动作。例如,车辆车载计算设备220可以至少部分地基于感知信息(例如,每个对象的状态数据,包括如下所述确定的估计形状和姿态)、位置信息、传感器数据、和/或描述对象、AV、周围环境的过去和/或当前状态和/或它们的关系的任何其他数据。例如,如果对象是车辆并且当前驾驶环境包括十字路口,则车辆车载计算设备220可以预测对象是否可能直线向前移动或转弯。如果感知数据指示十字路口没有红绿灯,则车辆车载计算设备220还可以预测车辆是否必须在进入十字路口之前完全停车。

在各种实施例中,车辆车载计算设备220可以确定自主车辆的运动计划。例如,车辆车载计算设备220可以基于感知数据和/或预测数据来确定自主车辆的运动计划。具体地,给定关于邻近对象的未来位置的预测和其他感知数据,车辆车载计算设备220可以确定AV的运动计划,该运动计划相对于对象的未来位置最佳地导航自主车辆。

在一些实施例中,车辆车载计算设备220可以接收预测并做出关于如何应对AV环境中的对象和/或行为者的决定。例如,对于特定行为者(例如,具有给定速度、方向、转弯角度等的车辆),车辆车载计算设备220基于例如交通状况、地图数据、自主车辆的状态等来决定是否超车、让行、停车和/或通过。此外,车辆车载计算设备220还规划AV在给定路线上行驶的路径,以及驾驶参数(例如,距离、速度和/或转弯角度)。也就是说,对于给定的对象,车辆车载计算设备220决定如何应对该对象并决定如何实现。例如,对于给定对象,车辆车载计算机设备220可以决定通过该对象,并可以确定是从对象的左侧还是右侧通过(包括速度等运动参数)。车辆车载计算设备220还可以评估检测到的对象和AV之间的碰撞风险。如果风险超过可接受的阈值,则可以确定在自主车辆遵循定义的车辆轨迹和/或在预定义的时间段(例如,N毫秒)内执行一个或多个动态生成的紧急机动的情况下,是否可以避免碰撞。如果可以避免碰撞,则车载计算设备220可以执行一个或多个控制指令以执行谨慎的机动(例如,稍微减速、加速、变道或转弯)。相反,如果不能避免碰撞,则车辆车载计算设备220可以执行一个或多个控制指令以执行紧急机动(例如,制动和/或改变行进方向)。

如上所述,生成关于自主车辆运动的规划和控制数据以供执行。例如,车辆车载计算设备220可以经由制动控制器来控制制动;经由转向控制器来控制方向;经由节气门控制器(在燃气动力车辆中)或马达速度控制器(例如电动车辆中的电流水平控制器)来控制速度和加速度;控制差速齿轮控制器(在带变速器的车辆中);和/或控制其他控制器。

图3提供了有助于理解根据本发明的方案如何实现对车辆的控制的框图。在框302-312中执行的所有操作都可以由车辆(例如,图1的AV 102)的车载计算设备来执行。

在框302中,检测车辆的位置。该检测可以基于从车辆的定位传感器(例如,图2的定位传感器260)输出的传感器数据来进行。该传感器数据可以包括但不限于GPS数据。检测到的车辆的位置然后被传递到框306。

在框304中,在车辆附近检测对象。该检测是基于从车辆的一个或多个传感器(例如,图2的传感器260-268)输出的传感器数据进行的。关于检测到的对象的信息被传递到框306。该信息包括但不限于对象的速度和/或对象的行进方向。

在框306中,使用来自框302、304的信息、地图信息328(其预先存储在车辆的数据存储器中)、车道信息350和来自框308的可能的对象轨迹318来生成车辆路径320。确定车辆路径的任何已知或将要已知的技术都可以在这里使用。下面将讨论在框308中生成可能的对象轨迹318的方式。车辆路径320表示不具有将给乘客带来不适的突变的平滑路径。车辆路径320然后被提供给框310。在框310中,基于车辆路径320生成速度和转向命令322。生成速度和转向命令的任何已知或将要已知的技术都可以在这里使用。速度和转向命令322被提供给框312用于车辆动力学控制。

如图3所示,在框304中执行对象分类,以将检测到的对象分类为多个类别和/或子类别之一。这些类别可以包括但不限于车辆类别和行人类别。车辆类别可以具有多个车辆子类别。车辆子类别可以包括但不限于自行车子类别、摩托车子类别、滑板子类别、滚轴刀片子类别、踏板车子类别、轿车子类别、SUV子类别和/或卡车子类别。基于从车辆传感器输出的传感器数据来进行对象分类。这里可以使用任何已知的或将要已知的对象分类技术。除了指示对象的实际行进速度和行进方向的信息316之外,指定对象的分类的信息314被提供给框308。

框308涉及为在304中检测到的对象确定一个或多个可能的对象轨迹。可能的对象轨迹可以包括但不限于以下轨迹:由对象的实际速度(例如,1英里/小时)和实际行进方向(例如,西方)定义的轨迹;由对象的实际速度(例如,1英里/小时)和对象的另一个可能的行进方向(例如,南方、西南或在朝向AV的方向上距对象的实际行进方向X度(例如,40°))定义的轨迹;由对象的另一个可能的速度(例如,2-10英里/小时)和对象的实际行进方向(例如,西方)定义的轨迹;和/或由对象的另一个可能的速度(例如,2-10英里/小时)和对象的另一个行进方向(例如,南方、西南或在朝向AV的方向上距对象的实际行进方向X度(例如,40°))定义的轨迹。可能的行进速度和/或可能的行进方向可以针对与对象处于同一类别和/或子类别中的对象进行预定义。然后,如上所述,将一个或多个可能的对象轨迹318传递到框306。

图4提供了用于确定可能的对象轨迹和/或使用其来控制AV(例如,图1的AV 102)的说明性方法400的流程图。方法400的所有或一些操作可以由AV的车载计算设备(例如,图1的车载计算设备122和/或图2的车载计算设备220)和/或远程计算设备(例如,图1的服务器110)执行。根据本发明的方案的给定应用,方法400的一些操作可以以不同于图4所示的顺序执行。

方法400从402开始,并继续到404,在404中,由计算设备获得传感器数据。在406中,计算设备分析传感器数据以检测环境中的移动对象。在408中,计算设备执行操作以识别移动对象占据的车道。还可以识别与移动对象所占据的车道相邻或接近(例如,在0-5英里内)的其他车道。

在410中,进一步分析传感器数据以检测在408中识别的车道中的障碍物。障碍物是指无法穿过的东西。障碍物可能占据道路的一条或多条车道。在图5提供的图示中,示出了两个障碍物512、514占据了车道500的一部分。障碍物512从车道500的右边界504突出到车道500中,并且障碍物514从车道500的左边界502突出到车道500中。本发明的方案不限于图5的细节。

在412中,计算设备根据参考帧和距离车道左边界的边缘距离生成环境中每个障碍物的位置的定义(而不管其取向如何)。每个对象的参考帧包括为与障碍物相交的车道定义的参考帧和为离障碍物最近但不与障碍物相交的车道定义的参考帧。距离轴的原点“0”与车道的左边界对齐。对于位于相对于距离轴倾斜(即不垂直于距离轴)的左边界上的对象,原点的位置可以变化。随着讨论的进展,这一点将变得更加明显。

例如,如图6所示,针对障碍物512和514生成以下定义D

障碍物512的定义D

如图7所示,对于取向不同于图5-6的障碍物512、514的障碍物706,生成以下定义D

D

以与用于生成定义D

如图8-9所示,障碍物可能位于两条车道上。更具体地,图8的障碍物808部分地位于车道800中并且部分地位于前一车道中810。图9的障碍物908部分地位于车道900中并且部分地位于后一车道902中。定义D

D

D

应当注意,定义D

车道的宽度可能会变化,或者车道的一部分可能会相对于距离轴倾斜。图10-11示出了这些场景中可以如何生成对象的定义。在图10中,障碍物1008位于车道1000的右边界1004相对于距离轴1010倾斜的一部分上。以与上面关于图6-7所讨论的方式相同的方式为障碍物1008生成以下定义D

D

相反,图11中的障碍物1108位于车道1100的左边界1102相对于距离轴1110倾斜的一部分上。针对某些参考帧,距离轴1110的原点“0”可以根据车道1100的左边界1102重新定位。例如,如图11A所示,距离轴1110的原点与左边界1102的水平延伸部分1104对齐。由于部分1104总体上垂直于轴1110,所以左边界1102的部分1104之间的角度为90度。因此,对于参考帧“0”、“1”、“2”、“3”、“4”,原点保持不变。然而,对于参考帧“5”、“6”、“7”,原点是不同的,如图11B-11D所示,因为左边界1102的部分1106不再垂直于距离轴1110。原点“0”被调整为使得它总是位于左边界1102上。因此,对于参考帧“5”,原点“0”对于参考帧“5”下移一个增量,对于参考帧“6”,下移三个增量,并且对于参考帧“7”,下移四个增量。本发明的方案不限于图11的细节。原点可以根据给定的应用向移或下移任何量。

在某些场景中,障碍物可能位于车道或道路的两侧,并与一个或多个相同的参考帧相关联。障碍物可以附加地或替代地位于车道的同一侧,并且与距离左边界的一个或多个相同距离相关联。这些场景在图12中示出。在图12中,障碍物1206、1212、1214位于车道1202的右边界1216上,而障碍物1208、1210位于车道1202的左边界1204上。定义D

关于障碍物1212和1214,可以以与上面关于图6-7所讨论的方式类似的方式生成组合定义,因为障碍物1212和1214就参考帧而言顺序排列,与相同的两个连续参考帧“7”和“8”相关联,并且就距离左边界1204的距离而言是重叠的。单个障碍物足迹1216被考虑用于生成障碍物1212、1214的组合定义D

在这些或其他场景中,障碍物可能具有矩形以外的形状和/或具有相对于距离轴倾斜的取向(即,其垂直中心轴和水平中心轴不平行或垂直)。这在图13-14中示出。以下数学方程式可用于确定从车道的左边界到障碍物1302的每个拐角点的距离。

D

其中,D

关于多边形障碍物1304,定义D

D

本发明的方案在这方面不受限制。可替换地,障碍物1304的定义可以以不同的方式来确定。在这种情况下,系统识别最前面的点p5、最后面的点pl、最左边的点p3和最右边的点p7。使用其上识别出的点p1、p3、p5、p7来生成障碍物1304的矩形足迹1306。然后为矩形足迹1306而不是多边形障碍物1304生成定义D

再次参考图4,一旦障碍物的定义已经生成,方法400继续414。414涉及获得障碍物的分类。这里可以使用任何已知的或将要已知的对象分类技术。在416中使用障碍物定义和分类来构建表格。该表格可以包括但不限于查找表(LUT)。LUT可以包括对象类别类型的列表(例如,施工、停车、车道阻塞、让行、排队等)。每个对象类型类别都被存储成与相应的车道和相应的定义相关联。车道可以为LUT提供索引。在图15-17中示出了示例性LUT 1500、1600、1700。

在可选418中,系统确定障碍物周围是否有移动对象能够进入或移动对象能够穿过的空闲空间。当移动对象是车辆时,空闲空间是可行驶区域内的空间(例如,道路中的区域)。当移动对象是骑车人或行人时,空闲空间是可行驶区域内外的空间。在图29-30中提供了图示,以便于理解两种场景中的空闲空间。如图29所示,移动对象2910包括在车道2902中在朝向障碍物2912、2914的方向2906上行驶的车辆。由于移动对象2910是车辆,因此系统考虑可行驶区域内的区域以检测空闲空间。可行驶区域是指道路边界内的区域。系统识别位于障碍物2912、2914之间的车道2902中的空闲空间2918和障碍物2914左侧的相邻车道2904中的空闲空间2916。由于系统知道对象2910的尺寸,因此能够得出结论——空闲空间2918太小,移动对象2910无法穿过。因此,空闲空间2918不合格。然而,空闲空间2916大到足以使移动对象2910穿过。因此,该系统得出结论——障碍物周围确实存在供移动对象进入或穿过的空闲空间。

如图30所示,移动对象3010包括在车道3002上沿朝向障碍物3012、3014的方向3006行进的骑车人或行人。由于移动对象3010是骑车人或行人,因此系统考虑可行驶区域内外来检测空闲空间。可行驶区域是指道路边界内的区域。系统识别位于障碍物3012、3014之间的车道3002中的空闲空间3018、障碍物3014左侧的相邻车道3004中的空闲空间3016、障碍物301右侧的空闲空间3020以及车道3004左侧的空闲空间302。由于系统知道对象3010的尺寸,因此能够得出结论——所识别的空闲空间3016、3018、3020、3022足够大以供移动对象3010穿过。因此,该系统得出结论——障碍物周围确实存在供移动对象进入的空闲空间。本发明的方案不限于图29-30的细节。

再次参考图4,当系统没有检测到移动对象可以穿过的任何空闲空间时[418:否],方法400继续到420。420涉及生成可能的对象轨迹,在该轨迹中,移动对象不转向绕过障碍物和/或停车(例如,当障碍物是在移动对象前面排队的车辆时)。接下来,方法400继续436,这将在下面讨论。

当系统检测到移动对象可以穿过的空闲空间时[418:是]。方法400继续422,在422中,系统确定移动对象是否应当转向绕过障碍物。在图18-21中提供了便于理解如何进行该确定的图示。在图18中,移动对象在具有障碍物3108的车道3100中行进。移动对象在朝向障碍物3108的方向3102上移动。系统生成移动对象的足迹3106并使用该足迹来检测移动对象和障碍物3108相对于距离轴1810彼此重叠,即它们具有距离重叠1812。在这种情况下,系统确定移动对象应当转向绕过障碍物1808。

在图19中,移动对象在具有障碍物1908的车道1900中行进。移动对象正在朝向障碍物1908的方向1902上移动。该系统生成移动对象的足迹1906,并使用该足迹来检测移动对象和障碍物1808的边缘具有相同距离值。在这种情况下,系统认为移动对象和障碍物重叠。因此,系统确定移动对象应当转向绕过障碍物1908。

在图20中,移动对象在具有障碍物2008的车道2000中行进。移动对象正在朝向障碍物2008的方向2002上移动。系统生成移动对象的足迹2006,并使用该足迹2006来检测从车道的左边界2004到移动对象的右边缘2012的距离与从车道的左边界2004到障碍物2008的左边缘2014的距离之间的差。将距离差D

在图21中,移动对象在具有障碍物2108的车道2100中行进。移动对象在朝向障碍物2108的方向2102上移动。系统生成移动对象的足迹2106,并使用该足迹2106来检测从车道的左边界2104到移动对象的右边缘2112的距离与从车道的左边界2104至障碍物2108的左边缘2114的距离之间的差。将距离差D

再次参考图4,当系统得出移动对象不应转向绕过障碍物的结论时[422:否],方法400继续424。在424中,生成可能的对象轨迹,在该轨迹中,移动对象不转向绕过障碍物。在图22中示出了这种类型的示例性对象轨迹2022。一旦生成了可能的对象轨迹,该方法继续432,这将在下面讨论。

相反,当系统得出移动对象应当转向绕过障碍物的结论时[422:是],方法400继续426。在422中,系统确定移动对象应当在障碍物的左侧还是右侧转向。在图23-26和29中提供了有助于理解如何进行该确定的图示。

在图23中,障碍物2302的右侧2304比障碍物的左侧2306更靠近移动对象2300。因此,系统得出结论——移动对象应当在障碍物的右侧转向。本发明的方案不限于图23的细节。

在图24中,障碍物2402的左侧2406比障碍物的右侧2404更靠近移动对象2400。因此,系统得出结论——移动对象应当在障碍物的左侧转向。本发明的方案不限于图24的细节。

在图25中,移动对象2500在车道的右侧行进。障碍物2502的右侧2504和左侧2506距离移动对象2500的中心或重心(CoG)等距。因此,系统得出结论——移动对象应转向绕过障碍物,并且转向应朝向车道的另一侧(即左侧)。实际上,系统确定移动对象应当在障碍物的左侧转向。本发明的方案不限于图25的细节。

在图26中,移动对象2600在车道的左侧行进。障碍物2602的右侧2604和左侧2606距离移动对象2600的中心或CoG等距。因此,系统得出结论——移动对象应转向绕过障碍物,并且转向应朝向车道的另一侧(即,右侧)。实际上,系统确定移动对象应当在障碍物的右侧转向。本发明的方案不限于图26的细节。

在某些场景中,系统可以检查其左/右转向方向是否通过空闲空间。例如,参考图29,系统可以确定移动对象应当在障碍物2914的右侧转向,因为障碍物的右侧比障碍物的左侧更靠近移动对象。然而,障碍物291右侧的空闲空间2918太小,移动对象无法穿过。因此,系统重新考虑由移动对象在障碍物2914的左侧转向。由于空闲空间2916足够大以供移动对象穿过,因此系统得出结论——移动对象应当在障碍物的左侧转向,而不是在障碍物2914的右侧转向。本发明的方案不限于图29的细节。

再次参考图4,当系统确定移动对象应当在障碍物的右侧转向时[426:否],方法400继续428。428涉及生成移动对象在障碍物的右侧转向的可能的对象轨迹。图27中示出了这种类型的示例性的可能的对象轨迹2700。相反,当系统确定移动对象应当在障碍物的左侧转向时[426:是],方法400继续到430。430涉及生成移动对象在障碍物的左侧转向的可能的对象轨迹。在图28中示出了这种类型的示例性的可能的对象轨迹2800。

一旦生成了可能的对象轨迹,就可以执行可选框432-434的操作。432-434涉及:基于可能的对象轨迹生成车辆轨迹;以及使车辆遵循车辆轨迹。随后,方法400继续436,在436中,结束或执行其他操作(例如,返回404)。

本发明的方案不限于上述讨论的细节。该系统可以通过多种方式定义障碍物。上面讨论了定义障碍物的一种方法。定义障碍物的另一种方法是:为每条车道定义一组交叉线(垂直线);为每条交叉线定义最大占用空间,其中最大占用空间从障碍物的左边界开始;以及将障碍物类型的分类附加到每个间隔。最后,障碍物的定义可以是:[车道l]=VI[],V2[{1,4-施工),{5,7-停放的汽车},……,Vn[其他间隔]。接下来,处理任何重叠的障碍物。

例如,可以使用一个或多个计算机系统(例如图31所示的计算机系统3100)来实现各种实施例。计算机系统3100可以是能够执行本文中描述的功能的任何计算机。

计算机系统3100包括一个或多个处理器(也称为中央处理单元或CPU),例如处理器3104。处理器3104连接到通信基础设施或总线3102。可选地,处理器3104中的一个或多个可以各自是图形处理单元(GPU)。在一个实施例中,GPU是处理器,其是被设计为处理数学密集型应用的专用电子电路。GPU可以具有并行结构,该并行结构对于并行处理大数据块(例如计算机图形应用程序、图像、视频等常见的数学密集型数据)是有效的。

计算机系统3100还包括用户输入/输出设备3116,例如监视器、键盘、指示设备等,其通过用户输入/输出接口3108与通信基础设施3102通信。

计算机系统3100还包括主存储器或主要存储器3106,例如随机存取存储器(RAM)。主存储器3106可以包括一个或多个级别的高速缓存。主存储器3106中存储有控制逻辑(即计算机软件)和/或数据。

计算机系统3100还可以包括一个或多个辅助存储设备或存储器3110。辅助存储器3110可以包括例如硬盘驱动器3112和/或可移动存储设备或驱动器3114。可移动存储驱动器3114可以是外部硬盘驱动器、通用串行总线(USB)驱动器、诸如小型闪存卡或安全数字存储器的存储卡、软盘驱动器、磁带驱动器、光盘驱动器、光存储设备、磁带备份设备和/或任何其他存储设备/驱动器。

可移动存储驱动器3114可以与可移动存储单元3118交互。可移动存储单元3118包括计算机可用或可读存储设备,其上存储有计算机软件(控制逻辑)和/或数据。可移动存储单元3118可以是外部硬盘驱动器、通用串行总线(USB)驱动器、诸如小型闪存卡或安全数字存储器的存储卡、软盘、磁带、光盘、DVD、光学存储盘和/或任何其他计算机数据存储设备。可移动存储驱动器3114以公知的方式从可移动存储单元3118读取和/或向其写入。

根据示例实施例,辅助存储器3110可以包括用于允许计算机系统3100访问计算机程序和/或其他指令和/或数据的其他装置、工具或其他方法。这样的装置、工具或其他方法可以包括,例如,可移动存储单元3122和接口3120。可移动存储单元3122和接口3120的示例可以包括程序卡盒和卡盒接口(例如在视频游戏装置中发现的那些)、可移动存储芯片(例如EPROM或PROM)和相关插座、存储器棒和USB端口、存储卡和相关存储卡槽、和/或任何其他可移动存储装置和相关接口。

计算机系统3100还可以包括通信或网络接口3124。通信接口3124使计算机系统3100能够与远程设备、远程网络、远程实体等的任何组合(单独地和共同地由附图标记3128表示)进行通信和交互。例如,通信接口3124可以允许计算机系统3100通过通信路径3126与远程设备3128进行通信,该通信路径可以是有线和/或无线的,并且可以包括LAN、WAN、因特网等的任何组合。控制逻辑和/或数据可以经由通信路径3126传输到计算机系统3100和从计算机系统3100传输。

在一些实施例中,包括存储有控制逻辑(软件)的有形的非暂时性计算机可用或可读介质的有形的非暂时性装置或制品在本文中也被称为计算机程序产品或程序存储设备。这包括但不限于计算机系统3100、主存储器3106、辅助存储器3110和可移动存储单元3118和3122,以及体现上述任意组合的有形制品。当由一个或多个数据处理设备(例如计算机系统3100)执行这样的控制逻辑时,使得这样的数据处理设备如本文中所描述的那样操作。

基于本公开中包含的教导,对于相关领域的技术人员来说,如何使用除图31所示之外的数据处理设备、计算机系统和/或计算机架构来制作和使用本公开的实施例将是显而易见的。特别地,实施例可以使用除本文中描述的那些之外的软件、硬件和/或操作系统实现方式来操作。

与本公开相关的术语包括:

“电子设备”或“计算设备”是指包括处理器和存储器的设备。每个设备可以具有其自己的处理器和/或存储器,或者可以与虚拟机或容器排列中的其他设备共享处理器和/或者存储器。存储器将包含或接收编程指令,该编程指令在由处理器执行时使电子设备根据编程指令执行一个或多个操作。

术语“存储器”、“存储设备”、“数据存储器”、“数据存储设备”等均指存储计算机可读数据、编程指令或两者的非暂时性设备。除非另有特别说明,否则术语“存储器”、“存储设备”、“数据存储器”、“数据存储设施”等旨在包括单个设备实施例、多个存储设备一起或共同存储一组数据或指令的实施例以及这些设备内的各个扇区。计算机程序产品是一种存储有编程指令的存储设备。

术语“处理器”和“处理设备”是指被配置为执行编程指令的电子设备的硬件部件。除非另有特别说明,否则单数术语“处理器”或“处理设备”旨在包括单个处理设备实施例和多个处理设备一起或共同执行过程的实施例。

术语“对象”指的是由车辆感知系统检测到或由模拟系统模拟的对象,旨在包括静止对象和移动(或潜在移动)行为者,除非使用术语“行为者”或“静止对象”另有明确说明。

当在自主车辆运动规划的情景中使用时,术语“轨迹”是指车辆运动规划系统将生成的计划,以及车辆运动控制系统在控制车辆运动时将遵循的计划。轨迹包括车辆在时间范围内的多个时间点的计划位置和方向,以及车辆在同一时间范围内的计划方向盘角度和角速率。自主车辆的运动控制系统将使用轨迹并向车辆的转向控制器、制动控制器、节气门控制器和/或其他运动控制子系统发送命令以使车辆沿着计划的路径移动。

车辆感知或预测系统可能生成的行为者的“轨迹”指的是行为者在时间范围内将遵循的预测路径以及沿着路径在沿着时间范围的各个点处行为者的预测速度和/或行为者的位置。

在本文中,术语“街道”、“车道”、“道路”和“十字路口”以在一条或多条道路上行驶的车辆为例进行了说明。然而,实施例旨在包括其他位置的车道和十字路口,例如停车区。此外,对于设计用于室内的自主车辆(例如仓库中的自动分拣设备),街道可以是仓库的走廊,车道可以是走廊的一部分。如果自主车辆是无人机或其他飞机,则术语“街道”或“道路”可以代表气道,车道可以是气道的一部分。如果自主车辆是船只,那么术语“街道”或“道路”可以表示水道,车道可以是水道的一部分。

在本文中,当使用“第一”和“第二”等术语来修饰名词时,这种使用只是为了将一个项目与另一个项目区分开来,除非特别说明,否则不需要顺序。此外,“垂直”和“水平”,或“前部”和“后部”等相对位置的术语在使用时,旨在彼此相对,而不必是绝对的,并且仅指与这些术语相关联的设备的一个可能位置,这取决于设备的方向。

应当理解,具体实施方式部分而非任何其他部分旨在用于解释权利要求。其他部分可以阐述发明人所设想的一个或多个但不是所有的示例性实施例,因此,不旨在以任何方式限制本公开或所附权利要求。

虽然本公开描述了示例领域和应用的示例实施例,但应理解,本公开不限于所公开的示例。其他实施例及其修改是可行的,并且在本公开的范围和精神内。例如,在不限制本段的一般性的情况下,实施例不限于图中所示和/或本文中所描述的软件、硬件、固件和/或实体。此外,实施例(无论是否明确描述)对于本文中描述的示例之外的领域和应用具有显著的实用性。

本文中已借助功能构建块描述了实施例,说明了特定功能和关系的实现方式。为了便于描述,这些功能构建块的边界在本文中被任意定义。只要适当地执行指定的功能和关系(或其等同物),就可以定义替代边界。此外,替代实施例可以使用不同于本文中所述的顺序来执行功能块、步骤、操作、方法等。

本文公开的不同实施例的特征可以自由组合。例如,来自方法实施例的一个或多个特征可以与任何系统或产品实施例相结合。类似地,来自系统或产品实施例的特征可以与本文公开的任何方法实施例相结合。

本文中对“一个实施例”、“实施例”和“示例实施例”或类似短语的引用表明所描述的实施例可以包括特定的特征、结构或特性,但每个实施例不一定包括特定的特征、结构或特性。此外,这样的短语不一定是指相同的实施例。此外,当结合实施例描述特定的特征、结构或特性时,将这种特征、结构、或特性结合到其他实施例中将在相关领域的技术人员的知识范围内,无论在本文中是否明确提及或描述。此外,可以使用表述“藕接”和“连接”及其派生词来描述一些实施例。这些术语不一定是彼此的同义词。例如,可以使用术语“连接”和/或“耦接”来描述一些实施例以指示两个或更多个元件彼此直接物理或电接触。然而,术语“耦接”也可以指两个或更多个元素彼此不直接接触,但仍然相互合作或互动。

本公开的广度和范围不应受到上述任何示例实施例的限制,而应仅根据以下权利要求及其等同物进行限定。

如上所述,本文公开了用于操作车辆的系统、方法和计算机程序产品实施例。系统实施例包括实现用于操作车辆的方法的处理器或计算设备。计算机程序实施例包括编程指令,编程指令例如存储在存储器中,以使处理器执行本文中描述的数据管理方法。系统实施例还包括处理器,该处理器被配置为例如通过编程指令来执行本文中描述的方法。更一般地,系统实施例包括包含用于执行本文中描述的任何方法的步骤的装置的系统。

在不排除进一步可能的实施例的情况下,某些示例实施例总结在以下条款中。

第1条:一种用于生成可能的对象轨迹的计算机实现的方法,包括:由处理器分析传感器数据以检测环境中的移动对象和移动对象无法穿过的至少一个障碍物;由处理器根据为车道定义的参考帧和距离车道的第一边界(例如,左边界)的边缘距离来生成障碍物在环境中的位置的定义;由处理器使用定义来检测移动对象何时应当转向绕过障碍物或何时不应当转向绕过障碍物;以及由处理器基于对象何时应当转向绕过障碍物或何时不应当转向绕过障碍物的检测来生成可能的对象轨迹。

第2条:根据第1条所述的计算机实现的方法,还包括由处理器执行操作以基于可能的对象轨迹来控制车辆。

第3条:根据前述条款中任一条款所述的计算机实现的方法,其中,每个所述参考帧相对于垂直于从车道的第一边界(例如,左边界)延伸到车道的第二边界(例如,右边界)的距离轴延伸的帧轴来定义车道中的位置。

第4条:根据前述条款中任一条款所述的计算机实现的方法,其中,定义是通过识别与障碍物相交的至少一个第一参考帧和离障碍物最近但不与障碍物相交的至少一个第二参考帧来生成的。

第5条:根据前述条款中任一条款所述的计算机实现的方法,其中,定义是通过以下方式生成的:获得从车道的第一边界(例如,左边界)到障碍物左边缘上的点的至少一个第一距离以及从车道的第一边界(例如,左边界)至障碍物右边缘上的点的至少一个第二距离;以及排列至少一个第一参考帧的标识符、至少一个第二参考帧的标识符、至少一个第一距离和至少一个第二距离以提供定义。

第6条:根据前述条款中任一条款所述的计算机实现的方法,其中,定义是通过以下方式生成的:获得从车道的第一边界(例如,左边界)到障碍物的第一拐角的第一距离、从车道的第一边界(例如,左边界)到障碍物的第二拐角的第二距离、从车道的第一边界(例如,左边界)到障碍物的第三拐角的第三距离、以及从车道的第一边界(例如,左边界)到障碍物的第四拐角的第四距离;以及排列至少一个第一参考帧的标识符、至少一个第二参考帧的标识符、第一距离、第二距离、第三距离和第四距离以提供定义。

第7条:根据前述条款中任一条款所述的计算机实现的方法,其中,第一距离、第二距离、第三距离和第四距离按顺时针顺序排列。

第8条:根据前述条款中任一条款所述的计算机实现的方法,其中,定义是通过以下方式生成的:获得从车道的第一边界(例如,左边界)到障碍物左侧的最小距离和从车道的第一边界(例如,左边界)到障碍物右侧的最大距离;以及排列至少一个第一参考帧的标识符、至少一个第二参考帧的标识符、最小距离和最大距离以提供定义。

第9条:根据前述条款中任一条款所述的计算机实现的方法,其中,定义是使用2D矩形生成的,2D矩形包围障碍物和环境中的至少一个其他障碍物,障碍物和至少一个其他障碍物就参考帧而言顺序排列,与两个相同的连续参考帧相关联并且就距离第一边界(例如,左边界)的距离而言是重叠的。

第10条:根据前述条款中任一条款所述的计算机实现的方法,其中,使用原点与车道的第一边界(例如,左边界)对齐的距离轴来获得边缘距离。

第11条:根据前述条款中任一条款所述的计算机实现的方法,其中,对于所述参考帧中的至少两个,距离轴的原点相对于障碍物的位置不同。

第12条:根据前述条款中任一条款所述的计算机实现的方法,其中,除了定义之外,处理器还使用障碍物的分类来检测移动对象何时应当转向绕过障碍物或何时不应当转向绕过障碍物。

第13条:根据前述条款中任一条款所述的计算机实现的方法,其中,当移动对象的至少一部分和障碍物的至少一部分距离车道的第一边界(例如,左边界)距离相等时,检测到移动对象应当转向绕过障碍物。

第14条:根据前述条款中任一条款所述的计算机实现的方法,其中,当差小于阈值时,检测到移动对象应当转向绕过障碍物,差是从车道的第一边界(例如,左边界)到移动对象离第一边界(例如,左边界)最远的一侧的距离与从车道的第一边界(例如,左边界)到障碍物离第一边界(例如,左边界)最近的一侧的距离之间的差。

第15条:根据前述条款中任一条款所述的计算机实现的方法,其中,当差大于阈值时,检测到移动对象不应当转向绕过障碍物。

第16条:根据前述条款中任一条款所述的计算机实现的方法,还包括构建通过车道的标识符索引障碍物的定义和分类的表格。

第17条:根据前述条款中任一条款所述的计算机实现的方法,还包括使用定义来获得移动对象的转向方向。

第18条:根据前述条款中任一条款所述的计算机实现的方法,其中,当障碍物的右边缘比障碍物的左边缘更靠近移动对象时,转向方向为右,并且当障碍物的左边缘比障碍物的右边缘更靠近移动对象时,转向方向为左。

第19条:根据前述条款中任一条款所述的计算机实现的方法,其中,当障碍物的左边缘和右边缘距离移动对象等距并且移动对象位于车道的左侧时,转向方向为右,并且当障碍物的左边缘和右边缘距离移动对象等距并且移动对象位于车道的右侧时,转向方向为左。

第20条:根据前述条款中任一条款所述的计算机实现的方法,还包括识别障碍物周围移动对象能够穿过的空闲空间。

第21条:根据前述条款中任一条款所述的计算机实现的方法,还包括基于所识别的空闲空间来改变转向方向。

第22条:根据前述条款中任一条款所述的计算机实现的方法,其中,当移动对象被分类为车辆时,空闲空间完全位于可行驶区域内。

第23条:根据前述条款中任一条款所述的计算机实现的方法,其中,当移动对象被分类为骑车人或行人时,空闲空间位于可行驶区域内或可行驶区域外。

第24条:一种用于生成可能的对象轨迹的计算机实现的方法,包括:由处理器分析传感器数据以检测环境中的移动对象和移动对象无法穿过的至少一个障碍物;由处理器根据为车道定义的参考帧以及从车道的第一边界到障碍物的边缘的距离来生成障碍物在环境中的位置的定义;由处理器使用障碍物的位置的定义和移动对象的已知尺寸来检测移动对象可以穿过的障碍物周围的任何空闲空间;由处理器基于对任何空闲空间的检测来生成可能的对象轨迹;和/或由处理器执行操作以基于可能的对象轨迹来控制车辆。

第25条:根据前述条款中任一条款所述的计算机实现的方法,其中,当移动对象被分类为车辆时,空闲空间完全位于道路边界内的可行驶区域内。

第26条:根据前述条款中任一条款所述的计算机实现的方法,其中,当移动对象被分类为骑车人或行人时,空闲空间位于道路边界内的可行驶区域内或可行驶区域外。

第27条:根据前述条款中任一条款所述的计算机实现的方法,其中,当检测到空闲空间时,可能的对象轨迹使移动对象转向绕过障碍物,或者当没有检测到空闲空间时,可能的对象轨迹不使移动对象转向绕过障碍物。

第28条:根据前述条款中任一条款所述的计算机实现的方法,其中,每个所述参考帧根据帧轴上的坐标和距离轴上的坐标来定义车道中的2D空间,帧轴垂直于距离轴延伸,距离轴从车道的左边界延伸到车道的右边界。

第29条:根据前述条款中任一条款所述的计算机实现的方法,其中,距离轴的原点与车道的左边界对齐,并且当车道的左边界弯曲或拐弯时,距离轴的原点在距离轴上的位置可变。

第30条:根据前述条款中任一条款所述的计算机实现的方法,还包括通过识别与障碍物相交的至少一个第一参考帧和离障碍物最近但不与障碍物相交的至少一个第二参考帧来生成定义。

第31条:根据前述条款中任一条款所述的计算机实现的方法,其中生成定义还包括:获得从车道的左边界到障碍物的左边缘上的点的至少一个第一距离以及从车道的左边界到障碍物的右边缘上的点的至少一个第二距离;以及排列至少一个第一参考帧的标识符、至少一个第二参考帧的标识符、至少一个第一距离和至少一个第二距离以提供定义。

第32条:根据前述条款中任一条款所述的计算机实现的方法,其中生成定义还包括:获得从车道的左边界到障碍物的第一拐角的第一距离、从车道的左边界到障碍物的第二拐角的第二距离、从车道的左边界到障碍物的第三拐角的第三距离以及从车道的左边界到障碍物的第四拐角的第四距离;以及排列至少一个第一参考帧的标识符、至少一个第二参考帧的标识符、第一距离、第二距离、第三距离和第四距离以提供定义。

第33条:根据前述条款中任一条款所述的计算机实现的方法,其中生成定义还包括:获得从车道的左边界到障碍物的左侧的最小距离和从车道的左边界到障碍物的右侧的最大距离;以及排列至少一个第一参考帧的标识符、至少一个第二参考帧的标识符、最小距离和最大距离以提供定义。

第34条:根据前述条款中任一条款所述的计算机实现的方法,其中生成定义包括使用2D矩形,2D矩形包围障碍物和环境中的至少一个其他障碍物,障碍物和至少一个其他障碍物就参考帧而言顺序排列,与两个相同的连续参考帧相关联并且就距离左边界的距离而言是重叠的。

第35条:一种系统,包括用于执行上述方法条款中任一方法条款的步骤的装置。

第36条:一种计算机程序或存储该计算机程序的存储介质,包括指令,当由一个或多个合适的处理器执行时,该指令使任何处理器执行上述方法条款的任何步骤。

技术分类

06120116545948