首页> 中国专利> 一种基于十字激光的传感器标定方法、装置及机器人

一种基于十字激光的传感器标定方法、装置及机器人

摘要

本申请提供一种基于十字激光的传感器标定方法、装置及机器人,该方法包括:获取标定块相对于机器人本体的对准后的第一位姿;对于机器人本体上的目标传感器,通过所述目标传感器采集视野范围内的点云数据,所述目标传感器的视野范围内包括所述标定块;基于所述点云数据确定所述标定块相对于所述目标传感器的第二位姿;基于所述第一位姿和所述第二位姿确定所述目标传感器相对于所述机器人本体的目标位姿,为所述目标传感器标定所述目标位姿。通过本申请的技术方案,自动标定传感器相对于机器人本体的位姿,降低位姿的误差,提高位姿准确性,实现位姿精确标定,实现多传感器的一起标定。

著录项

  • 公开/公告号CN115655331A

    专利类型发明专利

  • 公开/公告日2023-01-31

    原文格式PDF

  • 申请/专利权人 杭州海康机器人股份有限公司;

    申请/专利号CN202211275579.3

  • 发明设计人 殷如廷;时新宇;

    申请日2022-10-18

  • 分类号G01D18/00;G01B11/00;

  • 代理机构北京博思佳知识产权代理有限公司;

  • 代理人杨春香

  • 地址 310051 浙江省杭州市滨江区丹枫路399号2号楼B楼304室

  • 入库时间 2023-06-19 18:29:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-31

    公开

    发明专利申请公布

说明书

技术领域

本申请涉及机器人传感器的标定技术领域,尤其是涉及一种基于十字激光的传感器标定方法、装置及机器人。

背景技术

近年来,各种类型的机器人(如移动机器人),在技术和市场方面发展迅速,机器人是自动执行工作的机器装置,是依靠自身动力和控制能力来实现各种功能的机器。机器人可以接受人类指挥,可以运行预先编排的程序,还可以根据以人工智能制定的策略行动。比如说,用户使用手动遥控器控制机器人执行相关操作,如手动遥控器通过无线方式向机器人下发操作命令,机器人在接收到操作命令之后,执行该操作命令指定的操作,完成相关功能。

机器人上通常会部署多个传感器,通过每个传感器采集传感器数据,并基于这些传感器采集的传感器数据对机器人进行控制。比如说,机器人上可以部署激光雷达,可以通过激光雷达采集激光数据,可以基于激光数据控制机器人的行驶路线,可以基于激光数据发现行驶路线上的障碍物等。其中,在采用传感器数据对机器人进行控制之前,还需要预先标定传感器相对于机器人本体的位姿,这样,在该位姿的基础上,采用传感器数据对机器人进行控制。

为了标定传感器相对于机器人本体的位姿,需要用户手工标定该位姿,需要额外增加用户工作量,由于用户经验等原因导致该位姿可能存在误差,即位姿可能并不准确。而且,在机器人本体上存在多个传感器时,需要用户依次标定每个传感器相对于机器人本体的位姿,用户工作量很大。

发明内容

本申请提供一种基于十字激光的传感器标定方法,目标场景中放置有十字激光、标定块和机器人本体,所述机器人本体上部署有至少一个传感器,在所述十字激光发射十字激光线时,基于所述十字激光线将所述机器人本体与所述标定块对齐,所述方法包括:

获取所述标定块相对于所述机器人本体的对准后的第一位姿;

对于所述机器人本体上的目标传感器,通过所述目标传感器采集视野范围内的点云数据,所述目标传感器的视野范围内包括所述标定块;

基于所述点云数据确定所述标定块相对于所述目标传感器的第二位姿;

基于所述第一位姿和所述第二位姿确定所述目标传感器相对于所述机器人本体的目标位姿,为所述目标传感器标定所述目标位姿。

本申请提供一种基于十字激光的传感器标定装置,目标场景中放置有十字激光、标定块和机器人本体,所述机器人本体上部署有至少一个传感器,在所述十字激光发射十字激光线时,基于所述十字激光线将所述机器人本体与所述标定块对齐,所述装置包括:

获取模块,用于获取所述标定块相对于所述机器人本体的对准后的第一位姿;

采集模块,用于对于所述机器人本体上的目标传感器,通过所述目标传感器采集视野范围内的点云数据,所述目标传感器的视野范围内包括所述标定块;

确定模块,用于基于所述点云数据确定所述标定块相对于所述目标传感器的第二位姿;基于所述第一位姿和所述第二位姿确定所述目标传感器相对于所述机器人本体的目标位姿,为所述目标传感器标定所述目标位姿。

本申请提供一种机器人,包括机器人本体和至少一个传感器,目标场景中放置有十字激光、标定块和所述机器人,在所述十字激光发射十字激光线时,基于所述十字激光线将所述机器人本体与所述标定块对齐;

其中,所述机器人还包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本申请上述示例的基于十字激光的传感器标定方法。

由以上技术方案可见,本申请实施例中,通过使用十字激光发射十字激光线,从而基于十字激光线将机器人本体与标定块对齐,在机器人本体与标定块对齐的基础上,获取标定块相对于机器人本体的对准后的第一位姿,确定标定块相对于传感器的第二位姿,基于第一位姿和第二位姿确定传感器相对于机器人本体的目标位姿,从而自动标定传感器相对于机器人本体的位姿,而不需要用户手工标定位姿,减少用户标定的工作量,减少位姿的误差,提高位姿准确性。即使机器人本体上存在多个传感器,也可以自动标定每个传感器相对于机器人本体的位姿,减轻用户标定的工作量。通过使用十字激光和标定块,可以实现标定块和机器人本体的精确对齐,且距离灵活可调,使得传感器与机器人本体之间的位姿的精度高,实现位姿的精确标定,适用于三维传感器和二维传感器的标定,可以实现多传感器的一起标定。

附图说明

为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。

图1是本申请一种实施方式中的基于十字激光的传感器标定方法流程图;

图2A是本申请一种实施方式中的机器人本体与标定块对齐的示意图;

图2B和图2C是本申请一种实施方式中的标定块的已配置刻度的示意图;

图3是本申请一种实施方式中的基于十字激光的传感器标定方法流程图;

图4A是本申请一种实施方式中的视野范围内点云数据的示意图;

图4B是本申请一种实施方式中的用于拟合平面的地面点的示意图;

图5A是本申请一种实施方式中的地面坐标系下的二维位置数据的示意图;

图5B是本申请一种实施方式中的拟合目标直线的示意图;

图6是本申请一种实施方式中的基于十字激光的传感器标定装置结构图;

图7是本申请一种实施方式中的机器人的硬件结构图。

具体实施方式

在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本申请实施例中提出一种基于十字激光的传感器标定方法,目标场景中放置有十字激光、标定块和机器人本体,该方法可以应用于机器人(如移动机器人),机器人包括机器人本体、部署在机器人本体上的至少一个传感器。

示例性的,在十字激光发射十字激光线时,可以基于十字激光线将机器人本体与标定块(如凹字形标定块)对齐。比如说,十字激光线可以包括横向激光线和竖向激光线,且横向激光线与竖向激光线垂直。在基于十字激光线将机器人本体与标定块对齐时,可以通过移动十字激光,以使竖向激光线(即十字激光线中的竖向激光线)穿过机器人本体的前边沿中心和后边沿中心,从而将十字激光与机器人本体对齐。可以通过移动标定块,以使竖向激光线(即十字激光线中的竖向激光线)对准标定块上的第一已配置刻度,并使横向激光线(即十字激光线中的横向激光线)对准标定块上的第二已配置刻度,从而将十字激光与标定块对齐;其中,第一已配置刻度为标定块的横向指定位置(如横向中心位置),第二已配置刻度为标定块的纵向指定位置(如纵向中心位置)。在将十字激光与机器人本体对齐,且将十字激光与标定块对齐之后,就可以将机器人本体与标定块对齐,在机器人本体与标定块对齐的基础上,可以执行传感器标定过程,即采用本申请实施例的标定方法实现传感器标定。

参见图1所示,为基于十字激光的传感器标定方法的流程图,该方法包括:

步骤101、获取标定块相对于机器人本体的对准后的第一位姿。

示例性的,在机器人本体与标定块对齐的基础上,机器人本体的方向与标定块的方向一致,因此,标定块相对于机器人本体的旋转矩阵可以为单位矩阵。关于标定块相对于机器人本体的位移向量,该位移向量对应位置偏差x、位置偏差y和位置偏差z,位置偏差y和位置偏差z均为0,位置偏差x可以通过卷尺测量(即通过人工测量),综上所述,可以得到标定块相对于机器人本体的位移向量。基于标定块相对于机器人本体的旋转矩阵、标定块相对于机器人本体的位移向量,就可以得到标定块相对于机器人本体的第一位姿。

步骤102、对于机器人本体上的目标传感器(即机器人本体上的任一传感器,为了区分方便,将当前待标定的传感器记为目标传感器),通过目标传感器采集视野范围内的点云数据,目标传感器的视野范围内包括标定块。

步骤103、基于该点云数据确定标定块相对于目标传感器的第二位姿。

示例性的,可以基于该点云数据确定地面坐标系相对于传感器坐标系的第三位姿;基于该点云数据确定地面坐标系相对于标定块坐标系的第四位姿;基于该第三位姿和该第四位姿,确定标定块相对于目标传感器的第二位姿。

示例性的,基于该点云数据确定地面坐标系相对于传感器坐标系的第三位姿,可以包括但不限于:从所有点云数据中选取出用于拟合平面的地面点对应的目标点云数据,且该地面点位于目标传感器与标定块之间;基于目标点云数据确定地面坐标系对应的第一控制参数;基于第一控制参数确定地面坐标系相对于传感器坐标系的旋转矩阵;基于第一控制参数确定地面坐标系相对于传感器坐标系的位移向量;基于该旋转矩阵和该位移向量确定第三位姿。

示例性的,基于该点云数据确定地面坐标系相对于标定块坐标系的第四位姿,可以包括但不限于:基于点云数据确定地面坐标系下的二维位置数据,并从所有二维位置数据中选取出标定块的后边界点对应的目标二维位置数据;基于目标二维位置数据拟合标定块对应的目标直线;基于该目标直线对应的第二控制参数确定地面坐标系相对于标定块坐标系的旋转矩阵,并基于该目标直线对应的中心点坐标确定地面坐标系相对于标定块坐标系的位移向量;基于该旋转矩阵和该位移向量确定地面坐标系相对于标定块坐标系的第四位姿。

示例性的,基于点云数据确定地面坐标系下的二维位置数据,可以包括但不限于:若目标传感器为三维传感器,点云数据为三维位置数据,则从所有三维位置数据中筛选出除地面点之外的三维位置数据,并将筛选后的三维位置数据投影到地面,得到地面坐标系下的二维位置数据;或者,若目标传感器为二维传感器,点云数据为二维位置数据,则基于点云数据确定地面坐标系下的二维位置数据,即将点云数据作为地面坐标系下的二维位置数据。

步骤104、基于该第一位姿和该第二位姿确定目标传感器相对于机器人本体的目标位姿,并为目标传感器标定目标位姿,完成目标传感器的位姿标定。

示例性的,基于该第一位姿和该第二位姿确定目标传感器相对于机器人本体的目标位姿,可以包括但不限于:基于如下公式确定目标传感器相对于机器人本体的目标位姿:T

由以上技术方案可见,本申请实施例中,通过使用十字激光发射十字激光线,从而基于十字激光线将机器人本体与标定块对齐,在机器人本体与标定块对齐的基础上,获取标定块相对于机器人本体的对准后的第一位姿,确定标定块相对于传感器的第二位姿,基于第一位姿和第二位姿确定传感器相对于机器人本体的目标位姿,从而自动标定传感器相对于机器人本体的位姿,而不需要用户手工标定位姿,减少用户标定的工作量,减少位姿的误差,提高位姿准确性。即使机器人本体上存在多个传感器,也可以自动标定每个传感器相对于机器人本体的位姿,减轻用户标定的工作量。通过使用十字激光和标定块,可以实现标定块和机器人本体的精确对齐,且距离灵活可调,使得传感器与机器人本体之间的位姿的精度高,实现位姿的精确标定,适用于三维传感器和二维传感器的标定,可以实现多传感器的一起标定。

以下结合具体应用场景,对本申请实施例的上述技术方案进行说明。

机器人(如移动机器人)是自动执行工作的机器装置,是依靠自身动力和控制能力来实现各种功能的机器,对此机器人的类型不做限制,比如说,机器人可以是具有车辆搬运功能的泊车机器人、具有货物搬运功能的运货机器人等。

机器人可以包括机器人本体(可以将除传感器之外的部分称为机器人本体)、部署在机器人本体上的至少一个传感器,即机器人本体上可以部署多个传感器,如3D激光雷达、双目相机、单线激光雷达等传感器,对此传感器的类型不做限制。在机器人本体上部署多个传感器时,需要预先标定每个传感器相对于机器人本体的位姿,即完成传感器的标定工作。为了完成传感器的标定工作,本实施例中,需要借助十字激光和标定块完成传感器的标定工作。

示例性的,传感器相对于机器人本体的位姿可以记为T

示例性的,可以由用户手工标定传感器相对于机器人本体的位姿,但该方式需要额外增加用户工作量,且位姿可能存在误差,即位姿可能并不准确。

针对上述发现,本实施例中,可以由十字激光发射十字激光线,从而基于十字激光线将机器人本体与标定块对齐(即将机器人本体与标定块对准),在机器人本体与标定块对齐的基础上,采用尺子进行测量得到标定块相对于机器人本体的第一位姿,通过算法处理传感器数据(即传感器采集的点云数据)得到标定块相对于传感器的第二位姿,最终基于第一位姿和第二位姿计算传感器相对于机器人本体的目标位姿,完成传感器的精确标定。上述方式能够自动标定传感器相对于机器人本体的位姿,不需要用户手工标定位姿,减少用户标定工作量,减少位姿的误差,提高位姿准确性。

示例性的,可以在目标场景中放置一个十字激光和一个标定块,该十字激光能够发射十字激光线,该标定块可以是凹字形标定块,也可以是其它形状的标定块,对此标定块的形状不做限制,后续以凹字形标定块为例进行说明。参见图2A所示,为凹字形标定块的一个示意图。

示例性的,可以将机器人本体与标定块对齐(即将机器人本体与标定块对准),比如说,通过十字激光发射十字激光线,从而基于十字激光线将机器人本体与标定块对齐。参见图2A所示,示出了机器人本体与标定块对齐的示意图。其中,标定块为带有刻度(刻度也可以称为刻线)的凹字形标定块,通过十字激光和带有刻线的凹字形标定块,方便地实现机器人本体与标定块之间的对齐。

示例性的,为了将机器人本体与标定块对齐,可以采用如下方式:

将十字激光与机器人本体对齐。参见图2A所示,在通过十字激光发射十字激光线时,十字激光线可以包括横向激光线和竖向激光线,且横向激光线与竖向激光线垂直,在此基础上,可以通过移动十字激光,以使竖向激光线穿过机器人本体的前边沿中心和后边沿中心,从而将十字激光与机器人本体对齐。

将十字激光与标定块对齐。参见图2A所示,在通过十字激光发射十字激光线时,十字激光线可以包括横向激光线和竖向激光线,且横向激光线与竖向激光线垂直,在此基础上,可以通过移动标定块,以使竖向激光线对准标定块上的第一已配置刻度,并使横向激光线对准标定块上的第二已配置刻度,从而将十字激光与标定块对齐。其中,第一已配置刻度为标定块的横向指定位置(如横向中心位置),第二已配置刻度为标定块的纵向指定位置(如纵向中心位置)。

参见图2B所示,示出了标定块(如凹字形标定块)的第一已配置刻度和第二已配置刻度,第一已配置刻度为标定块的横向中心位置(即在横向中心位置标记出刻线),第二已配置刻度为标定块的纵向中心位置(即在纵向中心位置标记出刻线),通过移动标定块的位置,使得竖向激光线对准标定块上的第一已配置刻度(即图2B中的虚线表示激光线,纵向虚线表示竖向激光线),使得横向激光线对准标定块上的第二已配置刻度(横向虚线表示横向激光线)。显然,在竖向激光线对准第一已配置刻度、横向激光线对准第二已配置刻度的基础上,就可以将十字激光与标定块对齐,即实现十字激光与标定块的对齐。

需要说明的是,凹字形标定块只是一个示例,本实施例中并不局限于凹字形标定块,还可以是凹字形标定块的变种形状,对此不做限制。比如说,针对图2B所示的凹字形标定块,其变种形状可以参见图2C所示。

参见图2B所示,还示出了标定块坐标系,标定块坐标系的原点在地面上,且标定块坐标系的原点在标定块后边界中心,z轴竖直向上,x、y轴如2B所示。

在将十字激光与机器人本体对齐,且将十字激光与标定块对齐之后,就可以将机器人本体与标定块对齐,在机器人本体与标定块对齐的基础上,可以执行传感器标定过程,即采用本申请实施例的标定方法实现传感器标定。

在上述应用场景下,本申请实施例中提出一种基于十字激光的传感器标定方法,可以应用于机器人,机器人包括机器人本体、部署在机器人本体上的至少一个传感器。参见图3所示,为该方法的流程图,该方法包括:

步骤301、获取标定块相对于机器人本体的第一位姿。

示例性的,在机器人本体与标定块对齐的基础上,机器人本体的方向与标定块的方向一致,因此,标定块相对于机器人本体的旋转矩阵可以为单位矩阵。关于标定块相对于机器人本体的位移向量,该位移向量对应位置偏差x、位置偏差y和位置偏差z,位置偏差y和位置偏差z均为0,位置偏差x可以通过卷尺测量(即通过人工测量),综上所述,可以得到标定块相对于机器人本体的位移向量。基于标定块相对于机器人本体的旋转矩阵、标定块相对于机器人本体的位移向量,就可以得到标定块相对于机器人本体的第一位姿。

示例性的,将标定块记为标定块b,将机器人本体记为机器人本体r,将标定块相对于机器人本体的第一位姿记为T

步骤302、将机器人本体上的每一待标定传感器记为目标传感器,对于机器人本体上的目标传感器,通过目标传感器采集视野范围内的点云数据,在采集视野范围内的点云数据时,目标传感器的视野范围内需要包括标定块。

示例性的,对于机器人本体上的目标传感器,可以在机器人本体的静止状态下,通过目标传感器采集视野范围内的传感器数据,该传感器数据可以包括点云数据,点云数据是指三维坐标中的一组向量集合,以点的形式记录,每一个点包含有三维坐标,有些可能含有颜色信息(RGB)或反射强度信息(Intensity)。

在目标传感器采集视野范围内的点云数据时,目标传感器的视野范围内需要包括标定块,也就是说,视野范围内的点云数据可以包括标定块对应的点云数据,即视野范围内的点云数据包括标定块所在位置的各个点的点云数据。

在得到视野范围内的点云数据之后,就可以基于该点云数据确定标定块相对于目标传感器的第二位姿,比如说,将标定块记为标定块b,将目标传感器记为目标传感器s,将标定块相对于目标传感器的第二位姿记为T

步骤303、基于该点云数据确定地面坐标系相对于传感器坐标系的第三位姿。

在一种可能的实施方式中,为了确定地面坐标系相对于传感器坐标系的第三位姿,可以采用如下步骤,当然,这里只是确定第三位姿的一个示例,对此确定方式不做限制,只要能够基于该点云数据确定出第三位姿即可。

步骤3031、从所有点云数据中选取出用于拟合平面的地面点(如多个地面点)对应的目标点云数据,且这些地面点位于目标传感器与标定块之间。

示例性的,参见图4A所示,为目标传感器的视野范围内点云数据的示意图,为了建立地面坐标系g,基于标定块的位置,可以从所有点云数据中选取出地面点对应的目标点云数据(为了区分方便,将地面点对应的点云数据称为目标点云数据)。首先,目标点云数据是地面点对应的点云数据,如图4A中线框内的地面点,这些地面点是用于拟合平面的地面点。其次,根据标定块的位置,目标点云数据是位于目标传感器与标定块之间的地面对应的点云数据。

参见图4B所示,示出了用于拟合平面的地面点的示意图,在步骤3031中,需要从所有点云数据中选取出这些地面点对应的目标点云数据。

步骤3032、基于目标点云数据确定地面坐标系对应的第一控制参数。

示例性的,可以选取地面点进行平面拟合,在拟合完后,可以得到地面方程为:ax+by+cz+d=0,在上述地面方程中,a、b、c、d可以称为地面坐标系对应的第一控制参数,在第一控制参数中,c不为0,且a

由于目标点云数据包括三维坐标,即每个地面点均对应x、y、z,因此,基于多个地面点对应的多个目标点云数据,就可以得到多个三维坐标,在将这些三维坐标代入上述地面方程之后,就可以得到a、b、c、d的取值,因此,可以基于多个地面点对应的目标点云数据确定地面坐标系对应的第一控制参数。

步骤3033、基于第一控制参数确定地面坐标系相对于传感器坐标系的旋转矩阵,即基于a、b、c、d确定地面坐标系相对于传感器坐标系的旋转矩阵。

示例性的,将地面坐标系记为地面坐标系g,将传感器坐标系(即目标传感器对应的坐标系)记为传感器坐标系s,将地面坐标系g相对于传感器坐标系s的旋转矩阵记为旋转矩阵Rsg,即地面坐标系g相对于传感器坐标系s的旋转可以为Rsg,那么,

综上可以看出,在已知第一控制参数的基础上,即已知a、b、c的基础上,可以基于第一控制参数中的a、b、c确定地面坐标系g相对于传感器坐标系s的旋转矩阵R

步骤3034、基于第一控制参数确定地面坐标系相对于传感器坐标系的位移向量,即基于a、b、c、d确定地面坐标系相对于传感器坐标系的位移向量。

示例性的,将地面坐标系记为地面坐标系g,将传感器坐标系记为传感器坐标系s,将地面坐标系g相对于传感器坐标系s的位移向量记为位移向量t

综上可以看出,在已知第一控制参数的基础上,即已知c、d的基础上,可以基于第一控制参数中的c、d确定地面坐标系g相对于传感器坐标系s的位移向量t

步骤3035、基于地面坐标系相对于传感器坐标系的旋转矩阵、地面坐标系相对于传感器坐标系的位移向量,确定地面坐标系相对于传感器坐标系的第三位姿。

比如说,将地面坐标系g相对于传感器坐标系s的第三位姿记为t

至此,完成步骤303,得到地面坐标系相对于传感器坐标系的第三位姿。

步骤304、基于该点云数据确定地面坐标系相对于标定块坐标系的第四位姿。

在一种可能的实施方式中,为了确定地面坐标系相对于标定块坐标系的第四位姿,可以采用如下步骤,当然,这里只是确定第四位姿的一个示例,对此确定方式不做限制,只要能够基于该点云数据确定出第四位姿即可。

步骤3041、基于点云数据确定地面坐标系下的二维位置数据,并从所有二维位置数据中选取出标定块的后边界点对应的目标二维位置数据。

示例性的,若目标传感器为三维传感器(如三维激光雷达、双目相机等三维传感器),则目标传感器采集的点云数据为三维位置数据,在此基础上,可以从所有三维位置数据(即所有点云数据)中筛选出除地面点之外的三维位置数据,比如说,对所有三维位置数据进行高度筛选(也称为高度截取),以滤除地面点对应的三维位置数据,得到除地面点之外的三维位置数据。

在得到除地面点之外的三维位置数据之后,可以将筛选后的三维位置数据投影到地面,得到地面坐标系下的二维位置数据,即形成二维点云数据。基于上述处理,可以将三维位置数据由传感器坐标系s转换到地面坐标系g下。

在得到地面坐标系下的二维位置数据之后,可以从所有二维位置数据中选取出标定块的后边界点对应的目标二维位置数据(为了区分方便,将标定块的后边界点对应的二维位置数据称为目标二维位置数据)。参见图5A所示,示出了地面坐标系下的所有二维位置数据,并从这些二维位置数据中选取出标定块的后边界点对应的目标二维位置数据,图5A中框内的点为标定块的后边界点。

示例性的,若目标传感器为三维传感器,则目标传感器采集的点云数据为三维位置数据,在此基础上,可以从所有三维位置数据中选取出标定块的后边界点对应的候选三维位置数据(为区分方便,将标定块的后边界点对应的三维位置数据称为候选三维位置数据)。在得到标定块的后边界点对应的候选三维位置数据后,从所有候选三维位置数据中筛选出除地面点之外的三维位置数据(记为目标三维位置数据),比如说,对所有候选三维位置数据进行高度筛选,以滤除地面点对应的三维位置数据,得到除地面点之外的目标三维位置数据。

在得到除地面点之外的目标三维位置数据之后,可以将目标三维位置数据投影到地面(即投影到x-y平面),得到地面坐标系下的二维位置数据,显然,这些二维位置数据也就是标定块的后边界点对应的目标二维位置数据。

示例性的,若目标传感器为二维传感器(如二维激光雷达等二维传感器),则目标传感器采集的点云数据为二维位置数据,在此基础上,可以基于目标传感器采集的点云数据确定地面坐标系下的二维位置数据,比如说,直接将该点云数据作为地面坐标系下的二维位置数据,即x-y平面下的二维位置数据。

在得到地面坐标系下的二维位置数据之后,可以从所有二维位置数据中选取出标定块的后边界点对应的目标二维位置数据。参见图5A所示,示出了地面坐标系下的所有二维位置数据,并从这些二维位置数据中选取出标定块的后边界点对应的目标二维位置数据,图5A中框内的点为标定块的后边界点。

综上所述,可以选取出标定块的后边界点对应的目标二维位置数据,基于标定块的后边界点对应的目标二维位置数据,就可以确定出地面坐标系相对于标定块坐标系的第四位姿,第四位姿的确定方式可以参见后续步骤。

步骤3042、基于目标二维位置数据拟合标定块对应的目标直线。

示例性的,在得到标定块的后边界点对应的目标二维位置数据之后,可以基于这些目标二维位置数据拟合出标定块对应的目标直线。比如说,目标二维位置数据可以为(x,y)坐标点,由于标定块存在多个后边界点,而多个后边界点就对应多个(x,y)坐标点,因此,基于这些(x,y)坐标点拟合出标定块对应的目标直线。如基于多个(x,y)坐标点,可以采用RANSAC(RANdom SAmple Consensus,随机抽样一致)等算法拟合目标直线,对此拟合方式不做限制。参见图5B所示,示出了基于目标二维位置数据拟合的目标直线的示例。

比如说,在目标直线拟合完成之后,可以得到如下直线方程:a′x+b′yc′=0,在上述直线方程中,a′、b′、c′可以称为目标直线对应的第二控制参数,在第二控制参数中,a′

由于目标二维位置数据为(x,y)坐标点,即标定块的每个后边界点均对应x、y,因此,基于标定块的后边界点对应的目标二维位置数据,就可以得到多个(x,y)坐标点,在将这些(x,y)坐标点代入上述直线方程之后,就可以得到a′、b′、c′的取值,也就是拟合出标定块对应的目标直线。

步骤3043、基于目标直线对应的第二控制参数确定地面坐标系相对于标定块坐标系的旋转矩阵,也就是说,可以基于a′、b′、c′确定该旋转矩阵。

示例性的,将地面坐标系记为地面坐标系g,将标定块坐标系(标定块对应的坐标系)记为标定块坐标系b,将地面坐标系g相对于标定块坐标系b的旋转矩阵记为旋转矩阵R

在已知第二控制参数的基础上,即已知a′、b′、c′的基础上,可以基于第二控制参数中的a′、b′确定地面坐标系g相对于标定块坐标系b的旋转矩阵R

步骤3044、基于目标直线对应的中心点坐标(即已知目标直线的基础上,可以获知该中心点坐标)确定地面坐标系相对于标定块坐标系的位移向量。

示例性的,将地面坐标系记为地面坐标系g,将标定块坐标系记为标定块坐标系b,将地面坐标系g相对于标定块坐标系b的位移向量记为位移向量t

综上可以看出,在已知目标直线对应的中心点坐标[x

步骤3045、基于地面坐标系相对于标定块坐标系的旋转矩阵、地面坐标系相对于标定块坐标系的位移向量,确定地面坐标系相对于标定块坐标系的第四位姿。

比如说,将地面坐标系g相对于标定块坐标系b的第四位姿记为T

至此,完成步骤304,得到地面坐标系相对于标定块坐标系的第四位姿。

步骤305、基于地面坐标系相对于传感器坐标系的第三位姿、地面坐标系相对于标定块坐标系的第四位姿,确定标定块相对于目标传感器的第二位姿。

比如说,可以采用如下公式确定标定块(对应标定块坐标系b)相对于目标传感器(对应传感器坐标系s)的第二位姿:T

在上述公式中,T

步骤306、基于标定块相对于机器人本体的第一位姿、标定块相对于目标传感器的第二位姿,确定目标传感器相对于机器人本体的目标位姿。

比如说,可以采用如下公式确定目标传感器相对于机器人本体的目标位姿:T

在得到目标传感器相对于机器人本体的目标位姿之后,就可以为目标传感器标定该目标位姿,完成目标传感器的位姿标定,对此标定过程不再赘述。

由以上技术方案可见,本申请实施例中,可以基于十字激光线将机器人本体与标定块对齐,在机器人本体与标定块对齐的基础上,获取标定块相对于机器人本体的第一位姿,确定标定块相对于传感器的第二位姿,基于第一位姿和第二位姿确定传感器相对于机器人本体的目标位姿,从而自动标定传感器相对于机器人本体的位姿,而不需要用户手工标定位姿,减少用户标定的工作量,降低位姿的误差,提高位姿准确性。即使机器人本体上存在多个传感器,也可以自动标定每个传感器相对于机器人本体的位姿,减轻用户标定的工作量。通过使用十字激光和标定块,可以实现标定块和机器人本体的精确对齐,且距离灵活可调,使得传感器相对于机器人本体的位姿的精度高,实现位姿的精确标定,适用于三维传感器和二维传感器的标定,可以实现多传感器的一起标定。通过借助地面拟合先标定高度z,俯仰角和滚转角,再标定x、y、偏航角,精度高,且单帧就能实现标定,操作简单。不仅适用于三维传感器(如三维激光雷达、双目相机)的标定,也适用于二维传感器(如二维激光雷达)的标定。

基于与上述方法同样的申请构思,本申请实施例中提出一种基于十字激光的传感器标定装置,目标场景中放置有十字激光、标定块和机器人本体,所述机器人本体上部署有至少一个传感器,在所述十字激光发射十字激光线时,基于所述十字激光线将所述机器人本体与所述标定块对齐,参见图6所示,为所述装置的结构示意图,所述装置可以包括:

获取模块61,用于获取所述标定块相对于所述机器人本体的对准后的第一位姿;

采集模块62,用于对于所述机器人本体上的目标传感器,通过所述目标传感器采集视野范围内的点云数据,所述目标传感器的视野范围内包括所述标定块;

确定模块63,用于基于所述点云数据确定所述标定块相对于所述目标传感器的第二位姿;基于所述第一位姿和所述第二位姿确定所述目标传感器相对于所述机器人本体的目标位姿,为所述目标传感器标定所述目标位姿。

示例性的,所述十字激光线包括横向激光线和竖向激光线,且所述横向激光线与所述竖向激光线垂直;所述基于所述十字激光线将所述机器人本体与标定块对齐,包括:通过移动所述十字激光,以使所述竖向激光线穿过所述机器人本体的前边沿中心和后边沿中心,以将所述十字激光与所述机器人本体对齐;通过移动所述标定块,以使所述竖向激光线对准所述标定块上的第一已配置刻度,使所述横向激光线对准所述标定块上的第二已配置刻度,以将所述十字激光与所述标定块对齐;其中,所述第一已配置刻度为所述标定块的横向指定位置,所述第二已配置刻度为所述标定块的纵向指定位置。

示例性的,所述确定模块63基于所述点云数据确定所述标定块相对于所述目标传感器的第二位姿时具体用于:基于所述点云数据确定地面坐标系相对于传感器坐标系的第三位姿;基于所述点云数据确定地面坐标系相对于标定块坐标系的第四位姿;基于所述第三位姿和所述第四位姿,确定所述第二位姿。

示例性的,所述确定模块63基于所述点云数据确定地面坐标系相对于传感器坐标系的第三位姿时具体用于:从所有点云数据中选取出用于拟合平面的地面点对应的目标点云数据,且所述地面点位于所述目标传感器与所述标定块之间;基于所述目标点云数据确定地面坐标系对应的第一控制参数;基于所述第一控制参数确定地面坐标系相对于传感器坐标系的旋转矩阵;基于所述第一控制参数确定地面坐标系相对于传感器坐标系的位移向量;基于所述旋转矩阵和所述位移向量确定所述第三位姿。

示例性的,所述确定模块63基于所述点云数据确定地面坐标系相对于标定块坐标系的第四位姿时具体用于:基于所述点云数据确定地面坐标系下的二维位置数据,从所有二维位置数据中选取出所述标定块的后边界点对应的目标二维位置数据;基于所述目标二维位置数据拟合所述标定块对应的目标直线;基于所述目标直线对应的第二控制参数确定所述地面坐标系相对于所述标定块坐标系的旋转矩阵,并基于所述目标直线对应的中心点坐标确定所述地面坐标系相对于所述标定块坐标系的位移向量;基于所述旋转矩阵和所述位移向量确定所述第四位姿。

示例性的,所述确定模块63基于所述点云数据确定地面坐标系下的二维位置数据时具体用于:若所述目标传感器为三维传感器,所述点云数据为三维位置数据,则从所有三维位置数据中筛选出除地面点之外的三维位置数据,并将筛选后的三维位置数据投影到地面,得到所述地面坐标系下的二维位置数据;或者,若所述目标传感器为二维传感器,所述点云数据为二维位置数据,则基于所述点云数据确定所述地面坐标系下的二维位置数据。

示例性的,所述确定模块63基于所述第一位姿和所述第二位姿确定所述目标传感器相对于所述机器人本体的目标位姿时具体用于:基于如下公式确定所述目标传感器相对于所述机器人本体的目标位姿:T

基于与上述方法同样的申请构思,本申请实施例中提出一种机器人,所述机器人包括机器人本体和至少一个传感器,目标场景中放置有十字激光、标定块和所述机器人,在所述十字激光发射十字激光线时,基于所述十字激光线将所述机器人本体与所述标定块对齐。参见图7所示,所述机器人还包括处理器71和机器可读存储介质72,机器可读存储介质72存储有能够被处理器71执行的机器可执行指令;处理器71用于执行机器可执行指令,以实现本申请上述示例公开的基于十字激光的传感器标定方法。

基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的基于十字激光的传感器标定方法。

其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号