1.本公开涉及用于运载工具的系统和方法。
背景技术:
2.当前的运载工具范围(extent)估计方法通常采用诸如光检测和测距 (lidar)测量等的远程感测测量来估计包围运载工具外表面的边界框。边界 框方位(orientation)估计通常经由非线性优化方法和网格搜索方法来完成。然 而,这些方法具有其缺点。用于将边界框形状拟合到测量点的常用方法涉及 针对可能的框方位集中的各个框方位,使点相对于边界框的边的平均距离最 小化。与最优方位相对应的包围边界框构成点簇的拟合形状。然而,涉及对 所有测量点进行分选并且针对每个方位重新计算这些测量点的距离的该方 法计算复杂且缓慢。
技术实现要素:
3.根据本发明的一个方面,提供一种用于运载工具的装置,包括:至少一 个处理器;以及至少一个存储器,其存储有指令,所述指令在由所述至少一 个处理器执行时使所述至少一个处理器:生成包围与检测到的运载工具的至 少一部分相对应的点簇的边界框,所述边界框包括第一边和第二边;将所述 点分选成位于距所述第一边一定距离内的第一点集以及位于距所述第二边 一定距离内的第二点集;基于所述第一点集生成第一凸包并且基于所述第二 点集生成第二凸包;基于所述第一凸包的一部分和所述第二凸包的一部分来 确定与使得所述第一点集和所述第二点集在其内部保持恒定的所述边界框 相关联的多个方位区间;基于与所述边界框相关联的多个方位区间来确定所 述边界框的方位,所述边界框的方位使从所述第一点集中的各个点到所述第 一边的距离以及从所述第二点集中的各个点到所述第二边的距离最小化;以 及将与所述边界框的方位相关联的数据提供给自主运载工具的控制电路,与 所述方位相关联的数据被配置为使所述控制电路控制所述自主运载工具的 操作。
4.根据本发明的另一方面,提供一种用于运载工具的方法,包括:利用至 少一个处理器,接收对象的所检测到的一部分的多个地点值;利用所述至少 一个处理器,确定最接近边界外围的第一边的第一地点值集的第一凸包以及 最接近所述边界外围的第二边的第二地点值集的第二凸包;利用所述至少一 个处理器,基于所述第一凸包和所述第二凸包的至少一部分,确定所述边界 外围的方位区间,在所述方位区间内,各个地点值保持最接近所述边界外围 的边中的相同边;利用所述至少一个处理器,从所述区间计算与所述边界外 围的边缘和所述地点值之间的最小距离相对应的边界外围的方位;以及利用 所述至少一个处理器,将所确定的边界框的方位输出到运载工具的控制电路。
附图说明
5.图1是可以实现包括自主系统的一个或多于一个组件的运载工具的示例 环境;
6.图2是包括自主系统的运载工具的一个或多于一个系统的图;
7.图3是图1和图2的一个或多于一个装置和/或一个或多于一个系统的组 件的图;
8.图4是自主系统的某些组件的图;
9.图5是用于高效运载工具范围估计的处理的实现的图;
10.图6a至图6g是用于高效运载工具范围估计的处理的实现的更详细的图; 图7至图10是用于高效运载工具范围估计的处理的流程图;以及
11.图11概念性地例示了边远数据点的示例性拒绝。
具体实施方式
12.在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本 公开的透彻理解。然而,本公开所描述的实施例可以在没有这些具体细节的 情况下实施将是明显的。在一些实例中,众所周知的构造和装置是以框图形 式例示的,以避免不必要地使本公开的方面模糊。
13.在附图中,为了便于描述,例示了示意要素(诸如表示系统、装置、模 块、指令块和/或数据要素等的那些要素等)的具体布置或次序。然而,本领 域技术人员将要理解,除非明确描述,否则附图中示意要素的具体次序或布 置并不意在意味着要求特定的处理次序或序列、或处理的分离。此外,除非 明确描述,否则在附图中包含示意要素并不意在意味着在所有实施例中都需 要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例 中或不能在一些实施例中与其他要素结合。
14.此外,在附图中,连接要素(诸如实线或虚线或箭头等)用于例示两个或 多于两个其他示意要素之间或之中的连接、关系或关联,没有任何此类连接 要素并不意在意味着不能存在连接、关系或关联。换句话说,要素之间的一 些连接、关系或关联未在附图中例示,以便不使本公开内容模糊。此外,为 了便于例示,可以使用单个连接要素来表示要素之间的多个连接、关系或关 联。例如,如果连接要素表示信号、数据或指令(例如,“软件指令”)的通信, 本领域技术人员应理解,这种要素可以表示影响通信可能需要的一个或多于 一个信号路径(例如,总线)。
15.尽管使用术语“第一”、“第二”和/或“第三”等来描述各种要素,但这些 要素不应受这些术语的限制。术语“第一”、“第二”和/或第三”仅用于区分一 个要素与另一要素。例如,在没有背离所描述的实施例的范围的情况下,第 一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一 触点和第二触点这两者都是触点,但它们不是相同的触点。
16.在本文所描述的各种实施例的说明书中使用的术语仅是为了描述特定 实施例的目的而包括的,而不是意在限制。如在所描述的各种实施例的说明 书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数 形式,并且可以与“一个或多于一个”或者“至少一个”互换使用,除非上下文 另有明确说明。还将理解的是,如本文所使用的术语“和/或”是指并且包括关 联的列出项中的一个或多于一个的任何和所有可能的组合。还将理解的是, 当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明 存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或 添加一个或多于一个其他特征、整数、步骤、操作、要素、组件和/或其群组。
17.如本文所使用的,术语“通信”和“进行通信”是指信息(或者由例如数据、 信号、消息、指令和/或命令等表示的信息)的接收、收到、传输、传送和/或 提供等中的至少一者。对于要与另一单元进行通信的一个单元(例如,装置、 系统、装置或系统的组件、以及/或者它们的组合等)而言,这意味着该一个 单元能够直接地或间接地从另一单元接收信息和/或向该另一单元发送(例如, 传输)信息。这可以是指本质上为有线和/或无线的直接或间接连接。另外, 即使可以在第一单元和第二单元之间修改、处理、中继和/或路由所传输的信 息,两个单元也可以彼此进行通信。例如,即使第一单元被动地接收信息并 且不主动地向第二单元传输信息,第一单元也可以与第二单元进行通信。作 为另一示例,如果至少一个中介单元(例如,位于第一单元和第二单元之间 的第三单元)处理从第一单元接收到的信息、并将处理后的信息传输至第二 单元,则第一单元可以与第二单元进行通信。在一些实施例中,消息可以是 指包括数据的网络分组(例如,数据分组等)。
18.如本文所使用的,取决于上下文,术语“如果”可选地被解释为意指“当
…ꢀ
时”、“在
…
时”、“响应于确定为”和/或“响应于检测到”等。类似地,取决于 上下文,短语“如果已确定”或“如果检测到[所陈述的条件或事件]”可选地被 解释为意指“在确定
…
时”、“响应于确定为“或”在检测到[所陈述的条件或事 件]时”和/或“响应于检测到[所陈述的条件或事件]”等。此外,如本文所使用 的,术语“有”、“具有”或“拥有”等旨在是开放式术语。此外,除非另有明确 说明,否则短语“基于”意在是意味着“至少部分基于”。
[0019]
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中, 阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而, 对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情 况下实施所描述的各种实施例。在其他情况下,尚未详细描述众所周知的方 法、过程、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
[0020]
在一些方面和/或实施例中,本文所述的系统、方法和计算机程序产品 包括和/或实现包括边界框生成的高效运载工具范围估计。采用测量点的凸包 来识别边界框方位,在该边界框方位处,一个或多于一个点从最接近边界框 的一个边切换到最接近另一边。在这些方位之间,确定候选方位,其产生点 和边界框的边之间的局部最小距离。从这些局部最小方位中选择与全局最小 值相对应的方位,从而产生最佳拟合测量点的边界框方位。
[0021]
借助于本文描述的系统、方法和计算机程序产品的实现,本公开的实施 例的技术实现了比现有系统和方法可能实现的更高效的运载工具范围估计。 本公开的实施例的处理允许从凸包确定边界框,而不是重新分选和重新计算 各个候选边界框方位的点位置,并且在连续统中优化候选方位,从而使用更 少的计算资源。这样的处理还通过利用所有测量点来减少来自下采样的准确 度损失,从而产生更大的航向准确度。
[0022]
现在参考图1,例示示例环境100,在该示例环境100中,包括自主系统 的运载工具以及不包括自主系统的运载工具进行操作。如所例示的,环境100 包括运载工具102a-102n、对象104a-104n、路线106a-106n、区域108、运载 工具到基础设施(v2i)装置110、网络112、远程自主运载工具(av)系统114、 队列管理系统116和v2i系统118。运载工具102a-102n、运载工具到基础设施 (v2i)装置110、网络112、自主运载工具(av)系统114、队列管理系统116和v2i 系统118经由有线连接、无线连接、或者有线或无线连接的组合互连(例如, 建立用于通信的连接等)。在一些实施例中,对象104a-104n经由有线连接、 无线连接、或者
everything)(v2x)装置)包括被配置为与运载工具102和/或v2i系 统118进行通信的至少一个装置。在一些实施例中,v2i装置110被配置为与 运载工具102、远程av系统114、队列管理系统116和/或v2i系统118经由网络 112进行通信。在一些实施例中,v2i装置110包括射频识别(rfid)装置、标 牌、照相机(例如,二维(2d)和/或三维(3d)照相机)、车道标记、路灯、停车 计时器等。在一些实施例中,v2i装置110被配置为直接与运载工具102进行 通信。附加地或可替代地,在一些实施例中,v2i装置110被配置为与运载工 具102、远程av系统114和/或队列管理系统116经由v2i系统118进行通信。在 一些实施例中,v2i装置110被配置为与v2i系统118经由网络112进行通信。
[0028]
网络112包括一个或多于一个有线和/或无线网络。在示例中,网络112 包括蜂窝网络(例如,长期演进(lte)网络、第三代(3g)网络、第四代(4g)网 络、第五代(5g)网络、码分多址(cdma)网络等)、公共陆地移动网络(plmn)、 局域网(lan)、广域网(wan)、城域网(man)、电话网(例如,公共交换电话 网(pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、 云计算网络等、以及/或者这些网络中的一部分或全部的组合等。
[0029]
远程av系统114包括被配置为与运载工具102、v2i装置110、网络112、 队列管理系统116和/或v2i系统118经由网络112进行通信的至少一个装置。在 示例中,远程av系统114包括服务器、服务器组和/或其他类似装置。在一些 实施例中,远程av系统114与队列管理系统116位于同一位置。在一些实施例 中,远程av系统114参与运载工具的组件(包括自主系统、自主运载工具计算 和/或由自主运载工具计算实现的软件等)中的一部分或全部的安装。在一些 实施例中,远程av系统114在运载工具的寿命期间维护(例如,更新和/或更 换)这些组件和/或软件。
[0030]
队列管理系统116包括被配置为与运载工具102、v2i装置110、远程av 系统114和/或v2i基础设施系统118进行通信的至少一个装置。在示例中,队 列管理系统116包括服务器、服务器组和/或其他类似装置。在一些实施例中, 队列管理系统116与拼车公司(例如,用于控制多个运载工具(例如,包括自主 系统的运载工具和/或不包括自主系统的运载工具)的操作等的组织)相关联。
[0031]
在一些实施例中,v2i系统118包括被配置为与运载工具102、v2i装置110、 远程av系统114和/或队列管理系统116经由网络112进行通信的至少一个装 置。在一些示例中,v2i系统118被配置为与v2i装置110经由不同于网络112 的连接进行通信。在一些实施例中,v2i系统118包括服务器、服务器组和/ 或其他类似装置。在一些实施例中,v2i系统118与市政当局或私营机构(例 如,用于维护v2i装置110的私营机构等)相关联。
[0032]
提供图1所例示的要素的数量和布置作为示例。与图1例示的要素相比, 可以存在附加的要素、更少的要素、不同的要素和/或不同布置的要素。附加 地或可替代地,环境100的至少一个要素可以进行被描述为由图1的至少一个 不同要素进行的一个或多于一个功能。附加地或可替代地,环境100的至少 一组要素可以进行被描述为由环境100的至少一个不同组的要素进行的一个 或多于一个功能。
[0033]
现在参考图2,运载工具200包括自主系统202、动力总成控制系统204、 转向控制系统206和制动系统208。在一些实施例中,运载工具200与运载工 具102(参见图1)相同或类似。在一些实施例中,运载工具200具有自主能力(例 如,实现如下的至少一个功能、特征和/或装置等,该至少一个功能、特征和 /或装置使得运载工具200能够在无人类干预的情
况下部分地或完全地操作, 其包括但不限于完全自主运载工具(例如,放弃依赖人类干预的运载工具)和/ 或高度自主运载工具(例如,在某些情形下放弃依赖人类干预的运载工具)等)。 对于完全自主运载工具和高度自主运载工具的详细描述,可以参考sae国际 标准j3016:道路上机动车自动驾驶系统相关术语的分类和定义(saeinternational's standard j3016:taxonomy and definitions for terms related toon-road motor vehicle automated driving systems),其全部内容通过引用而 被包含。在一些实施例中,运载工具200与自主队列管理器和/或拼车公司相 关联。
[0034]
自主系统202包括传感器套件,该传感器套件包括诸如照相机202a、 lidar传感器202b、雷达(radar)传感器202c和麦克风202d等的一个或多于一 个装置。在一些实施例中,自主系统202可以包括更多或更少的装置和/或不 同的装置(例如,超声波传感器、惯性传感器、(以下论述的)gps接收器、以 及/或者用于生成与运载工具200已行驶的距离的指示相关联的数据的里程计 传感器等)。在一些实施例中,自主系统202使用自主系统202中所包括的一 个或多于一个装置来生成与本文所述的环境100相关联的数据。由自主系统 202的一个或多于一个装置生成的数据可以由本文所述的一个或多于一个系 统使用以观测运载工具200所位于的环境(例如,环境100)。在一些实施例中, 自主系统202包括通信装置202e、自主运载工具计算202f和安全控制器202g。
[0035]
照相机202a包括被配置为与通信装置202e、自主运载工具计算202f和/ 或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行 通信的至少一个装置。照相机202a包括用以捕获包括物理对象(例如,小汽车、 公共汽车、路缘和/或人员等)的图像的至少一个照相机(例如,使用诸如电荷 耦合器件(ccd)等的光传感器的数字照相机、热照相机、红外(ir)照相机和/ 或事件照相机等)。在一些实施例中,照相机202a生成照相机数据作为输出。 在一些示例中,照相机202a生成包括与图像相关联的图像数据的照相机数据。 在该示例中,图像数据可以指定与图像相对应的至少一个参数(例如,诸如 曝光、亮度等的图像特性、以及/或者图像时间戳等)。在这样的示例中,图 像可以采用格式(例如,raw、jpeg和/或png等)。在一些实施例中,照相 机202a包括配置在(例如,定位在)运载工具上以为了立体影像(立体视觉)的目 的而捕获图像的多个独立照相机。在一些示例中,照相机202a包括生成图像 数据并将该图像数据传输到自主运载工具计算202f和/或队列管理系统(例如, 与图1的队列管理系统116相同或类似的队列管理系统)的多个照相机。在这样 的示例中,自主运载工具计算202f基于来自至少两个照相机的图像数据来确 定多个照相机中的至少两个照相机的视场中的到一个或多于一个对象的深 度。在一些实施例中,照相机202a被配置为捕获在相对于照相机202a的距离 (例如,高达100米和/或高达1千米等)内的对象的图像。因此,照相机202a包 括为了感知在相对于照相机202a一个或多于一个距离处的对象而优化的诸 如传感器和镜头等的特征。
[0036]
在实施例中,照相机202a包括被配置为捕获与一个或多于一个交通灯、 街道标志和/或提供视觉导航信息的其他物理对象相关联的一个或多于一个 图像的至少一个照相机。在一些实施例中,照相机202a生成与一个或多于一 个图像相关联的交通灯数据。在一些示例中,照相机202a生成与包括格式(例 如,raw、jpeg和/或png等)的一个或多于一个图像相关联的tld数据。在 一些实施例中,生成tld数据的照相机202a与本文所述的包含照相机的其他 系统的不同之处在于:照相机202a可以包括具有宽视场(例如,广角镜头、鱼 眼
镜头、以及/或者具有约120度或更大的视角的镜头等)的一个或多于一个照 相机,以生成与尽可能多的物理对象有关的图像。
[0037]
lidar传感器202b包括被配置为与通信装置202e、自主运载工具计算 202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总 线)进行通信的至少一个装置。lidar传感器202b包括被配置为从发光器(例 如,激光发射器)发射光的系统。由lidar传感器202b发射的光包括在可见 光谱之外的光(例如,红外光等)。在一些实施例中,在操作期间,由lidar 传感器202b发射的光遇到物理对象(例如,运载工具)并被反射回到lidar传 感器202b。在一些实施例中,由lidar传感器202b发射的光不会穿透该光遇 到的物理对象。lidar传感器202b还包括至少一个光检测器,该至少一个光 检测器在从发光器发射的光遇到物理对象之后检测到该光。在一些实施例中, 与lidar传感器202b相关联的至少一个数据处理系统生成表示lidar传感 器202b的视场中所包括的对象的图像(例如,点云和/或组合点云等)。在一些 示例中,与lidar传感器202b相关联的至少一个数据处理系统生成表示物理 对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在这样 的示例中,该图像用于确定lidar传感器202b的视场中的物理对象的边界。
[0038]
无线电检测和测距(雷达)传感器202c包括被配置为与通信装置202e、自 主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302 相同或类似的总线)进行通信的至少一个装置。雷达传感器202c包括被配置为 发射(脉冲的或连续的)无线电波的系统。由雷达传感器202c发射的无线电波 包括预先确定的频谱内的无线电波。在一些实施例中,在操作期间,由雷达 传感器202c发射的无线电波遇到物理对象并被反射回到雷达传感器202c。在 一些实施例中,由雷达传感器202c发射的无线电波未被一些对象反射。在一 些实施例中,与雷达传感器202c相关联的至少一个数据处理系统生成表示雷 达传感器202c的视场中所包括的对象的信号。例如,与雷达传感器202c相关 联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面 (例如,表面的拓扑结构)等的图像。在一些示例中,该图像用于确定雷达传 感器202c的视场中的物理对象的边界。
[0039]
麦克风202d包括被配置为与通信装置202e、自主运载工具计算202f和/ 或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行 通信的至少一个装置。麦克风202d包括捕获音频信号并生成与该音频信号相 关联(例如,表示该音频信号)的数据的一个或多于一个麦克风(例如,阵列麦 克风和/或外部麦克风等)。在一些示例中,麦克风202d包括变换器装置和/或 类似装置。在一些实施例中,本文所述的一个或多于一个系统可以接收由麦 克风202d生成的数据,并基于与该数据相关联的音频信号来确定对象相对于 运载工具200的位置(例如,距离等)。
[0040]
通信装置202e包括被配置为与照相机202a、lidar传感器202b、雷达传 感器202c、麦克风202d、自主运载工具计算202f、安全控制器202g和/或线控 (dbw)系统202h进行通信的至少一个装置。例如,通信装置202e可以包括与 图3的通信接口314相同或类似的装置。在一些实施例中,通信装置202e包括 运载工具到运载工具(v2v)通信装置(例如,用于实现运载工具之间的数据的 无线通信的装置)。
[0041]
自主运载工具计算202f包括被配置为与照相机202a、lidar传感器202b、 雷达传感器202c、麦克风202d、通信装置202e、安全控制器202g和/或dbw 系统202h进行通信的至少一个装置。在一些示例中,自主运载工具计算202f 包括诸如客户端装置、移动装置(例
如,蜂窝电话和/或平板电脑等)和/或服务 器(例如,包括一个或多于一个中央处理单元和/或图形处理单元等的计算装 置)等的装置。在一些实施例中,自主运载工具计算202f与本文所述的自主运 载工具计算400相同或类似。附加地或可替代地,在一些实施例中,自主运 载工具计算202f被配置为与自主运载工具系统(例如,与图1的远程av系统 114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管 理系统116相同或类似的队列管理系统)、v2i装置(例如,与图1的v2i装置110 相同或类似的v2i装置)和/或v2i系统(例如,与图1的v2i系统118相同或类似 的v2i系统)进行通信。
[0042]
安全控制器202g包括被配置为与照相机202a、lidar传感器202b、雷达 传感器202c、麦克风202d、通信装置202e、自主运载工具计算202f和/或dbw 系统202h进行通信的至少一个装置。在一些示例中,安全控制器202g包括被 配置为生成和/或传输控制信号以操作运载工具200的一个或多于一个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一 个或多于一个控制器(电气控制器和/或机电控制器等)。在一些实施例中,安 全控制器202g被配置为生成优先于(例如,覆盖)由自主运载工具计算202f生 成和/或传输的控制信号的控制信号。
[0043]
dbw系统202h包括被配置为与通信装置202e和/或自主运载工具计算 202f进行通信的至少一个装置。在一些示例中,dbw系统202h包括被配置为 生成和/或传输控制信号以操作运载工具200的一个或多于一个装置(例如,动 力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多于一 个控制器(例如,电气控制器和/或机电控制器等)。附加地或可替代地,dbw 系统202h的一个或多于一个控制器被配置为生成和/或传输控制信号以操作 运载工具200的至少一个不同的装置(例如,转向信号灯、前灯、门锁和/或挡 风玻璃雨刮器等)。
[0044]
动力总成控制系统204包括被配置为与dbw系统202h进行通信的至少 一个装置。在一些示例中,动力总成控制系统204包括至少一个控制器和/或 致动器等。在一些实施例中,动力总成控制系统204从dbw系统202h接收控 制信号,并且动力总成控制系统204使运载工具200开始向前移动、停止向前 移动、开始向后移动、停止向后移动、沿某方向加速、沿某方向减速、进行 左转和/或进行右转等。在示例中,动力总成控制系统204使提供至运载工具 的马达的能量(例如,燃料和/或电力等)增加、保持相同或减少,由此使运载 工具200的至少一个轮旋转或不旋转。
[0045]
转向控制系统206包括被配置为使运载工具200的一个或多于一个轮旋 转的至少一个装置。在一些示例中,转向控制系统206包括至少一个控制器 和/或致动器等。在一些实施例中,转向控制系统206使运载工具200的两个前 轮和/或两个后轮向左或向右旋转,以使运载工具200左转或右转。
[0046]
制动系统208包括被配置为使一个或多于一个制动器致动以使运载工具 200减速和/或保持静止的至少一个装置。在一些示例中,制动系统208包括被 配置为使与运载工具200的一个或多于一个轮相关联的一个或多于一个卡钳 在运载工具200的相应转子上闭合的至少一个控制器和/或致动器。附加地或 可替代地,在一些示例中,制动系统208包括自动紧急制动(aeb)系统和/或 再生制动系统等。
[0047]
在一些实施例中,运载工具200包括用于测量或推断运载工具200的状态 或条件的性质的至少一个平台传感器(未明确例示出)。在一些示例中,运载 工具200包括诸如全
球定位系统(gps)接收器、惯性测量单元(imu)、轮速率 传感器、轮制动压力传感器、轮转矩传感器、引擎转矩传感器和/或转向角传 感器等的平台传感器。
[0048]
现在参考图3,例示装置300的示意图。如所例示的,装置300包括处理 器304、存储器306、存储组件308、输入接口310、输出接口312、通信接口 314和总线302。在一些实施例中,装置300对应于:运载工具102的至少一个 装置(例如,运载工具102的系统的至少一个装置);运载工具200的至少一个 装置(例如,运载工具200的系统的至少一个装置);以及/或者网络112的一个 或多于一个装置(例如,网络112的系统的一个或多于一个装置)。在一些实施 例中,运载工具102的一个或多于一个装置(例如,运载工具102的系统的一 个或多于一个装置)、运载工具200的一个或多于一个装置(例如,运载工具200 的系统的一个或多于一个装置)、以及/或者网络112的一个或多于一个装置 (例如,网络112的系统的一个或多于一个装置)包括至少一个装置300和/或装 置300的至少一个组件。如图3所示,装置300包括总线302、处理器304、存 储器306、存储组件308、输入接口310、输出接口312和通信接口314。
[0049]
总线302包括许可装置300的组件之间的通信的组件。在一些情况下,处 理器304包括处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或 加速处理单元(apu)等)、麦克风、数字信号处理器(dsp)、以及/或者可被编 程为进行至少一个功能的任意处理组件(例如,现场可编程门阵列(fpga)和/ 或专用集成电路(asic)等)。存储器306包括随机存取存储器(ram)、只读存 储器(rom)、以及/或者存储供处理器304使用的数据和/或指令的另一类型的 动态和/或静态存储装置(例如,闪速存储器、磁存储器和/或光存储器等)。
[0050]
存储组件308存储与装置300的操作和使用相关的数据和/或软件。在一 些示例中,存储组件308包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘等)、 紧凑盘(cd)、数字多功能盘(dvd)、软盘、盒式磁带、磁带、cd-rom、ram、 prom、eprom、flash-eprom、nv-ram和/或另一类型的计算机可读 介质、以及相应的驱动器。
[0051]
输入接口310包括许可装置300诸如经由用户输入(例如,触摸屏显示器、 键盘、小键盘、鼠标、按钮、开关、麦克风和/或照相机等)等接收信息的组 件。附加地或可替代地,在一些实施例中,输入接口310包括用于感测信息 的传感器(例如,全球定位系统(gps)接收器、加速度计、陀螺仪和/或致动器 等)。输出接口312包括用于提供来自装置300的输出信息的组件(例如,显示 器、扬声器和/或一个或多于一个发光二极管(led)等)。
[0052]
在一些实施例中,通信接口314包括许可装置300与其他装置经由有线连 接、无线连接、或者有线连接和无线连接的组合进行通信的类似收发器那样 的组件(例如,收发器和/或单独的接收器和发射器等)。在一些示例中,通信 接口314许可装置300从另一装置接收信息和/或向另一装置提供信息。在一些 示例中,通信接口314包括以太网接口、光接口、同轴接口、红外接口、射 频(rf)接口、通用串行总线(usb)接口、接口和/或蜂窝网络接口等。
[0053]
在一些实施例中,装置300进行本文所述的一个或多于一个处理。装置 300基于处理器304执行由诸如存储器306和/或存储组件308等的计算机可读 介质所存储的软件指令来进行这些处理。计算机可读介质(例如,非暂时性 计算机可读介质)在本文被限定为非暂时性存储器装置。非暂时性存储器装 置包括位于单个物理存储装置内的存储空间或跨多个物理存储装置分布的 存储空间。
[0054]
在一些实施例中,经由通信接口314从另一计算机可读介质或从另一装 置将软件指令读取到存储器306和/或存储组件308中。存储器306和/或存储组 件308中所存储的软件指令在执行时,使处理器304进行本文所述的一个或多 于一个处理。附加地或可替代地,代替软件指令或与软件指令组合使用硬连 线电路以进行本文所述的一个或多于一个处理。因此,除非另外明确说明, 否则本文所描述的实施例不限于硬件电路和软件的任何特定组合。
[0055]
存储器306和/或存储组件308包括数据存储部或至少一个数据结构(例如, 数据库等)。装置300能够从存储器306或存储组件308中的数据存储部或至少 一个数据结构接收信息,将信息存储在该数据存储部或至少一个数据结构中, 将信息通信至该数据存储部或至少一个数据结构,或者搜索该数据存储部或 至少一个数据结构中所存储的信息。在一些示例中,该信息包括网络数据、 输入数据、输出数据或其任何组合。
[0056]
在一些实施例中,装置300被配置为执行存储在存储器306和/或另一装 置(例如,与装置300相同或类似的另一装置)的存储器中的软件指令。如本文 所使用的,术语“模块”是指存储器306和/或另一装置的存储器中所存储的至 少一个指令,该至少一个指令在由处理器304和/或另一装置(例如,与装置300 相同或类似的另一装置)的处理器执行时,使装置300(例如,装置300的至少 一个组件)进行本文所述的一个或多于一个处理。在一些实施例中,模块以 软件、固件和/或硬件等来实现。
[0057]
提供图3所例示的组件的数量和布置作为示例。在一些实施例中,与图3 所例示的组件相比,装置300可以包括附加的组件、更少的组件、不同的组 件或不同布置的组件。附加地或可替代地,装置300的一组组件(例如,一个 或多于一个组件)可以进行被描述为由装置300的另一组件或另一组组件进 行的一个或多于一个功能。
[0058]
现在参考图4,例示出自主运载工具计算400(有时称为“av堆栈”)的示例 框图。如所例示的,自主运载工具计算400包括感知系统402(有时称为感知 模块)、规划系统404(有时称为规划模块)、定位系统406(有时称为定位模块)、 控制系统408(有时称为控制模块)和数据库410。在一些实施例中,感知系统 402、规划系统404、定位系统406、控制系统408和数据库410包括在运载工 具的自动导航系统(例如,运载工具200的自主运载工具计算202f)中和/或在该 自动导航系统中实现。附加地或可替代地,在一些实施例中,感知系统402、 规划系统404、定位系统406、控制系统408和数据库410包括在一个或多于一 个独立系统(例如,与自主运载工具计算400相同或类似的一个或多于一个系 统等)中。在一些示例中,感知系统402、规划系统404、定位系统406、控制 系统408和数据库41包括在位于运载工具中的一个或多于一个独立系统以及/ 或者如本文所述的至少一个远程系统中。在一些实施例中,自主运载工具计 算400中所包括的系统中的任意和/或全部以软件(例如,存储器中所存储的软 件指令)、计算机硬件(例如,通过微处理器、微控制器、专用集成电路(asic) 和/或现场可编程门阵列(fpga)等)、或者计算机软件和计算机硬件的组合来 实现。还将理解,在一些实施例中,自主运载工具计算400被配置为与远程 系统(例如,与远程av系统114相同或类似的自主运载工具系统、与队列管理 系统116相同或类似的队列管理系统116、以及/或者与v2i系统118相同或类似 的v2i系统等)进行通信。
[0059]
在一些实施例中,感知系统402接收与环境中的至少一个物理对象相关 联的数据(例如,感知系统402检测至少一个物理对象所使用的数据),并对该 至少一个物理对象进
行分类。在一些示例中,感知系统402接收由至少一个 照相机(例如,照相机202a)捕获到的图像数据,该图像与该至少一个照相机 的视场内的一个或多于一个物理对象相关联(例如,表示该一个或多于一个 物理对象)。在这样的示例中,感知系统402基于物理对象(例如,自行车、运 载工具、交通标志和/或行人等)的一个或多于一个分组来对至少一个物理对 象进行分类。在一些实施例中,基于感知系统402对物理对象进行分类,感 知系统402将与物理对象的分类相关联的数据传输到规划系统404。
[0060]
在一些实施例中,规划系统404接收与目的地相关联的数据,并且生成 与运载工具(例如,运载工具102)可以朝向目的地行驶所沿着的至少一个路线 (例如,路线106)相关联的数据。在一些实施例中,规划系统404定期地或连 续地从感知系统402接收数据(例如,上述的与物理对象的分类相关联的数据), 并且规划系统404基于感知系统402所生成的数据来更新至少一个轨迹或生 成至少一个不同轨迹。在一些实施例中,规划系统404从定位系统406接收与 运载工具(例如,运载工具102)的更新位置相关联的数据,并且规划系统404 基于定位系统406所生成的数据来更新至少一个轨迹或生成至少一个不同轨 迹。
[0061]
在一些实施例中,定位系统406接收与运载工具(例如,运载工具102)在 区域中的地点相关联(例如,表示该地点)的数据。在一些示例中,定位系统 406接收与至少一个lidar传感器(例如,lidar传感器202b)所生成的至少一 个点云相关联的lidar数据。在某些示例中,定位系统406从多个lidar传 感器接收与至少一个点云相关联的数据,并且定位系统406基于各个点云来 生成组合点云。在这些示例中,定位系统406将该至少一个点云或组合点云 与数据库410中所存储的区域的二维(2d)和/或三维(3d)地图进行比较。然后, 基于定位系统406将至少一个点云或组合点云与地图进行比较,定位系统406 确定运载工具在区域中的位置。在一些实施例中,地图包括运载工具的导航 之前生成的该区域的组合点云。在一些实施例中,地图包括但不限于车行道 几何性质的高精度地图、描述道路网连接性质的地图、描述车行道物理性质 (诸如交通速率、交通流量、运载工具和自行车交通车道的数量、车道宽度、 车道交通方向或车道标记的类型和地点、或者它们的组合等)的地图、以及 描述道路特征(诸如人行横道、交通标志或各种类型的其他行驶信号灯等)的 空间地点的地图。在一些实施例中,基于感知系统所接收到的数据来实时地 生成地图。
[0062]
在另一示例中,定位系统406接收由全球定位系统(gps)接收器所生成的 全球导航卫星系统(gnss)数据。在一些示例中,定位系统406接收与运载工 具在区域中的地点相关联的gnss数据,并且定位系统406确定运载工具在区 域中的纬度和经度。在这样的示例中,定位系统406基于运载工具的纬度和 经度来确定运载工具在区域中的位置。在一些实施例中,定位系统406生成 与运载工具的位置相关联的数据。在一些示例中,基于定位系统406确定运 载工具的位置,定位系统406生成与运载工具的位置相关联的数据。在这样 的示例中,与运载工具的位置相关联的数据包括与对应于运载工具的位置的 一个或多于一个语义性质相关联的数据。
[0063]
在一些实施例中,控制系统408从规划系统404接收与至少一个轨迹相关 联的数据,并且控制系统408控制运载工具的操作。在一些示例中,控制系 统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408 通过生成并传输控制信号以使动力总成控制系统(例如,dbw系统202h和/ 或动力总成控制系统204等)、转向控制系统(例如,转向控制系统206)和/或制 动系统(例如,制动系统208)进行操作,来控制运载工具的操作。
在示例中, 在轨迹包括左转的情况下,控制系统408传输控制信号以使转向控制系统206 调整运载工具200的转向角,由此使运载工具200左转。附加地或可替代地, 控制系统408生成并传输控制信号以使运载工具200的其他装置(例如,前灯、 转向信号灯、门锁和/或挡风玻璃雨刮器等)改变状态。
[0064]
在一些实施例中,感知系统402、规划系统404、定位系统406和/或控制 系统408实现至少一个机器学习模型(例如,至少一个多层感知器(mlp)、至 少一个卷积神经网络(cnn)、至少一个递归神经网络(rnn)、至少一个自动 编码器和/或至少一个变换器等)。在一些示例中,感知系统402、规划系统404、 定位系统406和/或控制系统408单独地或与上述系统中的一个或多于一个结 合地实现至少一个机器学习模型。在一些示例中,感知系统402、规划系统 404、定位系统406和/或控制系统408实现至少一个机器学习模型作为管道(例 如,用于识别位于环境中的一个或多于一个对象的管道等)的一部分。以下 关于图4包括机器学习模型的实现的示例。
[0065]
数据库410存储传输至感知系统402、规划系统404、定位系统406和/或 控制系统408的、从其接收到的、以及/或者由其更新的数据。在一些示例中, 数据库410包括用于存储与操作相关的数据和/或软件、并使用自主运载工具 计算400的至少一个系统的存储组件(例如,与图3的存储组件308相同或类似 的存储组件)。在一些实施例中,数据库410存储与至少一个区域的2d和/或 3d地图相关联的数据。在一些示例中,数据库410存储与城市的一部分、多 个城市的多个部分、多个城市、县、州和/或国家(state)(例如,国家)等的2d 和/或3d地图相关联的数据。在这样的示例中,运载工具(例如,与运载工具 102和/或运载工具200相同或类似的运载工具)可以沿着一个或多于一个可驾 驶区(例如,单车道道路、多车道道路、高速公路、偏僻道路和/或越野道路 等)驾驶,并且使至少一个lidar传感器(例如,与lidar传感器202b相同或 类似的lidar传感器)生成与表示该至少一个lidar传感器的视场中所包括 的对象的图像相关联的数据。
[0066]
在一些实施例中,数据库410可以跨多个装置来实现。在一些示例中, 数据库410包括在运载工具(例如,与运载工具102和/或运载工具200相同或类 似的运载工具)、自主运载工具系统(例如,与远程av系统114相同或类似的 自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或 类似的队列管理系统)中和/或v2i系统(例如,与图1的v2i系统118相同或类似 的v2i系统)等中。
[0067]
现在参考图5,例示了用于高效运载工具范围估计的处理的实现500的图。 在一些实施例中,该实现涉及感知系统402。如图5所示,感知系统402可以 诸如从lidar传感器202b等接收与点簇相关联的表示附近运载工具或其他 对象104n的数据(502)。感知系统402生成相应的边界框(504),以围绕点簇。 然后感知系统402根据各个点最接近的边界框的边将接收到的点分选成两组 (506)。感知系统402然后为这些组中的各个生成凸包(508),并确定使得两个 分选的点组保持恒定的方位θ区间(510)。例如,感知系统402扫描不同的边界 框方位,以确定每个点保持最靠近相同边界框的边的那些方位范围。如图5 的最左边的表所示,点从最靠近一个边切换到最靠近不同边的那些方位(θ1、 θ2、θ3
…
)标记一个这样的区间的结束和下一个区间的开始。然后感知系统402 确定局部最小化方位512或各个方位区间内的方位,在该方位区间处,点簇 在相对于点簇的最近边界框的边的最小平均距离处。这针对各个方位区间产 生局部最小方位θ
lm1
、θ
lm2
、θ
lm3
…
。然后从局部最小方
位θ
lm1
、θ
lm2
、θ
lm3
…ꢀ
中选择全局最小化方位θ
gm
(514),并且该全局最小化方位θ
gm
仅仅是具有最低 平均点距离的局部最小方位θ
lm1
、θ
lm2
、θ
lm3
…
。该方位θ
gm
被认为是最佳拟 合边界框的方位,并且具有该方位θ
gm
的边界框可以相应地被构造为围绕该 点簇。
[0068]
图6a至图6g是更详细地示出图5的实现的图。现在参考图6a,自主运载 工具102可以采用一个或多于一个lidar传感器202b来检测与附近对象(诸 如运载工具104等)的至少一个检测到的部分的地点值相对应的离散点604。 以特定时间区间从运载工具104检测到的点604的簇可以被称为点云602。发 送作为要由感知系统402接收的数据的点云602。点604可以传达任意期望的 位置信息。例如,点604可以是由任意一个或多于一个传感器确定的任意二 维坐标,并且可以相对于与放置一个或多于一个传感器的运载工具(例如, 自主运载工具102)相关联的参考点或参考轴来测量点604。另外,虽然与运 载工具104的一个或多于一个部分相对应的点604的簇在此被描述为lidar 测量结果的簇,但是应注意,点604的簇可以包括从任意源或源的组合(诸如 雷达测量结果、从诸如可见光或红外图像等的一个或多于一个图像确定的地 点值以及/或者来自超声波传感器装置(图中未单独示出)的超声波测量结果 等)获得的位置信息。
[0069]
参考图6b,感知系统402生成围绕点云602中的点604的初始边界框。特 别地,系统402首先生成具有边la和lb的边界框608,边la和lb相对于坐标系 以角度θ定向。在各种示例中,角度θ是相对于任意合适的坐标系(诸如与自主 运载工具102相关联的坐标系等,例如基于可以与自主运载工具102的中心轴 相对应的参考610的坐标系)定义的。这里,角度θ可以从例如0
°
≤θ≤90
°
中任意 选择,并且la和lb可以被定位成与外点604相切。以该方式,生成具有尺寸 并且被定向为围绕各个点604的初始边界框608。
[0070]
应注意,虽然图6b例示例如矩形的边界框的生成,但本公开的实施例考 虑生成可包围或基本上包围任意点集的任意边界形状。例如,所生成的边界 外围可以是四边形、矩形或任意多边形等。
[0071]
参考图6c,感知系统402将点604分选成两个集。一个集包含与边lb相比 更靠近边la的那些点604,并且另一个集包含与边la相比更靠近边lb的那些 点604。例如,对于将la和lb之间的夹角平分并且相对于参考610形成角度θd的线ld,感知系统402将点604分选为位于线ld的一侧的一个集和位于线ld的另一侧的另一个集。以该方式,线ld可以表示用于将点分选到第一集或第 二集(例如,对应于下面结合图6d描述的凸包ia或凸包ib)中的一个或另一个 集中的阈值距离。
[0072]
参考图6d,感知系统402确定这些点604的集中的各个集的凸包。更具体 地,系统402确定与边lb相比更靠近边la的点604的集的凸包ia,以及与边la相比更靠近边lb的点604的集的凸包ib。
[0073]
如图6e所示,感知系统402接下来在维持与凸包ia和ib相切的同时旋转边 界框的边la和lb,以确定使得点604的两个集在其内部保持恒定的方位θ的区 间。例如,边界框的边la和lb在维持与凸包ia和ib相切的同时围绕凸包ia和 ib旋转,以确定ld与点604相交的那些方位(θ1、θ2…
)或过渡方位。因此,方 位θ的区间是位于连续方位θ1、θ2等之间的值。因此,各个方位区间表示没有 点604从最接近一个边la、lb切换到最接近另一个边lb、la的θ的范围。
[0074]
如上所述,用于边界框生成的先前方法通常涉及对所有测量点进行分选 并针对每个方位重新计算这些测量点的距离。对于m个可能的方位和n个数 据点,该方法产生复杂
度mnlog(n)。相反,本公开的实施例避免重新分选测量点并针对各个方位重新计算距离,而是计算对凸包的切线(例如,凸包ia的点604a相对于参考610形成角度θ1的切线tan1,以及凸包1b的点604b相对于参考610形成角度θ2的切线tan2),并且仅在方位区间之间的过渡处在点集之间切换一个或多于一个点。由于可以针对各个分选的测量点集在log(n)时间内进行切线计算和凸包更新,因此本公开的实施例的方法仅产生复杂度nlog(n),从而减少了计算开销和处理时间。
[0075]
参考图6f,感知系统402生成并存储(诸如在存储器306中等)这些过渡方位620(θ1、θ2、θ3…
)、相应的边界框方位区间622和针对各个区间的数据点集624的表或其他集。在一些实施例中,各个针对区间的数据点集624基于点604,并且包括与第一凸包(例如,图6d的凸包ia)相对应的第一数据点集626以及与第二凸包(例如,图6d的凸包ib)相对应的第二数据点集628。例如,第一数据点集626可以包括针对各个数据点的x和y坐标(诸如针对点索引i=1至n
1,1
的x
1,1,i
和y
1,1,i
等,其中n
1,1
表示相应的边界框区间622的第一数据点集626中的数据点的数量)。例如,第二数据点集628可以包括针对各个数据点的x和y坐标,(诸如针对点索引i=1至n
1,2
的x
1,2,i
和y
1,2,i
等,其中n
1,2
表示相应的边界框区间622的第二数据点集628中的数据点的数量)。
[0076]
参考图6g,感知系统402针对各个区间确定局部最小化边界框方位θ(例如,各个方位区间632内的方位θ,对于该方位θ,从点604的第一集到第一边la的距离(例如,图6c中所示的距离640)以及从点604的第二集到第二边lb的距离(例如,图6c中所示的距离642)是最小值)。在本公开的一些实施例中,这通过确定点604到点604的相应边la、lb的距离之和的连续函数f(θ)来实现。然后可以将局部最小距离确定为各个方位区间内的f(θ)的最小值。本公开的实施例考虑使用距离的任意度量、定义或公式化。作为一个示例,如下面的等式(1)所示,点604与其边界框的边la、lb之间的距离可以被定义为l1范数距离d或曼哈顿距离(其可以表示为n个数据点的集的三角和(trigonometricsum)):
[0077]
∑d(pi)=∑|axi byi c|
[0078]
=∑(axi bxi c)
[0079]
=a∑xi b∑yi nc
[0080]
=ax by nc
[0081]
(1)=xcos(θ)-ysin(θ) nc=f(θ)
[0082]
其中,θ表示边界框方位,并且i表示点索引,d(pi)表示从点i到点i的相应边(例如,边la和边lb中更近的边)的距离。
[0083]
对于固定的点604的集,x和y是点pi与相应边la和lb之间距离的测量,因此保持恒定。因此,可以通过将f(θ)的导数设置为零(例如,f’(θ)=0)来在连续统中优化f(θ)。因此,感知系统402可以根据上述来针对各个θ区间确定各个连续函数(f1(θ)、f2(θ)、f3(θ)
…
)634。然后感知系统402可以针对各个区间在连续统中确定f(θ)的各个局部最小值的方位(θ
lm1
、θ
lm2
、θ
lm3
…
)636。然后,全局最小方位638是与最低f(θ)值相对应的θ
lm
值。以该方式,感知系统402通过根据选择的任何距离度量确定产生最低总距离的边界框方位来确定最佳拟合边界框。由于f(θ)是连续函数,因此可以确定f(θ)的局部最小值和全局最小值的精确解,从而在确定最佳拟合边界框时产生更高的准确度。
[0084]
以上采用l1距离仅作为一个具体示例,并且本公开的实施例考虑使用适合于对
点与所围绕的边界外围之间的拟合进行估计的任意距离度量。例如,可以采用任意其他距离测量结果(诸如欧几里得距离等)来确定点604与边界框的边la、lb之间的平均距离。
[0085]
在一些实施例中,作为如上所述最小化f(θ)的替代或除了如上所述最小化f(θ),如等式(2)所给出的,感知系统402使点604到边界框的边la、lb的平均距离f_avg(θ)最小化,:
[0086]
(2)
[0087]
其中,表示第一点集(例如,图6f中的点集626,该点集626可以对应于图6e中的凸包ia)中的点的总数,并且表示第二点集(例如,图6f中的点集628,该点集628可以对应于图6e中的凸包ib)中的点的总数。可以观察到,具有不同的x和y值的等式(2)可以采用与等式(1)相同的形式。
[0088]
现在参考图7,例示了用于高效运载工具范围估计的处理700的流程图。在一些实施例中,如上所述,自主运载工具102(例如,完全地和/或部分地等)进行关于处理700描述的一个或多于一个步骤。附加地或可替代地,在一些实施例中,与自主运载工具102分离或包括自主运载工具102的其他装置或装置组(诸如执行上述计算中的一些或全部计算的远程服务器(例如,与图1的远程av系统114和/或队列管理系统116相同或类似的远程服务器)等)可以(例如,完全地和/或部分地等)进行关于处理700描述的一个或多于一个步骤。
[0089]
继续参考图7,感知系统402生成包围与检测到的运载工具的至少一部分的地点值相对应的点簇的边界框的至少两个边(框702)。在示例中,如图6a和6b所示,感知系统402生成包围点604的簇602的边界框的边la和lb。
[0090]
继续参考图7,感知系统402将点簇的点分选成第一点集和第二点集(框704),其中第一点集位于距边界框的第一边一定距离(例如,由图6c和/或图6d中的线ld定义的阈值距离)内,第二点集位于距第二边该距离内,例如由位于更靠近一个边(例如,图6d中的边la)的点(例如,与图6d中的凸包ia相对应的点)组成的集,以及由更靠近另一个边(例如,图6d中的边lb)的点(例如,与图6d中的凸包ib相对应的点)组成的另一点集。以上结合图6c和/或图6d提供了与可以在框704处进行的点的示例分选有关的进一步细节。
[0091]
继续参考图7,如上面参考图6d所述,感知系统402基于该第一点集生成第一凸包,并且基于第二点集生成第二凸包(框706)。在示例中,如图6d所示,感知系统402生成第一凸包ia和第二凸包ib。
[0092]
继续参考图7,感知系统402基于第一凸包的一部分和第二凸包的一部分来确定使得第一点集和第二点集在其内部保持恒定的边界框方位的多个区间(框708)。在示例中,参考图6e,感知系统402针对边界框的各个方位(例如,范围为从相对于参考610的θ=0
°
的方位到相对于参考610的θ=90
°
的方位)确定对两个凸包的切线(例如,如图6e所示,相对于参考610具有切线角θ1的tan1和相对于参考610具有切线角θ2的tan2),并且使用切线来确定点从一个集改变到另一个集(例如,从更靠近一个边界框的边(诸如边la等)到更靠近另一边界框的边(诸如边lb等))的区间。将在框708处确定的边界框方位区间例如存储在存储器(诸如存储器306等)中(例如,作为图6f中所示的表618的边界框方位区间622和/或作为图6g中所示的表630的边界框方位区间632)。
[0093]
继续参考图7,感知系统402针对在框708处确定的区间确定边界框方位, 该边界框方位使从第一点集中的各个点到第一边的距离以及从第二点集中 的各个点到第二边的距离最小化(框710)。参考图6f至图6g,可以针对各个 区间内的点距离之和来确定连续函数。因此,针对各个区间的这些连续函数 的局部最小值指示各个区间的最佳拟合方位,并且具有最小距离的最佳拟合 方位则是全局最小值或全局最佳拟合方位638或最佳拟合边界框方位。
[0094]
继续参考图7,感知系统402将该最佳拟合边界框的数据提供给诸如运载 工具102等的自主运载工具的控制电路,该数据被配置为使控制电路控制自 主运载工具的操作(框712)。例如,感知系统402描述了用于任意期望目的(诸 如辅助导航等)的运载工具102的系统的最佳拟合边界框。
[0095]
现在参考图8,例示了用于确定边界框方位区间(例如,图6f的表618中 所示的边界框方位区间622和/或图6g的表630中所示的边界框方位区间632) 的处理800的流程图。在一些实施例中,处理800与上文结合图7描述的框708 的处理相同或类似。在一些实施例中,如上所述,自主运载工具102(例如, 完全地和/或部分地等)进行关于处理800描述的一个或多于一个步骤。附加地 或可替代地,在一些实施例中,与自主运载工具102分离或包括自主运载工 具102的其他装置或装置组(诸如执行上述计算中的一些或全部计算的远程 服务器)可以(例如,完全地和/或部分地等)进行关于处理800描述的一个或多 于一个步骤。注意,处理800允许在不增加复杂度的情况下更新凸包。如本 文所述,采用对凸包的切线来确定边界框方位区间632。限定方位区间的端 点的那些切线也与切换凸包的点相交,从而引起对凸包的更新。然后可以以 任意方式(诸如根据timothy chan,dynamic planar convex hull operations innear-logarithmic amortized time,48 j.acm 1(2001)中描述的处理等,其全 部内容通过引用并入本文)确定点集的编辑和相应凸包的确定。
[0096]
继续参考图8,在执行框802之前,如图6c所例示并如上面结合图7的框 702、704、706所述,感知系统402生成初始边界框并将点604分选成两个集, 根据该两个集,边界框的分支la、lb更靠近。随后感知系统402确定针对点 604的各个集的凸包(如图6d所例示的),然后针对各个凸包初始化凸包索引c 和点索引i(框802)。
[0097]
继续参考图8,感知系统402计算凸包c的点pi的切线(框804)。在示例中, 参考图6e,感知系统402计算相对于参考610形成切线角θ1的点604a的切线 tan1。
[0098]
继续参考图8,感知系统402确定由在框804处针对凸包c的点pi计算的切 线形成的切线角是否位于阈值范围内(框806)。例如,感知系统402可以判断 切线角θ1是否在阈值接近度内接近线ld的角度θd,以判断切线角θ1是否对应 于过渡方位(例如,预期点pi与线ld交叉并从更靠近线la切换到更靠近线lb的边界框方位)。
[0099]
继续参考图8,如果感知系统402在框806处确定为切线不在阈值范围内 (框806处为“否”),则感知系统402因为该切线角不对应于过渡方位而丢弃该 切线角(框808)。
[0100]
继续参考图8,如果感知系统402在框806处确定为切线位于阈值范围内 (在框806处为“是”),则感知系统402将该切线角与相应的点604的重新分选后 的集一起存储在诸如存储器306等的存储器中,以对应于过渡方位(框810), 从而考虑该新确定的过渡点。
[0101]
继续参考图8,在框808或框810之后,视情况而定,感知系统402判断凸 包c是否包括要计算切线的另一点(框812)。在示例中,感知系统402保持跟踪 凸包c的各个点,并通过
顺次步进凸包c的各个点来在框812处进行判断。
[0102]
继续参考图8,如果感知系统402确定为凸包c包括要计算切线的另一点 (在框812处为“是”),则感知系统402选择凸包c上的另一点并使数据点索引i 递增(框814)并且将控制传递到框804以重复以上针对框804、806、808和/或 810描述的处理,以确定另一过渡方位(如果存在)。
[0103]
继续参考图8,如果感知系统402确定为凸包c不包括要计算切线的另一 点(在框812处为“否”),则感知系统402判断是否尚未分析另一凸包(例如,在 图7的框706处生成的凸包之一)(框816)以根据上面针对框802、804、806、808、 810、812和/或814描述的处理来确定切线角和/或过渡方位。
[0104]
继续参考图8,如果感知系统402确定为仍有另一凸包(例如,在图7的框 706处生成的凸包之一)待分析以根据上面针对框802、804、806、808、810、 812和/或814描述的处理来确定切线角和/或过渡方位(在框816处为“是”),则 感知系统402使凸包索引c递增以对应于待分析的另一凸包,将数据点索引i 初始化,并且将控制传递到框804以重复以上针对框804、806、808和/或810 描述的处理,以确定针对另一凸包的过渡方位(框818)。
[0105]
继续参考图8,如果感知系统402确定为没有其他凸包(例如,在图7的框 706处生成的凸包之一)仍待分析以根据上面针对框802、804、806、808、810、 812和/或814描述的处理来确定切线角和/或过渡方位(在框816处为“否”),例 如,如果已经分析了在图7的框706处生成的两个凸包,则感知系统402基于 在框810的处理的多次迭代中存储的过渡角生成边界框方位区间的表(例如, 图6f的表618)(框820)。
[0106]
现在参考图9,例示了用于确定构成运载工具范围估计的最佳拟合的边 界框的方位的处理900的流程图。在一些实施例中,最佳拟合边界框方位被 确定为使如下最小化的边界框方位(例如,图6d的θ):(i)从第一凸包的点(例 如,图6d的凸包ia的点604)到边界框的第一边(例如,图6d的边la)的距离(例 如,最短距离)以及(ii)从第二凸包的点(例如,图6d的凸包ib的点604)到边界 框的第二边(例如,图6d的边lb)的距离(例如,最短距离)。在一些实施例中, 处理900与上文结合图7描述的框710的处理相同或类似。在一些实施例中, 如上所述,自主运载工具102(例如,完全地和/或部分地等)进行关于处理900 描述的一个或多于一个步骤。附加地或可替代地,在一些实施例中,与自主 运载工具102分离或包括自主运载工具102的其他装置或装置组(诸如执行上 述计算中的一些或全部计算的远程服务器(例如,与图1的远程av系统114和/ 或队列管理系统116相同或类似的远程服务器)等)可以(例如,完全地和/或部 分地等)进行关于处理900描述的一个或多于一个步骤。
[0107]
继续参考图9,在执行框902之前,感知系统402以上面结合图7的框702、 704、706和708描述的方式确定使得被分选到凸包中的点集在其内部保持恒 定的边界框方位区间(例如,图6f的表618中所示的边界框方位区间622和/或 图6g的表630中所示的边界框方位区间632)。例如,参考图6d,感知系统402 确定边界框方位(例如,图6d的θ)的各个区间,针对该区间,(i)凸包ia的点604 保持被分选到凸包ia中,因为点604在边界框方位的特定区间内保持与边界框 的边lb相比更靠近边界框的边la(例如,点604保持在将线la和线lb之间的角 度平分的对角线ld的相同侧上),并且(ii)凸包ib的点604在边界框方位的特定 区间内保持被分选到凸包ib中,因为点604保持与边界框的边la相比更靠近 边界框的边lb(例如,点604保持在将线la和线lb之间的角度平分的对角线ld的相同侧上)。
[0108]
继续参考图9,感知系统402针对各个边界框方位区间(例如,在图8的框 820处生成的表中表示的各个边界框方位区间)生成基于重新分选后的点集 的用于描述各个集的点与边界框的边之间的(由任意合适的度量定义的)距离 的连续函数f(θ)(框902)。
[0109]
继续参考图9,感知系统402针对各个方位区间确定与边界框相关联的局 部最小化方位,局部最小化方位是距离函数f(θ)在该区间内达到最小值处(包 括在f(θ)的极值处)的方位(框904)。如上所述,这可以通过针对各个区间设置 f’(θ)=0并以已知的方式对得到的等式求解来实现。结果是与各个集中的点 604到点604的相应的边界框的边的局部最小距离相对应的边界框方位。
[0110]
继续参考图9,感知系统402从在框904处确定的局部最小方位中选择与 最小的这样的距离相对应的方位(框906),其被认为是最拟合点604的边界框。
[0111]
现在参考图10,例示了用于确定局部最小化边界框方位的处理1000的流 程图,该局部最小化边界框方位在特定边界框方位区间内使如下局部最小化: (i)从第一凸包的点到边界框的第一边的距离(例如,从凸包ia的点604到边la的距离640)以及(ii)从第二凸包的点到边界框的第二边的距离(例如,从凸包ib的点604到边lb的距离642)。在一些实施例中,处理1000与上面结合图9描述 的框904的处理相同或类似。在一些实施例中,如上所述,自主运载工具 102(例如,完全地和/或部分地等)进行关于处理1000描述的一个或多于一个 步骤。附加地或可替代地,在一些实施例中,与自主运载工具102分离或包 括自主运载工具102的其他装置或装置组(诸如执行上述计算中的一些或全 部计算的远程服务器(例如,与图1的远程av系统114和/或队列管理系统116 相同或类似的远程服务器)等)可以(例如,完全地和/或部分地等)进行关于处 理1000描述的一个或多于一个步骤。
[0112]
继续参考图10,在执行框1002之前,感知系统402针对边界框区间生成 连续函数f(θ),其中该连续函数f(θ)基于凸包的点集,并且描述了各个集的点 和附近边界框的边之间的(由任意合适的度量定义的)距离(例如,如上面结合 图9的框902所述)。这样的连续函数的示例在上面被提供为等式(1)。
[0113]
继续参考图10,感知系统402初始化方位区间索引int(框1002)。在示例中, 感知系统402利用方位区间索引int作为表618中表示的边界框方位区间622的 索引。
[0114]
继续参考图10,感知系统402针对该方位区间计算连续函数f(θ)的关于θ 的导数(框1004),将在框1004处计算出的导数设置为零(0),并求解该等式以 确定与该区间int内f(θ)的最小值相对应的方位θ的值(框1006)。
[0115]
继续参考图10,感知系统402在诸如存储器306等的存储器中存储在框 1006处确定在该边界框方位区间内的与f(θ)的局部最小值相对应的θ值(框 1008)。在示例中,感知系统402将局部最小方位(例如,θ
lm1
)存储为诸如图6g 中所示的表630等的表中的条目636。
[0116]
继续参考图10,感知系统402判断是否仍有任意另外的方位区间待处理 以确定该区间的f(θ)的局部最小值(框1010)。在示例中,感知系统402通过将 方位区间索引int的当前值与阈值(例如,对应于具有存储在表630中的条目的 区间的总数)进行比较来在框1010处进行判断。
[0117]
继续参考图10,如果感知系统402确定为仍有另外的方位区间待处理以 确定该区间的f(θ)的局部最小值(在框1010处为“是”),则感知系统402使方位 区间索引int递增(框1012)。
[0118]
继续参考图10,感知系统402检索与在框1012处递增的int值相对应的区 间的连续函数f(θ)(框1014),并将控制传递到框1004以重复以上针对框1004、 1006、1008和/或1010描述的处理,以确定与该区间的f(θ)的局部最小值相对 应的方位值θ。
[0119]
继续参考图10,如果感知系统402确定为没有另外的方位区间仍待处理 以确定该区间的f(θ)的局部最小值(在框1010处为“否”),则处理1000结束。
[0120]
生成数据点604的传感器可能无意中检测到其他对象,或者可能生成不 准确或其他不需要的数据。因此,本公开的实施例还可以提供用于拒绝边远 数据点的方法和处理。图11例示了一个这样的示例性处理。可以考虑任意方 式的异常值拒绝。在一些实施例中,如本文所述,可以采用数据点集1100和 1102来确定凸包、凸包的切线、边界框方位区间和优化的方位。另外,在确 定凸包切线之前,可以拒绝对代价函数f(θ)没有贡献的(例如,不改变确定的 最小距离)或者仅在某个阈值以下贡献的边远数据点集1104、1106。例如,离 散或孤立的点集1104、1106可以被识别为在空间上与点集1100、1102分离, 并且可以确定点集1104、1106的代价函数。当这样的代价函数低于预定阈值 时(诸如足够小的点簇的情况),点集1104、1106可以在本文描述的边界框计 算处理中被忽略。以该方式,在确定适当的边界框时,可以忽视可能被错误 地认为与运载工具相对应的点(诸如运载工具排气管云等)。
[0121]
本公开的各种另外的示例实施例可以通过以下条款来描述:
[0122]
条款1.一种装置,包括:
[0123]
至少一个处理器;以及
[0124]
至少一个存储器,其存储有指令,所述指令在由所述至少一个处理器执 行时使所述至少一个处理器:
[0125]
生成包围与检测到的运载工具的至少一部分相对应的点簇的边界 框,所述边界框包括第一边和第二边;
[0126]
将所述点分选成位于距所述第一边一定距离内的第一点集以及位 于距所述第二边一定距离内的第二点集;
[0127]
基于所述第一点集生成第一凸包并且基于所述第二点集生成第二 凸包;
[0128]
基于所述第一凸包的一部分和所述第二凸包的一部分来确定与使 得所述第一点集和所述第二点集在其内部保持恒定的所述边界框相关联的 多个方位区间;
[0129]
基于与所述边界框相关联的多个方位区间来确定所述边界框的方 位,所述边界框的方位使从所述第一点集中的各个点到所述第一边的距离以 及从所述第二点集中的各个点到所述第二边的距离最小化;以及
[0130]
将与所述边界框的方位相关联的数据提供给自主运载工具的控制 电路,与所述方位相关联的数据被配置为使所述控制电路控制所述自主运载 工具的操作。
[0131]
条款2.根据条款1所述的装置,其中,所述指令在由所述至少一个处理 器执行时还使所述至少一个处理器:
[0132]
基于确定与所述边界框相关联的过渡方位来确定与使得所述第一点集 和所述第二点集在其内部保持恒定的所述边界框相关联的多个方位区间,所 述过渡方位与所述点中的至少一个点从更接近所述边界框的第一边的状态 向更接近所述边界框的第二边的状态的过渡相对应。
[0133]
条款3.根据条款2所述的装置,其中,所述指令在由所述至少一个处理 器执行时还使所述至少一个处理器:
[0134]
基于确定与所述第一凸包或所述第二凸包的至少一部分相切的线的方 位来确定所述过渡方位。
[0135]
条款4.根据条款2或条款3所述的装置,其中,所述指令在由所述至少一 个处理器执行时还使所述至少一个处理器:
[0136]
针对与所述边界框相关联的多个方位区间中的各个方位区间,将所述点 重新分选为重新分选后的第一点集和重新分选后的第二点集,从而生成与同 所述边界框相关联的方位区间相对应的重新分选后的点集。
[0137]
条款5.根据条款4所述的装置,其中,所述指令在由所述至少一个处理 器执行时还使所述至少一个处理器:
[0138]
针对与所述边界框相关联的多个方位区间中的各个方位区间,基于相应 的所述重新分选后的点集来生成至少一个连续函数。
[0139]
条款6.根据条款4或条款5所述的装置,其中,所述指令在由所述至少一 个处理器执行时还使所述至少一个处理器:
[0140]
针对与所述边界框相关联的多个方位区间中的各个方位区间,确定与所 述边界框相关联的局部最小化方位,所述局部最小化方位在与所述边界框相 关联的方位区间内使从所述重新分选后的第一点集中的各个点到所述第一 边的距离以及从所述重新分选后的第二点集中的各个点到所述第二边的距 离局部最小化。
[0141]
条款7.根据条款6所述的装置,其中,所述指令在由所述至少一个处理 器执行时还使所述至少一个处理器:
[0142]
基于与所述边界框相关联的多个方位区间来确定所述边界框的方位,所 述边界框的方位基于从所述边界框的局部最小化方位中选择与最小距离相 对应的方位来使从所述第一点集中的各个点到所述第一边的距离以及从所 述第二点集中的各个点到所述第二边的距离最小化。
[0143]
条款8.根据条款2至7中任一项所述的装置,其中,所述指令在由所述至 少一个处理器执行时还使所述至少一个处理器:
[0144]
在所述至少一个存储器中存储所述多个方位区间或所述过渡方位中的 至少一个;以及
[0145]
基于与所述边界框相关联的多个方位区间来确定所述边界框的方位,所 述边界框的方位基于访问所存储的方位区间或过渡方位中的至少一个来使 从所述第一点集中的各个点到所述第一边的距离以及从所述第二点集中的 各个点到所述第二边的距离最小化。
[0146]
条款9.根据条款1至8中任一项所述的装置,其中,与所检测到的运载工 具的至少一部分相对应的点簇包括光检测和测距测量结果即lidar测量结 果、无线电检测和测距测量结果即雷达测量结果、从至少一个图像确定的地 点值以及超声测量结果中的至少一个。
[0147]
条款10.根据条款1至9中任一项所述的装置,其中,与所检测到的运载 工具的至少一部分相对应的点簇包括相对于与所述自主运载工具相关联的 参考点的二维坐标,并且其中,所述边界框的所确定的方位包括相对于与所 述自主运载工具相关联的坐标系的
角度。
[0148]
条款11.一种方法,包括:
[0149]
利用至少一个处理器,接收对象的所检测到的一部分的多个地点值;
[0150]
利用所述至少一个处理器,确定最接近边界外围的第一边的第一地点值 集的第一凸包以及最接近所述边界外围的第二边的第二地点值集的第二凸 包;
[0151]
利用所述至少一个处理器,基于所述第一凸包和所述第二凸包的至少一 部分,确定所述边界外围的方位区间,在所述方位区间内,各个地点值保持 最接近所述边界外围的边中的相同边;
[0152]
利用所述至少一个处理器,从所述区间计算与所述边界外围的边缘和所 述地点值之间的最小距离相对应的边界外围的方位;以及
[0153]
利用所述至少一个处理器,将所确定的边界框的方位输出到运载工具的 控制电路。
[0154]
条款12.根据条款11所述的方法,还包括:根据所述边界外围的方位来 确定所述方位区间,所述方位区间与一个地点值从最接近所述边界外围的一 个边缘的状态向最接近所述边界外围的另一边缘的状态的过渡相对应。
[0155]
条款13.根据条款12所述的方法,其中,所述计算还包括:
[0156]
从各个方位区间内选择与相应的边界外围的边缘和最近地点值之间的 最小距离相对应的方位,以形成最小距离方位集;以及
[0157]
从所述最小距离方位集中选择与最小的最小距离相对应的方位。
[0158]
条款14.根据条款13所述的方法,其中,选择与所述最小距离相对应的 这些方位还包括根据至少一个连续函数来选择这些方位。
[0159]
条款15.根据条款12至14中任一项所述的方法,还包括将所述方位区间 存储在存储器中的至少一个存储器中。
[0160]
条款16.根据条款11至15中任一项所述的方法,还包括至少部分地根据 所述方位中的具有与所述凸包的对相切的边的方位来确定所述方位区间。
[0161]
条款17.根据条款11至16中任一项所述的方法,其中,所述地点值包括 光检测和测距测量结果即lidar测量结果、无线电检测和测距测量结果即雷 达测量结果、从至少一个图像确定的地点值以及超声测量结果中的至少一个。
[0162]
条款18.根据条款11至17中任一项所述的方法,其中,所述对象包括运 载工具、行人、车行道的一部分以及路边对象中的至少一个。
[0163]
条款19.根据条款11至18中任一项所述的方法,还包括拒绝所述地点值 中的不改变所述最小距离的地点值,并且至少部分地根据所述地点值中未被 拒绝的地点值来确定所述边界外围的方位区间。
[0164]
条款20.根据条款11至19中任一项所述的方法,其中,所述边界外围是 边界框。
[0165]
在先前描述中,已经参考许多具体细节描述了本公开的方面和实施例, 这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而 非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发 明范围的内容是以发布权利要求书的具体形式从本技术发布的权利要求书 的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此 类权利要求中的术语的任何定义应当以此类术语如在权利要求书
中所使用 的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括
”ꢀ
时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子 步骤/子实体。
再多了解一些
本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。