用于自主车辆应用的多普勒辅助的对象映射的制作方法

文档序号:30177766发布日期:2022-05-26 12:22阅读:64来源:国知局
用于自主车辆应用的多普勒辅助的对象映射的制作方法

1.本说明书总体上涉及自主车辆。更具体地,本说明书涉及使用速度感测数据来辅助对自主驾驶环境中遇到的对象的检测、识别和跟踪,来改进自主驾驶系统和组件。


背景技术:

2.自主(完全和部分自驾驶)车辆通过使用各种电磁(例如,雷达和光学)和非电磁(例如,音频和湿度)传感器感测外部环境来操作。一些自主车辆基于感测到的数据绘制穿过环境的驾驶路径。驾驶路径可以基于全球定位系统(gps)数据和道路地图数据确定。虽然gps和道路地图数据可以提供关于环境的静态方面(建筑物、街道布局、道路封闭等)的信息,但动态信息(诸如关于其它车辆、行人、街灯等的信息)是从同时收集到的传感数据中获得的。由自主车辆选择的驾驶路径和速率机制的精确度和安全性取决于对驾驶环境中存在的各种对象的及时且准确的识别,以及取决于驾驶算法处理关于环境的信息并提供指令到车辆控制和传动系统的能力。


技术实现要素:

3.在一个实施方式中,公开了一种方法,该方法包括:由计算设备获得自主车辆(av)周围环境的多个感测数据帧,多个感测数据帧中的每一个包括多个点,其中,多个点中的每一个对应于来自环境的对象的表面的、由av的感测系统发射的信号的反射,以及包括到相应的反射表面的距离,并且其中,多个点中的一个或多个包括相应的反射表面的速度数据。所公开的方法还包括由计算设备评估来自多个感测数据帧中的第一感测数据帧的第一点集对应于来自多个感测数据帧中的第二感测数据帧的第二点集的假设,其中,评估假设包括根据第一点集或第二点集中的一个或多个的速度数据,将第一点集映射到第二点集;以及基于所执行的映射,确定对于假设的评估度量(measure)。所公开的方法还包括使av的驾驶路径根据评估度量被确定。
4.在另一实施方式中,公开了一种系统,其包括存储指令的存储器和用于执行来自存储器的指令的计算设备,以获得自主车辆(av)周围环境的多个感测数据帧,多个感测数据帧中的每一个包括多个点,其中,多个点中的每一个对应于来自环境的对象的表面的、由av的感测系统发射的信号的反射,以及包括到相应的反射表面的距离,并且其中,多个点中的一个或多个包括相应的反射表面的速度数据。该计算设备还通过计算设备评估来自多个感测数据帧中的第一感测数据帧的第一点集对应于来自多个感测数据帧中的第二感测数据帧的第二点集的假设,其中为了评估假设,计算设备根据第一点集或第二点集中的一个或多个的速度数据,将第一点集映射到第二点集;以及基于所执行的映射,确定对于假设的评估度量。该计算设备还使av的驾驶路径根据评估度量被确定。
5.在另一实施方式中,公开了一种具有存储在其上的指令的非暂时性计算机可读介质,当由计算设备执行该指令时,使计算设备获得自主车辆(av)周围环境的多个感测数据帧,多个感测数据帧中的每一个包括多个点,其中,多个点中的每一个对应于来自环境的对
象的表面的、由av的感测系统发射的信号的反射,以及包括到相应的反射表面的距离,并且其中,多个点中的一个或多个包括相应的反射表面的速度数据。该指令还使计算设备评估来自多个感测数据帧中的第一感测数据帧的第一点集对应于来自多个感测数据帧中的第二感测数据帧的第二点集的假设,其中,为了评估假设,计算设备根据第一点集或第二点集中的一个或多个的速度数据,将第一点集映射到第二点集;以及基于所执行的映射,确定对于假设的评估度量。该指令还使得计算设备使av的驾驶路径根据评估度量被确定。
附图说明
6.本公开通过示例而非限制的方式进行说明,并且当结合附图考虑时,参照以下详细描述可以更全面地理解本公开,其中:
7.图1是根据本公开的一些实施方式的示出使用多普勒辅助的对象识别和跟踪的示例自主车辆的组件的图。
8.图2a是根据本公开的一些实施方式的作为自主车辆的感知系统的一部分的利用点云映射的多普勒辅助的对象确定和跟踪的示意图。
9.图2b示出了根据本公开的一些实施方式的第一点云(对应于第一感测数据帧)到第二点云(对应于第二感测数据帧)的映射。
10.图3是根据本公开的一些实施方式的作为自主车辆的感知系统的一部分的用于精确点云映射的滚动快门校正的示意图。
11.图4a是根据本公开的一些实施方式的作为自主车辆的感知系统的一部分的利用点云映射的双传感器设置的示意图。
12.图4b是根据本公开的一些实施方式的使用双lidar三角测量方案确定与返回点相关联的横向(lateral)速度的示意图。
13.图5描绘了根据本公开的一些实施方式的用于自主驾驶车辆应用的使用多普勒辅助的对象识别和点云跟踪的示例方法的流程图。
14.图6描绘了根据本公开的一些实施方式的评估第一感测帧的一点集对应于第二感测帧的一点集的假设的示例方法的流程图。
15.图7描绘了根据本公开的一些实施方式的用于自主驾驶车辆应用的能够使能多普勒辅助的对象识别和跟踪的示例计算机设备的框图。
具体实施方式
16.自主车辆可以采用光检测和测距(lidar)技术来检测到环境中各种对象的距离,并且有时还可以检测这些对象的速度。lidar发射一个或多个行进到对象的激光信号(脉冲),然后检测从该对象反射的到达信号。通过确定信号发射和反射波到达之间的时间延迟,飞行时间(time-of-flight,tof)lidar可以确定到对象的距离。典型的lidar在多个方向上发射信号,以获得外部环境的宽广的视野。例如,lidar设备可以通过扫描以收集具有时间戳标识的一系列连续帧来覆盖整个360度的视野。作为结果,空间中的每个扇区以时间增量δt被感测,时间增量δt由lidar的扫描速率的角速度决定。如本文所使用的,“帧”或“感测数据帧”可以指通过lidar的扫描获得的环境的整个360度的视野,或者替代地,指通过小部分的扫描或者通过设计为覆盖有限角度的扫描获得的任何较小的扇区,例如,1度、5
度、10度或任何其它角度。
17.每个帧可以包括对应于来自环境的各种对象的反射的数个返回点(或简称“点”)。每个点可以与到相应对象的距离相关联,或者更具体地,与到负责相应返回点的对象的表面元素的距离相关联。点集可以表现为帧或以其它方式与帧相关联,并且有时称为“点云”。点云可以包括来自多个对象的返回。通常,先验(priori)不知道给定帧内有多少对象。单个对象(诸如另一车辆、道路标志、行人等)可以生成多个返回点。例如,10度的帧可以包括来自一个或多个道路标志的返回、位于距离lidar设备(可能被安装在自主车辆上)的不同距离处并且在不同方向上以不同速率移动的多个车辆的返回、穿越车行道、沿着人行道行走或站在路边的行人的返回以及许多其它对象的返回。将给定的点云分割(可以由自主车辆的感知系统执行)成对应于不同对象的集群,这在自主驾驶应用中很有用。尽管如此,靠近的点(例如,间隔小的角距离并且对应于来自相似距离的反射)可以属于不同的对象。例如,交通标志和靠近该标志站立的行人可以生成靠近的返回点。类似地,沿着相邻车道中的自行车移动的汽车可以生成靠近的返回点。
18.对应于不同对象的点的识别通常使用属于不同帧(诸如具有连续时间戳的帧)的点集群的映射来执行。具体而言,可以假设由时间戳t标识的帧的选定的第一点集(点集群)和帧t+δt的选定的第二点集属于同一对象(例如,汽车或行人)。使用合适的(例如,最佳拟合)几何变换,第一点集然后被映射到第二点集上,并且确定所获得的映射是否在可接受的准确度内,以评定假设是否被证实或无效,在这种情况下,可以选择不同的假设并重复该过程。这样的假设选择和验证可以并行地执行,同时评估多个假设。
19.各种算法可以被用于寻找最优几何变换,诸如能够使用一系列逐步改进收敛的步骤(迭代)来识别最优变换的迭代最近点(icp)算法。传统的icp(或其它映射)算法是基于在使用角(或线性横向)坐标和纵向(或径向)范围(距离)值的坐标空间中的点映射,并且存在许多缺点。特别地,选择较小或较大的时间增量δt都具有相应的缺点。例如,较小的δt可能减弱算法基于少量帧使错误的假设无效的能力。相反,较大的δt可能降低感知速率。此外,使用可以在几个(或更多)连续时间帧上检测对象的逐渐分离的tof lidar技术,位置靠近的对象可能需要相当长的时间来区分彼此。
20.tof lidar通常用于测距。tof还可以能够通过快速连续地发射两个或更多个信号(作为不同感测帧的一部分)并随着表面在每个附加帧之间移动检测反射表面的位置来确定返回点的速度(速率和运动方向)。连续信号之间的间隔可以足够短,使得在连续信号(帧)之间,对象相对于环境的其它对象不会明显改变它的位置,但仍然足够长,以允许lidar准确地检测对象位置的变化。然而,tof lidar设备通常不能够基于单个感测帧来确定对象的速度。
21.本公开的方面和实施方式使能使用多普勒辅助的速度感测来识别自主车辆环境中的对象的方法。具体而言,相干lidar利用编码在发送的信号中并且由发射的电磁波携带到目标并返回的相位信息并提供在标准tof lidar技术中不可获得的附加功能。相干lidar检测由反射表面的运动引起的反射波的频率(及伴随相位)的变化,这一现象称为多普勒效应。反射波的频率/相位对平行于波传播方向的反射表面的速度分量vr敏感,本文中称为“径向”或“纵向”速度。除了获得范围信息之外,相干lidar还允许将径向速度与点云的返回点相关联。如下面更详细描述的,该附加信息有助于更高效的对象识别和跟踪。特别地,径
向速度数据允许更有效的假设形成。例如,基于第一帧的第一集合中的至少一些点的径向速度vr和第二帧的第二集合中的相应点的位置,感知系统可以快速丢弃与测得的速度不一致的假设中的一些(例如,根据测得的速度,如果第二点集从第一点集移动的距离太大或太小,可以丢弃该假设)。相反,在一些情况下,可以基于具有接近的径向速度或具有彼此不同但与执行线性运动和旋转的组合的对象(对应于点集群)一致的径向速度的点集群来形成假设。
22.速度信息的使用还可以有利于形成的假设的验证。例如,基于单个感测帧形成的假设可以在收集到第二感测帧数据时被检验(评估):第二帧中点的位置可以与第一帧中点的位置进行比较,并且基于相应对象的移动与第一帧的点的速度的一致性如何,假设可以被证实或无效。类似地,如果假设是基于第一帧的点和第二帧的点的映射形成的,则随后可以使用后续(第三、第四等)帧的径向速度,通过将(假设的)对象的各个点实际行进的距离与由速度测量预测的位移进行比较来验证假设。
23.图1是根据本公开的一些实施方式的示出使用多普勒辅助的对象识别和跟踪的示例自主车辆(av)100的组件的图。图1示出了示例自主车辆的操作。自主车辆可以包括机动车辆(汽车、卡车、公共汽车、摩托车、全地形车辆、休闲车辆、任何专门的农业或建筑车辆等)、飞行器(飞机、直升机、无人机等)、海军车辆(船、舟、游艇、潜艇等)或者能够以自驾驶模式(没有人类输入或有减少的人类输入)操作的任何其它自推进车辆(例如,人行道递送机器人车辆)。
24.驾驶环境110可以包括位于av外部的任何对象(活动或非活动),诸如车行道、建筑物、树木、灌木、人行道、桥梁、山脉、其它车辆、行人等。驾驶环境110可以是城市、郊区、乡村等。在一些实施方式中,驾驶环境110可以是非道路环境(例如,养殖或农业用地)。在一些实施方式中,驾驶环境可以是室内环境,例如,工业厂房、装运仓库、建筑物的危险区等的环境。在一些实施方式中,驾驶环境110可以是基本平坦的,具有平行于表面(例如,平行于地球的表面)移动的各种对象。在其它实施方式中,驾驶环境可以是三维的并且可以包括能够沿着所有三个方向移动的对象(例如,气球、树叶等)。在下文中,术语“驾驶环境”应该被理解为包括其中可以发生自推进车辆的自主运动的所有环境。例如,“驾驶环境”可以包括飞行器的任何可能的飞行环境或海军舰船的海洋环境。驾驶环境110的对象可以位于距离av任何距离处,从几英尺(或更小)的近距离到几英里(或更远)。
25.示例性av 100可以包括感测系统120。感测系统120可以包括各种电磁(例如,光学)和非电磁(例如,声学)感测子系统和/或设备。如贯穿本公开所提及的术语“光学”和“光”应该被理解为包含可以在对象感测中使用以促进自主驾驶的任何电磁辐射(波),例如,距离感测、速度感测、加速度感测、旋转运动感测等。例如,“光学”感测可以利用对人眼可见的光的范围(例如,380到700nm波长范围)、uv范围(低于380nm)、红外范围(高于700nm)、无线电频率范围(1m以上)等。在实施方式中,“光学”和“光”可以包括电磁波频谱的任何其它合适的范围。
26.感测系统120可以包括雷达单元126,其可以是利用无线电或微波频率信号来感测av 100的驾驶环境110内的对象的任何系统。雷达单元可以被配置为感测对象的空间位置(包括它们的空间维度)和它们的速度(例如,使用多普勒频移技术)两者。下文中,“速度”是指对象移动得有多快(对象的速率)以及对象运动的方向两者。术语“角速度”是指对象绕着
某一轴线旋转得有多快以及旋转轴线的方向。例如,正在左(右)转弯的汽车具有指向上(下)的旋转轴线,并且角速度的值等于旋转角的变化率(例如,以弧度每秒为单位测得的)。
27.感测系统120可以包括一个或多个lidar传感器122(例如,lidar测距仪),其可以是能够确定到驾驶环境110中的对象的距离(例如,使用tof技术)的基于激光的单元。lidar传感器可以利用比无线电波的波长更短的电磁波的波长,并且因此可以提供与雷达单元相比更高的空间分辨率和灵敏度。lidar传感器可以包括相干lidar传感器,诸如调频连续波(fmcw)lidar传感器。lidar传感器可以使用光学外差检测,用于速度确定。在一些实施方式中,tof和相干lidar传感器的功能被组合到能够确定到反射对象的距离和反射对象的径向速度两者的单个(例如,混合)单元中。这样的混合单元可以被配置为在非相干感测模式(tof模式)和/或相干感测模式(例如,使用外差检测的模式)或者同时在两个模式下操作。在一些实施方式中,多个lidar传感器122单元可以被安装在av上,例如,在空间上分隔开的不同位置处,以提供关于反射对象的速度的横向(transverse)分量的附加信息,如下面更详细描述的。
28.lidar传感器122可以包括产生和发射信号的一个或多个激光源以及从对象反射回来的信号的一个或多个检测器。lidar传感器122可以包括光谱滤波器以滤除具有与发射信号的波长(频率)不同的波长(频率)的寄生电磁波。在一些实施方式中,lidar传感器122可以包括方向滤波器(例如,孔径、衍射光栅等)以滤除可以沿着与发射信号的逆反射方向不同的方向到达检测器处的电磁波。lidar传感器122可以使用各种其它光学组件(透镜、镜子、光栅、光学膜、干涉仪、光谱仪、本地振荡器等)来增强传感器的感测能力。
29.在一些实施方式中,lidar传感器122可以,例如,在水平方向上扫描360度的视野。在一些实施方式中,lidar传感器122可以是能够沿着水平和垂直方向两者进行空间扫描。在一些实施方式中,视场在垂直方向上可以达到90度(例如,地平线上方的区域的至少一部分被lidar信号扫描)。在一些实施方式中,视场可以是完整的球体(由两个半球组成)。为了简洁起见,当在本公开中一般性地提及“lidar技术”、“lidar感测”、“lidar数据”和“lidar”时,这样提及还应当被理解为包含通常在近红外波长下操作的其它感测技术,但也可以包括在其它波长下操作的感测技术。
30.感测系统120还可以包括一个或多个相机129以捕捉驾驶环境110的图像。图像可以是驾驶环境110(或驾驶环境110的部分)在相机的投影平面上的二维投影(平面或非平面,例如,鱼眼)。感测系统120的相机129中的一些可以是被配置为捕获驾驶环境110的连续(或准连续)的图像流的视频相机。感测系统120还可以包括一个或多个声纳128,其在一些实施方式中可以是超声波声纳。
31.由感测系统120获得的感测数据可以由av 100的数据处理系统130处理。例如,数据处理系统120可以包括感知系统132。感知系统132可以被配置为检测和跟踪驾驶环境110中的对象并辨别检测到的对象。例如,感知系统132可以分析由相机129捕获的图像并且可以能够检测交通灯信号、道路标志、车行道布局(例如,交通车道的边界、交叉路口的拓扑结构、停车地点的指定等)、障碍物的存在等。感知系统132还可以接收lidar感测数据(相干多普勒数据和非相干tof数据)以确定到环境110中各种对象的距离和这样的对象的速度(径向速度和在一些实施方式中的横向速度,如下所述)。在一些实施方式中,感知系统132可以将lidar数据与由相机129捕获的数据结合使用。在一个示例中,相机129可以检测部分阻碍
交通车道的石头的图像。使用来自相机129的数据,感知系统132可以能够确定石头的角大小,但不能确定石头的线性尺寸。使用lidar数据,感知系统132可以确定从石头到av的距离,并且因此,通过将距离信息与石头的角大小相结合,感知系统132还可以确定石头的线性维度。
32.在另一实施方式中,使用lidar数据,感知系统132可以确定检测到的对象距离av有多远,并且还可以确定该对象的速度沿着av运动方向的分量。此外,使用由相机获得的一系列快速图像,感知系统132还可以确定检测到的对象在垂直于av运动方向的方向上的横向速度。在一些实施方式中,横向速度可以仅从lidar数据确定,例如,通过辨别对象的边缘(使用水平扫描)并进一步确定对象的边缘在横向方向上移动得有多快。感知系统132可具有点云模块(pcm)133以执行不同感测帧的返回点的映射,以便识别和跟踪驾驶环境100中的各种对象。pcm 133可以是速度辅助(多普勒辅助)模块,其使用速度数据来扩增范围数据,用于更高效和可靠的对象检测和跟踪,如下面更详细描述的。
33.感知系统132还可以从被配置为获得关于av相对于地球的位置的信息的gps收发器(未示出)接收信息。gps数据处理模块134可以将gps数据与感测数据配合使用以帮助准确地确定av相对于驾驶环境110的固定对象(诸如车行道、车道边界、交叉路口、人行道、人行横道、道路标志、周围建筑物等)的位置,这些固定对象的位置可以由地图信息135提供。在一些实施方式中,数据处理系统130可以接收非电磁数据,诸如声纳数据(例如,超声波传感器数据)、温度传感器数据、压力传感器数据、气象数据(例如,风的速率和方向、降水数据)等。
34.数据处理系统130还可以包括环境监测和预测组件136,其可以监测驾驶环境110如何随时间演变,例如,通过保持对活动对象(相对于地球)的位置和速度的跟踪。在一些实施方式中,环境监测和预测组件136可以保持对由于av相对于环境的运动而引起的环境外观的变化的跟踪。在一些实施方式中,环境监测和预测组件136可以做出关于驾驶环境110的各种活动对象将如何在预测时间范围内定位的预测。预测可以基于活动对象的当前位置和速度以及基于在某个(例如,预定的)时间段期间活动对象的跟踪动态。例如,基于指示在先前3秒时间段期间的对象1的加速运动的所存储的对象1的数据,环境监测和预测组件136可以推断出对象1正在从停车标志或红色交通灯信号恢复其运动。因此,在给定车行道布局和其它车辆的存在的情况下,环境监测和预测组件136可以预测对象1在下一个3或5秒运动内可能会到哪里。作为另一示例,基于指示在先前2秒时间段期间的对象2的减速运动的所存储的对象2的数据,环境监测和预测组件136可以推断出对象2正在停车标志处或在红色交通灯信号处停车。因此,环境监测和预测组件136可以预测对象2在下一个1或3秒内可能会到哪里。环境监测和预测组件136可以执行对其预测的准确性的定期检查,并基于从感测系统120获得的新数据来修改预测。
35.由感知系统132、gps数据处理模块134以及环境监测和预测组件136生成的数据可以被自主驾驶系统使用,诸如av车辆控制系统(avcs)140。avcs 140可以包括控制av在各种驾驶情形和环境中要如何行为的一个或多个算法。例如,avcs 140可以包括导航系统,用于确定到目的地点的全球驾驶路线。avcs 140还可以包括驾驶路径选择系统,用于选择通过当前的驾驶环境的特定路径,这可以包括选择行车道、通过交通拥堵、选择进行掉头的地点、选择用于停车操作的轨迹等。avcs 140还可以包括避障系统,用于安全避让av驾驶环境
内的各种障碍物(石头、抛锚的车辆、乱穿马路的行人等)。避障系统可以被配置为评估障碍物的尺寸和障碍物的轨迹(如果障碍物是活动的),并且选择用于避让障碍物的最优驾驶策略(例如,制动、转向、加速等)。
36.avcs 140的算法和模块可以生成指令,用于车辆的各种系统和组件,诸如动力传动和转向150、车辆电子160、信令170以及图1中未明确示出的其它系统和组件。动力传动和转向150可以包括发动机(内燃发动机、电动发动机等)、变速器、分速器、轮轴、轮子、转向机构以及其它系统。车辆电子160可以包括车载计算机、发动机管理、点火装置、通信系统、汽车计算机(carputers)、车载信息服务(telematic)、车载娱乐系统以及其它系统和组件。信令170可以包括高低前照灯、停车灯、转弯和倒车灯、喇叭和警报器、内部灯光系统、仪表板通知系统、乘客通知系统、无线电和无线网络传输系统等。由avcs 140输出的指令中的一些可以直接递送到动力传动和转向150(或信令170),而由avcs 140输出的其它指令首先递送到车辆电子160,车辆电子160生成到动力传动和转向150和/或信令170的命令。
37.在一个示例中,avcs 140可以确定由数据处理系统130识别的障碍物要通过使车辆减速直到达到安全速率,随后使车辆绕着障碍物转向来避让。avcs 140可以输出指令到动力传动和转向150(直接地或经由车辆电子160)以1)通过修改节气门设置来减少到发动机的燃料流量以降低发动机转速,2)经由自动变速器将驱动传动调低到较低的挡位,3)接合制动单元来降低(同时与发动机和变速器协同作用)车辆速率直到达到安全速率,以及4)使用动力转向机制来执行转向操纵直到障碍物被安全地绕过。随后,avcs 140可以输出指令到动力传动和转向150以恢复车辆的先前速率设置。
38.图2a是根据本公开的一些实施方式的作为自主车辆的感知系统的一部分的利用点云映射的多普勒辅助的对象确定和跟踪200的示意图。图2a中描绘的是正在靠近十字路口的av 202(其可以是av 100或任何其它av)。av 202具有传感器206,其可以是lidar(诸如相干lidar、fmcw lidar、混合相干/tof lidar、相干和非相干lidar的组合等)或者允许感测除了范围(距离)信息之外的径向速度信息的任何其它设备。传感器206执行对av 202的驾驶环境的扫描。特别地,传感器206可以感测每个感测帧(感测数据帧)的多个返回点(“点”)。感测帧可以由时间增量δt分隔。时间增量是指发射到同一方向(或从同一方向返回)的信号之间的时间微分,因为不同的方向可以在稍微不同的时间处用信号探测。更具体地说,δt可以是传感器(例如,lidar发送器)绕转的周期;且绕着360度的水平视野有n个点时,任何两个相邻的感测方向的探测可能有δt/n的时间超前/滞后。
39.对象210(例如,汽车、卡车、公共汽车、摩托车或任何其它对象)正在靠近十字路口并进行左转弯,如图2a中描绘的。对应于在时间t和t+δt处拍摄的两个连续lidar帧的av的两个连续位置,例如,204(1)和204(2),被示出。类似地,两个帧t和t+δt的对象210的位置分别被示为212(1)和212(2)。
40.应当理解,图2a中示出的两个连续帧之间的av 202和对象210的位移为了说明的目的被夸大,而实际上,各种对象可能在时间增量δt上更加不显著地改变它们的位置。例如,在对象210完成图2a中描绘的左手转弯时,可以有数个帧被传感器206感测到。
41.对象210执行平移运动和旋转运动的组合。例如,对象210的某一参考点平移矢量且对象210绕着该参考点旋转角δφ。(如下面所解释的,并且有利于所描述方法的功效,参考点的选择是相当任意的)。在平坦的驾驶环境中,由单分量值δφ来描述旋转运动
就足够了,但是在非平坦的3d(特别地,飞行或航行)环境中,旋转角可以是矢量其三个分量分别描述俯仰角、航向角和横滚角。对象210的角速度表征对象210旋转(转弯)的速率,类似地,参考点的线速度确定对象210平移的速率,倘若对象210是刚性的,对某一参考点o(具有坐标)的角速度和线速度的知识允许根据如下方程式(本文中称为刚体方程式)来确定物体的任何其它点的速度:
[0042][0043]
参考点o的选择可以是任意的,因为对于任何其它参考点o’存在相同的关系,即
[0044][0045]
其中,是参考点o’的线参考速度。尽管当参考点改变时,线参考速度也改变,但是角速度与参考点的选择无关。这一无关性在执行点云映射时提供了附加的灵活性。
[0046]
参考点o可以被视为对象的旋转中心。选择参考点的自由反映了表示刚性对象经由无数个旋转(关于任意选择的旋转中心,但是到相同的角度且绕着相同的轴线)和平移的可能组合的任意位移的可能性。(一个例外是纯平移运动。)因此,在一些实施方式中,可以方便地将参考点o选择在对象内部的某处(尽管不一定选择靠近对象的几何中心或质心)。在其它实施方式中,可以方便地将对象的运动表示为绕着平行于的轴线的纯旋转(在垂直于该轴线的平面内没有平移)和沿着该轴线的平移。这样的旋转中心的选择(下文中称为“纯旋转”设置)是唯一的(最多沿着轴线任意平移)且可以从条件中确定,其给出
[0047][0048]
其中,c是任意数字。(以二维运动为例,c是零。)对于小的角速度(当对象主要执行平移运动时),如从最后一个表达式中所见,旋转中心位于远的距离处。因此,为了数值准确度,在一些实施方式中,可以限制从对象到其旋转中心的距离,例如,一旦确定旋转中心比某一预定距离(例如,对象最长维度的某个数)更远,可以将纯旋转设置改变成组合的旋转-平移设置。替代地,可以使用到旋转中心的大距离的偏向(bias),如下面更详细描述的。
[0049]
如图2a中所示,在位置212(1)处,对象210可以反射由传感器206输出的数个信号(由实线表示)并且生成第一帧的数个返回点(用黑色圆圈示出)。返回点应该被理解为由感知系统132基于由传感器206执行的测量生成的数据项(例如,由输出信号的角方向或以任何其它方式索引),作为感测系统120的一部分。每个返回点可以包括(或关联于)到实际物理反射点的距离r以及径向速度vr,其等于沿着朝传感器206的方向(由单位矢量苗述)的速度的分量:在一些实施方式中,返回点中只有一些可以包括径向速度值。例如,虽然可以针对每个返回点执行tof范围测量,但这些点中只有一些(例如,每五个中的一个、每十个中的一个等)可以用相干lidar探测到且包括速度数据。径向速度vr是在av 202
的参考帧中测得的速度。因此,因为在一般情况下,av 202正在移动,所以测得的速度vr可能不同于相应的物理反射点相对于地面的速度,其然后可以通过将在av 202帧中测得的对象210的速度(以矢量形式)加到av 202相对于地面的速度(这可以独立地知道,例如,从速率计/里程表数据、地图/gps数据等)来确定。
[0050]
在位置212(2)处,对象220可以类似地反射由传感器206输出的新的信号集(由虚线表示)并且生成第二帧的数个返回点。由pcm 133实现的一个或多个映射算法可以确定将第一帧的点云映射到第二帧的点云上的几何变换。图2b示出了根据本公开的一些实施方式的第一点云262(例如,对应于第一帧)到第二点云264(例如,对应于第二帧)的映射250。示出的映射等同于与刚性对象(例如,对象260)相关联的点云的几何变换。映射250是通过识别平移矢量和旋转角来确定,当给定时间增量δt的持续时间,还识别了对象的线速度和角速度(例如,时间间隔δt上的平均速度)。映射250可以使用迭代最近点(icp)算法,该算法基于变换后的第一点云262与第二点云264的比较(反之亦然)迭代地修正变换并最小化误差度量(例如,均方误差或一些其它预定的度量)。在一些实施方式中,可以使用其它映射算法,诸如kabsch算法、普氏(procrustes)叠加等。尽管为了简明起见仅描绘了两个感测帧(具有相应的点云),但是可以在各种连续感测帧之间(例如,在第二帧和第三帧之间、在第三帧和第四帧之间等)生成类似的映射,用于对象识别和跟踪两者。
[0051]
再次参照图2a,随着对象210从位置212(1)移动到位置212(2),第二帧中的返回点对应于对象210的反射表面,该反射表面可以不同于引起第一帧的信号的反射的表面。例如,如图2a中描绘的,当先前被遮挡的旋转对象210的部分进入传感器206的视场内时,可以检测到附加的返回点。相反,先前暴露的返回点中的一些可以不存在(因为相应的物理反射表面从视野中消失)等。为了解决点云的这种动态方面,由pcm 133执行的算法可以绘制一边界框,其可以是一3d边界框在视场上的投影。边界框的投影随着该边界框相对于视场旋转而动态地演变。在点云周围设置了边界框后(例如,作为假设形成的部分),pcm 133可以映射实际的(当前可见的)以及当前被遮挡的点,以便预期这样的被遮挡的点何时可以进入视场中,用于更快和更高效的点云映射。
[0052]
使用径向速度数据排除或验证假设可以在点集群映射(例如,icp映射)之前、之后或与之同时执行。例如,为了降低映射的计算成本,与径向速度数据不一致的假设可以在映射之前丢弃。在一些实施方式中,可以针对两个点云的轮廓执行映射。在一些实施方式中,pcm 133可以在设定的对准精度内保留其点云通过速度验证且适合成功映射的那些假设。
[0053]
在一个示例实施方式中,由径向速度数据辅助的点云映射可以执行如下。感知系统132可以识别在时间t的时刻处获得的第一点云262(例如,源点云)和在时间t+δt的时刻处获得的第二点云264(例如,目标点云)。pcm 133可以作出使用各种映射方法(诸如icp映射)将第一点云262中的点与第二点云264中的点相关联的假设。例如,在形成的假设中,可以有一个假设是将第一点云中的每个点与第二点云中最靠近它的点相匹配。在一些实施方式中,这样的假设可能只是许多假设中的一个,因为底层对象的运动可能是这样的(尤其在较长时间内),以至于彼此映射的点不是最靠近的点。例如,第二点云264的点a

可以最靠近点b,但是被正确地映射到第一点云262的点a。
[0054]
在形成了一个或多个假设后,pcm 133可以识别两个云中彼此映射的点对(用索引j枚举):rj(1)
→rj
(2)。此外,pcm 133可以识别拟合参数集{β}=β1,β2...,其将对应于假设映射的物体(例如,刚体)的运动参数化。参数可以包括平移速度、旋转速度、旋转中心等。参数的数量可以取决于被映射的运动。例如,平面二维运动(例如,在平坦表面上的车辆的运动)可以由单个角速度值(绕着垂直轴线的旋转的速率)表征,而三维运动(例如,飞行对象的运动)可以由角速度的三个分量表征。下面的表格提供了可以用于描述点云的映射的参数的示例。
[0055][0056][0057]
这里,平面x
′y′
垂直于角速度的方向;v

是平移速度沿着方向的分量。
[0058]
基于在时间t(第一帧)处的点的实际坐标rj(1)并使用拟合参数,例如,vo和ω,pcm 133可以预测在时间t+δt(例如,第二帧的时间)处的第一点云的未来坐标
[0059][0060]
其中,为了便于注释,矢量用粗体字母而不是用箭头表示。同样地,在一些实施方式中,pcm 133还可以对第二点云中的点的坐标的过去的位置(在第一帧的时间处)进行反向“预测”:
[0061][0062]
在做出了这样的预测后,pcm 133可以比较在一未来时间实例处的第一点云的预测坐标与第二个云rj(2)中的点的实际坐标(如由感测系统120获得)的近似程度。预测的准确性可以由前瞻性残差(forward-looking residual)来表征,
[0063][0064]
其是各个点j的残差的总和。残差可以包括数个贡献。例如,可以包括对预测坐标中误差的惩罚:
[0065][0066]
其中,r
j||
表示到点j的半径矢量(径向距离)的径向分量,而rj⊥
表示横向平面中相同半径矢量的分量。取决于运动是二维的还是三维的,rj上可以分别具有一个分量或两个分量。在一些实施方式中,权重a和b可以彼此不同,以便考虑到径向和横向距离可能以不同的精确度获知。在一些实施方式中,权重a和b可以被认为是彼此相等。
[0067]
残差还可以包括对径向速度v
j||
预测中误差的惩罚,这可以从相干lidar传感器中知道:
牛顿法的方程之间进行插值的方程组:
[0086]
(j
t
j+λ1)δβ=j
t
δs
[0087]
在每次迭代中确定增量。
[0088]
迭代可以继续直到达到足够的收敛程度,例如,当来自附加的迭代的进一步改进低于预定目标水平时。所确定的最优拟合参数{β}
min
可以近似于用于所考虑的特定假设的最小残余误差s
min
=s({β}
min
)。在一些实施方式中,如果获得的残余误差s
min
在目标范围内,则pcm 133可以接受该假设作为当前工作假设。在其它实施方式中,pcm 133可以形成多个假设并针对形成的假设中的每个执行上述映射过程,其中具有最小的最小残余误差的假设被接受为当前工作假设。不同假设可以包括第一点云中的点与第二点云中的点的不同关联。在一些实施方式中,各种假设可以涉及不同数量的点。例如,一些点可以被包括在一些假设中,但是从其它假设中排除。在一些实施方式中,如果假设包括不同数量的点,则在与其它假设比较之前,可以将相应确定的最小残余误差s
min
归一化(例如,除以点的数量)。
[0089]
在一些实施方式中,pcm 133可以保留多个假设用于后续验证,而不是选择单个工作假设。例如,保留的假设可以使用来自帧t+2δt、第四帧t+3δt等的第三点云来进行后续验证。映射可以在任何(或每个)连续帧对之间执行,直到最终假设被证实。在一些实施方式中,pcm 133还可以识别(例如,使用点云的形状)对象的类型(例如,汽车、卡车、自行车、道路标志等)。在一些实施方式中,在对象被识别出之后,pcm 133可以继续映射后续帧的点云,用于对象跟踪。
[0090]
在一些实施方式中,残余误差s({β})可以包括上述贡献中的一些但不是所有。例如,在一些实施方式中,坐标误差s(coord)可以被包括在残余误差中,而速度误差s(vel)最初可以不被包括在内。相反,s(vel)可以用于假设的验证。具体而言,在形成了假设并且用被选择为可行的点云映射可能假设的一个或多个假设执行映射之后,可以使用针对相应假设所确定的最优参数集来计算s(vel)。导致超过某个预定阈值的残余误差s(vel)的假设可以被丢弃。具有低于阈值的残余误差s(vel)的假设可以保留(例如,用于使用附加帧的后续验证)。在一些实施方式中,具有最低残余误差s(vel)的假设可以被接受(并且用于使用附加帧的对象跟踪/后续验证)。在一些实施方式中,作为使用径向速度来计算残余误差(诸如s(vel))的替代,可以使用径向速度数据来滤除与径向数据不一致的假设。具体而言,可以针对每个映射假设1

2计算误差
[0091][0092]
并且误差超过预设阈值(例如,凭经验确定的),e>e
t
,的那些假设可以丢弃。在一些实施方式中,速度数据可以用于不可行假设的初始排除以及用于评估留下的假设(例如,使用s(vel)残差,如上所述)。
[0093]
在各种实施方式中,可以使用各种方式来解决选择旋转中心与识别平移速度(两者均在垂直于角轴线的方向的平面中)之间的模糊性。在一个实施方式中,旋转中心可以随机选择,例如,在第一点云(或第二点云)的中心的附近。在一些实施方式中,所执行的映射可以偏向有利于较小的平移速度,或可选地(取决于偏好设置),较小的旋转半径。例如,残余的前瞻性误差可以包括贡献:
[0094][0095]
其中,d和g分别是不利于高平移速度和到旋转中心(来自两个点云)的远距离的偏向,而n是假设中的点的数量。较高的d值有利于纯旋转设置,而较高的g值有利于靠近点云中心的旋转中心。d和g的具体值可以凭经验来选择,例如,通过最大化点云映射的结果准确度和效率。在一些实施方式中,系数d和g中的一个(或两者)可以很小或为零。很小但仍然非零的系数g可以防止ro变得太大,并因此可以帮助避免ro大但ω小且乘积roω既不小也不大的情况,其中ω的误差可能被大数值的ro放大。
[0096]
图3是根据本公开的一些实施方式的作为自主车辆的感知系统的一部分的用于精确点云映射的滚动快门校正的示意图。在一些实施方式中,第一云中的点和第二云中的相应点的检测之间的时间增量可以与不同感测帧之间的时间间隔δt不同。例如,虽然lidar传感器206可以用周期δt探测相同的空间方向(例如,lidar发送器可以用角速度旋转),但是在lidar发送器绕转(滚动快门)的一个周期内,不同的空间方向可以在不同时间处接收lidar传感器的关注。因此,生成返回点(反射)的对象的运动可以导致不同于δt的连续帧之间的时移。例如,第一点云的第j个点301可以被识别(在云点映射期间,例如,作为形成的假设的部分)作为映射在第二点云的点302上。尽管某一参考方向310在时间t(第一帧)和t+δt(第二帧)处被探测到,第一点云的第j个点301可以在与时间t相差由第一点云的第j个点301的角坐标确定的角度滞后(或超前,取决于与参考方向310的相对位置)的时间处被探测到。同样地,第二点云的第j个点302可以在与时间t+δt相差由第二点云的第j个点302的角坐标确定的量的时间处被探测到。作为结果,两个点的检测之间的时间差可以是δt+δtj,例如,通过特定点校正来修改,其幅值和符号可以取决于第j个点的运动的速率和方向。对于点云映射中的附加精确度,可以在映射期间考虑这样的校正。例如,在第二数据帧的时间处的第一点云的点的预测位置可以使用修改后的时间来确定:
[0097][0098]
而径向速度中的残余误差可以根据如下方程式来计算:
[0099][0100]
可以对映射期间遇到的其它参量(例如,回溯性)进行类似的修改。校正δtj可以是正数、负数或零,这取决于云中的具体点。
[0101]
图4a是根据本公开的一些实施方式的作为自主车辆的感知系统的一部分的利用点云映射的双lidar设置400的示意图。图4a中描绘了具有多个lidar传感器(为了具体说明,示出了两个)的av 402,诸如第一传感器406和第二传感器407,其可以是能够感测到驾驶环境中对象的反射表面的距离以及反射表面的径向速度的任何类型的相干(或相干和非相干的组合)lidar设备。传感器406和407可以执行驾驶环境的扫描并生成对应于各种对象
的返回点。每个传感器可以输出具有被赋予的对于传感器来说唯一的相位特征(例如,啁啾(chirp)或任何其它相位或频率调制特征)的信号,使得来自传感器的返回信号不会彼此干扰。传感器406和407可以位于彼此相距一定距离(基线距离)处以提高横向速度分辨率。在一些实施方式中,基线距离可以尽可能大(例如,受av 402的长度或宽度限制)。在一些实施方式中,因为横向速度分辨率在垂直于基线的方向上最大而在平行于基线的方向上最小,所以可以利用两个以上的传感器,以非共线(例如,三角形)的布置形式放置。例如,第三传感器可以位于av 402的中线附近(例如,在车辆的前部或后部附近)。
[0102]
在一些实施方式中,感测系统(例如,感测系统120)的处理逻辑可以使传感器406和传感器407的感测帧同步,使得感测信号在相同时间实例处(例如,在t、t+δt、t+2δt、t+3δt等处)输出。在其它实施方式中,感测帧可以错开(例如,为了减少可能的干扰或为了提高瞬时分辨率),使得一个传感器在时间t、t+δt、t+2δt、t+3δt处输出信号,而另一传感器在时间t+δt/2、t+3δt/2、t+5δt/2处输出感测信号,依此类推。每个传感器都可以检测其相应的点云,由于感测帧的不同定位和定时,即使在相同时间处,这些点云也可能与其它传感器的点云有所不同。感知系统(例如,感知系统132)的处理逻辑可以针对第一传感器云的每个点识别最靠近的第二传感器云的点,并将这两个点与对象410的同一反射部分相关联。在一些实施方式中,处理逻辑可以近似反射部分位于中间点处。图4a中示出对应于对象410的点集群420(为了简洁起见,仅示出了一个点集群,例如,由第一传感器406检测到的)。
[0103]
因为两个传感器具有不同的位置,由第一传感器406沿着第一径向方向408针对点集群420的返回点422测得的径向速度v1可以不同于沿着第二径向方向409测得的由第二传感器409感测到的集群的相同的(或靠近的)返回点的径向速度v2。差v
1-v2指示返回点422的横向速度。当v1=v2时,返回点422的横向速度为零(在测量准确度内),而v1>v2(或反之,v1<v2)的情况指示返回点422向左(或右)移动。图4b是根据本公开的一些实施方式的使用双lidar三角测量方案400确定与返回点相关联的横向速度的示意图。示出的x轴线与第一传感器406和第二传感器407(彼此相距距离b)之间的基线重合。y轴线垂直于x轴线,且坐标系的原点位于传感器之间的中点处。(处理逻辑可以使用任何其它的坐标轴线的选择,这取决于实施方式。)如示出的,第一传感器406可以能够确定到返回点422的第一距离r1、到返回点的角方向α、以及径向速度v1。同样地,第二传感器407可以能够确定从第二传感器到返回点422的第二距离r2、到返回点的角方向β、以及相应的径向速度v2。假设速度指向xy平面内(这是驾驶应用中最常见的情况),速度的分量可以基于速度在方向408上的投影是v1且在方向409上是v2(如用虚线所描绘的)的事实来确定。具体而言,根据
[0104]v1
=-v
x sinα-v
y cosα,
[0105]v2
=v
x sinβ-v
y cosβ,
[0106]
可以推断横向速度为
[0107][0108]
其中,近似值适用于小角度α和β的情况,对此cosα≈cosβ≈1而且sin(α+β)≈α+β≈l/r,其中r是距离r1或r2中的任一(就所使用的准确性程度而言,r1和r2几乎相同)。以类
似的方式,三个或更多个lidar传感器可以确定与返回点相关联的速度的所有三个分量。这样的确定在涉及能够在所有三个方向上移动的对象的自主飞行或航行应用中可能特别有利。
[0109]
使用多传感器设置获得的横向速度数据可以用于假设形成以及后续验证。在一个实施方式中,横向速度数据可以用于增强基于径向速度场的假设的评估,如关于图2a-图2b所公开的。基于横向速度数据,pcm 133可以将具有相似径向速度但横向速度不同的对象(例如,以相反方向经过彼此的车辆)分开。在不同对象的横向速度足够不同的情况下,已经可以基于单个感测帧形成可行的假设。在一些情况下,pcm 133使用横向速度数据的能力可以是特定范围的。这可能是基于横向速度确定的准确度可能低于径向速度测量的准确度的事实。根据上面得到的针对v
x
的方程式,如果已知径向速度具有精确度δvr(意味着,测得的值vr指示实际速度在[v
r-δvr,vr+δvr]区间内),并且假设距离r是确切已知或具有高精确度,则图4b中示出的基于三角测量的横向速度测量具有准确性:
[0110][0111]
例如,如果δvr=0.1m/s,lidar传感器406和407位于距离l=1.2m处,则在距离r=60m处的横向速度确定的准确性将为δv
x
=5.0m/s。对于较大(较小)的距离,准确性将会更高(更低)。这样的精确度对于区分(基于单个感测帧)在相反方向上移动的车辆或者区分汽车和自行车(行人),无论他们的运动方向如何,是相当令人满意的。
[0112]
在一些实施方式中,横向速度数据可以用于云点映射(如关于图2a-图2b所描述的)以用于假设形成和/或验证,与使用径向速度的方式类似。例如,横向速度可以用作对可能映射的约束,用一个或多个附加残余误差进行量化,例如,前瞻性横向速度误差:
[0113][0114]
并且类似地,对于回溯性误差:
[0115][0116]
用系数h描述分配给横向速度误差的权重。在一些实施方式中,权重h可以小于分配给径向速度误差的权重c,例如,与横向速度和径向速度的确定中相应的准确性的比率成反比,h/a~(δvr/δv
x
)2,其中符号~指示一个数量级估计而不是确切的本体。
[0117]
在一些实施方式中,各种其它评估度量可以被设计为评估点云映射中的误差。例如,虽然关于上述实施方式描述了二次残差,但可以使用任何一个或多个函数(例如,单调函数)来量化坐标匹配、径向速度匹配、横向速度匹配中的误差,以及在识别平移速度和旋转中心中使用的偏向。
[0118]
在一些实施方式中,可以使用机器学习模型确定评估度量,诸如权重a(被赋予径向距离误配)、b(被赋予横向距离误配)、c(被赋予径向速度误配)、h(被赋予横向速度误配),以及偏向,诸如d(针对大的平移速度)和g(针对大的旋转半径),或者评估度量中使用的其它度量。更具体地,可以使用数个点云以及两个或更多个感测帧(具有用作训练(目标)映射的校正点关联的相应的点云)来训练模型。校正关联可以由人类操作员/开发人员标记出,或者使用各种点云映射算法(诸如icp)预先获得,或者它们的任何组合。评估度量可以在机器学习模型(例如,神经网络)的训练期间确定。
[0119]
在识别出感测帧中的一个或多个对象并且由数据处理系统132将关于识别出的对象及其运动的信息提供给avcs 140之后,avcs 140可以确定av的驾驶路径,并且根据识别出的对象的运动,提供相应指令(例如,速度、加速度、制动、转向指令等)到动力传动和转向150以及车辆电子160。
[0120]
图5描绘了根据本公开的一些实施方式的用于自主驾驶车辆应用的使用多普勒辅助的对象识别和点云跟踪的示例方法500的流程图。方法500,以及下面描述的方法600,和/或它们各自的功能、例程、子例程或操作中的每个可以由计算设备执行,计算设备具有一个或多个处理单元(cpu)以及通信地耦合到cpu的存储设备。在某些实施方式中,方法500和600可以由单个处理线程执行。替代地,方法500和600可以由两个或更多个处理线程执行,每个线程执行方法的一个或多个单独的功能、例程、子例程或操作。在说明性的示例中,实现方法500的处理线程可以被同步(例如,使用信号量、临界区和/或其它线程同步机制)。替代地,实现方法500和600的处理线程可以关于彼此异步地执行。方法500和600的各种操作可以以相比于图5和图6中示出的顺序不同的顺序执行。方法的一些操作可以与其它操作同时执行。一些操作可以是可选的。
[0121]
方法500可以针对自主驾驶车辆(诸如图1的自主车辆100)的系统和部件。方法500可以使用由感测系统120获得的感测数据而由数据处理系统130用来识别和跟踪驾驶环境中存在的对象。关于识别出的对象的信息可以提供给自主车辆控制系统140。方法500可以包括,在框510处,由计算设备获得av周围环境的多个感测数据帧。多个感测数据帧中的每一个可以包括多个点。点对应于来自环境的对象的表面的、由av的感测系统发射的信号的反射。每个点可以包括各种数据,诸如感测帧的时间戳和反射表面的坐标。坐标可以包括到相应的反射表面的距离以及指定到反射表面的方向的角度(或者任何其它值,而不是明确标识反射表面的位置)。点中的至少一些还可以包括相应的反射表面的速度数据;速度数据可以包括反射表面的径向速度。每个点还可以包括反射信号的强度、反射信号的极化等。径向距离可以从lidar数据中确定,而角度可以从同步器数据、时钟数据中独立地知道,例如,基于感测系统的发送器在旋转平面(例如,水平面)内的已知旋转频率)。速度数据可以由感测系统获得,感测系统可以包括能够使用,例如,多普勒辅助感测来检测径向速度的相干光检测和测距设备(lidar)。在一些实施方式中,相干lidar可以是调频连续波(fmcw)lidar,并且由传感器发射的信号可以包括调相或调频电磁波。感测系统还可以能够同时发射各种其它信号,诸如脉冲信号,其可以用于tof距离测量。在一些实施例中,传感器可以包括单独的tof lidar和相干lidar,每个发射可以同步、混合并且沿着相同光路发送的单独的信号。
[0122]
各种感测帧可以对应于感测系统的发送器的不同周期(例如,绕转)。例如,第一感测帧可以对应于第一周期,第二感测帧可以对应于不同的(例如,更早或更晚)周期。术语“第一”和“第二”仅应被理解为标识符,而不应该预设特定顺序。特别地,在第一帧和第二帧之间可以有任意数量的中间帧。
[0123]
在一些实施方式中,av的感测系统可以包括多个传感器。例如,感测系统可以包括能够感测环境的对象的速度的第一传感器(例如,传感器406)。当由第一传感器测量时,相应的反射表面的速度数据可以包括沿着从第一传感器到相应的反射表面的第一方向的相应的反射表面的速度的第一分量。此外,感测系统可以包括能够感测环境的对象的速度的第二传感器(例如,传感器407)。当由第二传感器测量时,相应的反射表面的速度数据可以
包括沿着从第二传感器到相应的反射表面的第二方向的相应的反射表面的速度的第二分量。
[0124]
在框520处,方法500可以继续用计算设备(例如,执行由作为感知系统132的一部分的pcm 133发布的软件指令的设备)评估来自第一感测数据帧的第一点集对应于来自第二感测数据帧的第二点集的假设。在一些实施方式中,可以基于所选择的点在空间中的空间接近度、基于与点相关联的速度值的接近度、使用各种分割算法、或者通过任何其它选择过程,选择(例如,由感知系统)第一点集和第二点集。第一点集和第二点集可以被识别为这样的点对应于单个对象这一假设的一部分。在一些实施方式中,评估假设包括将第一点集识别为具有与执行平移运动和旋转运动的组合的刚体一致的速度数据。
[0125]
如由图5的喷出(blowout)部分所示意的,在框522处,评估假设可以包括选择对象(对应于第一帧的第一点集)正在以某种方式移动的假设,例如,如可以由拟合参数集指定。拟合参数可以包括刚体的平移度(诸如对象的平移速度)和/或刚体的旋转度(诸如对象的角速度旋转中心等)。
[0126]
在框524处,方法500可以继续用计算设备将第一点集映射到第二点集。例如,将第一点集映射到第二点集可以包括使用迭代最近点算法。在一些实施方式中,将第一点集映射到第二点集可以包括基于拟合参数确定第一点集在对应于第一感测数据帧和第二感测数据帧之间的时间差的时间增量之后的位置(前瞻性推断)。类似地,在一些实施方式中,将第一点集映射到第二点集可以包括基于拟合参数推断第二点集在对应于第二感测数据帧和第一感测数据帧之间的时间差的时间减量之前的位置(回溯性推断)。在一些实施方式中,将第一点集映射到第二点集是根据第一点集和/或第二点集中的至少一些点的速度数据(例如,径向速度数据)来执行的。在一些实施方式中,将第一点集映射到第二点集包括基于速度数据确定相应的反射表面的横向速度。横向速度可以使用由第一传感器和第二传感器获得的速度数据来确定,例如,如关于图4a和图4b所描述的。
[0127]
在框526处,计算设备可以基于执行的映射来确定对于假设的评估度量。评估度量可以是一个值(或多个值),其表征所预测的(使用与第一和/或第二点集的点相关联的速度值)假设的对象的运动与第一点集和第二点集匹配(对齐)得多接近。例如,评估度量可以取决于所推断的第一点集的未来位置与第二点集的实际位置之间的误配(前瞻性度量)和/或所推断的第二点集的过去位置和第一点集的实际位置之间的误配(回溯性度量)。在一些实施方式中,可以根据下面描述的方法600来确定评估度量。在那些实施方式中,其中假设的评估包括将速度数据与刚体的运动相匹配,评估度量可以至少部分地基于第一点集的速度数据与刚体的速度分布之间的差。例如,评估度量可以是刚体的速度与由传感器(例如,第一传感器和(可选地)第二传感器)测得的实际速度之间的平方差的加权总和。作为另一示例,评估度量可以描述第一点集的坐标和/或速度与第二点集的坐标和/或速度之间的误配(例如,加权平方误差的总和)。
[0128]
在框520处,假设的评估可以包括根据评估度量来确定拟合参数的值。在一些实施方式中,拟合参数是根据速度数据确定的。速度数据可以包括第一点集或第二点集中或两者中的至少一些点的径向速度。在一些实施方式中,速度数据可以包括由多个传感器(例如,彼此位置不同的至少两个传感器)检测到的径向速度。
[0129]
在框530处,计算设备可以(例如,基于满足预定标准的评估度量)识别假设的对象
与第一点集(在第一帧的时间处)和第二点集(在第二帧处)匹配,并且假设的对象的运动与关联于(第一点集或第二点集或两者中的)相应点的速度数据一致。预定标准可以是评估度量与阈值(例如,最大可接受加权平方误差)有特定关系(例如,高于、等于或低于)。
[0130]
可选地,计算设备还可以基于已评估的假设将对应于第一点集和第二点集的环境的对象识别为特定类型的对象(汽车、卡车、公共汽车、摩托车、行人等)。
[0131]
在框540处,方法500可以继续用计算设备使av的驾驶路径根据评估度量而被确定。更具体地,在使用了评估度量来证实假设后,计算设备可以生成识别出的对象的表示。该表示可以是识别出的对象的几何描述符的集合,诸如针对对象边界框的坐标集合、或者标识对象的各种元素(例如,肋柱或面)的相对朝向的参数集合和标识对象在空间中的位置和朝向(例如,相对于地面、其它对象或地图布局)的另一参数集合。本领域的普通技术人员应该认识到,各种对象的可能表示的数量是无限的。计算设备可以向av的控制系统(例如,avcs 240)提供识别出的对象的表示。控制系统随后可以基于所提供的表示确定av的驾驶路径。基于识别出的对象的位置和运动(平移和旋转),控制系统可以确定av是否要加速、制动、转弯、改变车道、停车、倒车等(或执行这些动作的任何组合)。控制系统随后可以输出相应的指令到动力传动和转向150、车辆电子160、信令170等,以确保av遵循确定的驾驶路径。
[0132]
图6描绘了根据本公开的一些实施方式的评估第一感测帧的点集对应于第二感测帧的点集的假设的示例方法600的流程图。方法600可以结合用于自主驾驶车辆应用的使用多普勒辅助的对象识别和点云跟踪的方法500的框520来执行。在框610处,执行方法600的计算设备(例如,执行由作为感知系统132的一部分的pcm 133发布的软件指令的设备)可以选择来自第一感测数据帧的第一点集对应于来自第二感测数据帧的第二点集这一假设。在框620处,方法可以继续用计算设备获得对于假设要与第一点集相关联的对象的平移速度的一个或多个分量或旋转(角)速度的一个或多个分量的估计。例如,平移速度的分量和/或旋转速度的分量可以通过使用刚体方程式拟合第一帧(和,可选地,第二帧)的速度数据来确定。
[0133]
在框630处,方法600可以继续用计算设备,基于对于假设的对象的平移速度的一个或多个分量或旋转速度的一个或多个分量的估计,预测假设的对象在对应于第一感测数据帧和第二感测数据帧之间的时间差的时间增量之后的位置。在框640处,计算设备可以将预测的位置与第二点集的坐标进行比较,并确定评估度量,例如,第二组的点的位置与基于所估计的平移速度和/或旋转速度的分量预测的相应的位置中的加权平方误差。
[0134]
图7描绘了根据本公开的一些实施方式的用于自主驾驶车辆应用的能够使能多普勒辅助的对象识别和跟踪的示例计算机设备的框图。示例计算机设备700可以在lan、内联网、外联网和/或因特网中连接到其它计算机设备。计算机设备700可以在客户端-服务器网络环境中以服务器的能力进行操作。计算机设备700可以是个人计算机(pc)、机顶盒(stb)、服务器、网络路由器、交换机或桥接器,或者能够执行指令集(有序或以其它方式)的任何设备,这些指令指定要由该设备作出的动作。此外,虽然仅示出了单个示例计算机设备,术语“计算机”还应该被认为包括计算机的任何集合,这些计算机单独地或联合地执行一个(或多个)指令集以执行本文中讨论的方法中的任何一个或多个。
[0135]
示例计算机设备700可以包括处理设备702(也称为处理器或cpu)、主存储器704(例如,只读存储器(rom)、闪速存储器、动态随机存取存储器(dram)(诸如同步dram
(sdram))等)、静态存储器706(例如,闪速存储器、静态随机存取存储器(sram)等)以及辅助存储器(例如,数据存储设备718),这些可以经由总线730与彼此通信。
[0136]
处理设备702表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地,处理设备702可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、实现其它指令集的处理器、或者实现指令集的组合的处理器。处理设备702还可以是一个或多个专用处理设备,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。根据本公开的一个或多个方面,处理设备702可以被配置为执行指令,这些指令执行使用多普勒辅助的对象识别和点云跟踪的方法500以及评估第一感测帧的点集对应于第二感测帧的点集的假设的方法600。
[0137]
示例计算机设备700还可以包括网络接口设备708,其可以通信地耦合到网络720。示例计算机设备700还可以包括视频显示器710(例如,液晶显示器(lcd)、触摸屏幕或阴极射线管(crt))、字母数字输入设备712(例如,键盘)、光标控制设备714(例如,鼠标)以及声音信号生成设备716(例如,扬声器)。
[0138]
数据存储设备718可以包括计算机可读存储介质(或更具体地,非暂时性计算机可读存储介质)728,其上存储了一组或多组可执行指令722。根据本公开的一个或多个方面,可执行指令722可以包括执行使用多普勒辅助的对象识别和点云跟踪的方法500以及评估第一感测帧的点集对应于第二感测帧的点集的假设的方法600的可执行指令。
[0139]
可执行指令722,在其由示例计算机设备700执行期间,还可以完全地或至少部分地驻留在主存储器704和/或处理设备702内,主存储器704和处理设备702还构成计算机可读存储介质。可执行指令722还可以经由网络接口设备708通过网络发送或接收。
[0140]
虽然计算机可读存储介质728在图7中示出为单个介质,术语“计算机可读存储介质”应该被认为包括存储一组或多组vm操作指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的缓存和服务器)。术语“计算机可读存储介质”还应该被认为包括能够存储或编码用于由机器执行的一组指令的任何介质,这些指令使机器执行本文中描述的方法中的任何一个或多个。因此,术语“计算机可读存储介质”应该被认为包括但不限于固态存储器以及光和磁介质。
[0141]
上面的详细描述的一些部分是按照对计算机存储器内的数据位的操作的算法和符号表示来呈现的。这些算法的描述和表示是由数据处理领域的技术人员用于最高效地向本领域其他技术人员传达他们工作的实质的手段。在这里,并且一般而言,算法被认为是导向期望的结果的自洽的步骤序列。这些步骤是那些需要对物理量进行物理操纵的步骤。通常,尽管不一定,这些量采用能够被存储、传输、组合、比较和以其它方式操纵的电信号或磁信号的形式。主要出于习惯用法的原因,有时将这些信号称为位、值、元素、符号、字符、术语、数字等被证明是方便的。
[0142]
然而,应当记住,所有这些和类似的术语都要与适当的物理量相关联并且仅是应用于这些量的方便标签。除非另有特别说明,如从以下讨论中显而易见的,应当理解,在整个描述中,利用诸如“识别”、“确定”、“存储”、“调整”、“使得”、“返回”、“比较”、“创建”、“停止”、“加载”、“复制”、“抛出”、“替换”、“执行”等的术语的讨论,是指计算机系统(或类似电子计算设备)的动作和处理,其将计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵或变换成计算机系统的存储器或寄存器或其它这样的信息存储、传输或显示设备
内类似地表示为物理量的其它数据。
[0143]
本公开的示例还涉及用于执行本文中描述的方法的装置。该装置可以为所需目的专门构造,或者它可以是由存储在计算机系统中的计算机程序选择性地编程的通用计算机系统。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘(包括光盘、cd-rom和磁光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁盘存储介质、光存储介质、闪速存储器设备、其它类型的机器可访问存储介质、或者适合于存储电子指令的任何类型的介质,每个都耦合到计算机系统总线。
[0144]
本文中呈现的方法和显示与任何特定计算机或其它装置没有固有的联系。各种通用系统可以根据本文中的教导与程序一起使用,或者构造更专门的装置来执行所需的方法步骤可以证明是方便的。各种这些系统所需的结构将如下面的描述中所阐述的出现。此外,本公开的范围不限于任何特定的编程语言。应当理解,可以使用各种编程语言来实现本公开的教导。
[0145]
应当理解,上面的描述旨在是示意性的,而不是限制性的。在阅读和理解上面的描述之后,许多其它实施方式示例对于本领域技术人员来说将是明显的。尽管本公开描述了具体示例,应当认识到,本公开的系统和方法不限于本文中描述的示例,而是可以在所附权利要求的范围内带有修改地进行实践。相应地,说明书和附图被认为是示意性的而不是限制性的。因此,本公开的范围应该参照所附权利要求以及这些权利要求应享有的其等同物的全部范围来确定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1