1.本发明属于机器人技术领域,涉及机器人的手眼标定,为一种基于激光相机的机械臂手眼标定方法及装置。
背景技术:2.机器人具有多关节多自由度机械臂,通过控制机械臂末端的位置进行相关作业。现有技术中,一般通过机器视觉来判断机器人的空间位置,为了使得相机(即机器人的眼)与机械臂末端(即机器人的手)坐标系之间建立关系,就需要对机器人机械臂与相机坐标系进行标定,该标定过程也就叫做手眼标定。
3.通常机器人的手眼关系分为eye-in-hand以及eye-to-hand两种,其中eye-in-hand是眼在手上,机器人的视觉系统随着机械臂末端运动;而eye-to-hand是眼在手旁,机器人的视觉系统与机器人基座位置相对固定,不会在世界坐标系内运动。eye-in-hand这种关系下,相机设置在机械臂末端,标定板设置在机器人旁固定位置,机器人底座和标定板的位置关系始终不变,求解的量为相机和机械臂末端坐标系的位姿关系。eye-to-hand这种关系下,标定板设置在机械臂末端,相机设置在机器人旁固定位置,机械臂末端和标定板的位姿关系始终不变,求解的量为相机和机器人底座坐标系之间的位姿关系。而不论是哪种标定方式,在求解位姿关系时,都需要让机械臂运动,从而改变相机或标定板的位置,进而构建不同坐标系位姿的求解矩阵,这就需要较大的场地来方便机械臂的运动。同时,由于上述两种标定方式都依赖机械臂的运动来改变相机和标定板之间的位置关系从而构建位姿求解矩阵,在机械臂移动过程中,通过获取机械臂末端执行器的位姿数据来作为位姿求解矩阵的参数,则会因为机械臂自身装配误差、标定板自身的装配误差等因素,将机械臂的自身误差引入标定求解,影响标定的精度。
4.现有技术常见的机械臂手眼标定,是通过相机检测棋盘格的方式来完成的,需要利用rgb图像,这会涉及到相机内参,引入相机内参误差。也有方案利用点云相机来进行手眼标定,在没有rgb图像的情况下,利用icp算法完成3d点云相机的手眼标定。但icp方法需要在较大空间、利用尽可能多的规律物体进行匹配。同时,机械臂也是必然需要运动的,同样会在标定中引入机械臂的自身误差。
5.带电作业机器人是针对配网线路作业的特种机器人,主要在高空中代替人工完成高压线缆搭接和拆卸等一系列高危作业,工作环境为户外且经常变动,现有的机械臂手眼标定方法大多要求机械臂在一个相对稳定的环境中通过变换位姿完成标定,而带电作业机器人需要频繁移动,一方面使用时间长了容易产生机械臂运动误差,另一方面不同的工作环境可能需要更新手眼标定,带电作业机器人的工作环境不适于现有标定方法进行现场标定,如果在现场标定,可能因机械臂的位姿变换影响到周围的线缆。
技术实现要素:6.本发明要解决的问题是:现有技术进行机械臂手眼标定时需要较大场地完成标定
工作,同时由于标定方法的基础原理,会将相机内参或机械臂的自身误差引入标定求解,影响标定精度。尤其是对于带电作业机器人,现有的标定方法要求条件多,不利于带电作业机器人的快速手眼标定。
7.本发明的技术方案为:基于激光相机的机械臂手眼标定方法,在机械臂的末端臂上连接一标定工装,在机械臂基座上设置一激光相机,所述标定工装上设有可变换位姿的标定板,激光相机用于采集标定板的强度图和点云数据,包括以下步骤:
8.1)通过激光相机面向标定板采集点云数据和强度图,由采集的点云数据得到相机坐标系下的点云位置信息p和世界坐标系下的真实点云位置信息q;
9.2)对所得的强度图,提取标定板的特征点,选择不共线的三点作为目标点,同时获取对应目标点的点云位置信息p;
10.3)保持机械臂不动,调节标定板位姿,所述不同位姿包括水平、竖直及深度方向上的位移或旋转,所述调节至少包括一次深度方向上的位移,重复步骤1)2)采集不同位姿下标定板的强度图和点云数据,由获得的目标点的点云位置信息p以及对应位姿下的真实点云位置信息q进行联立,求解得到激光相机和机械臂末端的位姿转换关系,完成手眼标定。
11.进一步的,求解激光相机和机械臂末端的位姿转换关系具体为:
[0012][0013]
其中,下标m1、m2表示标定板的不同位姿,m表示在激光相机与机械臂末端的位姿转换关系,表示在位置m1采集得到真实世界下的点云位置信息,是真实世界下的点云深度数据,表示在位置m1的真实世界下的点云强度数据;
[0014]
由具有不同深度的两个位姿下的标定板点云数据联立求解,得到位姿转换关系m。
[0015]
进一步的,在进行步骤1)2)时,采集n次标定板在同一位姿m的点云数据,并计算得到平均点云信息:
[0016][0017]
其中,p
m,n
表示在位姿m的第n次采集得到的点云数据,pm表示在位姿m的平均点云信息,以平均点云信息作为目标点的相机坐标系点云位置信息参与位姿转换关系的求解。
[0018]
进一步的,所述标定工作包括支架和标定板,支架包括连接件、xyz三向位移平台、旋转平台和标定板夹持件,连接件用于将标定工装连接在机械臂上,标定板夹持件用于固定标定板,xyz三向位移平台及旋转平台用于在水平、竖直及深度方向上对标定板进行位移调节或旋转调节。
[0019]
进一步的,所述机械臂为带电作业机器人的机械臂。
[0020]
本发明还提供一种基于激光相机的机械臂手眼标定装置,包括激光相机、标定工装和标定模块,标定工装配置在机械臂的末端臂上,激光相机配置在机械臂基座上,所述标定工装上设有可变换位姿的标定板,标定模块与激光相机数据连接,所述标定模块包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上
述方法的标定计算步骤,标定模块接收激光相机采集的数据,输出用于手眼标定的位姿转换关系信息。
[0021]
本发明方法全程无需机械臂移动,通过可变换位姿的手眼标定工装,基于激光点云数据,采集少量不同位置下标定板的目标位置信息,即可求解标定关系。本发明直接利用点云数据,而无需借助彩色相机进行标定,减少了对标定环境、标定板的样式、机械臂位姿信息、现实物理世界中固定标定位置的数量、以及机械臂和激光相机误差信息的需求和依赖。本发明将所有需要用到的位置、旋转信息都放在标定工装的设计上,这样避免了机械臂误差信息的引入。
[0022]
同时针对激光相机采集到同一帧数据当中不同位置的点云会存在误差的问题,本发明也提出了相应解决办法。通过多帧中同一个点的三维信息,在每一维上计算平均值。
[0023]
本发明减少现有标定过程中的多个中间过程,无需rgb图像以及机械臂位姿信息,减少机械臂以及点云数据的引入误差,提高了标定精度。本发明尤其适用于带电作业机器人,无需机械臂进行任何动作,且不用考虑机械臂自身误差,在作业现场即可快速完成手眼标定,安全快速可靠。
附图说明
[0024]
图1为本发明方法的流程示意图。
[0025]
图2为本发明方法中,激光相机和标定工装在机械臂上的配置示意图。
[0026]
图3为图2的侧面视图。
[0027]
图4为本发明方法中标定工装的结构示意图。
[0028]
图5为本发明方法中标定板的两种实施例示意图。
具体实施方式
[0029]
本发明提出一种基于机械臂和激光相机的手眼标定方法,目的在于尽可能不引入机械臂的误差,标定环境不受限制;同时将现实物理世界的准确信息也能够导入进点云数据当中来。
[0030]
如图1和图2、3所示,本发明在机械臂的末端臂连接一标定工装,在机械臂基座上设置一激光相机,所述标定工装上设有可变换位姿的标定板,激光相机用于采集标定板的强度图和点云数据,包括以下步骤:
[0031]
1)通过激光相机面向标定板采集点云数据和强度图。本发明采用的激光相机的激光传感器要能够输出激光强度图,激光强度图可以被转换为简单的灰度图,不需要借助彩色相机,减少了标定过程中会引入误差的环节,即相机畸变对标定过程的影响。由采集的点云数据得到相机坐标系下的点云位置信息p和世界坐标系下的真实点云位置信息q。p和真实点云位置信息q所处的坐标系不同,点云位置信息p的坐标系原点在传感器光心位置;真实点云位置信息q的坐标点是在工装标尺的零点,以及标定板平面的左上角。另外,点云位置信息p和真实点云位置信息q的准确度不同,激光打在平面上反射回来的点云数据是凹凸不平的;真实世界的点云数据本身就是个平面。
[0032]
2)对所得的强度图,提取标定板的特征点,选择不共线的三点作为目标点,同时获取对应目标点的点云位置信息p。特征点的选取一般为标定板的圆心,或者角点。这些点由
于颜色特征、尺寸信息极为明显等原因,因此容易作为后续处理的目标点。
[0033]
3)保持机械臂不动,调节标定板位姿,所述不同位姿包括水平、竖直及深度方向上的位移或旋转,这里的水平竖直和深度,是指以相机所面向的平面为水平竖直平面,与这个平面垂直的为深度。所述调节至少包括一次深度方向上的位移,重复步骤1)2)采集不同位姿下标定板的强度图和点云数据,由获得的目标点的点云位置信息p以及对应位姿下的真实点云位置信息q进行联立,以不同位姿下采集的点云信息做减法,求解得到激光相机和机械臂末端的位姿转换关系,完成手眼标定。本发明方法中,机械臂仅仅是为了作为一个连接件进行使用,标定过程中是绝对不能动的,避免了机械臂工装误差以及机械臂控制误差的在标定过程中的引入。
[0034]
为了进一步减少点云数据存在误差的影响,本发明在不同两帧之间做减法,同时将深度上的数据、点云强度图上的数据作为准确的信息,最终得到转换矩阵求解的方法。利用点云信息求解激光相机和机械臂末端的位姿转换关系具体为:
[0035][0036]
其中,下标m1、m2表示标定板的不同位姿,m表示在激光相机与机械臂末端的位姿转换关系,表示在位置m1采集得到真实世界下的点云位置信息,是真实世界下的点云深度数据,表示在位置m1的真实世界下的点云强度数据;由具有不同深度的两个位姿下的标定板点云数据联立求解,得到位姿转换关系m。
[0037]
根据上式,由点云强度图和点云深度数据求解得到m。
[0038][0039]
r指的是旋转矩阵,由三个坐标轴的旋转矩阵相乘得到。t指的是平移向量,分别指在三个方向上平移距离。
[0040]
相比现有技术,本发明不需要获取机械臂末端执行器的位姿数据,将所有需要用到的位置、旋转信息都放在标定工装的设计上,这样可以不将机械臂的误差信息引入。现有技术需要调整机械臂的六自由度位姿,本发明仅需要至少在“深度”上平移一次即可。现有eye-to-hand标定需要采集同一个点在不同位姿下的数据作为标定数据,本发明选取每一帧中不共线的三个点即可,即标定过程中的目标点。
[0041]
进一步的,在进行步骤1)2)时,采集n次标定板在同一位置m的点云数据,并计算得到平均点云信息:
[0042][0043]
其中,p
m,n
表示在位姿m的第n次采集得到的点云数据,pm表示在位姿m的平均点云信息,以平均点云信息作为目标点的点云位置信息参与位姿转换关系的求解。本发明利用激光点云数据进行手眼标定,相比现有借助彩色相机采集rgb图像的标定方法,无需获取相
机内参,实现了标定流程的简化。但是这样也可能会引入点云数据的误差,所以本发明采用计算平均值的做法减少点云数据的误差影响,点云当中每个点的信息是三维的,因此是将激光相机采集的多帧中对应同一个点的三维信息,在每一维上计算平均值。
[0044]
如图4所示的一个实施例,本发明的标定工作包括支架和标定板,支架包括连接件、xyz三向位移平台、旋转平台和标定板夹持件,连接件用于将标定工装连接在机械臂上,标定板夹持件用于固定标定板,xyz三向位移平台及旋转平台用于在水平、竖直及深度方向上对标定板进行位移调节或旋转调节。在这一结构下,标定工装的工艺要求为标定板的夹持件数量尽可能少,整体稳定性高,以及位移和旋转调节的误差小。
[0045]
如图5所示,本发明对标定板的形式也无特别要求,常用的棋盘格或圆孔标定板皆可。
[0046]
本发明还提供一种基于激光相机的机械臂手眼标定装置,包括激光相机、标定工装和标定模块,标定工装配置在机械臂的末端臂上,激光相机配置在机械臂基座上,所述标定工装上设有可变换位姿的标定板,标定模块与激光相机数据连接,所述标定模块包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的标定计算步骤,标定模块接收激光相机采集的数据,输出用于手眼标定的位姿转换关系信息。
[0047]
本发明整个标定过程不需要机械臂误差信息、传感器误差信息,不需要机械臂位姿信息或相机内参,这是本发明区别与现有技术的关键,本发明将误差控制在设计的标定工装中,仅利用深度方向上精度要求高的工装即可完成标定工作,对标定环境场地没有特别要求,对于深度方向上的位移或旋转精度,视手眼标定的精度以及工装能够设计出的精度而定。例如,目前的机器人应用上,如果工装精度在深度上的精度达到0.1mm,那我们手眼标定出来的精度就能够达到毫米级别。本发明偏向于eye-to-hand这种标定方式,都是相机不动,但现有eye-to-hand标定技术通过机械臂自身读取位姿信息,来带出标定板信息,这自然会引入手臂误差,现有技术大多忽略了这一误差,本发明方法隔绝了机械臂自身装配误差、工装自身的装配误差的影响,工装自身的装配误差指的是市面上现有的、用于手眼标定的工装或者标定板、传感器畸变等引起的误差,例如标定板具为0.1mm精度,最终标定结果依然产生3mm的误差,这就是点云数据本身的精度问题引起的。同时本发明不需要调节机械臂运动、变换不同位姿,避免了机械臂控制误差对手眼标定的影响,尤其是对于带电作业机器人这种特种机器人,无需机械臂运动的标定方式尤其适用于其在户外高中作业现场进行标定。与此同时,由于机械臂不动,本发明又会引入另一个问题,现实世界的准确位置信息从哪里来,对此本发明通过设计的三方向+旋转的标定工装,利用点云数据,以两帧点云数据相减来实现点云数据以及真实世界下的位置信息联立。同时,本发明设计的工装不能三个维度都关注,对于标定工装的要求过高,会失去工业价值,对此,本发明选择以点云的深度维度信息,配合激光强度图进行标定,减少另外两维的数据引入。
[0048]
下面两个表显示了本发明的标定实施例,操作流程如下:
[0049]
1.将标定工装固定于机械臂末端。
[0050]
2.设定标定板任意的位置,并调节高度使得相机能够拍摄到标定板;选取任意三个目标点记录下来其对应的点云位置信息。
[0051]
3.在工装上调节标定板的位姿,至少包括深度上的变动;选取步骤2中对应的三个
目标点,并记录对应的点云位置信息。
[0052]
4.根据位姿转换关系求解公式,计算转换矩阵。
[0053]
5.将标定工装拆卸下来。
[0054]
6.在机械臂末端安装执行末端,如针形工具,并将工具的形状参数输入进转换矩阵当中。
[0055]
7.用相机拍摄任意目标,并手动选定位置点。
[0056]
8.操控机械臂用针形工具的末端触摸步骤7中选定的位置点。
[0057]
9.测量触摸点与位置点的距离,输出验证偏差。
[0058]
表1和表2即为上述实施例输出的方向结果,表1为相机对触摸点在不同俯仰角下,机械臂触摸固定物体精度测量结果,表2为相机与触摸点不同距离下,机械臂触摸固定物体精度测量结果,可见本发明的标定方法在机械臂不动的情况下,能够取得良好的标定精度。
[0059]
表1(单位:mm)
[0060][0061][0062]
表2(单位:mm)
[0063]
目标俯仰角(单位:度)拍摄距离x向偏差y方向偏差z向偏差0700《11.3-0.307001.31.4-0.40700《11.80.20700110.208004.21.2-1.5
08004.61.8-308004.21.3-2.108003.11.5-3.209002.2-1.7109001.6-3.1-1.809002.7-3.3-1.609001.3-1.8-2.8010007.1-0.21.2010009-1.30.8010005.3-2.31.6010008.2-1.71.2011004.3-3.80011006-3.11011005.6-2.21.9011005.9-4.60.4012007.5-2.70012005.3-2.90.7012006.2-3.50.7012005.8-3.3-0.3