一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于径向速度测量来过滤点云中的返回点的制作方法

2022-05-21 02:30:58 来源:中国专利 TAG:


1.本公开通常涉及自主载具。更具体地,本公开涉及在自主驾驶环境中改进对象分类和追踪。


背景技术:

2.自主(完全和部分自动驾驶)载具(autonomous vehicle,va)通过用各种电磁(例如,雷达和光学)和非电磁(例如,音频和湿度)传感器感测外部环境来操作。一些自主载具基于感测的数据绘制通过环境的驾驶路径。驾驶路径可以基于全球定位系统(global positioning system,gps)数据和道路地图数据来确定。而gps和道路地图数据可以提供关于环境静态方面的信息(建筑物、街道布局、道路封闭等)、动态信息(诸如关于其他载具、行人、路灯等的信息)是从即时收集的感测数据中获得的。自主载具选择的驾驶路径和速度状态的精确性和安全性在很大程度上取决于对驾驶环境中存在的各种对象的及时和准确识别,以及驾驶算法快速和有效地处理环境信息并向载具控制器和传动系统提供正确指令的能力。
附图说明
3.本公开通过示例而非限制的方式进行说明,并且当结合附图考虑时,可以参考以下详细描述来更全面地理解本公开。
4.图1是示出根据本公开的一些实施方式的使用多普勒辅助(doppler-assisted)对象识别和追踪的示例自主载具的组件的图。
5.图2是根据本公开的一些实施方式的利用速度重建的多普勒辅助对象识别和追踪设置作为自主载具的感知系统的一部分的图示。
6.图3是根据本公开的一些实施方式的的速度重建设置作为自主载具的感知系统的一部分的图示。
7.图4是根据本公开的一些实施方式的自主载具的感知系统可以使用的一种可能的几何表示的示意图。
8.图5是根据本公开的一些实施方式将返回点分类为静态和动态的图示。
9.图6是根据本公开的一些实施方式的地面点分类的图示。
10.图7是根据本公开的一些实施方式的自返回点的分类的图示。
11.图8描绘了根据本公开的一些实施方式的分类返回点的示例方法的流程图。
12.图9描绘了根据本公开的一些实施方式的基于径向速度测量来过滤点云中的返回点的示例方法的流程图。
13.图10描绘了能够实现用于自主驾驶载具应用的多普勒辅助对象识别、追踪和预测的示例计算机设备的框图。


技术实现要素:

14.以下呈现了本公开的各个方面的简化概述,以便提供对这些方面的基本理解。所述发明内容不是对本公开的广泛概述。它既不旨在识别本公开的关键或重要元素,也不描绘本公开的特定实现的任何范围或权利要求的任何范围。其唯一目的是以简化的形式呈现本公开的一些概念,作为稍后呈现的更详细描述的序言。
15.在本公开的一个方面,一种基于径向速度测量来过滤点云中的返回点的方法包括:由自主载具的感测系统接收表示包括多个返回点的点云的数据,每个返回点包括径向速度值和表示反射由感测系统发射的发射信号的反射区域的位置坐标。将至少一个阈值条件应用于多个返回点中的每一个,该阈值条件与给定返回点的径向速度值相关,以识别多个返回点内的返回点的子集。返回点的子集从点云中移除,以生成过滤的点云。由过滤的点云中的剩余返回点表示的对象被识别。在一些实施方式中,根据所识别的对象自主载具的驾驶路径被确定。
16.在某些实施方式中,av的感测系统包括相干光探测和测距设备,并且其中由感测系统发射的信号包括调频连续波(frequency-modulated continuous wave,fmcw)信号。在某些实施方式中,多个返回点中的每一个的径向速度值从反射的fmcw信号中得出。
17.在某些实施方式中,应用至少一个阈值条件包括将被确定为具有当被av的速度抵消时的径向速度在阈值径向速度内的返回点分类为静态点。返回点的子集与分类的静态点相对应。在某些实施方式中,阈值径向速度从0.01米/秒到0.2米/秒。
18.在某些实施方式中,返回点子集中的返回点仅与具有位置坐标的点相对应,所述位置坐标根据道路地图数据被确定为位于av穿过的道路之外。
19.在某些实施方式中,应用至少一个阈值条件包括,对于每个返回点,将被确定为由表示av的低多边形网格包含并且相对于av具有基本为零的径向速度的返回点分类为自返回点。低多边形网格被定义为包含av的物理几何形状,返回点的子集与分类的自返回点相对应。在某些实施方式中,低多边形网格由4到1000个顶点定义。
20.在某些实施方式中,应用至少一个阈值条件包括将被确定为小于或等于相对于地面的高度阈值并且当具有当被av的速度抵消时基本为零的径向速度的返回点分类为地面点。返回点的子集与分类的地面点相对应。在某些实施方式中,高度阈值为5厘米至30厘米。
21.在本公开的另一方面,一种包括自主载具的感测系统的系统,以执行上述方法的任何实现。
22.在本公开的另一方面,非暂时性计算机可读介质具有存储在其上的指令,当指令由计算设备执行时,所述指令使得计算设备执行上述方法的任何实现。
具体实施方式
23.自主载具可以采用光探测和测距(light detection and ranging,lidar)技术来检测到环境中各种对象的距离,有时还能检测到这些对象的速度。lidar发射一个或多个到达对象的激光信号(脉冲),然后检测从对象反射的到达信号。通过确定信号发射和反向反射波到达之间的时间延迟,飞行时间(time-of-flight,tof)lidar可以确定到对象的距离。
24.tof lidar能够通过快速连续发射两个或更多信号(作为不同感测帧的一部分)来确定返回点的速度(运动的速度和方向),并在表面在每个附加帧之间移动时检测反射表面
的位置。连续信号之间的间隔可以足够短,以便在连续信号(帧)之间,对象不会相对于环境中的其他对象明显改变其位置,但仍然足够长,以允许lidar准确检测对象位置的变化。然而,tof lidar设备通常不能基于单个感测帧来确定对象的速度。
25.相干lidar利用编码到发送的信号中并由发射到目标并返回的电磁波携带的相位信息,以及提供标准tof lidar技术无法提供的附加功能。相干lidar检测由反射表面的运动引起的反射波的频率(和伴随的相位)的变化,这种现象被称为多普勒效应。反射波的频率/相位对平行于波传播方向的反射表面速度的分量vr(本文被称为“径向”或“纵向”速度)敏感。除了获得范围信息之外,相干lidar还允许将径向速度与点云的返回点相关联(径向测速术)。通过确定对象执行的(平移和旋转)运动的特征,该附加信息能够实现各种对象的速度重建和追踪。特别地,刚体(rigid body)(诸如汽车、卡车、飞机等的身体)的运动通常受条件的约束,即身体的两个任意选择的点之间的距离在其运动过程中保持固定(恒定)。因此,刚体的运动可以被描述为平移运动和旋转运动的组合,平移运动可以用平移矢量速度(以下称为“速度”)来描述,旋转运动可以用角速度(以下称为“角速度”)来描述。
26.调频连续波(fmcw)lidar可以通过线性“啁啾(chirping)”连续光信号的频率来提供范围信息和径向速度。啁啾通常被允许引起足够长的时间,以使信号到达将从其反射的信号的对象。反射的信号与本地振荡器混合,并且检测器测量频率差。处理啁啾的信号不同部分的频率差可以用来计算多普勒频移,多普勒频移与对象相对于传感器的径向速度成比例。
27.典型的lidar从多个方向发射信号,以获得外部环境的广阔视场。例如,lidar设备的发送器可以覆盖用时间戳标识的一系列连续帧中的整个360度视图。
28.本文使用的“帧”或“感测帧”可以指获得的环境的整个360度视图,或者替代地,指任何更小的扇区,例如,1度、5度、10度或获得的任何其他角度。每个帧可以包括与来自环境的各种对象的反射相对应的许多返回点(或简称为“点”)。每个点可以与到相应对象的距离相关联,或者更具体地,与到负责相应返回点的对象的反射表面(反射区域)的元件的距离相关联。给定帧内的点的集合可以被称为“点云”。点云可以包括来自多个对象的返回。通常,不知道在给定的帧内有多少对象是先验(priori)的。单个对象,诸如其他载具、路标、行人等,以及自主载具本身,可以生成多个返回点。例如,10度帧可以包括来自一个或多个路标、位于离lidar设备(安装在自主载具上)不同距离处并以不同速度向不同方向移动的多辆载具、穿过道路、沿着人行道行走或站在路边的行人以及许多其他对象的返回。将给定的点云分割(由自主载具的感知系统执行)成与不同对象相对应的簇是自主驾驶技术中的基础任务。接近的点(例如,相隔很小的角度距离,并且对应于相似距离的反射)仍然可以属于不同的对象。例如,交通标志和站在标志附近的行人可以产生接近的返回点。类似地,在相邻车道上沿着自行车驾驶的汽车可以产生接近的返回点。
29.点云包含许多点,其中大量点是由地面、建筑物和其他非移动且在驾驶路径之外不需要识别的对象返回的。因此,基于这样的点来识别和分类对象需要相当大的计算能力。然而,一些检测到的非移动点仍然需要处理,例如,如果它们与阻碍驾驶路径的对象、需要读取的路标等相对应。
30.非移动点可以分类为“地面点”和“静态点”。地面点与从道路或人行道反射的点相对应。如果移动点在距离地面的阈值垂直距离内被检测到,则它们也可以被分类为地面点。
地面的位置可以从高度(elevation)图中得出,并且可以基于lidar设备相对于地面的已知垂直位移来计算。“静态点”与相对于地面具有低速度或基本为零速度(或者替代地,相对于自主载具的已知速度具有相等且相反的速度)的非移动对象的返回点相对应。
[0031]“自返回点”是第三种类型的点,与自主载具本身的反射相对应。虽然这些点相对于地面有速度,但它们相对于自主汽车的速度为零。将点分类为自返回点的标准方法涉及计算自主载具外表面的大型三维三角形网格表示,并尝试识别接近网格或被网格包含的返回点。然而,这种方法在计算上是昂贵的,并且经常是不准确的,导致从非常接近自主载具的动态对象(例如,岩石、非常接近的其他载具等)中过滤点。
[0032]
任何未被分类为静态点、地面点或自返回点的点都可以简单地被分类为“相关点”,指示它们与可能影响av驾驶路径的对象分类相关。虽然在对象分类期间,移除静态点、地面点和自返回点有利于提高下游计算效率,但是在静态点被错误地分类为移动对象的情况下,避免假阳性(false positive)是很重要的。在自返回点的情况下尤其如此,其中未过滤的自返回点可能被错误地分类为移动对象,导致自主载具进行潜在危险的突然停车或机动,以避免感知到的潜在碰撞。此外,重要的是在移动点被错误地分类为静态点的情况下避免假阴性(false negative),当移动点由于相对于地面在相对大的阈值垂直距离内(例如,高度低于阈值的小动物)而被分类为地面点时,可能会出现这种情况。
[0033]
本公开的方面和实施方式通过利用径向速度信号作为过滤静态点、地面点和自返回点的基础,解决了现有技术的这些和其他缺点。例如,fmcw lidar可以检测与径向速度与av沿相同方向的速度相同的对象相对应的点(这可以从云的大量点中独立知道或确定),并确定这样的点与非移动对象相对应。虽然存在算法来“过滤”点云以消除非移动点,但是这些通常需要复杂的算法,例如,利用机器学习模型的算法。通过利用径向速度(用fmcw lidar很容易检测到)并使用零速度或非零径向速度作为过滤标准,可以消除计算密集型过滤算法。
[0034]
本公开的各方面进一步促进地面点的识别。当前的方法利用高于地表面的高度阈值,并将阈值以下的任何点视为地面点。这种方法不加区别地移除可能仍然与驾驶路径相关的动态和静态点,诸如小的动态对象(例如,动物)。本文描述的一些实施方式还利用径向速度来识别低于该阈值的非移动点,从而在保持动态点时消除接近地面(例如,在30厘米内)的静态点。
[0035]
本公开的各方面进一步促进自返回点的识别。当前识别自返回点的方法利用复杂的三维网格,以便精确地模拟av的外部轮廓(例如,使用小的和大的三角形面),曲线较大的载具需要更复杂的网格。这种方法需要在精度和计算复杂度之间进行权衡,更复杂的网格产生更高的精度但需要显著的处理能力,并且不太复杂的网格需要更少的处理能力但牺牲了精度。通过利用径向速度作为对自返回点进行分类的条件,可以通过识别网格内的点(其可以相对接近或稍微远离实际的av几何形状)然后将具有零径向速度的点分类为自返回,来利用不太复杂的网格。相对于传感器具有零测量的径向速度的av附近的点很可能与自返回点相对应。这允许放宽对复杂网格的要求,从而在保持效率的时保持高度精确的分类。
[0036]
图1是示出根据本公开的一些实施方式的使用多普勒辅助的对象识别和追踪的示例自主载具(av)100的组件的图。图1示出了示例自主载具的操作。自主载具可以包括机动载具(汽车、卡车、公共汽车、摩托车、全地形车辆、娱乐车辆、任何专门的农业或建筑车辆
等)、航空器(飞机、直升机、无人机等)、海军载具(船舶、船只、游艇、潜艇等)或能够以自主模式(没有人工输入或减少人工输入)操作的任何其他自动推进车辆(例如,人行道输送机器人载具)。
[0037]
驾驶环境110可以包括位于av之外的任何对象(活动或非活动),诸如道路、建筑物、树木、灌木丛、人行道、桥梁、山脉、其他载具、行人等等。驾驶环境110可以是城市、郊区、农村等。在一些实施方式中,驾驶环境110可以是越野环境(例如,农作或农业用地)。在一些实施方式中,驾驶环境可以是室内环境,例如工业工厂、运输仓库、建筑物的危险区域等的环境。在一些实施方式中,驾驶环境110可以是基本平坦的,各种对象平行于表面(例如,平行于地球表面)移动。在其他实施方式中,驾驶环境可以是三维的,并且可以包括能够沿着所有三个方向移动的对象(例如,气球、树叶等)。在下文中,术语“驾驶环境”应当理解为包括自动推进载具能够发生自主运动的所有环境。例如,“驾驶环境”可以包括航空器的任何可能的飞行环境或海军舰艇的海洋环境。驾驶环境110的对象可以位于距离av的任何距离处,从几英尺(或更近)的近距离到几英里(或更远)。
[0038]
示例av 100可以包括感测系统120。感测系统120可以包括各种电磁(例如,光学)和非电磁(例如,声学)感测子系统和/或设备。贯穿本公开引用的术语“光学”和“光”应被理解为包含可用于对象感测,例如,距离感测、速度感测、加速度感测、旋转运动感测等,以促进自主驾驶的任何电磁辐射(波)。例如,“光学”感测可以利用人眼可见的光范围(例如,380至700纳米波长范围)、uv范围(低于380纳米)、红外范围(高于700纳米)、射频范围(高于1米)等。在实施方式中,“光学”和“光”可以包括电磁频谱的任何其他合适的范围。
[0039]
感测系统120可以包括雷达单元126,其可以是利用射频或微波频率信号来感测av 100的驾驶环境110内的对象的任何系统。雷达单元可以被配置为感测对象的空间位置(包括它们的空间维度)和它们的速度(例如,使用多普勒频移技术)两者。下文中,“速度”指的是对象移动的速度(对象的速度)以及对象运动的方向两者。术语“角速度”指的是对象围绕某个轴旋转的速度以及该旋转轴的方向。例如,正在左转(右转)的汽车的旋转轴指向上(下),并且角速度的值等于旋转角度的变化率(例如,以弧度每秒测量)。
[0040]
感测系统120可以包括一个或多个lidar传感器122(例如,lidar测距仪),其可以是能够确定到驾驶环境110中的对象的距离(例如,使用tof技术)的基于激光的单元。lidar传感器可以利用比无线电波波长更短的电磁波波长,因此与雷达单元相比,可以提供更高的空间分辨率和灵敏度。(多个)lidar传感器可以包括相干lidar传感器,诸如fmcw lidar传感器。(多个)lidar传感器可以使用光外差检测(optical heterodyne detection)来确定速度。在一些实施方式中,tof和(多个)相干lidar传感器的功能被组合成能够确定到反射对象的距离和径向速度两者的单个(例如,混合)单元。这样的混合单元可以被配置为在非相干感测模式(tof模式)和/或相干感测模式(例如,使用外差检测的模式)或同时在两种模式下操作。在一些实施方式中,多个(多个)lidar传感器122单元可以安装在av上,例如,在空间上分开的不同位置,以提供关于反射对象速度的横向分量的附加信息,如下面更详细描述的。
[0041]
(多个)lidar传感器122可以包括产生和发射信号的一个或多个激光源以及从对象反射回来的信号的一个或多个检测器。(多个)lidar传感器122可以包括光谱滤波器,以滤除具有不同于发射信号的波长(频率)的波长(频率)的寄生电磁波。在一些实施方式中,
(多个)lidar传感器122可以包括定向滤波器(例如,孔径、衍射光栅等)以滤除电磁波,该电磁波可以沿着与发射信号的逆反射方向不同的方向到达检测器。(多个)lidar传感器122可以使用各种其他光学组件(透镜、反射镜、光栅、光学薄膜、干涉仪、光谱仪、本地振荡器等)来增强传感器的感测能力。
[0042]
在一些实施方式中,(多个)lidar传感器122可以是水平方向上的360度单元。在一些实施方式中,(多个)lidar传感器122能够沿着水平和垂直方向两者进行空间扫描。在一些实施方式中,视场在垂直方向上可以高达90度(使得上半球的至少一部分被lidar信号覆盖)。在一些实施方式中,视场可以是完整的球体(由两个半球组成)。为了简洁和简明,当在本公开中提及“lidar技术”、“lidar感测”、“lidar数据”和“lidar”时,在适用的情况下,这种提及应当理解为还包含其他电磁感测技术,诸如雷达技术。
[0043]
感测系统120还可以包括一个或多个相机129,以捕获驾驶环境110的图像。图像可以是驾驶环境110(或驾驶环境110的一部分)在相机的投影平面(平面或非平面,例如鱼眼)上的二维投影。感测系统120的相机129中的一些可以是被配置为捕获驾驶环境110的连续(或准连续)图像流的相机。在一些实施方式中,感测系统120还可以包括一个或多个声纳128,其可以是超声波声纳。
[0044]
由感测系统120获得的感测数据可以由av 100的数据处理系统130处理。例如,数据处理系统130可以包括感知系统132。感知系统132可以被配置为检测和追踪驾驶环境110中的对象,并识别检测到的对象。例如,感知系统132可以分析由相机129捕获的图像,并且能够检测交通灯信号、路标、道路布局(例如,交通车道的边界、十字路口的拓扑、停车位的指定等)、障碍物的存在等。感知系统132还可以接收lidar感测数据(相干多普勒数据和非相干tof数据),以确定到环境110中各种对象的距离以及这些对象的速度(径向的,并且在一些实施方式中,横向的)。在一些实施方式中,感知系统132可以结合(多个)相机129捕获的数据来使用lidar数据。在一个示例中,(多个)相机129可以检测部分阻碍交通车道的岩石的图像。使用来自(多个)相机129的数据,感知系统132能够确定岩石的角度大小,但不能确定岩石的线性大小。使用lidar数据,感知系统132可以确定从岩石到av的距离,因此,通过将距离信息与岩石的角度大小相结合,感知系统132也可以确定岩石的线性尺寸。
[0045]
在另一实施方式中,使用lidar数据,感知系统132可以确定检测到的对象离av有多远,并且可以进一步确定对象沿着av运动方向的速度分量。此外,使用由相机获得的一系列快速图像,感知系统132还可以确定检测到的对象在垂直于av运动方向的方向上的横向速度。在一些实施方式中,可以仅根据lidar数据来确定横向速度,例如,通过识别对象的边缘(使用水平扫描)并进一步确定对象的边缘在横向上移动的速度。感知系统132可以具有点云过滤模块(point cloud filtering module,pfm)133。pfm 133可以从感测系统120接收一个或多个传感器数据帧。传感器帧中的每一帧可以包括多个点。每个点可以对应于反射表面,由感测系统120(例如,由(多个)lidar传感器122的fmcw传感器)发射的信号从该反射表面反射。反射表面的类型和/或性质可能是未知的。每个点可以与各种数据(诸如帧的时间戳、反射表面的坐标、反射表面的径向速度、反射信号的强度等)相关联。在一个实施方式中,坐标可以是球(或柱)坐标。例如,坐标可以包括径向距离、极角(到相应反射表面的方向与垂直方向或水平面形成的角度)和方位角(指示水平面内方向的角度)。径向距离可以从lidar数据中确定,而角度可以从同步器数据或时钟数据中独立得知,例如,基于发送器
在水平面内的已知旋转频率。在一个实施方式中,速度数据可以由(多个)lidar传感器122基于多普勒辅助感测技术提供给pfm 133。pfm 133可以使用一种或多种算法来处理、分类和过滤各种点集,感知系统132可以使用这些点集来有效和可靠地检测和追踪对象。
[0046]
感知系统132还可以从gps收发器(未示出)接收信息,该gps收发器被配置为获得关于av相对于地球的位置的信息。gps数据处理模块134可以结合感测数据使用gps数据来帮助精确确定av相对于驾驶环境110的固定对象(诸如道路、车道边界、十字路口、人行道、人行横道、路标、周围建筑物等)的位置,其位置可以由地图信息135提供。在一些实施方式中,数据处理系统130可以接收非电磁数据,诸如声纳数据(例如,超声波传感器数据)、温度传感器数据、压力传感器数据、气象数据(例如,风速和风向、降水数据)等。
[0047]
数据处理系统130还可以包括环境监测和预测组件136,其可以监测驾驶环境110如何随时间演变,例如,通过追踪活动对象(相对于地球)的位置和速度。在一些实施方式中,环境监测和预测组件136可以追踪由于av相对于环境的运动而导致的环境外观的变化。在一些实施方式中,环境监测和预测组件136可以预测驾驶环境110的各种活动对象将在预测时间范围内位于何处。预测可以基于活动对象的当前位置和速度以及在某个(例如,预定的)时间段期间活动对象的追踪动态。例如,基于对象1的存储数据,该数据指示对象1在先前3秒时间段内的加速运动,环境监测和预测组件136可以断定对象1正从停止标志或红色交通灯信号恢复其运动。因此,给定道路的布局和其他载具的存在,环境监测和预测组件136可以预测对象1可能在接下来的3或5秒的运动内的位置。作为另一个示例,基于对象2的存储数据,该数据指示对象2在先前的2秒时间段内的减速运动,环境监测和预测组件136可以断定对象2正在停止标志或红色交通灯信号处停止。因此,环境监测和预测组件136可以预测对象2在接下来的1或3秒内的位置。环境监测和预测组件136可以对其预测的精度进行定期检查,并基于从感测系统120获得的新数据修改预测。
[0048]
由感知系统132、gps数据处理模块134和环境监测和预测组件136生成的数据可以被自主驾驶系统(诸如av控制系统(av control system,avcs)140)使用。avcs 140可以包括控制av在各种驾驶情况和环境中如何表现的一种或多种算法。例如,avcs 140可以包括用于确定到目的地点的全球驾驶路线的导航系统。avcs 140还可以包括用于选择通过中间驾驶环境的特定路径的驾驶路径选择系统,其可以包括选择交通车道、协商交通拥堵、选择掉头地点、选择停车策略的轨迹等。avcs 140还可以包括障碍躲避系统,用于安全地避开av驾驶环境中的各种障碍物(岩石、熄火的载具、乱穿马路的行人等)。障碍躲避系统可以被配置为评估障碍物的大小和障碍物的轨迹(如果障碍物是活动的)并选择最佳驾驶策略(例如,制动、转向、加速等)来避开障碍。
[0049]
avcs 140的算法和模块可以为载具的各种系统和组件(诸如动力系统和转向150、载具电子160、信号170以及图1中未明确示出的其他系统和组件)生成指令。动力系统和转向150可以包括发动机(内燃机、电动发动机等)、变速器、差速器、车轴、车轮、转向机构和其他系统。载具电子160可以包括车载计算机、发动机管理、点火、通信系统、车载计算机、远程信息处理、车内娱乐系统以及其他系统和组件。信号170可以包括远近光灯、停车灯、转向灯和倒车灯、喇叭和警报器、车内照明系统、仪表板通知系统、乘客通知系统、无线电和无线网络传输系统等。由avcs 140输出的指令中的一些可以直接传递到动力系统和转向150(或信号170),而由avcs 140输出的其他指令首先传递到载具电子160,载具电子160生成到动力
系统和转向150和/或信号170的命令。
[0050]
在一个示例中,avcs 140可以确定由数据处理系统130识别的障碍物将通过使载具减速直到达到安全速度,随后使载具绕过障碍物来避免。avcs140可以(直接或经由载具电子160)向动力系统和转向150输出指令,以1)通过修改节气门设置来减少到发动机的燃料流量,以降低发动机转速,2)经由自动变速器将动力系降档到低速档,3)接合制动单元以降低(与发动机和变速器协同作用)载具速度,直到达到安全速度,以及4)使用动力转向机构执行转向操纵,直到障碍物被安全绕过。随后,avcs 140可以向动力系统和转向150输出指令,以恢复载具的先前速度设置。
[0051]
图2是根据本公开的一些实施方式的利用速度重建的多普勒辅助的对象识别和追踪设置作为自主载具的感知系统的一部分的图示200。图2中描绘的是接近十字路口的av 202(其可以是av 100或任何其他av)。av 202具有传感器206,其可以是lidar,诸如相干lidar、fmcw lidar、混合相干/tof lidar、相干和非相干lidar的组合等,或除了范围(距离)信息之外还允许感测径向速度信息的任何其他设备。传感器206执行av 202的驾驶环境的扫描。特别地,传感器206可以感测每个感测帧的多个返回点。感测帧可以按时间增量δτ分开。时间增量是指发射到相同方向(或从相同方向返回)的信号之间的时间差,因为不同的方向可以在稍微不同的时间用信号探测。更具体地,δτ可以是传感器(例如,lidar发送器)周期的持续时间(例如,传感器发送器的旋转时段);n个点位于整个360度水平视图周围,因此可以用δτ/n的超前/滞后时间探测任意两个相邻的感测方向。
[0052]
如图2所示,对象210(例如,汽车、卡车、公共汽车、摩托车或任何其他对象)可以接近十字路口并左转。示出了与在时间τ和τ δτ上拍摄的两个连续lidar帧相对应的av的两个连续位置,例如,204(1)和204(2)。类似地,两个帧τ和τ δτ的对象210的位置分别示出为212(1)和212(2)。
[0053]
应当理解,为了说明的目的,图2中所示的av 202和对象210在两个连续帧之间的位移被夸大了,并且实际上,各种对象可以在时间增量δτ上改变它们的位置,比所描绘的少得多。例如,当对象210完成图2所示的左转时,传感器206可以获得许多帧。
[0054]
对象210执行平移运动和旋转运动的组合。例如,对象210的某个参考点被平移矢量并且对象210围绕该参考点旋转角度δφ。在平坦的驾驶环境中,经由单分量值δφ描述旋转运动就足够了,但是在非平坦的3d(特别是飞行或航海)环境中,旋转角可以是矢量其三个分量分别描述俯仰角、偏航角和滚转角。对象210的角速度表征对象210旋转(转动)的速率,动)的速率,参考点的线速度类似地确定对象210平移的速率,假设对象210是刚性的,了解某个参考点o(具有坐标)的角速度和线速度能够确定其他点的速度。
[0055]
如图2所示,在位置212(1),对象210可以反射由传感器206输出的多个信号(由实线指示),并且生成第一帧的多个返回点(用黑色圆圈示出)。返回点应该被理解为由感知系统132基于作为感测系统120的一部分的传感器206执行的测量而生成的数据条目(例如,由输出信号的角度方向索引,或者以任何其他方式)。每个返回点可以包括:(1)到实际物理反射区域的距离r,以及(2)等于与第j点相关联的速度的分量的径向速度vr(j)。径向速
度是沿着朝向(或远离)传感器206的方向(由单位矢量描述)的矢量速度的分量:在一些实施方式中,只有返回点中的一些可以包括径向速度值。例如,虽然可以对每个返回点执行tof距离测量,但是只有点中的一些(例如,每五分之一、十分之一等)可以用相干lidar探测,并且包括速度数据。径向速度vr(j)是在av 202的参考帧中测量的速度。因此,因为在一般情况下av 202也在移动,所以测量的速度vr(j)可以不同于相应的物理反射点相对于地面的速度,然后可以通过将av 202帧中测量的对象210的速度与av 202相对于地面的速度(这可以独立地知道,例如,从速度表/里程表数据、地图/gps数据等)相加(以矢量形式)来确定该速度。
[0056]
在位置212(2),对象220可以类似地反射由传感器206输出的新信号的集合(由虚线指示),并生成第二帧的多个返回点。由感知系统132实现的一个或多个映射算法可以确定将第一帧的点云映射到第二帧的点云上的几何变换。这样的映射可以使用icp算法,该算法基于变换的第一点云与第二点云的比较迭代地修正变换并最小化误差度量(例如,均方误差或一些其他预定度量)(反之亦然)。在一些实施方式中,可以使用其他映射算法,诸如kabsch算法、procrustes叠加等。尽管为了简明起见仅描绘了两个感测帧(具有各自的点云),但是可以在各种连续的感测帧之间(例如,在第二帧和第三帧之间、在第三帧和第四帧之间等)生成类似的映射,用于对象识别和追踪两者。
[0057]
当对象210从位置212(1)移动到位置212(2)时,第二帧中的返回点对应于对象210的反射表面,该反射表面可能不同于引起第一帧的信号反射的表面。例如,当旋转对象210先前被遮挡的部分进入传感器206的视场时,可以检测到附加的返回点。相反,一些先前暴露的返回点可能不存在(因为相应的物理反射表面从视图中消失)等。为了解决点云的这样的动态方面,由感知系统132执行的算法可以确定各种识别的对象的边界框,其可以是三维(3d)边界框。
[0058]
图3是根据本公开的一些实施方式的作为自主载具的感知系统的一部分的速度重建设置的图示300。描绘了对象310(例如,汽车、卡车等)以一定的平移速度移动(例如,向前移动),同时以角速度旋转(例如,左转)。还示出了其上安装有传感器306的av 302的一部分。传感器306可以包括能够发送和接收扫描外部(相对于av 302)环境的感测(例如,激光、雷达等)信号的旋转发送器/接收器308。与发送器/接收器308的单个周期相对应的一个感测帧可以从对象310的各种反射区域(用黑色圆圈描绘)产生多个返回点。
[0059]
感测信号320可以由发送器/接收器308的发射电路发射,从对象310的反射区域322反射,沿着相同的路径返回,并由发送器/接收器308的接收电路接收。感测系统120可以将返回点330与感测信号320和/或反射区域322相关联。返回点330可以包括可以从感测信号320中提取的各种数据,诸如坐标(可以是任何适当的坐标系,例如笛卡尔坐标球坐标球坐标柱坐标或任何其他坐标系);如图所示,坐标系的原点可以与发送器/接收器308相关联。返回点还可以包括诸如径向速度vr、与感测信号320相关联的时间戳τ(例如,信号发射或返回的时间)、返回信号的强度等数据,以及诸如发射和/或接收信号的极化等其他信息。尽管在图3中仅描绘了与返回点330相关联的数据,但是与用黑色圆圈描绘的反射区域相关联的其他返回点可以包括相同或相似类型
的信息。因为对象310可以旋转,所以反射区域中的每一个的速度可以彼此不同。相应地,与每个返回点相关联的检测到的径向速度vr(1),vr(2),vr(3),vr(4)

同样可以彼此不同。pfm 133可以使用检测到的径向速度的这种差异来对返回点进行分类,并过滤点云以移除静态点、地面点和自返回点。
[0060]
具体地,如果对象310是刚体,则具有半径矢量的对象的元素的速度可以从刚体方程中找到:
[0061][0062]
其中是某个参考点的半径向量。参考点可以是对象的任何元素,例如与返回点(3)或任何其他返回点相关联的元素。参考点o的选择可以是任意的,因为对于任何其他参考点o’,存在相同的刚体方程,如
[0063][0064]
其中是其他参考点o’的线速度。尽管当参考点改变时线速度改变,但是角速度与参考点的选择无关。这种独立性通过允许基于便利性选择参考点(例如,在由感测系统120检测到的点簇的中心附近)来提供附加的灵活性。
[0065]
图4是根据本公开的一些实施方式的用于自主载具的感知系统对对象运动的速度重建的一种可能的几何表示400的示意性描绘。示意性地描绘了移动和旋转的对象410(例如,汽车、飞机、摩托车车身等)具有平移速度和角速度示出了固定的坐标系x,y,z,其可以与av(未示出)相关联,例如,与相对于av具有固定方向的任何轴相关联。可以在返回点簇中选择一个参考点(以某种任意方式)。可以为任意返回点簇独立选择参考点例如,可以使用参考点(例如,聚类中间的某个点)来分析与相对于av位于正前方的卡车相对应的第一点簇,而可以使用完全不同的参考点来分析与位于av左侧的汽车相对应的第二点簇。
[0066]
第二坐标系可以与参考点相关联,例如,第一轴r平行于半径矢量的方向,轴t垂直于轴r并平行于水平面xy,并且轴s垂直于第一轴和第二轴的坐标系r,s,t。就半径向量的极角θ和方位角φ而言,第二坐标系的轴的方向(单位向量)是
[0067][0068][0069][0070]
由例如lidar传感器检测到的速度的径向分量(“径向速度”)是速度和沿着返回点的半径矢量方向的单位矢量的点积:其中r是半径矢量的大小(例如,从
传感器到返回点的距离)。根据刚体方程,径向速度为
[0071][0072]
在某些实施方式中,由fmcw传感器检测到的返回点可以包括可以直接从其得出径向速度的信息。fmcw传感器的发射信号(或fmcw信号)是调频信号,可以从中提取范围和径向速度两者。不同类型的调频信号可用于调制发射信号,包括但不限于锯齿调制、三角调制、方波调制、步进调制和正弦调制。三角调制可能特别有用,因为它很容易通过比较作为时间的函数的三角频率波形的上升和下降部分的发射信号和反射信号之间的“拍频(beat frequencies)”来计算径向速度。拍频是发射信号的实际频率和延迟反射信号的频率之差。然后,基于为三角形信号的上升半部分测量的拍频f1和为三角形信号的下降半部分测量的拍频f2来计算多普勒频移fd。也就是说,
[0073][0074]
然后,给定返回点的径向速度计算如下
[0075][0076]
其中λ是发射信号操作频率的光波长。
[0077]
图5是根据本公开的一些实施方式将返回点分类为静态和动态的图示500。av 504(其可以与av 202相同或相似)被描绘为导航通过道路502,道路502可以是从道路地图数据(例如,存储在地图信息135中)得出的几何定义区域。av 202可以基于例如其gps坐标(例如,由gps数据处理模块134确定)被确定为在道路内。通过确定静态或动态对象相对于av 504的位置,可以确定从静态或动态对象反射的返回点在道路内。
[0078]
描绘了各种对象,包括移动对象510(例如,人行道上的行人)、移动对象512(例如,载具)和静态对象514(例如,消防栓)。也可以存在未示出的其他对象,诸如道路内的静态对象(例如,停放的汽车、站在道路中的行人、道路上方的路标等)和不在道路中的动态对象(例如,移动的自行车等)。在一些实施方式中,道路可以被定义为包括刚好在av 504的可使用驾驶路径之外(例如,距离道路502的边缘3-6英尺)的点和对象,以包括例如路标和即将进入驾驶路径的行人或载具作为道路502的一部分。
[0079]
移动对象510和512被描绘为各自具有平移速度。每个返回点(描绘为黑色圆圈)具有相对于传感器206的相应径向速度vr,该径向速度与对应于返回点的对象的平移速度相关。例如,返回点vr(1)与移动对象510相对应,返回点vr(2)和vr(3)与移动对象512相对应,并且返回点vr(4)与静态对象514相对应。类似地,av 504可以具有其自己的平移速度。
[0080]
在某些实施方式中,当传感器206是fmcw传感器(例如,(多个)lidar传感器122的fmcw)时,可以用作为参考系的传感器206(其可以是静态的或动态的)直接检测径向速度。为了说明av 504的移动,每个径向速度被沿着从传感器206到给定返回点的矢量计算的av 504的速度所偏移。在移动对象510和512的情况下,当被av 504的速度偏移时,径向速度vr(1),vr(2),和vr(3)可以与非零值相对应(即,vr′
(1),vr′
(2),和vr′
(3)中的每一个可以是非零值)。当偏移被应用时,静态对象514可以具有零(或相当小的)径向速度。这是因为沿着从传感器206到静态对象514的矢量的av 504的速度可以等于并且相反于静态对象514的“原始”(即,直接测量的)径向速度vr(4)。因此,虽然所测量的vr(4)相对于传感器206可以是非零的(即,它看起来接近传感器206),但是偏移径向速度vr′
(4)可以为零。
[0081]
为简单起见,只包含四个点的点云与初始或未过滤的点云相对应。静态点可以基于它们的偏移径向速度值来过滤。例如,在某些实施方式中,根据返回点的径向速度(当被av 504的速度偏移时)是零(或在零附近的阈值范围内)还是非零(或在零附近的阈值范围外),返回点可以被分类为静态或非静态(动态)。在图示500中,对于这些返回点,偏移径向速度vr′
(1),vr′
(2),和vr′
(3)每个可以是非零的,因为它们各自的对象不是静止的。偏移径向速度vr′
(4)可以是零(或接近零并且在阈值范围内),因为它与静态对象514相对应。因此,在某些实施方式中,在任何下游对象分类之前,可以过滤初始点云以移除与静态对象514相对应的返回点,仅留下与动态对象相对应的返回点。在一些实施方式中,在道路内检测到的静态返回点可能没有从点云中过滤。例如,如果静态对象514被检测到在道路502内,它将不会被过滤,并且将被用于下游对象分类,以确保av 504的驾驶路径被调整以避免碰撞。
[0082]
图6是根据本公开的一些实施方式的地面点分类的图示600。图示600示出了道路(例如,道路502)的侧视图,示出了位于地表面602上方的传感器606(其可以与传感器204相同或相似)。为简单起见,地表面602被描绘为平坦表面,尽管也可以存在凸表面和凹表面。阈值610与地表面602上方的垂直高度(例如,5至30厘米)相对应,低于该高度的静态对象的返回点可以被分类为地面点。返回点620a和620b与已经被检测为在道路内的返回点相对应(如以上关于图5所讨论的),并且分别与具有测量的径向速度vr(a)和vr(b)的静态对象相对应。如果传感器606相对于地表面602是静止的,则偏移径向速度(如以上关于图5所讨论的)可以与测量的径向速度相同(例如,vr′
(a)=vr(a)和vr′
(b)=vr(b))。
[0083]
在某些实施方式中,如果返回点的偏移径向速度为零(或在零附近的阈值范围内)并且在阈值610内,则返回点可以被分类为地面点。因为返回点620a和620b在道路内,所以出于过滤的目的,它们不能被分类为静态点。相反返回点620a可以被分类为地面点,因为基于其偏移速度并且低于阈值610确定它是静态的。返回点620b可以不被分类为地面点。
[0084]
图7是根据本公开的一些实施方式的自返回点的分类的图示700。图示700描绘了av 702(其可以与av 202相同或相似)和传感器706(其可以与传感器206相同或相似,诸如fmcw传感器)。三维网格710相对于传感器706在空间上被定义为包含av 702的至少一部分(例如,仅与传感器706存在直接视线的部分),并且由在顶点712处彼此连接的多个矩形或三角形面来定义。为了简单起见,网格710被描绘为矩形,但是应当理解,网格710与三维矩形棱柱相对应,三维矩形棱柱包含av 702的至少一部分,并且包括至少8个顶点。在某些实施方式中,可以使用其他几何形状的网格,其可以包括至少4个、至少5个、至少6个、至少7个或至少8个顶点。在某些实施方式中,网格是开放的网格。在某些实施方式中,可以增加顶点的数量,以获得更接近地追踪av 702的外表面的几何形状的网格几何形状。网格710可以进一步被定义为在av 702的外表面和网格710的边界之间留下小的缓冲区(例如,1-6英寸的缓冲区)。
[0085]
返回点720a表示自返回点,其是从av 702本身的表面的反射。由于返回点720a相对于传感器706是静态的,其测量的径向速度(没有任何偏移)可以为零或基本为零。在某些实施方式中,返回点720a可以被分类为自返回点,因为它在网格710内被检测到。相反,返回点720b可能不被分类为自返回点,因为它在网格710之外,而不管其测量的径向速度如何。在这样的实施方式中,使用径向速度的直接测量(例如,通过fmcw传感器)作为将返回点分类为自返回点的条件,消除了利用紧密追踪av 702的外表面的高度复杂的网格的需要。与当前将网格作为识别自身点的唯一条件的方法(这可能导致对自身返回点的不正确分类)相比,这表示着精度的提高。此外,网格不需要复杂,并且可以使用明显更少的顶点(例如,小于或等于1000,小于或等于500,或者小于或等于100个顶点)。可以使用低多边形网格,并且仍然精确地分类自返回点,因为在距av 702的最外表面的短距离内具有径向速度的点很可能与自返回点相对应。如本文所用,“低多边形网格”是指由不超过1000个顶点定义的网格。
[0086]
图8描绘了根据本公开的一些实施方式的分类返回点的示例方法800的流程图。方法800以及下面描述的方法900和/或它们各自的功能、例程、子例程或操作中的每一个可以由处理设备来执行,该处理设备具有一个或多个处理单元(cpu)和与cpu通信地耦合的存储设备。执行方法800和900的处理设备可以执行来自感知系统132的各种组件(例如,pfm 133)的指令。在某些实施方式中,方法800和900可以由单个处理线程来执行。替换地,方法800和900可以由两个或多个处理线程来执行,每个线程执行该方法的一个或多个单独的功能、例程、子例程或操作。在说明性示例中,实现方法800和900的处理线程可以同步(例如,使用信号量、关键部分和/或其他线程同步机制)。替代地,实现方法800和900的处理线程可以彼此异步执行。与图8和图9所示的顺序相比,方法800和900的各种操作可以以不同的顺序执行。这些方法的一些操作可以与其他操作同时执行。有些操作是可选的。
[0087]
方法800可以涉及自主驾驶载具(诸如图1的自主载具100)的系统和组件。方法800可以用于提高数据处理系统130和/或avcs 140的性能,并且可以顺序或同时应用于点云中的每个检测到的返回点。在框810中,方法800确定给定的返回点是否在表示av的三维网格(例如,网格710)内。如果该点被确定落在网格内,则方法800前进到框860,在框860中,方法800然后确定返回点是否具有零径向速度vr(例如,由fmcw信号直接检测并根据fmcw信号计算)。如果径向速度为零,则在框870中,该点被分类为自返回点。否则,在框890中,该点被分类为相关点,并且可以在对象识别和分类过程的下游使用。
[0088]
如果在框810中,方法800确定该点不在网格内,则方法800前进到框820,在框820中,方法800确定该点是否具有零(或基本为零)偏移径向速度v
′r。如果偏移径向速度非零,则在框890中,该点被分类为相关点。否则,方法800前进到框830,在框830中,方法800确定该点是否在道路内(例如,基于道路地图数据和该点相对于av的物理位置及其gps坐标)。
[0089]
如果在框830,方法800确定该点在道路内,方法800前进到框840,在框840,方法800确定该点是否在地面阈值内。如果确定该点不在道路中,则在框880该点被分类为静态点。
[0090]
如果在框840中,方法800确定该点在地面阈值(例如,关于图6描述的阈值610)内,则在框850中,该点被分类为地面点。否则,在框890中,该点被分类为相关点。
[0091]
图9描绘了根据本公开的一些实施方式的基于径向速度测量来过滤点云中的返回
点的示例方法900的流程图。方法900可以结合方法800来执行用于分类返回点。
[0092]
在框910中,av的感测系统(例如,感测系统120)接收表示包括多个返回点的点云的数据,每个返回点具有相应的径向速度和表示反射由感测系统发射的发射信号的反射区域的相应的位置坐标。获取返回点可以包括以下部分或全部内容。av的感测系统的一个或多个传感器(例如,lidar、fmcw、混合tof/相干lidar等)可以发射一系列信号(例如,光信号)。信号可以在不同方向上以周期性(周期)方向图(pattern)发射,例如,形成360度全景方向图。这些信号可以撞击各种对象(移动的或静止的),并从对象的各种反射区域反射回传感器。反射区域的数量可以根据对象的性质、大小、对象被其他对象遮挡的程度而变化。反射信号的强度取决于反射区域的物理性质(即,材料、表面类型等)、信号的波长、极化等。基于反射信号的特性和定时,av的感测系统可以生成多个返回点。返回点是与发射信号之一从环境对象的的反射相关联的数据条目。返回点可以实时生成。每个返回点可以包括各种数据条目,诸如传感器周期的时间戳、返回信号的强度或返回信号的极化。每个返回点可以包括各自反射区域的两个或多个坐标。例如,坐标可以是到反射区域的距离(例如,根据返回信号的飞行时间确定),以及一个或多个方向角度,诸如指定水平面内方向的方位角和指定水平面上方(或下方)高度的极角。每个返回点还可以包括速度值;速度值可以表示反射区域的速度相对于从感测系统的发送器朝向反射区域的径向方向的径向分量。
[0093]
传感器可以是能够使用例如多普勒辅助感测来检测径向速度的相干光探测和测距设备(lidar)。在一些实施方式中,相干lidar可以是调频连续波lidar,并且由传感器发射的信号可以包括相位调制或调频电磁波。传感器还能够同时发射各种其他信号,诸如脉冲信号,这些信号可以用于tof距离测量。在一些实施方式中,传感器可以包括单独的tof lidar和相干lidar,每个都发射单独的信号,这些信号可以被同步、混合并沿着相同的光学路径传输。在某些实施方式中,传感器是被配置为发送和接收fmcw信号的fmcw lidar。在某些实施方式中,可以基于反射的fmcw信号从多个返回点的每一个得出径向速度值。
[0094]
返回点可以属于(例如,关联于)与感测系统的(多个)发送器的不同周期(例如,转数)的各种感测帧相对应。例如,第一感测帧可以与第一周期相对应,第二感测帧可以与不同(例如,更早或更晚)的周期相对应。术语“第一”和“第二”应仅理解为标识符,不应预先假定特定的顺序。特别地,在第一帧和第二帧之间可以有任意数量的中间帧。
[0095]
在框920中,av的感知系统(例如,实现pfm 133的一个或多个处理设备)将与给定返回点的径向速度值相关的至少一个阈值条件应用于多个返回点中的每一个。满足阈值条件的点可以被识别为共享公共分类的多个返回点内的子集。在某些实施方式中,应用阈值条件包括将被确定为具有当被av的速度抵消时的径向速度在阈值径向速度内的返回点分类为静态点。阈值径向速度可以从0.01米/秒(即,确定偏移径向速度的大小是否小于0.01米/秒)到0.2米/秒(即,确定偏移径向速度的大小是否小于0.2米/秒)。
[0096]
在某些实施方式中,返回点子集中的返回点仅与具有位置坐标的点相对应,该位置坐标根据道路地图数据被确定为位于av穿过的道路之外。例如,如果返回点具有零或基本为零的径向偏移径向速度(即,相对于地表面或静态参考系非移动)并且在指定道路之外,则返回点可以被分类为静态点。
[0097]
在某些实施方式中,应用阈值条件包括将被确定为小于或等于相对于地面的高度阈值并且具有当被av的速度抵消时基本为零的径向速度的返回点分类为地面点。例如,高
度阈值(例如,阈值610)可以从5厘米到30厘米。
[0098]
在某些实施方式中,应用阈值条件包括将被确定为由表示av的低多边形网格包含并且相对于av具有基本为零的径向速度的返回点分类为自返回点。在某些实施方式中,感知系统计算至少部分地包含av的物理几何形状的网格(例如,网格710),并且比较返回点的位置坐标以确定它们是否被网格包含。在某些实施方式中,低多边形网格由4到100个顶点定义。
[0099]
在框930中,感知系统从点云中移除返回点的任何识别到的子集(例如,分类为静态点、地面点或自返回点的返回点),以生成包含相关点的过滤的点云。在框940中,感知系统识别由过滤的点云中的剩余返回点表示的对象。在某些实施方式中,方法900可以继续,其中av控制系统(例如,avcs 14)使得av的驾驶路径根据识别到的对象来确定。例如,感知系统在以15米的半径左转时,可以识别以20mph的速度移动的对象,并将该信息传送给av控制系统。然后,av控制系统可以确定在对象能竞争转弯前av即将进入相同十字路口。av控制系统可以为av确定新的路径,包括刹车、变道、停车、倒车等。控制系统可以随后向动力系统和转向150、载具电子160、信号170等输出指令,以确保av遵循确定的驾驶路径。
[0100]
图10描绘了能够实现用于自主载具应用的多普勒辅助对象识别、追踪和预测的示例计算机设备1000的框图。示例计算机设备1000可以连接到局域网、内联网、外联网和/或互联网中的其他计算机设备。计算机设备1000可以在客户端-服务器网络环境中以服务器的身份操作。计算机设备1000可以是个人计算机(pc)、机顶盒(stb)、服务器、网络路由器、交换机或网桥,或者能够执行指定该设备要采取的动作的指令的集合(顺序的或其他的)的任何设备。此外,虽然仅示出了单个示例计算机设备,但是术语“计算机”也应当被理解为包括单独或共同执行(或多个)指令的集合以执行本文讨论的任何一种或多种方法的任何计算机集合。
[0101]
示例计算机设备1000可以包括处理设备1002(也被称为处理器或cpu)、主存储器1004(例如,只读存储器(rom)、闪存、诸如同步动态随机存取存储器(sdrmb)的动态随机存取存储器(dram)等)。静态存储器1006(例如,闪存、静态随机存取存储器等(sram)),以及可以经由总线1030相互通信的辅助存储器(例如,数据存储设备1018)。
[0102]
处理设备1002表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地,处理设备1002可以是复杂指令集计算(complex instruction set computing,cisc)微处理器、精简指令集计算(reduced instruction set computing,risc)微处理器、超长指令字(very long instruction word,vliw)微处理器、实现其他指令集的处理器或实现指令集组合的处理器。处理设备1002也可以是一个或多个专用处理设备,诸如专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)、数字信号处理器(digital signal processor,dsp)、网络处理器等。根据本公开的一个或多个方面,处理设备1002可以被配置为执行指令(执行如上所述的方法800和900)。
[0103]
示例计算机设备1000还可以包括网络接口设备1008,其可以通信地耦合到网络1020。示例计算机设备1000还可以包括视频显示器1010(例如,液晶显示器(liquid crystal display,lcd)、触摸屏或阴极射线管(cathode ray tube,crt))、字母数字输入设备1012(例如,键盘)、光标控制设备1014(例如,鼠标)和声音信号生成设备1016(例如,扬声
器)。
[0104]
数据存储设备1018可以包括计算机可读存储介质(或者更具体地,非暂时性计算机可读存储介质)1028,其上存储有(多个)可执行指令1022的集合。根据本公开的一个或多个方面,可执行指令1022可以包括用于执行如上所述的方法800和900的可执行指令。
[0105]
在示例计算机设备1000执行可执行指令1022期间,可执行指令1022也可以完全或至少部分地驻留在主存储器1004和/或处理设备1002中,主存储器1004和处理设备1002也构成计算机可读存储介质。可执行指令1022还可以经由网络接口设备1008在网络上发送或接收。
[0106]
虽然计算机可读存储介质1028在图10中被示为单个介质,但是术语“计算机可读存储介质”应该被理解为包括存储(多个)操作指令的集合的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应被理解为包括能够存储或编码由机器执行的指令的集合的任何介质,所述指令使得机器执行本文描述的任何一种或多种方法。因此,术语“计算机可读存储介质”应被理解为包括但不限于固态存储器以及光学和磁性介质。
[0107]
以上详细描述的一些部分是根据对计算机存储器内的数据比特的操作的算法和符号表示来呈现的。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。算法在这里通常被认为是导致期望结果的自洽系列步骤。这些步骤需要对物理量进行物理操作。通常,尽管不是必须的,这些量采取能够被存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。已经证明,有时将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的,这主要是出于通用的原因。
[0108]
然而,应该记住,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标签。除非特别声明,否则从下面的讨论中显而易见的是,在整个描述中,使用诸如“应用”、“移除”、“识别”、“确定”、“存储”、“调整”、“导致”、“返回”、“比较”、“创建”、“停止”、“加载”、“复制”、“替换”、“执行”等术语的讨论是指计算机系统或类似电子计算设备的动作和过程,其将计算机系统的寄存器和存储器中表示为物理(电子)量的数据操纵和转换成计算机系统的存储器或寄存器或其他这样的信息存储、传输或显示设备中类似表示为物理量的其他数据。
[0109]
本公开的示例还涉及用于执行本文描述的方法的装置。该装置可以为所需目的而专门构造,或者它可以是由存储在计算机系统中的计算机程序选择性编程的通用计算机系统。这样的计算机程序可以存储在计算机可读存储介质中,例如但不限于任何类型的盘,包括光盘、cd-rom(只读光盘驱动器)、和磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom(电可编程序只读存储器)、eeprom(电可擦只读存储器)、磁盘存储介质、光存储介质、闪存设备、其他类型的机器可访问存储介质、或适合存储电子指令的任何类型的介质,每个都耦合到计算机系统总线。
[0110]
本文呈现的方法和显示并不固有地与任何特定的计算机或其他装置相关。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构建更专用的装置来执行所需的方法步骤是方便的。各种这些系统所需的结构将在下面的描述中出现。此外,本公开的范围不限于任何特定的编程语言。应当理解,可以使用各种编程语言来实现本公开的教导。
[0111]
应当理解,以上描述旨在说明并非限制。在阅读和理解以上描述后,许多其他实施例对于本领域技术人员来说将是明显的。尽管本公开描述了具体示例,但是将认识到,本公开的系统和方法不限于本文描述的示例,而是可以在所附权利要求的范围内进行修改来实践。因此,说明书和附图被认为是说明性的,而不是限制性的。因此,本公开的范围应当参考所附权利要求以及这些权利要求所赋予的等同的全部范围来确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献