技术领域
[0003] 本公开总体上涉及光探测和处理,并且更具体地,涉及LiDAR系统的模数(ADC)数据的DC偏移的实时监测。
相关背景技术
[0004] 光探测和测距(LiDAR)系统使用光脉冲来创建外部环境的图像或点云。LiDAR系统可以是扫描或非扫描系统。一些典型的扫描LiDAR系统包括光源、光发射器、光转向系统和光探测器。光源生成光束,当从LiDAR系统发射时,该光束被光转向系统以特定方向引导。当发射光束被物体散射或反射时,散射光或反射光的一部分返回到LiDAR系统以形成返回光脉冲。光探测器探测返回光脉冲。使用探测到返回光脉冲的时间与光束中对应光脉冲被发射的时间之间的差异,LiDAR系统可以基于光速确定到物体的距离。这种确定距离的技术被称为飞行时间(ToF)技术。光转向系统可以沿着不同的路径引导光束,以允许LiDAR系统扫描周围环境并且产生图像或点云。典型的非扫描LiDAR系统照射整个视场(FOV),而不是扫描整个FOV。非扫描LiDAR系统的一个示例是快闪LiDAR,它也可以使用ToF技术来测量到物体的距离。LiDAR系统还可以使用除飞行时间和扫描之外的技术来测量周围环境。
具体实施方式
[0026] 为了更彻底地理解本发明的各种实施例,以下描述阐述了许多具体细节,诸如具体配置、参数、示例等。然而,应该认识到,这种描述并不旨在限制本发明的范围,而是旨在提供对示例性实施例的更好描述。
[0027] 在整个说明书和权利要求书中,除非上下文另有明确说明,否则以下术语具有本文明确相关联的含义:
[0028] 如本文所用,短语“在一个实施例中”不一定是指相同的实施例,尽管它可以是相同的实施例。因此,如下所述,在不脱离本公开的范围或精神的情况下,可以容易地组合本发明的各种实施例。
[0029] 如本文所使用的,术语“或”是包含性的“或”运算符,并且等同于术语“和/或”,除非上下文中另有明确说明。
[0030] 术语“基于”不是排他性的,并且允许基于未描述的额外因素,除非上下文中另有明确说明。
[0031] 如本文所使用的,除非上下文另有说明,术语“耦合到”旨在包括直接耦合(其中彼此耦合的两个元件彼此接触)和间接耦合(其中至少一个附加元件位于两个元件之间)。因此,术语“耦合到”和“与……耦合”是同义使用的。在两个或更多个部件或设备能够交换数据的联网环境的上下文中,术语“耦合到”和“与……耦合”也用于表示可能经由一个或多个中间设备“可通信地与……耦合”。部件或设备可以是光学、机械和/或电气设备。
[0032] 尽管以下描述使用了术语“第一”、“第二”等来描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于区分一个元件和另一个元件。例如,在不脱离各种描述的示例的范围的情况下,第一传感器可以被称为第二传感器,并且类似地,第二传感器可以被称为第一传感器。第一传感器和第二传感器都可以是传感器,并且在一些情况下,可以是单独的不同的传感器。
[0033] 另外,在整个说明书中,“一个”、“一种”和“该”的含义包括复数,并且“在……中”的含义可以包括“在……中”和“在……上”。
[0034] 尽管本文给出的各种实施例中的一些实施例构成了发明元件的单一组合,但是应当理解,发明主题被认为包括所公开元件的所有可能组合。这样,如果一个实施例包括元件A、B和C,而另一实施例包括元件B和D,则本发明主题也被认为包括A、B、C或D的其它剩余组合,即使本文没有明确讨论。此外,过渡术语“包括”意味着具有部件或构件,或者是那些部件或构件。如本文所使用的,过渡术语“包括”是包含性的或开放式的,并且不排除附加的、未列举的元件或方法步骤。
[0035] 如在本文的描述和随后的整个权利要求中所使用的,当系统、引擎、服务器、设备、模块或其它计算元件被描述为被配置为对存储器中的数据施行或执行功能时,“被配置为”或“被编程为”的含义被定义为计算元件的一个或多个处理器或核心被存储在计算元件的存储器中的一组软件指令编程,以对存储在存储器中的目标数据或数据对象执行该组功能。
[0036] 应该注意,针对计算机的任何语言应当被理解为包括计算设备或网络平台(包括服务器、接口、系统、数据库、代理、对等体、引擎、控制器、模块或者单独或共同操作的其它类型的计算设备)的任何合适的组合。应该理解,计算设备包括处理器,该处理器被配置为执行存储在有形的非暂时性计算机可读存储介质(例如,硬盘驱动器、FPGA、PLA、固态驱动器、RAM、闪存、ROM或任何其它易失性或非易失性存储设备)上的软件指令。软件指令对计算设备进行配置或编程,以提供角色、职责或其它功能,如下面关于所公开的装置所讨论的。此外,所公开的技术可以体现为计算机程序产品,该计算机程序产品包括存储软件指令的非暂时性计算机可读介质,该软件指令使得处理器执行与基于计算机的算法、过程、方法或其它指令的实现相关联的所公开的步骤。在一些实施例中,各种服务器、系统、数据库或接口使用标准化的协议或算法交换数据,可能基于HTTP、HTTPS、AES、公钥‑私钥交换、网络服务API、已知的金融交易协议或其它电子信息交换方法。设备之间的数据交换可以通过以下进行:分组交换网络、互联网、LAN、WAN、VPN或其它类型的分组交换网络;电路交换网络;信元交换网络;或其它类型的网络。
[0037] LiDAR系统是机动交通工具的常用部件。模数转换器(ADC)是LiDAR系统的一种设备,用于获取飞行时间(ToF)信号并使其数字化。ToF信号表示通过从视场(FOV)中的一个或多个物体散射和/或反射透射光而形成的返回光。ADC信号由一组算法处理,以重建最终的3D点云图像。ADC信号的特征是整个信号线可能具有包括直流(DC)偏移在内的偏移。DC偏移是由例如ADC信号的背景噪声的波动引起的值。DC偏移可能引入ADC信号的误差。因为ADC信号表示由LiDAR系统接收的光脉冲的信号强度,所以错误的ADC信号可能影响下游处理,并且进而影响点云数据的精度和质量。例如,从错误的ADC信号导出的距离和/或反射率测量值可能不准确。测量的不准确性可能进而影响交通工具的感知和规划系统,这可能导致安全性和可靠性降低。因此,可能需要从ADC信号中校正DC偏移,以便ADC数据用于构建LiDAR点云。减轻DC偏移问题的一种方法是使用恒定值,而不管每个激发周期的真实DC偏移,并且利用该恒定值校正ADC数据。然而,由于温度、物体特征(例如,物体的形状和距离)以及许多其它因素,DC偏移可能在激发周期之间变化,这意味着使用恒定值作为DC偏移可能不适合或不足以校正ADC数据。因此,每个激发周期的实时DC偏移对于实时校正ADC数据可能是有用的。在本公开中,具有偏移的ADC信号也被称为具有DC偏移,即使ADC信号也可能具有AC分量。
[0038] 本公开的实施例提供了一种监测每个激发周期的实时DC偏移的方法,使得可以使用对应的DC偏移来校正每个激发周期的ADC数据。激发周期在激光触发的时间位置开始以提供透射光脉冲,并且在激光触发的下一个时间位置处结束以提供下一个透射光脉冲。在下面的描述和图示中,激光触发点示出为零延迟时间(参见例如图9A和图9B)。为了监测每个激发周期的DC偏移,在当前激发周期的激光触发点附近选择多点时间窗口(例如,16点时间窗口)。例如,多点时间窗口可以选择在激光触发时间位置之前的前一个激发周期中的时间位置处,其中ADC数据可能主要表示背景噪声,而没有信号脉冲。DC偏移是基于多点时间窗口计算的,并且然后可以用该DC偏移来校正当前激发周期的ADC数据。在下一个激发周期中,选择新的多点时间窗口,并且因此可以计算新的DC偏移。以这种方式,可以获得每个激发周期的实时DC偏移,用于校正ADC数据。所公开的方法的优点在于,所有激发周期的ADC信号可以被移位到大约零的基数或被最小化,从而提高ADC数据的精度,并且进而提高点云数据的精度。
[0039] 图1图示了设置或包括在机动交通工具100中的一个或多个示例性LiDAR系统110。交通工具100可以是汽车、运动型多用途车(SUV)、卡车、火车、货车、自行车、摩托车、三轮车、公共汽车、电动踏板车、有轨电车、船舶、船只、水下交通工具、飞机、直升机、无人驾驶飞行器(UAV)、航天器等。机动交通工具100可以是具有任何自动化水平的交通工具。例如,机动交通工具100可以是部分自动化交通工具、高度自动化交通工具、全自动化交通工具或无人驾驶交通工具。部分自动化交通工具可以在没有人类驾驶员干预的情况下执行一些驾驶功能。例如,部分自动化交通工具可以执行盲点监测、车道保持和/或车道变换操作、自动紧急制动、智能巡航和/或交通跟随等。部分自动化交通工具的某些操作可能限于特定的应用或驾驶场景(例如,仅限于高速公路驾驶)。高度自动化交通工具通常可以执行部分自动化交通工具的所有操作,但限制较少。高度自动化交通工具还可以在操作交通工具时探测自己的极限,并且在必要时要求驾驶员接管交通工具的控制权。全自动化交通工具可以在没有驾驶员干预的情况下执行所有交通工具操作,但也可以探测自己的极限,并且在必要时要求驾驶员接管。无人驾驶交通工具可以在没有任何驾驶员干预的情况下自行运行。
[0040] 在典型的配置中,机动交通工具100包括一个或多个LiDAR系统110和120A‑120I。LiDAR系统110和120A‑120I中的每一个可以是基于扫描的LiDAR系统和/或非扫描LiDAR系统(例如,快闪LiDAR)。基于扫描的LiDAR系统在一个或多个方向(例如,水平方向和垂直方向)上扫描一个或多个光束,以探测视场(FOV)中的物体。基于非扫描的LiDAR系统在不扫描的情况下发射激光来照射FOV。例如,快闪LiDAR是一种类型的基于非扫描的LiDAR系统。快闪LiDAR可以发射激光,使用单个光脉冲或光射同时照射FOV。
[0041] LiDAR系统是至少部分自动化的交通工具的常用传感器。在一个实施例中,如图1所示,机动交通工具100可以包括设置在交通工具的最高位置(例如,在交通工具顶部)的单个LiDAR系统110(例如,没有LiDAR系统120A‑120I)。将LiDAR系统110设置在交通工具顶部便于围绕交通工具100进行360度扫描。在一些其它实施例中,机动交通工具100可以包括多个LiDAR系统,包括系统110和/或120A‑120I种的两个或更多个。如图1所示,在一个实施例中,多个LiDAR系统110和/或120A‑120I在交通工具的不同位置处附接到交通工具100。例如,LiDAR系统120A在右前角处附接到交通工具100;LiDAR系统120B在前部中心位置处附接到交通工具100;LiDAR系统120C在左前角处附接到交通工具100;LiDAR系统120D在右侧后视镜处附接到交通工具100;LiDAR系统120E在左侧后视镜处附接到交通工具100;LiDAR系统120F在后中心位置处附接到交通工具100;LiDAR系统120G在右后角处附接到交通工具100;LiDAR系统120H在左后角处附接到交通工具100;和/或LiDAR系统120I在朝向后端(例如,交通工具顶部的后端)的中心处附接到交通工具100。应该理解,一个或多个LiDAR系统可以以任何期望的方式分布并且附接到交通工具,并且图1仅图示了一个实施例。作为另一示例,LiDAR系统120D和120E可以附接到交通工具100的B柱,而不是后视镜。作为另一示例,LiDAR系统120B可以附接到交通工具100的挡风玻璃,而不是前保险杠。
[0042] 在一些实施例中,LiDAR系统110和120A‑120I是独立的LiDAR系统,具有它们各自的激光源、控制电子设备、发射器、接收器和/或转向机构。在其它实施例中,LiDAR系统110和120A‑120I中的一些可以共享一个或多个部件,从而形成分布式传感器系统。在一个示例中,光纤用于将来自集中式激光源的激光递送到所有LiDAR系统。例如,系统110(或定位在交通工具100中央或任何位置的另一系统)包括光源、发射器和光探测器,但没有转向机构。系统110可以将透射光分配给系统120A‑120I中的每一个。透射光可以经由光纤分布。光学连接器可以用于将光纤耦合到系统110和120A‑120I中的每一个。在一些示例中,系统120A‑
120I中的一个或多个系统包括转向机构,但是没有光源、发射器或光探测器。转向机构可以包括一个或多个可移动镜,例如一个或多个多边形镜、一个或多个单平面镜、一个或多个多平面镜等。下面将更详细地描述光源、发射器、转向机构和光探测器的实施例。经由转向机构,系统120A‑120I中的一个或多个系统将光扫描到一个或多个相应的FOV中,并且接收对应的返回光。通过FOV中的一个或多个物体散射或反射透射光来形成返回光。系统120A‑
120I还可以包括收集透镜和/或其它光学器件,以将返回光聚焦和/或引导到光纤中,光纤将接收到的返回光递送到系统110。系统110包括一个或多个光探测器,用于探测接收到的返回光。在一些示例中,系统110设置在交通工具内部,使得其处于温度受控的环境中,而一个或多个系统120A‑120I可以至少部分地暴露于外部环境。
[0043] 图2是图示车载LiDAR系统210和包括交通工具感知和规划系统220的多个其它系统之间的交互的框图200。LiDAR系统210可以安装在交通工具上或集成到交通工具中。LiDAR系统210包括将激光扫描到周围环境以测量物体的距离、角度和/或速度的传感器。基于返回到LiDAR系统210的散射光,它可以生成表示感知的外部环境的传感器数据(例如,图像数据或3D点云数据)。
[0044] LiDAR系统210可以包括短程LiDAR传感器、中程LiDAR传感器和远程LiDAR传感器中的一个或多个。短程LiDAR传感器测量距离LiDAR传感器高达约20‑50米的物体。短程LiDAR传感器可以用于例如监测附近的移动物体(例如,在学校区域过马路的行人)、停车辅助应用等。中程LiDAR传感器测量距离LiDAR传感器高达约70‑200米的物体。中程LiDAR传感器可以用于,例如,监测道路交叉口、辅助并入或离开高速公路,等等。远程LiDAR传感器可以测量位于200米及以上的物体。远程LiDAR传感器通常在交通工具高速行驶时使用(例如,在高速公路上),使得交通工具的控制系统可能仅有几秒钟(例如,6‑8秒)来响应LiDAR传感器探测到的任何情况。如图2所示,在一个实施例中,LiDAR传感器数据可以经由通信路径213提供给交通工具感知和规划系统220,用于进一步处理和控制交通工具操作。通信路径
213可以是能够传输数据的任何有线或无线通信链路。
[0045] 仍然参考图2,在一些实施例中,其它车载传感器230被配置为单独地或与LiDAR系统210一起提供附加的传感器数据。其它车载传感器230可以包括例如一个或多个相机232、一个或多个雷达234、一个或多个超声波传感器236和/或其它传感器238。相机232可以拍摄交通工具的外部环境的图像和/或视频。相机232可以拍摄例如每帧具有数百万像素的高清(HD)视频。相机包括便于产生单色或彩色图像和视频的图像传感器。颜色信息在解释某些情况下的数据(例如,解释交通灯的图像)时可能很重要。颜色信息可能无法从其它传感器(如LiDAR或雷达传感器)获得。相机232可以包括窄焦距相机、宽焦距相机、侧面相机、红外相机、鱼眼相机等中的一个或多个。由相机232生成的图像和/或视频数据也可以经由通信路径233提供给交通工具感知和规划系统220,用于进一步处理和控制交通工具操作。通信路径233可以是能够传输数据的任何有线或无线通信链路。相机232可以在任何位置(例如,后视镜、柱、前格栅和/或后保险杠等)处安装或集成到交通工具上。
[0046] 其它车载传感器230也可以包括雷达传感器234。雷达传感器234使用无线电波来确定物体的距离、角度和速度。雷达传感器234产生无线电或微波频谱中的电磁波。电磁波被物体反射,并且反射波中的一些返回到雷达传感器,从而提供关于物体位置和速度的信息。雷达传感器234可以包括短程雷达、中程雷达和远程雷达中的一个或多个。短程雷达测量距离雷达约0.1‑30米的物体。短程雷达在探测位于交通工具(诸如其它交通工具、建筑物、墙壁、行人、骑自行车者等)附近的物体时是有用的。短程雷达可以用于探测盲点、辅助变道、提供追尾警报、辅助停车、提供紧急制动等。中程雷达测量距离雷达约30‑80米的物体。远程雷达测量位于约80‑200米处的物体。中程和/或远程雷达可以用于例如交通跟踪、自适应巡航控制和/或高速公路自动制动。由雷达传感器234生成的传感器数据也可以经由通信路径233提供给交通工具感知和规划系统220,用于进一步处理和控制交通工具操作。雷达传感器234可以在任何位置(例如,后视镜、柱、前格栅和/或后保险杠等)处安装或集成到交通工具上。
[0047] 其它车载传感器230也可以包括超声波传感器236。超声波传感器236使用声波或脉冲来测量位于交通工具外部的物体。由超声波传感器236生成的声波被发射到周围环境。发射波中的至少一些被物体反射并且返回到超声波传感器236。基于返回信号,可以计算物体的距离。超声波传感器236可以用于例如检查盲点、识别停车位、在交通中提供变道辅助等。由超声波传感器236生成的传感器数据也可以经由通信路径233提供给交通工具感知和规划系统220,用于进一步处理和控制交通工具操作。超声波传感器236可以在任何位置(例如,后视镜、柱、前格栅和/或后保险杠等)处安装或集成到交通工具上。
[0048] 在一些实施例中,一个或多个其它传感器238可以附接在交通工具中,并且也可以生成传感器数据。其它传感器238可以包括例如全球定位系统(GPS)、惯性测量单元(IMU)等。由其它传感器238生成的传感器数据也可以经由通信路径233提供给交通工具感知和规划系统220,用于进一步处理和控制交通工具操作。应该理解,通信路径233可以包括一个或多个通信链路,以在各种传感器230与交通工具感知和规划系统220之间传输数据。
[0049] 在一些实施例中,如图2所示,来自其它车载传感器230的传感器数据可以经由通信路径231提供给车载LiDAR系统210。LiDAR系统210可以处理来自其它车载传感器230的传感器数据。例如,来自相机232、雷达传感器234、超声波传感器236和/或其它传感器238的传感器数据可以与传感器数据LiDAR系统210相关或融合,从而至少部分地卸载由交通工具感知和规划系统220执行的传感器融合过程。应该理解,也可以实现其它配置来传输和处理来自各种传感器的传感器数据(例如,数据可以被传输到云或边缘计算服务提供商进行处理,并且然后处理结果可以被传输回到交通工具感知和规划系统220和/或LiDAR系统210)。
[0050] 仍然参考图2,在一些实施例中,其它交通工具250上的传感器用于单独或与LiDAR系统210一起提供附加的传感器数据。例如,两个或更多个附近的交通工具可以具有它们各自的LiDAR传感器、相机、雷达传感器、超声波传感器等。附近的交通工具可以相互传送并共享传感器数据。交通工具之间的通信也被称为V2V(车对车)通信。例如,如图2所示,由其它交通工具250生成的传感器数据可以分别经由通信路径253和/或通信路径251被传送到交通工具感知和规划系统220和/或车载LiDAR系统210。通信路径253和251可以是能够传输数据的任何有线或无线通信链路。
[0051] 共享传感器数据便于更好地感知交通工具外部的环境。例如,第一交通工具可能没有感应到在第二交通工具后面但正在接近第一交通工具的行人。第二交通工具可以与第一交通工具共享与该行人相关的传感器数据,使得第一交通工具可以具有附加的反应时间来避免与行人碰撞。在一些实施例中,类似于由传感器230生成的数据,由其它交通工具250上的传感器生成的数据可以与由LiDAR系统210(或位于其它交通工具中的其它LiDAR系统)生成的传感器数据相关或融合,从而至少部分地卸载由交通工具感知和规划系统220执行的传感器融合过程。
[0052] 在一些实施例中,智能基础设施系统240用于单独或与LiDAR系统210一起提供传感器数据。某些基础设施可以被配置为与交通工具通信以传递信息,反之亦然。交通工具与基础设施之间的通信通常被称为V2I(交通工具与基础设施)通信。例如,智能基础设施系统240可以包括智能交通灯,该智能交通灯可以以诸如“5秒后变黄”的消息向接近的交通工具传达其状态。智能基础设施系统240还可以包括其自己的安装在十字路口附近的LiDAR系统,使得其可以向交通工具传递交通监测信息。例如,在十字路口左转的交通工具可能没有足够的传感能力,因为其自身的一些传感器可能被相反方向的交通阻塞。在这种情况下,智能基础设施系统240的传感器可以向左转的交通工具提供有用的数据。这种数据可以包括例如交通状况、交通工具转向方向上的物体信息、交通灯状态和预测等。由智能基础设施系统240生成的这些传感器数据可以分别经由通信路径243和/或241提供给交通工具感知和规划系统220和/或车载LiDAR系统210。通信路径243和/或241可以包括能够传输数据的任何有线或无线通信链路。例如,来自智能基础设施系统240的传感器数据可以被传输到LiDAR系统210,并且与由LiDAR系统210生成的传感器数据相关或融合,从而至少部分地卸载由交通工具感知和规划系统220执行的传感器融合过程。上述V2V和V2I通信是交通工具与X(V2X)通信的示例,其中“X”表示可以与交通工具共享数据的任何其它设备、系统、传感器、基础设施等。
[0053] 仍然参考图2,经由各种通信路径,交通工具感知和规划系统220从LiDAR系统210、其它交通工具车载传感器230、其它交通工具250和/或智能基础设施系统240中的一个或多个接收传感器数据。在一些实施例中,不同类型的传感器数据由传感器融合子系统222相关和/或融合。例如,传感器融合子系统222可以使用由设置在交通工具的不同位置处的多个相机捕获的多个图像或视频来生成360度模型。传感器融合子系统222从不同类型的传感器获得传感器数据,并且使用组合数据来更准确地感知环境。例如,车载相机232可能无法捕获清晰的图像,因为它直接面对太阳或光源(例如,夜间另一交通工具的前灯)。LiDAR系统210可能不会受到太大影响,并且因此传感器融合子系统222可以组合由相机232和LiDAR系统210提供的传感器数据,并且使用由LiDAR系统210提供的传感器数据来补偿由相机232捕获的不清晰图像。作为另一示例,在下雨或有雾的天气中,雷达传感器234可能比相机232或LiDAR系统210工作得更好。相应地,传感器融合子系统222可以使用由雷达传感器234提供的传感器数据来补偿由相机232或LiDAR系统210提供的传感器数据。
[0054] 在其它示例中,由其它车载传感器230生成的传感器数据可能具有较低的分辨率(例如,雷达传感器数据),并且因此可能需要由通常具有较高分辨率的LiDAR系统210进行关联和确认。例如,雷达传感器234可以将污水井盖(也称为检修孔盖)探测为交通工具正在接近的物体。由于雷达传感器234的低分辨率特性,交通工具感知和规划系统220可能无法确定该物体是否是交通工具需要避开的障碍物。因此,由LiDAR系统210生成的高分辨率传感器数据可以用于关联和确认物体是污水井盖并且不会对交通工具造成损害。
[0055] 交通工具感知和规划系统220进一步包括物体分类器223。使用由传感器融合子系统222提供的原始传感器数据和/或相关/融合数据,物体分类器223可以使用任何计算机视觉技术来对物体进行探测和分类并且估计物体的位置。在一些实施例中,物体分类器223可以使用基于机器学习的技术来对物体进行探测和分类。基于机器学习的技术的示例包括利用诸如基于区域的卷积神经网络(R‑CNN)、快速R‑CNN、更快R‑CNN、定向梯度直方图(HOG)、基于区域的完全卷积网络(R‑FCN)、单次探测器(SSD)、空间金字塔池化(SPP‑net)和/或“你只看一次”(You Only Look Once,Yolo)的算法。
[0056] 交通工具感知和规划系统220进一步包括道路探测子系统224。道路探测子系统224定位道路并且识别道路上的物体和/或标记。例如,基于由雷达传感器234、相机232和/或LiDAR系统210提供的原始或融合的传感器数据,道路探测子系统224可以基于机器学习技术(例如,用于识别车道的模式识别算法)构建道路的3D模型。使用道路的3D模型,道路探测子系统224可以识别道路上的物体(例如,道路上的障碍物或碎片)和/或标记(例如,车道线、转弯标志、人行横道标志等)。
[0057] 交通工具感知和规划系统220进一步包括定位和交通工具姿态子系统225。基于原始或融合的传感器数据,定位和交通工具姿态子系统225可以确定交通工具的位置和交通工具的姿态。例如,使用来自LiDAR系统210、相机232和/或GPS数据的传感器数据,定位和交通工具姿态子系统225可以确定交通工具在道路上的精确位置和交通工具的六个自由度(例如,交通工具是向前还是向后、向上还是向下、向左还是向右移动)。在一些实施例中,高清(HD)地图用于交通工具定位。HD地图可以提供非常详细的三维电脑地图,精确定位交通工具的位置。例如,使用HD地图,定位和交通工具姿态子系统225可以精确地确定交通工具的当前位置(例如,交通工具当前在道路的哪个车道上,它离路边或人行道有多近)并且预测交通工具的未来位置。
[0058] 交通工具感知和规划系统220进一步包括障碍物预测器226。由物体分类器223识别的物体可以是静止的(例如,灯杆、路标)或动态的(例如,移动的行人、自行车、另一辆汽车)。对于移动的物体,预测它们的移动路径或未来位置对于避免碰撞是很重要的。障碍物预测器226可以预测障碍物轨迹和/或警告驾驶员或交通工具规划子系统228潜在的碰撞。例如,如果障碍物的轨迹与交通工具的当前移动路径相交的可能性很高,则障碍物预测器
226可以生成这样的警告。障碍物预测器226可以使用各种技术来进行这样的预测。这些技术包括例如恒定速度或加速度模型、恒定转弯速率和速度/加速度模型、基于卡尔曼滤波器和扩展卡尔曼滤波器的模型、基于递归神经网络(RNN)的模型、基于长短期记忆(LSTM)神经网络的模型、编码器‑解码器RNN模型等。
[0059] 仍然参考图2,在一些实施例中,交通工具感知和规划系统220进一步包括交通工具规划子系统228。交通工具规划子系统228可以包括一个或多个规划器,诸如路线规划器、驾驶行为规划器和运动规划器。路线规划器可以基于交通工具的当前位置数据、目标位置数据、交通信息等来规划交通工具的路线。驾驶行为规划器使用障碍物预测器226提供的障碍物预测结果,基于其它物体可能如何移动来调整定时和规划的移动。运动规划器确定交通工具需要遵循的特定操作。规划结果然后经由交通工具接口270传送到交通工具控制系统280。通信可以通过通信路径223和271来执行,这些通信路径包括可以传输数据的任何有线或无线通信链路。
[0060] 交通工具控制系统280控制交通工具的转向机构、节气门、制动器等根据规划的路线和移动操作交通工具。在一些示例中,交通工具感知和规划系统220可以进一步包括用户接口260,该用户接口向用户(例如,驾驶员)提供对交通工具控制系统280的访问,以例如在必要时超越或接管对交通工具的控制。用户接口260也可以与交通工具感知和规划系统220分离。用户接口260可以与交通工具感知和规划系统220通信,例如,以获得并显示原始或融合的传感器数据、识别的物体、交通工具的位置/姿态等。这些显示的数据可以帮助用户更好地操作交通工具。用户接口260可以分别经由通信路径221和261与交通工具感知和规划系统220和/或交通工具控制系统280通信,这些通信路径包括可以传输数据的任何有线或无线通信链路。应该理解,图2中的各种系统、传感器、通信链路和接口可以以任何期望的方式配置,并且不限于图2所示的配置。
[0061] 图3是图示示例性LiDAR系统300的框图。LiDAR系统300可以用于实现图1和图2中所示的LiDAR系统110、120A‑120I和/或210。在一个实施例中,LiDAR系统300包括光源310、发射器320、光学接收器和光探测器330、转向系统340和控制电路350。这些部件使用通信路径312、314、322、332、342、352和362耦合在一起。这些通信路径包括各种LiDAR系统部件之间的通信链路(有线或无线、双向或单向),但不必是物理部件本身。虽然通信路径可以由一根或多根电线、总线或光纤来实现,但是通信路径也可以是无线通道或自由空间光学路径,从而不存在物理通信介质。例如,在LiDAR系统300的一个实施例中,光源310与发射器320之间的通信路径314可以使用一根或多根光纤来实现。通信路径332和352可以表示使用自由空间光学部件和/或光纤实现的光学路径。并且通信路径312、322、342和362可以使用一条或多条携带电信号的电线来实现。通信路径还可以包括上述类型的通信介质中的一种或多种(例如,它们可以包括光纤和自由空间光学部件,或者包括一根或多根光纤和一根或多根电线)。
[0062] 在一些实施例中,LiDAR系统300可以是相干LiDAR系统。调频连续波(FMCW)LiDAR就是一个示例。相干LiDAR通过混合来自物体的返回光和来自相干激光发射器的光来探测物体。因此,如图3所示,如果LiDAR系统300是相干LiDAR,则它可以包括路线372,该路线提供从发射器320到光学接收器和光探测器330的透射光的一部分。由发射器320提供的透射光可以是调制光,并且可以分成两部分。一部分被发射到FOV,而第二部分被发送到LiDAR系统的光学接收器和光探测器。第二部分也被称为保持在LiDAR系统本地(LO)的光。透射光被FOV中的各种物体散射或反射,并且其至少一部分形成返回光。返回光随后被探测,并且与保持局部的透射光的第二部分干涉重组。相干LiDAR提供了光学感测物体范围及其沿视线(LOS)的相对速度的机构。
[0063] LiDAR系统300还可以包括图3中未示出的其它部件,诸如电源总线、电源、LED指示器、开关等。附加地,可以存在部件之间的其它通信连接,诸如光源310与光学接收器和光探测器330之间的直接连接,以提供参考信号,使得可以精确测量从发射光脉冲到探测直到返回光脉冲的时间。
[0064] 光源310输出激光,用于照射视场(FOV)中的物体。激光可以是波长在700nm至1mm范围内的红外光。光源310可以是例如基于半导体的激光器(例如,二极管激光器)和/或基于光纤的激光器。基于半导体的激光器可以是例如边缘发射激光器(EEL)、垂直腔面发射激光器(VCSEL)、外腔二极管激光器、垂直外腔面发射激光器、分布反馈(DFB)激光器、分布布拉格反射器(DBR)激光器、带间级联激光器、量子级联激光器、量子阱激光器、双异质结构激光器等。基于光纤的激光器是这样一种激光器,其中有源增益介质是掺杂有稀土元素如铒、镱、钕、镝、镨、铥和/或钬的光纤。在一些实施例中,光纤激光器基于双包层光纤,其中增益介质形成被两层包层包围的光纤的纤芯。双包层光纤允许用高功率光束泵浦纤芯,从而使得激光源能够成为高功率光纤激光器源。
[0065] 在一些实施例中,光源310包括主控振荡器(也被称为种子激光器)和功率放大器(MOPA)。功率放大器放大种子激光器的输出功率。功率放大器可以是光纤放大器、体放大器或半导体光放大器。种子激光器可以是二极管激光器(例如,法布里‑珀罗腔激光器、分布反馈激光器)、固态体激光器或外腔可调谐二极管激光器。在一些实施例中,光源310可以是光泵浦微片激光器。微片激光器是免对准单片固态激光器,其中激光晶体直接与激光谐振器的端镜接触。微片激光器通常由激光二极管泵浦(直接或使用光纤)以获得所需的输出功率。微片激光器可以基于掺钕钇铝石榴石(Y3Al5O12)激光晶体(即,Nd:YAG),或掺钕钒酸盐(即,ND:YVO4)激光晶体。在一些示例中,光源310可以具有多个放大级以实现高功率增益,使得激光输出可以具有高功率,从而使得LiDAR系统能够具有长扫描范围。在一些示例中,可以控制光源310的功率放大器,使得可以改变功率增益,以实现任何期望的激光输出功率。
[0066] 图4是图示示例性基于光纤的激光源400的框图,该激光源具有种子激光器和用于泵浦期望输出功率的一个或多个泵(例如,激光二极管)。基于光纤的激光源400是图3所示光源310的示例。在一些实施例中,基于光纤的激光源400包括种子激光器402,以生成一种或多种波长(例如,诸如1550nm的红外波长)的初始光脉冲,该初始光脉冲经由光纤403被提供给波分多路复用器(WDM)404。基于光纤的激光源400进一步包括泵406,用于经由光纤405向WDM 404提供激光功率(例如,不同的波长,诸如980nm)。WDM 404将种子激光器402提供的光脉冲和泵406提供的激光功率复用到单根光纤407上。然后,WDM 404的输出可以经由光纤407提供给一个或多个前置放大器408。前置放大器408可以是放大光信号的光放大器(例如,具有约10‑30dB的增益)。在一些实施例中,前置放大器408是低噪声放大器。前置放大器
408经由光纤409输出到光组合器410。组合器410将前置放大器408的输出激光与泵412通过光纤411提供的激光功率进行组合。组合器410可以组合具有相同波长或不同波长的光信号。组合器的一个示例是WDM。组合器410向升压放大器414提供组合的光信号,该升压放大器经由光纤410产生输出光脉冲。升压放大器414提供光信号的进一步放大(例如,另一个
20‑40dB)。输出的光脉冲然后可以被发射到发射器320和/或转向机构340(如图3所示)。应该理解,图4图示了基于光纤的激光源400的一个示例性配置。激光源400可以具有使用图4中所示的一个或多个部件和/或图4中未示出的其它部件(例如,诸如电源、透镜、滤光器、分光器、组合器等其它部件)的不同组合的许多其它配置。
[0067] 在一些变型中,基于光纤的激光源400可以被控制(例如,通过控制电路350)以基于在基于光纤的激光源400中使用的光纤的光纤增益分布产生不同振幅的脉冲。通信路径312将基于光纤的激光源400耦合到控制电路350(如图3所示),使得基于光纤的激光源400的部件可以由控制电路350控制或者以其它方式与控制电路通信。可替代地,基于光纤的激光源400可以包括其自己的专用控制器。代替控制电路350直接与基于光纤的激光源400的部件通信,基于光纤的激光源400的专用控制器与控制电路350通信,并且控制基于光纤的激光源400的部件和/或与其通信。基于光纤的激光源400还可以包括未示出的其它部件,诸如一个或多个电源连接器、电源和/或输电线。
[0068] 参考图3,光源310的典型工作波长包括例如约850nm、约905nm、约940nm、约1064nm和约1550nm。为了激光安全,最大可用激光功率的上限由美国食品药品监督管理局(FDA)法规设定。1550nm波长的光功率极限比上述其它波长的光功率极限高得多。此外,在1550nm处,光纤中的光功率损耗很低。1550nm波长的这些特性使其更有利于长距离LiDAR应用。从光源310输出的光功率的量可以由其峰值功率、平均功率、脉冲能量和/或脉冲能量密度来表征。峰值功率是脉冲能量与脉冲宽度(例如,半峰全宽或FWHM)的比率。因此,对于固定量的脉冲能量,较小的脉冲宽度可以提供较大的峰值功率。脉冲宽度可以在纳秒或皮秒的范围内。平均功率是脉冲能量和脉冲重复率(PRR)的乘积。如下面更详细描述的,PRR表示脉冲激光的频率。一般来说,脉冲之间的时间间隔越小,PRR越高。PRR通常与LiDAR系统可以测量的最大范围相对应。光源310可以被配置为以高PRR产生脉冲,以满足由LiDAR系统生成的点云中的期望数量的数据点。光源310也可以被配置为产生中等或低PRR的脉冲,以满足期望的最大探测距离。墙插效率(WPE)是评估总功耗的另一个因子,其可以是评估激光器效率的有用指标。例如,如图1所示,多个LiDAR系统可以附接到交通工具,该交通工具可以是电动交通工具或者具有有限燃料或电池电源的交通工具。因此,当选择和配置光源310和/或设计用于车载LiDAR应用的激光递送系统时,高WPE和使用激光功率的智能方式通常是重要的考虑因素。
[0069] 应该理解,以上描述提供了光源310的非限制性示例。光源310可以被配置为包括许多其它类型的光源(例如,激光二极管、短腔光纤激光器、固态激光器和/或外腔可调谐二极管激光器),这些光源被配置为生成各种波长的一个或多个光信号。在一些示例中,光源310包括放大器(例如,前置放大器和/或升压放大器),其可以是掺杂光纤放大器、固态体放大器和/或半导体光放大器。放大器被配置为以期望的增益接收并放大光信号。
[0070] 返回参考图3,LiDAR系统300进一步包括发射器320。光源310向发射器320提供激光(例如,以激光束的形式)。由光源310提供的激光可以是具有预定或受控波长、脉冲重复率和/或功率水平的放大激光。发射器320接收来自光源310的激光,并以低发散度将激光发射到转向机构340。在一些实施例中,发射器320可以包括例如光学部件(例如,透镜、光纤、反射镜等),用于直接或经由转向机构340将一个或多个激光束发射到视场(FOV)。虽然图3将发射器320和转向机构340图示为单独的部件,但是在一些实施例中,它们可以被组合或集成为一个系统。下面将更详细地描述转向机构340。
[0071] 由光源310提供的激光束在传播到发射器320时可能发散。因此,发射器320通常包括准直透镜,该准直透镜被配置为收集发散的激光束并且产生发散度减小或最小的更平行的光束。然后,准直光束可以被进一步引导通过各种光学器件,诸如镜和透镜。准直透镜可以是例如单个平凸透镜或透镜组。准直透镜可以被配置为实现任何期望的特性,诸如光束直径、发散度、数值孔径、焦距等。光束传播比或光束质量因子(也被称为M2因子)用于测量激光束质量。在许多LiDAR应用中,在生成的发射激光束中具有良好的激光束质量是很重要的。M2因子表示光束相对于理想高斯光束的变化程度。因此,M2因子反映了准直激光束能够多好地聚焦在小点上,或者发散激光束能够多好地准直。因此,光源310和/或发射器320可以被配置为满足例如扫描分辨率要求,同时保持期望的M2因子。
[0072] 由发射器320提供的光束中的一个或多个光束被转向机构340扫描到FOV。转向机构340在多个维度上(例如,在水平维度和垂直维度上)扫描光束,以便于LiDAR系统300通过生成3D点云来绘制环境。水平维度可以是平行于地平线或与LiDAR系统或交通工具相关联的表面(例如,道路表面)的维度。垂直维度垂直于水平维度(即,垂直维度与水平维度形成90度角)。下面将更详细地描述转向机构340。扫描到FOV的激光可能被FOV中的物体散射或反射。散射光或反射光的至少一部分形成返回到LiDAR系统300的返回光。图3进一步图示了被配置为接收返回光的光学接收器和光探测器330。光学接收器和光探测器330包括光学接收器,该光学接收器被配置为收集来自FOV的返回光。光学接收器可以包括光学器件(例如,透镜、光纤、镜等),用于接收、重新定向、聚焦、放大和/或过滤来自FOV的返回光。例如,光学接收器通常包括收集透镜(例如,单个平凸透镜或透镜组),以收集返回光和/或将收集的返回光聚焦到光探测器上。
[0073] 光探测器探测由光学接收器聚焦的返回光,并且生成与返回光的入射强度成比例的电流和/或电压信号。基于这样的电流和/或电压信号,可以导出物体在FOV中的深度信息。用于导出这种深度信息的一种示例性方法是基于直接TOF(飞行时间),这将在下面更详细地描述。光探测器可以通过其探测灵敏度、量子效率、探测器带宽、线性度、信噪比(SNR)、抗过载性、抗干扰性等来表征。基于应用,光探测器可以被配置或定制为具有任何期望的特性。例如,光学接收器和光探测器330可以被配置为使得光探测器具有大的动态范围,同时具有良好的线性度。光探测器线性度指示探测器保持输入光信号功率与探测器输出之间的线性关系的能力。具有良好线性度的探测器可以在大的动态输入光信号范围内保持线性关系。
[0074] 为了实现期望的探测器特性,可以对光探测器的结构和/或探测器的材料系统进行配置或定制。各种探测器结构可以用于光探测器。例如,光探测器结构可以是基于PIN的结构,其在p型半导体与n型半导体区域之间具有未掺杂的本征半导体区域(即,“I”区域)。其它光探测器结构包括例如基于APD(雪崩光电二极管)的结构、基于PMT(光电倍增管)的结构、基于SiPM(硅光电倍增管)的结构、基于SPAD(单光子雪崩二极管)的结构和/或量子线。
对于光探测器中使用的材料系统,可以使用Si、InGaAs和/或Si/Ge基材料。应该理解,在光学接收器和光探测器330中可以使用许多其它探测器结构和/或材料系统。
[0075] 光探测器(例如,基于APD的探测器)可以具有内部增益,使得当生成输出信号时输入信号被放大。然而,由于光探测器的内部增益,噪声也可能被放大。常见的噪声类型包括信号散粒噪声、暗电流散粒噪声、热噪声和放大器噪声。在一些实施例中,光学接收器和光探测器330可以包括低噪声放大器(LNA)的前置放大器。在一些实施例中,前置放大器还可以包括跨阻放大器(TIA),该跨阻放大器将电流信号转换成电压信号。对于线性探测器系统,输入等效噪声或噪声等效功率(NEP)衡量光探测器对弱信号的敏感程度。因此,它们可以用作整体系统性能的指标。例如,光探测器的NEP指定了可以探测到的最弱信号的功率,并且因此它进而指定了LiDAR系统的最大范围。应该理解,可以使用各种光探测器优化技术来满足LiDAR系统300的要求。这种优化技术可以包括选择不同的探测器结构、材料和/或实施信号处理技术(例如,滤波、降噪、放大等)。例如,除了或代替使用返回信号的直接探测(例如,通过使用ToF),相干探测也可以用于光探测器。相干探测允许通过用本地振荡器干涉接收的光来探测接收的光的振幅和相位信息。相干探测可以提高探测灵敏度和抗噪性。
[0076] 图3进一步图示了LiDAR系统300包括转向机构340。如上所述,转向机构340引导来自发射器320的光束以多维扫描FOV。转向机构被称为光栅机构、扫描机构或简称为光扫描仪。在多个方向上(例如,在水平方向和垂直方向上)扫描光束有助于LiDAR系统通过生成图像或3D点云来绘制环境。转向机构可以基于机械扫描和/或固态扫描。机械扫描使用旋转镜来使激光束转向或物理地旋转LiDAR发射器和接收器(统称为收发器)来扫描激光束。固态扫描通过FOV将激光束引导到各个位置,而无需机械移动任何宏观部件,诸如收发器。固态扫描机构包括例如基于光相控阵列的转向和基于快闪LiDAR的转向。在一些实施例中,因为固态扫描机构不物理地移动宏观部件,所以由固态扫描机构执行的转向可以被称为有效转向。使用固态扫描的LiDAR系统也可以被称为非机械扫描或简单的非扫描LiDAR系统(快闪LiDAR系统是示例性非扫描LiDAR系统)。
[0077] 转向机构340可以与收发器(例如,发射器320和光学接收器和光探测器330)一起使用,以扫描FOV,用于生成图像或3D点云。作为示例,为了实现转向机构340,二维机械扫描仪可以与单点或几个单点收发器一起使用。单点收发器将单个光束或少量光束(例如,2‑8个光束)发射到转向机构。二维机械转向机构包括例如多边形镜、振荡镜、旋转棱镜、旋转倾斜镜面、单平面或多平面镜或它们的组合。在一些实施例中,转向机构340可以包括非机械转向机构,例如固态转向机构。例如,转向机构340可以基于结合折射效应的激光的调谐波长,和/或基于可重新配置的光栅/相位阵列。在一些实施例中,转向机构340可以使用单个扫描设备来实现二维扫描,或者使用组合的多个扫描设备来实现二维扫描。
[0078] 作为另一示例,为了实现转向机构340,一维机械扫描仪可以与阵列或大量单点收发器一起使用。具体地,收发器阵列可以安装在旋转平台上,以实现360度水平视场。可替代地,静态收发器阵列可以与一维机械扫描仪进行组合。一维机械扫描仪包括多边形镜、振荡镜、旋转棱镜、旋转倾斜镜面或它们的组合,用于获得前视水平视场。使用机械扫描仪的转向机构可以在汽车应用的大规模生产中提供鲁棒性和可靠性。
[0079] 作为另一示例,为了实现转向机构340,可以使用二维收发器来直接生成扫描图像或3D点云。在一些实施例中,可以使用拼接或微位移方法来提高扫描图像的分辨率或被扫描的视场。例如,使用二维收发器,在一个方向(例如,水平方向)生成的信号和在另一个方向(例如,垂直方向)生成的信号可以被整合、交错和/或匹配,以生成表示扫描的FOV的更高或全分辨率图像或3D点云。
[0080] 转向机构340的一些实施方式包括一个或多个光学重定向元件(例如,镜或透镜),其使返回光信号沿着接收路径(例如,通过旋转、振动或引导)转向,以将返回光信号引导到光学接收器和光探测器330。沿着发射路径和接收路径引导光信号的光学重定向元件可以是相同的部件(例如,共享的)、单独的部件(例如,专用的)、和/或共享的和单独的部件的组合。这意味着在一些情况下,发射路径和接收路径是不同的,尽管它们可能部分重叠(或者在某些情况下,基本重叠或完全重叠)。
[0081] 仍然参考图3,LiDAR系统300进一步包括控制电路350。控制电路350可以被配置和/或编程为控制LiDAR系统300的各个部分和/或执行信号处理。在典型的系统中,控制电路350可以被配置和/或编程为执行一个或多个控制操作,包括例如控制光源310以获得期望的激光脉冲定时、脉冲重复率和功率;控制转向机构340(例如,控制速度、方向和/或其它参数)来扫描FOV并保持像素配准和/或对准;控制光学接收器和光探测器330(例如,控制灵敏度、降噪、滤波和/或其它参数),使得其处于最佳状态;以及监测整体系统健康/功能安全状态(例如,监测激光输出功率和/或转向机构运行状态的安全性)。
[0082] 控制电路350还可以被配置和/或编程为对由光学接收器和光探测器330生成的原始数据进行信号处理,以获得距离和反射率信息,并且进行数据打包和与交通工具感知和规划系统220(如图2所示)的通信。例如,控制电路350确定从发射光脉冲到接收到对应的返回光脉冲所花费的时间;确定何时没有接收到发射的光脉冲的返回光脉冲;确定发射的光脉冲/返回光脉冲的方向(例如,水平和/或垂直信息);确定特定方向上的估计范围;导出FOV中物体的反射率,和/或确定与LiDAR系统300相关的任何其它类型的数据。
[0083] LiDAR系统300可以设置在交通工具中,该交通工具可以在许多不同的环境中运行,包括炎热或寒冷的天气、可能导致强烈振动的崎岖路况、高或低湿度、多尘区域等。因此,在一些实施例中,LiDAR系统300的光学和/或电子部件(例如,发射器320中的光学器件、光学接收器和光探测器330以及转向机构340)以保持长期机械和光学稳定性的方式被设置和/或配置。例如,LiDAR系统300中的部件可以被固定和密封,使得它们可以在交通工具可能遇到的所有条件下运行。作为示例,可以将防潮涂层和/或气密密封应用于发射器320的光学部件、光学接收器和光探测器330以及转向机构340(以及其它易受湿气影响的部件)。作为另一示例,壳体、外罩、整流罩和/或窗口可以用在LiDAR系统300中,用于提供期望的特性,诸如硬度、异物防护等级(IP)、自清洁能力、耐化学性和耐冲击性等。另外,用于组装LiDAR系统300的高效且经济的方法可以用于满足LiDAR运行要求,同时保持低成本。
[0084] 本领域普通技术人员应该理解,图3和以上描述仅出于说明性目的,并且LiDAR系统可以包括其它功能单元、块或段,并且可以包括这些以上功能单元、块或段的变型或组合。例如,LiDAR系统300还可以包括图3中未描绘的其它部件,诸如电源总线、电源、LED指示器、开关等。附加地,可以存在部件之间的其它连接,诸如光源310与光学接收器和光探测器330之间的直接连接,使得光探测器330可以精确地测量从光源310发射光脉冲直到光探测器330探测到返回光脉冲的时间。
[0085] 图3所示的这些部件使用通信路径312、314、322、332、342、352和362耦合在一起。这些通信路径表示各种LiDAR系统部件之间的通信(双向或单向),但不必是物理部件本身。
虽然通信路径可以由一根或多根电线、总线或光纤来实现,但是通信路径也可以是无线通道或露天光学路径,从而不存在物理通信介质。例如,在一个示例性LiDAR系统中,通信路径
314包括一根或多根光纤;通信路径352表示光学路径;并且通信路径312、322、342和362都是承载电信号的电线。通信路径还可以包括上述类型的通信介质(例如,它们可以包括光纤和光学路径,或者一根或多根光纤和一根或多根电线)中的多于一种。
[0086] 如上所述,一些LiDAR系统使用光信号(例如,光脉冲)的飞行时间(ToF)来确定到光路中的物体的距离。例如,参考图5A,示例性LiDAR系统500包括激光光源(例如,光纤激光器)、转向机构(例如,一个或多个移动镜的系统)和光探测器(例如,具有一个或多个光学器件的光电探测器)。LiDAR系统500可以使用例如上述LiDAR系统300来实现。LiDAR系统500沿着由LiDAR系统500的转向机构确定的光路504发射光脉冲502。在所描绘的示例中,由激光光源生成的光脉冲502是激光的短脉冲。此外,LiDAR系统500的信号操控机制是脉冲信号转向机构。然而,应当理解,LiDAR系统可以通过生成、发射和探测非脉冲的光信号来运行,并且使用除飞行时间之外的技术来导出到周围环境中的物体的距离。例如,一些LiDAR系统使用调频连续波(即,“FMCW”)。还应当理解,本文针对使用脉冲信号的基于飞行时间的系统描述的任何技术也可以适用于不使用这些技术中的一种或两种的LiDAR系统。
[0087] 返回参考图5A(例如,图示了使用光脉冲的飞行时间LiDAR系统),当光脉冲502到达物体506时,光脉冲502散射或反射以形成返回光脉冲508。返回光脉冲508可以沿着光路510返回系统500。可以测量从发射的光脉冲502离开LiDAR系统500时到返回光脉冲508回到LiDAR系统500时的时间(例如,通过LiDAR系统内的处理器或其它电子设备,诸如控制电路
350)。该飞行时间结合光速的知识可以用于确定从LiDAR系统500到光脉冲502被散射或反射的物体506的部分的距离/距离。
[0088] 通过引导许多光脉冲,如图5B所描绘,LiDAR系统500扫描外部环境(例如,通过分别沿着光路504、524、528、532引导光脉冲502、522、526、530)。如图5C所描绘,LiDAR系统500接收返回光脉冲508、542、548(分别对应于发射的光脉冲502、522、530)。返回光脉冲508、542和548通过物体506和514中的一个物体散射或反射发射的光脉冲而形成。返回光脉冲
508、542和548可以分别沿着光路510、544和546返回LiDAR系统500。基于发射的光脉冲的方向(如由LiDAR系统500确定的)以及计算的从LiDAR系统500到散射或反射光脉冲的物体的部分(例如,物体506和514的部分)的距离,可探测范围内的外部环境(例如,路径504和532之间的视场,包括在内)可以被精确地绘制或绘图(例如,通过生成3D点云或图像)。
[0089] 如果对于特定的发射的光脉冲没有接收到对应的光脉冲,则LiDAR系统500可以确定在LiDAR系统500的可探测范围内没有物体(例如,物体在LiDAR系统500的最大扫描距离之外)。例如,在图5B中,光脉冲526可能没有对应的返回光脉冲(如图5C所示),因为光脉冲526可能不会在预定探测范围内沿着其传输路径528产生散射事件。LiDAR系统500或与LiDAR系统500通信的外部系统(例如,云系统或服务)可以将缺少返回光脉冲解释为在LiDAR系统500的可探测范围内没有沿着光路528设置物体。
[0090] 在图5B中,光脉冲502、522、526和530可以以任何顺序、串行、并行或基于相对于彼此的其它时序来发射。附加地,尽管图5B将发射的光脉冲描绘为在一个维度或一个平面(例如,纸的平面)中被引导,但是LiDAR系统500也可以沿着其它维度或平面引导发射的光脉冲。例如,LiDAR系统500还可以在垂直于图5B所示的维度或平面的维度或平面中引导发射的光脉冲,从而形成光脉冲的2维传输。光脉冲的这种2维传输可以是逐点的、逐行的、一次性的或者以其它方式进行。也就是说,LiDAR系统500可以被配置为执行点扫描、线扫描、无扫描的单次扫描或它们的组合。来自光脉冲的1维传输的点云或图像(例如,单条水平线)可以生成2维数据(例如,(1)来自水平传输方向的数据和(2)到物体的范围或距离)。类似地,来自光脉冲的2维传输的点云或图像可以生成3维数据(例如,(1)来自水平传输方向的数据,(2)来自垂直传输方向的数据,以及(3)到物体的范围或距离)。通常,执行光脉冲的n维传输的LiDAR系统生成(n+1)维数据。这是因为LiDAR系统可以测量物体的深度或者到物体的距离,这提供了额外的数据维度。因此,由LiDAR系统进行的2D扫描可以生成用于绘制LiDAR系统的外部环境的3D点云。
[0091] 点云的密度是指由LiDAR系统执行的每个区域的测量(数据点)的数量。点云密度与LiDAR扫描分辨率相关。通常,至少对于感兴趣区域(ROI),期望更大的点云密度,并且因此需要更高的分辨率。LiDAR系统生成的点云或图像中的点密度等于脉冲数除以视场。在一些实施例中,视场可以是固定的。因此,为了增加由一组发射‑接收光学器件(或收发器光学器件)生成的点的密度,LiDAR系统可能需要更频繁地生成脉冲。换句话说,LiDAR系统中的光源可以具有更高的脉冲重复率(PRR)。另一方面,通过更频繁地生成和发射脉冲,LiDAR系统可以探测的最远距离可能是有限的。例如,如果在系统发射下一个脉冲之后接收到来自远处物体的返回信号,则返回信号可能以与发射对应信号的顺序不同的顺序被探测到,从而如果系统不能正确地将返回信号与发射信号相关联,则导致模糊。
[0092] 为了说明,考虑可以发射脉冲重复率在500kHz与1MHz之间的激光脉冲的示例性LiDAR系统。基于脉冲返回到LiDAR系统所花费的时间,并且为了避免在典型的LiDAR设计中来自连续脉冲的返回脉冲的混淆,对于500kHz和1MHz,LiDAR系统可以探测的最远距离可以分别是300米和150米。重复频率为500kHz的LiDAR系统的点密度是1MHz的一半。因此,这个示例表明,如果系统不能正确地关联无序到达的返回信号,则将重复率从500kHz增加到1MHz(并且因此提高系统的点密度)可能减小系统的探测范围。使用各种技术来减轻较高PRR与有限探测范围之间的折衷。例如,多个波长可以用于探测不同范围内的物体。光学和/或信号处理技术(例如,脉冲编码技术)也用于在发射的光信号与返回光信号之间进行关联。
[0093] 本文所述的各种系统、装置和方法可以使用数字电路来实现,或者使用利用众所周知的计算机处理器、存储器单元、存储设备、计算机软件和其它部件的一个或多个计算机来实现。通常,计算机包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。计算机还可以包括或耦合到一个或多个大容量存储设备,诸如一个或多个磁盘、内部硬盘和可移动磁盘、磁光盘、光盘等。
[0094] 本文所述的各种系统、装置和方法可以使用以客户端‑服务器关系运行的计算机来实现。通常,在这样的系统中,客户端计算机位于远离服务器计算机的位置,并且经由网络进行交互。客户端‑服务器关系可以由在相应的客户端和服务器计算机上运行的计算机程序来定义和控制。客户端计算机的示例可以包括台式计算机、工作站、便携式计算机、蜂窝智能手机、平板电脑或其它类型的计算设备。
[0095] 本文所述的各种系统、装置和方法可以使用计算机程序产品来实现,该计算机程序产品有形地包含在信息载体中,例如在非暂时性机器可读存储设备中,用于由可编程处理器执行;并且本文所述的方法过程和步骤(包括图12至图14中的至少一些的一个或多个步骤)可以使用可由这样的处理器执行的一个或多个计算机程序来实现。计算机程序是一组计算机程序指令,该组计算机程序指令可以在计算机中直接或间接使用,以执行特定活动或产生特定结果。计算机程序可以以任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、部件、子例程或适合在计算环境中使用的其它单元。
[0096] 图6图示了可以用于实现本文所述的系统、装置和方法的示例性装置的高级框图。装置600包括处理器610,该处理器可操作地耦合到持久性存储设备620和主存储器设备
630。处理器610通过执行定义这些操作的计算机程序指令来控制装置600的整体操作。计算机程序指令可以存储在持久性存储设备620或其它计算机可读介质中,并且在期望执行计算机程序指令时加载到主存储器设备630中。例如,处理器610可以用于实现本文所述的一个或多个部件和系统,诸如控制电路350(图3所示)、交通工具感知和规划系统220(图2所示)和交通工具控制系统280(图2所示)。因此,图12至图14中的至少一些的方法步骤可以由存储在主存储器设备630和/或持久性存储设备620中的计算机程序指令来定义,并且由执行计算机程序指令的处理器610来控制。例如,计算机程序指令可以被实现为由本领域技术人员编程的计算机可执行代码,以执行由本文结合图12至图14中的至少一些讨论的方法步骤定义的算法。相应地,通过执行计算机程序指令,处理器610执行由这些前述附图的方法步骤定义的算法。装置600还包括一个或多个网络接口680,用于经由网络与其它设备通信。
装置600还可以包括一个或多个输入/输出设备690,该一个或多个输入/输出设备使得用户能够与装置600交互(例如,显示器、键盘、鼠标、扬声器、按钮等)。
[0097] 处理器610可以包括通用和专用微处理器,并且可以是装置600的唯一处理器或多个处理器中的一个。处理器610可以包括一个或多个中央处理单元(CPU)和一个或多个图形处理单元(GPU),GPU例如可以与一个或多个CPU分开工作和/或与一个或多个CPU一起执行多任务以加速处理,例如,用于本文所述的各种图像处理应用。处理器610、持久性存储设备620和/或主存储器设备630可以包括一个或多个专用集成电路(ASIC)和/或一个或多个现场可编程门阵列(FPGA),或者由一个或多个ASIC和/或一个或多个FPGA补充,或者并入一个或多个ASIC和/或一个或多个FPGA中。
[0098] 持久性存储设备620和主存储器设备630各自包括有形的非暂时性计算机可读存储介质。持久性存储设备620和主存储器设备630可以各自包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍速率同步动态随机存取存储器(DDR RAM)或其它随机存取固态存储器设备,并且可以包括非易失性存储器,例如,一个或多个磁盘存储设备,诸如内部硬盘和可移动磁盘、磁光盘存储设备、光盘存储设备、闪存设备、半导体存储设备(诸如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、光盘只读存储器(CD‑ROM)、数字通用光盘只读存储器(DVD‑ROM)盘或其它非易失性固态存储设备。
[0099] 输入/输出设备690可以包括外围设备,诸如打印机、扫描仪、显示屏等。例如,输入/输出设备690可以包括用于向用户显示信息的显示设备(诸如阴极射线管(CRT)、等离子体或液晶显示器(LCD)监视器、键盘)以及用户可以用来向装置600提供输入的定点设备(诸如鼠标或轨迹球)。
[0100] 本文讨论的系统和装置的任何或所有功能可以由处理器610执行,和/或结合到诸如LiDAR系统300的装置或系统中。此外,LiDAR系统300和/或装置600可以利用一个或多个神经网络或由处理器610或本文讨论的其它系统或装置执行的其它深度学习技术。
[0101] 本领域技术人员将认识到,实际计算机或计算机系统的实现可以具有其它结构,并且也可以包含其它部件,并且图6是用于说明目的的这种计算机的部件中的一些部件的高级表示。
[0102] 图7是图示根据实施例的具有用于探测和处理返回信号的光学接收器和光探测器330的示例性LiDAR系统300的框图。参考图7,在一些实施例中,LiDAR系统300包括光学接收器和光探测器330。光学接收器和光探测器330包括光学接收器(未示出)、光探测器704、放大器706、ADC 708和数模转换器(DAC)702。光学接收器被配置为收集来自FOV的返回信号。
在一些示例中,转向机构340经由路径352将返回信号引导至光学接收器。返回信号可以包括由FOV中的物体710反射透射光形成的返回光脉冲、散射光(例如,由LiDAR系统300的窗口形成的光)、背景噪声等。光学接收器可以包括一个或多个光学透镜、透镜组、镜、棱镜等,以接收、聚焦和引导返回信号。光探测器704探测由光学接收器接收的返回信号,并且生成与返回信号的入射强度成比例的电流和/或电压信号。光探测器704可以是电荷耦合器件(CCD)、光电二极管、雪崩光电二极管(APD)、光电倍增真空管或图像传感器等。光探测器704还可以包括滤光器,以选择性地使某些波长的光通过。在一些示例中,光探测器704可以经由通信路径362向控制电路350发射信号,指示何时探测到返回的光脉冲。与返回光脉冲有关的其它数据(诸如振幅、功率、脉冲形状和波长等)也可以经由通信路径362传输到控制电路350。
[0103] 参考图7,光学接收器和光探测器330包括数模转换器(DAC)702、放大器706和模数转换器(ADC)708。可替代地或附加地,光学接收器和光探测器330可以包括时间数字转换器(TDC)而不是ADC。DAC 702可以从例如控制电路350接收数字控制信号。基于数字控制信号,DAC 702生成模拟信号作为光探测器704的偏置电压。例如,如果光探测器704是APD,则在APD上施加偏置电压,以产生雪崩倍增发生所需的电场。如果偏置电压过低,APD可能无法提供期望的灵敏度和增益。另一方面,如果偏置电压太高,则APD可能被损坏,或者其性能可能由于过量的噪声或其它因素而降低。通过对DAC 702的输入的适当控制,可以选择适当的偏置电压来将APD置于其最佳工作范围。
[0104] 在一些示例中,由光探测器704生成的电流和/或电压信号被提供给放大器706。放大器706可以放大信号用于进一步处理。在一个实施例中,放大器706可以是跨阻放大器(TIA),该跨阻放大器将光探测器704生成的电流信号转换成电压信号,并且将电压信号放大到适于进一步处理的水平。放大器706的输出是模拟信号。模拟信号被提供给ADC 708,ADC被配置为将模拟信号转换成近似于输入模拟信号的数字信号。ADC 708的输出是表示探测到的返回信号的ADC数据。在一些示例中,ADC 708分两个阶段将模拟信号转换成数字信号:采样和量化。在采样阶段,以特定的时间间隔测量(或采样)模拟信号,并且将获得的值存储为数字样本。在量化阶段,基于用于表示的位数,每个样本的振幅被舍入到最接近的数字值。ADC 708的精度取决于几个因素,诸如采样率、分辨率、DC偏移和信噪比(SNR)。采样率决定了模拟信号的采样频率,而分辨率决定了用于表示每个样本的位数。如上所述,DC偏移影响ADC 708输出的真实值。SNR是信号功率与噪声功率之比的度量,并且它决定了ADC 708区分信号和噪声的准确度。
[0105] 在ADC 708将电压信号从模拟信号转换成数字信号之后,数字信号作为ADC数据被发送到控制电路350。如上所述,控制电路350可以包括一个或多个处理器(例如,处理器712)和存储器设备(例如,存储器714),用于处理ADC数据以确定例如用于距离计算和点云构建的返回光脉冲的定时。
[0106] 在上面的图5A至图5C中图示了距离计算。返回参考图5A至图5C,LiDAR系统(例如,系统300或500)通过测量光脉冲从光脉冲离开LiDAR系统的时间(例如,出射光脉冲502、522和530)到从物体散射的光脉冲(例如,返回光脉冲508、542和548)返回LiDAR系统的时间的飞行时间来确定到物体506和514的距离。到物体506和514的距离可以通过将飞行时间和光速相乘来确定。由于光速为大约每秒30公里,光在一纳秒内可以传播的距离为大约0.3米。由于飞行时间是光脉冲往返传播时间的测量值,所以飞行时间的一纳秒的错误计算会导致距离测量中大约0.15米的误差。因此,准确计算飞行时间的能力对于LiDAR系统确定到物体的距离起着重要作用。
[0107] 返回参考图7,放大器706的输出可以是连续时间和连续振幅的模拟电压信号,其类似于图5C中的返回光脉冲508、542和548的波形。在一个实施例中,ADC 708以固定的采样率对来自放大器706的模拟电压信号进行采样(例如,以1纳秒的采样率,这相当于1GHz的采样频率),并且为每个样本分配离散值。每个离散值表示在每个采样时间返回光脉冲的模拟电压信号的振幅。这个过程产生了离散时间数字脉冲信号,该离散时间数字脉冲信号近似于返回光脉冲的原始连续时间模拟信号。如上所述,由ADC 708提供的ADC输出可以包括表示返回光脉冲和由例如噪声引起的DC偏移的信号。因此,需要至少部分地校正ADC输出,以消除DC偏移。
[0108] 图8图示了在多个连续激发周期中的示例性ADC数据和激光触发。在LiDAR系统中,光从快速激发的激光器发出。这种激光器每秒钟能激发几十万个脉冲。这些光脉冲被FOV中的物体反射,并且反射光的至少一部分返回到LiDAR系统以形成返回光脉冲。LiDAR系统使用每个脉冲返回所需的时间来计算距离,即飞行时间(ToF)。这些脉冲激光测量或返回的每一个可以被处理成被称为“点云”的3D可视化。激发周期是由两次紧邻的脉冲激发所占据的一段时间。在一些实施例中,激发周期开始于激光触发器的时间位置,并且结束于下一个激光触发器的时间位置(但不包括下一个激光触发器的时间位置)。在图8中,水平轴表示时间轴,该时间轴表示从激发周期的开始时间或时间位置“0”开始的时间流逝或延迟时间。信号线800表示多个连续激发周期的示例性ADC信号线。激光触发器812的时间位置是当LiDAR系统激发透射光脉冲时的开始时间,该透射光脉冲被发射到LiDAR系统外部的FOV。在一些实施例中,该开始时间相当于激光器触发以激发脉冲的时间或者出射光脉冲离开LiDAR系统的时间。垂直轴表示波形的信号强度(例如,电压振幅)。如图8所示,第一激发周期810开始于激光触发器812的时间位置,并且结束于激光触发器822的时间位置(不包括激光触发器822的时间位置)。第一激发周期810之后是第二激发周期820。第二激发周期820开始于激光触发器822的时间位置,并且结束于激光触发器832的时间位置(不包括激光触发器822的时间位置)。类似地,第二激发周期820之后是第三激发周期830,等等。第三激发周期830开始于激光触发器832的时间位置。为了说明的目的,第二激发周期820可以表示为当前激发周期。第一激发周期810可以表示为前一个激发周期。第三激发周期830可以表示为下一个激发周期。在一些实施例中,在每个激发周期中激发一个或多个发射脉冲。例如,如果LiDAR系统具有一个或多个发射器通道或光源,则每个激发周期可以具有一个或多个发射脉冲。为了说明的目的,下面的描述对每个激发周期使用一次脉冲激发。
[0109] 如上所述,ADC数据可能具有DC偏移。这样的DC偏移在图9A中图示,其中即使没有接收到返回光脉冲,当前激发周期900的ADC数据也具有一定的信号强度。在图9A中,DC偏移为大约90ADC计数。ADC计数表示ADC输出的信号强度。ADC计数越高,信号强度越大。如上所述,通过使用下面更详细公开的方法,可以确定并且至少部分地校正DC偏移。在一些示例中,控制电路350(如图7所示)包括一个或多个处理器和包括处理器712和存储器714的存储器设备,该控制电路可以用于执行操作以确定多个激发周期的每个激发周期的DC偏移。
[0110] 在一些实施例中,确定DC偏移包括首先使用ADC数据确定多点时间窗口。图9A至图9D图示了具有多点时间窗口位置的不同选择的示例性ADC数据。图9A至图9D中的每一个图示了激发周期的至少一部分。在图9A中,水平轴是时间轴,该时间轴表示从激光触发器902的时间位置(即,零时间位置)测量的时间延迟。激光触发器902的时间位置是图9A所示的当前激发周期900的开始时间。时间的延迟可以用例如纳秒来表示。图9A中的垂直轴表示ADC数据的信号强度(例如,振幅)。ADC数据是来自ADC的数字输出,近似于由LiDAR系统探测到的返回信号的模拟波形。
[0111] 在激光触发器902的时间位置之后,图9A所示的ADC数据包括信号脉冲904、906和908。信号脉冲904可以表示参考光信号。参考光信号可以由透射光脉冲形成,并且用作参考点来测量FOV中物体的距离。信号脉冲906可以表示散射光脉冲。当透射光脉冲被某些激光雷达部件(诸如窗口、镜等)散射时,它形成可以被LiDAR系统的光学接收器和探测器探测到的散射光脉冲。然后,散射光脉冲被ADC转换成数字信号,以形成ADC数据的一部分。信号脉冲908可以表示反射光脉冲。反射光脉冲通过FOV中的物体反射透射光脉冲而形成。该反射光脉冲是用于探测物体和测量物体距离的期望光脉冲。图9C示出了与图9A所示相同的ADC数据。在图9A和图9C中,信号脉冲908具有平坦的顶部部分,这指示表示反射光脉冲的ADC输入信号的信号强度超过了ADC的动态范围。换句话说,ADC的输入信号的动态范围是它能够转换的最大值与最小值之间的差。ADC的动态范围由用来表示ADC的数字输出的位数确定。
例如,一个8位ADC的动态范围为48dB,这意味着它可以表示最大振幅比其最小可探测振幅大48dB的信号。16位ADC的动态范围为96dB,远大于8位ADC。
[0112] 图9B和图9D图示了另一个激发周期的ADC数据。在激光触发器922的时间位置之后,图9B和图9D中的ADC数据包括信号脉冲924、926和928。信号脉冲924可以表示参考光信号。信号脉冲926可以表示散射光脉冲。信号脉冲924和926可以分别以与信号脉冲904和906类似的方式形成,并且因此不再重复描述。在图9B和图9D的ADC数据中,信号脉冲928可以表示反射光脉冲。反射光脉冲是通过FOV中的物体反射透射光脉冲而形成的。与图9A中所示的信号脉冲908不同,信号脉冲928没有平的顶部,这表明在这种情况下ADC没有被表示反射光脉冲的输入信号饱和。也就是说,在这种情况下,表示反射光脉冲的ADC输入信号在ADC的动态范围内。
[0113] 在图9A和图9C中,平均DC偏移为大约90个ADC计数。在图9B和图9D中,平均DC偏移为大约40个ADC计数。因此,从图9A至图9D可以看出,DC偏移对于不同的激发周期是不同的。为了至少部分地校正来自ADC数据的DC偏移,基于ADC数据确定多点时间窗口。可以基于表示探测到的返回信号中的一个或多个探测到的返回信号的数字信号的时间位置来定位多点时间窗口。因为多点时间窗口用于测量ADC数据的DC偏移,因此最好选择时间窗口,在该时间窗口期间,ADC数据不包括任何表示信号脉冲(例如,参考信号脉冲、散射光脉冲或反射光脉冲)的信号。换句话说,应该选择多点时间窗口,使得在该时间窗口内,ADC数据完全或基本上仅包括导致DC偏移的噪声。
[0114] 图9A至图9D提供了可以定位多点时间窗口的几个示例。在一些实施例中,多点时间窗口可以定位在与当前激发周期的激光触发相关联的时间位置之前的前一个激发周期内。例如,如图9A所示,激光触发器902的时间位置(由虚线表示)将当前激发周期900与其前一个激发周期分开。多点时间窗口901定位在前一个激发周期中激光触发器902的时间位置稍前。在多点时间窗口901内,没有信号脉冲。也就是说,多点时间窗口901的定位避免了具有信号脉冲的任何位置。
[0115] 类似地,在图9B中,多点时间窗口921定位在激光触发器922的时间位置稍前。激光触发器922的时间位置将当前激发周期920与其前一个激发周期分开。因此,多点时间窗口921定位在前一个激发周期内,同时避免与信号脉冲相关联的任何时间位置。典型地,在激光触发器时间位置附近可以找到激发周期内不具有信号脉冲(仅具有噪声)的时间位置。图
9A和图9B示出了具有不同DC偏移的两个不同激发周期的ADC数据(例如,图9A中ADC数据的平均DC偏移为约90个计数,而图9B中ADC数据的平均DC偏移为约40个计数)。偏移量的差异可能是由LiDAR探测到的不同类型的物体造成的。在这种情况下,对所有激发周期使用恒定的DC偏移不能充分地将两个激发周期中的ADC数据校正到例如零的基数。例如,仅通过减去从激发周期920获得的40个计数来校正具有90个计数的DC偏移的激发周期900的ADC数据是不够的。另一方面,如果图9A和图9B所示的两个激发周期都应用90个计数的校正,则激发周期920中的DC偏移可能被过度校正。
[0116] 在一些实施例中,多点时间窗口可以定位在前一个激发周期与当前激发周期之间。例如,如图9C所示并且类似于图9A,激光触发器902的时间位置将当前激发周期900与前一个激发周期分开。多点时间窗口931可以定位在当前激发周期900与其前一个激发周期之间,例如,横跨激光触发器902的时间位置。
[0117] 在一些实施例中,多点时间窗口可以定位在与表示当前激发周期中探测到的返回信号的第一脉冲的数字信号相关联的时间位置之前。例如,如图9D所示,多点时间窗口941定位在信号脉冲924之前。信号脉冲924表示当前激发周期中探测到的返回信号的第一脉冲。在一些实施例中,多点时间窗口941完全定位在当前激发周期920内(例如,在激光触发器922的时间位置之后)。在其它实施例中,多点时间窗口941可以横跨激光触发器922的时间位置。应该理解,多点时间窗口可以定位在任何时间位置,同时避免包括与表示光脉冲的信号相关联的时间位置。
[0118] 在一些实施例中,利用适当定位的多点时间窗口,可以确定DC偏移。例如,在定位多点时间窗口之后,控制电路(例如,电路350)可以获得所确定的多点时间窗口的时间位置,用于确定ADC数据的偏移。控制电路可以进一步获得与多点时间窗口的时间位置相对应的ADC数据的信号强度,并且基于与多点时间窗口的时间位置相对应的ADC数据的信号强度来计算偏移。
[0119] 图10是图示用于计算DC偏移的示例性多点时间窗口1021的放大视图。在一个示例中,时间窗口1021可以是16点窗口。在其它示例中,时间窗口1021可以包括更多的时间点或时间位置(例如,20、24、32)。在时间窗口中包括较少数量的数据点(例如,2或4个点)可能导致计算值不太能表示激发周期中的总DC偏移。另一方面,包括太多的数据点可能导致难以找到放置时间窗口的适当位置,同时仍然避免包括表示光脉冲的信号。因此,应该适当选择时间窗口中的点数。
[0120] 在图10中,水平轴是表示时间流逝t的时间轴。垂直轴表示ADC输出的信号强度(例如,ADC计数)。在一些实施例中,由垂直虚线表示的激光触发器1022的时间位置将当前激发周期1020和前一个激发周期1010分开。如图10所示,激发周期1010表示前一个激发周期(也被称为第一激发周期)。激发周期1020表示当前激发周期(也被称为第二激发周期)。在图10所示的这个示例中,16点时间窗口1021定位在与当前激发周期1020的激光触发器相关联的时间位置之前的前一个激发周期1010内。图10中所示的16点时间窗口1021是放大视图,并且没有按比例绘制。控制电路(例如,电路350)获得16点时间窗口1021的时间位置。时间窗口1021的时间位置包括从t1到t16的时间位置。在这个示例中,16点时间窗口1021包括从时间位置t1到t16的时间段中的16个连续数据点。在其它示例中,数据点可能不是连续的。
[0121] 控制电路进一步获得与16点时间窗口1021的时间位置t1至t16相对应的ADC数据的信号强度。控制电路可以基于这16个数据点的信号强度来计算偏移。在一些实施例中,基于与多点时间窗口的时间位置相对应的ADC数据的信号强度计算偏移包括计算以下各项中的至少一项:信号强度的平均值、信号强度的加权平均值、信号强度的中值以及信号强度的模式。通过计算数据点的信号强度的总和并且将该总和除以数据点的总数来计算平均值,作为信号强度的平均值。加权平均值是考虑了一组数据中每个值的相对重要性或权重的平均值。加权平均值的计算方法是将数据集中的每个值乘以其对应的权重,将乘积相加,并且然后除以权重的总和。一组数据的中值是数据按从低到高(或从高到低)的顺序排列时的中间值。它是对集中趋势的度量,表示将数据的50%以下与50%以上分开的值。如果数据集有偶数个值,则中位数是两个中间值的平均值。要计算中值,可以按从低到高(或从高到低)的顺序排列这些值。然后,如果数据集中的值的数量是奇数,则中值是中间值。如果数据集中值的数量是偶数,则中值是两个中间值的平均值。数据集的众数是数据集中出现频率最高的值。它是对集中趋势的度量,表示数据集中最常见的值。数据集可以具有一个众数(单峰)、两个众数(双峰)或多于两个众数(多峰)。为了找到众数,确定哪个值在数据集中出现得最频繁。
[0122] 使用平均值作为示例,如图10所示,可以通过计算与从t1到t16的时间位置相对应的信号强度的值的总和并且然后将该总和除以16来计算基于与16点时间窗口1021的时间位置相对应的ADC数据的信号强度的偏移。计算的偏移在图10中被图示为偏移1023。应该理解,针对每个激发周期,偏移可以以任何方式(例如,加权平均值、中值、众数、线性回归等)计算。对于不同的激发周期,控制电路可以使用相同或不同的方法来计算特定激发周期的DC偏移,从而实现逐循环实时监测DC偏移。
[0123] 在一些实施例中,使用每个激发周期的计算的偏移,控制电路可以基于该偏移至少部分地校正ADC数据,并且提供校正的ADC数据用于构建表示LiDAR系统的外部环境的点云。例如,可以通过从ADC数据中减去偏移来校正每个激发周期的ADC数据。取决于多点时间窗口所处的位置,在一些示例中,使用定位在前一个激发周期中的时间窗口计算的偏移可以用于校正当前激发周期中的ADC数据。图11图示了在多个连续激发周期中的示例性偏移校正的ADC数据。类似于图8,水平轴是表示时间流逝t的时间轴。垂直轴表示ADC输出信号的信号强度(例如,电压振幅)。信号线1100表示多个连续激发周期的示例性ADC信号线。如图11所示,前一个激发周期(第一激发周期)1110开始于激光触发器1112的时间位置,并且结束于激光触发器1122的时间位置(不包括激光触发器1122的时间点)。因此,前一个激发周期(第一激发周期)1110之后是当前激发周期(第二激发周期)1120,之后是下一个激发周期(第三激发周期)1130。当前激发周期(第二激发周期)1120开始于激光触发器1122的时间位置,并且结束于激光触发器1132的时间位置(不包括激光触发器1132的时间点)。如果多点时间窗口定位在激发周期1110中激光触发器1122的时间位置附近,基于该时间窗口计算的偏移可以用于激发周期1120。也就是说,基于定位在前一个激发周期中的时间窗口计算的偏移可以用于校正下一个激发周期的ADC数据。
[0124] 在其它实施例中,时间窗口可以定位在当前激发周期1120内激光触发器1122的时间位置附近(例如,紧接在激光触发器1122之后)。在这种情况下,基于该时间窗口计算的偏移可以用于校正当前激发周期1120(或下一个激发周期1130)的ADC数据。虽然不同激发周期中的偏移可能不同,但是在某些情况下,相邻激发周期的ADC数据可能具有相似的偏移。因此,使用为相邻激发周期计算的偏移来校正当前激发周期的ADC数据可能是可接受的。虽然图11示出了激发周期1110和1120是紧邻的周期,并且基于激发周期1110中的时间窗口计算的偏移用于校正激发周期1120中的ADC数据的偏移,但是应该理解,这些周期不必是紧邻的。例如,基于定位在激发周期1110中的时间窗口计算的偏移也可以用于校正周期1130中ADC数据的偏移。与图8所示的ADC数据相比,至少部分地校正如图11所示的ADC数据的DC偏移。
[0125] 在一些实施例中,计算偏移是基于偏移的预设初始值。在一些示例中,负ADC数据不能被记录或用于构建3D点云。因此,可以用小的正值预设偏移。因此,利用基于多点时间窗口方法计算的偏移来校正原始ADC数据会产生负值。偏移的小的正初始值可以把原来的负值变成正值,所以可以记录下来。在一些实施例中,偏移的预设初始值可以是40。一旦计算出偏移,考虑到初始值,可以基于偏移至少部分地校正ADC数据。
[0126] 图12是图示使用示例性方法1200来实时监测LiDAR系统的模数(ADC)数据的DC偏移的流程图。在一些实施例中,方法1200可以由图3和图7所示的LiDAR系统300或700来执行。方法1200也可以由其它设备(例如,远程服务器、交通工具的车载计算机等)执行。方法1200包括步骤1204,其中光源被配置为在多个激发周期中提供透射光信号。返回参考图3,LiDAR系统300经由发射器320和转向机构340将光源310生成的出射光脉冲发射到视场。飞行时间计算的起点是产生出射光脉冲的时间,或者是出射光脉冲离开LiDAR系统的时间。方法1200进一步包括步骤1206,其中LiDAR系统探测基于透射光信号形成的返回信号。光学接收器和光探测器330探测返回信号。
[0127] 在一些实施例中,方法1200进一步包括步骤1208‑1216,这些步骤也由光学接收器和光探测器330和/或控制电路350执行。在步骤1206处,光学接收器和光探测器330和/或控制电路350基于探测到的返回信号获得ADC数据(例如,通过使用光探测器、放大器和ADC,如上所述)。在步骤1210处,控制电路350使用ADC数据确定多点时间窗口。在一些实施例中,可以基于表示探测到的返回信号中的一个或多个探测到的返回信号的数字信号的时间位置来定位多点时间窗口。在一些实施例中,多点时间窗口可以定位在与当前激发周期的触发相关联的时间位置之前的前一个激发周期内,在前一个激发周期与当前激发周期之间或者在当前激发周期内,或者在与表示当前激发周期中探测到的返回信号的第一脉冲的数字信号相关联的时间位置之前。在步骤1212处,基于多点时间窗口的确定,控制电路350确定ADC数据的偏移。在一些实施例中,确定ADC数据的偏移包括获得所确定的多点时间窗口的时间位置,获得与多点时间窗口的时间位置相对应的ADC数据的信号强度,以及基于与多点时间窗口的时间位置相对应的ADC数据的信号强度来计算偏移。在一些实施例中,基于与多点时间窗口的时间位置相对应的ADC数据的信号强度计算偏移包括计算以下各项中的至少一项:信号强度的平均值、信号强度的加权平均值、信号强度的中值以及信号强度的模式。
[0128] 在步骤1214处,控制电路350基于偏移至少部分地校正ADC数据。在一些实施例中,控制电路350进一步从表示第二激发周期中探测到的返回信号的ADC数据中减去表示第一激发周期中探测到的返回信号的ADC数据的偏移。在步骤1216处,控制电路350提供校正的ADC数据,用于构建表示LiDAR系统的外部环境的点云。
[0129] 图13是图示使用示例性方法来实时监测LiDAR系统的模数(ADC)数据的帧偏移的流程图。在一些实施例中,不是为每个激发周期计算偏移,而是为包括多个激发周期的帧确定帧偏移。在一些实施例中,方法1300可以由包括控制电路350的图3和图7中的LiDAR系统300或700来执行。在步骤1302处,控制电路350获得与多个激发周期中的一组激发周期相关联的偏移。使用上述方法可以获得与该组激发周期相关联的偏移中的每个偏移。该组激发周期与点云的帧相关联。当LiDAR系统完成对整个FOV的扫描时,可以由LiDAR系统生成点云数据的帧。例如,当LiDAR系统的镜完成从垂直FOV的顶部到底部的扫描时,LiDAR系统可以生成一帧点云数据。为了生成一个帧,可能需要许多个(例如,20,000个)激发周期。
[0130] 在步骤1304处,控制电路350确定与跟该帧相关联的一组激发周期相关联的多个最低偏移。例如,控制电路350可以从低到高对帧中所有激发周期的偏移进行分类或排序,并且选择低于阈值(例如,40个ADC计数)的那些最低偏移。在步骤1306处,控制电路350基于多个最低偏移计算帧偏移值。帧偏移表示表示该帧的ADC数据的偏移。例如,控制电路350可以计算最低的偏移的平均值、加权平均值、中值、众数等。该值可以用作帧偏移。在步骤1306处,控制电路350基于帧偏移至少部分地校正表示帧的ADC数据。
[0131] 类似地,图14是流程图,该流程图图示了使用示例性方法1400来实时监测LiDAR系统的多个激发周期中的一组激发周期的模数(ADC)数据的帧偏移。在一些实施例中,一组激发周期与点云的帧相关联。在一些实施例中,在步骤1402处,控制电路350计算与跟点云的帧相关联的一组激发周期相关联的ADC数据的信号强度的标准偏差。例如,基于20,000个激发周期的ADC数据,控制电路350可以计算表示ADC数据分布的标准偏差。
[0132] 在步骤1404处,控制电路350从计算的标准偏差中选择与该组激发周期相关联的ADC数据的信号强度的多个最小标准偏差。小的标准偏差指示ADC数据趋于接近平均值,而大的标准差指示ADC数据更加分散。因此,最小标准偏差更能表示一帧中所有激发周期的ADC数据的平均值。
[0133] 在步骤1406处,控制电路350从与该组激发周期相关联的多点时间窗口中识别与跟该组激发周期相关联的ADC数据的信号强度的多个最小标准偏差相对应的一组多点时间窗口。例如,对于最小的标准偏差,控制电路350可以为对应的20‑50个激发周期识别20‑50个多点时间窗口。多点时间窗口的识别可以使用如上所述的相同或相似的方法(例如,将时间窗口定位在激光触发时间位置附近)。
[0134] 在步骤1408处,控制电路350确定与识别的一组多点时间窗口相关联的ADC数据的偏移。可以使用时间窗口中的数据点的上述方法(例如,计算平均值、中值、加权平均值、众数等)来执行偏移确定。在步骤1410处,控制电路350基于与识别的一组多点时间窗口相关联的ADC数据的偏移来计算帧偏移。帧偏移表示表示该帧的ADC数据的偏移。例如,控制电路350可以计算多个偏移的平均值、加权平均值、中值、众数等,以获得帧偏移。在步骤1412处,控制电路350基于帧偏移至少部分地校正表示帧的ADC数据。
[0135] 前述说明书应被理解为在各个方面都是说明性和示例性的,而不是限制性的,并且本文公开的本发明的范围不是由说明书确定的,而是由根据专利法允许的全部解释的权利要求确定的。应该理解,本文所示和所述的实施例仅仅是本发明原理的说明,并且本领域技术人员可以在不脱离本发明的范围和精神的情况下进行各种修改。在不脱离本发明的范围和精神的情况下,本领域技术人员可以实现各种其它特征组合。