CN114290338B - 二维手眼标定方法、设备、存储介质及程序产品 - Google Patents
二维手眼标定方法、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN114290338B CN114290338B CN202210200363.4A CN202210200363A CN114290338B CN 114290338 B CN114290338 B CN 114290338B CN 202210200363 A CN202210200363 A CN 202210200363A CN 114290338 B CN114290338 B CN 114290338B
- Authority
- CN
- China
- Prior art keywords
- value
- coordinate system
- manipulator
- coordinate
- camera
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
本申请实施例提供一种二维手眼标定方法、设备、存储介质及程序产品,该方法包括通过相机采集N个目标图像,不同的目标图像分别对应不同的机械手位姿,目标图像中包括预定锚点,针对每个目标图像,根据二维坐标系的转换公式,建立所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标等变量的方程组,对N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,实现所述相机坐标系和所述机械手坐标系的转换。本申请实施例可以简化标定过程,提高标定效率。
Description
技术领域
本申请实施例涉及机械手技术领域,尤其涉及一种二维手眼标定方法、设备、存储介质及程序产品。
背景技术
二维是指机械手的工作平面限制在一个平面上。对具有机器视觉的机械手的引导是通过计算机执行软件程序来实现的,具体的,在对机械手的引导过程中,该软件程序包括以下步骤:获取作为机械手的机器视觉的工业相机拍摄的图片上的目标特征和标定数据,以及当前的机械手位置,根据图片与机械手位置的对应关系,计算矫正目标在机械手上的姿态。二维手眼标定是以上通过机器视觉实现对机器人引导的一个重要前提,在将工业相机安装到机械手上后,相机拍摄的图片所在的相机坐标系与机械手所在的机械手坐标系之间没有建立任何关系,因此需要通过工业相机收集特定锚点(Mark点),通过对特定锚点的计算,确定相机坐标系与机械手坐标系之间的转换关系,也即完成二维手眼标定,才可以依据该转换关系实现通过机器视觉对机械手的引导。
在现有技术中,通常采用九点标定法进行二维手眼标定。具体的,需要20组以上数据的处理,来实现对眼-手坐标仿射变换矩阵的标定以及对旋转中心的标定。
然而,实现本申请过程中,发明人发现现有技术中至少存在如下问题:现有的九点标定法采集数据量大,标定过程复杂。
发明内容
本申请实施例提供一种二维手眼标定方法、设备、存储介质及程序产品,以提高标定的效率,简化标定过程。
第一方面,本申请实施例提供一种二维手眼标定方法,所述待标定的机械手包括固定设置在机械手末端法兰上的相机,所述相机与所述法兰随所述法兰的旋转轴同步旋转,所述旋转轴垂直于所述机械手所在的机械手坐标系平面,包括:
通过所述相机采集N个目标图像;不同的目标图像分别对应不同的机械手位姿;所述目标图像中包括预定锚点;N为大于等于3的正整数;
针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标和旋转角度;
针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组;
对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
在一种可能的设计中,所述根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,包括:
根据二维坐标系的转换公式、所述像素坐标、所述目标图像的像素密度和所述旋转角度,确定所述相机坐标系绕自身原点旋转的第一旋转变换量;
根据二维坐标系的转换公式、所述相对矢量和所述旋转角度,确定所述相机坐标系绕所述旋转轴的旋转中心旋转的第二旋转变换量;
根据二维坐标系的转换公式、所述第一坐标,确定所述旋转轴的旋转中心到机械手坐标系的原点的平移变换量;
根据所述第一旋转变换量、所述第二旋转变换量、所述平移变换量和所述第二坐标,确定所述对应关系。
在一种可能的设计中,所述预定锚点为目标圆的圆心,所述计算所述预定锚点在相机坐标系下的像素坐标,包括:
对所述目标图像进行图像处理,获得所述像素坐标;所述图像处理至少包括以下中至少一项处理:二值化、形态学处理、圆度特征处理。
在一种可能的设计中,所述获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标,包括:
将所述机械手的位姿坐标确定为所述第一坐标。
在一种可能的设计中,所述对N个目标图像对应的N个方程组进行求解,包括:
对N个目标图像对应的N个方程组进行最小二乘解求解。
在一种可能的设计中,所述对N个目标图像对应的N个方程组进行最小二乘解求解,包括:
将所述N个方程组进行矩阵变换,得到关系式A*B=C;A与C均为满秩矩阵;
通过奇异值分解SVD方法对所述关系式进行最小二乘解求解,获得所述第一取值和所述第二取值。
在一种可能的设计中,所述对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值之后,还包括:
获得所述第二坐标的第三取值;
根据所述第三取值对所述第一取值和所述第二取值的精确度进行校验。
在一种可能的设计中,所述根据所述第三取值对所述第一取值和所述第二取值的精确度进行校验,包括:
针对每个方程组,将所述第一取值与所述第二取值分别代入所述方程组,获得所述第二坐标的第四取值;计算所述第三取值与所述第四取值之间的距离;
根据N个方程组对应的N个所述距离,对所述精确度进行校验。
在一种可能的设计中,所述根据N个方程组对应的N个所述距离,对所述精确度进行校验,包括:
若N个所述距离中小于预设距离的个数与N的比值小于预设比值,则校验失败。
在一种可能的设计中,所述根据N个方程组对应的N个所述距离,对所述精确度进行校验之后,还包括:
若校验失败,则对N个所述距离中小于预设距离的距离对应的方程组进行求解,得到新的第一取值和新的第二取值,以根据所述新的第一取值和所述新的第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
在一种可能的设计中,所述对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值之后,还包括:
根据九点标定法对所述相机进行标定,得到所述像素密度的第五取值;
根据所述第五取值与所述第二取值之间的差值,对所述第一取值和所述第二取值的精确度进行校验。
第二方面,本申请实施例提供一种二维手眼标定设备,包括:
图像采集模块,用于通过相机采集N个目标图像;不同的目标图像分别对应不同的机械手位姿;所述目标图像中包括预定锚点;N为大于等于3的正整数;
处理模块,用于针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的旋转轴在机械手坐标系下的第一坐标和旋转角度;
确定模块,用于针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组;
求解模块,用于对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
第三方面,本申请实施例提供一种二维手眼标定设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的方法。
本实施例提供的二维手眼标定方法、设备、存储介质及程序产品,该方法包括通过所述相机采集N个目标图像,不同的目标图像分别对应不同的机械手位姿,所述目标图像中包括预定锚点,N为大于等于3的正整数,针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标和旋转角度,针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组,对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。本实施例提供的方法通过根据二维坐标系的转换公式,为预定锚点在相机坐标系下的像素坐标、旋转轴在机械手坐标系下的第一坐标和旋转角度等已知数,以及在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标等未知数,建立方程组,并对方程组进行求解,得到相对矢量的第一取值和像素密度的第二取值,高效快捷的完成了二维手眼标定,实现了相机的相机坐标系和机械手的机械手坐标系之间的转换,且依据该转换实现了对机械手运动的控制。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的二维手眼标定方法应用于的机械手的侧视图;
图1b为本申请实施例提供的二维手眼标定方法应用于的机械手的俯视图;
图2为本申请实施例提供的二维手眼标定方法的流程示意图一;
图3为本申请实施例提供的数据导入的图形界面示意图;
图4为本申请实施例提供的显示标定结果的图形界面示意图;
图5为本申请实施例提供的二维手眼标定方法的流程示意图二;
图6为本申请实施例提供的二维手眼标定方法的流程示意图三;
图7为本申请实施例提供的二维手眼标定设备的结构示意图;
图8为本申请实施例提供的一种二维手眼标定设备的框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
二维,是指机械手的工作平面限制在一个平面上。
为了确定相机的相机坐标系和机械手的机械手坐标系的坐标转化关系,现有技术中通常采用九点标定法。在实际控制中,相机检测到目标在图像中的像素位置后,通过标定好的坐标转换矩阵,将相机的像素坐标,变换到机械手的空间坐标系中,然后根据机械手坐标系,计算出各个电机该如何运动,从而控制机械手到达指定位置。 然而,上述九点标定法需要通过圆心拟合以及九点标定来完成手眼标定,整个过程需要对20组以上的数据进行处理,才能实现对眼-手坐标仿射变换矩阵的标定以及对旋转中心的标定。数据处理量大,标定过程较复杂。
为了解决上述技术问题,研究发现可以在机械手外固定位置放置一个预定锚点,即Mark点,定义相机的像素密度S(即,相机拍摄的图像的分辨率),相机原点与机械手末端旋转轴的旋转中心之间的相对矢量(Vx,Vy)为未知数,并根据二维坐标系转换公式建立方程组,对方程组求解,得到未知数的取值,来实现相机坐标系和机械手坐标系的转换,实现对机械手运动的控制。基于此,本申请实施例提供了一种二维手眼标定方法,能够简化标定过程,提高标定效率。
图1a为本申请实施例提供的二维手眼标定方法应用于的机械手的侧视图,图1b为本申请实施例提供的二维手眼标定方法应用于的机械手的俯视图。如图1a和图1b所示,机械手包括1轴、2轴、3轴、4轴,为4轴机械手,该4轴即为机械手末端旋转轴。相机固定设置在末端旋转轴的法兰上。可以在机械手外固定位置放置一个预定锚点,即Mark点。假设机械手的底座的中心点O1,即为机械手坐标系的原点,末端旋转轴的旋转中心O2在机械手坐标系下的坐标为(Rx,Ry),末端旋转轴的旋转角度为θ,相机坐标系的原点为O3,假设O2与O3之间的相对矢量为(Vx,Vy)。另外,设相机拍摄的图像的像素密度为S,预定锚点在机械手坐标系下的坐标为(X’,Y’),预定锚点在相机的相机坐标系下的像素坐标为(Cx,Cy)。
在标定过程中,可以控制机械手变换N(大于等于3的正整数)个不同位姿,并在每个位姿下,通过相机进行图像拍摄,得到N个图像,每个图像中均包括预定锚点。根据二维坐标系转换公式,建立相对矢量(Vx,Vy)、像素密度S、预定锚点在机械手坐标系下的坐标(X’,Y’)这些未知数变量,与根据二维平面转换公式建立预定锚点在相机的相机坐标系下的像素坐标(Cx,Cy)、机械手末端旋转轴在机械手坐标系下的第一坐标(Rx,Ry)和旋转角度(θ)等已知变量的方程组,通过对该方程组进行求解得到未知数相对矢量(Vx,Vy)和像素密度S的取值。并在实际控制中,通过相对矢量(Vx,Vy)和像素密度S实现对相机坐标系和机械手坐标系的转换,实现对机械手运动的控制。整个标定过程中,采集少量数据即可,建立并求解方程组,得到未知数相对矢量(Vx,Vy)和像素密度S的取值,并在实际控制中,通过相对矢量(Vx,Vy)和像素密度S实现对相机坐标系和机械手坐标系的转换,实现对机械手运动的控制,简化了标定过程,提高了标定效率。
需要说明的是,图1a和图1b仅为示例,本实施例提供的二维手眼标定方法还可以应用于六轴机械手等其他类型机械手的二维手眼标定。本实施例对此不做限定。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的二维手眼标定方法的流程示意图一。该方法应用于机械手,所述待标定的机械手包括固定设置在机械手末端法兰上的相机,所述相机与所述法兰随所述法兰的旋转轴同步旋转,所述旋转轴垂直于所述机械手所在的机械手坐标系平面,如图2所示,该方法包括:
201、通过所述相机采集N个目标图像;不同的目标图像分别对应不同的机械手位姿;所述目标图像中包括预定锚点;N为大于等于3的正整数。
本实施例的执行主体可以为计算机、平板电脑等数据处理设备。
本实施例中,机械手可以随机运动至N个不同的位姿,在每个位姿下通过相机进行图像拍摄,得到N个目标图像,拍摄时,保证预定锚点在相机的拍摄范围内,若不在的话,则可以重新控制机械手变换到另外的位姿,再进行拍摄。
202、针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标和旋转角度。
本实施例中,预定锚点在相机坐标系下的像素坐标可以对目标图像进行图像处理得到。
示例性的,在一些实施例中所述预定锚点为目标圆的圆心,所述计算所述预定锚点在相机坐标系下的像素坐标,可以包括:对所述目标图像进行图像处理,获得所述像素坐标;所述图像处理至少包括以下中至少一项处理:二值化、形态学处理、圆度特征处理。
本实施例中,获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标,可以包括:将所述机械手的位姿坐标确定为所述第一坐标。具体的,可以从与机械手连接的计算机直接读取。
在一些实施例中,可以通过如图3所示的图形界面,进行目标图像导入和第一坐标的获取,具体的,响应于用户对导入图片按钮的触发操作,可以接收用户选择的目标图像,并根据目标图像计算得到图像中预定锚点的像素坐标,也即相机坐标X和相机坐标Y。另外,响应于用户对获取机器人坐标的触发操作,可以将旋转轴的旋转中心在机械手坐标系下的第一坐标导入机器人坐标X和机器人坐标Y,并且将旋转轴的旋转角度导入机器人坐标θ中。从而完成一个目标图像的相关数据的录入。重复上述操作,可以实现对N个目标图像的相关数据的录入。
203、针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组。
本实施例中,二维坐标系转换公式为:
其中,x,y为第一坐标系中的坐标,x1,y1为第一坐标系绕原点旋转θ角度后得到的第二坐标系下的坐标。
本实施例中,根据二维坐标系的转换公式,确定所述像素坐标(Cx,Cy)、所述第一坐标(Rx,Ry)、所述旋转角度(θ)、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量(Vx,Vy)、所述目标图像的像素密度(S)和所述预定锚点在机械手坐标系下的第二坐标(X’,Y’)之间的对应关系,可以包括:
根据二维坐标系的转换公式、所述第一坐标(Rx,Ry),确定所述旋转轴的旋转中心到机械手坐标系的原点的平移变换量。
根据所述第一旋转变换量、所述第二旋转变换量、所述平移变换量和所述第二坐标,确定所述对应关系。
针对每个目标图像,最终可以得到以下方程组:
204、对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
在一些实施例中,所述对N个目标图像对应的N个方程组进行求解,可以包括:对N个目标图像对应的N个方程组进行最小二乘解求解。
具体的,所述对N个目标图像对应的N个方程组进行最小二乘解求解,包括:将所述N个方程组进行矩阵变换,得到关系式A*B=C;A与C均为满秩矩阵;通过奇异值分解SVD方法对所述关系式进行最小二乘解求解,获得所述第一取值和所述第二取值。
示例性的,
关系式A*B=C的具体表达式为:
在一些实施例中,如图4所示,在完成N个目标图像的相关数据的录入后,例如N=6,可以在列表中看到6行数据,响应于用户对计算按钮的触控操作,可以对方程组进行最小二乘解的求取,从而得到相对矢量的第一取值,即 Scale X和ScaleY,以及像素密度的第二取值,即Camera Offset X和Camera Offset Y。
本实施例提供的二维手眼标定方法,通过根据二维坐标系的转换公式,为预定锚点在相机坐标系下的像素坐标、旋转轴在机械手坐标系下的第一坐标和旋转角度等已知数,以及在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标等未知数,建立方程组,并对方程组进行求解,得到相对矢量的第一取值和像素密度的第二取值,高效快捷的完成了二维手眼标定,实现了相机的相机坐标系和机械手的机械手坐标系之间的转换,且依据该转换实现了对机械手运动的控制。
图5为本申请实施例提供的二维手眼标定方法的流程示意图二。所述待标定的机械手包括固定设置在机械手末端法兰上的相机,所述相机与所述法兰随所述法兰的旋转轴同步旋转,所述旋转轴垂直于所述机械手所在的机械手坐标系平面,如图5所示,在上述实施例的基础上,例如在图2所示实施例的基础上,本实施例中增加了基于获得的第二坐标的第三取值对第一取值和第二取值的准确率的校验步骤,该方法包括:
501、通过所述相机采集N个目标图像;不同的目标图像分别对应不同的机械手位姿;所述目标图像中包括预定锚点;N为大于等于3的正整数。
502、针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标和旋转角度。
503、针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组。
504、对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值以及所述第二坐标的第三取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
本实施例中步骤501至504与上述实施例中步骤201至步骤204相类似,此处不再赘述。
505、根据所述第三取值对所述第一取值和所述第二取值的精确度进行校验。
本实施例中,所述根据所述第三取值对所述第一取值和所述第二取值的精确度进行校验,可以包括:针对每个方程组,将所述第一取值与所述第二取值分别代入所述方程组,获得所述第二坐标的第四取值;计算所述第三取值与所述第四取值之间的距离;根据N个方程组对应的N个所述距离,对所述精确度进行校验。
得到N个欧式距离Dist,针对每个Dist,Dist越大说明第一取值和第二取值的误差较大,准确率越低,该Dist对应的第一取值和第二取值与较小Dist对应的第一取值和第二取值不再一个线性模型中。
在一些实施例中,所述根据N个方程组对应的N个所述距离,对所述精确度进行校验,可以包括:若N个所述距离中小于预设距离的个数与N的比值小于预设比值,则校验失败。
具体的,假设N为10,预设比值为80%,那么如果存在大于等于3个Dist的值小于预设距离,则说明误差较大的Dist过多,得到的第一取值和第二取值的准确度较低,因此校验失败。
如果校验失败,在一种可能的实现方式中,可以重新进行图像拍摄,即重复步骤501至步骤504得到新的第一取值和新的第二取值。在另一种可实现方式中,为了减少工作量,提高标定效率,可以直接剔除误差较大的Dist对应的目标图像及相关数据,而直接对N个所述距离中小于预设距离的距离对应的方程组进行求解,得到新的第一取值和新的第二取值,以根据所述新的第一取值和所述新的第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
本实施例提供的二维手眼标定方法,通过基于第二坐标的第三取值对第一取值和第二取值进行校验,能够保证第一取值和第二取值的准确性,并且该校验的过程简单易操作,既保证了标定的高效性,又保证了标定的准确性。
图6为本申请实施例提供的二维手眼标定方法的流程示意图三。所述待标定的机械手包括固定设置在机械手末端法兰上的相机,所述相机与所述法兰随所述法兰的旋转轴同步旋转,所述旋转轴垂直于所述机械手所在的机械手坐标系平面,如图6所示,在上述实施例的基础上,例如在图2所示的实施例的基础上,本实施例中增加了基于相机标定结果对第一取值和第二取值的精确度的校验的步骤,该方法包括:
601、通过所述相机采集N个目标图像;不同的目标图像分别对应不同的机械手位姿;所述目标图像中包括预定锚点;N为大于等于3的正整数。
602、针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标和旋转角度。
603、针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组。
604、对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
本实施例中步骤601至604与上述实施例中步骤201至步骤204相类似,此处不再赘述。
605、根据九点标定法对所述相机进行标定,得到所述像素密度的第五取值,并根据所述第五取值与所述第二取值之间的差值,对所述第一取值和所述第二取值的精确度进行校验。
本实施例中,为了保证校验的准确性,可以通过九点标定法获得相机的像素密度的第五取值,进而根据第五取值与第二取值之间的差值对第一取值和第二取值的精确度进行校验。
具体的,在一些实施例中,所述根据所述第五取值与所述第二取值之间的差值,对所述第一取值和所述第二取值的精确度进行校验,可以包括:若所述差值大于预设值,则校验失败。
若得到的差值越大,说明得到第二取值的准确度较低,因此校验失败。
如果校验失败,可以重新进行图像拍摄,即重复步骤601至步骤604得到新的第一取值和新的第二取值。
本实施例提供的二维手眼标定方法,通过基于九点标定法获得的相机的像素密度的第五取值对第一取值和第二取值的精确度进行校验,能够保证第一取值和第二取值的准确性。提高校验的准确性。
图7为本申请实施例提供的二维手眼标定设备的结构示意图。如图7所示,该二维手眼标定设备70包括:图像采集模块701、处理模块702、确定模块703、以及求解模块704。
图像采集模块701,用于通过相机采集N个目标图像;不同的目标图像分别对应不同的机械手位姿;所述目标图像中包括预定锚点;N为大于等于3的正整数;
处理模块702,用于针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的旋转轴在机械手坐标系下的第一坐标和旋转角度;
确定模块703,用于针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组;
求解模块704,用于对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
本申请实施例提供的二维手眼标定设备,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图8为本申请实施例提供的一种二维手眼标定设备的框图,该设备可以是计算机,平板设备等。
装置80可以包括以下一个或多个组件:处理组件801,存储器802,电源组件803,多媒体组件804,音频组件805,输入/输出(I/ O)接口806,传感器组件807,以及通信组件808。
处理组件801通常控制装置80的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件801可以包括一个或多个处理器809来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件801可以包括一个或多个模块,便于处理组件801和其他组件之间的交互。例如,处理组件801可以包括多媒体模块,以方便多媒体组件804和处理组件801之间的交互。
存储器802被配置为存储各种类型的数据以支持在装置80的操作。这些数据的示例包括用于在装置80上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件803为装置80的各种组件提供电力。电源组件803可以包括电源管理系统,一个或多个电源,及其他与为装置80生成、管理和分配电力相关联的组件。
多媒体组件804包括在所述装置80和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件804包括一个前置摄像头和/或后置摄像头。当装置80处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件805被配置为输出和/或输入音频信号。例如,音频组件805包括一个麦克风(MIC),当装置80处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或经由通信组件808发送。在一些实施例中,音频组件805还包括一个扬声器,用于输出音频信号。
I/ O接口806为处理组件801和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件807包括一个或多个传感器,用于为装置80提供各个方面的状态评估。例如,传感器组件807可以检测到装置80的打开/关闭状态,组件的相对定位,例如所述组件为装置80的显示器和小键盘,传感器组件807还可以检测装置80或装置80一个组件的位置改变,用户与装置80接触的存在或不存在,装置80方位或加速/减速和装置80的温度变化。传感器组件807可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件807还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件807还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件808被配置为便于装置80和其他设备之间有线或无线方式的通信。装置80可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件808经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件808还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置80可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器802,上述指令可由装置80的处理器809执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上二维手眼标定设备执行的二维手眼标定方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (15)
1.一种二维手眼标定方法,其特征在于,待标定的机械手包括固定设置在机械手末端法兰上的相机,所述相机与所述法兰随所述法兰的旋转轴同步旋转,所述旋转轴垂直于所述机械手所在的机械手坐标系平面,包括:
通过所述相机采集N个目标图像;不同的目标图像分别对应不同的机械手位姿;所述目标图像中包括预定锚点;N为大于等于3的正整数;
针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标和旋转角度;
针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、相对矢量、像素密度和第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组;所述相对矢量是在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量;所述像素密度是所述目标图像的像素密度;所述第二坐标是所述预定锚点在机械手坐标系下的坐标;
对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
2.根据权利要求1所述的方法,其特征在于,所述根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量、所述目标图像的像素密度和所述预定锚点在机械手坐标系下的第二坐标之间的对应关系,包括:
根据二维坐标系的转换公式、所述像素坐标、所述目标图像的像素密度和所述旋转角度,确定所述相机坐标系绕自身原点旋转的第一旋转变换量;
根据二维坐标系的转换公式、所述相对矢量和所述旋转角度,确定所述相机坐标系绕所述旋转轴的旋转中心旋转的第二旋转变换量;
根据二维坐标系的转换公式、所述第一坐标,确定所述旋转轴的旋转中心到机械手坐标系的原点的平移变换量;
根据所述第一旋转变换量、所述第二旋转变换量、所述平移变换量和所述第二坐标,确定所述对应关系。
3.根据权利要求1所述的方法,其特征在于,所述预定锚点为目标圆的圆心,所述计算所述预定锚点在相机坐标系下的像素坐标,包括:
对所述目标图像进行图像处理,获得所述像素坐标;所述图像处理至少包括以下中至少一项处理:二值化、形态学处理、圆度特征处理。
4.根据权利要求1所述的方法,其特征在于,所述获取所述目标图像对应的所述旋转轴的旋转中心在机械手坐标系下的第一坐标,包括:
将所述机械手的位姿坐标确定为所述第一坐标。
5.根据权利要求1所述的方法,其特征在于,所述对N个目标图像对应的N个方程组进行求解,包括:
对N个目标图像对应的N个方程组进行最小二乘解求解。
6.根据权利要求5所述的方法,其特征在于,所述对N个目标图像对应的N个方程组进行最小二乘解求解,包括:
将所述N个方程组进行矩阵变换,得到关系式A*B=C;A与C均为满秩矩阵;B为所述相对矢量、所述像素密度和所述第二坐标构成的1*N矩阵;
通过奇异值分解SVD方法对所述关系式进行最小二乘解求解,获得所述第一取值和所述第二取值。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值之后,还包括:
获得所述第二坐标的第三取值;
根据所述第三取值对所述第一取值和所述第二取值的精确度进行校验。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第三取值对所述第一取值和所述第二取值的精确度进行校验,包括:
针对每个方程组,将所述第一取值与所述第二取值分别代入所述方程组,获得所述第二坐标的第四取值;计算所述第三取值与所述第四取值之间的距离;
根据N个方程组对应的N个所述距离,对所述精确度进行校验。
9.根据权利要求8所述的方法,其特征在于,所述根据N个方程组对应的N个所述距离,对所述精确度进行校验,包括:
若N个所述距离中小于预设距离的个数与N的比值小于预设比值,则校验失败。
10.根据权利要求8所述的方法,其特征在于,所述根据N个方程组对应的N个所述距离,对所述精确度进行校验之后,还包括:
若校验失败,则对N个所述距离中小于预设距离的距离对应的方程组进行求解,得到新的第一取值和新的第二取值,以根据所述新的第一取值和所述新的第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
11.根据权利要求1-6任一项所述的方法,其特征在于,所述对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值之后,还包括:
根据九点标定法对所述相机进行标定,得到所述像素密度的第五取值;
根据所述第五取值与所述第二取值之间的差值,对所述第一取值和所述第二取值的精确度进行校验。
12.一种二维手眼标定设备,其特征在于,包括:
图像采集模块,用于通过相机采集N个目标图像;不同的目标图像分别对应不同的机械手位姿;所述目标图像中包括预定锚点;N为大于等于3的正整数;
处理模块,用于针对每个目标图像,计算所述预定锚点在相机坐标系下的像素坐标,并获取所述目标图像对应的旋转轴在机械手坐标系下的第一坐标和旋转角度;
确定模块,用于针对每个目标图像,根据二维坐标系的转换公式,确定所述像素坐标、所述第一坐标、所述旋转角度、相对矢量、像素密度和第二坐标之间的对应关系,并根据所述对应关系建立所述目标图像对应的方程组;所述相对矢量是在机械手坐标系下所述相机坐标系的原点与所述旋转轴的旋转中心之间的相对矢量;所述像素密度是所述目标图像的像素密度;所述第二坐标是所述预定锚点在机械手坐标系下的坐标;
求解模块,用于对N个目标图像对应的N个方程组进行求解,获得所述相对矢量的第一取值和所述像素密度的第二取值,以根据所述第一取值和所述第二取值实现所述相机坐标系和所述机械手坐标系的转换,实现对所述机械手的运动的控制。
13.一种二维手眼标定设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至11任一项所述的二维手眼标定方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至11任一项所述的二维手眼标定方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任一项所述的二维手眼标定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210200363.4A CN114290338B (zh) | 2022-03-03 | 2022-03-03 | 二维手眼标定方法、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210200363.4A CN114290338B (zh) | 2022-03-03 | 2022-03-03 | 二维手眼标定方法、设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114290338A CN114290338A (zh) | 2022-04-08 |
CN114290338B true CN114290338B (zh) | 2022-06-03 |
Family
ID=80978518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210200363.4A Active CN114290338B (zh) | 2022-03-03 | 2022-03-03 | 二维手眼标定方法、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114290338B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116148259B (zh) * | 2022-12-28 | 2024-03-22 | 广州市斯睿特智能科技有限公司 | 车辆缺陷定位系统、方法、装置及存储介质 |
CN117506919B (zh) * | 2023-12-01 | 2024-05-24 | 广州创之力智能科技有限公司 | 一种手眼标定方法、装置、终端设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109159114A (zh) * | 2018-08-16 | 2019-01-08 | 郑州大学 | Scara机械手固定相机视觉系统手眼标定的高精度方法 |
CN110148187A (zh) * | 2019-06-04 | 2019-08-20 | 郑州大学 | 一种SCARA机械手Eye-in-Hand的高精度手眼标定方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017222001A (ja) * | 2016-06-15 | 2017-12-21 | セイコーエプソン株式会社 | ロボット、制御装置およびロボットシステム |
JP7143633B2 (ja) * | 2018-05-28 | 2022-09-29 | セイコーエプソン株式会社 | ロボットシステム、制御装置および制御方法 |
-
2022
- 2022-03-03 CN CN202210200363.4A patent/CN114290338B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109159114A (zh) * | 2018-08-16 | 2019-01-08 | 郑州大学 | Scara机械手固定相机视觉系统手眼标定的高精度方法 |
CN110148187A (zh) * | 2019-06-04 | 2019-08-20 | 郑州大学 | 一种SCARA机械手Eye-in-Hand的高精度手眼标定方法和系统 |
Non-Patent Citations (1)
Title |
---|
一种新的四自由度SCARA机器人手眼标定方法;陈丹 等;《传感器与微系统》;20180205(第02期);72-82 * |
Also Published As
Publication number | Publication date |
---|---|
CN114290338A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022037285A1 (zh) | 相机外参标定方法及装置 | |
WO2019237984A1 (zh) | 图像校正方法、电子设备及计算机可读存储介质 | |
JP7127149B2 (ja) | 画像補正方法、画像補正装置、および電子機器 | |
RU2672181C2 (ru) | Способ и устройство для генерирования команды | |
US11176687B2 (en) | Method and apparatus for detecting moving target, and electronic equipment | |
CN104469167B (zh) | 自动对焦方法及装置 | |
CN106845398B (zh) | 人脸关键点定位方法及装置 | |
EP3825960A1 (en) | Method and device for obtaining localization information | |
CN114290338B (zh) | 二维手眼标定方法、设备、存储介质及程序产品 | |
CN113052919B (zh) | 一种视觉传感器的标定方法及装置、电子设备和存储介质 | |
CN107958223B (zh) | 人脸识别方法及装置、移动设备、计算机可读存储介质 | |
CN103970500A (zh) | 一种图片显示的方法及装置 | |
CN106778773A (zh) | 图片中目标物的定位方法及装置 | |
CN110930463A (zh) | 一种监控摄像头内参标定方法、装置和电子设备 | |
CN114578329A (zh) | 多传感器联合标定方法、设备、存储介质及程序产品 | |
EP2975574A2 (en) | Method, apparatus and terminal for image retargeting | |
CN110930351A (zh) | 一种光斑检测方法、装置及电子设备 | |
CN112414400B (zh) | 一种信息处理方法、装置、电子设备和存储介质 | |
US9665925B2 (en) | Method and terminal device for retargeting images | |
CN113920083A (zh) | 基于图像的尺寸测量方法、装置、电子设备及存储介质 | |
CN107239758B (zh) | 人脸关键点定位的方法及装置 | |
CN108550170B (zh) | 虚拟角色驱动方法及装置 | |
CN108648238B (zh) | 虚拟角色驱动方法及装置、电子设备和存储介质 | |
CN111428654A (zh) | 一种虹膜识别方法、装置及存储介质 | |
CN114898074B (zh) | 三维信息确定方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |