首页 / 专利库 / 工业自动化和数控机床 / 传感器数据 / 用于使用多个传感器进行物体检测的方法和系统

用于使用多个传感器进行物体检测的方法和系统

阅读:119发布:2023-03-02

专利汇可以提供用于使用多个传感器进行物体检测的方法和系统专利检索,专利查询,专利分析的服务。并且本文中描述了使用多个 传感器 进行物体检测的方法和系统。在示例 实施例 中,车辆的计算装置可从多个传感器以不同速率接收指示环境的 传感器数据 帧 。基于在第一时间段的指示环境的来自第一传感器的第一帧和来自第二传感器的与第一时间段相对应的第一帧的一部分,计算装置可估计车辆的环境中的物体的参数。计算装置可响应于从传感器接收传感器数据的帧的后续帧或后续部分来 修改 参数,即使帧无序地到达计算装置。计算装置可将物体的参数提供给车辆的系统以供物体检测和避障。,下面是用于使用多个传感器进行物体检测的方法和系统专利的具体信息内容。

1.一种用于物体检测的方法,包括:
在计算装置处以第一率接收指示车辆的环境的传感器数据的第一多个帧;
在计算装置处以第二帧率接收指示车辆的环境的传感器数据的第二多个帧;
对第一时间段的指示环境的第一多个帧的第一帧和对与第一时间段相对应的第二多个帧的第一帧的一部分使用概率控,以将在第一多个帧的第一帧内的测量值和在第二多个帧的第一帧的一部分内的测量值与环境中的各个物体进行关联;
基于与环境中的各个物体相关联的测量值,确定车辆的环境中的一个或多个物体的多个参数;
对第二时间段的指示环境的第一多个帧的后续帧和对与第二时间段相对应的第二多个帧的第一帧的至少后续部分使用概率门控,以将在第一多个帧的后续帧内的测量值和在第二多个帧的第一帧的至少后续部分内的测量值与环境中的各个物体进行关联;
基于与环境中的各个物体相关联的、在第一多个帧的后续帧内的测量值和与环境中的各个物体相关联的、在第二多个帧的第一帧的至少后续部分内的测量值,修改一个或多个物体的多个参数;并且
将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统。
2.如权利要求1所述的方法,其中,所述计算装置从第一传感器接收传感器数据的第一多个帧以及从第二传感器接收传感器数据的第二多个帧。
3.如权利要求2所述的方法,其中,第一传感器是相机系统,并且第二传感器是LIDAR。
4.如权利要求1所述的方法,还包括:
基于经修改的一个或多个物体的多个参数向车辆的一个或多个系统提供避障指令。
5.如权利要求1所述的方法,其中,第二帧率小于第一帧率。
6.如权利要求1所述的方法,其中,确定车辆的环境中的一个或多个物体的多个参数包括:
估计指示与环境中的一个或多个物体的各个物体相关联的位置、速度、大小和加速度中的一个或多个的信息。
7.如权利要求1所述的方法,其中,修改一个或多个物体的多个参数包括:
估计指示与环境中的一个或多个物体的各个物体相关联的位置、速度、大小和加速度中的一个或多个的变化的信息。
8.如权利要求1所述的方法,其中,确定车辆的环境中的一个或多个物体的多个参数包括:
估计一个或多个物体中的各个物体的一个或多个轨迹,其中,一个或多个轨迹基于近期时间段指示各个物体的位置图案。
9.如权利要求8所述的方法,其中,修改一个或多个物体的多个参数还包括:
基于一个或多个物体的多个参数中的一个或多个变化来调整各个物体的一个或多个轨迹。
10.如权利要求1所述的方法,其中,使用概率门控以将测量值与在环境中的各个物体进行关联包括:
将环境中的相应物体的预测位置附近的概念门(conceptual gate)关联起来;以及将落入概念门内的测量值与相应物体关联起来。
11.如权利要求1所述的方法,包括:
使用概率门控以排除可能与环境中的各个物体不关联的测量值。
12.如权利要求1所述的方法,其中将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统包括提供一个或多个概念门,其基本上勾勒了环境中的一个或多个物体的各个物体。
13.一种用于物体检测的系统,包括:
至少一个处理器;以及
存储器,其上存储有在由至少一个处理器运行时引起系统执行功能的指令,所述功能包括:
以第一帧率接收指示车辆的环境的传感器数据的第一多个帧;
以第二帧率接收指示车辆的环境的传感器数据的第二多个帧;
对第一时间段的指示环境的第一多个帧的第一帧和对与第一时间段相对应的第二多个帧的第一帧的一部分使用概率门控,以将在第一多个帧的第一帧内的测量值和在第二多个帧的第一帧的一部分内的测量值与环境中的各个物体进行关联;
基于与环境中的各个物体相关联的测量值,确定车辆的环境中的一个或多个物体的多个参数;
对第二时间段的指示环境的第一多个帧的后续帧和对与第二时间段相对应的第二多个帧的第一帧的至少后续部分使用概率门控,以将在第一多个帧的后续帧内的测量值和在第二多个帧的第一帧的至少后续部分内的测量值与环境中的各个物体进行关联;
基于与环境中的各个物体相关联的、在第一多个帧的后续帧内的测量值和与环境中的各个物体相关联的、在第二多个帧的第一帧的至少后续部分内的测量值,修改一个或多个物体的多个参数;并且
将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统。
14.如权利要求13所述的系统,其中,以第一帧率接收指示车辆的环境的传感器数据的第一多个帧包括以第一延迟平接收第一多个帧的各个帧;并且
其中,以第二帧率接收指示车辆的环境的传感器数据的第二多个帧包括以比第一延迟水平高出阈值的第二延迟水平接收第二多个帧的各个帧。
15.如权利要求13所述的系统,其中,基于第一时间段的指示环境的第一多个帧的第一帧和与第一时间段相对应的第二多个帧的第一帧的一部分,确定车辆的环境中的一个或多个物体的多个参数还包括:
响应于接收第一多个帧的第一帧,估计一个或多个物体中的各个物体的一个或多个轨迹,其中,一个或多个轨迹指示各个物体的近期位置图案;以及
响应于接收第二多个帧的第一帧,调整一个或多个物体中的各个物体的一个或多个轨迹。
16.如权利要求15所述的系统,其中,将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统包括:
将一个或多个物体中的各个物体的一个或多个经调整的轨迹提供给车辆的一个或多个系统。
17.如权利要求13所述的系统,其中,基于第一时间段的指示环境的第一多个帧的第一帧和与第一时间段相对应的第二多个帧的第一帧的一部分,确定车辆的环境中的一个或多个物体的多个参数包括:
响应于接收第一多个帧的第一帧,确定车辆的环境中的一个或多个物体的多个参数;
以及
响应于在接收第一多个帧的第一帧之后接收第二多个帧的第一帧,调整车辆的环境中的一个或多个物体的多个参数。
18.一种非暂态计算机可读介质,其中存储有在由计算装置运行时引起该计算装置来执行功能的指令,所述功能包括:
以第一帧率接收指示车辆的环境的传感器数据的第一多个帧;
以第二帧率接收指示车辆的环境的传感器数据的第二多个帧;
对第一时间段的指示环境的第一多个帧的第一帧和对与第一时间段相对应的第二多个帧的第一帧的一部分使用概率门控,以将在第一多个帧的第一帧内的测量值和在第二多个帧的第一帧的一部分内的测量值与环境中的各个物体进行关联;
基于与环境中的各个物体相关联的测量值,确定车辆的环境中的一个或多个物体的多个参数;
对第二时间段的指示环境的第一多个帧的后续帧和对与第二时间段相对应的第二多个帧的第一帧的至少后续部分使用概率门控,以将在第一多个帧的后续帧内的测量值和在第二多个帧的第一帧的至少后续部分内的测量值与环境中的各个物体进行关联;
基于与环境中的各个物体相关联的、在第一多个帧的后续帧内的测量值和与环境中的各个物体相关联的、在第二多个帧的第一帧的至少后续部分内的测量值,修改一个或多个物体的多个参数;并且
将一个或多个物体的经修改的多个参数提供给车辆的一个或多个系统。
19.如权利要求18所述的非暂态计算机可读介质,其中,与第二时间段相对应的第二多个帧的第一帧的至少后续部分包括:
第二多个帧的第一帧的剩余部分;以及
与第二时间段相对应的第二多个帧的后续帧的一部分。
20.如权利要求18所述的非暂态计算机可读介质,其中,确定车辆的环境中的一个或多个物体的多个参数还基于第一时间段的指示环境的第三多个帧的第一帧的至少一部分,其中,第三多个帧对应于从第三传感器接收到的数据。

说明书全文

用于使用多个传感器进行物体检测的方法和系统

[0001] 相关申请的交叉引用
[0002] 本申请要求于2014年4月25日提交的美国专利申请第14/262,269号的优先权,其全部内容通过引用结合于此。

背景技术

[0003] 除非在本文中另有指示,否则本部分中描述的材料并不是本申请中的权利要求现有技术,并且也不因包括在本部分中而被承认是现有技术。
[0004] 车辆可使用由车辆的传感器绕着环境收集的信息导航行驶路线。因此,车辆的计算装置可接收和处理由车辆传感器提供的信息以便依照交通法规导航行驶路线并避开障碍物。自主车辆(autonomous vehicle)可使用传感器操作,所述传感器诸如激光、声纳、RADAR、相机以及其它扫描和记录来自车辆的周遭的数据的装置。发明内容
[0005] 本申请公开了涉及使用多个传感器进行物体检测(obiect detection)的方法和系统的实施例
[0006] 在一个示例中,本申请描述了一种方法。该方法可包括在计算装置处以第一率接收指示车辆的环境的第一多个传感器数据的帧。该方法还包括在计算装置处以第二帧率接收指示车辆的环境的第二多个传感器数据的帧。该方法还可包括,基于在第一时间段的指示环境的第一多个帧的第一帧和与第一时间段相对应的第二多个帧的第一帧的一部分,确定车辆的环境中的一个或多个物体的多个参数。此外,该方法可包括,基于在第二时间段的指示环境的第一多个帧的后续帧和与第二时间段相对应的第二多个帧的第一帧的至少后续部分,修改一个或多个物体的多个参数并将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统。
[0007] 在另一实施例中,本申请描述了一种非暂态计算机可读介质,其上存储有在由计算装置运行后引起该计算装置执行功能的可运行指令。所述功能可包括以第一帧率接收指示车辆的环境的第一多个传感器数据的帧。所述功能还可包括以第二帧率接收指示车辆的环境的第二多个传感器数据的帧。所述功能还可包括,基于在第一时间段的指示环境的第一多个帧的第一帧和与第一时间段相对应的第二多个帧的第一帧的一部分,来确定车辆的环境中的一个或多个物体的多个参数。此外,所述功能可包括,基于在第二时间段的指示环境的第一多个帧的后续帧和与第二时间段相对应的第二多个帧的第一帧的至少后续部分,来修改一个或多个物体的多个参数,并将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统。
[0008] 在又一实施例中,本申请描述了一种系统。所述系统可包括至少一个处理器。所述系统还可包括其上存储有可运行指令的存储器,所述可运行指令在由至少一个处理器运行后引起该系统执行包括以第一帧率接收指示车辆的环境的第一多个传感器数据的帧的功能。所述功能还可包括以第二帧率接收指示车辆的环境的第二多个传感器数据的帧。所述功能还可包括基于在第一时间段的指示环境的第一多个帧的第一帧和与第一时间段相对应的第二多个帧的第一帧的一部分,来确定车辆的环境中的一个或多个物体的多个参数。此外,所述功能可包括基于在第二时间段的指示环境的第一多个帧的后续帧和与第二时间段相对应的第二多个帧的第一帧的至少后续部分,来修改一个或多个物体的多个参数,并将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统。
[0009] 在另一实施例中,提供一种系统,其包括使用多传感器进行物体检测的装置。所述系统还可包括用于以第一帧率接收指示车辆的环境的第一多个传感器数据的帧以及以第二帧率接收指示车辆的环境的第二多个传感器数据的帧的装置。所述系统还可包括如下装置:该装置用于基于在第一时间段的指示环境的第一多个帧的第一帧和与第一时间段相对应的第二多个帧的第一帧的一部分,来确定车辆的环境中的一个或多个物体的多个参数。另外,所述系统还可包括用于基于在第二时间段的指示环境的第一多个帧的后续帧和与第二时间段相对应的第二多个帧的第一帧的至少后续部分来修改一个或多个物体的多个参数的装置,以及将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统的装置。
[0010] 前述概要仅是说明性的,并且并不意在以任何方式进行限制。除了上述的说明性方面、实施例及特征之外,进一步的方面、实施例及特征将通过参考图和下面的详细描述变得明显。附图说明
[0011] 图1是依据示例实施例的示例车辆的简要框图
[0012] 图2是依据示例实施例的示例车辆。
[0013] 图3是用于使用多个传感器进行物体检测的示例方法的流程图
[0014] 图4是示出车辆的传感器在一时间段内输出的数据的概念性图示的示例图。
[0015] 图5是示出车辆的传感器在一时间段内输出的数据的概念性图示的示例图。
[0016] 图6是示出车辆的传感器在一时间段内输出的数据的概念性图示的另外的示例图。
[0017] 图7是图示示例计算机程序产品的概念性局部视图的示意图,该示例计算机程序产品包括用于在计算装置上运行计算机过程的计算机程序。

具体实施方式

[0018] 以下详细描述参考附图对所公开的系统和方法的各种特征和功能进行了描述。在图中,除非上下文另外指出,否则相似的符号标识相似的组件。本文中所描述的说明性系统和方法实施例并非意图进行限制。可容易理解,所公开的系统和方法的某些方面可以按多种不同的配置进行布置和组合,所有这些都在本文中被设想到。
[0019] 车辆,诸如自主或无人驾驶车辆,可在不需要驾驶员提供导引和控制的情况下导航行驶路线。为了确保安全行驶、遵守交通规则以及避开环境中的障碍物,车辆可利用由被配置为捕捉车辆环境的测量值的装备有一类或多类传感器的车辆传感器系统提供的数据。除传感器系统外,车辆还可包括一个或多个计算系统(即,计算装置),所述计算系统被配置为处理从车辆传感器接收到的传感器数据,并使用处理后的数据以及其它车辆系统来检测物体、导航路线以及执行安全、自主导航所需的其它必要动作。
[0020] 在操作期间,各种传感器可捕捉对车辆的环境的测量值,并以不同的速率、按不同的格式将传感器数据提供给车辆的计算装置。例如,计算装置可以按传感器数据帧的形式接收传感器测量值,其中每一帧包含传感器操作的特定时间段的一个或多个环境测量值。如此,随着车辆操作,传感器可将多个传感器数据帧(例如,一系列传感器数据帧)提供给车辆的计算系统,所述传感器数据帧可反映环境的变化。
[0021] 车辆的计算装置可使用来自一个传感器或多个传感器的引入的传感器数据帧来形成包含关于环境的信息的特征状态。例如,计算装置可确定反映环境中的物体的参数(例如,位置、速度、大小、加速度)和物体可能的轨迹的特征状态。计算装置可将轨迹与环境中的物体关联起来,以估计物体相对于车辆的可能的近期位置。结果,车辆可使用其特征状态,包括一般用于避障和导航的估计的物体轨迹。随着车辆操作,计算装置可持续处理新接收到的传感器数据帧以便确定环境中的变化,并在导航期间基于所述变化更新其特征状态以供使用。另外,传感器数据帧可帮助计算装置对环境中的物体以及杂波进行识别和可能的分类。在一些情况下,传感器数据帧可使得计算装置也能够确定其它信息。
[0022] 然而,计算装置可以按不同的速率(例如,不同的延迟平)从多个传感器接收传感器数据帧。例如,计算装置可以按高延迟水平从一个传感器接收传感器数据帧,并且可按低延迟水平或中延迟水平从另一传感器接收传感器数据帧。如此,在根据多个传感器数据帧确定关于环境的信息之前,计算装置可使用缓冲器来保持以快的速率(例如,低延迟)接收到的传感器数据帧(例如,测量值),直到接收到由其它传感器以更慢速率(例如,高延迟)提供的在同时刻的指示环境的其它传感器数据帧。这可能使计算装置延迟来等待获取与在同时刻的环境相对应的所有传感器数据帧,这可能阻止计算装置完成分析,且可能进一步引起自主导航的问题。
[0023] 为了克服可能的延迟,计算装置可使用回滚技术或其它类似策略来处理接收到的传感器数据帧,所述回滚技术或其它类似策略可使得计算装置能够在车辆操作时更快且更有效地确定关于变化环境的物体检测信息。使用回滚技术可使得计算装置能够避免等待和缓冲传感器测量值。具体地,计算装置可使用新接收到的传感器数据来确定和更新其指示关于车辆周围的环境的信息的特征状态,并且在旧的、无序的传感器测量值到达计算装置时回滚到更旧的缓存位置中的先前采集的关于环境的信息(例如,先前的特征状态)。回滚到缓存的关于环境的信息可降低缓冲延迟,且允许计算装置更快地更新与环境中的物体相关联的参数,包括物体的可能轨迹,同时保留存储和计算能
[0024] 另外,计算装置可额外使用一个或多个数据关联技术,诸如全局最近邻(GNN)函数,来处理传感器数据帧。计算装置可对每个传感器数据帧单独执行数据关联技术,并且可在使用传感器数据帧内的测量值以及与相同时间段相对应的其它传感器数据帧的部分中的测量值的每个相应的传感器数据帧时刻之后,更新其关于附近环境的信息。
[0025] 在示例实施例中,计算装置可从车辆的多个传感器接收指示环境的传感器数据帧。计算装置可使用完全从一传感器接收的第一传感器数据帧以及从其它传感器接收的在与第一传感器数据帧相同的时刻的与环境相对应的其它传感器帧的部分,来确定包括一个或多个物体的参数的关于环境的信息。如此,计算装置可在无需缓冲的情况下使用接收到的传感器数据帧和传感器数据帧的部分来开始处理和确定关于环境的信息,而当计算装置被配置为在处理之前以较慢速率等待完全接收传感器数据帧的情况下需要进行缓冲。
[0026] 此外,当从车辆传感器接收到新的传感器数据帧或先前处理过的传感器数据帧的后续部分时,计算装置可更新其关于环境的信息。例如,计算装置可使用在后续时刻从传感器接收到的指示环境的后续传感器数据帧和与后续时刻相对应的其它传感器数据帧的任何部分(包括以较慢速率接收的已被部分使用的传感器数据帧的新接收到的部分),来修改其关于环境的测量值,包括识别先前检测到的物体的参数的任何变化或者检测到新物体。计算装置可将在新时刻的经修改的指示环境的信息提供给车辆的系统以供导航期间使用。
[0027] 现在将更详细地描述本公开范围内的示例系统。通常,示例系统可实现在汽车上或可采取汽车的形式。然而,示例系统还可实现在其它车辆上或采取其它车辆的形式,诸如轿车、卡车、摩托车、公交车、船、飞机、直升机割草机、休旅车、游乐园车辆、农业设备、施工设备、有轨电车、高尔夫球车、火车和电车。此外,机器人装置可被配置为执行本文描述的方法和系统。其它车辆也是可能的。
[0028] 现在参照图,图1是依据示例实施例的示例车辆100的简化框图。耦合到车辆100或包括在车辆100中的组件可包括推进系统102、传感器系统104、控制系统106、外围设备108、电源110、计算装置111以及用户接口112。计算装置111可包括处理器113和存储器114。计算装置111可以是车辆100的控制器或控制器的一部分。存储器114可包括处理器113可运行的指令115,并且还可存储地图数据116。车辆100的组件可被配置为以与彼此互连和/或与耦合到各系统的其它组件互连的方式工作。例如,电源110可向车辆100的所有组件提供电力。计算装置111可被配置为从推进系统102、传感器系统104、控制系统106和外围设备108接收数据并对它们进行控制。计算装置111可被配置为在用户接口112上生成图像的显示并从用户接口112接收输入。
[0029] 在其它示例中,车辆100可包括更多、更少或不同的系统,并且每个系统可包括更多、更少或不同的组件。此外,示出的系统和组件可以按任意种的方式进行组合或划分。
[0030] 推进系统102可被配置为为车辆100提供动力运动。如图所示,推进系统102包括引擎/发动机118、能量源120、传动装置(transmission)122和车轮/轮胎124。
[0031] 引擎/发动机118可以是或包括内燃机电动机蒸汽机和斯特林发动机等的任意组合。其它发动机和引擎也是可能的。在一些示例中,推进系统102可包括多种类型的引擎和/或发动机。例如,气电混合轿车可包括汽油发动机和电动机。其它示例是可能的。
[0032] 能量源120可以是全部或部分向引擎/发动机118供能的能量的来源。也就是说,引擎/发动机118可被配置为将能量源120转换为机械能。能量源120的示例包括汽油、柴油、其它基于石油的燃料、丙烷、其它基于压缩气体的燃料、乙醇太阳能电池板、电池和其它电力来源。(一个或多个)能量源120可以额外地或可替换地包括燃料箱、电池、电容器和/或飞轮的任意组合。在一些示例中,能量源120也可以为车辆100的其它系统提供能量。
[0033] 传动装置122可被配置为把机械动力从引擎/发动机118传送到车轮/轮胎124。为此,传动装置122可包括变速箱、离合器差速器驱动轴和/或其它元件。在传动装置122包括驱动轴的示例中,驱动轴可包括被配置为耦合到车轮/轮胎124的一个或多个轴。
[0034] 车辆100的车轮/轮胎124可配置为各种形式,包括单轮车、自行车/摩托车、三轮车或者轿车/卡车四轮形式。其它车轮/轮胎形式也是可能的,诸如包括六个或更多个车轮的那些。车辆100的车轮/轮胎124可被配置为相对于其它车轮/轮胎124差速地旋转。在一些示例中,车轮/轮胎124可包括固定地附着到传动装置122的至少一个车轮和可与驾驶表面接触的耦合到车轮的边缘的至少一个轮胎。车轮/轮胎124可包括金属和橡胶的任意组合,或者其它材料的组合。
[0035] 推进系统102可以额外地或可替换地包括除了所示出的那些以外的组件。
[0036] 传感器系统104可包括被配置为感测关于车辆100所位于的环境的信息的若干个传感器。如图所示,传感器系统的传感器包括全球定位系统(Global Positioning System,GPS)126、惯性测量单元(inertial measurement unit,IMU)128、无线电检测和测距(RADAR)单元130、激光测距仪和/或光检测和测距(LIDAR)单元132、相机134以及被配置为修改传感器的位置和/或朝向的致动器136。传感器系统104也可包括额外的传感器,包括例如监视车辆100的内部系统的传感器(例如,O2监视器、燃油量表、机油温度,等等)。其它传感器也是可能的。
[0037] GPS模126可以是被配置为估计车辆100的地理位置的任何传感器。为此,GPS模块126可包括被配置为基于星基定位数据估计车辆100相对于地球的位置的收发器。在示例中,计算装置111可被配置为结合地图数据116地使用GPS模块126来估计车辆100可在其上行驶的道路上的车道边界的位置。GPS模块126也可采取其它形式。
[0038] IMU 128可以是被配置为基于惯性加速度来感测车辆100的位置和朝向变化的传感器的任意组合。在一些示例中,传感器的组合可包括例如加速度计陀螺仪。传感器的其它组合也是可能的。
[0039] RADAR单元130可以被看作物体检测系统,其可被配置为使用无线电波来检测物体的特性,诸如物体的距离、高度、方向或速度。RADAR单元130可被配置为传送无线电波或微波脉冲,其可从波的路线中的任何物体反弹。物体可将波的一部分能量返回至接收器(例如,碟形天线或天线),该接收器也可以是RADAR单元130的一部分。RADAR单元130还可被配置为对接收到的信号(从物体反弹)执行数字信号处理,并且可被配置为识别物体。
[0040] 其它类似于RADAR的系统已用在电磁波谱的其它部分上。一个示例是LIDAR(光检测和测距),其可被配置为使用来自激光的可见光,而非无线电波。
[0041] LIDAR单元132可包括传感器,该传感器被配置为使用光不感测或检测车辆100所位于的环境中的物体。通常,LIDAR是可通过利用光照射目标来测量到目标的距离或目标的其它属性的光学遥感技术。作为示例,LIDAR单元132可包括被配置为发射激光脉冲的激光源和/或激光扫描仪,和被配置为接收激光脉冲的反射的检测器。例如,LIDAR单元132可包括由转镜反射的激光测距仪,并且以一维或二维围绕数字化场景扫描激光,从而以指定度间隔采集距离测量值。在示例中,LIDAR单元132可包括诸如光(例如,激光)源、扫描仪和光学系统、光检测器和接收器电子器件之类的组件,以及位置和导航系统
[0042] 在示例中,LIDAR单元132可被配置为使用紫外光(UV)、可见光或红外光对物体成像,并且可用于广泛的目标,包括非金属物体。在一个示例中,窄激光波束可用于以高分辨率对物体的物理特征进行地图绘制。
[0043] 在示例中,从约10微米(红外)至约250纳米(UV)的范围中的波长可被使用。光通常经由后向散射被反射。不同类型的散射被用于不同的LIDAR应用,诸如瑞利散射、米氏散射和拉曼散射以及荧光。基于不同种类的后向散射,作为示例,LIDAR可因此被称为瑞利激光RADAR、米氏LIDAR、拉曼LIDAR以及钠//荧光LIDAR。波长的适当组合可允许例如通过寻找反射信号的强度的依赖波长的变化对物体进行远程地图绘制。
[0044] 使用扫描LIDAR系统和非扫描LIDAR系统两者可实现三维(3D)成像。“3D选通观测激光RADAR(3D gated viewing laser radar)”是非扫描激光测距系统的示例,其应用脉冲激光和快速选通相机。成像LIDAR也可使用通常使用CMOS(互补金属化物半导体)和混合CMOS/CCD(电荷耦合器件)制造技术在单个芯片上构建的高速检测器阵列和调制敏感检测器阵列来执行。在这些装置中,每个像素可通过以高速解调或选通来被局部地处理,以使得阵列可被处理成表示来自相机的图像。使用此技术,可同时获取上千个像素以创建表示LIDAR单元132检测到的物体或场景的3D点
[0045] 点云可包括3D坐标系统中的一组顶点。这些顶点例如可由X、Y、Z坐标定义,并且可表示物体的外表面。LIDAR单元132可被配置为通过测量物体的表面上的大量点来创建点云,并可将点云作为数据文件输出。作为通过LIDAR单元132的对物体的3D扫描过程的结果,点云可用于识别并可视化物体。
[0046] 在一个示例中,点云可被直接渲染以可视化物体。在另一示例中,点云可通过可被称为曲面重建的过程被转换为多边形或三角形网格模型。用于将点云转换为3D曲面的示例技术可包括德洛内三角剖分、阿尔法形状和旋转球。这些技术包括在点云的现有顶点上构建三角形的网络。其它示例技术可包括将点云转换为体积距离场,以及通过移动立方体算法重建这样定义的隐式曲面。
[0047] 相机134可以是被配置为捕捉车辆100所位于的环境的图像的任何相机(例如,静态相机、视频相机等)。为此,相机可被配置为检测可见光,或可被配置为检测来自光谱的其它部分(诸如红外光或紫外光)的光。其它类型的相机也是可能的。相机134可以是二维检测器,或可具有三维空间范围。在一些示例中,相机134例如可以是距离检测器,其被配置为生成指示从相机134到环境中的若干点的距离的二维图像。为此,相机134可使用一种或多种距离检测技术。例如,相机134可被配置为使用结构光技术,其中车辆100利用预定光图案,诸如栅格或棋盘格图案,对环境中的物体进行照射,并且使用相机134检测从物体的预定光图案的反射。基于反射的光图案中的畸变,车辆100可被配置为检测到物体上的点的距离。预定光图案可包括红外光或其它波长的光。
[0048] 致动器136例如可被配置为修改传感器的位置和/或朝向。
[0049] 传感器系统104可额外地或可替换地包括除了所示出的那些以外的组件。
[0050] 控制系统106可被配置为控制车辆100及其组件的操作。为此,控制系统106可包括转向单元138、140、制动单元142、传感器融合算法144、计算机视觉系统146、导航或路线控制(pathing)系统148以及避障系统150。
[0051] 转向单元138可以是被配置为调整车辆100的前进方向或方向的机构的任意组合。
[0052] 油门140可以是被配置为控制引擎/发动机118的操作速度和加速度并进而控制车辆100的速度和加速度的机构的任意组合。
[0053] 制动单元142可以是被配置为使车辆100减速的机构的任意组合。例如,制动单元142可使用摩擦来减慢车轮/轮胎124。作为另一示例,制动单元142可被配置为再生的(regenerative)并且将车轮/轮胎124的动能转换为电流。制动单元142也可采取其它形式。
[0054] 传感器融合算法144可以包括例如计算装置111可运行的算法(或者存储算法的计算机程序产品)。传感器融合算法144可被配置为接受来自传感器104的数据作为输入。所述数据可包括例如表示在传感器系统104的传感器处感测到的信息的数据。传感器融合算法144可包括例如卡尔曼滤波器贝叶斯网络或者另外的算法。传感器融合算法144还可被配置为基于来自传感器系统104的数据来提供各种评价,包括例如对车辆100所位于的环境中的个体物体和/或特征的评估、对具体情形的评估和/或基于特定情形的可能影响的评估。
其它评价也是可能的。
[0055] 计算机视觉系统146可以是被配置为处理和分析由相机134捕捉的图像以便识别车辆100所位于的环境中的物体和/或特征的任何系统,所述物体和/或特征包括例如车道信息、交通信号和障碍物。为此,计算机视觉系统146可使用物体识别算法、从运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪或其它计算机视觉技术。在一些示例中,计算机视觉系统146可以额外地被配置为地图绘制环境、跟随物体、估计物体的速度,等等。
[0056] 导航和路线控制系统148可以是被配置为确定车辆100的驾驶路线的任何系统。导航和路线控制系统148可以额外地被配置为在车辆100处于操作中的同时动态地更新驾驶路线。在一些示例中,导航和路线控制系统148可被配置为结合来自传感器融合算法144、GPS模块126和一个或多个预定地图的数据以便为车辆100确定驾驶路线。
[0057] 避障系统150可以是被配置为识别、评估和避免或者以其它方式越过车辆100所位于的环境中的障碍物的任何系统。
[0058] 控制系统106可以额外地或可替换地包括除了所示出的那些以外的组件。
[0059] 外围设备108可被配置为允许车辆100与外部传感器、其它车辆和/或用户交互。为此,外围设备108可包括例如无线通信系统152、触摸屏154、麦克156和/或扬声器158。
[0060] 无线通信系统152可以是被配置为直接地或经由通信网络无线耦合至一个或多个其它车辆、传感器或其它实体的任何系统。为此,无线通信系统152可包括用于直接或通过空中接口与其它车辆、传感器或其它实体通信的天线和芯片集。芯片集或整个无线通信系统152可被布置为根据一个或多个其它类型的无线通信(例如,协议)来通信,所述无线通信诸如蓝牙、IEEE 802.11(包括任何IEEE 802.11修订版)中描述的通信协议、蜂窝技术(诸如GSM、CDMA、UMTS、EV-DO、WiMAX或LTE)、紫蜂、专用短程通信(dedicated short range communications,DSRC)以及射频识别(radio frequency identification,RFID)通信,等等。无线通信系统152也可采取其它形式。
[0061] 触摸屏154可被用户用来向车辆100输入命令。为此,触摸屏154可被配置为经由电容感测、电阻感测或者表面声波过程等等来感测用户的手指的位置和移动中的至少一者。触摸屏154可能够感测在与触摸屏表面平行或与触摸屏表面在同一平面内的方向上、在与触摸屏表面垂直的方向上或者在这两个方向上的手指移动,并且还可能够感测施加到触摸屏表面的压力的水平。触摸屏154可由一个或多个半透明或透明绝缘层和一个或多个半透明或透明导电层形成。触摸屏154也可采取其它形式。
[0062] 麦克风156可被配置为从车辆100的用户接收音频(例如,声音命令或其它音频输入)。类似地,扬声器158可被配置为向车辆100的用户输出音频。
[0063] 外围设备108可以额外地或可替换地包括除了所示出的那些以外的组件。
[0064] 电源110可被配置为向车辆100的一些或全部组件提供电力。为此,电源110可包括例如可再充电锂离子或铅酸电池。在一些示例中,一个或多个电池组可被配置为提供电力。其它电源材料和配置也是可能的。在一些示例中,电源110和能量源120可一起实现,如一些全电动车中那样。
[0065] 包括在计算装置111中的处理器113可包括一个或多个通用处理器和/或一个或多个专用处理器(例如,图像处理器、数字信号处理器等)。就处理器113包括多于一个处理器而言,这种处理器可单独工作或组合工作。计算装置111可被配置为例如基于通过用户接口112接收的输入控制车辆100的功能。
[0066] 存储器114进而可包括一个或多个易失性存储组件和/或一个或多个非易失性存储组件,诸如光、磁和/或有机存储装置,并且存储器114可全部或部分与处理器113集成。存储器114可包含可由处理器113运行的指令115(例如,程序逻辑),以运行各种车辆功能,包括本文中描述的功能或方法中的任何一个。
[0067] 车辆100的组件可被配置为以与在其各自的系统内部和/或外部的其它组件互连的方式工作。为此,车辆100的组件和系统可通过系统总线、网络和/或其它连接机制(未示出)通信地链接在一起。
[0068] 另外,尽管组件和系统的每一个被示出为集成到车辆100中,但是在一些示例中,一个或多个组件或系统可使用有线或无线连接来被可移除地安装在车辆100上或以其它方式连接(机械地或电气地)至车辆100。
[0069] 车辆100可包括除了所示出的那些或代替所示出的那些的一个或多个元件。例如,车辆100可包括一个或多个额外的接口和/或电源。其它额外的组件也是可能的。在这些示例中,存储器114还包括指令,其可被处理器113运行来控制额外的组件和/或与额外的组件通信。
[0070] 图2图示了依据实施例的示例车辆200。具体地,图2示出了车辆200的右侧视图、前视图、后视图和顶视图。虽然车辆200在图2中被图示为轿车,但其它示例是可能的。例如,车辆200可表示卡车、厢式货车、半挂卡车、摩托车、高尔夫球车、越野车或者农场车辆,以及其它示例。如图所示,车辆200包括第一传感器单元202、第二传感器单元204、第三传感器单元206、无线通信系统208和相机210。
[0071] 第一、第二和第三传感器单元202-206中的每一者可包括全球定位系统传感器、惯性测量单元、RADAR单元、LIDAR单元、相机、车道检测传感器和声学传感器的任意组合。其它类型的传感器也是可能的。
[0072] 尽管第一、第二和第三传感器单元202被示为安装在车辆200上的特定位置中,但在一些示例中,传感器单元202可安装在车辆200上的别处,在车辆200内部或外部。另外,尽管只示出了三个传感器单元,但在一些示例中,车辆200中可包括更多或更少的传感器单元。
[0073] 在一些示例中,第一、第二和第三传感器单元202-206中的一个或多个可包括一个或多个可移动底座,传感器可以可移动地安装在这些底座上。可移动底座可包括例如旋转平台。安装在旋转平台上的传感器可被旋转以使得传感器可获得来自车辆200周围的每个方向的信息。可替换地或额外地,可移动底座可包括倾斜平台。安装在倾斜平台上的传感器可在特定的角度和/或方位范围内被倾斜以使得传感器可获得来自各种角度的信息。可移动底座也可采取其它形式。
[0074] 另外,在一些示例中,第一、第二和第三传感器单元202-206中的一个或多个可包括一个或多个致动器,这些致动器被配置为通过移动传感器和/或可移动底座来调整传感器单元中的传感器的位置和/或朝向。示例致动器包括达(motor)、气动致动器、液压活塞、继电器、螺线管和压电致动器。其它致动器也是可能的。
[0075] 无线通信系统208可以是被配置为直接地或者经由通信网络来无线地耦合到一个或多个其它车辆、传感器或其它实体的任何系统,如以上相对于图1中的无线通信系统152所述的那样。尽管无线通信系统208被示为位于车辆200的顶盖上,但在其它示例中,无线通信系统208可以完全或部分地位于别处。
[0076] 相机210可以是被配置为捕捉车辆200所位于的环境的图像的任何相机(例如,静态相机、视频相机,等等)。为此,相机210可采取如以上相对于图1中的相机134所述的任何形式。尽管相机210被示为安装在车辆200的前挡风玻璃内部,但在其它示例中,相机210可安装在车辆200上的别处,在车辆200内部或外部。
[0077] 车辆200可包括除了所示出的那些或代替所示出的那些的一个或多个其它组件。
[0078] 车辆200的控制系统可被配置为依据来自多个可能的控制策略中的一控制策略控制车辆200。控制系统可被配置为从耦合到车辆200(在车辆200上或车辆200外)的传感器接收信息,基于该信息修改控制策略(以及相关联的驾驶行为),并且依据经修改的控制策略控制车辆200。控制系统进一步可被配置为监视从传感器接收到的信息,并且持续评估驾驶环境;并且也可被配置为基于驾驶状况的变化修改控制策略和驾驶行为。
[0079] 图3是示例方法300的流程图,该方法用于使用多个传感器进行物体检测的方法和系统。方法300可包括一个或多个操作、功能或动作,如一个或多个方框302-310所图示的。虽然方框按相继顺序图示出,但这些方框在一些情况下可并行和/或按与本文中描述的顺序不同的顺序执行。另外,各种方框可基于期望的实现方式组合成更少的方框,分割成额外的方框,和/或被移除。
[0080] 此外,对于本文中公开的方法300以及其它过程和方法,流程图示出了当前实施例的一个可能实现方式的功能和操作。就这一点而言,每个方框可代表程序代码的模块、片段或部分,其包括用于实现过程中的特定逻辑功能或步骤的处理器可运行的一个或多个指令。程序代码可被存储在任意类型的计算机可读介质或存储器中,诸如例如包括盘或硬盘驱动器的存储装置。计算机可读介质可包括非暂态计算机可读介质,诸如例如像寄存器存储器、处理器缓存和随机访问存储器(Random Access Memory,RAM)那样短时间存储数据的计算机可读介质。计算机可读介质还可包括诸如次级或永久长期存储装置之类的非暂态介质或存储器,例如像只读存储器(read only memory,ROM)、光盘或磁盘、致密盘只读存储器(compact-disc read only memory,CD-ROM)。计算机可读介质也可以是任何其它易失性或非易失性存储系统。计算机可读介质可被看作例如计算机可读存储介质、有形存储装置或者其它制品。
[0081] 非暂态计算机可读介质也可分布在多个数据存储元件之间,这些数据存储元件的位置可彼此远离。运行所存储指令中的一些或全部的计算装置或系统可以是车辆,诸如图2中所图示的示例车辆200。可替换地,运行所存储指令中的一些或全部的计算装置或系统可以是另外的计算装置或系统,诸如服务器
[0082] 此外,对于本文中公开的方法300以及其它过程和方法,图3中的每个方框可代表被连线以执行过程中的特定逻辑功能的电路
[0083] 示例方法,诸如图3的方法300,可全部或部分由车辆及其子系统执行。因此,示例方法可在本文中以示例的方式被描述为由车辆实现。车辆例如可以是自主的、部分自主的、或者完全由用户控制的。然而,应当理解示例方法可全部或部分由车辆的其它计算装置或与车辆分离的其它计算装置实现。例如,示例方法可全部或部分由服务器系统实现,所述服务器系统从诸如与车辆相关联的那些那样的装置接收数据。在一些示例实现方式中,该方法还可由机器人装置或其它类型的计算装置运行。可实现示例方法的计算装置的其它示例(诸如机器人装置)或计算装置的组合是可能的。
[0084] 在方框302,方法300可包括在计算装置处以第一帧率接收指示车辆的环境的第一多个传感器数据的帧。示例车辆,诸如图1-2中所示的示例车辆,可包括被配置为捕捉关于车辆周围的本地环境的信息的装备有一个或多个传感器的传感器系统。具体地,每个传感器可作为测量装置操作,所述测量装置可捕捉可使得车辆的计算装置能够处理和确定(一个或多个)目标的一个或多个特性属性(例如,参数)的来源于一个或多个目标的测量值。例如,计算装置可使用传感器数据内的测量值来确定和/或估计与环境中的一个或多个物体相关联的位置、速度、加速度、大小和/或其它参数。在其它示例中,传感器数据可向计算装置提供关于环境的其它信息。
[0085] 在一个示例实施例中,车辆的传感器系统可包括不同的传感器,诸如GPS模块、IMU、RADAR单元、LIDAR单元、相机系统、致动器和/或其它类型的传感器。传感器系统可包括多个相同类型的传感器。在其它示例内,车辆的传感器系统可包括更多或更少的传感器,包括本文中未描述的其它类型的传感器。此外,车辆可包括被配置为接收和处理车辆传感器所提供的数据的一个或多个计算系统(例如,计算装置)。计算系统可在车辆中共同起作用,并且可被配置为利用接收到的数据在不同的任务上操作。如此,本文中描述的示例可包括为车辆执行所描述的功能的一个或多个计算装置。
[0086] 在一些情况下,车辆的计算装置可执行一个或多个特殊测量(例如,处理技术)以最小化并非来源于环境中感兴趣的目标的测量值的量或效果。例如,计算装置可移除可能对应于无关源的传感器数据返回(return)或个体测量值,所述无关源诸如地形特征、海浪、雨、地面杂波等。同样地,计算装置可使用适当的信号强度的动态阈值来确定是否利用接收到的传感器数据帧内的测量值。
[0087] 另外,在示例实现方式内,车辆的计算装置可以按各种格式和/或以不同的速率从车辆传感器接收传感器数据。例如,传感器可在个体传感器数据帧内提供所捕捉的本地环境的测量值。当传感器捕捉帧内的测量值时,每个个体传感器数据帧可指示在特定时间段的环境。如此,传感器数据帧可包括对环境中的物体的一个或多个测量值。例如,车辆的LIDAR模块可执行对车辆附近特定观测区域的传感器扫描,并可提供包含与观测区域中的物体有关的测量值的传感器数据的帧。其它类型的传感器也可被配置为基于环境中的物体捕捉测量值并向车辆的计算装置提供测量值。随着车辆导航,传感器可被配置为例如周期性地或以连续的方式提供指示环境的信息。
[0088] 在一个示例实施例中,传感器数据的帧也可包括指示传感器捕捉测量值的时刻的信息和/或将帧与特定类型的传感器关联的信息。例如,计算装置可接收一组传感器数据帧,其中每个帧包括指示捕捉帧的时刻的信息,将帧与特定传感器关联的信息,以及指示帧在集合内的顺序的信息。在其它示例中,传感器数据帧也可包括其它信息。
[0089] 如先前所指示的,传感器数据帧可以按特定速率(例如,帧率)从传感器到达车辆的计算装置,所述特定速率可以是各种因素的结果。不同传感器可以按不同延迟水平或其它帧率提供传感器数据帧。作为示例,计算装置可以按低延迟水平从车辆的相机系统接收传感器数据帧,并且可以按高延迟水平从LIDAR接收传感器数据帧。类似地,计算装置接收传感器数据帧的帧率可基于传感器的类型、电气连接、每个帧内数据的量和/或其它因素而变化。
[0090] 在操作期间,计算装置可接收与期间传感器捕捉帧的时间范围相对应的多个传感器数据帧。作为一个示例实施例,计算装置可接收一组传感器数据的帧,包括在车辆根据传感器进行导航时的时间段内的一系列的传感器数据帧。在该组内,初始(即,第一)帧可包括与在第一时间段的环境相对应的传感器数据。类似地,该组的第二帧可包括与在第一时间段之后的后续时间段的环境相对应的传感器数据。传感器数据的连续帧可提供关于环境的匹配或类似的信息或可包括取决于在传感器捕捉帧之间流逝的时间量的其它信息。因此,计算装置可在车辆持续操作时基于先前检测到的物体或新物体接收测量值和其它信息。
[0091] 在方框304,方法300可包括在计算装置处以第二帧率接收指示车辆的环境的第二多个传感器数据的帧。如以上所指示的,车辆的计算装置可从多个传感器接收传感器数据的帧。如此,每个传感器可以按不同帧率向计算装置提供传感器数据帧,所述不同帧率可以是各种因素的结果。例如,计算装置可以按不同延迟水平从多个传感器接收传感器数据帧。
[0092] 在操作期间,多个传感器可捕捉与环境中的相同物体相对应的测量值和其它信息,但是信息可取决于特定传感器的类型和/或位置而有所不同。例如,车辆的相机系统可向计算装置提供图像,并且LIDAR可向计算装置提供点云形式的数据点。计算装置可以按帧的格式从相机系统和LIDAR模块接收测量值,但可能由于各种因素以不同速率从传感器接收个体传感器数据帧,所述各种因素诸如操作的变化或测量值数据的密度。其它因素可影响计算装置从特定传感器接收传感器数据帧的速率。
[0093] 此外,计算装置可将传感器数据的帧与给定的一组帧关联,所述给定的一组帧与特定传感器或者可已经提供帧的传感器的类型相对应。作为一个示例实现方式,计算装置可以按第一帧率(例如,低延迟水平)从车辆的LIDAR模块接收连续传感器数据帧,按一不同的帧率(例如,高延迟水平)从车辆的相机系统接收另一系列的传感器数据帧。同样地,计算装置还可从另一个或多个其它的传感器接收额外的传感器数据帧。
[0094] 如此,传感器可提供与在相同时间段的环境相对应的传感器数据的帧,但计算装置可以按不同速率接收帧。计算装置可在完成从另一传感器接收传感器数据帧之前,从一类传感器接收多个传感器数据帧,尽管所述传感器数据帧包含在相同时刻的指示环境的测量值。
[0095] 在方框306,方法300可包括,基于在第一时间段的指示环境的第一多个帧的第一帧和与第一时间段相对应的第二多个帧的第一帧的一部分,确定车辆的环境中的一个或多个物体的多个参数。由于计算装置从多个传感器接收传感器数据帧,因此计算装置可处理它们之内的数据和测量值以确定和/或估计环境的特征。例如,计算装置可使用捕捉的测量值来估计环境中的一个或多个物体的参数。如此,示例物体参数可包括计算装置估计指示环境中的一个物体或多个物体的大小、速度、位置、加速度和/或其它信息。另外,计算装置可使用传感器数据内的测量值来估计例如环境中的物体之间的间隔和/或物体与车辆之间的距离。计算装置也可基于传感器数据的帧内的测量值来确定关于环境和/或环境内的物体的其它信息。
[0096] 另外,计算装置可使用从传感器接收到的测量值和其它信息来确定和/或估计车辆的本地环境中的一个或多个物体的可能轨迹。所估计的轨迹可表示由计算装置基于传感器数据内提供的测量值对环境中的各个物体的可能近期位置进行的预测。计算装置可将所估计的物体轨迹用于避障和/或其它导航用途。
[0097] 在操作期间,计算装置可使用连续的传感器数据帧来确定一时间段内环境中多个物体的可能轨迹。计算装置可基于物体相对于计算装置的车辆的速度、大小和位置的变化来估计物体可能的轨迹和轨迹的变化。计算装置也可使用其它因素来确定物体的可能轨迹。
[0098] 在示例实施例中,计算装置可确定包括关于车辆的环境的信息的特征状态,所述信息可包括物体检测信息(例如,物体的参数)和/或估计的物体轨迹。计算装置可更新特征状态内的信息以反映车辆进行导航时环境的变化。例如,计算装置可修改特征状态以反映物体参数和/或在增加、改变或减去所估计的物体轨迹时的任何变化。如此,计算装置可以给车辆的系统提供特征状态或特征状态内的信息的一部分以实现遵循交通规则的自主导航。此外,计算装置可在车辆操作时使用用于物体识别的特征状态或其它信息。
[0099] 如先前所指示的,车辆计算装置可以按不同的帧率从多个传感器接收传感器数据帧。例如,计算装置可以按第一速率从LIDAR接收传感器数据帧,按第二速率从相机接收传感器数据帧,并且按第三速率从RADAR接收传感器数据帧。LIDAR可以按比其它传感器更快或更慢的速率向车辆的计算装置提供传感器数据帧。在一些情况下,不同的帧率可代表计算装置可从各个传感器接收传感器数据帧的各种延迟水平。因此,计算装置可在从其它传感器接收指示相同时段的其它传感器数据帧之前在特定时刻接收指示环境的传感器数据帧。
[0100] 在一个示例实施例中,为了克服可能由从多个传感器接收传感器数据帧引起的可能的延迟和/或不必要的缓冲,计算装置可使用回滚技术来处理按不同速率接收到的传感器数据帧。具体地,计算装置可基于在一个或多个传感器数据帧内接收到的最新传感器数据来确定和/或更新特征状态内的信息。例如,计算装置可以为新的或先前检测到的环境中的物体确定或更新参数,以及确定新的可能的物体轨迹或可能的物体轨迹的变化。在车辆的初始操作的情况下,计算装置可基于接收到的第一传感器数据帧来形成特征状态。
[0101] 在操作的同时,在按比其它帧更慢的帧率(例如,高延迟水平)接收传感器数据帧时,计算装置可将特征状态回滚至较旧的缓存位置(例如,存储在存储器中的特征状态)。
[0102] 车辆的计算装置可使用回滚技术来在计算装置一接收到数据就利用所有可能的传感器数据。计算装置可在接收到新的传感器数据之后使用它,并在较旧的测量值到达计算装置时回滚。在一个示例实现方式中,计算装置可通过将指示环境中的物体的特征状态改变至一较旧位置(例如,缓存的位置)来执行回滚技术,这可导致更好的数据关联,因为更多的传感器帧变得为计算装置可用。在一些情况下,计算装置可被配置为一接收到传感器数据帧就使用传感器数据,从而导致精确的物体属性计算。
[0103] 因此,计算装置可避免缓冲,并且使用较旧的、缓冲的特征状态和/或较新的特征状态来配置供计算装置和其它车辆系统使用的关于环境的信息,这可包括确定和/或更新所估计的物体轨迹。在一些示例中,计算装置可使用回滚技术来在不使用过量计算能力和存储器的情况下降低缓冲延迟和/或快速地更新特征状态内的信息,诸如针对物体所估计的轨迹。
[0104] 在另一实施例中,计算装置可在更新其指示物体的属性的信息之前缓冲传感器数据帧内接收到的测量值。计算装置可由于缓冲以较慢速率更新物体属性。
[0105] 在额外的实施例中,计算装置可被配置为丢弃或以其它方式不使用以高延迟水平在传感器数据帧中接收到的数据。计算装置可通过丢弃延迟的传感器数据测量值来避免缓冲或使用回滚技术,但这也可能引起计算装置确定指示物体的参数的信息较计算装置利用回滚技术时不那么准确。
[0106] 在一些示例实施例中,车辆计算装置可在确定指示环境的特征状态(包括估计附近环境内的物体的参数和/或轨迹)之前使用数据相关(correlation)技术来处理接收到的传感器数据帧。计算装置除了在引入的传感器数据帧内使用回滚技术外还可对传感器数据帧执行一种或多种数据相关技术。
[0107] 在一个示例实施例中,计算装置可在从传感器接收到传感器数据帧时运行数据相关过程,该过程涉及执行门控(gating)功能和/或数据关联。计算装置可使用概率门控功能作为基础试验以排除可能与本地环境内感兴趣的物体无关的测量值。被排除的测量值可例如对应于环境中的杂波或假警报。如此,计算装置可能需要处理传感器帧以避免使用错误的测量值来形成和更新反映本地物体的参数和/或轨迹的特征状态。
[0108] 当执行门控功能(例如,概率版本(probabilistic version))时,计算装置可将在特征状态的信息内的相应物体的预测位置附近的概念门关联起来。接收到的传感器帧内满足门控关系的一些测量值可落入门内,并且可被计算装置考虑用于物体参数分析,包括轨迹估计和滤波。在操作中,计算装置可将多个概念门与环境中的不同物体关联起来,并且可使用门控过程来在整体上减少可能需要的计算。此外,计算装置可使用概念门来说明在特征状态信息内的针对物体估计的轨迹。
[0109] 此外,计算装置也可使用数据关联功能来处理传感器数据帧。作为运行数据关联的示例,计算装置可以按相同源(例如,相同传感器)将引入的传感器数据帧内的测量值划分到相关的不同组的测量值。计算装置可使用诸如全球最近邻(GNN)过程之类的各种算法或技术来对传感器数据帧执行数据关联。计算装置可使用GNN过程来每次处理一个传感器数据帧,该过程可涉及寻找符合整个传感器数据帧的测量值的最可能的假设。GNN过程可包括计算装置为给定传感器数据帧中的每个物体计算数据关联以使得总成本最小。计算装置可使用例如匈牙利法或类似的方法来使计算成本最小。匈牙利法可充当组合优化算法,该算法可解决给物体分配各自的预测轨迹的分配问题。
[0110] 同样地,计算装置可使用最近邻(Nearest Neighbor,NN)过程来将测量值与特定物体关联。例如,计算装置可将每个物体与先前估计的轨迹进行比较,并基于比较来选择特定轨迹。计算装置可使用NN过程来在不考虑全部的数据的传感器帧的情况下通过寻找部分传感器数据帧的测量值的最可能的假设,来计算各个传感器数据帧的数据关联。NN过程可包括根据相比于所有现有的物体轨迹的传感器数据帧中的测量值来计算物体的马氏距离,并且结果,选择成本最低的物体轨迹。马氏距离可作为提供对数据点距公共点的距离(残差(residual))的相对测量的描述性统计而存在。
[0111] 在一些示例实施例中,计算装置可使用GNN过程来计算传感器数据帧中的所有现有轨迹和所有物体之间的马氏距离的矩阵。利用此计算,计算装置可为传感器数据帧的测量值中的各个物体以最小化总成本的方式寻找到数据关联。计算装置可将各种方法用于给物体分配现有轨迹,所述各种方法诸如匈牙利法。计算装置可使用GNN来将接收到的传感器数据帧中的物体的测量值匹配到由计算装置先前预测的现有轨迹。计算装置可使用GNN或类似过程的结果来更新所估计的轨迹。不像NN过程,GNN过程可帮助计算装置避免错误地将来自单个传感器数据帧的多个物体关联至单个估计的物体轨迹,那将导致针对至少一个物体的不准确的估计轨道。
[0112] 另外,计算装置可关联在相同时间段的与环境相对应的传感器数据帧内的测量值,这可能需要针对个体传感器数据帧内的所有测量值执行数据关联。计算装置可使用数据关联的结果来估计车辆的环境中的物体的参数和/或确定物体轨迹。例如,计算装置可基于在相同时间段的与环境相对应的帧或帧的部分来估计物体的参数和/或轨迹。在一个示例实施例中,在执行数据关联和/或其它技术(例如,门控功能)之后,计算装置可使用回滚过程来将传感器数据的帧或帧的部分与多个传感器捕捉的时间段关联,以提取测量值从而基于环境确定其特征状态。在一些情况下,数据关联可涉及计算装置计算在由传感器数据帧提供的数据内检测到的物体和估计的轨迹之间的马氏距离。计算装置可将具有最低马氏距离的物体与由于具有最高关联可能性而导致的特定轨迹匹配。
[0113] 在一个示例实施例中,计算装置可基于从一个传感器接收到的在给定时间段的指示环境的传感器数据帧和与给定时间段相对应的来自其它传感器的一个或多个传感器数据帧的一部分,来估计物体的参数或可能轨迹。如此,计算装置可选择相对于在第一帧的同一时段的指示环境的其它帧而言,以最短帧率(例如,低延迟水平)接收到的来自传感器的第一帧。在其它示例内,计算装置可使用其它技术或过程来处理从多个传感器接收到的传感器数据帧,以估计环境中的物体的参数和/或环境中的一个或多个物体的可能轨迹。
[0114] 在另一示例中,计算装置可响应于从特定传感器接收到第一帧而估计物体的参数,并且可响应于从其它传感器或相同传感器接收到额外的传感器数据调整而进一步估计物体的参数。类似地,当计算装置在接收传感器数据帧时接收到新的测量值时,计算装置可估计物体的轨迹并且精化所述轨迹。
[0115] 在方框308,方法300还可包括,基于在第二时间段的指示环境的第一多个帧的后续帧和与第二时间段相对应的第二多个帧的第一帧的至少后续部分,修改一个或多个物体的多个参数。在车辆操作时,计算装置可接收额外的传感器数据帧。计算装置可使用新的测量值来确定环境内的变化,包括先前检测到的物体的任何变化或检测到新物体。以这种方式,计算装置可帮助车辆在导航期间基于环境的变化进行操作。
[0116] 作为操作的示例说明,计算装置可在相同时刻从两个传感器开始接收两个传感器数据的帧,但是可以按慢得多的速率接收其中一个。因此,相比于对其它传感器数据帧的接收,计算装置可在较晚的时刻完成以较慢速率接收的传感器数据帧的接收。与以上针对传感器数据的初始帧所述的回滚技术类似,计算装置可继续使用本文中描述的回滚技术来将传感器数据帧和在相同时间段的指示环境的传感器数据帧的部分进行关联。那样,计算装置可将指示环境的传感器数据进行对齐,尽管是以不同帧率(例如,不同延迟)接收到包含传感器数据的帧的。
[0117] 作为基于后续传感器数据帧确定变化的结果,计算装置可修改先前确定的环境中的物体的参数或先前确定的轨迹。使用传感器数据帧内的新的测量值,计算装置可被配置为更新其指示环境的特征状态,包括基于从传感器接收到的后续帧中提供的额外的传感器数据,确定环境中的物体的参数的变化或新物体的参数。例如,计算装置可针对本地环境中的新检测到的物体估计新参数或者更新先前针对一个或多个物体确定的参数。另外,计算装置也可基于后续接收到的传感器数据帧内提供的测量值来针对环境中的一个或多个物体估计新的可能的轨迹以及改变或移除先前估计的轨迹。
[0118] 如此,计算装置可持续更新关于本地环境的物体检测信息,包括当车辆在环境中改变位置、速度和/或朝向时检测新物体并估计新轨迹。在其它示例内,计算装置可基于由车辆传感器提供的新接收到的传感器数据帧来确定其它更新或修改。
[0119] 在一个示例实施例中,计算装置可基于在后续时段的指示环境的后续传感器数据帧和与后续时间段相对应的以较慢帧率(例如,高延迟水平)接收的传感器数据帧的至少后续部分,来修改其特征状态信息。如此,计算装置可回滚相对于以更快速率接收到的其它传感器数据帧来说以更慢速率接收到的传感器帧中接收到的测量值。当在传感器数据帧中接收到测量值时,计算装置可更新物体的参数和/或估计的轨迹。在一些情况下,计算装置可使用在传感器数据帧中最近接收到的旧的测量值来更新指示环境的信息(例如,特征状态),尽管基于传感器捕捉的时刻,到达计算装置的测量值是无序的。计算装置在计算装置接收帧时融合传感器数据帧的新测量值和旧测量值,以确定指示物体和环境的其它元素的信息。
[0120] 另外,计算装置可关于后续传感器数据帧和传感器数据帧的部分使用先前论述的门控功能(例如,概率门控)和数据关联过程。例如,计算装置可对新接收到的传感器数据帧执行数据分析,并使用对那个传感器数据帧的数据分析以及跟在相同时间段的与环境相对应的传感器数据帧的任意部分相关联的数据分析的结果,来修改其特征状态内的信息,这可包括更新或调整物体参数和/或物体轨迹。计算装置也可在特定时刻使用与环境相对应的接收到的传感器数据帧的额外部分来更新其特征状态。
[0121] 在方框310,方法300还可包括将经修改的一个或多个物体的多个参数提供给车辆的一个或多个系统。车辆的计算装置可将包括环境中的物体的参数的信息提供给车辆的系统以用于避障和物体识别。例如,计算装置可将关于物体的信息提供给控制系统,该控制系统可基于参数来利用不同的单元运行功能。如此,控制系统可基于车辆的计算装置所提供的信息来改变转向、油门、制动、导航系统、避障系统和/或其它系统。
[0122] 另外,计算装置可被配置为以连续方式提供与检测到的物体相关联的参数,这可使得车辆能够实时地安全导航。在这样的示例中,计算装置可提供指示位于车辆附近的物体的参数变化的信息。计算装置可基于物体的参数来向车辆的各种系统提供指令。
[0123] 作为一个示例实现方式,计算装置可在使用传感器测量值确定关于环境的信息之前,最初基于不同因素来关联来自多个传感器的传感器数据帧。例如,计算装置可将传感器数据帧与从相同的特定传感器接收到的其它传感器数据帧进行关联。同样地,计算装置可将传感器数据帧与在相同时间段的指示环境的其它传感器数据帧进行关联,这可涉及计算装置基于传感器捕捉的时段来关联来自多个传感器的传感器数据帧。在其它示例中,计算装置可基于其它因素来关联传感器数据帧。
[0124] 在又一示例实施例中,测量值一到达计算装置处的传感器数据帧,计算装置就融合所有传感器测量值,以确定其特征状态,并且针对环境中的物体确定轨迹。例如,当计算装置从传感器接收到各种传感器数据帧时,计算装置可持续估计环境中的各种物体的参数。在接收到每个传感器数据帧时,计算装置可使用来自各个传感器数据帧的测量值来估计环境的参数和/或估计可能的物体轨迹,尽管根据传感器捕捉的时刻,传感器数据帧的一些测量值是无序地接收到的。计算装置可以将物体的各种参数(例如,属性)提供给其它车辆、车辆的系统或其它实体以供使用。例如,车辆系统可以将所述参数用于避障。
[0125] 图4是示出车辆的传感器在一时间段内输出的数据的概念性说明的示例图。示例图示出了多个传感器数据帧402-408,其每个包括由计算装置从多个传感器接收到的各个传感器测量值410。示例计算装置可在示例时间轴412所图示的不同时刻接收到传感器数据帧,示例时间轴412示出了传感器数据帧402-408的可能持续时间。
[0126] 如此,计算装置可首先在时刻(t1)从车辆的传感器接收传感器数据帧402。通常,计算装置可以按第一帧率(例如,低延迟水平)从传感器接收传感器数据帧402以及传感器数据帧404-406。因为计算装置被示出为从传感器接收到多个传感器数据的帧402-406,在该持续时间内,其正在以第二帧率(例如,高延迟水平)从另一个传感器接收传感器数据帧408。在其它示例中,计算装置还可以按其它延迟或不同帧频接收传感器数据帧,并且也从车辆的额外的传感器接收其它传感器数据帧。
[0127] 在计算装置从一个特定传感器接收来自传感器帧的组402-406的第一传感器帧402的同时,计算装置也可开始从其它传感器接收传感器数据的帧,诸如传感器数据帧408,如图4中所示。具体地,示例图示出了在计算装置正在接收传感器帧402的同时,其在时刻(t2)也开始接收传感器帧408。如此,计算装置在完成接收传感器帧402的同时且在于时刻(t4)直到时刻(t5)接收后续传感器帧404的期间以及在于时刻(t6)最初开始接收传感器帧
406的期间,持续接收传感器帧408。示例图还示出了计算装置在时刻(t7)完成接收传感器数据帧408,并且在时刻(t8)完成对从第一传感器接收到的帧的组的接收第三传感器数据帧406。
[0128] 在操作期间,计算装置可在初始接收到帧的初始部分时或在接收到整个帧后开始处理传感器数据的帧。例如,计算装置可在从传感器最初接收帧的时刻使用先前论述的数据分析过程来分析传感器数据帧402-408。如此,计算装置可对于从时刻(t1)到时刻(t3)的传感器数据帧402执行数据分析,并且可以在计算装置以时间轴412示出的较慢帧率接收传感器数据帧408时,对于开始于时刻(t2)的第二组的传感器数据帧408执行数据分析。计算装置可对于整个个体传感器数据帧执行数据分析。
[0129] 在针对帧或帧的一部分完成数据分析之后,计算装置可将数据分析结果添加到与环境中的物体相关联的任何待处理的测量值。在一些情况下,可使用缓冲器。结果,在时刻(t3),计算装置可确定指示环境的特征状态,这可包括使用从第一传感器数据帧402和传感器数据帧408的重叠直到时刻(t3)的一部分(诸如传感器数据帧408的从时刻(t2)到时刻(t3)的第一部分)提供的数据来估计环境中的物体的参数。在一些情况下,计算装置还可基于被处理的传感器数据帧内捕捉的测量值来对于环境中的一个或多个物体估计可能的轨迹。
[0130] 以类似方式,计算装置可基于传感器数据帧的后续帧或部分来更新特征状态内的信息,包括物体参数和/或物体轨迹。在一些情况下,计算装置可基于新接收到的传感器数据添加指示新物体的信息。例如,计算装置可使用以低延迟帧率接收的传感器数据帧404的后续部分中的测量值和与后续传感器数据帧404的至少持续时间相对应的传感器数据408的后续部分。如此,计算装置可使用从时刻(t3)到时刻(t5)的传感器数据帧408中的传感器测量值以及从时刻(t4)到时刻(t5)的传感器数据帧404中的传感器测量值来在时刻(t5)更新特征状态,包括物体检测信息(例如,参数和轨迹)。
[0131] 类似地,计算装置可重复此过程以使用在传感器数据帧406内提供的测量值和来自与传感器数据帧406的持续时间相对应的传感器数据帧408的一部分的测量值,来更新与环境中的物体相关联的参数和估计轨迹。例如,计算装置可取决于传感器数据帧406有多少被计算装置处理和使用而使用从时刻(t6)到时刻(t7)或时刻(t8)的传感器数据帧406以及从时刻(t5)到时刻(t7)的传感器数据帧408的剩余部分中提供的信息,来在时刻(t7)或时刻(t8)更新参数。计算装置可针对所有传感器或一组传感器的所有接收到的帧重复该过程,该过程可包括周期性地使用测量值缓冲器。例如,在车辆或机器人装置导航行驶路线时,计算装置可持续接收和处理传感器数据的新的帧。
[0132] 在一些情况下,计算装置可对于每个传感器的第一完全帧执行数据分析,该帧可被存储在缓冲器内。计算装置可随后将数据分析结果添加到待处理的测量值缓冲器或存储器内。此外,计算装置可将与环境中的物体有关的参数和其它信息更新到帧结束时刻的末尾。计算装置可重复直至所有帧都被使用数据关联进行处理并且估计轨迹可被更新。计算装置可基于传感器所获取的传感器数据的帧内提供的新接收到的且被处理的测量值来添加或减去轨迹。
[0133] 图5是示出车辆的传感器在一时间段内输出的数据的概念性说明的另一示例图。在一些示例中,当不同传感器需要为车辆或机器人装置的环境中的一个或多个物体创建新轨迹时,计算装置可遇到一些问题。在这种情况下,计算装置可使用逻辑来合并传感器之间的轨迹,但可在合并轨迹时避免使用来自单个传感器数据帧的数据。图5示出了计算装置可在利用以低延迟水平从特定传感器接收的第一组传感器数据帧502-506的第一传感器数据帧502和以高延迟水平从一不同的传感器接收的第二组的第一传感器数据帧508执行GNN过程之后所创建的结果。
[0134] 在图5中示出的示例图中,帧502内的数字表示示例关联轨迹,并且字母表示车辆的环境中的物体的可能的新轨迹号码。如此,计算装置可确定传感器数据帧502包括如所示出的先前识别的轨迹标识号{1,2,3,4和5}和可能的新轨迹{A}。示例图还示出了计算装置还未处理的传感器数据帧504-508。对于第二传感器所提供的信息,传感器数据帧508包括轨迹标识号{1,2,3和5}和新的可能轨迹{B,C}。
[0135] 在更新物体检测信息的同时,计算装置可基于轨迹{A,B和C}估计新轨迹。然而,计算装置可检查以确定估计的轨迹{A}是否可能与估计的轨迹{B}或估计的轨迹{C}合并,如连接510-512所示。因此,计算装置可分析计算装置是否能合并估计的轨迹,但可被配置成不合并来自相同的单个传感器数据帧的估计轨迹,诸如估计轨迹{B}和估计轨迹{C},如错误连接514所示。还可存在组合接收到的传感器数据帧内的测量值的其它示例。
[0136] 图6是示出车辆传感器在一时间段内输出的数据的概念性说明的另一示例图。类似于图4和图5,图6中示出的示例图图示了以低延迟速率从一传感器接收第一组传感器数据帧602-606并以高延迟速率从一不同的传感器接收第二组传感器数据帧(例如,传感器数据帧608)的计算装置(未示出)。在其它示例中,计算装置还可从其它传感器接收额外的传感器数据帧。
[0137] 在示例图内,计算装置可使用本文中描述的回滚技术来处理以不同速率接收到的传感器数据帧内的测量值。如此,计算装置可在使用回滚技术之前对全部传感器数据帧602和传感器数据帧608执行数据关联。计算装置可使用回滚技术来将来自第一组的第一传感器数据帧602中的测量值在它们被接收到时直接添加到待处理的测量值缓冲器和来自传感器数据帧608的测量值。
[0138] 结果,计算装置可基于接收到的测量值更新其特征状态,包括任何估计的物体轨迹。这可使得计算装置能够可能将包括基于传感器数据帧608中的测量值的估计轨迹的信息与从传感器数据帧602估计的一些先前确定的轨迹进行关联,如连接610-612所示。计算装置可基于在以高延迟从传感器接收的传感器数据帧中计算装置可以按较慢速率接收的测量值使用回滚技术来更新其指示车辆的环境的特征状态。如此,计算装置可在处理来自第一传感器的后面的传感器数据帧604-606之前,估计特征状态内的轨迹。
[0139] 图7是图示根据本文给出的至少一些实施例布置的包括用于在计算装置上运行计算机过程的计算机程序的示例计算机程序产品的概念性局部视图的示意图。
[0140] 在一个实施例中,利用信号承载介质702来提供示例计算机程序产品700。信号承载介质702可包括一个或多个编程指令704,这些编程指令704在被一个或多个处理器运行时可提供以上相对于图1-6描述的功能或功能的部分。在一些示例中,信号承载介质702可包含计算机可读介质706,诸如但不限于硬盘驱动器、致密盘(Compact Disc,CD)、数字视频盘(Digital Video Disk,DVD)、数字磁带、存储器,等等。另外,在一些实现方式中,信号承载介质702可包含计算机可记录介质708,诸如但不限于存储器、读/写(R/W)CD、R/W DVD,等等。在一些实现方式中,信号承载介质702可包含通信介质710,诸如但不限于数字和/或模拟通信介质(例如,光缆、波导、有线通信链路、无线通信链路,等等)。从而,例如,信号承载介质702可由无线形式的通信介质710来传达。
[0141] 一个或多个编程指令704可以例如是计算机可运行的和/或逻辑实现的指令。在一些示例中,诸如图1的处理器那样的计算装置可被配置为响应于由计算机可读介质706、计算机可记录介质708和/或通信介质710中的一个或多个传达到该处理器的编程指令704而提供各种操作、功能或动作。
[0142] 非暂态计算机可读介质也可分布在多个数据存储元件之间,这些数据存储元件的位置可彼此远离。运行所存储指令中的一些或全部的计算装置可以是装置。可替换地,运行所存储指令中的一些或全部的计算装置可以是另外的计算装置,诸如服务器。
[0143] 应当理解,本文中描述的布置仅用于示例的目的。因而,本领域技术人员将会理解,可以代替地使用其它布置和其它元件(例如机器、接口、功能、顺序和功能的分组等),且根据期望的结果可以将一些元件一同省略。另外,描述的许多元件是功能实体,其可以按任何适当的组合和位置实现为分立或分布式的组件或与其它组件结合。
[0144] 尽管本文已公开了各种方面和实施例,但其它方面和实施例对于本领域技术人员而言将是明显的。本文公开的各种方面和实施例是为了说明的目的,而不意在进行限制,真实的范围应当由所附权利要求以及这样的权利要求所被授权的等效物的全部范围指示。还要理解,本文中使用的术语仅是为了描述特定实施例的目的,而不意在进行限制。
[0145] 因为可以对所描述的示例作出细节上的很多修改、变化和改变,但是意图在于前面的描述和附图中所示的所有事项被解释为说明性的,而不是限制的意思。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈