用于校准与物料搬运车辆相关的传感器的姿态的系统和方法

文档序号:261284 发布日期:2021-11-16 浏览:1次 >En<

阅读说明:本技术 用于校准与物料搬运车辆相关的传感器的姿态的系统和方法 (System and method for calibrating attitude of sensor associated with materials handling vehicle ) 是由 R·M·埃斯泰普 T·W·范西罗 J·J·汤姆森 C·J·罗宾逊 于 2020-02-13 设计创作,主要内容包括:用于包括处理器和传感器以记录仓库特征的物料搬运车辆的方法和系统。处理器被配置为从传感器数据生成和提取特征、创建包括传感器外参节点(eO)的因子图(FG),并生成初始车辆节点(vO)、初始传感器帧节点(cO)和初始传感器特征节点(fO),初始传感器特征节点包括与初始数据关联中的cO和vO相关联的选定提取特征。基于累积里程数生成后续车辆节点(v1),并且后续传感器帧节点(c1)被生成并在后续数据关联中与fO或后续传感器特征节点(f1)之一以及eO、v1相关联。FG基于数据关联被优化以提供传感器校准输出,并且基于传感器校准输出来导航车辆。(Methods and systems for a materials handling vehicle including a processor and sensors to record warehouse characteristics. The processor is configured to generate and extract features from the sensor data, create a Factor Graph (FG) that includes sensor external reference nodes (eO), and generate an initial vehicle node (vO), an initial sensor frame node (cO), and an initial sensor feature node (fO), the initial sensor feature node including selected extracted features associated with the cO and the vO in the initial data association. A subsequent vehicle node (v1) is generated based on the accumulated mileage, and a subsequent sensor frame node (c1) is generated and associated in a subsequent data association with one of the fO or subsequent sensor feature nodes (f1) and the eO, v 1. The FG is optimized to provide a sensor calibration output based on the data association, and to navigate the vehicle based on the sensor calibration output.)

用于校准与物料搬运车辆相关的传感器的姿态的系统和方法

相关申请的交叉引用

本公开要求于2019年2月19日提交的标题为“SYSTEMS AND METHODS FORCALIBRATION OF A POSE OF A SENSOR RELATIVE TO A MATERIALS HANDLING VEHICLE”的美国临时申请No.62/807,536的优先权,其全部内容通过引用并入本文。

技术领域

本文描述的实施例一般而言涉及物料搬运车辆传感器校准,并且更具体而言涉及用于在仓库环境中相对于物料搬运车辆校准物料搬运车辆的传感器的系统和方法。

背景技术

物料搬运车辆可以利用一个或多个传感器来捕获仓库环境中的特征以促进定位、姿态确定和导航。但是,如果传感器未正确校准,那么会带来操作挑战。传感器相对于物料搬运车辆的侧倾、俯仰、偏航、x、y和/或z位置的制造或安装公差可能包括太多的变化,而不能在仓库环境中可靠地定位物料搬运车辆。由此,在工业中,不管位置如何,诸如不限于建造物料搬运车辆的工厂,都存在对物料搬运车辆上的传感器的准确校准的需求。

发明内容

根据本公开的主题,在第一方面,一种物料搬运车辆包括传感器、车辆位置处理器、一个或多个车辆航位推算部件、以及被配置为沿着库存运输表面(inventory transitsurface)移动物料搬运车辆的驱动机构。传感器被配置为记录仓库的一个或多个特征。车辆位置处理器被配置为从由传感器记录的一个或多个特征的记录生成传感器数据、从传感器数据中提取一个或多个特征、创建包括传感器外参(extrinsics)节点(eO)的因子图,该传感器外参节点包括与传感器相关联的初始种子外参,并且在因子图中生成初始车辆节点(vO)、初始传感器帧节点(cO)和初始传感器特征节点(fO)。初始传感器特征节点(fO)包括所提取的所述一个或多个特征中的在初始数据关联中与初始传感器帧节点(cO)和初始车辆节点(vO)相关联的选定特征。车辆位置处理器还被配置为使用驱动机构沿着库存运输表面导航物料搬运车辆、在因子图中基于来自一个或多个车辆航位推算部件的累积里程数生成后续车辆节点(v1),以及在因子图中生成在后续数据关联中与初始传感器特征节点(fO)或后续传感器特征节点(f1)中的一个以及传感器外参节点(eO)、后续车辆节点(v1)相关联的后续传感器帧节点(c1)。车辆位置处理器还被配置为基于初始数据关联和后续数据关联优化因子图以提供与传感器相关联的校准输出,以及基于与传感器相关联的校准输出沿着库存运输表面导航物料搬运车辆。

在第二方面,包括第一方面的物料搬运车辆,车辆位置处理器还被配置为:当提供车辆种子位置和包括一个或多个地图特征(mapped feature,或映射图特征)的特征图(feature map)时,在因子图中将初始车辆节点(vO)生成为(i)在车辆种子位置处的基于地图的初始车辆节点,具有(ii)相关联的车辆先验因子,并将(iii)来自站点地图(site map)的所述一个或多个地图特征生成为对应的传感器特征节点,以及(iv)对应的地图特征先验因子。

在第三方面,包括第二方面的物料搬运车辆,在车辆种子位置处的基于地图的初始车辆节点的相关联的车辆先验因子包括关于物料搬运车辆相的车辆种子位置对于站点地图的准确性的误差函数。

在第四方面,包括第一方面的物料搬运车辆,车辆位置处理器还被配置为:当没有提供车辆种子位置和特征图时,在因子图中将初始车辆节点(vO)生成为原点处的无地图初始车辆节点。

在第五方面,包括第一方面至第四方面中的任一方面的物料搬运车辆,车辆位置处理器还被配置为:基于在前一车辆节点和直接后续车辆节点之间的来自一个或多个车辆航位推算部件的累积里程数,在因子图中迭代地生成一个或多个后续传感器特征节点和一个或多个另外的后续车辆节点,以及在因子图中迭代地生成在后续数据关联中与传感器外参节点(eO)、相关联的直接后续车辆节点、以及一个或多个后续特征节点中的相关联的传感器特征节点相关联的一个或多个另外的后续传感器帧节点。

在第六方面,包括第五方面的物料搬运车辆,车辆位置处理器还被配置为基于累积里程数在因子图中生成直接后续车辆节点和前一车辆节点之间的车辆间因子。

在第七方面中,包括第一方面至第六方面中的任一方面的物料搬运车辆,车辆位置处理器还被配置为选择所提取的所述一个或多个特征中的一个特征、当所述一个特征与现有特征匹配时将所述一个特征与作为匹配的传感器特征节点的现有特征相关联,以及在因子图中生成将生成的传感器帧节点与匹配的特征节点链接起来的因子。

在第八方面,包括第七方面的物料搬运车辆,所生成的传感器帧节点包括初始传感器帧节点(cO)或后续传感器帧节点(c1)中的一个。

第九方面,包括第七方面或第八方面的物料搬运车辆,匹配的传感器特征节点包括初始传感器特征节点(fO)或后续传感器特征节点(f1)中的一个。

在第十方面中,包括第一方面至第九方面中的任一方面的物料搬运车辆,车辆位置处理器还被配置为选择所提取的一个或多个特征中的一个特征、当所述一个特征与现有特征不匹配时,在因子图中生成与所述一个特征相关联的新的传感器特征节点,以及在因子图中生成将生成的传感器帧节点与新的传感器特征节点链接起来的因子。

在第十一方面,包括第十方面的物料搬运车辆,新的传感器特征节点包括初始传感器特征节点(fO)或后续传感器特征节点(f1)中的一个。

在第十二方面,包括第一方面至第十一方面中的任一方面的物料搬运车辆,车辆位置处理器还被配置为当所提取的所述一个或多个特征中没有其它特征保持与作为对应的匹配的传感器特征节点的现有特征相关联或添加到因子图作为对应的新的传感器特征节点时优化因子图。

在第十三方面,包括第一方面至第十二方面中的任一方面的物料搬运车辆,车辆位置处理器还被配置为通过基于因子图中定义的一个或多个变量和一个或多个因子生成约束优化问题来优化因子图。

在第十四方面,包括第十三方面的物料搬运车辆,所述一个或多个变量代表约束优化问题中的未知随机变量并且包括一个或多个节点,所述一个或多个节点包括传感器外参节点(eO)、初始车辆节点(vO)、后续车辆节点(v1)、初始传感器帧节点(cO)、后续传感器帧节点(c1)、初始传感器特征节点(fO)和后续传感器特征节点(f1)中的一个或多个。

在第十五方面,包括第十三方面或第十四方面的物料搬运车辆,所述一个或多个因子代表关于所述一个或多个因子中的选择因子的概率信息并且包括先验因子、间因子(between factor)、参考帧因子、投影因子、方位范围因子(bearing-range factor)或其组合。

在第十六方面中,包括第十三方面至第十五方面中的任一方面的物料搬运车辆,使用一个或多个平滑和映射(smoothing and mapping,SAM)库和优化器来构造约束优化问题。

在第十七方面,包括第十三方面至第十六方面中的任一方面的物料搬运车辆,所述一个或多个特征包括仓库的一个或多个头顶灯,并且使用图像识别算法、数据关联算法、建模技术或其组合来构造约束优化问题。

在第十八方面,包括第一方面至第十七方面中的任一方面的物料搬运车辆,车辆位置处理器还被配置为在基于预定阈值确定一段时间内的内参因子图状态为可接受时终止优化。

在第十九方面,包括第一方面至第十八方面中的任一方面的物料搬运车辆,所述传感器是相机、基于激光的传感器或其组合,所述相机被配置为捕获仓库的一个或多个特征,所述基于激光的传感器被配置为检测仓库的一个或多个特征,并且所述车辆位置处理器还被配置为根据由所述相机捕获的、由所述基于激光的传感器检测到的,或其组合的所述一个或多个特征的记录生成传感器数据。

根据本公开的另一个实施例,并且在第二十方面,一种操作第一方面至第十九方面中的任一方面的物料搬运车辆的方法,包括:经由车辆位置处理器,从由传感器记录的一个或多个特征的记录生成传感器数据;从传感器数据中提取一个或多个特征;创建包括传感器外参节点(eO)的因子图,该传感器外参节点包括与传感器相关联的初始种子外参;以及在因子图中生成初始车辆节点(vO)、初始传感器帧节点(cO)和初始传感器特征节点(fO)。该方法还包括使用驱动机构沿着库存运输表面导航物料搬运车辆;在因子图中,基于来自一个或多个车辆航位推算部件的累积里程数生成后续车辆节点(v1);以及在因子图中生成在后续数据关联中与初始传感器特征节点(fO)或后续传感器特征节点(f1)中的一个以及传感器外参节点(eO)、后续车辆节点(v1)相关联的后续传感器帧节点(c1)。该方法还包括基于初始数据关联和后续数据关联优化因子图以提供与传感器相关联的校准输出,以及基于与传感器相关联的校准输出,沿着库存运输表面导航物料搬运车辆。

虽然本文主要参考仓库环境中的物料搬运车辆描述了本公开的概念,但是可以预期这些概念将适用于环境中的任何自动、部分自动或手动车辆。

附图说明

附图中阐述的实施例本质上是说明性和示例性的,并不旨在限制本公开。当结合以下附图阅读时,可以理解说明性实施例的以下详细描述,其中相同的结构用相同的附图标记指示并且其中:

图1描绘了根据本文示出和描述的一个或多个实施例的在包括头顶特征的仓库环境中的物料搬运车辆;

图2描绘了根据本文示出和描述的一个或多个实施例的可以用于物料搬运车辆的计算基础设施;

图3描绘了在图1的仓库环境的映射和校准期间在多个位置处的物料搬运车辆的说明性时间推移图;

图4描绘了根据本文示出和描述的一个或多个实施例的由物料搬运车辆在校准坐标系(calibration coordinate frame)内执行的校准路径的图形表示;

图5A示意性地描绘了根据本文示出和描述的一个或多个实施例的物料搬运车辆的基于图像的传感器的地图传感器校准(mapped sensor calibration)的因子图;

图5B示意性地描绘了根据本文示出和描述的一个或多个实施例的物料搬运车辆的基于激光的传感器的地图传感器校准的因子图;

图6示意性地描绘了根据本文示出和描述的一个或多个实施例的环境中的物料搬运车辆的基于图像的传感器的无地图传感器校准(mapless sensor calibration)的因子图;

图7示意性地描绘了根据本文示出和描述的一个或多个实施例的环境中的物料搬运车辆的基于激光的传感器的无地图校准的因子图;

图8示意性地描绘了根据本文示出和描述的一个或多个实施例的包括环境中的物料搬运车辆的基于图像的传感器和基于激光的传感器的无地图组合传感器校准的因子图;

图9描绘了图示根据本文示出和描述的一个或多个实施例的校准物料搬运车辆的传感器的另一种方法的流程图;

图10描绘了图示根据本文示出和描述的一个或多个实施例的通过应用校准算法处理来校准物料搬运车辆的传感器的方法的另一个流程图;

图11A描绘了图示根据本文示出和描述的一个或多个实施例的构建因子图和利用该因子图校准物料搬运车辆的传感器的方法的流程图的第一子集;

图11B描绘了图11A的流程图的第二子集;以及

图11C描绘了图11A的流程图的第三子集。

具体实施方式

本文公开的实施例包括用于相对于物料搬运车辆校准传感器的系统和方法。一些实施例涉及基于图像的传感器的校准,诸如设置在物料搬运车辆上的图像捕获设备(例如,相机)。物料搬运车辆可以通过跟踪环境中的多个静态特征被定位在仓库环境内,其中静态特征可以包括通过使用诸如捕获图像数据的相机之类的一个或多个传感器跟踪的静态特征。这样的特征可以是头顶特征(overhead feature)和/或其它静态基础设施。头顶特征可以包括例如天窗、天花板灯、反射器和/或用于捕获或检测的其它合适的头顶部件。静态基础设施可以包括无论是否在头顶的此类特征,并且可以包括例如机架腿和/或可读标签。其它位置和定位传感器系统,例如,基于激光的传感器(诸如LIDAR),和/或其它传感器系统(诸如RADAR),设置在物料搬运车辆上的超声波传感器系统等,也可以使用本文描述的系统和方法进行校准。为了定义和描述本公开的概念和范围,应注意“仓库”包括任何室内或以其它方式覆盖的设施,其中物料搬运车辆运输货物,包括但不限于,主要用于货物的存储的仓库,诸如其中单层或多层仓库货架或储存单元布置在过道或其它地方的那些仓库,以及其中货物通过物料搬运车辆在设施周围运输以用于一个或多个制造处理的制造设施。

更具体而言,本文描述的实施例可以被配置为减小耦合在物料搬运车辆上的传感器的制造公差,使得与传感器已安装但未相对于物料搬运车辆进行校准相比,校准的传感器可以在环境中以提高的准确度来定位物料搬运车辆。通过校准传感器的系统和方法,可以相对于特定物料搬运车辆上和相对于特定物料搬运车辆的传感器位置来校准传感器。例如,与传感器的初始制造公差相比,可以更准确地确定传感器相对于物料搬运车辆的侧倾、俯仰和偏航,以基于传感器在仓库环境中的使用更准确地确定车辆姿态。此外,本文描述的用于校准传感器的系统和方法可以在物料搬运车辆在环境中交付和设置时、针对维护、在进行部件更换时、在改装现有卡车时、在安放传感器时(例如,以考虑传感器外参参数在长时间段内的变化)、在一段时间之后(例如,以调整传感器漂移)等以近实时处理容易地被采用。在一些实施例中,物料搬运车辆的定位传感器的部署和校准可以或可以不实现环境的站点地图。

术语“定位”在本文中用于指代使得能够在仓库环境中对物料搬运车辆进行位置跟踪的多种系统配置中的任何一种。本公开的概念不限于任何特定的定位系统配置。实现一个或多个定位传感器的系统可适用于各种常规和尚未开发的定位系统中的任何一个。这样的定位系统可以包括在2016年5月24日颁发的标题为“LOST VEHICLE RECOVERYUTILIZING ASSOCIATED FEATURE PAIRS”的美国专利No.9,349,181、2018年5月29日颁发的标题为“VEHICLE POSITIONING OR NAVIGATION UTILIZING ASSOCIATED FEATURE PAIRS”的美国专利No.9,984,467和/或2012年11月29日公布的标题为“METHOD AND APPARATUSFOR PROVIDING ACCURATE LOCALIZATION FOR AN INDUSTRIAL VEHICLE”的美国公开专利申请No.2012/0303255中描述的那些定位系统。此外,这种定位系统可以利用诸如图像捕获设备之类的传感器通过使用头顶特征的图像捕获来确定物料搬运车辆在仓库环境中的姿态,如上面引用的定位系统专利中所描述的。此类传感器可以被校准以通过定位系统提供更准确的定位确定。在转让给Crown Equipment公司的美国专利公开No.2016/0353099中描述了这种校准技术的示例,该技术涉及将图像数据与仓库环境的存储站点地图进行比较以确定图像捕获设备的校准值。本文描述的概念提供了用于物料搬运车辆上的定位传感器的校准技术,该定位传感器可以被校准,而与是否参考仓库环境的存储站点地图无关。因此,无论是否已为仓库环境创建站点地图,校准都可以被简化并在环境中普遍实施。

与此类定位系统一起操作的定位传感器可以用于定位和/或导航物料搬运车辆通过仓库环境,诸如仓库、堆场等。在一些实施例中,基于图像的传感器(例如,相机)和/或基于激光的传感器系统可以安装到导航通过仓库的物料搬运车辆(例如,作为物料搬运车辆的自动引导车辆或手动引导车辆)并且可以帮助车辆定位。基于激光的传感器系统可以包括激光扫描仪、激光测距仪、2D/3D测绘激光器、LIDAR或其组合。

在一些实施例中,基于图像的传感器(例如,相机)的校准可以用于物料搬运车辆,该物料搬运车辆利用头顶特征检测进行物料搬运车辆的位置确定和/或规划路线。相机校准参数可以包括侧倾、俯仰、偏航、x位置、y位置、z位置、焦距、其它相机外参参数、内参参数等的校准。相机校准可以包括内参校准和外参校准。内参校准包括在合适的误差范围内确定相机模型本身的参数。外参相机校准可以包括在合适的误差范围内确定相机在物料搬运车辆上的位置。本文描述的实施例至少集中于相机的外参校准。下面将更详细地描述包含其的用于车辆校准的系统和方法。

现在参考图1,图示了根据本文描述的实施例的物料搬运车辆100,其包括物料搬运硬件,该物料搬运硬件被配置为利用诸如照明之类的头顶特征来进行定位和导航服务。头顶特征可以包括各种样式、类型、形状和尺寸的灯具、天窗等。如图所示,物料搬运车辆100可以被配置为导航通过仓库环境10,诸如仓库。物料搬运车辆100可以被配置为用于提升和移动货物的物料搬运车辆。物料搬运车辆的示例包括但不限于叉车、前移式卡车、转塔式卡车、便携式堆垛车、牵引车、托盘车、高/低堆积机载重车、拖车装载机、侧装载机、叉式起重机等。物料搬运车辆100可以被配置为沿着期望路线在仓库环境10的地板周围自动导航和/或手动/远程操作。因此,物料搬运车辆100可以通过一个或多个车轮的旋转而被向前和向后引导。此外,物料搬运车辆100可以通过操纵一个或多个车轮来改变方向。物料搬运车辆100可以被自主控制和/或包括用于控制物料搬运车辆100的功能(诸如但不限于车轮的速度、车轮的朝向等)的操作员控件。

操作员控件可以包括分配给物料搬运车辆100的功能的输入和输出,诸如,例如,开关、按钮、操纵杆、手柄、踏板、校准指示器等。操作员控件可以附加地包括位置系统、定位系统、加速器、制动器、自主模式选项和/或用于手动、半自主和/或全自主地操作物料搬运车辆100的其它控件、输出、硬件和软件。操作员控件可以附加地包括用于确定物料搬运车辆100行驶的距离的里程计。里程计可以被配置为确定一个或多个车轮的所确定的旋转次数(例如,利用一个或多个运动传感器114(图2),诸如与驱动轴或一个或多个车轮耦合的编码器)并基于车轮的预定周长计算行驶的距离。在一些实施例中,里程计可以基于一个或多个惯性测量单元(IMU)、激光扫描匹配和/或视觉里程计来确定以计算行驶的距离。

物料搬运车辆100还可以包括设置在物料搬运车辆100上并相对于物料搬运车辆100设置的传感器110,由此传感器110可以是基于图像的传感器,诸如相机110A。图2描绘了可以被实现和用于物料搬运车辆100的计算基础设施,该计算基础设施被配置为校准传感器110,如下文进一步更详细描述的。传感器110可以附加地或替代地是被配置为辅助车辆定位的其它传感器类型,诸如,如下文更详细描述的基于激光的传感器110B。

作为关于图1-4描述的非限制性示例,传感器110可以是基于图像的传感器,诸如相机。关于这种基于图像的传感器实施例,传感器110可以是数码静态相机、数码视频相机、模拟静态相机、模拟视频相机、红-绿-蓝(RGB)相机、RGB-深度(RBGD)相机和/或其它用于捕获头顶图像的设备。捕获的图像可以被格式化为JPEG、JPEG 2000、Exif、TIFF、原始图像格式、GIF、BMP、PNG、Netpbm格式、WEBP、光栅格式、向量格式和/或其它类型的格式。因此,传感器110可以包括作为图像捕获设备的图像传感器,诸如电荷耦合器件(CCD)、互补金属氧化物半导体传感器或其功能等效形式。在一些实施例中,物料搬运车辆100可以位于仓库环境10内并且被配置为捕获仓库环境10的天花板的头顶图像。为了捕获头顶图像,传感器110可以安装到物料搬运车辆100并且朝天花板聚焦。传感器110可以在图像区域112(例如,诸如图3的图像区域112A-112L的相机的视野)内捕获天花板和/或仓库环境10的传感器数据144(例如,图像数据),这可以基于相机规格和物料搬运车辆100上的安装位置。例如,参考聚焦在仓库环境10的天花板上的传感器110描绘图像区域112,其包括特征150,诸如图3的天花板灯150A-150S。

仓库环境10的天花板可以包括头顶灯,诸如但不限于,用于从天花板或通常从在仓库中操作的物料搬运车辆100上方提供照明的天花板灯150A-S。天花板灯150A-S可以包括天窗、荧光灯、工业照明灯具和/或各种形状和尺寸的其它类型的灯;并且可以安装在或悬挂在天花板或墙壁结构中以提供照明。图4描绘了在坐标参考系中的物料搬运车辆100的多个位置以及如通过本文所述并在下面进一步详细说明的至少一个或多个无地图校准处理确定的在坐标参考系中的天花板灯150A-S的位置的实施例。

本文描述的系统和方法还可以采用多种图像识别、数据关联和建模技术中的一种来构建优化问题。在一些数据关联实施例中,可以使用像素速度最近邻图像空间跟踪算法或能够逐帧跟踪特征而无需特征在相机校准帧中的位置的先验知识的任何算法来完成对静态头顶特征(诸如帧之间的天花板灯)的跟踪。此外,图像识别实施例可以包括用于逐帧跟踪静态特征或静态头顶特征的一部分的边缘检测、特征检测和/或对象识别例程。此外,建模技术可以包括诸如运动恢复结构(Structure from Motion,SFM)、同时定位和映射(simultaneous localization and mapping,SLAM)、乔治亚技术平滑和映射(GeorgiaTechnology smoothing and mapping,GTSAM)库或可以使用因子图和/或贝叶斯网络作为底层范式来实现的其它平滑和映射(smoothing and mapping,SAM)库的技术。应该理解的是,在本公开的范围内设想了其它建模技术。

具体而言,可以利用库来构造优化问题,诸如C++类的GTSAM库或其它平滑和映射(SAM)库。GTSAM库使用源自贝叶斯网络的因子图(FG)作为底层计算范式在机器人和视觉中实现平滑和映射。

SAM库和其它类似的库提供通用框架,用于构建与满足具有各种相关联的不确定性的多个空间约束相关的优化问题。可以预期也可以利用针对SLAM的库的部分。SAM库的SLAM部分专门提供使用参考系因子(reference frame factor)优化传感器外参校准的功能。

现在参考图5A-图8,描绘了用于校准耦合到物料搬运车辆的各种传感器(例如,相机和/或激光系统)的不同因子图的说明性示例。图5A涉及使用基于图像的传感器(诸如相机110A)从地图配置(mapped configuration)构建的因子图FG、500,其中参考仓库环境10的站点地图142,其包括一个或多个地图特征,诸如存储的头顶特征定位和已知的初始车辆种子位置。图5B涉及使用基于激光的传感器110B(诸如激光测距仪、LIDAR等)从地图配置构建的因子图FG、500',并且其中参考仓库环境10的站点地图142。仓库环境10的站点地图包括一个或多个地图特征,诸如存储的头顶特征定位和校准坐标系,使得相对于站点地图可以知道初始车辆种子位置。图6涉及使用基于图像的传感器(诸如相机)从无地图配置(mapless configuration)构建的因子图FG,600,其中初始车辆位置未知并被设置成校准坐标系的原点以及特征由传感器提取,如下面更详细描述的,并且关于校准坐标系映射进行了参考。图7涉及从类似于图6的无地图配置构建的因子图FG,700,但使用基于激光的传感器110B,该传感器110B被配置为确定距特征的方位范围(bearing range),该特征作为设置在环境内的激光反射表面。图8涉及从无地图配置(例如,如果不包括虚线位置先验因子804和虚线先验因子805、806、807)或地图配置(例如,如果包括虚线位置先验因子804和虚线先验因子805、806、807)构建的因子图FG、800,它是图6-图7(例如,无地图)或图5A-图5B(例如,地图绘制)的组合,其中基于图像的传感器110A和基于激光的传感器110B都用于构建因子图。下面更详细地描述的图11A-图11C描述了图5A-图8的因子图中的每一个是如何通过如本文所述的一个或多个校准处理构造的。

虽然最初参考图5A进行参考,但以下一般适用于本文描绘和描述的每个因子图。因子图500可以包括节点510、512、514、516、518、520、522、524、526(例如,观察值)和因子502、504、506、508、519、521、523、525、527、529、531、533。设置在节点之间的因子表示指示概率函数或节点之间的变换或关系的不确定性的公式。节点之前的初始因子(例如,先验因子)代表相应节点的初始不确定性。例如,在实施例中,先验因子对如本文所述的优化器所利用的各种状态的初始不确定性进行建模。节点510代表传感器外参。作为非限制性示例,相机外参可以包括相机模型的制造公差和规格以及物料搬运车辆100上带有公差测量和安装的相机(或通常为传感器)的姿态(例如,侧倾、俯仰和偏航、x、y和/或z位置)。另一个节点可以是车辆节点512、514和516。车辆节点512、514和516可以指示在校准坐标系CCF中的相应位置处的车辆坐标。这些位置可以从确定物料搬运车辆100的里程计的传感器导出。另一个节点可以是传感器帧节点518、520、522(也称为相机帧节点,CFN),其可以由相机在车辆节点处捕获的帧定义。此外,诸如相机的基于图像的传感器的基于图像的传感器特征节点524和526可以被确定并填充在因子图500内。

如本文所述,“帧”可以是关于图3中描绘的独特图像区域112A捕获的一个或多个帧,其可以包括由图像传感器(例如,基于图像的传感器)或正在被校准的其它类型的传感器(例如,基于激光的传感器)捕获的至少一个静态头顶特征。例如,帧是在物料搬运车辆100的行驶期间从设置在物料搬运车辆100上的要校准的传感器生成的数据的某些实例。当物料搬运车辆100在捕获图像时超过线性或角绝对行驶距离阈值时和/或当一组观察结果(例如,不一定来自单个传感器)通过指示观察结果应提供将有助于减少优化误差的信息的一组启发式方法时可以选择某些实例。在实施例中,此类帧的组合可以用于确定一个或多个物料搬运车辆100在校准坐标系(CCF)中的位置以及相对于其上定位一个或多个传感器的一个或多个车辆捕获图像的一个或多个传感器的姿态。

在无地图配置中利用基于图像的传感器(诸如相机)的实施例中(例如,在图6中),可以利用帧数据来确定物料搬运车辆100在CCF中的位置作为车辆节点,并且相机帧节点(CFN)可以附接到车辆节点和相机外参节点(CEN)以对相机相对于物料搬运车辆100在CCF中的姿态建模。来自当前图像的特征可以与先前图像相关联以附加到CFN并构建因子图(FG)。例如,这种关联可以通过使用像素速度最近邻图像空间跟踪算法或在无需特征在CCF中的位置的先验知识的情况下逐帧跟踪特征的任何算法而发生。在一些实施例中,特征可以在多个(例如,连续或非连续)帧上分组。然后可以将相关联的特征附加到CFN,这可能导致多个CFN引用单个传感器特征节点,并且这可以通过在例如无地图配置中使用投影因子来实现。

一般而言,由于从传感器110收集的数据中选择每个帧,因此可以填充因子图FG。因子图对具有不确定性的观察结果进行建模,其中观察结果通过因子直接彼此相关。此外,因子图不包括时间作为变量,并且不必依赖于前向时间因子。因子图是用于建模复杂估计问题的图形模型,诸如同时定位和映射(SLAM)或运动恢复结构(SFM)。因子图行为是二部图,包括连接到节点(也称为变量)的因子,如下所述。变量表示估计问题中的未知随机变量,并且因子表示从测量或先验已知信息导出的那些变量的概率信息。例如,参考图5A作为参考,节点可以包括传感器外参节点(eO)510、第一车辆节点(vO)512、第二车辆节点(v1)514、第三车辆节点(v2)516、第一传感器帧节点(cO)518、第二传感器帧节点(c1)520、第三传感器帧节点(c2)522、第一传感器特征节点(fO)524和第二传感器特征节点(f1)526和将节点相互链接的因子513、515、519、521、523、525、527、529、531和533。

节点(例如,510、512、514、516、518、520、522、524、526)可以通过因子(例如,519、521、523、525、527、529、531、533)链接到一个或多个其它节点(例如,510、512、514、516、518、520、522、524、526)。因子图FG可以表示并用于构建待解决的约束优化问题。可以使用GTSAM库和优化器构造优化问题。然后可以解决优化问题并且可以从因子图FG导出误差度量。误差度量随后可以用于通过向用户显示校准因子以选择这样的最小误差度量来确定何时停止校准,或者当误差在预定值内或低于预定值时算法可以自动停止校准。下面关于图9-图10描述这种校准算法的非限制性示例。

在实施例中,诸如GTSAM库的工具包可以提供对SLAM和SFM问题的解决方案,并且还可以用于建模和解决优化问题,利用基于因子图的C++库。一般而言,因子图的优化旨在减少因子图中所有因子的整体误差。因子是值元素,诸如直接或间接观察结果或优化问题的值。因子图FG内的因子和变量/节点可以存在于多个坐标系中。因子图可以包括多种类型的节点和多种类型的因子。

作为非限制性示例,节点的类型可以包括一个或多个车辆节点、一个或多个传感器帧节点(如本文所述的基于图像和/或基于激光)、每个相应传感器的传感器外参节点,以及一个或多个传感器特征节点(基于图像和/或基于激光)。这些节点可以应用于本文描述的地图或无地图配置。

每个车辆节点可以与全局参考系中的二维(2D)姿态、3D姿态(例如,x、y、z、侧倾、俯仰、偏航或其任何子集)等相关联,包括例如x位置值、y位置值和偏航。偏航指示绕z轴的旋转,也称为航向。在实施例中,x和y位置值可以以米为单位,并且偏航可以以弧度为单位。

每个传感器帧节点,无论是基于图像的还是基于激光的,都与全局参考系中的三维(3D)姿态相关联,包括例如x位置值、y位置值、z位置值、侧倾、俯仰和偏航。侧倾指示绕x轴旋转,俯仰指示绕y轴旋转。在实施例中,x、y和z位置值可以以米为单位,并且侧倾、俯仰和偏航值可以以弧度为单位。

每个相应的传感器的每个传感器外参节点,无论是基于图像的还是基于激光的,都与三维位置或姿态(例如,x、y、z、侧倾、俯仰、偏航或其任何子集)相关联,诸如在局部参考系中相对于车辆,以描述运动学车辆中心和传感器的存储原点之间的姿态增量。三维姿态包括例如x位置值、y位置值、z位置值、侧倾、俯仰和偏航。

每个传感器特征节点,无论是基于图像的还是基于激光的,都与全局参考系中的特征的三维姿态相关联。在实施例中,特征可以是头顶特征,包括但不限于,如本文所述的用于由基于图像的传感器和/或基于激光的传感器捕获的天花板灯、天窗等。

作为示例而非限制,因子的类型可以包括先验因子、间因子(BF)、参考帧因子(RFF)、投影因子(PF)、方位范围因子等。先验因子提供值(节点/变量)的初始估计。先验因子可以是地图校准处理中初始车辆位置的2D姿态估计(例如,包括x、y和偏航),这将关于图5A中的位置先验因子504进一步描述。在实施例中,位置先验因子504可以由用户提供或基于车辆相对于站点地图的定位自动提供。先验因子的另一个示例可以是地图校准处理中地图特征的3D点估计(例如,包括x、y和z),这将关于图5A的先验因子506和508和图5B的先验因子506'和508'进一步描述。

此外,地图配置或无地图配置中的先验因子可以是如可以由基于制造公差提供的种子传感器外参值的3D姿态估计(例如,包括x、y、z、侧倾、俯仰和偏航),这将相对于图5A的基于图像的传感器110A的先验因子502、图5B的基于激光的传感器110B的先验因子502'、图6的基于图像的传感器110A的先验因子602、图7的基于激光的传感器110B的先验因子702、图8的基于激光的传感器110B的先验因子802,以及图8的基于图像的传感器110A的先验因子803进一步描述。

先验因子(例如,图5A的因子502、504、506和508)包括先验和/或初始值,其在创建因子图时编码已知值和/或不确定性,诸如设置物料搬运车辆100的位置的位置先验因子504。相对于在图5A-图8中示出并在下面详细描述的因子图,每个因子图仅图示使用和不使用物料搬运车辆针对相应的地图和无地图配置被部署的环境的站点地图的各种传感器的各种校准。除非另有说明,否则关于图5A的节点和/或因子的描述适用于图5B-图8的节点和因子。

间因子(Between factor,BF)描述了两个节点,诸如两个车辆节点之间的关系。例如,间因子代表指示两个车辆节点之间的x、y和偏航变化的2D姿态增量(例如,由累积里程计提供)。相对于图5A中的因子513和515描绘和描述这种间因子的实施例。

参考帧因子(RFF)可以用于计算两个参考帧之间的关系,这两个参考帧可以是例如两种不同类型的节点。例如,参考帧因子可以指示描述车辆的运动学中心和传感器的参考帧之间的关系(例如,作为增量变化)的3D姿态。在实施例中,图5A的参考帧因子519、521和523用于基于车辆节点512、514和516与传感器帧节点518、520和522之间的关系计算和/或优化传感器外参节点510。

投影因子(projection factor,PF)可以用于描述观察到的特征与观察到它们的参考帧传感器之间的关系。投影因子可以用于没有范围信息的传感器。即,投影因子使用投影模型来计算观察结果误差(例如,使用针孔相机模型)。在一些实施例中,特征位置被设置在局部传感器坐标中(例如,在与涉及2D图像到3D模型表面的3D建模的UY地图相关联的u-v坐标空间中的像素(u,v)中)并且可以被投影作为进入全局3D坐标的无限线(例如,以米为单位的x、y和z位置值)。参考图5A,投影因子525、527、529、531和533描述了如何从传感器帧节点518、520和522(例如,相机帧节点CFN)观察基于图像的传感器特征节点524和526,考虑到基于图像的传感器的固有特性。在实施例中,投影因子可以用于基于地图图像的校准处理(例如,图5A)。此外,投影因子可以用于不需要对匹配特征进行初始先验因子估计的基于无地图图像的校准处理(例如,图6)。

作为另一种类型的因子,方位范围因子(bearing-range factor,BRF)描述了观察到的特征与观察它的传感器的参考帧之间的关系,诸如,例如,从提供范围和方位信息的传感器。参考图7,方位范围因子可以包括因子725、727、729、731和733以及与基于激光的传感器和传感器检测到的特征相关联的图5B和图8的类似因子。方位范围因子可以在各个传感器的局部坐标中提供范围测量(例如,以米为单位)和方位测量结果(例如,以弧度为单位),并且可以基于到全局3D空间的变换以包括x、y和z位置(例如,以米为单位)来计算误差。

仍然参考图5A,更详细地描绘和描述了物料搬运车辆的地图相机校准的因子图500。在本实施例中,通过使用站点地图来完成作为相机的传感器的校准。相机外参节点510包括相机的侧倾、俯仰、偏航、x、y和/或z位置并且预期方差(即,标准偏差)是参考具有不确定性的外参值的相机种子位置的先验因子502来设置的。当使用站点地图时,通过将车辆与站点地图内的位置相关联,物料搬运车辆在站点地图内被播种,如通过位置先验因子504所指示的。由于物料搬运车辆被播种(即,车辆在环境中的实际位置与站点地图中的位置相关联),因此存在由位置先验因子504建模的不确定性水平。种子位置指示初始车辆姿态(vO)的原点。如本文所指,“原点”是指车辆在校准坐标系中的种子位置(或初始位置vO)。原点vO可以设置在校准坐标系CCF的原点O,或者可以是任意的原点vO,该原点不是校准坐标系CCF的原点O。种子外参值(例如,传感器外参节点eO)基于安装在物料搬运车辆上的传感器的制造公差。初始传感器帧(例如,传感器帧节点,cO)可以通过在初始车辆姿态vO上组合传感器外参节点eO来计算。这成为校准坐标系CCF的原点vO(在原点O或以其它方式设置的任意起始位置),并且初始车辆姿态vO建模车辆在种子位置处的位置。可以使用观察到的Vx(例如,v1 514)和Vx-1(vO 512)之间的航位推算来计算新的Vx(例如,v1514)值,并在其之间添加指示关于观察到的航位推算的不确定性的间因子(例如,513和515)。表示相机帧节点的传感器帧节点518、520和522为每个Vx因子在相同坐标系中对相机的姿态建模,并且传感器帧节点518、520和522链接到在相应车辆节点512、514、516处的每个相机帧的参考帧因子519、521和523。观察结果,诸如由相机观察到的头顶特征,作为多次观察的通用投影因子并在帧之间进行关联。在实施例中,提供逻辑以从多个观察结果中推导出观察到的特征的位置。创建投影因子525、527、529、531、533以链接到在当前帧中观察到的每个传感器特征节点524和526。传感器帧节点518、520和522与传感器特征节点524和526之间可以存在多对多、一对一、一对多或多对一关系。

在一些实施例中,一旦存在完全形成的因子图,那么运行优化器以通过移动所有节点来最小化所有因子中的误差。但是,在一些实施例中,优化器可以在构造因子图的任何时间实施。由此,当足够的信息被构建到因子图中时,因子图的构造可以停止,使得优化器可以制定用于确定校准因子的优化问题。此外,以最小化误差读取eO可以确定用于相机校准的优化相机外参,如下文更详细描述的。

现在参考图5B,更详细地描绘和描述物料搬运车辆的地图激光校准的因子图500'。在一些实施例中,关于图5A描述的基于图像的传感器/相机110A可以替代地是使用站点地图校准的基于激光的传感器110B。例如,传感器外参节点510'可以包括激光器的侧倾、俯仰、偏航、x、y和/或z位置和预期方差(即,标准偏差),这些是参考具有不确定性的外参值的激光器种子位置的先验因子502'。此外,当使用站点地图时,通过将车辆与站点地图内的位置相关联,物料处理车辆在站点地图内被播种,如通过位置先验因子504'所指示的。

激光将传感器节点(例如,518'、520'、522')记录为与车辆节点512'、514'和516'相关联的激光节点,使得激光节点518'与车辆节点vO、512'相关联、激光节点518'与车辆节点v1,514'相关联,并且激光节点518'与车辆节点v2,516'相关联。基于激光的传感器特征节点524'和526'由激光确定,相对于每个激光节点518'、520'和522'绘出,可以通过方位范围因子525'、527'、529'、531'和533'和533'相关联,定义激光节点518'、520'和522'以及基于激光的传感器特征节点524'和526'之间的关系。

现在参考图6,描绘了用于环境中物料搬运车辆的无地图相机校准的因子图600。因子图FG 600中描绘的校准不包括站点地图的使用(例如,是无地图的),因此,物料搬运车辆100的初始位置信息被表示为车辆节点vO,612。例如,初始位置vO在图4的校准坐标系CCF上示出,在这种情况下,它不是原点O。作为非限制性示例,初始位置信息可以是环境内的任意位置并且不需要相对于站点地图142或任何其它参考位置进行定位。随着物料搬运车辆100行驶,作为车辆位置0、1、2等(即,vO、v1、v2等)的物料搬运车辆100的估计位置被记录为例如基于里程计的车辆节点612、614、616。间因子613、615设置在这样的车辆节点612、614、616之间。此外,在车辆节点的校准坐标系CCF的位置,作为相机的传感器记录与每个车辆节点612、614、616相关联的传感器帧节点618、620、622,诸如与车辆节点vO、612相关联的传感器帧节点cO、618;与车辆节点v1、620相关联的传感器帧节点c1、614;以及与车辆节点v2、622相关联的传感器帧节点c2、616。相对于每个传感器帧节点618、620、622描绘的基于图像的传感器特征节点624、626可以通过定义相邻传感器帧节点618、620、622和基于图像的传感器特征节点624、626之间的关系的投影因子625、627、629、631、633相关联。

现在参考图7,描绘了用于环境中物料搬运车辆的无地图激光校准的因子图700。因子图700类似于因子图600(图6),不同之处在于这里被校准的传感器是在因子图中建模的基于激光的系统的一部分。指向激光外参节点(LEN)的传感器外参节点710可以包括激光器的侧倾、俯仰和偏航、x、y和/或z位置和预期方差(即,标准偏差),它们是参考具有不确定性的外参值的激光器种子位置的先验因子702来设置的。因子图700、FG中描绘的校准不包括站点地图的使用(例如,是无地图的)。因此,作为车辆节点712的初始位置信息被设置为物料搬运车辆100的原点并表示为车辆节点vO(例如,具有坐标位置vO,图4)。作为非限制性示例,初始位置信息可以是环境内的任意位置并且不需要相对于站点地图142或任何其它参考位置进行定位。随着物料搬运车辆100行驶,作为车辆位置0、1、2等(即,车辆节点vO、v1、v2等)的物料搬运车辆100的估计位置被记录为例如基于里程计的车辆节点712、714、716。间因子713和715设置在这样的车辆节点712、714、716之间。此外,相对于车辆节点在校准坐标系CCF内的位置,激光记录与每个车辆节点712、714、716相关联的相应激光节点718、720、722,诸如与车辆节点vO,712相关联的激光节点L0,718;与车辆节点v1,714相关联的激光节点L1,720;以及与车辆节点v2,716相关联的激光节点L2,722。代表由激光确定的特征信息的基于激光的传感器特征节点724、726相对于每个传感器帧节点718、720、722被描绘并且可以通过定义传感器帧节点718、720、722和基于激光的传感器特征节点724、726之间的(一个或多个)关系的方位范围因子725、727、729、731、733相关联。

激光定位系统可以通过采用诸如LIDAR系统的激光系统来识别与通过相机的图像数据识别出的特征相似的特征,例如对象的边缘或环境内的特征。在一些实施例中,基于激光的定位系统可以识别定位在整个环境中的反射器对象的方位范围。反射器对象可以类似于相机的光,因为反射器对象是激光系统用来映射环境和校准基于激光的传感器110B的特征,就像相机110A用光一样。

现在参考图8,描绘了用于校准无地图定位系统的因子图800,该系统实现环境内的物料搬运车辆的相机和激光器的组合。在实施例中,包括虚线位置先验因子804(由虚线指示并且如本文关于使用与初始车辆位置相关的位置先验因子和使用站点地图来描述的)将允许校准实现环境中的物料搬运车辆的相机和激光器的组合的地图定位系统(mappedlocalization system)。

传感器外参节点808可以包括激光器的侧倾、俯仰、偏航、x、y和/或z位置和预期方差(即,标准偏差),它们是参考具有不确定性的外参值的激光器种子位置的先验因子802设置的。传感器外参810可以包括相机的侧倾、俯仰、偏航、x、y和/或z位置以及预期方差(即,标准偏差),它们是参考具有不确定性的外参值的相机种子位置的先验因子803设置的。类似于图6和7中的因子图,参考图8描述的并且在因子图800,FG中建模的校准不包括站点地图的使用(例如,是无地图的)。因此,车辆节点812的初始位置信息被设置为物料搬运车辆100的原点并表示为车辆节点vO(例如,在图4的校准坐标系CCF上具有vO的坐标位置)。当物料搬运车辆100行驶时,作为车辆位置0、1、2、3等(即,车辆节点vO、v1、v2、v3等)的物料搬运车辆100的估计位置被记录为例如基于里程计的车辆节点812、814、816、818。间因子813、815、817设置在这样的车辆节点812、814、816和818之间。

在校准坐标系CCF中车辆节点812、814、816、818的一些位置中,相机记录与车辆节点812、816相关联的相机帧节点820、824,诸如与车辆节点vO、812相关联的相机帧节点cO、820,以及与车辆节点v2、816相关联的相机帧节点c1、824。关于相机帧节点820、824描绘的特征节点828可以通过定义相邻相机帧节点820、824和特征节点828之间的关系的投影因子827、829相关联。

此外,相对于车辆节点812、814、816、818,激光记录与车辆节点814、818相关联的激光节点822、826,使得激光节点L0、822与车辆节点vO、814相关联并且激光节点L1,826与车辆节点v3,818相关联。由激光确定的基于激光的传感器特征节点830、832相对于每个激光节点822、826被描绘并且可以通过定义激光节点822、826和基于激光的传感器特征节点830、832之间的关系的方位范围因子831、833、835相关联。

应该理解的是,因子图提供了一种将被校准的一个或多个传感器收集的观察到的信息与环境内的车辆位置和特征相关联的方法。通过车辆位置(即,车辆节点)和观察到的特征(例如,作为基于激光的传感器特征节点和/或基于图像的传感器特征节点)之间的关系,可以校准激光和相机。如上所述,变量/节点之间的关系是通过因子来定义的。这些因子可以表示关于这些变量的概率信息。在一些实施例中,因子可以定义与节点之间的变换相关的因子函数。在优化期间,可以最小化每个变量的误差,使得最大化与这些变量相关的概率信息。

现在转向图9-图11C,描绘了图示校准物料搬运车辆的传感器的方法的若干流程图。图9-图10描绘了通过在地图或无地图配置中使用优化器来应用校准算法的处理。图11A-图11C描绘了一种校准方法,该方法构建因子图,诸如上述图5A-图8的因子图,并使用该因子图来校准传感器相对于传感器在物料搬运车辆上的位置,如本文所描述的。

参考图9,描绘了可以应用于地图或无地图校准系统的传感器校准方法的流程图900。传感器校准开始于方框902。传感器的校准可以由系统自动发起,或者可以通过计算设备的GUI界面或命令提示界面手动发起。在一些实施例中,校准可以在物料搬运车辆第一次激活时自动发起。在一些实施例中,如方框910中所示,校准的初始步骤包括确定和/或确认物料搬运车辆的车辆型号。可以通过输入车辆型号或通过计算设备选择车辆型号来手动确定车辆型号。替代地,车辆型号可以通过预编程的标识符或通过计算设备完成连接到其的部件的扫描和注册来自动确定。即,计算设备可以能够通过对安装的硬件的扫描来自动确定物料搬运车辆的车辆型号。例如,可以实现型号匹配方法来确定物料搬运车辆的型号。即,当传感器数据例如从编码器、IMU、成像设备、激光传感器等被收集时,数据和来源可以与一组已知的数学模型进行比较以选择物料搬运车辆的类型。

一旦确定了车辆型号,就可以发起两个任务。一个任务可以包括发起运动学模型,使得可以校准用于确定里程计的传感器和系统,如方框920处所示。例如,可以通过将物料搬运车辆在两个已知点之间来回移动几次并比较车轮编码器与实际距离之间的差异来计算里程计。这种里程计校准可以如在2018年3月20日颁发的转让给Crown Equipment公司的标题为“SYSTEMS AND METHODS FOR MATERIALS HANDLING VEHICLE ODOMETRYCALIBRATION”的美国专利No.9,921,067中描述的那样使用。

在方框930处,可以接收在方框920处确定的里程计校准和传感器种子外参作为校准算法的输入。在地图实施例中,方框930处的校准算法还可以接收站点地图和卡车种子位置作为来自方框940的输入。但是,如上所述,用于物料搬运车辆定位的传感器的校准可以不包括站点地图(例如,可以是无地图的)。在这种情况下,方框940可以仅提供卡车种子位置的输入作为在如本文所述的校准坐标系上具有坐标参考(可以是任意坐标参考或相对于x、y和偏航设置为(0,0,0))。在一些实施例中,种子位置可以是校准坐标系内的任何任意坐标。在方框930处,执行校准算法并且确定传感器的校准外参。如本文所述的示例校准方法可以用于校准算法。

如果在方框950处确定校准外参是可接受的,那么在方框970处将校准外参保存为经校准的外参。但是,如果在方框950处确定在方框930处确定的校准外参是不可接受的,那么可以在方框960处重新开始校准,返回到方框910或方框930。在方框960处重新开始校准之前,可以在方框960处完成在方框930处确定的校准外参的分析和/或先前完成的校准处理的分析。在方框960处的分析可以被配置为确定是否可以识别导致不可接受的校准外参的校准处理的特定问题。例如,分析可以确定在方框910处确定了不正确的卡车车辆型号或在执行校准算法时执行的校准路径不足(例如,不包括在特定方向上的运动,即,车辆仅以直线行驶且在校准期间未执行转弯)。因此,方框960可以确定校准可以在方框930处的中间步骤而不是从头重新开始。例如,如果车辆没有完成足够多样的路径来生成可接受的校准外参,那么可以通过在方框930处继续校准算法来重新开始校准。但是,如果在方框910处错误地确定了车辆型号,那么可以在方框930处重新开始校准以确定正确的车辆型号。

现在参考图10,图示了校准物料搬运车辆的传感器的方法的另一个示例流程图1000被描绘为校准算法的非限制性示例。例如,图10中描绘的流程图可以是在图9中的方框930处实现的校准算法的实施方式。校准在块1002处发起。如参考图9所讨论的,校准可以自动或手动发起。一旦被发起,传感器数据就在方框1010处被物料搬运车辆的(一个或多个)传感器捕获。在一些实施例中,传感器数据可以由被校准的传感器以及其它传感器捕获。例如,可以在方框1010处收集来自用于确定里程计的传感器的传感器数据(例如,如在方框1070处确定的)以及来自相机的传感器数据。然后从在方框1010处收集的原始传感器数据中提取特征。例如,在方框1020中,通过一种或多种算法来提取特征,该算法被配置为从传感器数据中识别、隔离和/或提取特征。特征提取可以采用算法,诸如利用对象和图像检测和识别技术,诸如尺度不变特征变换(“SIFT”)、加速鲁棒特征(“SURF”)、Blob检测方法和边缘-检测算法。这样的算法可以识别特征和/或检测传感器数据内的对象,这些特征和/或对象可以用作校准方法可以与来自未来或先前收集到的传感器数据的未来或先前观察到的特征相关联的特征。在转让给Crown Equipment公司的美国专利No.9,170,581和9,606,540中描述了可以在本文中使用的此类特征提取技术的示例。

在方框1030处,校准方法将提取的传感器数据与先前观察到的特征相关联。可以实现的一些数据关联方法包括但不限于图像到图像、像素速度跟踪最近邻、联合兼容分支和边界“JCBB”等。例如但不限于,提取的传感器数据可以包括定义第一灯具的特征并且先前观察到的特征还可以包括从传感器捕获和特征提取的先前迭代观察到的第一灯具。来自当前图像的特征可以与先前图像相关联以附加到相机帧节点并构建因子图FG。在方框1030处,可以匹配提取的特征和先前观察到的特征。例如,这种关联可以通过使用像素速度最近邻图像空间跟踪算法或任何无需特征在校准坐标系(CCF)中的位置的先验知识的情况下逐帧跟踪特征的算法来发生。相关联的特征然后可以附加到相机帧节点(CFN),这可以导致多个相机帧节点引用单个传感器特征节点,并且这可以通过使用投影因子来实现。在一些实施例中,例如那些利用地图或无地图系统的实施例,数据关联技术可以将来自当前帧的观察结果与模型中已经存在的特征匹配(例如,利用诸如最近邻或JCBB之类的算法)。即,传感器特征节点的数据关联可以通过图像到图像的映射或图像到模型的映射来完成。

即,在方框1040处,参考本文讨论的因子图,投影因子和/或方位范围因子可以将传感器数据(例如,物料搬运车辆当前位置处的相机外参)与先前从不同位置和在物料搬运车辆的当前位置观察到的第一灯具相关联。如果没有进行先前的观察,那么提取的传感器数据可以作为新节点添加到无地图校准中的因子图中。可以相应地创建一个或多个帧并将其添加到因子图FG以创建优化问题。

物料搬运车辆的位置可以基于在方框1070处通过物料搬运车辆的移动生成的里程计信息以及在方法的初始迭代中从在方框1010处捕获的原始传感器数据提供给模型。可以针对一个或多个提取的特征和先前观察到的特征重复方框1030处的数据关联,其中每个匹配的特征被添加到因子图或校准模型和/或每个不匹配的特征被添加为因子图或校准模型的新特征。此外,在方框1040处,可以确定模型误差值并且可以根据模型,例如因子图来定义优化问题。

在方框1050处求解优化问题以产生校准输出。基于通过解决优化问题确定的校准输出来确定传感器外参和/或置信度值。如果在方框1060处传感器外参和/或置信度值指示局部最小值,使得向因子图添加附加信息不会导致总图误差的显著变化,那么校准完成并且基于校准输出的传感器外参在方框1080处被存储为校准值并且校准结束。校准结果可以继续传递到图9的方框950。但是,在一些实施例中,如果在方框1060处向因子图添加附加信息确实导致总图误差显著变化,那么物料搬运车辆在方框1070处继续在环境中移动,从而至少从被校准的传感器生成进一步的里程计和原始传感器数据并返回到方框1010。这可以一直持续到向因子图添加附加信息不会导致图的总误差显著变化为止。在这种情况下,可以结束校准。应该理解的是,前述方法只是校准物料搬运车辆的传感器的方法的非限制性实施例。

现在参考图11A-图11C,描绘了组合构建因子图FG和利用因子图校准物料搬运车辆100的传感器110的示例方法的子集的流程图。物料搬运车辆100包括传感器110、车辆位置处理器130、一个或多个车辆航位推算部件、以及被配置为沿着库存运输表面移动物料搬运车辆100的驱动机构。一个或多个航位推算部件可以包括里程计,该里程计包括里程计逻辑126。传感器110被配置为记录仓库(例如,仓库环境10)的一个或多个特征,并且车辆位置处理器130被配置为从由传感器110记录的一个或多个特征150的记录生成传感器数据144。在实施例中,传感器110是被配置为捕获仓库的一个或多个特征150的相机,并且车辆位置处理器还被配置为从由相机捕获的一个或多个特征的记录生成传感器数据144。在本文描述并且在下面更详细描述的实施例中生成的对应的基于图像的因子图FG在图5A和图6中被描绘为相应的因子图500、600。附加地或替代地,传感器110是被配置为检测仓库的一个或多个特征的激光器,并且车辆位置处理器还被配置为从由激光器检测到的一个或多个特征的记录生成传感器数据144。在本文描述的并且在下面更详细描述的实施例中生成的对应的基于激光的因子图FG在图5B和图7中被描绘为相应的因子图500'、700。在本文描述的并且在下面更详细描述的实施例中生成的对应的基于图像和基于激光的因子图FG在图8中被描绘为因子图800。

关于图11A,在方框1102处发起校准。如参考图9所讨论的,校准可以自动或手动发起。一旦被发起,来自被校准的传感器110的传感器数据144就在方框1104处被收集和接收。传感器数据可以包括由相机收集到的图像数据和/或由激光传感器通过例如激光扫描收集到的范围距离数据或两者的组合。在方框1106处处理传感器数据并提取特征。例如,车辆位置处理器130被配置为从传感器数据144中提取一个或多个特征150。

可以通过几种方式提取特征。例如,如上所述,特征提取可以采用算法,诸如利用对象和图像检测和识别技术,诸如尺度不变特征变换(“SIFT”)、加速鲁棒特征(“SURF”)、Blob检测方法和边缘检测算法。这样的算法可以识别特征和/或检测传感器数据内的对象,这些特征和/或对象可以用作校准方法可以与来自未来或先前收集到的传感器数据的未来或先前观察到的特征相关联的特征。

在方框1108处,系统确定是否已经从传感器数据中提取了一个或多个特征。如果没有提取或至少成功提取特征,那么系统通过将处理返回到方框1104处来收集附加的传感器数据。如果如在方框1108处确定的那样没有从传感器数据中提取附加特征,那么系统继续在方框1110处确定因子图是否被初始化。如果因子图尚未被初始化,那么系统继续在方框1112处初始化因子图的步骤。在方框1112处,系统创建具有包含已知种子外参的先验因子的传感器外参节点(例如,图5A中所示的先验因子502和传感器外参节点eO,510)。例如,车辆位置处理器130被配置为创建包括传感器外参节点(eO)的因子图FG,该传感器外参节点(eO)包括与传感器110相关联的初始种子外参。

接下来,在方框1114处,系统确定是否提供了仓库环境10的站点地图142(其可以结合仓库环境内的一个或多个特征的特征图)和物料搬运车辆种子位置。换句话说,该步骤确定校准方法是无地图校准还是基于地图的校准。车辆位置处理器130可以被配置为在如下所述的地图或无地图配置的因子图FG中生成初始车辆节点(vO)、初始传感器帧节点(cO)和初始传感器特征节点(fO),初始传感器特征节点(fO)包括所提取的所述一个或多个特征中的在初始数据关联中与初始传感器帧节点(cO)和初始车辆节点(vO)相关联的选定特征。

车辆位置处理器130还被配置为当未提供车辆种子位置和特征图时,在因子图FG中将初始车辆节点(vO)生成为原点处的无地图初始车辆节点。因此,如果没有提供站点地图142和物料搬运车辆种子位置,那么系统在无地图配置下操作并在因子图中创建第一车辆节点(例如,图6中所示的节点vO,612)。在这种情况下,在方框1116,第一车辆节点可以被配置在由原点坐标值(0,0,0)定义的任意原点处,使得原点由在与传感器110相关联的传感器校准帧中的原点坐标值(0,0,0)定义。

车辆位置处理器130还被配置为,当提供车辆种子位置和包括一个或多个地图特征的特征图时,在因子图FG中将初始车辆节点(vO)生成为(i)在车辆种子位置处的基于地图的初始车辆节点,具有(ii)相关联的车辆先验因子,并将(iii)来自站点地图142的一个或多个地图特征生成为对应的传感器特征节点,以及(iv)对应的地图特征先验因子。在车辆种子位置处的基于地图的初始车辆节点的相关联车辆先验因子可以包括关于物料搬运车辆的车辆种子位置相对于站点地图142的准确性的误差函数。因此,如果替代地提供站点地图142和物料搬运车辆种子位置,那么系统在方框1118处在地图配置下操作并且在种子位置处创建第一车辆节点(例如,图5A中所示的节点vO,512)。车辆节点还将包括地图配置中的先验位置因子(例如,图5A中所示的位置先验因子504)。先验位置因子可以参考站点地图142定义关于物料搬运车辆的播种位置的准确性的概率或误差函数。在方框1120处,基于站点地图142的每个地图特征与每个地图特征的先验因子一起作为节点被添加到因子图中。在包括用于校准传感器的站点地图142的实施例中,站点地图142中定义的地图特征是系统将在校准期间将来自传感器的传感器数据关联到的特征。

车辆位置处理器130还被配置为使用驱动机构沿着库存运输表面导航物料搬运车辆100,以及在因子图FG中基于来自一个或多个车辆航位推算部件的累积里程数生成后续车辆节点(v1)。回到参考方框1110,如果因子图在项目B处被初始化,那么在方框1122中基于来自车辆移动的累积里程计(即,关于项目C和D之间的方框1146、1148和1150更详细地描述)相对于第一车辆节点变换的第二车辆节点(例如,分别在图5A和图6中示出的节点v1,514或614)被创建并添加到因子图。此外,在方框1124处生成定义概率关系或车辆位置变换的误差函数的、将第一车辆节点链接到第二车辆节点的间因子。车辆位置处理器130可以被配置为基于累积里程数在因子图FG中生成在后续车辆节点(v1)和初始车辆节点(vO)之间的车辆间因子。间因子可以定义从第一车辆节点确定第二车辆节点的误差。换句话说,间因子描述了两个车辆姿态之间的变换以及该变换的相关联的不确定性。

车辆位置处理器130还被配置为在因子图FG中生成在后续数据关联中与初始传感器特征节点(f0)或后续传感器特征节点(f1)之一以及传感器外参节点(eO)、后续车辆节点(vl)相关联的后续传感器帧节点(c1)。一旦因子图在方框1110中被初始化,例如在校准处理的第一次迭代或者通过方框1112-1124在因子图内确定和创建第二车辆节点位置期间,那么在方框1126处将与项目A对应的因子添加到因子图。作为示例而非限制,图6中示出添加将第一车辆节点vO、612链接到传感器节点cO,618的参考帧因子619,或者图7中示出添加将第一车辆节点vO,712链接到的传感器节点L0,718的参考帧因子719。链接参考帧因子定义了物料搬运车辆100的位置与传感器节点之间的关系。

在方框1128处,选择在方框1106处确定的提取特征之一。选定的提取特征试图与来自例如一个或多个先前提取特征和/或已经从站点地图142定义的特征的现有特征相关联。如果选定的提取特征与现有特征匹配,那么在方框1132处,生成因子(例如,图5A中所示的投影因子525)并在方框1136处将其添加到因子图,将传感器节点链接到因子图中定义的匹配特征。作为非限制性示例,添加的因子可以是相机特征的投影因子或激光特征的方位范围因子。因此,车辆位置处理器130可以被配置为选择所提取的一个或多个特征中的一个特征、当一个特征与现有特征匹配时将该一个特征与作为匹配的传感器特征节点的现有特征相关联,以及在因子图FG中,生成将生成的传感器帧节点与匹配的特征节点链接起来的投影因子。生成的传感器帧节点可以包括初始传感器帧节点(cO)或后续传感器帧节点(c1)之一,匹配的传感器特征节点可以包括初始传感器特征节点(fO)或后续传感器特征节点之一(f1),并且可以在站点地图142中定义现有传感器特征。

替代地,在实施例中,如果所提取的特征中的选定特征与现有特征不匹配,那么在方框1134处可以创建新的特征节点并将其添加到因子图。但是,在其它实施例中,添加与现有特征不匹配的提取特征不是必需的。随后,在方框1136处,生成因子(例如,图6中所示的投影因子625)并将其添加到因子图,将传感器节点链接到因子图中定义的新特征节点。因此,车辆位置处理器130可以被配置为选择所提取的一个或多个特征中的一个特征、当一个特征与现有特征不匹配时,在因子图中生成与该一个特征相关联的新的传感器特征节点,以及在因子图FG中生成投影因子,将生成的传感器帧节点与新的传感器特征节点链接起来。新的传感器特征节点可以包括初始传感器特征节点(fO)或后续传感器特征节点(f1)之一。虽然关于无地图校准方法描述了上述步骤和处理,但是应该理解的是,可以在实现地图校准系统和方法的处理中采用类似的步骤和处理流程。

系统然后在方框1138处确定是否存在更多提取特征。例如,系统确定是否存在在校准方法的当前迭代期间识别出的任何附加的提取特征与现有特征相关联或添加到因子图中。如果有附加的提取特征与现有特征相关联或添加到因子图中,那么方框1138使系统返回到方框1128以进一步处理下一个提取特征。但是,如果没有附加的提取特征与现有特征相关联或添加到因子图,那么方框1138使系统进行到方框1140,在方框1140处车辆位置处理器130被配置为优化因子图FG以基于初始数据关联和后续数据关联提供与传感器110相关联的校准输出。车辆位置处理器130还可以被配置为基于与传感器110相关联的校准输出沿着库存运输表面导航物料搬运车辆100。

参考方框1140,系统优化因子图以提供解作为校准输出。此外,车辆位置处理器130还可以被配置为当所提取的一个或多个特征中没有其它特征保持与作为对应的匹配传感器特征节点的现有特征相关联或添加到因子图作为对应的新的传感器特征节点时优化因子图。在一些实施例中,可以在任何时间而不是在每个步骤优化系统,诸如可以在特定时间触发优化。例如,系统可以通过基于因子图中定义的因子和变量生成约束优化问题来优化因子图。在方框1142处,系统确定在因子图的优化期间是否达到局部最小值。如果检测到局部最小值并且例如达到阈值最小值、确定可接受的校准误差等,那么在方框1144处因子图中的优化的外参值被返回并且然后可以在方框950(图9)处被传递到第二过滤器以确定可接受性。在一些局部最小值实施例中,在方框1142处确定优化器已经达到局部最小值可以包括识别向优化器提供任何更多数据将不会导致输出显著变化的情况。在一些实施例中,当达到阈值并保持预定义时间段时,方框1142确定达到局部最小值。在可接受性实施例中,方框950可以基于误差的变化率低于预定值来确定从因子图的优化确定的校准值是可接受的。在一些可接受性实施例中,与预期校准值匹配的容差、优化路径特性分析(总行程距离、总角度行程、所用时间、速度等)、传感器收敛、特征多样性、因子图的特性(分布权重、结构、不连续性)、使用现有定位算法的抽查或其它机制可以被实现以确定校准值何时是可接受的校准值。在实施例中,可接受性确定基于提供的上下文通过一个或多个启发式检查确定校准值是可接受的,启发式检查包括但不限于路径特性、传感器覆盖、几何约束检查、与预定可接受校准的比较、与车队群体的校准平均值的比较,和/或使用其它定位系统抽查。考虑到特定卡车或传感器的更广泛背景,此类可接受性确定可以利用特定于领域的知识来检测一个或多个优化器的一个或多个故障。

车辆位置处理器130还可以被配置为通过基于因子图中定义的一个或多个因子和一个或多个变量生成约束优化问题来优化因子图。一个或多个变量代表约束优化问题中的未知随机变量并且包括如本文所述的一个或多个节点,诸如传感器外参节点(eO)、初始车辆节点(vO)、后续车辆节点(v1)、初始传感器帧节点(cO)、后续传感器帧节点(c1)、初始传感器特征节点(fO)和后续传感器特征节点(f1)中的一个或多个。如本文所述的一个或多个因子可以代表关于一个或多个因子中的选择因子的概率信息并且可以包括先验因子、间因子、参考帧因子、投影因子、方位范围因子或其组合。

如本文进一步描述的,可以使用一个或多个平滑和映射(SAM)库和优化器来构造约束优化问题。在实施例中,一个或多个特征150包括仓库的一个或多个头顶灯,并且约束优化问题是使用图像识别算法、数据关联算法、建模技术或其组合构造的。如本文所述,图像识别算法被配置为逐帧跟踪作为一个或多个特征之一的静态头顶灯的至少一部分并且包括边缘检测例程、特征检测例程、对象识别例程或其组合。此外,数据关联算法包括使用像素速度最近邻图像空间跟踪算法来逐帧跟踪特征,而无需特征在与传感器相关联的传感器校准帧中的位置的先验知识。此外,建模技术包括运动恢复结构(SFM)技术、同时定位和映射(SLAM)技术、平滑和映射(SAM)库技术或其组合。

返回到方框1142(图11B),如果在方框1142处没有检测到局部最小值,那么物料搬运车辆例如通过在方框1146处执行的与项目C相关联的命令移动到新位置。在方框1148处从最后车辆位置到新车辆位置累积里程计。在一些实施例中,系统在方框1150处确定物料搬运车辆是否已经从最后位置移动了预定距离。如果物料搬运车辆没有移动至少达到预定阈值距离,那么响应于方框1146,物料搬运车辆继续移动。当车辆移动至少预定阈值距离时,如方框1150处所确定的,那么校准方法返回到与项目D相关联的方框1104,并且由被校准的传感器收集新的传感器数据集。还应当理解并且在本公开的范围内,在实施例中,可以利用来自如本文所述的传感器而不是里程计传感器的观察结果来向优化器提供数据。

应该理解的是,关于图11A-图11C中的流程图1100图示和描述的校准方法仅在利用因子图的物料搬运车辆的传感器的校准的示例实施例中。本领域技术人员可以理解在本公开的范围内预期对方法的修改。

在实施例中,因子图(FG)用于构造和求解约束优化问题以诸如通过减少最小化的期望阈值来减少例如传感器外参节点的误差度量,以确定传感器相对于物料搬运车辆100的姿态。图4图示了示例校准坐标系CCF,其通过物料搬运车辆100从原点O开始的行驶创建,以映射诸如天花板灯150A-S之类的头顶特征150以生成图5A的因子图FG和通过如图3中所示的行驶路径的约束优化问题,并求解指示相机相对于物料搬运车辆100的校准和可接受姿态的误差度量。

关于图2-图4,物料搬运车辆100可以包括和/或与车辆计算设备102耦合,参考图2更详细地示出和描述了车辆计算设备102。车辆计算设备102可以包括处理器130,其可以被实现为通信地耦合到传感器110的一个或多个处理器。处理器130可以被配置为执行实现本文描述的任何方法或功能的逻辑。还可以包括存储器120并且可以利用存储器120来存储逻辑,包括可以通信地耦合到处理器130、传感器110或其任何组合的机器可读指令。

特别地,图2描绘了可以为物料搬运车辆100实现和使用的计算基础设施。该计算基础设施可以包括车辆计算设备102,其包括和/或耦合到传感器110、运动传感器114、存储器120、处理器130、加速度计132、陀螺仪134、输入/输出硬件136、网络接口硬件138以及数据存储部件140,通过本地通信接口105相互通信。车辆计算设备102的部件可以物理耦合在一起和/或可以经由本地通信接口105(例如,可以被实现为总线)或其它接口以通信方式耦合以促进车辆计算设备102的部件之间的通信。

传感器110可以是能够收集可以用于物料搬运车辆100的定位的传感器数据的任何设备。传感器110可以通信地耦合到处理器130和物料搬运车辆100的其它部件。传感器110可以包括数码静态相机、数码视频相机、模拟静态相机、模拟视频相机和/或用于捕获头顶图像的其它设备。附加地或替代地,传感器110可以包括耦合到物料搬运车辆的其它位置和定位传感器系统,例如,LIDAR系统、RADAR系统、超声波传感器系统等。

处理器130可以包括集成电路、微芯片和/或能够执行机器可读指令或已经被配置为以类似于机器可读指令的方式执行功能的其它设备。存储器120可以被配置为易失性和/或非易失性存储器并且由此可以包括随机存取存储器(包括SRAM、DRAM和/或其它类型的RAM)、ROM闪存、硬盘驱动器、安全数字(SD)存储器、寄存器、光盘(CD)、数字多功能盘(DVD)和/或其它类型的能够存储逻辑(诸如机器可读指令)的非暂态计算机可读介质。取决于特定实施例,这些非暂态计算机可读介质可以驻留在车辆计算设备102内和/或车辆计算设备102外部,如下面更详细描述的。由此,存储器120可以存储操作逻辑122、传感器逻辑124和逻辑126、以及用于提供指令和促进本文描述的功能的校准逻辑128。

例如,操作逻辑122可以包括用于管理车辆计算设备102的部件的操作系统和/或其它软件。传感器逻辑124可以使物料搬运车辆100经由传感器110捕获的传感器数据144确定物料搬运车辆100相对于仓库环境10(例如,天花板灯150A-S)的定位位置。

如本文所述,里程计逻辑126可以用于生成和校准里程计数据。里程计逻辑126还可以使物料搬运车辆100沿着仓库环境10的地板导航。在一些实施例中,里程计逻辑126可以从一个或多个传感器,例如,一个或多个运动传感器114、一个或多个加速度计132、一个或多个陀螺仪134、一个或多个车轮角度传感器等接收一个或多个信号,以确定物料搬运车辆100在一段时间内经过的路径。一些其它里程计方法可以包括激光扫描匹配和/或视觉里程计。更特别地,里程计逻辑126可以被配置为确定物料搬运车辆100的位置从第一位置到第二位置的变化。传感器逻辑124和里程计逻辑126每个都可以包括多个不同的逻辑块,作为示例,每个逻辑块都可以被实施为计算机程序、固件和/或硬件。

在操作中,例如,物料搬运车辆100可以经由用户输入确定其当前位置,经由车辆计算设备102(诸如物料搬运车辆100穿过射频识别器,经由位置系统等)确定和/或经由远程计算设备170确定。在一些实施例中,传感器110可以是被配置为捕获天花板图像的相机,天花板可以包括一个或多个天花板灯150A-S。一些实施例被配置为使得传感器110捕获的传感器数据144(例如,图像数据)可以另外与站点地图142进行比较以确定当前车辆位置。但是,为了基于由传感器110捕获的传感器数据144准确地确定车辆位置,传感器110可能需要在依赖或不依赖此类站点地图142之前相对于其操作的物料搬运车辆100进行校准。用于校准传感器110并且在一些实施例中帮助生成站点地图142的系统和方法,如本文所述。

仍然参考图2,如本文所述的校准逻辑128可以被配置为通过使用待校准的传感器110,诸如基于图像的系统(例如,相机)和/或基于激光的系统(例如,LIDAR系统),使得跟踪仓库环境10中的多个静态特征(例如,天花板灯150A-S),以从仓库环境10中的不同位置在多个静态特征的多个观察结果上构建约束优化问题。该数据可以用于创建这样的优化问题,该优化问题可以用于优化传感器110的姿态,因为它与物料搬运车辆100相关。在本文描述的实施例中,校准逻辑128可以不使用或依赖仓库环境10的先验知识,诸如站点地图142。在一些实施例中,校准传感器110的处理还可以导致形成站点地图142,该站点地图142可以稍后用于在仓库环境10中定位或补充物料搬运车辆100的定位。

再次参考图2,运动传感器114可以是能够检测或确定物料搬运车辆100的运动的任何传感器。例如,运动传感器114可以包括光学、微波、声学或照明传感器,其被配置为检测作为检测到的运动的函数的仓库环境10中的运动或变化。一些这样的传感器可以包括红外传感器、超声波测距传感器、光电阻器等。在一些实施例中,运动传感器114可以包括一个或多个编码器(例如,光学的、机械的或机电的),其被定位以检测物料搬运车辆100的一个或多个车轮的移动。运动传感器114还可以包括能够并被配置为检测物料搬运车辆100的角度或方向航向的一个或多个传感器。此外,物料搬运车辆100可以至少包括与车辆计算设备102通信的加速度计132和/或陀螺仪134。

输入/输出硬件136可以包括和/或被配置为与图2的部件接口,包括传感器110、提供里程计逻辑126使用的里程计数据的里程计等。网络接口硬件138可以包括和/或被配置为与任何有线或无线联网硬件通信,包括天线、调制解调器、LAN端口、Wi-Fi卡、WiMax卡、蓝牙TM模块、移动通信硬件和/或用于与其它网络和/或设备通信的其它硬件。根据该连接,可以通过例如网络160促进车辆计算设备102和其它计算设备(诸如远程计算设备170)之间的通信。网络160可以包括广域网,诸如互联网、局域网(LAN)、移动通信网络、公共服务电话网络(PSTN)和/或其它网络并且可以被配置为以电子方式和/或通信方式连接车辆计算设备102、远程计算设备170和/或任何其它支持网络的设备。

仍然参考图2,数据存储部件140可以包括能够存储诸如机器可读指令和/或数据之类的逻辑的任何存储设备。数据存储部件140可以位于车辆计算设备102本地和/或远离车辆计算设备102,并且可以被配置为存储一条或多条数据以供车辆计算设备102和/或其它部件访问。如图所示,例如,数据存储部件140可以包括定义站点地图142的数据,该站点地图142可以包括在校准期间由物料搬运车辆100的传感器110生成或者可以以其它方式生成和存储的信息,由物料搬运车辆100的传感器110在校准期间捕获的传感器数据144,和/或用于传感器110的校准数据146。校准数据146可以包括要校准并定位在物料搬运车辆100上的传感器的制造商公差、安装校准数据146和/或根据相对于仓库环境10中的物料搬运车辆100校准传感器110而确定的校准数据146。

应该理解的是,虽然图2中的部件被图示为作为车辆计算设备102的一部分驻留,但这仅仅是示例。在一些实施例中,如上所述,一个或多个部件可以驻留在车辆计算设备102的外部。还应当理解的是,虽然车辆计算设备102被图示为单个设备,但这也仅仅是示例。在一些实施例中,操作逻辑122、传感器逻辑124、里程计逻辑126和校准逻辑128可以驻留在不同的计算设备上。作为示例,本文描述的功能和/或部件中的一个或多个可以由远程计算设备170和/或其它设备提供,其可以通信地耦合到车辆计算设备102。这些计算设备还可以包括用于执行本文描述的功能的硬件和/或软件(例如,实现图9-12中说明性地示出的方法)。

此外,虽然车辆计算设备102被图示为具有作为单独逻辑部件的传感器逻辑124、里程计逻辑126和校准逻辑128,但这也是示例。在一些实施例中,单个逻辑可以使车辆计算设备102提供所描述的功能。

现在参考图3,描绘了物料搬运车辆100在多个位置处提供从仓库环境10的映射导出的传感器的校准的说明性时间推移图。特别地,图3描绘了在仓库环境10中的离散位置处的物料搬运车辆100和相关联的图像区域112,该图像区域112定义了在由在每个位置耦合到物料搬运车辆100的传感器110(在该示例中为相机110A)捕获的传感器数据144中诸如天花板灯150A-S之类的天花板和头顶特征的区域。即,图3中描绘的每个物料搬运车辆100A是简单地定位在仓库环境10内的不同位置处的相同物料搬运车辆100A。此外,如图所示,许多图像区域112A-112L重叠,从而从沿着物料搬运车辆100A穿过仓库环境10的路径的不同位置捕获一个或多个图像中相同的静态头顶特征(例如,天花板灯150A-150S)。

如下文更详细描述的,校准方法通常依赖于通过在仓库环境10中的多个位置处从相机110A收集图像数据来校准物料搬运车辆100A上的相机110A。从相机110A捕获的图像数据包括在从不同位置捕获的一个或多个图像之间重叠的静态头顶特征。

仍然参考图3,仓库环境10中的校准方法一般地关于物料搬运车辆100在多个位置处的所示时间推移图进行描述。出于解释而非限制的目的,物料搬运车辆100A、相机110A和定义由图3中描绘的相机110A捕获的图像数据的图像区域112的每个独特位置(即,由图3中的字母“A”-“L”标识)与指示独特位置的附加字母(例如,“A”-“L”)相关联(例如,位置A处的物料搬运车辆100A捕获图像区域112A中的图像数据)。更具体而言,位置A处的相机110A具有图像区域112A,其包括由图像数据捕获的两个静态特征、天花板灯150A和150B。位置A可以被称为坐标系中用于校准的剩余部分的初始位置。

与利用站点地图142的校准不同,物料搬运车辆100A可以在仓库环境10内的任何地方进行播种,并且不需要与站点地图142中的对应位置相关联。由此,可以消除将物料搬运车辆100A与站点地图142相关联的误差,从而去除由不正确的校准导致的播种误差和/或由于物料搬运车辆100A的初始播种不正确或不精确而导致校准失败的可能性。但是,应该理解的是,本文描述的优化器实施例可以在地图配置和/或无地图配置中使用。

当物料搬运车辆100A开始从位置A移动到位置B时,到参考坐标系的路径被确定和记录。可以通过使用不包括被校准的传感器的任何定位方法来确定路径。例如,可以至少基于里程计、运动传感器114、车轮角度传感器、陀螺仪134和/或加速度计132的使用来确定路径。因此,可以确定坐标系内代表车辆姿态的车辆节点。例如,如果位置A表示为(x,y,z)坐标,其中初始位置被播种在坐标参考系(CRF)的原点(O)(例如,如图4中所示)处作为(0,0,0)并且物料搬运车辆100A被确定为已经在x方向上行驶了例如4米,那么位置B可以是(4,0,0)。

在一些实施例中,从先前位置到下一位置行驶的路径和/或距离可以通过算法来确定,该算法被配置为使物料搬运车辆100A行驶线性或角距离,使得在位置A处捕获的图像区域112A内的至少一个静态头顶特征在位置B处捕获的图像区域112B内是可见的。如本文所指,可以包括至少一个静态头顶特征的这些独特图像区域112A被称为“帧”。虽然在图3中描绘了离散位置,但是当物料搬运车辆100A穿过仓库环境10时,相机110A可以连续地记录图像数据,出于校准的目的,可以从图像数据中选择包括重叠静态头顶特征的帧。

如上文关于图3所述,在一个图像区域112F中捕获的静态头顶特征(即,天花板灯150A-S)也在另一个图像区域112G中被捕获和可见。例如,图像区域112F和图像区域112G共享天花板灯150J的可见性,其与图像区域112F和图像区域112B重叠。可以使用像素速度最近邻图像空间跟踪算法或能够逐帧跟踪特征无需相机校准帧中的特征位置的先验知识的任何算法来实现帧之间诸如天花板灯之类的静态头顶特征的跟踪。一些图像跟踪算法可以包括用于逐帧跟踪静态特征或静态头顶特征的一部分的边缘检测、特征检测和/或对象识别例程。

此外,当物料搬运车辆100A在整个仓库环境10中移动时,相对于初始位置(例如,播种位置)的坐标位置可以与每个图像区域112的每个图像数据(即,与每帧)相关联。类似于图4中所描绘的图块在视觉上表示物料搬运车辆100A的路径以及当物料搬运车辆100A在仓库环境10周围行驶时数据的收集(例如,相机110A的图像数据)。如参考图1所讨论的,物料搬运车辆100的传感器110(例如,相机110A)可以从仓库环境10内的各种位置捕获相同的静态头顶特征(例如,天花板灯150A-S)的视图。图4中的曲线图描绘了物料搬运车辆100在坐标参考系中的位置和天花板灯150A-S在相同坐标参考系中的位置(即,由图4中的曲线图描绘)。但是,注意的是,图4中的曲线图仅仅是示例曲线图,并没有直接描绘图3中的仓库环境10。

应该理解的是,在这种校准方法中,即不利用环境的先验知识的一种校准方法中,可以通过从环境内的不止一个位置观察相同的静态物体来实现相机的校准。因此,可以在因子图FG内估计位置之间的变换和变换之间的不确定性。因子图FG可以用于构建可以使用GTSAM库和优化器生成的优化问题,其中优化因子图FG的每个因子,同时满足由间因子的不确定性和外参(诸如相机外参)定义的约束,直到确定了可接受的预定义值内的校准值。

本公开的传感器校准技术非常适合在客户现场、专门的或通用的仓库配置中使用。使用优化和统计技术,当物料搬运车辆100在环境中行驶时估计传感器校准。该估计中的校准置信度也被计算并提供给调试工程师,作为校准进度的实时反馈,以帮助确定何时结束校准处理。在一些实施例中,校准处理可以包括在线和离线部分。例如,当物料搬运车辆穿越环境时,传感器数据可以由要进行在线校准的传感器收集。传感器数据可以存储在计算机可读介质中用于离线分析。存储的传感器数据被输入到离线系统,诸如服务器或计算设备。离线系统然后可以基于传感器数据生成因子图或类似模型、优化模型,并且生成传感器的校准值,该校准值可以随后加载到物料搬运车辆的计算设备中。

此外,本文描述的系统和方法通过去除对关于仓库环境中静态特征位置的先验信息的要求提高了确定传感器(例如,耦合到物料搬运车辆的相机)相对于物料搬运车辆的位置的能力。因此,可以在生成站点地图142之前进行校准,这消除了对生成与使物料搬运车辆达到功能状态相关联的先验信息和时间的依赖性。此外,与使用基于地图的校准相关联的潜在误差,诸如在一个示例中使用SLAM地图,并在地图内手动播种物料搬运车辆,可能不会与相机的校准姿态关联。此外,站点地图142的信息可以与相机110A或类似传感器110的校准并行生成,因为每个帧和相关位置坐标可以被编译到仓库环境10的站点地图142中。例如,该信息还可以用于更新现有站点地图142或帮助为新仓库环境10建立新站点地图142。SLAM只是如何生成地图以供本文描述的系统和方法使用的一个示例,并且其它地图生成技术被预期并且在本公开的范围内。地图来源的另一个示例包括勘测的地图。

出于描述和定义本公开的目的,应该注意的是,本文中对作为参数或另一个变量的“函数”的变量的引用并非旨在表示该变量仅是列出的参数或变量的函数。相反,本文对作为列出的参数的“函数”的变量的引用旨在是开放式的,使得该变量可以是单个参数或多个参数的函数。

还应该注意的是,本文中对“至少一个”部件、元素等的叙述不应该用于产生冠词“一”或“一个”的替代使用应该限于单个部件、元素等的推断。

应该注意的是,本文中对以特定方式“配置”以实施特定性质或以特定方式起作用的本公开的部件的叙述是结构叙述,而不是预期用途的叙述。更具体而言,本文对部件“被配置为”方式的引用表示部件的现有物理条件,并且由此被视为对部件的结构特性的明确叙述。

为了描述和定义本发明的目的,应该注意的是,术语“基本上”在本文中用于表示可归因于任何定量比较、值、测量结果或其它表示的固有不确定程度。术语“基本上”在本文中还用于表示定量表示可能与所述参考不同而不会导致所讨论主题的基本功能发生变化的程度。

已经详细描述了本公开的主题并参考了其具体实施例,应该注意的是,本文公开的各种细节不应该被理解为暗示这些细节涉及作为本文描述的各种实施例的必要部件的元件,即使在本说明书随附的每个附图中图示特定元件的情况下也是如此。此外,显而易见,在不脱离本公开的范围的情况下可以进行修改和变化,包括但不限于所附权利要求中定义的实施例。更具体而言,虽然本公开的一些方面在本文中被识别为优选的或特别有利的,但是可以预期,本公开不一定限于这些方面。

虽然本公开的特定实施例和方面已经在本文中被图示和描述,但是在不脱离本公开的精神和范围的情况下可以做出各种其它改变和修改。此外,虽然本文已经描述了各个方面,但是这些方面不需要组合使用。相应地,因此,所附权利要求旨在涵盖在本文示出和描述的实施例的范围内的所有此类改变和修改。

现在应该理解的是,本文公开的实施例包括描述了用于校准物料搬运车辆的系统、方法和非暂态计算机可读介质。还应该理解的是,这些实施例仅是示例性的,并非旨在限制本公开的范围。

42页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:机器人拥塞管理

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!