激光传感器的校准方法
技术领域
本公开的技术总体上涉及对由移动平台承载的发射器/检测器传感器(例如,激光传感器)的校准。
背景技术
诸如LiDAR传感器之类的激光传感器通常向外发射脉冲激光信号、检测脉冲信号反射并测量环境中的三维信息(例如,激光器扫描点)以促进环境地图构建。为了实现对移动平台周围的环境的精确地图构建,具有360度水平视场(FOV)的全向激光传感器通常安装在移动平台上以不断地扫描其周围环境。全向激光传感器通常价格昂贵、不可定制,并且具有有限的垂直FOV。因此,仍然需要用于移动平台的改进的感测技术和设备。
发明内容
以下概述为了读者的方便而提供,并且指出本公开的技术的一些代表性实施例。
在一些实施例中,一种用于自动地校准均由公共移动平台承载的至少第一发射器/检测器单元和第二发射器/检测器单元的计算机实现的方法,包括:将从所述第一发射器/检测器单元获得的点云信息变换为与所述移动平台相关联的参考系中的第一点云;将从所述第二发射器/检测器单元获得的点云信息变换为与所述移动平台相关联的参考系中的第二点云;确定所述第一点云和所述第二点云之间的重叠区域;比较所述第一点云和所述第二点云在所述重叠区域中的表面属性;以及至少部分地基于比较所述表面属性,生成用于在所述第一发射器/检测器单元和所述第二发射器/检测器单元之间进行校准的至少一个校准规则。在一些实施例中,至少部分地基于第一组变换规则对从所述第一发射器/检测器单元获得的点云信息进行变换,根据所述第一发射器/检测器单元相对于所述移动平台的位置和取向来至少部分地定义所述第一组变换规则。在一些实施例中,与所述移动平台相关联的参考系包括坐标系。在一些实施例中,所述第一组变换规则包括变换矩阵。在一些实施例中,所述第一发射器/检测器单元包括至少一个激光传感器,所述至少一个激光传感器的视场(FOV)小于360度、180度、90度或60度中的至少一个。在一些实施例中,所述第一发射器/检测器单元包括相对于彼此刚性固定的多个激光传感器。在一些实施例中,确定重叠区域包括:针对所述第一点云中的至少一个点在所述第二点云中确定至少最近的相邻点。在一些实施例中,确定重叠区域包括:针对所述第一点云或所述第二点云中的至少一个点云创建树形结构的数据结构。在一些实施例中,比较表面属性包括:将与所述第一点云相关联的表面和与所述第二点相关联的表面进行匹配。在一些实施例中,比较表面属性还包括:评估至少部分地由所述第一点云和所述第二点云在所述重叠区域内的多个点定义的目标函数。在一些实施例中,生成至少一个校准规则包括优化所述目标函数。在一些实施例中,所述至少一个校准规则包括:用于在所述第一发射器/检测器单元和所述第二发射器/检测器单元的坐标系之间进行变换的规则。在一些实施例中,所述计算机实现的方法还包括检测所生成的至少一个校准规则与一个或多个先前生成的校准规则之间的差异。在一些实施例中,所述计算机实现的方法还包括根据所述至少一个校准规则对所述第一发射器/检测器单元和所述第二发射器/检测器单元进行校准。
在其他实施例中,一种非暂时性计算机可读介质,存储计算机可执行指令。所述指令在被执行时使与移动平台相关联的一个或多个处理器执行动作,所述动作包括:将从第一发射器/检测器单元获得的点云信息变换为与所述移动平台相关联的参考系中的第一点云;将从第二发射器/检测器单元获得的点云信息变换为与所述移动平台相关联的参考系中的第二点云;确定所述第一点云和所述第二点云之间的重叠区域;比较所述第一点云和所述第二点云在所述重叠区域中的表面属性;以及至少部分地基于比较所述表面属性,生成用于在所述第一发射器/检测器单元和所述第二发射器/检测器单元之间进行校准的至少一个校准规则。在一些实施例中,至少部分地基于第一组变换规则对从所述第一发射器/检测器单元获得的点云信息进行变换,根据所述第一发射器/检测器单元相对于所述移动平台的位置和取向来至少部分地定义所述第一组变换规则。在一些实施例中,与所述移动平台相关联的参考系包括坐标系。在一些实施例中,所述第一组变换规则包括变换矩阵。在一些实施例中,所述第一发射器/检测器单元包括至少一个激光传感器,所述至少一个激光传感器的视场(FOV)小于360度、180度、90度或60度中的至少一个。在一些实施例中,所述第一发射器/检测器单元包括相对于彼此刚性固定的多个激光传感器。在一些实施例中,确定重叠区域包括:针对所述第一点云中的至少一个点在所述第二点云中确定至少最近的相邻点。在一些实施例中,确定重叠区域包括:针对所述第一点云或所述第二点云中的至少一个点云创建树形结构的数据结构。在一些实施例中,比较表面属性包括:将与所述第一点云相关联的表面和与所述第二点相关联的表面进行匹配。在一些实施例中,比较表面属性还包括:评估至少部分地由所述第一点云和所述第二点云在所述重叠区域内的多个点定义的目标函数。在一些实施例中,生成所述至少一个校准规则包括优化所述目标函数。在一些实施例中,所述至少一个校准规则包括:用于在所述第一发射器/检测器单元和所述第二发射器/检测器单元的坐标系之间进行变换的规则。在一些实施例中,所述动作还包括检测所生成的至少一个校准规则与一个或多个先前生成的校准规则之间的差异。在一些实施例中,所述动作还包括根据所述至少一个校准规则对所述第一发射器/检测器单元和所述第二发射器/检测器单元进行校准。
在又一些其他实施例中,一种载运工具,包括被编程控制器,所述被编程控制器至少部分地控制所述载运工具的一个或多个运动。所述被编程控制器包括一个或多个处理器,所述一个或多个处理器被配置为:将从第一发射器/检测器单元获得的点云信息变换为与所述载运工具相关联的参考系中的第一点云;将从第二发射器/检测器单元获得的点云信息变换为与所述载运工具相关联的参考系中的第二点云;确定所述第一点云和所述第二点云之间的重叠区域;比较所述第一点云和所述第二点云在所述重叠区域中的表面属性;以及至少部分地基于对表面属性的比较,生成用于在所述第一发射器/检测器单元和所述第二发射器/检测器单元之间进行校准的至少一个校准规则。在一些实施例中,至少部分地基于第一组变换规则对从所述第一发射器/检测器单元获得的点云信息进行变换,根据所述第一发射器/检测器单元相对于所述载运工具的位置和取向来至少部分地定义所述第一组变换规则。至少部分地基于第二组变换规则来对从所述第二发射器/检测器单元获得的点云信息进行变换,并且其中,所述第二组变换规则不同于所述第一组变换规则。在一些实施例中,所述第一组变换规则包括变换矩阵。在一些实施例中,所述第一发射器/检测器单元包括相对于彼此刚性固定的多个激光传感器。在一些实施例中,确定重叠区域包括:针对所述第一点云中的至少一个点在所述第二点云中确定至少最近的相邻点。在一些实施例中,比较表面属性包括:将与所述第一点云相关联的表面和与所述第二点相关联的表面进行匹配,并且将与所述第一点云相关联的表面和与所述第二点相关联的表面进行匹配包括:确定关于所述第一点云的至少一部分的法向向量信息。在一些实施例中,比较表面属性还包括:评估至少部分地由所述第一点云和所述第二点云在所述重叠区域内的多个点定义的目标函数,所述目标函数包括旋转分量和平移分量。在一些实施例中,所述至少一个校准规则包括:用于在所述第一发射器/检测器单元和所述第二发射器/检测器单元的坐标系之间进行变换的规则。在一些实施例中,所述一个或多个处理器还被配置为检测所生成的至少一个校准规则与一个或多个先前生成的校准规则之间的差异。在一些实施例中,所述载运工具包括以下中的至少一项:无人机UAV、有人驾驶飞行器、自主汽车、自平衡载运工具或机器人。在一些实施例中,所述一个或多个处理器还被配置为根据所述至少一个校准规则对所述第一发射器/检测器单元和所述第二发射器/检测器单元进行校准。
在又一些实施例中,一种用于自动检测对由移动平台承载的发射器/检测器单元的干扰的计算机实现的方法,包括:将第一点云信息变换为与所述移动平台相关联的参考系中的第一点云,所述第一点云信息是在第一时间点从所述发射器/检测器单元获得的;将第二点云信息变换为与所述移动平台相关联的参考系中的第二点云,所述第二点云信息是在第二时间点从所述发射器/检测器单元获得的;确定所述第一点云和所述第二点云之间的重叠区域;比较所述第一点云和所述第二点云在所述重叠区域中的表面属性;以及至少部分地基于比较所述表面属性来检测对所述发射器/检测器单元的干扰。在一些实施例中,至少部分地基于一组变换规则对从所述发射器/检测器单元获得的第一点云信息进行变换,根据所述发射器/检测器单元相对于所述移动平台的位置和取向来至少部分地定义所述第一组变换规则。在一些实施例中,与所述移动平台相关联的参考系包括坐标系。在一些实施例中,与所述移动平台相关联的参考系对应于所述第一时间点的参考系。在一些实施例中,所述一组变换规则包括变换矩阵。在一些实施例中,所述发射器/检测器单元包括至少一个激光传感器,所述至少一个激光传感器的视场(FOV)小于360度、180度、90度或60度中的至少一个。在一些实施例中,所述发射器/检测器单元包括相对于彼此刚性固定的多个激光传感器。在一些实施例中,确定重叠区域包括:针对所述第一点云中的至少一个点在所述第二点云中确定至少最近的相邻点。在一些实施例中,确定重叠区域包括:针对所述第一点云或所述第二点云中的至少一个点云创建树形结构的数据结构,其中,所述树形结构的数据结构包括K维(KD)树数据结构。在一些实施例中,比较表面属性包括:将与所述第一点云相关联的表面和与所述第二点相关联的表面进行匹配,其中,将与所述第一点云相关联的表面和与所述第二点相关联的表面进行匹配包括:确定关于所述第一点云的至少一部分的法向向量信息。在一些实施例中,比较表面属性还包括:评估至少部分地由所述第一点云和所述第二点云在所述重叠区域内的多个点定义的目标函数,所述目标函数包括旋转分量和平移分量。在一些实施例中,检测对所述发射器/检测器单元的干扰包括:至少部分地基于最小二乘法来优化目标函数。在一些实施例中,检测对所述发射器/检测器单元的干扰还包括:生成用于在所述第一点云和所述第二点云之间进行变换的至少一个规则。在一些实施例中,所述移动平台包括以下中的至少一项:无人机UAV、有人驾驶飞行器、自主汽车、自平衡载运工具、地面机器人、智能可穿戴设备、虚拟现实VR头戴式显示器或增强现实AR头戴式显示器。在一些实施例中,所述计算机实现的方法还包括响应于检测到对所述发射器/检测器单元的干扰而发出警告。
附图说明
图1A示出了根据本公开的技术的一些实施例的可以使用的激光传感器的扫描图案。
图1B示出了根据本公开的技术的一些实施例的由激光传感器生成的三维点云。
图2示出了根据本公开的技术的一些实施例的由移动平台承载的多个激光传感器的布局,以实现广角(例如,全向)水平视场(FOV)覆盖。
图3示出了根据本公开的技术的一些实施例的包括可以使用的多个激光传感器的激光器单元。
图4示出了根据本公开的技术的一些实施例的由移动平台承载的多个激光器单元的布局,以实现广角(例如,全向)水平FOV覆盖。
图5示出了根据本公开的技术的一些实施例的具有两个激光器单元(或激光传感器)的移动平台,该两个激光器单元(或激光传感器)具有重叠FOV。
图6示出了根据本公开的技术的一些实施例的用于两个激光器单元(或激光传感器)的校准过程。
图7A示出了根据本公开的技术的一些实施例的移动平台从第一时间点到第二时间点的移动。
图7B示出了根据本公开的技术的一些实施例的用于检测对激光器单元的干扰的过程。
图8示出了根据本公开的技术的一些实施例的激光传感器的一帧激光点。
图9示出了根据本公开的技术的一些实施例的由在某个时间段内移动的移动平台承载的激光器单元(或激光传感器)生成的点数据帧序列。
图10示出了根据本公开的技术的一些实施例生成的组合点云。
图11示出了根据本公开的技术的一些实施例的除了激光器单元之外承载多个传感器的移动平台。
图12示出了根据本公开的技术的一些实施例的可以由图11的多个传感器提供的信息。
图13示出了根据本公开的技术的一些实施例的图11的多个传感器和激光器单元的数据收集频率差异。
图14示出了根据本公开的技术的一些实施例的用于组合由激光器单元生成的具有时间顺序的点信息以形成点云的过程。
图15示出了根据本公开的技术的一些实施例配置的移动平台的示例。
图16是示出了可用于实现本公开的技术的各个部分的计算机系统或其他控制设备的代表性架构的框图。
具体实施方式
1、概述
为了实现准确和全面的环境地图构建,同时克服与全向激光传感器相关联的缺陷,可以使用多个激光传感器(例如,策略性地附于移动平台)以实现对周围环境较宽的水平视场(FOV)覆盖、全向水平覆盖、部分或完整的球面覆盖或任何其他适当的定制覆盖。具有有限FOV的激光传感器可以比全向激光传感器便宜得多,并且如本文中所使用的,通常是指水平FOV小于360度、180度、90度或60度的激光传感器。由于通常用于实现期望的角度覆盖的多个传感器,传感器之间的适当校准用于准确地对准由不同传感器生成的点云数据,从而提供对周围环境的有意义且可靠的地图构建。传感器之间的不正确校准可能使点云的对准失真,在环境地图构建过程中引起误差,并因此导致对移动平台的导航、移动和/或其他功能的不期望的改变。此外,当积极部署移动平台时,外部振动或其他干扰可能引起原始固定传感器的位置或取向改变,从而引起校准误差。因此,实时准确地检测这种变化可以进一步有助于移动平台的可靠性和安全性。
本文公开的技术总体上涉及校准和/或检测由移动平台承载的激光传感器中的误差。如下面将进一步详细讨论的,本公开的技术的一些实施例包括至少考虑以下各项的多激光器校准方法:1)激光传感器的FOV的极限;2)对通过多激光系统实现的全向覆盖、球面覆盖和/或其他可定制覆盖的期望或要求。在一些实施例中,本公开的技术在系统内使用各个激光器单元来减少校准次数,每个激光器单元包括多个固定的激光传感器。在一些实施例中,本公开的技术利用用于检测由至少两个激光传感器或单元生成的点云之间的公共重叠区域、以及在重叠区域内对点云进行表面匹配或比较的方法,来产生用于激光传感器或单元的高精度校准规则的规则。
为了清楚起见,在以下描述中没有阐述如下结构或过程的若干细节:这些结构或过程是公知的且普遍与移动平台(例如,UAV或其他类型的可移动物体)以及相应的系统和子系统相关联,但可能不必要地使本公开的技术的一些重要方面变得模糊。此外,尽管以下公开内容阐述了本公开的技术的不同方面的若干实施例,但是一些其它实施例可以具有与本文中所描述的不同的配置或不同的部件。相应地,本公开的技术可以具有其他实施例,这些实施例具有附加元件和/或不具有以下参考图1-16描述的若干元件。
提供了图1-图16以示出本公开的技术的代表性实施例。除非另有规定,否则附图不意在限制本申请中权利要求的范围。
以下描述的本技术的许多实施例可以采取计算机或控制器可执行指令的形式,包括由可编程计算机或控制器执行的例程。可编程计算机或控制器可以或可以不驻留在相应的移动平台上。例如,可编程计算机或控制器可以是移动平台的机载计算机,或者是与移动平台相关联的单独但专用的计算机,或者是基于网络或基于云的计算服务的一部分。相关领域技术人员将会理解,除了下文所示和所述的那些之外,还可以在计算机或控制器系统上实施该技术。该技术可以体现在被专门编程、配置或构造为执行下文所述的一个或多个计算机可执行指令的专用计算机或数据处理器中。因此,本文通常使用的术语“计算机”和“控制器”是指任何数据处理器,并且可以包括互联网设备和手持设备(包括掌上计算机、可穿戴计算机、蜂窝或移动电话、多处理器系统、基于处理器的或可编程的消费电子产品、网络计算机、迷你计算机等)。由这些计算机和控制器处理的信息可以呈现在包括LCD(液晶显示器)的任何适当的显示介质上。用于执行计算机或控制器可执行任务的指令可以存储在任何适当的计算机可读介质中或其上,包括硬件、固件或硬件和固件的组合。指令可以被包含在任何合适的存储设备中,包括例如闪存驱动器、通用串行总线(USB)设备和/或其他合适的介质。
2、代表性实施例
图1A示出了根据本公开的技术的一些实施例的可以使用的激光传感器的扫描图案102a。如图1A所示,激光传感器的FOV是有限的(例如,在水平方向和垂直方向上都不大于60度)。图1B示出了由激光传感器(例如,图1A中所示的激光传感器)生成的三维点云。与传统的全向激光传感器相比,具有有限FOV的激光传感器无法提供均匀分布的360度三维点云,但可以在其FOV的某些部分中提供更密集或更稀疏的扫描点(例如,如图1B所示,在传感器FOV的前向区域中点密度更高)。
图2示出了根据本公开的技术的一些实施例的由移动平台202承载的多个激光传感器202的布局,以实现广角(例如,全向)水平FOV覆盖。激光传感器204可以不同地分布和/或取向,以实现广角FOV覆盖、部分或完整的球面覆盖以及其他可定制的FOV覆盖。在图2的说明性布局中,取决于每个激光传感器204的FOV,两个相邻传感器204的FOV之间的重叠区域206可能是有限的,这可以为高分辨率校准提供不充足或不充分的几何信息。另外,取决于实现广角覆盖所需的激光传感器204的数量,传感器之间的校准次数可能很多。例如,即使仅执行相邻传感器204之间的成对校准,也需要针对图2中所示的布局确定至少十二组校准规则。
本公开的技术可以:1)在传感器之间实现尺寸足够大的重叠区域(例如,超过重叠FOV的阈值);2)相对于移动平台策略性地分布和取向多个传感器,以实现广角(例如,全向)覆盖、球面覆盖和/或其他可定制的覆盖;和/或3)减少所使用的激光传感器的数量。在这方面,图3示出了根据本公开的技术的一些实施例的包括可以使用的多个激光传感器302、304和306的激光器单元300。
参考图3,激光器单元300可以包括机械结构308(例如,金属框架),具有有限FOV的两个或更多个激光传感器相对于彼此以某个位置和取向刚性地或固定地连接到该机械结构308(例如,焊接到金属框架)。在一些实施例中,机械结构308可以对应于移动平台的一部分。在如图3所示的实施例中,以将每个传感器的60度水平FOV覆盖范围扩展到激光器单元300的约160度水平FOV的方式对三个激光传感器302、304和306进行定位和取向。说明性地,相邻激光器单元之间的角度可以设置为50度,以允许适当的FOV重叠。
用于在激光器单元300内的激光传感器之间或之中进行校准的校准规则可以是已知的和固定的。例如,可以使用与本文所公开的相同的校准技术,或者基于相关领域的技术人员已知的校准方法,相对于彼此手动地预校准一个激光器单元300内的激光传感器。如上所述,多个激光传感器的相对位置和取向不太可能在激光器单元300内改变。因此,基于预校准,激光器单元300可以一致地生成或以其他方式输出覆盖比每个组成激光传感器更宽的FOV的点云数据。
图4示出了根据本公开的技术的一些实施例的由移动平台402承载的多个激光器单元404的布局,以实现广角(例如,全向)水平FOV覆盖。每个激光器单元404可以具有与图3中所示的激光器单元300类似的配置。激光器单元404(可能结合上面参照图2描述的激光传感器204)可以不同地分布和/或取向,以实现广角FOV覆盖、部分或完整的球面覆盖以及其他可定制的FOV覆盖。参考图4,根据以移动平台402为中心的坐标系,四个激光器单元404在四个相应的方向上例如以45度、135度、225度和315度分布和取向。如前所述,各个激光器单元404内的激光传感器相对于彼此固定。因此,与图2的配置相比,(例如,激光器单元404之间)校准的次数减少。例如,如果仅执行相邻激光器单元404之间的成对校准,则仅需要确定四组校准规则。同时,相邻激光器单元404的FOV之间的重叠区域可以足够大以提供充足的几何信息来增强激光器单元404之间的校准精度。
图5示出了根据本公开的技术的一些实施例的具有第一激光器单元(或激光传感器)508和第二激光器单元510的移动平台512,该第一激光器单元508和第二激光器单元510具有重叠的相应FOV 504和506。如图5所示,两个激光器单元508和510以前视方式布置,并且它们之间的相对距离受到限制以提供尺寸足够大的重叠区域502。在其他实施例中,激光器单元或传感器可以以不同的方式布置,以提供尺寸足够大的重叠区域。参考图5,说明性地,一组指示符“x”表示由第一激光器单元508生成的点云514,并且一组指示符“o”表示由第二激光器单元510生成的点云516。
继续参考图5,移动平台512可以与坐标系Fr相关联,第一激光器单元508可以与坐标系相关联,并且第二激光器单元510可以与坐标系相关联。用于在移动平台坐标系Fr与激光器单元坐标系和之间变换坐标的初始变换矩阵可以分别表示为和在一些实施例中,可以例如根据相应激光器单元相对于移动平台的位置和取向在部署移动平台之前确定初始变换矩阵。可以使用相关领域的技术人员已知的适当的手动或半自动校准方法来确定初始变换矩阵。在一些实施例中,变换矩阵都是大小4×4的齐次矩阵。在一些实施例中,也可以例如基于和的值在部署移动平台之前确定用于直接在第一激光器单元508和第二激光器单元510的坐标系之间进行变换的初始变换矩阵
图6示出了根据本公开的技术的一些实施例的用于两个激光器单元(或激光传感器)的校准过程。图6的校准过程可以由控制器(例如,移动平台的机载计算机、相关联的计算设备和/或相关联的计算服务)来实现。在步骤605中,该过程包括基于初始变换规则将由两个激光器单元获得的点云信息变换为参考系中的点云。例如,激光点云514和516分别根据它们的对应坐标系和由两个激光器单元508和510捕获。激光点云514和516可以分别基于初始变换矩阵和被投影到移动平台512的坐标系Fr中,以形成对应的第一变换后点云和第二变换后点云
在步骤610中,该过程包括在参考系中确定变换后点云之间的重叠区域。说明性地,假设初始变换矩阵和被正确地确定(例如,接近其真值),则变换后点云和在重叠区域内的表面形状应该彼此之间没有显著偏差。说明性地,控制器根据被投影到移动平台512的坐标系的两个点云和分别建立K维(KD)树结构和通过使用这种类型的树结构,对于第一点云的任何点,可以快速地检索第二点云中的最近相邻点,反之亦然。如果第一点云(例如,)中的查询点与第二点云(例如,)中的最近相邻点之间的距离小于指定阈值,则该过程可以包括将查询点标记或分类为位于重叠区域中。该过程可以识别点云和之一或两者中满足阈值要求的所有查询点,从而确定重叠区域。
在步骤615中,该过程包括评估变换后点云在重叠区域中的表面之间的匹配。说明性地,对于特定变换后点云(例如,)在重叠区域中的每个点,也可以通过使用在步骤610中建立的对应KD树结构(例如,)快速地检索特定点云中其最近的相邻点。因此,对于特定的变换后点云的每个点,可以选择指定数量的(最近)相邻点以形成平面,从该平面可以容易地确定与该点相对应的法向向量。
在一些实施例中,为了匹配重叠区域中由点云表示或指示的表面,控制器可以实施点到平面迭代最近点(点到平面ICP)方法。说明性地,在找到重叠区域并且确定至少一个点云在重叠区域内的法向向量之后,控制器可以使用点到平面ICP方法来最小化以下目标函数:
其中,pi表示第一点云在重叠区域内的点,qi表示第二点云在重叠区域内的最近点,R表示旋转矩阵,t表示平移向量,ni表示相对于pi的法向向量。当在重叠区域中有足够数量的点(例如,超过阈值数量)可用时,可以基于例如最小二乘法来实现最小化。
在步骤620中,该过程包括生成用于在两个激光器单元或传感器之间进行校准的校准规则。说明性地,当目标函数被最小化时,实现最优变换解(例如,旋转矩阵R和平移向量t的最优值)。在一些实施例中,激光器单元或传感器之间的平移变化不太可能发生,这是因为不同的激光器单元或传感器(例如,通过支架)固定连接。然而,激光器单元或传感器更可能会旋转,例如在它们通过螺钉连接到支架的情况下。在这些实施例中,平移向量t可以固定为常数(例如,基于先前对目标函数的最小化而确定的值),使得控制器可以更加高效地估计旋转矩阵R。在一些实施例中,在生成校准规则之后,控制器基于此校准两个激光器单元或传感器。说明性地,控制器可以使用旋转矩阵R和平移向量t来对准从两个激光器单元或传感器生成的点云,直到它们在下一轮校准中被更新为止。
在步骤625中,该过程包括将新生成的校准规则与先前生成的校准规则进行比较。说明性地,机载计算机可以将新确定的旋转矩阵R和/或平移向量t的最优值与在最初一轮校准、最近一轮校准、平均或加权平均的近期若干轮校准等中确定的最优值进行比较。在步骤630中,该过程包括确定从步骤625中的比较得出的差异是否超过阈值。如果未超过,则该过程进行到步骤605以进行新一轮校准。如果差异超过阈值,则过程进行到步骤635。
在步骤635中,该过程包括采取一个或多个进一步的动作。超过阈值的差异可以指示两个激光器单元或传感器不能彼此可靠地校准。例如,激光器单元或传感器中的至少一个的物理位置或取向可能已经基本上偏离预设配置。在这种情况下,控制器可以向移动平台的操作员发出警告。备选地,控制器可以以安全的方式暂停移动平台的导航或其他功能。
图7A示出了根据本公开的技术的一些实施例的移动平台702从第一时间点t1到第二时间点t2的移动。说明性地,用于在时间t1时移动平台的坐标系F1 r与时间t2时移动平台的坐标系之间进行变换的变换矩阵是已知的,或者可以例如基于由移动平台702承载的全球定位系统和/或惯性测量单元采集的测量结果来确定。基于移动平台在两个不同时间点的两个位置之间的已知变换关系(例如,变换矩阵),代表性系统可以检测对单个激光器单元(或激光传感器)704的坐标系之间的变换的干扰和/或对其进行校准,并且可以实现该移动平台主体。
图7B示出了根据本公开的技术的一些实施例的用于检测对激光器单元(例如,如图7A所示的,由移动平台702承载的激光器单元704)的干扰的过程。该过程可以由控制器(例如,移动平台的机载计算机、相关联的计算设备和/或相关联的计算服务)来实现。激光器单元704在时间t1和t2时的FOV可以具有足够大的重叠区域,以便于类似于上面参考图6描述的校准过程的干扰检测过程。类似于生成用于两个不同激光器单元之间的校准的校准规则,可以修改图6的过程以生成用于对两个时间点时(或处于两个位置/取向)的单个激光器单元进行校准的校准规则,并且基于其来检测对激光器单元的干扰。
干扰检测过程的步骤705包括将激光器单元在两个时间点获得的点云信息变换为参考系中的相应点云。说明性地,给定(1)两个时间t1和t2之间移动平台702的变换矩阵(2)在时间t1时移动平台坐标系F1 r与激光器单元坐标系F1 l之间的变换矩阵的初始值、以及(3)在时刻t2时移动平台坐标系与激光器单元坐标系之间的变换矩阵的初始值,控制器可以将激光器单元704在时间t1和t2采集的点云投影到时间t1时移动平台的坐标系F1 r。如前所述,移动平台与激光器单元之间的变换矩阵的初始值可以是已知的,或者可以根据激光器单元相对于移动平台的位置和取向来预先确定。例如在部署移动平台之前,可以使用相关领域的技术人员已知的适当的手动或半自动校准方法来确定初始变换矩阵。因此,在一些实施例中,和的初始值可以相同。
干扰检测过程的步骤710包括确定变换后点云之间的重叠区域。说明性地,投影的点云可以表示为(对于时间t1)和(对于时间t2),其中,理论上类似于图6的校准过程,控制器可以分别针对两个投影的点云建立KD树结构并确定它们在重叠区域中的点的相应子集:和
干扰检测过程的步骤715包括对重叠区域中由变换后点云指示或表示的表面之间的匹配进行评估。说明性地,类似于图6的校准过程,控制器可以比较两个投影的点云在重叠区域内的表面。在控制器针对内的每个点估计法向向量n1,i之后,控制器可以评估以下目标函数:
其中,
干扰检测过程的步骤720包括检测是否存在对激光器单元的干扰。说明性地,控制器可以例如基于最小二乘法来最小化目标函数H。如果函数H的最小值超过阈值,或者如果旋转矩阵R和/或平移向量t超过或偏离某个阈值(例如,相对于),则在该过程的步骤725中,控制器可以确定激光器单元704在时间t1和t2之间被干扰(例如,由于螺钉松动或受外部物体撞击)。在这种情况下,该过程进行到步骤730,在该步骤730中可以采取一个或多个进一步的动作。例如,控制器可以向移动平台702的操作员发出警告和/或采取其他动作。如果在步骤725中未检测到干扰,则过程进行到步骤705。类似于图6的校准过程,使用单个激光器单元和移动平台主体的坐标系的此干扰检测过程可以在部署移动平台时重复地和周期性地执行。
在使用某些激光器单元或传感器时,单个帧中激光器扫描点的数量和/或分布可能无法提供足够密集的点云以便于校准、地图构建、物体检测和/或定位。在使用低成本的小角度LiDAR传感器时,这个问题可能特别明显。例如,对于典型的低成本小角度LiDAR,单帧中激光点的数量可能少于4000个甚至少于2000个,而较昂贵的全向LiDAR可以在单帧中产生288000个激光器扫描点。
图8示出了由激光传感器(例如,实现图1的扫描图案102a的小角度激光传感器)产生的一帧800激光器扫描点。如图所示,一组稀疏的激光器扫描点810以非均匀的方式分布在三维坐标系820中。在一些实施例中,点810稀疏且非均匀的分布可能无法提供足够多的重叠区域中的数据以用于可靠地执行本文公开的校准过程。
图9示出了由在某个时间段内移动的移动平台承载的激光器单元(或激光传感器)生成的扫描点数据帧序列。如图9所示,由移动平台910承载的激光器单元(或激光传感器)915在从ti到ti+k的时间段期间生成多帧920扫描点数据。例如,帧920a是用位于第一位置/取向的移动平台910(和激光器单元或传感器)在时间ti+1生成的,帧920b是用位于第二位置/取向的移动平台910(和激光器单元或传感器)在随后的时间ti+1生成的,并且帧920c是用位于第三位置/取向的移动平台910(和激光器单元或传感器)在随后的时刻ti+2生成的。本公开的技术的一些部分可以基于具有时间顺序的点数据集合(例如,帧序列920)生成组合点云。
图10示出了根据本公开的技术的一些实施例生成的组合点云1000。如图10所示,组合多组激光器扫描点(例如,类似于图8中的框架800的激光器扫描点)的一组密集的激光器扫描点1010以相对均匀的方式分布在三维坐标系1020中,以提供全面的三维环境信息。在一些实施例中,本文公开的校准过程使用这种组合点云而不是单帧点数据。
为了以降低噪声和误差的方式组合多帧点数据,本公开的技术包括通过使用由移动平台承载的多种类型的传感器来估计连续帧之间的相对变换矩阵。
图11示出了根据本公开的技术的一些实施例的除了激光器单元(或传感器)之外承载多个传感器的移动平台1120。如图所示,除了激光器单元1108之外,移动平台还可以承载立体相机1104、惯性测量单元1106、轮编码器1110和/或全球定位系统(GPS)1102。相关领域的技术人员将理解,本公开的技术可以使用更少、更多或替代传感器。例如,代替使用立体相机804,可以使用多个相机的组、阵列或系统。
图12示出了可以由图11的多个传感器提供的信息。立体相机1104可以提供环境特征1202(例如,在周围环境的三维空间中的一个或多个不同点)的三维坐标,其可以建立连续帧(例如,对应于来自两个不同位置1220a和1220b的观测结果)之间的约束关系。说明性地,立体相机1104的采样频率或数据采集速率在20Hz和40Hz之间。惯性测量单元1106可以提供高频加速度信息和角速度信息。说明性地,惯性测量单元的采样频率或数据采集速率为200Hz或更高。通过积分,可以计算移动平台1120两个连续帧之间的变换矩阵。轮编码器1110可以提供动力轮(例如,后轮)的转速和前轮的转向信息,并且可以根据已知的轮尺寸提供对前进速度和连续帧之间的偏转角度的约束。说明性地,轮编码器的采样频率或数据采集速率为约20Hz。根据室外信号条件,GPS 1102可以在全球系统中提供移动平台1120的位置及其姿态信息。说明性地,GPS的采样频率或数据采集速率低于5Hz。说明性地,激光器单元1108(例如,包括一个或多个LiDAR传感器)具有10Hz的采样频率或数据采集速率。
下表总结了图11和图12中所示的代表性传感器的典型数据采集频率信息:
图13示出了根据本公开的技术的一些实施例的图11的多个传感器和激光器单元的数据收集频率差异。
图14示出了根据本公开的技术的一些实施例的用于组合由激光器单元生成的具有时间顺序的点信息以形成点云的过程。该过程可以由控制器(例如,移动平台的机载计算机、相关联的计算设备和/或相关联的计算服务)来实现。作为本公开的技术的一部分,生成组合点云可以包括估计某个时间段内与激光器单元相关联的相对状态,而不是估计相对于全局坐标系的所有后续状态。说明性地,本公开的技术的实施例估计激光器单元相对于其在所述时间段内生成的两个或更多个不同帧的相对位置信息,从而能够准确地从该时间段的不同帧中累积激光点数据。该方法可以便于或增强后续校准、物体检测、地图构建和/或定位操作。
该过程的步骤1405包括从多个观测传感器(例如,如图8所示的多个传感器)获得与某个时间段相对应的观测数据。在一些实施例中,根据本公开的技术的方法包括可以对来自不同传感器的数据是同步的进行近似。例如,在代表性情况下,目标激光器单元的数据采集频率为10Hz,立体相机的频率为40Hz,轮编码器的频率为20Hz,惯性测量单元的频率为200Hz,GPS的频率为5Hz。作为近似,可以认为来自不同传感器的观测数据根据不同的倍频被准确地对准。因此,以1秒时间窗为例,控制器可以获得200个加速度计和陀螺仪读数(来自惯性测量单元)、40帧立体相机观测结果、20组速度和偏转角度观测结果(来自轮编码器)以及5条GPS定位信息。基于这些,本公开的技术的实施例可以估计10个激光器单元数据采集事件之间的相对位置或其相对于特定局部坐标系(例如,与10个数据采集事件中的第一数据采集事件相对应的局部坐标系)的位置。
在一些实施例中,本公开的技术包括激光器单元的位置与立体相机的位置一致的进一步近似,从而进一步简化要解决的问题。如参考图12所讨论的,来自不同传感器的观测数据可以在数学上如下描述:
1)根据来自立体相机的观测数据,说明性地,可以从相机分别在位置1220a和1220b处产生的帧中提取一个或多个环境特征(例如,特征1202)的三维坐标和/或描述符。这些坐标和/或描述符可以相对于特征1202进行匹配。在用于优化的目标函数中,这种观测可以通过与将特征重新投影到相机坐标系上不同位置处有关的误差项来体现。例如,基于环境特征和两个连续立体相机观测帧的成本项包括3个部分:(a)左相机和右相机在与位置1220a相对应的帧处的重新投影误差;(b)左相机和右相机在与位置1220b相对应的帧处的重新投影误差;(c)左(或右)相机在两个位置1220a和1220b之间的重新投影误差。
2)根据来自具有已知时间戳和初始值的惯性测量单元的观测数据,旋转矩阵、平移向量和两个连续相机帧之间的速度的约束关系可以例如通过使用相关领域技术人员已知的适当的积分技术来计算。这种类型的观测可以通过目标函数中的积分后状态和实际状态之间的误差项来体现。说明性地,在每个帧(例如,与位置1220a和1220b相对应的相机帧)处要估计的变量包括相机的取向(例如,特殊正交群中的元素)以及位置和速度(例如,R3空间群中的元素)。使用从惯性测量单元捕获的观测结果的积分提供了上述变量之间的约束。在一些实施例中,在迭代地优化状态的同时,采用适当的预积分技术来提高计算效率。
3)可以基于来自轮编码器的观测数据推导出包括移动平台的速度和偏转角的运动模型。类似地,通过积分,可以获得连续相机帧之间的状态约束,并且这种类型的观测的表示可以类似于惯性测量单元的表示。在一些实施例中,与惯性测量单元的情况相反,基于车轮里程表观测结果仅对状态的子空间(例如,移动平台的位置和偏航角)构成约束。由于轮编码器的可能的噪声,在一些实施例中可以将该误差项的协方差设置得相对较大。
4)来自GPS的观测数据可以直接提供对移动平台在特定时间的状态的约束。在目标函数中,这种类型的观测结果可以表示为由GPS提供的估计状态与实际状态值之间的误差。由于在一些实施例中GPS的数据采集频率低,因此仅当GPS观测结果的噪声水平低于某个阈值和/或保证其准确度在某个范围内时才可以使用GPS观测结果。
在激光器单元的位置被近似为与立体相机的位置一致的实施例中,控制器(例如,移动平台的机载计算机、相关联的计算设备和/或相关联的计算服务)获得可以针对从时间1到时间k的时间段由传感器提供的观测数据。观测数据可以表示如下:
Zk={C1:k,I1:k-1,W1:p,G1:q}
其中
1)第一元素C1:K表示由立体相机获得的观测信息,并且可以定义如下:
Ci={zi,1,zi,2,...,zi,l}
其中,zi,j表示由立体相机获得的第i帧中的第j个特征的观测结果;
2)第二元素表示惯性测量单元直到第k个时间点为止所获取的数据集合,其中,表示在由相机产生的第i帧与由相机产生的第i+1帧之间惯性测量单元的所有观测结果的集合(例如,在两个连续的相机观测结果之间来自惯性测量单元的总共20个读数);
3)第三元素表示轮编码器的观测结果,该观测结果可以表示如下:
其中,表示由轮编码器在第i个时间点和第j个时间点获得的速度信息,并且表示旋转变换(例如,四元数表达式),其可以在第i时间点与第j时间点之间通过偏转角计算导出或以其他方式获得;并且
4)最后一个元素表示GPS获得的观测结果:
其中,表示第i时间点的全局位置,表示相对于全局坐标系的旋转。
该过程的步骤1410包括基于观测数据评估在该时间段内的不同时间点与激光器单元相关联的状态。例如,使用因子图,控制器可以建立与激光器单元的状态χk={xk}k=1,...,n相关联的先验概率与后验概率之间的关系(与立体相机一致):
其中,k=[1,2,...,k]表示相机的观测指标,m表示GPS的观测指标的集合,并且激光器单元的状态可以表示为:
xk=[pk,vk,qk]
其中,pk,vk,和qk分别表示在第k时间点激光器单元相对于特定坐标系的位置、速度和四元数(旋转)。在上面的公式中,每个pO被称为因子图的一个因子。
在一些实施例中,使用基于零均值高斯白噪声假设的数学推导,控制器可以通过求解以下公式的最小值来计算基于上述因子图的公式的最大后验:
其中,r*表示不同的残差类型,∑·表示与不同类型残差相对应的协方差矩阵,并用于描述观测结果的不确定性。在这方面,相关领域的技术人员可以确定不同传感器的残差模型并确定优化迭代之间的雅可比矩阵。控制器可以基于最小化(例如,基于以梯度为基础的优化方法)来计算激光器单元状态的最优值。
该过程的步骤1415包括确定用于在多个参考系(例如,在不同时间点的多个参考系)和目标参考系之间进行变换的变换规则。说明性地,根据以下近似:(1)立体相机和激光器单元的位置彼此一致;以及(2)激光器单元采集的数据和相机采集的数据的时间戳完全相同,控制器可以使用所确定的对应状态计算激光器单元在相对于目标时间点的不同时间点(即,当所针对的时间段开始时、在所针对的时间段的中间、或当所针对的时间段结束时)的相对变换矩阵。
在一些实施例中,未使用以下近似:(1)立体相机和激光器单元的位置相互一致;(2)激光器单元获取的数据和相机获取的数据的时间戳完全相同。在这些实施例中,本公开的技术可以考虑两个因子:(1)相对变化(例如,立体相机和激光器单元之间的变换矩阵);以及(2)不同传感器之间的时间戳差异。关于第一因子(1),因为激光器单元和立体相机在所针对的时间段期间不可能相对于彼此移动,所以控制器可以通过简单地计算相机在时间q和时间p的相对位置来计算在所针对的时间段期间激光器单元在任何第q时间点相对于任何第p时间点的相对位置。对于不同传感器之间的时间戳不能完美同步的第二因子(2),控制器可以使用插值(例如,基于多项式拟合)来计算在任何指定时间戳的时间在坐标系(例如,移动平台的坐标系)中的相对位置信息。
该过程的步骤1420包括基于变换规则对由激光器单元在不同时间点获得的数据进行变换。说明性地,使用在步骤1415中确定的相对变换矩阵,控制器可以将在所针对的时间段中的不同时间点(例如,不同帧)获取的数据(例如,激光器扫描点)重新投影到目标时间点。在一些实施例中,由于过大的噪声、数据误差或其他因素,控制器可以从重新投影过程中排除某些时间点。该过程的步骤1425包括使用变换后数据生成组合点云。说明性地,控制器可以将来自多个(选定的)帧的重新投影数据添加到初始与目标时间点相关联的点数据帧,从而累积具有时间顺序的数据帧以形成组合点云,犹如数据全都是由激光器单元在目标时间点获取的。
图15示出了根据本公开的技术的各种实施例配置的移动平台的示例。如图所示,本文公开的代表性移动平台可以包括以下中的至少一项:无人机(UAV)1502、有人驾驶飞行器1504、自主汽车1506、自平衡载运工具1508、地面机器人1510、智能可穿戴设备1512、虚拟现实(VR)头戴式显示器1514或增强现实(AR)头戴式显示器1516。
图16是示出了可用于实现本公开的技术的各个部分的计算机系统或其他控制设备1500的架构的示例的框图。在图16中,计算机系统1600包括经由互连1625连接的一个或多个处理器1605和存储器1610。互连1625可以表示通过适当的桥接器、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或两者。因此,互连1625可以包括例如系统总线、外围组件互连(PCI)总线、超传输(HyperTransport)或工业标准体系结构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线、或电气电子工程师协会(IEEE)标准674总线(有时称为“火线”)。
处理器1605可以包括中央处理单元(CPU),以控制例如主计算机的整体操作。在某些实施例中,处理器1605通过执行存储在存储器1610中的软件或固件来实现这一点。处理器1605可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些设备的组合。
存储器1610是或包括计算机系统的主存储器。存储器1610表示任何形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存等,或这些设备的组合。在使用中,存储器1610可以包含机器指令集等,当由处理器1605执行机器指令集时,使处理器1605执行操作以实现本发明的实施例。
通过互连1625还连接到处理器1605的是(可选的)网络适配器1615。网络适配器1615向计算机系统1600提供与诸如存储客户端和/或其他存储服务器之类的远程设备通信的能力,并且可以是例如以太网适配器或光纤通道适配器。
本文介绍的技术可以通过例如用软件和/或固件编程的可编程电路(例如,一个或多个微处理器)来实现,或者完全在专用硬连线电路中实现,或者以这些形式的组合来实现。专用硬连线电路可以是例如一个或多个专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)等形式。
用于实现这里介绍的技术的软件或固件可以存储在机器可读存储介质上,并且可以由一个或多个通用或专用可编程微处理器来执行。本文使用的术语“机器可读存储介质”包括可以存储机器(机器可以是例如计算机、网络设备、蜂窝电话、个人数字助理(PDA)、制造工具、具有一个或多个处理器的任何设备等)可访问的形式的信息的任何机制。例如,机器可访问的存储介质包括可记录/不可记录的介质等(例如,只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;等等)。
本文使用的术语“逻辑”可以包括例如用特定软件和/或固件编程的可编程电路、专用硬连线电路或其组合。
除了上述内容之外或代替上述内容,本公开的一些实施例具有其他方面、元件、特征和步骤。在本说明书的其余部分中描述了这些潜在的附加和替换内容。在本说明书中对“各个实施例”、“某些实施例”、“一些实施例”的引用表示结合实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。这些实施例,甚至备选实施例(例如,称为“其他实施例”)不与其他实施例互斥。此外,描述了可以由一些实施例而不是由其他实施例展现的各种特征。类似地,描述了各种要求,这些要求可以是一些实施例的要求但不是其他实施例的要求。
如上所述,本公开的技术可以利用低成本激光传感器来实现广角FOV覆盖、提供激光传感器之间的高精度校准、检测对激光传感器的干扰、并基于在不同时间获得的点数据生成组合点云。尽管已经在这些实施例的上下文中描述了与本技术的某些实施例相关联的优点,但是其他实施例也可以显现出这样的优点,并且并非所有实施例都需要显现出这样的优点以落入本技术的范围之内。因此,本公开和相关技术可以涵盖本文中未明确示出或描述的其他实施例。
就本文并入的任何材料与本公开相冲突的方面而言,以本公开为准。