取决于脉冲类型选择LIDAR脉冲检测器的制作方法

文档序号:22758371发布日期:2020-10-31 09:56阅读:122来源:国知局
取决于脉冲类型选择LIDAR脉冲检测器的制作方法

相关申请的交叉引用

本pct国际申请要求于2018年3月20日提交的美国专利申请15/925,764的优先权权益,该美国专利申请通过引用并入本文。



背景技术:

光检测和测距或“lidar”是指一种通过发射光并测量光反射特性来测量到可见表面的距离的技术。lidar系统具有光发射器和光传感器。光发射器可以包括将光引导到环境中的激光器。当发射的光入射到表面上时,一部分光被反射并被光传感器接收,从而将光强度转换为对应的电信号。

lidar系统具有信号处理组件,该组件分析反射的光信号以确定到反射发射的激光的表面的距离。例如,系统可以测量光信号从激光发射器行进到表面并返回到光传感器时的传播时间。然后基于飞行时间和已知的光速计算距离。

由多种因素引起的反射光信号失真可能会导致传统的lidar系统无法准确确定反射光返回到光传感器的时间。例如,返回信号时间的1纳秒变化可能对应于估计距离的大约15厘米的变化。可能导致反射光信号失真的一些因素可能包括表面反射性很高、表面与lidar单元非常接近等。

由于lidar系统每秒可能进行数千甚至数百万次测量,因此要检测反射光信号的返回信号时间是否存在如此小的变化并不容易。在许多情况下,由于根本无法检测到反射光信号返回时间的变化,因此发现该问题变得更加困难。lidar系统会检测到延迟的返回并不准确地测量到物体的距离。

此外,在某些高噪声或低噪声条件下,很难将返回信号与噪声区分开。例如,晴朗条件可能会产生很强的噪声功率带,从而会使返回信号变得模糊。传统的lidar系统设置阈值并滤除掉低于该阈值的任何信号。这有效地滤除了噪声,但也滤除了低于阈值的较弱的返回。此外,由于对于较远距离的物体而言返回信号的强度较低,因此设置高阈值会显著地减小lidar系统的范围。

附图说明

参照附图进行详细描述。在附图中,附图标记的最左边的数字标识该附图标记首次出现在其中的附图。不同附图中的相同附图标记表示类似或相同的项目。

图1示出了可以在示例lidar系统的lidar信道中使用的组件的框图。

图2a示出了不饱和返回信号的示例信号图。

图2b示出了饱和返回信号的示例信号图。

图3示出了用于从多个光检测器中选择光检测器以确定到物体的距离的示例过程的流程图。

图4a示出了分类器和检测器的附加或替代示例架构的框图,其中分类器选择多个检测器中的一个的输出以作为距离测量结果来输出。

图4b示出了用于基于lidar系统的组件的非线性来校准光检测器输出的示例架构。

图5示出了根据用于使返回信号与参考信号相互关联的示例过程而接收和生成的示例波形。

图6a-6f示出了用于检测饱和返回信号的上升沿的示例过程的示例信号图。

图7a-7c示出了示例接收信号和用于确定有效脉冲的静态阈值。

图7d示出了示例接收信号和用于确定有效脉冲和/或用于将信号分类为饱和信号的动态本底噪声。

图8示出了可以并入本文讨论的lidar系统的示例自动驾驶车辆的框图。

具体实施方式

lidar系统通常具有至少一个光发射器和对应的光传感器,其中一对光发射器和光传感器通常被称为信道。光发射器可以包括诸如注入激光二极管(ild)的激光器,其将高度相干的光朝着物体或表面的方向引导。光传感器可以包括诸如光电倍增管或雪崩光电二极管(apd)的光电检测器,其将光传感器处的光强度转换成对应的电信号。诸如透镜或镜子的光学元件可以在光传输和接收路径中用于聚焦和引导光。

一些lidar设备可以测量场景中多个表面点的距离。对于每个表面点,lidar系统可以确定表面点的距离及其相对于设备的角度方向。此功能可用于创建包括多个表面点的三维坐标的点云。

但是,高反射率的物体、在空间上靠近lidar设备的物体、光传感器的温度、光发射器和/或光传感器的非线性等因素可能会导致当光传感器检测到返回信号时,光传感器生成的电信号失真。由于此返回信号用于测量到物体表面的距离,并且由于返回信号中的仅纳秒级的水平偏移可能对应于距离测量结果的大约15厘米的差异,因此这些干扰可能会大大降低传统lidar设备的准确性。在一些示例中,可能期望达到5厘米或更小的准确性,这要求能够准确地确知接收到返回信号的时间(误差低至三分之一纳秒或更短)。

例如,光发射器可以发射光脉冲,该光脉冲从诸如后向反射器、路牌或镜子的高反射率物体反射。当光传感器接收到此光脉冲时,由物体的反射率(或接近度)引起的在传感器处接收到的光的强度可能超过光传感器生成随脉冲强度成比例变化的电信号的能力。换句话说,反射光脉冲的强度对应于比光传感器能够产生的电信号值更高的电信号值。在一些示例中,由光传感器生成的电信号可以由模数转换器(adc)转换成数字信号。更糟的是,在某些情况下,光传感器生成的电信号可能会超出adc的最大动态范围,因此,与光传感器问题类似,adc产生的数字信号不能反映与光传感器产生的电信号相对应的足够高的光传感器的幅值。这种类型的信号可以被称为“饱和信号”-例如,其中返回信号的幅值由光传感器和/或adc的最大能力限制。在一些示例中,可以通过降低光发射功率和/或缩放adc输出来减少饱和信号的发生。然而,在一些示例中,这仍然不足以防止接收到饱和信号。

饱和信号降低了用于确定光脉冲的发射与光脉冲的接收之间的延迟的一些方法的准确性,因为由于峰被截断,所以不能直接测量与返回脉冲的峰相对应的时间。例如,一些方法包括使返回信号的峰与参考信号的峰互相关。当返回信号饱和时,无法轻松确知与信号峰相对应的时间,并且将饱和信号与参考信号互相关会导致错误的延迟确定,进而导致由延迟确定的距离也是错误的。

本文讨论的技术(例如,机器、程序、过程)例如通过将返回信号的类型分类为饱和或不饱和,以及至少部分地基于该类型选择多个检测器中的一个检测器的输出作为估计距离输出,来提高确定发射光脉冲与在光传感器处接收反射光脉冲之间的延迟(例如,到达时间延迟(tdoa))的准确性。在一些示例中,对返回信号的类型进行分类可以包括确定返回信号的高度(即,幅值的指示,其与本文中的术语“幅值”等同地使用)、返回信号的宽度和/或对于预定数量的样本(例如,连续数量的样本)而言返回信号中的一个或多个样本是否超过阈值幅值。这样,可以提高根据延迟确定的距离的准确性。当这些距离用于控制自动驾驶车辆时,提高检测光脉冲被反射到光检测器上的时间的准确性可能能够拯救生命。这些技术不仅可以提高自动驾驶车辆的安全性,而且可以提高机器人移动的准确性和/或根据lidar数据生成的三维地图。

在一些示例中,lidar设备可以包括多个检测器,在一些示例中,该多个检测器可以基本上同时(即,在同时接收的技术公差内)接收所接收的信号,然后可以从多个检测器中的一个或多个生成输出。分类器可以将所接收的信号分类为特定类型(例如,饱和或不饱和),并且可以至少部分地基于该类型来选择一个或多个检测器的输出中的一个,以由lidar设备作为距离测量结果输出。在另一个示例中,分类器可以至少部分地基于该类型来选择检测器,然后可以将所接收的信号提供给检测器,以使检测器生成输出。

在一些示例中,多个检测器可以包括不饱和信号检测器,该不饱和信号检测器至少部分地基于将所接收的信号与参考信号相互关联来确定tdoa。所述多个检测器可以附加地或替代地包括饱和信号检测器,该饱和信号检测器至少部分地基于检测所接收的信号的上升沿来确定tdoa。在一些示例中,所述多个检测器可以包括附加的检测器,其可以使用各种技术来确定tdoa、从噪声中区分出有效信号或信号的其他特性。例如,所述多个检测器可以包括互相关检测器、前沿检测器、解卷积检测器、频域分析检测器等。在一些示例中,可以由分类器进行有效信号区分。

本文讨论的技术还可以将有效返回信号(例如,由光传感器生成的电信号的与返回信号相对应的部分)与纯噪声区分开。例如,本文讨论的技术可以包括确定用于识别有效返回信号的动态本底噪声。也就是说,可以基于所接收的信号的特性来动态地调整本底噪声。例如,可以至少部分地基于所接收的信号的移动平均值来调整本底噪声。在一些示例中,该技术可以包括将所接收的信号的与超过动态本底噪声的幅值相关联的样本识别为有效脉冲。在附加或替代示例中,可以从连续样本的超过动态本底噪声的阈值数量(例如,连续3个样本超过动态本底噪声)中识别出有效脉冲。在一些示例中,可以至少部分地基于所接收的信号的附加特性(例如,所接收的信号的高度和/或宽度)来缩放和/或平移动态本底噪声。在噪声较大的时间段期间(例如,在阳光明媚的情况下)提高动态本底噪声可以减少将噪声检测为有效返回信号的假阳性识别以及未将有效返回信号识别为有效返回信号的假阴性,从而提高lidar距离测量结果的准确性,以及提高依赖于距离测量结果的机器(例如,自动驾驶车辆,机器人附件)的安全性和准确性。通过在低噪声时间段期间(例如,夜间)动态地降低本底噪声,lidar系统能够区分出低强度的有效返回信号,从而提高lidar系统的范围。

示例lidar系统

图1示出了可用于执行距离测量的示例lidar系统100的组件的框图。

在一些示例中,示例lidar系统100可以包括信道,该信道包括光发射器102和对应的光传感器104。如下所述,信道用于发射激光脉冲并测量脉冲的反射特性。图1描绘了单个测量信道(例如,光发射器/光传感器对),但是可以设想,示例lidar系统100可以包括多个信道。本领域的技术人员将理解,光发射器和光传感器的数量可以成倍增加到超出所描绘的单个激光发射器和光传感器。术语“信道”还可以涵盖与发射器/传感器对相关联的支持电路,并且所述支持电路中的至少一些可以在多个信道之间共享(例如,adc、检测器、分类器)。

在一些示例中,光发射器102可以包括产生波长在600和1000纳米之间的光的激光发射器。在附加或替代示例中,所发射的光的波长可以在10微米至250nm之间的范围内。光发射器102可以发射功率和/或波长不同的光脉冲(例如,激光脉冲)。例如,示例光lidar系统100的激光发射器中的一些可以发射905纳米的光,而激光发射器中的其他激光发射器可以发射1064纳米的光。然后可以交替使用不同波长的激光发射器,以便所发射的光在905纳米和1064纳米之间交替。可以类似地将光传感器配置为对相应的波长敏感并滤除其他波长。

激活或开启发射器可以称为“激发”发射器。在一些示例中,可以激发光发射器102以创建具有短持续时间的光脉冲。此外,为了节省电力,lidar系统100可以至少部分地基于检测到的光脉冲将被发射到其中的环境的条件(例如,低光/低噪声条件)来降低所发射的光脉冲的功率。

对于单个距离测量,可以控制激光发射器102穿过透镜106沿着向外路径108发射一束激光脉冲(即一个或多个)。该束激光脉冲沿着返回路径114被lidar周围环境的表面110反射,穿过透镜112并到达光传感器104。在一些示例中,lidar可以包括位于底盘内的多个激光发射器,以穿过一个或多个透镜向外投射激光。在一些示例中,lidar还可以包括多个光传感器,以使得来自任何特定发射器的光穿过一个或多个透镜被反射到对应的光传感器。

在一些示例中,透镜106和透镜112是同一透镜,为清楚起见而冗余地进行描绘。在其他示例中,透镜112是第二透镜,其被设计为使得来自lidar的壳体内的不同物理位置处的激光发射器102的光束被以不同角度向外引导。具体地,第一透镜106被设计为在对应且唯一的方向上引导来自特定信道的激光发射器102的光。第二透镜112被设计为使得该信道的对应光传感器202接收来自相同方向的反射光。

在一些示例中,激光发射器102可以由控制器116控制,该控制器116实现用于多个信道的控制和分析逻辑。控制器116可以部分地由现场可编程门阵列(“fpga”)、微处理器、数字信号处理器(“dsp”)或这些和/或其他控制和处理元件中的一个或多个的组合来实现,并且可以具有用于存储相关联的程序和数据的相关联的内存。为了使用单个信道发起单个距离测量,控制器116可以生成触发信号。该触发信号可以由脉冲发生器接收,脉冲发生器可以响应于触发信号而生成脉冲串信号118。在一些示例中,脉冲串信号118可以包括一对顺序脉冲,其指示应当激活或打开激光发射器102的时刻。在一些示例中,脉冲的上升沿可以用于指示应该激活(激发)激光发射器102的时刻,尽管脉冲串信号118的任何其他特征都可以用来激活激光发射器102(例如,下降沿)。在一些示例中,脉冲发生器可以是控制器116的一部分。

在脉冲串信号118包括一对顺序脉冲120的实施方式中,脉冲串信号118可以由光发射器102接收并且使光发射器102发射一对顺序的激光脉冲。光发射器102可以发射在时间上与脉冲串信号118的脉冲相对应的光120。尽管出于说明性目的在图1中将其描绘为两个脉冲,但是可以设想任何数量的脉冲(例如一个或多个)。在一些示例中,触发信号、脉冲串信号118和/或由光发射器102生成的信号可以用于确定tdoa。例如,可以基于这些信号中的一个或多个来记录与光的发射相对应的时间(例如,由控制器116生成的时钟信号的样本编号)。后续组件(例如,检测器和/或分类器)可以使用该时间来确定tdoa。

假设所发射的激光从物体的表面110反射,则光传感器104可以接收反射的光并产生返回信号122(或光传感器输出信号)。返回信号122可以与由光发射器102发射的光脉冲120具有大致相同的形状,尽管其由于不同发射器/传感器对之间的噪声、干扰、串扰、来自其他lidar设备的干扰信号等而有所不同。返回信号122还将相对于光脉冲120延迟与发射的激光脉冲串的往返传播时间相对应的量。

在一些示例中,光传感器104可以包括雪崩光电二极管(“apd”)和/或用于基于在光传感器104处检测到的光来生成信号的任何其他合适的组件。在一些示例中,光传感器104还可以包括放大器,该放大器可以包括电流-电压转换器放大器(例如跨阻抗放大器(“tia”))。无论如何,该放大器可以是被配置为转换返回信号,使得读取该信号的下游组件(诸如adc)可以准确地读取信号的任何放大器。

在一些示例中,adc124可以接收返回信号122并在产生接收信号126时并将返回信号122数字化。接收信号126可以包括指示返回信号122随时间的幅值的数字值流。在一些示例中,adc124可以被编程为以与由控制器116生成的时钟信号匹配的频率对返回信号126进行采样,以简化对tdoa的确定。如本文所用,接收信号126的“样本”包括离散样本编号处的返回信号122的幅值的表示。这些离散样本编号可以与可用于确定tdoa的模拟时间相关联(例如,通过参考采样频率来确定延迟时间)。

离散样本的幅值的表示可以至少部分地基于adc124的规模。例如,adc126可以具有16位输出,因此可以将返回信号122的电流或电压表示为16位值。adc124的输出的最高值可以被称为adc124的最大动态范围。在一些示例中,adc124的规模可以至少部分地基于发射的光120的功率和/或检测到的环境条件(例如,信噪比(snr),本底噪声)来设置。然而,高反射率表面和/或非常接近光发射器/光传感器的表面可以比预期反射更多的光到光传感器104上,使得光传感器104输出超过adc124的最大动态范围的返回信号122。换句话说,在这种情况下,adc124将输出最大可能值(例如,对于16位而言是无符号整数输出“65535”),但是该值将“不够高”以准确地反映返回信号122和/或所接收的信号无法被adc解析,因为本底噪声和所接收的信号之间的范围不够高。在附加或替代示例中,由物体反射到光传感器104上的光可以类似地超过光传感器104产生准确反映在光传感器104处接收的光的强度的电流或电压的能力。

这些条件在本文中被称为光传感器104和adc124的“饱和”。不管光传感器104或adc124中的一个或两个是否以如上所述的方式饱和,由光传感器104和/或adc124的饱和产生的接收信号126可以被称为饱和信号。

在一些示例中,检测器128(1)-(n)接收该接收信号126,并从其确定距离d1...dn(130(1)-(n))。例如,检测器128(1)可以接收该接收信号126,并且可以至少部分地基于该接收信号126基于检测器的编程和/或电路布局来确定距离130(1)。在一些示例中,检测器128(1)-(n)可以附加地或替代地从控制器116接收时钟信号、对光脉冲120被光发射器102发射的时刻的指示和/或足以确定tdoa的任何其他指示(例如,光传感器温度,光发射功率),检测器可以根据该tdoa计算距离。

例如,检测器128(1)-(n)可以包括用于确定不饱和信号的tdoa的检测器、用于确定饱和信号的tdoa的检测器、用于基于光传感器温度和/或传输器确定tdoa的检测器,和/或其组合。在一些示例中,由不同的检测器128(1)-(n)确定的距离130(1)-(n)可以基于检测器的编程和/或电路的布置的变化而变化。例如,不饱和信号检测器可以基于使接收信号126与参考信号相互关联的编程/电路来确定tdoa,而饱和信号检测器可以基于检测接收信号126的上升沿的编程/电路来确定tdoa。检测器128(1)-(n)可以至少部分地基于tdoa和光速来确定距离130(1)-(n)。在一些示例中,可以通过关于图4b更详细讨论的校准技术来修改这些距离(或tdoa)。

图1示出了示例系统100的配置的一个潜在示例,而图4a示出了示例系统100的附加或替代配置。例如,在图1中,分类器132可以从检测器128(1)-(n)接收距离130(1)-(n)和/或其他确定(例如,接收信号126的宽度和/或高度的指示),并且可以至少部分地基于距离130(1)-(n)、由检测器128(1)-(n)确定的其他数据(例如,宽度,高度)、从控制器116接收的信号和/或所接收的信号126本身选择距离130(1)-(n)中的一个作为选择的距离134输出。在其他示例中,诸如在图4a中,检测器128(1)-(n)和分类器132可以同时接收该接收信号126,分类器132可以确定接收信号126的类型,并且至少部分地基于该类型,分类器132可以选择由检测器128(1)-(n)中的一个确定的距离中的一个以供输出。在一些示例中,分类器132可以接收该接收信号126,将接收信号126分类为某个类型,并且至少部分地基于该类型来选择检测器128(1)-(n)中的一个以将接收信号204传输到其中。

在一些示例中,检测器128(1)-(n)和/或分类器132可以至少部分地由fpga、微处理器、dsp板等实现。在一些示例中,可以将选择的距离134输出到感知引擎以包括在点云中或用于渲染示例lidar系统100周围的环境的表示。在一些示例中,点云和/或环境的其他表示可以用于确定用于操作自动驾驶车辆、机器人附件、视频游戏系统输出等的控制信号。

注意,出于描述大体特征的目的,图1以简化的方式示出了逻辑组件和信号。在实际实施方式中,可以生成并使用各种类型的信号,以激发激光发射器102,并测量激光发射器102的输出与光传感器104感测到的反射光之间的tdoa。

示例接收信号

图2a示出了不饱和返回信号200的示例信号图,图2b示出了饱和返回信号202的示例信号图。注意,不饱和返回信号200具有可识别的最大幅值204(或等效地,高度),该最大幅值204可用于与参考信号互相关(或以其他方式)以识别与tdoa相对应的样本编号,而饱和返回信号202以其“平坦顶部”而显著,该平坦顶部没有可辨别的最大值。这种“平坦顶部”是由于adc和/或光传感器随着入射在光传感器上的光的强度持续增加而产生幅值持续增加的输出的能力的饱和而导致的。如以上部分所述,入射在光传感器上的光的强度是传输功率(即,从光发射器发射的脉冲的功率)、反射发射脉冲的表面与光传感器的接近程度、表面的反射率等的函数。仅仅将饱和返回信号202的最大幅值估计为在上升沿206和下降沿208之间的中途是不够的,因为与中途点相对应的样本编号并不总是与实际最大值相对应。如在图2b中可以观察到的那样,有时饱和信号的下降沿208可以包括比上升沿206的上升尾部更长的尾部,这指示可能由高反射率或非常接近的物体引入的非高斯特征。

图2b还示出了阈值幅值210、第一宽度212和第二宽度214。第一宽度212是与样本(所述样本与接收信号208的最大幅值的变化幅度相关联)相关联的宽度(例如,样本的数量,时间)。例如,尽管图2a和图2b中的信号图描绘了“平滑”信号,但实际上,由于噪声,信号更有可能被“锯齿化”,并且可能包含异常值。因此,可以针对与如下幅值相关联的样本来计算第一宽度212:所述幅值位于与“平坦顶部”相关联的平均最大高度和/或最左边的样本的最大高度的某个偏差内。第二宽度214是在上升沿206达到阈值幅值210的点与下降沿208达到阈值幅值210的点之间计算的宽度。下面将更详细地讨论这些宽度。在一些示例中,不饱和信号的高度可以用于校准不饱和信号检测器输出,饱和信号的宽度可以用于校准饱和信号检测器和/或将饱和信号分类为饱和。

示例过程

图3示出了使用包括多个光检测器的lidar系统来选择检测器以确定到物体的距离的示例过程的流程图。在操作302中,示例过程300可以包括根据本文讨论的技术中的任何一种发射光脉冲。在一些示例中,这可以包括激发激光发射器,该激光发射器将一个或多个激光脉冲发射到激光发射器所处的环境中。

在操作304中,示例过程300可以包括根据本文讨论的技术中的任何一种接收指示反射光脉冲的接收的信号。在一些示例中,这可以包括从环境中将光脉冲的至少一部分反射到光传感器的物体接收光。如上所述,光传感器可以包括雪崩光电二极管,该雪崩光电二极管将入射到光传感器的光的强度转换成电流。在一些示例中,如上所述,该电流可以被放大、转换和/或采样,并且最终由分类器和/或检测器作为接收信号来接收。在一些示例中,接收信号包括数字信号,该数字信号在每个离散样本处包括由光传感器生成的电流的幅值的指示。如本文所用,该指示的相对幅值被称为接收信号的“高度”或“幅值”,即使本领域技术人员将理解,但是要说明的是,接收信号的值是幅值的表示,而不是传感器处的光的强度的真实值。

在操作306中,示例过程300可以包括根据本文讨论的技术中的任何一种检测接收信号包括有效脉冲。在一些示例中,这可以包括分类器至少部分地基于动态本底噪声将接收信号分类为有效脉冲,如下面更详细地讨论的那样。例如,分类器可以连续地确定动态本底噪声,并且将与未达到动态本底噪声的幅值相关联的样本分类为噪声(然后返回到操作304),并且将与超过本底噪声的幅值相关联的样本分类为有效脉冲(然后继续到操作308)。在一些示例中,要被分类为有效脉冲,分类器可以进一步要求在将那些样本和超过动态本底噪声的后续样本分类为有效脉冲之前,阈值数量的样本超过动态本底噪声。

在操作308中,示例过程300可以包括根据本文讨论的技术中的任何一种将接收信号分类为某个类型。例如,分类器可以将信号分类为包括如下类型的类型:不饱和的;饱和的;嘈杂的(例如,与超过snr阈值的snr值相关联);有效信号(即,对应于发射光脉冲的返回脉冲);噪声(例如,不是有效信号);其组合等。例如,示例过程300可以包括:确定本底噪声,并对于那些超过本底噪声的样本和/或对于超过本底噪声的阈值数量的连续样本,至少部分地基于有效信号的高度超过本底噪声而将接收信号分类为有效信号。在附加或替代示例中,示例过程300可以包括:至少部分地基于信号的宽度、adc的最大动态范围和/或确定阈值数量的样本与超过阈值幅值的高度相关联来确定接收信号是饱和信号。

在一些示例中,在操作308中,如果分类器确定接收信号与噪声而不是返回脉冲相关联,则示例过程300可以返回到操作304。例如,分类器可以确定接收信号未超过动态本底噪声,如下面更详细地讨论的那样。

在操作310(a)/310(b)中,示例过程300可以包括根据本文讨论的技术中的任何一种,至少部分地基于所述类型,从多个检测器中选择检测器。例如,分类器可以选择检测器以将接收信号传输到其中,或者在某些布置中,分类器允许接收信号传递到选择的检测器(例如,经由控制到检测器的开关),以使选择的检测器处理接收信号。在附加或替代示例中,当分类器接收该接收信号时,多个检测器可以同时接收该接收信号,并且在操作310中,分类器可以选择多个检测器中的一个的输出(例如,经由控制接收多个检测器的输出作为输入的多路复用器或开关)。

例如,在操作310(a)中,示例过程300可以包括:至少部分地基于将接收信号分类为包括接收信号是不饱和的指示的类型,选择第一检测器以例如通过互相关来根据接收信号确定tdoa。在附加或替代示例中,可以使用任何方法来确定tdoa。例如,可以使用直接延迟计算来确定参考信号中的峰与接收信号中的峰之间的延迟。在一些示例中,在确定选择第一检测器时,该类型可以附加地包括接收信号是“有效脉冲”的指示。在操作310(b)中,示例过程300可以包括:至少部分地基于将接收信号分类为包括接收信号是饱和的指示的类型,选择第二检测器以通过上升沿检测根据接收信号确定tdoa。在一些示例中,在确定选择第二检测器时,该类型可以附加地包括接收信号是“有效脉冲”的指示。

在操作312中,示例过程300可以包括根据本文讨论的技术中的任何一种,至少部分地基于tdoa,计算到反射光脉冲的物体的距离。在一些示例中,这可以包括至少部分地基于光速和tdoa来计算距离。在一些示例中,选择的检测器可以进行该计算,或者下游组件可以进行该计算。

示例检测器/分类器架构

图4a描绘了示例架构400的框图,该架构400用于对接收信号进行分类并且从多个检测器输出中选择检测器输出以作为估计距离输出。为了简单起见,图4a中描绘的示例架构400包括两个检测器,即不饱和信号检测器402和饱和信号检测器404。可以设想的是,示例架构400中可以采用两个以上的检测器,但是为简单起见,该讨论仅限于这两个检测器。其他检测器可以包括如下检测器:嘈杂信号检测器;特定温度范围的检测器(例如,当光传感器和/或lidar系统在特定温度范围内时,至少部分地基于光传感器的非线性来确定距离和/或tdoa的检测器);特定功率范围的检测器(例如,当发射功率在特定功率范围内时,至少部分地基于光传感器和/或光发射器的非线性来确定距离和/或tdoa的检测器)等。检测器402和404可以代表检测器128(1)-(n)中的两个。

示例架构400还可以包括分类器406,该分类器406可以代表分类器132并且可以接收所述接收信号408,所述接收信号408可以代表接收信号126。在一些示例中,分类器406可以被编程为和/或包括如下电路布置:将有效脉冲与噪声区分开;将接收信号408分类为某个类型;和/或至少部分地基于该类型选择检测器和/或检测器输出。图4a描绘了一个示例,其中分类器406生成选择412以选择检测器402或404中的一个的输出作为选择的距离410输出。

例如,不饱和信号检测器402可以进行接收信号408与参考信号的互相关(如关于图5更详细地讨论的那样)以确定tdoa,不饱和信号检测器402可以根据该tdoa确定第一距离414。在一些示例中,不饱和信号检测器402可以附加地或替代地确定接收信号408的高度416(例如,最大值)。饱和信号检测器404可以被编程为和/或包括如下电路布置:检测接收信号408的上升沿;将上升沿与饱和信号检测器404确定tdoa的时间相互关联;以及根据tdoa计算第二距离418。在一些示例中,饱和信号检测器404还可以确定接收信号408的宽度420(例如,与接收信号408的相同平均最大值相关联的样本数量,从接收信号408的上升沿到下降沿的样本数量)。

在一些示例中,不饱和信号检测器402、饱和信号检测器404和分类器406可以接收该接收信号408,并且分类器406可以将接收信号408分类为某个类型,并且至少部分地基于该类型,可以选择检测器402或404的输出中的一个作为选择的距离410进行传递。在一些示例中,基于选择的检测器,如果选择了不饱和信号检测器402,则还可以传递高度416,或者如果选择了饱和信号检测器404,则可以传递宽度418。在一些示例中,检测器的输出可以是多路复用器422的输入,并且分类器406可以生成选择412,该选择412控制多路复用器输出与选择412相对应的信号。无论采用何种实际实施方式,选择412都可以包括由分类器406生成的控制信号,该控制信号用于选择至少一个检测器的输出作为最终估计距离输出到下游组件和/或供校准器428进行修改。

例如,在接收信号是饱和信号的情况下,不饱和信号检测器402、饱和信号检测器404和分类器406可以接收该接收信号408,并且分类器406可以生成识别饱和信号检测器的输出的选择412(即第二距离418,并且在一些示例中还包括宽度420)。在饱和信号检测器404还确定宽度420的示例中,多路复用器422可以接收选择412,并且使不饱和信号检测器402的输出被阻挡,而使第二距离418作为选择的距离410被传递,且使宽度420被传递。

在一些示例中,检测器402和404可以附加地或替代地包括其他检测器(例如互相关检测器、前沿检测器、解卷积检测器、频域分析检测器等)。例如,这些其他检测器可以用作检测器402和/或404的一部分,和/或可以是接收信号被传递到其中并单独地确定tdoa的完全独立的检测器。在一些示例中,可以在检测器和/或分类器406中的任何一个接收到接收信号408之前对其进行滤波,和/或可以在检测器和/或分类器406的操作中的任何点处对接收信号408进行滤波。例如,接收信号408可以被传递通过低通滤波器以使信号平滑。

在一些示例中,附加的和/或替代的检测器可以包括用于处理分裂光束的检测器,该分裂光束可以在传输脉冲撞击物体,该物体将反射光脉冲分为(在时间上的)两个脉冲时发生(例如,阶梯,首先是从窗户反射,然后是来自窗户后面物体的反射)。例如,解卷积检测器可以确定韦纳解卷积,以在光束被分裂时恢复从光传输器到光传感器的脉冲延迟,和/或频域检测器可以进行最佳滤波和/或频域分析以恢复分裂的光束反射。在一些示例中,解卷积检测器可以至少部分地基于传输的脉冲和接收信号对接收信号进行解卷积。在该示例中,解卷积检测器可以选择彼此相邻和/或彼此最靠近的两个峰来执行tdoa的确定。在一些示例中,可以恢复距一个或多个峰中的每个峰的距离。在附加或替代示例中,可以被检测并弃用与多个峰中的一些峰相关联的小于阈值距离(例如,这可能是由于lidar传感器本身的反射而导致的)的距离。

在一些示例中,分类器406可以至少部分地基于确定接收信号408包括超过由分类器406确定的动态本底噪声的阈值数量(例如,一个以上,三个以上,随着采样率的提高而提高)的样本将接收信号408分类为有效脉冲,这将在下面更详细地讨论。在一些示例中,分类器406可以控制多路复用器422保持关闭(即,不传递输出),直到分类器406将接收信号408分类为有效脉冲为止。例如,分类器406可以连续确定动态本底噪声,并将接收信号408的幅值与动态本底噪声进行比较,并且可以输出选择412,该选择412不允许传递任何检测器输出,直到分类器406确定接收信号408的三个以上的样本与超过本底噪声的幅值相关联。在那时,分类器406还可以将接收信号分类为某个类型,并且改变选择412以指示要传递哪个检测器输出。此外,尽管被描述为动态本底噪声,但是可以设想对有效脉冲的任何其他区分(例如,固定阈值,接收点的数量等)。

在一些示例中,分类器406可以至少部分地基于阈值数量的样本超过动态本底噪声(例如,三个以上,十个以上)、与彼此之间在某个偏差内的幅值相关联的阈值数量的样本(例如,±5个单位,这取决于adc的规模)、阈值数量的样本超过阈值幅值、接收信号408的宽度和/或其组合(在本文中统称为阈值幅值),将接收信号408分类为饱和信号。在一些示例中,分类器406可以至少部分地基于超过阈值幅值的三个以上的样本将接收信号408分类为有效脉冲,并且至少部分地基于超过阈值幅值的126个以上的样本将接收信号408分类为饱和脉冲。在一些示例中,如果接收信号408的超过阈值幅值的样本的数量大于三但小于126,则分类器406可以将接收信号408分类为不饱和信号。尽管该示例使用了数量126,但是用于区分有效不饱和脉冲和有效饱和脉冲的样本数量可以至少部分地基于adc的采样频率而变化。

在一些示例中,分类器406可以包括决策树或其任何布置,诸如随机森林和/或决策树的增强集合;有向无环图(dag)(例如,其中节点被组织为贝叶斯网络);深度学习算法等。在一些示例中,分类器406可以包括:用于确定动态本底噪声的编程和/或电路;用于将接收信号408的幅值与动态本底噪声进行比较的比较器;以及用于驱动引脚状态以指示选择412的逻辑。

在一些示例中,选择的距离410可以被下游组件用作最终的估计距离——例如,用于构建环境的点云表示。在一些示例中,在被下游组件用作最终的估计距离之前,可以通过偏移距离424修改选择的距离410,以确定修改后的距离426,如图4b所示。在一些示例中,校准器428可以接收选择的距离410、高度416和/或宽度420,和/或由发射光所发射的光的功率(传输功率430)。在一些示例中,校准器428可以包括实验值的查找表,该查找表包括偏移距离424,该偏移距离424至少与高度416和传输功率430(对于不饱和信号而言)相关联,或者与宽度420和传输功率430相关联(对于饱和信号而言)。在一些示例中,偏移距离可以附加地是选择的距离410、光传感器和/或lidar系统的温度等的函数。在一些示例中,可以通过记录到物体的实际距离与检测器估计的距离之间的变化、改变功率传输器的传输功率以及改变表面的反射率(例如,使用中性密度滤波器)以生成具有不同高度和宽度的接收信号,来给表格输入数据。例如,校准器428可以确定,对于光传感器为华氏75度、传输功率430为35毫瓦、接收信号功率(即,高度)为32毫瓦的不饱和信号,选择的距离410应被调整-5毫米。校准器428可以从选择的距离418中减去该距离,并且将修改后的距离426提供给下游组件作为最终估计距离。校准器428从而可以考虑光发射器和/或光传感器中的非线性,从而进一步提高估计距离的准确性。

在一些示例中,校准器428可以包括查找表,该查找表将实验传输功率和接收信号的实验接收高度和/或宽度映射到距离偏移,该距离偏移是通过对到测试物体的测量距离和基于接收信号的估计距离进行差运算确定的。在一些示例中,为了在线确定偏移距离,校准器428可以对实际传输功率和接收信号的高度和/或宽度进行双线性和/或双三次插值以确定距离偏移。在一些示例中,为了考虑在给查找表输入数据的期间随时间变化的温度波动,到物体的距离可以保持恒定并且由系统在不同的操作温度下估计。可以拟合温度与估计距离(和/或估计距离的变化与测量距离)的曲线。在一些示例中,曲线可以包括直线(line)。这样,校准器428可以通过曲线指定的距离变化来调整距离偏移。这样做的话,由于可以基于曲线或直线针对温度调整距离偏移,因此查找表无需包括温度尺寸。

示例不饱和信号检测器

图5描绘了发射光脉冲、指示反射光脉冲的不饱和接收信号以及发射光脉冲与接收信号之间的互相关的答题特征。在一些示例中,不饱和信号检测器可以根据以下讨论来确定tdoa。

图5示出了代表由激光发射器发射的光的时间和强度的第一波形502。用于单个距离测量的光以多个脉冲的序列或脉冲串的形式发射,在此示例中包括一对脉冲504(a)和504(b),每个脉冲的宽度约为5至50纳秒。然而,在其他示例中,可以使用具有两个以上的持续时间更长或更短的脉冲的脉冲序列或脉冲串。在所示的示例中,该对脉冲以具有持续时间t1的时间间隔彼此间隔开。在一个实施例中,每个脉冲的时间间隔持续时间在20到50纳秒之间变化。脉冲是由电容器通过激光发射器的放电而生成的,因此具有高斯形状。

图5示出了第二波形506,该第二波形506表示由光传感器接收和检测的反射光的幅值(诸如可以由接收信号126和/或408指示)。第二波形506包括分别与脉冲504(a)和504(b)相对应的一对脉冲508(a)和508(b)。然而,第二波形506的脉冲相对于第一波形502延迟了时间t2。第二波形506的脉冲之间的时序关系应该与发射的脉冲504的时序关系相同。

图5示出了代表第一波形502和第二波形506之间的互相关的第三波形510。第三波形510的最高峰512在时间上对应于ti,ti是发射的第一波形502与被检测的第二波形506之间的时间差。正是这个时间t2对于饱和脉冲是无法识别的,因为饱和信号的平坦顶部不会产生与时间ti准确地相互关联的峰。因此,根据图4a的配置,如果接收信号408是饱和信号,则由不饱和信号检测器确定的第一距离414可能是不准确的。

示例饱和信号边沿检测

图6a-6f描绘了一种针对饱和的接收信号确定反射脉冲在光传感器处的到达时间的技术。在一些示例中,该到达时间可以用于确定tdoa,以用于确定第二距离418。例如,饱和信号检测器404可以包括用于执行图6a-6f中描述的技术的编程和/或电路。在一些示例中,该技术包括检测接收信号(其可以表示接收信号126和/或408)的边沿。如下所述,这可以包括确定上升沿上的特定位置(在本文中称为“中间位置”),并识别与该中间位置相对应的样本编号(例如,可能是分数样本,因为整数样本编号可能不精确地对应于该位置)。

图6a描绘了可以表示接收信号126和/或408的接收信号600。在一些示例中,分类器可能已经将接收信号126分类为“饱和信号”类型,并且将接收信号600传递给饱和信号检测器,或者在另一个示例中,饱和信号检测器可以连续接收该接收信号126并确定输出,从而允许分类器确定何时传递饱和信号检测器的输出(例如,当分类器已经将接收信号126分类为指示有效脉冲并且饱和时)。

在操作602中,饱和信号检测器可以确定接收信号600在时间上/与最低样本编号相关联(例如,与来自例如adc的饱和值相关联的第一样本)的第一最大值604。与该值相关联的样本可以被称为图6a中所指示的最左边的样本606(即,在时间/样本序列中最早),并且在本文中也被称为最大样本。在一些示例中,可以从未滤波版本的接收信号中检测第一最大值,并且在一些示例中,可以对滤波版本的接收信号进行后续操作。例如,在操作602中,检测器可以从未滤波的接收信号中识别出第一最大值,对接收信号进行滤波(例如,使用低通滤波器,使用其他滤波器或操作,这取决于附加的检测器功能,例如,对接收信号进行傅立叶变换,以识别接收信号的频域分量),然后进行操作608。在一些示例中,确定第一最大值可以包括使用最大值定位技术,其包括结合了方差以考虑噪声的技术。例如,可以至少部分地基于snr、噪声功率、下面讨论的动态本底噪声或当前噪声的其他指标来设置方差。

图6b描绘了操作608。在操作608中,饱和信号检测器可以将第一多项式曲线610拟合到最左边的样本606和至少两个先前的样本612和614。在一些示例中,第一多项式曲线610可以包括二阶或三阶多项式函数。可以采用任何合适的曲线拟合技术。例如,饱和信号检测器可以使用最小二乘回归分析和/或非线性最小二乘回归分析(例如,阻尼因子至少部分地基于噪声功率、动态本底噪声和/或snr的高斯-牛顿算法)来确定第一多项式曲线610。

图6c描绘了操作616,并且为了清楚起见,已去除了接收信号600的一部分。在操作616中,饱和信号检测器可以至少部分地基于第一多项式曲线610来定义中间阈值幅值618。例如,饱和信号检测器可以从第一多项式曲线610确定合成最大值620,并且将中间阈值幅值618定义为是合成最大值620的预定百分比的值(例如,最大值的60%,介于50%和80%之间的任何百分比,低至40%的百分比,但结果的不准确性增加)。在一些示例中,饱和信号检测器将中间阈值幅值618定义为合成最大值620的60%。

在一些示例中,饱和信号检测器可以通过识别第一多项式曲线610的最大值(例如,局部最大值,全局最大值,这取决于多项式的阶数)来确定合成最大值620。注意,尽管图6c将第一多项式曲线610描绘为直线段,但是在实际实施方式中,第一多项式曲线610可以至少包括位于最左边的样本606附近的局部最大值。在附加或替代示例中,饱和信号检测器可以通过在对应于最左边的样本606的样本编号处评估多项式曲线来确定合成最大值620(例如,将样本编号“插入”多项式)。在一些示例中,操作616还可以包括检查多项式曲线的系数以确保该多项式曲线包括凹形形状和/或确保该系数指示该多项式曲线是二阶、三阶或更高阶多项式。这可以在确定合成最大值620之前完成,以确保可以找到最大值并确保后续操作的准确性。

操作616可以附加地或替代地包括确定第一多项式曲线610的与中间阈值幅值618相交的点622。

图6d描绘了操作624。在操作624中,饱和信号检测器可以确定接收信号600的最接近点622(即第一多项式曲线与中间阈值幅值的相交点)的至少三个样本。在一些示例中,可以找到接收信号600的最接近的六个样本,如图6d中的626(1)-(6)所示。

图6e描绘了操作628,并且为清楚起见,已去除了接收信号600的一部分。在操作628中,饱和信号检测器可以将第二多项式曲线630拟合到三个以上的样本(图6e中的六个样本626(1)-(6)),其在本文中被称为“中间样本”。再次,可以使用任何合适的拟合算法来将第二多项式曲线630拟合到中间样本,并且第二多项式曲线630可以是二阶或三阶多项式。在一些示例中,代替使用多项式曲线630,可以将直线拟合到最接近第一多项式曲线与中间阈值幅值的相交点的中间样本。在这样的示例中,在操作628中,饱和信号检测器可以将直线拟合到两个以上的样本。

图6f描绘了操作632。在操作632中,饱和信号检测器可以确定第二多项式曲线630和中间阈值幅值618的第二相交点634。该点在本文中称为中间点634。在一些示例中,中间点634是接收信号600的上升沿的指示。在一些示例中,饱和信号检测器可以确定与中间点634相对应的样本编号636(其在本文中称为样本索引)。该样本编号636可以包括分数样本编号(例如,可以内插在两个样本之间)。在一些示例中,饱和信号检测器可以使用与中间点634相对应的样本编号636来确定tdoa。例如,饱和信号检测器可以从控制器接收参考信号,以对从对应于从光发射器发射光脉冲的样本编号直到样本编号636的时间进行计时。将其转换为tdoa可以包括确定在发射光脉冲的样本编号与样本编号636(即,与通过所述边沿检测技术估计的到达时间相对应的样本编号)之间的分数样本编号,并使用与参考信号的延迟和频率(其可以与adc的采样率匹配或相互关联)相对应的分数样本编号,以将样本编号的延迟转换为时间延迟。在一些示例中,饱和信号检测器可以使用tdoa来至少部分地基于光速来确定距离(例如,第二距离418)。在一些示例中,饱和信号检测器可以输出该距离。

在一些示例中,如果样本编号636在预定范围(例如,样本编号的范围)之外,则饱和信号检测器可以弃用中间点634,这与无效边沿检测相对应。例如,并且取决于adc的采样频率,如果样本编号低于样本编号2或高于样本编号5,则饱和信号检测器可以弃用样本编号636。在另一个示例中,如果样本编号低于样本编号1或高于样本编号6,则饱和信号检测器可以弃用样本编号636。这是一个非常宽泛的范围,尽管通常2到5的范围是安全的,但这可以确保真实有效脉冲的边沿检测不被弃用。

在附加或替代示例中,饱和信号检测器可以输出接收信号600的宽度。例如,饱和信号检测器可以使所描述的过程反向以找到中间点634,进而找到右侧中间点(例如,通过找到与最大幅值相关联的最右边的样本,以及跟随最右边的样本的至少两个样本,拟合这些样本的第一多项式等),以及可以测量左侧中间点634和右侧中间点之间的宽度(例如,之间的分数样本数量,之间的时间)。在附加或替代示例中,“平坦顶部”的宽度可以用作宽度或者可以使用任何其他方法(例如,与接收信号600的最大幅值相关联的在方差内的分数样本数量)。

示例有效脉冲检测

图7a至图7c示出了例如各自包括有效脉冲706(被描绘为饱和信号)的接收信号700、702和704的信号图。接收信号700、702和704的其余部分是纯噪声。接收信号700、702和704可以代表本文讨论的任何接收信号。“有效脉冲”是信号的与发射的光脉冲的反射相对应的真阳性部分。图7a至图7c均描绘了静态阈值幅值708,并且举例说明了诸如用于准确地识别有效脉冲和/或将信号分类为饱和信号的系统的潜在故障。

例如,图7a可以通过确定与接收信号700的有效脉冲区域相关联的样本超过阈值幅值708来准确地识别接收信号700的有效脉冲706部分。然而,该方法可能将噪声中的毛刺710识别为有效信号,这是假阳性。该噪声毛刺710可归因于掠过的阳光直射光传感器(例如,来自反射表面的反射)、夜间的头灯等。在一些示例中,可以通过将与超过阈值幅值708的幅值相关联的多个样本(连续数量的样本)识别为有效脉冲来防止这种情况。

但是,在某些情况下,这不足以防止假阳性和假阴性。例如,图7b可以描绘在夜间条件下接收的接收信号702,其中,可以降低光发射器的传输功率以节省能量,和/或其中,噪声条件的突然的变化和/或物体(例如茂密的树叶)的反射率降低了所接收的总功率。在该示例中,由于接收信号702的任何部分都没有超过阈值幅值708,所以有效脉冲706将不会被识别为有效脉冲。取而代之,有效脉冲706将被识别为噪声,这是假阴性。

此外,在晴朗条件或其他的高噪声条件下,如图7c所示,接收脉冲704可能会完全超过阈值幅值708。在该示例中,整个接收信号704都会被识别为有效脉冲,即使对于有效脉冲部分这是真阳性,但是对于信号的噪声部分这是假阴性。

尽管在采用adc的示例中,adc可以根据总功率缩放其输出,从而对接收信号进行归一化,但这可能不足以避免上述使用静态阈值识别有效脉冲的问题。

图7d示出了:示例接收信号712(实线),其包括有效脉冲714和噪声毛刺716;动态本底噪声718(微虚线);以及调整后的动态本底噪声720(重虚线)。接收信号712可以代表本文讨论的任何接收信号。在一些示例中,本文讨论的分类器可以确定动态本底噪声和/或调整后的动态本底噪声,以将接收信号712的至少一部分分类为有效脉冲(即,区分有效脉冲与纯噪声)和/或将接收信号712(例如,接收信号712的有效脉冲部分)分类为某个类型。在一些示例中,这可以有效地将有效脉冲(即,由光发射器发射的光从物体的反射)与纯噪声区分开。噪声可通过光电二极管中的噪声、环境中的背景光(例如,光传感器的视野中的、但不归因于发射光的反射的光)、红外辐射、太阳能噪声、电气和/或热噪声等被引入接收信号712中。

在一些示例中,分类器可以至少部分地基于计算接收信号712的移动平均值来确定动态本底噪声718。在一些示例中,移动平均值可以至少部分地基于接收信号712的最后移动平均值和当前值(例如,幅值,高度)。在一些示例中,移动平均值可以是简单的移动平均值、加权移动平均值、指数移动平均值等。在一些示例中,最后的移动平均值可以比接收信号712的当前值被赋予更大的权重。例如,可以如下计算当前第n个样本的移动平均值:mavgn=.99*mavgn-1+.01*mn,其中m是接收信号712的幅值。这是用于生成图7d中的动态本底噪声718的方程。

在一些示例中,分类器可以修改动态本底噪声718以获得调整后的动态本底噪声720。在一些示例中,分类器可以至少部分地基于接收信号712和/或有效脉冲的特性来修改动态本底噪声718。例如,分类器可以至少部分地基于接收信号712的宽度和/或高度来平移和/或缩放动态本底噪声720。在一些示例中,分类器可以至少部分地基于接收信号712的最大幅值通过缩放因子来缩放动态本底噪声。

在一些示例中,分类器可以附加地或替代地至少部分地基于光传感器和/或lidar系统的温度、传输功率、snr、噪声功率、传输功率与接收信号功率的比较等来调整本底噪声。例如,分类器可以至少部分地基于确定接收信号712的至少一部分具有超过传输功率的功率(例如,太阳光可能已经直射光传感器)而使动态本底噪声718向上平移。在一些示例中,动态本底噪声718通过确定的因子平移,以使得真阳性有效脉冲714的幅值中的至少一些在调整后的动态本底噪声720的幅值在2倍至3倍之间。可以至少部分地基于历史有效脉冲和/或传输功率来确定该因子。

在一些示例中,分类器可以至少部分地基于第一阈值数量(例如,三个以上)的样本超过动态本底噪声718和/或调整后的动态本底噪声720,将接收信号712的至少一部分分类为有效脉冲714。在一些示例中,分类器可以附加地或替换地至少部分地基于第二阈值数量的样本超过动态本底噪声718和/或调整后的动态本底噪声720,和/或确定超过动态本底噪声718和/或调整后的动态本底噪声720的第三阈值数量的连续样本在彼此的方差内,将接收信号712的至少一部分分类为饱和信号。例如,分类器可以确定三个样本超过调整后的本底噪声,并且因此可以将那些样本以及三个样本之后的每个样本都识别为有效脉冲,直到分类器识别出未超过调整后的本底噪声的样本为止。在被识别为有效脉冲的样本中,分类器可以至少部分地基于确定组成有效脉冲的样本的数量等于或超过五个样本,和/或至少部分地基于确定组成有效脉冲的样本包括至少三个连续的与彼此之间在±2之内的幅值相关联的样本,确定该有效脉冲是饱和脉冲。

除非明确定义为静态阈值幅值,否则本文中对“阈值幅值”的引用可以包括由动态本底噪声718和/或调整后的动态本底噪声720定义的幅值。

示例系统架构

图8是根据本文讨论的技术中的任何一种的示例架构800的框图,该示例架构800包括示例车辆系统802,该示例车辆系统802用于使用由lidar系统确定的距离来控制至少一个车辆(例如自动驾驶车辆)的操作。

在一些示例中,车辆系统802可以包括处理器804和/或内存806。这些元件在图8中以组合方式示出,但是应当理解,它们可以是车辆系统802的单独元件,并且在一些示例中,系统的组件可以被实现为硬件和/或软件。

处理器804可以包括:单处理器系统,其包括一个处理器;或者多处理器系统,其包括几个处理器(例如,两个,四个,八个或另外的合适数量)。处理器804可以是能够执行指令的任何合适的处理器。例如,在各种实施方式中,处理器804可以是通用或嵌入式处理器,其实现诸如x86、powerpc、sparc或mipsisa或任何其他合适的isa的各种指令集架构(isa)中的任何一种。在多处理器系统中,每个处理器804可以共同(但这不是必要的)实现相同的isa。在一些示例中,处理器804可以包括中央处理单元(cpu)、图形处理单元(gpu)、fpga、专用集成电路(asic)或其组合。在一些示例中,可以使用这些处理器架构中的任何一种来实现本文讨论的分类器和/或检测器中的一个或多个。例如,分类器和/或一个或多个检测器可以是fpga。

示例车辆系统802可以包括内存806。在一些示例中,内存806可以包括非暂时性计算机可读介质,其被配置为存储可执行的指令/模块、数据和/或处理器804可访问的数据项。在各种实施方式中,可以使用任何合适的内存技术来实现非暂时性计算机可读介质,诸如静态随机存取内存(sram)、同步动态ram(sdram)、非易失性/闪存类型内存或任何其他类型的内存。在所示示例中,示出了实现如上所述的期望操作的程序指令和数据被存储在非暂时性计算机可读内存中。在其他实施方式中,程序指令和/或数据可以在不同类型的计算机可访问介质(诸如非暂时性计算机可读介质)上或在与非暂时性计算机可读介质分开的类似介质上被接收、发送或存储。一般而言,非暂时性计算机可读内存可以包括经由输入/输出(“i/o”)接口808耦合到示例车辆系统802的存储介质或内存介质(诸如闪存(例如固态内存))、磁性或光学介质(例如,磁盘)。经由非暂时性计算机可读介质存储的程序指令和数据可以由传输介质或诸如电、电磁或数字信号的信号传输,其可以经由诸如网络和/或无线链路的通信介质来传送,诸如可以经由网络接口810来实现。

此外,尽管在图8中被示为单个单元,但是应当理解,处理器804和内存806可以分布在车辆的多个计算设备之间和/或多个车辆、数据中心、远程操作中心等之间。在一些示例中,处理器804和内存806可以进行本文讨论的技术中的至少一些,并且处理器804和内存806可以包括本文讨论的lidar系统的处理器和内存。

在一些示例中,输入/输出(“i/o”)接口808可以被配置为协调处理器804、内存806、网络接口810、传感器812、i/o设备814、驱动系统816和/或车辆系统802的任何其他硬件之间的i/o流量。在一些示例中,i/o设备814可以包括外部和/或内部扬声器、显示器、乘客输入设备等。在一些示例中,i/o接口808可以执行协议、定时或其他数据变换,以将来自一个组件(例如,非暂时性计算机可读介质)的数据信号转换为适合另一组件(例如,处理器)使用的格式。在一些示例中,i/o接口808可以包括对通过各种类型的外围总线(例如,外围组件互连(pci)总线标准,通用串行总线(usb)标准或其变体)附接的设备的支持。在一些实施方式中,i/o接口808的功能可以被分成两个或更多单独的组件(例如北桥和南桥)。同样,在一些示例中,i/o接口808的一些或全部功能(例如到内存806的接口)可以直接并入处理器804和/或车辆系统802的一个或多个其他组件中。

示例车辆系统802可以包括网络接口810,其被配置为在车辆系统802与一个或多个其他设备之间建立通信链路(即“网络”)。例如,网络接口810可以被配置为允许经由第一网络820在车辆系统802与另一车辆818之间进行数据交换,和/或经由第二网络824在车辆系统802与远程计算系统822之间进行数据交换。例如,网络接口810可以启用另一车辆818和/或远程计算设备822之间的无线通信。在各种实施方式中,网络接口810可以支持经由无线通用数据网络(例如,wi-fi网络)和/或电信网络(例如,蜂窝通信网络,卫星网络等)进行通信。在一些示例中,本文中讨论的传感器数据(例如接收信号,tdoa,选择的距离,估计距离,接收信号的高度和/或宽度等)可以在第一车辆处被接收并且被传输到第二车辆。在一些示例中,lidar的至少一些组件可以位于不同的设备处。例如,第一车辆可以包括光发射器和光传感器并且可以生成接收信号,但是可以将接收信号传输到第二车辆和/或远程计算设备,在该第二车辆和/或远程计算设备上附加或替代地放置了分类器和/或检测器中的一个或多个。

示例车辆系统802可以包括传感器812,例如,传感器812被配置为在环境中定位车辆系统802,以检测环境中的一个或多个物体,从而感测示例车辆系统802在其环境中的移动,感测环境数据(例如,环境温度,压力和湿度)和/或感测示例车辆系统802内部的状况(例如,乘客人数,内部温度,噪声水平)。传感器812可以包括例如:一个或多个lidar传感器818,其可以代表示例系统100和/或其组件;一台或多台摄像机(例如rgb摄像机;强度(灰度)摄像机;红外摄像机;深度摄像机;立体摄像机);一个或多个磁力计;一个或多个雷达传感器;一个或多个声纳传感器;一个或多个用于感测声音的麦克风;一个或多个imu传感器(例如,包括加速度计和陀螺仪);一个或多个gps传感器;一个或多个盖革计数器传感器;一个或多个车轮编码器;一个或多个驱动系统传感器;速度传感器;和/或与示例车辆系统802的操作有关的其他传感器。

在一些示例中,尽管在图8中将lidar818描绘为离散传感器,但是lidar818的组件中的至少一个(例如,在图1、图4中讨论的组件等)可以与lidar818分开。例如,如本文所讨论的那样,处理器804和/或内存806可以包括分类器和/或一个或多个检测器的编程和/或电路。

在一些示例中,示例车辆系统802可以包括感知引擎826和计划器830。

感知引擎826可以包括存储在内存806中的指令,该指令在由处理器804执行时配置处理器804以从传感器812接收传感器数据作为输入(其可以包括由本文讨论的lidar系统确定的估计距离和/或选择距离),以及例如输出代表性的数据。在一些示例中,感知引擎826可以包括存储在内存806中的指令,该指令在由处理器804执行时配置处理器804以至少部分地基于根据本文讨论的技术中的任何一种确定的估计距离和/或选择距离来确定lidar点云。在一些示例中,感知引擎826可以使用lidar点云来确定如下一项或多项:示例车辆系统802周围环境的表示,示例车辆系统802周围环境中物体的姿态(例如位置和定向),与物体相关联的物体轨迹(例如,历史位置,速度,加速度,和/或物体在一段时间(例如5秒)内的前进方向),和/或与该物体相关联的物体分类(例如行人,车辆,自行车等)。在一些示例中,感知引擎826可以被配置为比预测一个或多个物体的物体轨迹进行更多的预测。例如,感知引擎826可以被配置为基于例如与从lidar点云检测到的物体相关联的预测位置、轨迹和/或速度的概率确定或多模式分布,来预测多个物体的轨迹。

在一些示例中,计划器830可以接收lidar点云和/或任何其他附加信息(例如,物体分类,物体轨迹,车辆姿态),并使用该信息来生成用于控制车辆802的运动的轨迹。

示例条款

a.一种计算机实现的方法,其包括:从光检测和测距(lidar)设备发射光脉冲;在所述lidar设备处接收指示接收到从所述lidar设备的环境中的物体反射的反射光脉冲的信号;将接收信号分类为不饱和脉冲或饱和脉冲;至少部分地基于所述接收信号的分类,从所述lidar设备的多个光检测器中选择光检测器;以及通过选择的光检测器并且至少部分地基于所述接收信号,使用到达时间延迟(tdoa)计算来计算从所述lidar设备到所述物体的距离。

b.段落a所述的计算机实现的方法,其中,将所述接收信号分类为饱和脉冲或不饱和光脉冲至少部分地基于所述接收信号的针对预定数量的样本或针对预定持续时间的幅值。

c.段落a或b所述的计算机实现的方法,其中,对所述接收信号进行分类包括将所述接收信号分类为不饱和脉冲,并且所述方法还包括至少部分地基于将所述接收信号与参考信号相互关联以确定tdoa,来通过第一延迟计算器确定所述距离。

d.段落a至c中任一项所述的计算机实现的方法,其中,对所述接收信号进行分类导致将所述接收信号分类为饱和脉冲,并且所述方法还包括至少部分地基于确定与所述接收信号的上升沿相对应的时间,来通过第二延迟计算器确定所述距离。

e.一种设备,其包括:光发射器,所述光发射器用于发射光脉冲;光传感器,所述光传感器用于生成指示接收到从所述设备的环境中的物体反射的反射光脉冲的信号;多个检测器,所述多个检测器用于确定到从其反射所述反射光脉冲的物体的距离;以及分类器,其被编程为:接收所述信号;对接收信号进行分类;以及至少部分地基于对所述接收信号的分类,从所述多个检测器中选择检测器,以用于计算到所述物体的距离。

f.段落e所述的设备,其中,所述多个检测器至少包括:第一检测器,所述第一检测器用于至少部分地基于所述接收信号中的峰来确定到所述物体的第一距离;以及第二检测器,所述第二检测器用于至少部分地基于所述接收信号的上升沿来确定到所述物体的第二距离。

g.段落f所述的设备,还包括多路复用器,所述多路复用器接收所述第一检测器和所述第二检测器的输出作为输入,其中:所述第一检测器和所述第二检测器基本同时接收到所述接收信号;并且所述分类器至少部分地基于将所述接收信号分类为饱和脉冲或不饱和脉冲,来控制多路复用器输出所述第一距离或所述第二距离作为所述距离。

h.段落f或g所述的设备,其中:所述第一检测器被编程为至少部分地基于确定所述接收信号与参考信号的互相关来确定所述第一距离。

i.段落f至h中任一项所述的设备,其中:所述第一检测器附加地输出所述接收信号的最大幅值,所述第二检测器附加地输出所述接收信号的从所述接收信号的上升沿到下降沿的宽度。

j.段落f至i中任一项所述的设备,其中,所述第二检测器确定从所述接收信号的上升沿上的与阈值幅值相对应的第一点到所述接收信号的下降沿上的与所述阈值幅值相对应的第二点的宽度。

k.段落f至j中任一项所述的设备,其中,选择所述检测器包括:至少部分地基于将所述接收信号分类为不饱和脉冲而选择所述第一检测器;或者至少部分地基于将所述接收信号分类为饱和脉冲而选择所述第二检测器。

l.段落f至k中任一项所述的设备,其中,所述多个检测器还包括第三检测器,所述第三检测器用于确定所述接收信号包括分束信号,并且至少部分地基于解卷积或频域分析中的至少一个识别至少两个峰中的一个以用于tdoa确定。

m.段落f至l中任一项所述的设备,还包括模数转换器,所述模数转换器将由所述光传感器生成的信号转换为所述接收信号,并且其中将所述接收信号分类为饱和脉冲包括:确定对于多于预定数量的样本所述接收信号的幅值超过阈值幅值。

n.段落f至m中任一项所述的设备,其中,所述分类器还被编程为将所述接收信号与所述光传感器生成的信号中的噪声区分开,将所述接收信号区分为有效脉冲,其中区分所述有效脉冲包括至少部分地基于所述接收信号的当前幅值和所述接收信号的先前幅值确定动态本底噪声。

o.一种系统,其包括:一个或多个处理器;以及一个或多个计算机可读介质,其存储可由所述一个或多个处理器执行的指令,其中,所述指令将所述一个或多个处理器编程为:通过光发射器发射光;通过光传感器接收指示检测到反射光的信号,所述反射光从所述系统附近的环境中的物体反射;将所述信号分类为不饱和信号或饱和信号;经由第一检测器确定第一距离;经由第二检测器确定第二距离;至少部分地基于确定所述信号表示不饱和信号而选择所述第一距离进行输出;以及至少部分地基于确定所述信号表示饱和信号而选择所述第二距离进行输出。

p.段落o所述的系统,其中,所述分类器通过确定对于预定数量的样本或预定量的时间所述信号的幅值超过阈值幅值来确定所述信号表示饱和信号。

q.段落o或p所述的系统,所述指令还将所述一个或多个处理器编程为:经由第三检测器确定第三距离,并且至少部分地基于确定所述信号包括分裂光束的指示而选择所述第三距离进行输出。

r.段落o至q中任一项所述的系统,其中:所述第一检测器附加地确定所述信号的最大幅值,所述第二检测器附加地确定所述信号的宽度;并且其中,所述指令还将所述一个或多个处理器编程为:至少部分地基于所述最大幅值或所述宽度中的至少一个来修改所述第一距离;以及至少部分地基于所述最大幅值或所述宽度中的至少一个来修改所述第二距离。

s.段落o至r中任一项所述的系统,所述指令还将所述一个或多个处理器编程为:至少部分地基于所述第一距离或所述第二距离来生成用于控制自动驾驶车辆的运动的轨迹。

t.段落o至s中任一项所述的系统,其中:经由所述第一检测器确定所述第一距离包括将所述信号与参考信号相互关联;经由所述第二检测器确定所述第二距离包括确定与所述信号的上升沿相对应的时间。

尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不必限于所描述的特定特征或动作。相反,特定特征和动作被公开为实现权利要求的示例形式。

本文描述的模块表示可以存储在任何类型的计算机可读介质中并且可以软件和/或硬件来实现的指令。上述方法和过程中的所有都可以体现在由一个或多个计算机或处理器、硬件或其某种组合执行的软件代码模块和/或计算机可执行指令中,并通过其完全自动化。这些方法中的一些或所有可以替代地体现在专用计算机硬件中。

除非另有明确说明,否则条件语言(例如“可以”,“可能”)在上下文中应理解为表示某些示例包括某些特征、元素和/或步骤,而其他示例不包括某些特征、元素和/或步骤。因此,这种条件语言通常不旨在暗示一个或多个示例以任何方式需要某些特征、元素和/或步骤,或者一个或多个示例必须包括用于在有或没有用户输入或提示的情况下确定的逻辑,某些特征、元素和/或步骤是否包括在任何特定示例中或将要在任何特定示例中执行。

除非另有明确说明,否则诸如短语“x、y或z中的至少一个”之类的组合语应理解为表示项目、术语等可以是x、y或z或其任何组合(包括每个元素的倍数)。除非明确描述为单数,否则“一个”表示单数和复数。

本文描述的和/或在附图中描绘的流程图中的任何常规描述、元素或框都应理解为潜在地表示代码的包括在例程中用于执行特定逻辑功能或元素的计算机可执行指令的模块、区段或部分。替代实施方式包含在本文描述的示例的范围内,其中元素或功能可从所示或讨论的元素或功能中删除或不按所示或讨论的顺序执行(包括基本上同步,以相反的顺序,具有附加操作或省略操作),这取决于本领域技术人员将理解的所涉及的功能。

应该强调的是,可以对上述示例进行许多变型和修改,其中的要素应被理解为是其他可接受的示例中的要素。所有这些修改和变型旨在在本文中被包括在本公开的范围内,并由所附权利要求保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1