为自动车辆生成简化对象模型以减少计算资源要求

文档序号:1865784 发布日期:2021-11-19 浏览:21次 >En<

阅读说明:本技术 为自动车辆生成简化对象模型以减少计算资源要求 (Generating simplified object models for automated vehicles to reduce computational resource requirements ) 是由 D.李 F.达 于 2020-04-09 设计创作,主要内容包括:本公开的各方面涉及使用对象(400)的简化模型来控制车辆(100)。在一个示例中,可以从车辆的一个或多个传感器接收包括对应于车辆的环境中的对象的表面的多个数据点的传感器数据。可以使用多个数据点的子集来确定第一模型(600)。可以使用车辆上的点来从多个数据点中标识次要数据点的集合。可以从多个数据点的子集中过滤次要数据点的集合,以确定第二模型(1100),其中,第二模型是第一模型的简化版本。可以基于第二模型,在自动行驶模式下控制车辆。(Aspects of the present disclosure relate to controlling a vehicle (100) using a simplified model of an object (400). In one example, sensor data including a plurality of data points corresponding to a surface of an object in an environment of a vehicle may be received from one or more sensors of the vehicle. A subset of the plurality of data points may be used to determine a first model (600). A point on the vehicle may be used to identify a set of secondary data points from the plurality of data points. The set of secondary data points can be filtered from a subset of the plurality of data points to determine a second model (1100), wherein the second model is a simplified version of the first model. The vehicle may be controlled in the automatic travel mode based on the second model.)

为自动车辆生成简化对象模型以减少计算资源要求

相关申请的交叉引用

本申请要求于2019年4月10日提交的、申请号为16/380,398的美国申请的权益,其全部公开内容通过引用并入本文。

背景技术

自动车辆(诸如不需要人类驾驶员的车辆)可以用于帮助将乘客或物品从一个位置运输到另一位置。自动车辆的重要组件是感知系统,感知系统允许车辆使用相机、雷达、传感器和其他类似设备来感知和解释其周围环境。感知系统在自动车辆处于运动中的同时执行许多决策,诸如加速、减速、停止、转弯等。自动车辆还可以使用相机、传感器和全球定位设备来收集和解释关于其周围环境(例如停放的汽车、树木、建筑物等)的图像和传感器数据。这些图像和传感器数据允许车辆在各种对象周围安全地操纵自己。

发明内容

本公开的一方面提供了一种使用对象的简化模型来控制车辆的方法。该方法包括:由一个或多个计算设备从车辆的一个或多个传感器接收传感器数据,其中该传感器数据包括对应于车辆的环境中的对象的表面的多个数据点;由一个或多个计算设备使用多个数据点的子集,确定表示对象的第一模型;由一个或多个计算设备使用车辆上的点,从多个数据点中标识次要数据点的集合;由一个或多个计算设备从多个数据点的子集中过滤次要数据点的集合,以确定表示对象的第二模型,其中,第二模型是第一模型的简化版本;以及,由一个或多个计算设备基于第二模型,在自动行驶模式下控制车辆。

在一个示例中,多个数据点是从车辆的LIDAR传感器接收的,并且车辆上的点是LIDAR传感器上的点。在另一示例中,确定第一模型包括:确定由数据点的子集定义的多个数据点的凸包(convex hull)。在本示例中,标识次要数据点的集合包括:标识对应于凸包的一侧的、取向相对于凸包的其他数据点远离车辆的凸包的数据点。可替代地,标识次要数据点的集合包括:基于数据点的子集和车辆上的点,确定修改的凸包。在本示例中,标识次要数据点的集合还包括:使用车辆上的点,从修改的凸包中标识数据点对。此外,数据点对对应于修改的凸包中在车辆上的点的任一侧的两个数据点,或者数据点对对应于修改的凸包中最接近车辆上的点的两个数据点。作为另一种选择,标识次要数据点的集合包括:标识修改的凸包或第一模型中比数据点对中的任一个距离车辆上的点更远的数据点。在另一示例中,次要数据点的集合包括:使用源自车辆上的点的参考向量,从数据点的子集中标识数据点对。在本示例中,参考向量在车辆的航向或车辆的朝向之一的方向上延伸。可替代地,参考向量在车辆正在其上行进的车道的通行方向(direction of traffic)的方向上延伸。作为另一种选择,数据点对中的第一个被标识为数据点的子集中相对于车辆的参考角度以最小角度定位的数据点,并且数据点对中的第二个被标识为数据点的子集中相对于车辆的参考角度以最大角度定位的数据点。在本示例中,标识次要数据点的集合还包括:确定由数据点对中的第一个、数据点对中的第二个和车辆上的点定义的空间。此外,标识次要数据点的集合包括:标识数据点的子集中在空间外部的那些数据点。在另一示例中,第一模型是通过忽略多个数据点的高度维度来确定的。在另一示例中,第一模型是通过将多个数据点投影到二维平面上来确定的。在另一示例中,第一模型和第二模型中的每一个是对象的二维表示。在另一示例中,车辆上的点是二维点。在另一示例中,基于第二模型来控制车辆包括:将第二模型的数据传递到车辆的一个或多个系统,以便使用第二模型来为车辆做出行驶决策。

附图说明

图1是根据示例性实施例的示例车辆的功能图。

图2是根据本公开的各方面的地图信息的示例。

图3是根据本公开的各方面的车辆的示例外部视图。

图4是根据本公开的方面的车辆和车行道部分的示例视图。

图5是根据本公开的方面的车辆和点云的示例表示。

图6是根据本公开的方面的车辆和第一模型的示例表示。

图7是根据本公开的方面的车辆、数据点和修改的轮廓包(contour hull)的示例表示。

图8是根据本公开的方面的车辆、数据点、角度和参考向量修改的轮廓包的示例表示。

图9是根据本公开的方面的车辆和数据点的示例表示。

图10是根据本公开的方面的车辆、数据点和空间的示例表示。

图11是根据本公开的方面的车辆和第二模型的示例表示。

图12是根据本公开的各方面的示例流程图。

具体实施方式

概述

本技术涉及通过生成自动车辆的环境中的对象的轮廓模型来控制自动车辆。例如,自动车辆的计算设备可以使用对应于对象的表面的数据,生成表示在车辆的环境中检测到的对象的轮廓的模型。车辆的计算设备可以使用该模型来执行各种计算,诸如行为预测和轨迹规划。然而,在许多情况下,检测到的对象的轮廓可能非常复杂,例如轮廓由包括大量顶点的多边形定义。因此,使用该模型进行计算可能导致超出必要的计算资源和时间的花费。因为这些车辆上的计算资源的有限性质以及使用这些计算来做出实时行驶决策的需求,所以这些资源的使用可能很快成为问题。为了解决这些问题,车辆的计算设备可以被配置为减少模型的复杂度,以便使用这些模型加速由车辆的各种系统执行的计算。

车辆的计算设备可以从车辆的一个或多个传感器接收传感器数据,其中该传感器数据包括对应于在车辆的环境中检测到的对象的表面的多个数据点。车辆的计算设备可以基于多个数据点的子集,确定对象的简化模型。第一模型可以通过分析在三个维度上的对应于对象的点云的数据点来生成。可以将这些3D数据点投影到2D表面或平面上,或者可替代地,可以简单地忽略、删除高度维度(Z)等。然后,第一模型可以通过从2D数据点中标识凸集或凸包来生成。

然后,车辆的计算设备可以通过过滤或以其他方式忽略第一模型中对控制车辆不必要的数据点(以下称为“次要点”)来生成第二模型。例如,次要点可以对应于第一模型中其取向一般远离车辆的一侧。

为了标识次要点,可以标识车辆上的点。然后,车辆的计算设备可以使用车辆上的点来确定修改的凸包。修改的凸包可以使用包括第一模型的数据点的数据点的集合和车辆上的点来确定。车辆的计算设备还可以使用车辆上的点来标识修改的凸包的点对。可替代地,点对可以基于车辆的参考向量来标识。例如,参考向量可以是源自车辆上的点并且在车辆的航向或朝向或者车辆正在其上行进的车道的方向上延伸的向量。

然后,可以标识一个或多个次要点的集合。例如,次要点可以是第一模型或修改的凸包中比点对距离车辆上的点更远的那些点。车辆的计算设备可以从第一模型的数据点中标识相对于车辆的参考角度以最小角度定位的数据点对的第一点。计算设备还可以从第一模型的数据点中标识相对于参考向量以最大角度定位的数据点对的第二点。然后,车辆的计算设备可以确定由车辆上的点、第一点和第二点包围的空间。第一模型中位于空间外部的点可以被标识为次要点。

然后,计算设备可以通过从第一模型中过滤或以其他方式移除次要点来确定第二模型。第二模型可以是对应于多面体的对象的模型以及第一模型的复杂度的显著减少。因此,在计算时间和复杂度由表示对象的模型中的点数控制的情况下,减少表示对象的模型中的点数可以增加安全控制车辆所需的计算的速度和效率。车辆的计算设备可以基于第二模型来控制车辆。

本文描述的特征可以提供用于生成表示对象的简化模型,这对于计算目的而言既是信息丰富的又是有效的,而且不用牺牲安全性。通过减少对象的模型的复杂度,使用这些模型进行的计算可以简化,这可以减少所需的计算资源并缩短计算所需的时间量。这进而可以提高车辆的响应时间和安全性。

示例系统

如图1所示,根据本公开的一个方面的车辆100包括各种组件。虽然本公开的某些方面结合特定类型的车辆特别有用,但是车辆可以是任何类型的车辆,包括但不限于汽车、卡车、摩托车、公交车、休闲车辆等。车辆可以具有一个或多个计算设备,诸如包含一个或多个处理器120、存储器130和通常存在于通用计算设备中的其他组件的计算设备110。

存储器130存储一个或多个处理器120可访问的信息,包括处理器120可以执行或以其他方式使用的指令132和数据134。存储器130可以是能够存储处理器可访问的信息的任何类型的存储器,包括计算设备可读介质或者存储可以借助于电子设备(诸如硬盘、存储卡、ROM、RAM、DVD或其他光盘)读取的数据的其他介质,以及其他可写存储器和只读存储器。系统和方法可以包括前述的不同组合,由此指令和数据的不同部分被存储在不同类型的介质上。

指令132可以是要被处理器直接(诸如机器代码)或间接(诸如脚本)执行的任何指令集。例如,指令可以作为计算设备代码被存储在计算设备可读介质上。在这方面上,术语“软件”、“指令”和“程序”可以在本文中互换使用。指令可以以对象代码格式存储,以供处理器直接处理,或者指令可以以任何其他计算设备语言存储,包括按需解释或预先编译的独立源代码模块的脚本或集合。下面将更详细地解释指令的功能、方法和例程。

数据134可以由处理器120根据指令132来检索、存储或修改。例如,尽管所要求保护的主题不受任何特定数据结构的限制,但是数据可以被存储在计算设备寄存器中,作为具有多个不同字段和记录的表被存储在关系型数据库中,被存储在XML文档或平面文件中。数据也可以以任何计算设备可读格式进行格式化。

一个或多个处理器120可以是任何常规处理器,诸如市场上可获得的CPU。可替代地,一个或多个处理器可以是专用设备,诸如ASIC或其他基于硬件的处理器。尽管图1在功能上将计算设备110的处理器、存储器和其他元件示出在相同的框内,但是本领域普通技术人员将理解,处理器、计算设备或存储器实际上可以包括多个处理器、计算设备或存储器,其中,多个处理器、计算设备或存储器可以储存在相同的物理壳体内,或者可以不储存在相同的物理壳体内。例如,存储器可以是位于与计算设备110的壳体不同的壳体中的硬盘驱动器或其他存储介质。因此,对处理器或计算设备的引用将被理解为包括对可以并行操作或可以不并行操作的处理器或计算设备或存储器的集合的引用。

计算设备110可以包括通常结合计算设备使用的所有组件,诸如上述处理器和存储器,以及用户输入150(例如,鼠标、键盘、触摸屏和/或麦克风)和各种电子显示器(例如,具有屏幕的监视器或可操作以显示信息的任何其他电子设备)。在本示例中,车辆包括用于提供信息或视听体验的内部电子显示器152以及一个或多个扬声器154。在这方面上,内部电子显示器152可以位于车辆100的舱体内,并且可以由计算设备110用来向车辆100内的乘客提供信息。

计算设备110还可以包括一个或多个无线网络连接156,以促进与其他计算设备的通信,诸如下面详细描述的客户端计算设备和服务器计算设备。无线网络连接可以包括短距离通信协议(诸如蓝牙、蓝牙低能量(LE)、蜂窝连接)以及包括互联网、万维网、内联网、虚拟专用网、广域网、局域网、使用一个或多个公司专有的通信协议的专用网络、以太网、WiFi和HTTP以及上述的各种组合的各种配置和协议。

在一个示例中,计算设备110可以是自动行驶计算系统的控制计算设备或被并入车辆100中。自动行驶计算系统可以能够与车辆的各种组件通信,以便根据存储器130的自动车辆控制软件控制车辆100的移动,如下面进一步讨论的。例如,返回到图1,计算设备110可以与车辆100的各种系统通信,诸如减速系统160、加速系统162、转向系统164、信令系统166、规划系统168、路线选择(routing)系统170、定位系统172、感知系统174、行为建模系统176和动力系统178(即车辆的引擎或马达),以便根据存储器130的指令132控制车辆100的移动、速度等。这些系统中的每一个可以包括各种硬件,诸如包括类似于处理器120和存储器130的处理器和存储器的计算设备以及软件,以便使这些系统能够执行各种任务。同样,尽管这些系统被示出在计算设备110的外部,但是实际上,这些系统中的全部或一些也可以被并入计算设备110中,同样作为用于控制车辆100的自动行驶计算系统。

作为示例,计算设备110可以与减速系统160和/或加速系统162的一个或多个致动器(诸如车辆的制动器、加速踏板和/或引擎或马达)交互,以便控制车辆的速度。类似地,计算设备110可以使用转向系统164的一个或多个致动器(诸如方向盘、转向轴和/或齿条齿轮系统中的齿轮和齿条),以便控制车辆100的方向。例如,如果车辆100被配置作为诸如汽车或卡车在道路上使用,则转向系统可以包括一个或多个致动器,以控制轮的角度来转动车辆。信令系统166可以由计算设备110使用,以便例如通过在需要时点亮转弯信号灯或制动灯,向其他驾驶员或车辆信令通知车辆的意图。

规划系统168可以由计算设备110使用,以便确定并遵循路线选择系统170生成的到达某位置的路线。例如,路线选择系统170可以使用地图信息来确定从车辆的当前位置到目的地位置的路线。规划系统168可以周期性地生成轨迹或用于在未来的一段时间内控制车辆的短期规划,以便遵循到达目的地的路线。在这方面上,规划系统168、路线选择系统170和/或数据134可以存储详细的地图信息,例如,标识车行道的形状和标高(elevation)、车道线、交叉口、人行横道、限速、交通信号灯、建筑物、标志、实时交通信息、植被或其他这样的对象和信息的高度详细的地图。

图2是用于车行道部分的地图信息200的示例。在本示例中,地图信息包括标识由可以指定道路或包括车道230、车道232、车道234、车道236的其他可行驶区域的实线210、实线212、实线214、实线216和虚线220、虚线222表示的车道线的形状、位置和其他特性的信息。此外,地图信息还可以包括标识由箭头240、箭头242、箭头244、箭头246表示的每个车道的行进或交通流方向的信息。虽然仅示出并标识几个特征,但是地图信息200可以是高度详细的,并且包括各种附加特征,其中,附加特征包括例如下面进一步讨论的堵塞的位置和边界。

尽管本文将地图信息描绘成基于图像的地图,但是地图信息不需要完全基于图像(例如,光栅)。例如,地图信息可以包括一个或多个道路图或诸如道路、车道、交叉口以及这些特征之间的连接的信息的图形网络。每个特征可以被存储为图形数据,并且可以与诸如地理位置和该特征是否链接到其他相关特征(例如,停止标志可以链接到道路和交叉口等)的信息相关联。在一些示例中,关联数据可以包括道路图的基于网格的索引,以允许有效地查找某些道路图特征。

定位系统172可以由计算设备110使用,以便确定车辆在地图上或在地球上的相对位置或绝对位置。例如,定位系统172可以包括GPS接收器,以确定设备的纬度、经度和/或海拔(altitude)定位。诸如基于激光的定位系统、惯性辅助的GPS或基于相机的定位的其他定位系统也可以用于标识车辆的位置。车辆的位置可以包括绝对地理位置(诸如纬度、经度和海拔)以及相对位置信息(诸如相对于紧邻车辆周围的其他汽车的位置),其中,相对位置信息通常可以以比绝对地理位置的噪声更小的噪声来确定。

定位系统172还可以包括与计算设备110通信的其他设备,诸如加速度计、陀螺仪或用于确定车辆的方向和速度或其改变的另一方向/速度检测设备。仅作为示例,加速设备可以确定其相对于重力方向或垂直于重力方向的平面的俯仰、偏航或滚转(或其改变)。设备还可以跟踪速度的增加或减少以及这些改变的方向。本文阐述的设备对位置和朝向数据的提供可以自动提供给计算设备110、其他计算设备和前述的组合。

感知系统174还包括用于检测车辆外部的对象(诸如其他车辆、车行道中的障碍物、交通信号灯、标志、树木等)的一个或多个组件。例如,感知系统174可以包括激光器、声纳、雷达、相机和/或记录计算设备110和/或车辆100的各种系统的其他计算设备可以处理的数据的任何其他检测设备。在车辆是诸如厢式车的乘客车辆的情况下,厢式车可以包括安装在车顶或其他方便位置的激光器或其他传感器。例如,图3是车辆100的示例外部视图。在本示例中,车顶上的壳体310和圆顶壳体312可以包括LIDAR传感器以及各种相机和雷达单元。此外,位于车辆100的前方端部的壳体320和位于车辆的驾驶员侧和乘客侧的壳体330、壳体332可以各自存储LIDAR传感器。例如,壳体330位于驾驶员门350的前方。车辆100还包括用于也位于车辆100的车顶上的雷达单元和/或相机的壳体340、壳体342。附加的雷达单元和相机(未示出)可以位于车辆100的前方端部和后方端部和/或沿着车顶或车顶上的壳体310的其他位置。车辆100还包括典型乘客车辆的许多特征,诸如门350、门352、轮360、轮362等。

车辆的各种系统可以使用自动车辆控制软件来运行,以便确定如何控制车辆以及控制车辆。作为示例,感知系统174的感知系统软件模块可以使用自动车辆的一个或多个传感器(诸如相机、LIDAR传感器、雷达单元、声纳单元等)生成的传感器数据,以检测和标识对象和对象的特性。这些特性可以包括位置、类型、航向、朝向、速度、加速度、加速度的改变、大小、形状等。在一些情况下,特性可以被输入到行为建模系统176的行为预测系统软件模块中,其中,行为预测系统软件模块基于对象类型来使用各种模型,以为检测到的对象输出预测的未来行为。在其他情况下,特性可以被放入行为建模系统176的一个或多个检测系统软件模块中,诸如被配置为从车辆的一个或多个传感器生成的传感器数据中检测施工区域的施工区域检测系统软件模块,以及被配置为从车辆的传感器生成的传感器数据中检测紧急车辆的紧急车辆检测系统。这些检测系统软件模块中的每一个可以使用各种模型来输出施工区域或对象是紧急车辆的可能性。

检测到的对象、预测的未来行为、来自检测系统软件模块的各种可能性、标识车辆的环境的地图信息、来自定位系统172的标识车辆的位置和朝向的定位信息、车辆的目的地以及来自车辆的各种其他系统的反馈(包括路线选择系统170生成的路线)可以被输入到规划系统168的规划系统软件模块中。规划系统可以使用该输入来生成轨迹,以供车辆在未来的一段短的时间内遵循。计算设备110的控制系统软件模块可以被配置为例如通过控制车辆的制动、加速和转向来控制车辆的移动,以便遵循轨迹。

计算设备110可以通过控制各种组件,自动控制车辆的方向和速度。为此,计算设备110可以使车辆加速(例如,通过增加由加速系统162提供给引擎的燃料或其他能量)、减速(例如,通过减少供应给引擎的燃料、改变档位和/或通过由减速系统160施加制动)、改变方向(例如,通过由转向系统164转动车辆100的前轮或后轮)以及信令通知这样的改变(例如,通过点亮信令系统166的转弯信号灯)。因此,加速系统162和减速系统160可以是包括车辆的引擎和车辆的轮之间的各种组件的传动系统的部分。同样,通过控制这些系统,计算设备110还可以控制车辆的传动系统,以便自动操纵车辆。

示例方法

除了上述和图中所示的操作之外,现在将描述各种操作。应当理解,下面的操作不必按照下面描述的精确顺序执行。相反,各个步骤可以不同的顺序或同时处理,并且还可以添加或省略步骤。

对车辆的计算设备的引用可以包括计算设备110或车辆的各种系统的其他计算设备,例如感知系统174或配置为类似于计算设备110(即具有处理器120和存储器130)的一些其他专用计算设备。车辆的计算设备可以从车辆的一个或多个传感器接收传感器数据,其中该传感器数据包括对应于在车辆的环境中检测到的对象的表面的多个点。例如,诸如圆顶壳体312中的LIDAR传感器的车辆的一个或多个LIDAR传感器可以发出激光脉冲,并且在LIDAR传感器的光学传感器处接收回该脉冲的反射。这些反射可以转化为标识对象的表面的位置和强度的数据点。LIDAR传感器可以进一步处理数据点,以便将对应于相同对象的数据点分组在一起。该处理的结果可以是包括对象(或彼此非常接近以至于不能被LIDAR传感器区分为单独的对象的多个对象)的轮廓和标识为属于对象的数据点的“点云”或组合的模型。模型可以是多面体或3D多边形,并且轮廓可以例如通过连接点云的数据点来绘制,使得多面体具有尽可能最大的体积。可替代地,模型可以是用尽可能最小的体积绘制的矩形长方体,以包括点云的所有数据点。

为了收集更多关于车辆的环境的信息,在一些情况下,一个或多个LIDAR传感器可以被尽可能高地定位在车辆上,例如,在车辆的车顶面板上,就像圆顶壳体312的LIDAR传感器一样。作为结果,一个或多个LIDAR传感器可以收集对应于取向一般远离车辆100的对象的表面的数据点。作为结果,多面体可以是具有大量顶点的高度复杂的结构。

图4提供了车辆100在可以对应于地图信息200的车行道部分中行驶的示例。例如,实线车道线410、实线车道线412、实线车道线414、实线车道线416、虚线车道线420、虚线车道线422和车道430、车道432、车道434、车道436的形状、位置和其他特性分别对应于实线210、实线212、实线214、实线216、虚线220、虚线222和车道230、车道232、车道234、车道236的形状、位置和其他特性。在本示例中,第二车辆(对象400)在车道432中行驶,其中,车道432相邻于车辆100正在其中行驶的车道434。

图5是车辆100的LIDAR传感器(诸如圆顶壳体312的LIDAR传感器)从对象400的表面生成的点云500的示例。如图所示,点云500包括标号为a1-a11的多个数据点。为了便于理解,多个数据点a1-a11的距离和配置都是夸大的。在本示例中,点a5-a8可以通过检测与卡车远侧的顶边缘相对应的点的地理定位来生成。尽管图5描绘了点云500的数据点的俯视图以使得这些数据点看起来只是二维的,但是数据点a1-a11中的一些可以在不同的平面中,因此可以实际存在于三维中。

车辆的计算设备可以基于多个检测到的点的子集,确定对象的简化模型。第一模型可以通过以二维(2D)的方式分析点云500的3D数据点来生成。例如,3D数据点可以被投影到2D表面或平面上,或者可替代地,高度维度(Z)可以被简单地忽略、删除等。然后,模型可以通过标识2D数据点的凸集来生成。为了控制或多或少局限于在诸如道路的2D平面上进行移动的车辆,只要数据被标记或以其他方式被标识为对应于车辆不能在其上行驶或穿过其行驶的对象,使用检测到的对象的2D轮廓模型就足够了。此外,由于3D计算更加复杂和耗时,因此确定2D轮廓模型可以提高用于控制车辆的计算的效率。在这方面上,2D轮廓模型可以是当从检测到的对象上方的点观看时表示检测到的对象的轮廓模型。

图6描绘了通过根据点云500中的多个数据点a1-a11的2D数据计算凸包来确定的第一模型600。第一模型600包括定义凸包610的点云500的数据点(数据点a1-a8),但是排除凸包内的点(数据点a9-a11)。在这方面上,点a1-a8对应于第一模型600的2D多边形的顶点。

然后,车辆的计算设备可以通过过滤或以其他方式忽略第一模型中对控制车辆不必要的数据点(以下称为“次要点”)来生成第二模型。例如,次要点可以对应于第一模型中其取向一般远离车辆的一侧。作为示例,对象400在车辆旁边的车道中,车辆的计算设备可以基于对应于其取向一般朝向车辆的对象的表面的数据点的位置,安全地控制车辆100。更具体地,车辆的计算设备可以控制车辆,以与最接近车辆的卡车的表面保持安全距离。因此,对象的远侧的轮廓可能并不总是必需的,因此在某些情况下可以从模型中排除。

为了标识次要点,可以标识车辆上的点。例如,转到图7,点VP可以表示车辆上的点。在本示例中,点VP实际上对应于生成点云500的数据点的LIDAR传感器的位置,尽管也可以使用其他点。同样,尽管点VP被描绘为在车辆100的顶部,但是点VP实际上只需要包括两个维度,因此,车辆上的点的高度维度(Z)可以被过滤或以其他方式被忽略。

然后,车辆上的点可以用来从第一模型或凸包中标识数据点对。作为一个示例,然后,车辆100的计算设备可以使用车辆上的点的2D数据,确定修改的凸包。修改的凸包可以使用包括第一模型的数据点的数据点的集合和车辆上的点来确定。例如,如图7所示,修改的凸包700包括点VP以及数据点a1和数据点a4-a8。

然后,车辆的计算设备可以使用车辆上的点,从第一模型或修改的凸包中标识数据点对。例如,修改的凸包中的车辆上的点的任一侧上的数据点可以被标识为数据点对,或者换言之,修改的凸包中与车辆上的点最接近的两个数据点可以被标识。返回到图7,修改的凸包700的数据点a1和数据点a4最接近点VP。

可替代地,次要点可以基于参考向量来标识。例如,参考向量可以是源自车辆上的点并且在车辆100的航向(车辆正在行驶的方向)或朝向(车辆的前端朝向的方向)的方向上或在车辆正在其上行进的车道的通行方向上的向量。例如,如图8所示,参考向量800对应于车辆100的航向、车辆100的朝向和/或车道434的通行方向(即图2的箭头244表示的方向)。

车辆的计算设备可以从第一模型或修改的凸包的数据点中标识相对于车辆的参考角度以最小角度定位的数据点对的对中的一个。计算设备还可以从第一模型或修改的凸包的数据点中标识相对于参考向量以最大角度定位的数据点对中的另一个。例如,数据点a4可以被标识为数据点对之一,因为数据点a4在点VP和参考向量之间具有最小相对角度(在此为角度α)。数据点a1可以被标识为数据点对中的另一个,因为数据点a1在点VP和参考向量之间具有最大相对角度(在此为角度β)。

然后,可以标识一个或多个次要点的集合。例如,次要点可以是第一模型或修改的凸包中比点对距离车辆上的点更远的那些点。例如,转到图9,车辆上的点和数据点对a1、a2之间的距离分别由D1和D2表示。在这方面上,数据点a5-a8和数据点a11各自比距离D1和距离D2(或者更确切地说,比数据点对a1、a4)离VP更远。在这方面上,数据点a5-a8中的每一个可以被标识为次要点。可替代地,车辆的计算设备可以通过确定由车辆上的点、第一点和第二点定义的空间,标识一个或多个次要数据点的集合。因为空间由3个点定义,所以空间可能具有三角形的形状。位于空间外部的第一模型的点可以被标识为次要点。转到图10,空间1000由点VP以及数据点a1和a4定义。因为数据点a5-a8在空间900外部,所以这些数据点可以被标识为次要点。

然后,计算设备可以通过从第一模型的数据点中过滤或以其他方式移除次要点来确定第二模型。例如,如图11中所示,(被标识为次要点的)数据点a5-a8可以从第一模型中被移除。然后,车辆的计算设备可以基于剩余的数据点a1-a4和数据点a9-a10来确定第二模型(在此为第二模型1100)。

第二模型可以是对应于多面体的对象的模型的复杂度的显著减少。此外,即使在表示相同对象的两个2D模型之间,图6的第一模型600与图11的第二模型1100的比较也显示了通过从2D模型(即第一模型)移除次要点来减少复杂度。因此,第二模型是用于相同对象的第一模型的简化版本。例如,第一模型具有8个顶点,而第二模型只具有4个顶点。因此,在由表示对象的模型中的点数控制计算时间和复杂度的情况下,减少表示对象的模型中的点数可以提高安全控制车辆所需的计算的速度和效率。

如上所述,车辆的计算设备可以基于第二模型来控制车辆。例如,第二模型可以被传递到车辆的各种其他系统,诸如行为建模系统(诸如行为建模系统176)和路径或轨迹规划系统(诸如规划系统168)。同样,第二模型的数据可以被标记或以其他方式被标识为对应于车辆不能在其上行驶或穿过其行驶的对象。通过减少这些系统正在处理的表示对象的模型中的顶点的数量和总数据量,车辆的计算设备可以再次节省大量的时间和计算资源。这对于允许车辆的计算设备快速并有效地做出行驶决策是有用的。作为一个示例,车辆的各种系统和计算设备可以确定车辆和轮廓模型之间的距离,并且通过与检测到的对象保持安全距离来控制车辆。作为另一示例,车辆的各种系统和计算设备可以确定车辆和轮廓模型之间是否存在重叠,并且基于是否存在重叠来控制车辆。作为又一示例,车辆的各种系统和计算设备可以通过预测轮廓模型的移位和/或旋转来预测检测到的对象的行为,并且基于预测的行为来控制车辆。

图12包括用于评估堵塞对自动车辆运输服务的影响的一些示例的示例流程图1200,其可以由诸如计算设备110或车辆100的另一计算设备的处理器的一个或多个处理器执行。例如,在框1210处,从车辆的一个或多个传感器接收包括对应于车辆的环境中的对象的表面的多个点的传感器数据。在框1220处,使用多个点的子集,确定表示对象的第一模型。在框1230处,使用车辆上的点,从多个点中标识次要点的集合。在框1240处,从多个点的子集中过滤次要点的集合,以确定表示对象的第二模型,其中,第二模型是第一模型的简化版本。在框1250处,基于第二模型,在自动行驶模式下控制车辆。

本文描述的特征可以提供用于生成表示对象的简化模型,这对于计算目的而言既是信息丰富的又是有效的,而且不用牺牲安全性。通过减少对象的模型的复杂度,使用这些模型进行的计算可以简化,这可以减少所需的计算资源并缩短计算所需的时间量。这进而可以提高车辆的响应时间和安全性。

除非另有说明,否则上述可替代的示例并不是相互排斥的,而是可以以各种组合来实施,以实现独特的优点。由于可以在不背离权利要求所定义的主题的情况下利用上述特征的这些和其他变体和组合,因此前述的实施例描述应当通过说明的方式而不是通过限制权利要求所定义的主题的方式来解释。此外,本文描述的示例的提供以及用短语“诸如”、“包括”等描述的条款不应被解释为将权利要求的主题限制于特定示例;相反,示例仅用于说明许多可能的实施例之一。此外,不同附图中的相同附图标记可以标识相同或相似的元素。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于图计算的车辆驾驶数据处理方法、装置和计算机设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!