CN110238849B - 机器人手眼标定方法及装置 - Google Patents
机器人手眼标定方法及装置 Download PDFInfo
- Publication number
- CN110238849B CN110238849B CN201910510380.6A CN201910510380A CN110238849B CN 110238849 B CN110238849 B CN 110238849B CN 201910510380 A CN201910510380 A CN 201910510380A CN 110238849 B CN110238849 B CN 110238849B
- Authority
- CN
- China
- Prior art keywords
- robot
- pixel
- coordinate system
- mark point
- coordinate
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J17/00—Joints
- B25J17/02—Wrist joints
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Abstract
一种机器人手眼标定方法及装置,方法包括:获取机器人带动相机/标志点以初始注册位置为起点移动设定的步数后得到的目标坐标数据集合;目标坐标数据集合包括每次移动后获取的固定工具/相机的机器人关节轴中心的基坐标组成的轴中心基坐标集合和每次移动后获取的标志点在相机坐标系下的像素坐标组成的标志点像素坐标集合;根据目标坐标数据集合对像素坐标系与目标坐标系进行粗标定计算,获取像素坐标系与目标坐标系之间的粗标定变换矩阵;根据目标坐标数据集合和粗标定变换矩阵进行精标定计算,得到像素坐标系与目标坐标系之间的精标定变换矩阵。本发明实现了标定过程的全自动化,全程无需人工参与,节省了人力成本,且提高了标定效率与标定精度。
Description
技术领域
本发明实施例涉及工业机器人的自动标定技术领域,特别是涉及一种机器人手眼标定方法及装置。
背景技术
随着制造业的飞速发展,机器人作为高新产业也发展迅速,其应用场景不断扩大。例如:在机器人上安装视觉传感器,根据视觉传感器获取的视觉信息帮助机器人对外界环境进行检测、判断、识别、测量等,使得机器人可执行更加复杂、智能的任务。
在视觉传感器使用之前,需要对其进行手眼标定,且在机器人视觉应用中,手眼标定是一个非常基础且关键的问题。简单来说手眼标定的目的就是获取基坐标系和视觉传感器坐标系的关系,最后将视觉识别的结果转移到基坐标系下。传统技术中,手眼标定方法都基于平面标定板进行标定:通过手动指令移动机器人,利用机器人末端关节上尖端治具去戳标定板上关键点并记录对应的坐标,根据获取的坐标完成标定。上述手眼标定方法过程中需要多次人工参与,标定过程效率较低,且标定板的加工精度及人工操作的精度会影响手眼标定结果的准确性,导致手眼标定结果的精度难以保证。
发明内容
本发明实施例提供一种机器人手眼标定方法及装置,以解决上述传统手眼标定方法中标定过程效率较低、且精度难以保证的问题。
本发明实施例解决上述技术问题所采用的技术方案如下:
根据本发明实施例的一个方面,提供一种机器人手眼标定方法,包括:
获取机器人带动相机/标志点移动后得到的目标坐标数据集合;所述机器人带动相机/标志点移动包括:所述机器人带动相机/标志点以初始注册位置为起点移动设定的步数;所述目标坐标数据集合包括每次移动后获取的固定工具/相机的机器人关节轴中心的基坐标组成的轴中心基坐标集合和每次移动后获取的标志点在相机坐标系下的像素坐标组成的标志点像素坐标集合;
根据所述目标坐标数据集合对像素坐标系与目标坐标系进行粗标定计算,获取所述像素坐标系与目标坐标系之间的粗标定变换矩阵;当所述机器人带动相机移动时,所述目标坐标系为固定所述相机的机器人关节对应的关节坐标系;当所述机器人带动标志点移动时,所述目标坐标系为机器人基坐标系;
根据所述目标坐标数据集合和所述粗标定变换矩阵进行精标定计算,得到所述像素坐标系与所述目标坐标系之间的精标定变换矩阵。
在一个实施例中,在所述机器人末端关节固定有工具,在所述工具上选取一固定点作为标志点;
所述目标坐标数据集合为所述机器人带动标志点每移动一步后获取的所述机器人末端关节轴中心的基坐标组成的第一轴中心基坐标集合和每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第一标志点像素坐标集合;
所述根据所述目标坐标数据集合对所述像素坐标系与所述目标坐标系进行粗标定计算,获取所述像素坐标系与目标坐标系之间的粗标定变换矩阵包括:
通过三点求圆心法计算得出所述第一轴中心基坐标集合中每个轴中心在所述相机坐标系下的像素坐标,得到第一轴中心像素坐标集合;
根据所述第一轴中心基坐标集合和所述第一轴中心像素坐标集合计算得到所述基坐标系与所述像素坐标系之间的第一粗标定变换矩阵RoughMtrix(TBC)。
在一个实施例中,所述通过三点求圆心法计算得出所述第一轴中心基坐标集合中每个轴中心在所述相机坐标系下的像素坐标,得到第一轴中心像素坐标集合包括:
分别以所述第一轴中心基坐标集合中每个轴中心基坐标为圆心,控制所述机器人末端关节带动所述标志点绕圆心正、反转设定角度,并分别在在正反转前、正转设定角度后、反转设定角度后记录标志点的像素坐标,根据三次记录的标准点像素坐标计算得到轴中心的像素坐标,形成第一轴中心像素坐标集合。
在一个实施例中,所述根据所述目标坐标数据集合和所述粗标定变换矩阵进行精标定计算,得到所述像素坐标系与所述目标坐标系之间的精标定变换矩阵包括:
将记录的所述初始注册位置的标志点的像素坐标代入所述第一粗标定变换矩阵RoughMtrix(TBC),计算得到所述初始注册位置的标志点的基坐标。
根据所述机器人末端关节轴中心的基坐标控制所述机器人末端关节带动所述标志点移动至所述初始注册位置,再以所述标志点为圆心控制所述机器人末端关节轴中心围绕圆心正、反转设定角度,刷新相机视野内的图像;
获取所述标志点的当前像素坐标,并计算所述标志点的当前像素坐标与记录的所述初始注册位置的标志点的像素坐标之间的差值;
若所述差值大于预设像素阈值,则将所述标志点的当前像素坐标代入所述第一粗标定变换矩阵RoughMtrix(TBC),计算得出当前标志点的基坐标;
计算当前标志点的基坐标和标志点初始注册位置的基坐标之差,得到机器人位置误差;
根据所述机器人位置误差控制机器人末端轴关节带动所述标志点向所述初始注册位置方向移动,并刷新图像;
返回获取所述标志点的当前像素坐标的步骤,循环执行上述流程,直至所述差值小于所述预设像素阈值或直至迭代次数等于预设迭代次数阈值;
在所述标志点作为圆心像素误差在所述差值范围内收敛后,通过三点求圆心法计算工具长度,然后由工具长度和所述机器人末端关节轴中心的基坐标计算所述第一标志点像素坐标集合中每个标志点的基坐标,得到第一标志点基坐标集合;
根据所述第一标志点像素坐标集合和所述第一标志点基坐标集合计算得到所述基坐标系与所述像素坐标系之间的第一精标定变换矩阵TBC。
在一个实施例中,所述通过三点求圆心法计算所述第一标志点像素坐标集合中每个标志点的基坐标,得到第一标志点基坐标集合包括:
在所述机器人带动标志点以所述标志点的初始注册位置标志点为圆心,控制所述机器人末端关节轴中心绕圆心正、反转设定角度,并分别在在正反转前、正转设定角度后、反转设定角度后记录轴中心的基坐标,根据三次记录的轴中心的基坐标计算得到注册位置标志点的基坐标和所述机器人末端关节固定的工具长度,并由所述工具长度和所述机器人末端关节轴中心的基座标计算出所述机器人以所述标志点的初始注册位置为起点移动设定的步数的所有其他位置的标志点对应的基坐标,形成第一标志点基坐标集合。
在一个实施例中,所述标志点为选取的所述机器人外一固定点,且所述相机固定于所述机器人末端关节;
所述目标坐标数据集合为所述机器人带动相机每移动一步后获取的所述机器人末端关节轴中心的基坐标组成的第二轴中心基坐标集合和每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第二标志点像素坐标集合;
所述根据所述目标坐标数据集合对所述像素坐标系与所述目标坐标系进行粗标定计算,获取所述像素坐标系与目标坐标系之间的粗标定变换矩阵包括:
将所述第二轴中心基坐标集合和所述第二标志点像素坐标集合中的坐标代入TBETEC(u,v)-1=(x,y)-1进行粗标定计算,获取机器人末端关节坐标系与相机坐标系之间的第二粗标定矩阵RoughMtrix(TEC);其中,(u,v)为标志点的像素坐标,(x,y)表示标志点的基坐标,TBE为基坐标系与机器人末端关节坐标系之间的转换矩阵,TEC为机器人末端关节与像素坐标系之间的转换矩阵。
在一个实施例中,根据所述目标坐标数据集合和所述粗标定变换矩阵进行精标定计算,得到所述像素坐标系与所述目标坐标系之间的精标定变换矩阵包括:
将记录的机器人处于初始注册位置时标志点的像素坐标代入第二粗标定变换矩阵RoughMtrix(TEC),计算得出机器人处于初始注册位置时标志点在机器人末端关节坐标系下的坐标;
控制机器人带动相机回到初始注册位置,并以所述标志点为圆心控制所述机器人末端关节带动相机围绕圆心正、反转设定角度,刷新相机视野内的图像;
获取所述标志点的当前像素坐标,并计算所述标志点的当前像素坐标与记录的所述标志点初始注册位置的像素坐标之间的差值;
若所述差值大于预设像素阈值,则将所述标志点的当前像素坐标代入所述第二粗标定变换矩阵RoughMtrix(TEC),计算得出当前标志点在机器人末端关节坐标系下的坐标;
计算当前标志点在机器人末端关节坐标系下的坐标和初始注册位置在机器人末端关节下的坐标之差,得到机器人位置误差;
根据所述机器人位置误差控制机器人末端轴关节带动所述相机向所述初始注册位置方向移动,并刷新图像;
返回获取所述标志点的当前像素坐标的步骤,循环执行上述流程,直至所述差值小于所述预设像素阈值或直至迭代次数等于预设迭代次数阈值;
将收敛后的所述机器人末端关节轴中心点位置记为基准点,使用三点求圆心法计算以基准点构成的圆弧的圆心,即精确的标志点基坐标;
根据所述第二标志点像素坐标集合和所述精确的标志点基坐标及TBE计算得到所述机器人末端关节坐标系与所述像素坐标系之间的第二精标定变换矩阵。
在一个实施例中,所述标志点为选取的所述机器人外一固定点,且所述相机固定于所述机器人非末端关节;
所述目标坐标数据集合为所述机器人带动相机每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第三标志点像素坐标集合和每移动一步后所述机器人非末端关节轴中心的基坐标组成第三轴中心基坐标集合;所述机器人非末端关节轴中心的基坐标是由每移动一步后获取的机器人各个关节角数据转换成的;
所述根据所述目标坐标数据集合对所述像素坐标系与所述目标坐标系进行粗标定计算,获取所述像素坐标系与目标坐标系之间的粗标定变换矩阵包括:
分别获取所述第三轴中心基坐标集合中的机器人非末端关节轴中心的基坐标对应的机器人非末端关节坐标系与{J}与基坐标系{B}的转换矩阵TJB,将所述第三标志点像素坐标集合中的像素坐标和对应的机器人非末端关节坐标系与{J}与基坐标系{B}的转换矩阵TJB代入进行粗标定计算,得到机器人非末端关节坐标系{J}与相机坐标系{C}之间的第三粗标定矩阵RoughMtrix(TCJ)和标志点在基坐标系{B}下的基坐标;其中,(u,v)为标志点的像素坐标,(x,y)表示标志点的基坐标。
在一个实施例中,所述根据所述目标坐标数据集合和所述粗标定变换矩阵进行精标定计算,得到所述像素坐标系与所述目标坐标系之间的精标定变换矩阵包括:
根据粗计算出的标志点基坐标逆运算对应的机器人的各个关节角数据并进行换手系计算基准点;所述基准点包括两组:一组是当前机器人手系状态的关节角数据对应位置为第一基准点;另一组是与当前机器人手系相反的姿态状态的关节角数据对应位置为粗计算的初始第二基准点;
转换手系计算,控制机器人运动至粗计算的初始第二基准点,并在此处进行迭代运动,使所述机器人非末端关节运动至标志点满足设定的像素收敛阈值;
在机器人运动至所述粗计算的初始第二基准点位置后,刷新相机图像,获取此处的标志点的像素坐标,并由所述第三粗标定矩阵RoughMtrix(TCJ)计算出该标志点的像素坐标对应的非末端关节坐标系下的坐标;
控制机器人运动至所述的非末端关节坐标位置,并刷新图像,获取当前标志点的像素坐标;计算所述当前标志点的像素坐标与所述初始注册位置时的标志点像素坐标的像素差值,并与设定的像素收敛阈值比较;返回获取当前标志点的像素坐标的步骤,循环执行上述流程,直至所述像素差值小于设定的像素收敛阈值或者迭代次数等于预设的迭代次数阈值;
获取标志点像素收敛后对应的机器人各关节角数据对应的位置,即精计算的第二基准点位置;
分别将所述第一基准点的关节角数据和所述精计算的第二基准点的关节角数据转换为对应的机器人非末端关节轴中心的基坐标,根据所述对应的机器人非末端关节轴中心的基坐标获取标志点的精计算的基坐标;
分别获取所述第三轴中心基坐标集合中的机器人非末端关节轴中心的基坐标对应的机器人非末端关节坐标系与{J}与基坐标系{B}的转换矩阵TJB,将所述标志点的精计算的基坐标、所述第三标志点像素坐标集合中像素坐标、及对应的TJB代入计算得出所述机器人非末端关节坐标系与相机坐标系之间的第三精标定转换矩阵TCJ。
本发明实施例还提供一种机器人手眼标定装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时,实现上述任一项所述的机器人手眼标定方法的步骤。
本发明实施例有益效果如下:
本发明实施例提供的标定方法及装置,无需使用标定板进行标定,选择工作平面上一固定点或工具上一固定点作为标志点即可进行标定,避免了标定板加工精度对标定精度的影响,提高了标定精度;且本发明实施例提供的标定方法及装置,全程无需人工参与、标定过程全自动,因此无需考虑人工操作的速度与精度,提高了机器人标定效率与标定精度,节省了人力成本。
附图说明
图1为本发明一个实施例中相机、机器人关节与标志点的相对位置关系示意图;
图2为本发明另一个实施例中相机、机器人关节与标志点的相对位置关系示意图;
图3为本发明一个实施例中一种机器人手眼标定方法流程图;
图4为本发明另一个实施例中一种机器人手眼标定方法流程图;
图5为本发明一个实施例中三点法求圆心示意图;
图6为本发明另一个实施例中一种机器人手眼标定方法流程图;
图7为本发明另一个实施例中一种机器人手眼标定方法流程图;
图8为本发明一个实施例中一种机器人手眼标定装置的示意图。
具体实施方式
为了使本发明实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明实施例,并不用于限定本发明实施例。
随着制造业的迅速发展,搭载机器人视觉系统的工业机器人越来越普遍。机器人视觉系统通常包括三部分:图像采集单元、分析处理单元和执行单元。其中,图像采集单元通常为摄像设备如相机等,通过图像采集单元采集到图像后,分析处理单元可根据预设算法对采集到的图像进行处理,并将结果数据传输至执行单元,执行单元可根据上述结果数据进行对应的操作,例如控制机械手完成抓取动作等。
在上述机器人视觉系统使用之前,需要对机器人视觉系统进行手眼标定,手眼标定包括相机内参标定和相机与机械手之间相对位置标定。通过手眼标定,可以确定相机与机器人之间的精确位置关系。其中,相机与机械手之间相对位置关系包括眼在手中(eye-in-hand)和眼在手外(eye-to-hand),眼在手中关系下,如图1所示,在机器人外选择一个固定点作为标志点108,相机102固定于机器人关节104(可为机器人末端关节或机器人非末端关节)上,该机器人关节104可带着相机102一起运动。其中,相机可固定于机器人的末端关节上,也可固定于机器人的非末端关节上。以SCARA机器人为例,相机可固定于SCARA机器人的末端关节J4轴上,相机也可固定在SCARA机器人的非末端关节J2轴上。眼在手外关系下,如图2所示,相机102固定于机器人外某一固定位姿下,工具106固定于机器人关节104上(通常固定于末端关节上),在上述工具106上确定一固定点为标志点108,其中相机102的固定方式通常可包括俯视和仰视两种形式,图2中相机102即为固定俯视安装。
实施例一
图3为本发明一个实施例中一种机器人手眼标定方法流程图。参见图3所示,本实施例提供的机器人手眼标定方法,包括以下步骤:
步骤302,获取机器人带动相机/标志点移动后得到的目标坐标数据集合;机器人带动相机/标志点移动包括:机器人带动相机/标志点以初始注册位置为起点移动设定的步数。
目标坐标数据集合包括每次移动后获取的固定工具/相机的机器人关节轴中心的基坐标组成的轴中心基坐标集合和每次移动后获取的标志点在相机坐标系下的像素坐标组成的标志点像素坐标集合。
在机器人带动相机或标志点移动之前,需要调整机器人位置,使得标志点位于相机视野内,则该位置为初始注册位置。通常初始注册位置可为标志点位于相机视野中央时的位置。当相机固定机器人外某一固定位姿下,即眼在手外状态下时,带有标志点的工具固定于机器人末端关节上,机器人带动标志点以初始注册位置为起点移动;当相机固定于机器人关节上,标志点为机器人外某一位置上的固定点,即眼在手中状态下时,机器人带动相机围绕标志点移动。其中,机器人带动相机或标志点移动是以设定的步长和方向移动设定的步数,例如,以初始注册位置为起点按照九宫格方式移动等。
在每次移动后,相机会进行拍摄获取标志点在相机坐标系下的像素坐标组成标志点像素坐标集合;机器人也会获取每次移动后机器人关节轴中心的基坐标组成的轴中心基坐标集合。上述基坐标系是指原点在机器人基座上的坐标系;上述像素坐标系是指原点位于相机内部的坐标系。
其中,机器人带动相机运动时,相机拍摄平面与标志点所在的工作平面平行;机器人带动标志点运动时,标志点移动平面与相机拍摄平面平行。
步骤304,根据目标坐标数据集合对像素坐标系与目标坐标系进行粗标定计算,获取像素坐标系与目标坐标系之间的粗标定变换矩阵。
当机器人带动相机移动时,目标坐标系为固定相机的机器人关节对应的关节坐标系;当机器人带动标志点移动时,目标坐标系为基坐标系。
通过粗标定计算可获取像素坐标系与目标坐标系之间的粗标定变换矩阵。当眼在手外状态下,通过粗标定计算获取的是像素坐标系与基坐标系之间的第一变换矩阵TBC;当眼在手中状态下,相机固定于机器人末端关节上时,通过粗标定获取的像素坐标系与末端关节坐标系之间的第二变换矩阵TEC;当眼在手中状态下,相机固定于机器人非末端关节上时,通过粗标定获取的像素坐标系与非末端关节坐标系之间的第三变换矩阵TCJ。
步骤306,根据目标坐标数据集合和粗标定变换矩阵进行精标定计算,得到像素坐标系与目标坐标系之间的精标定变换矩阵。
在获取到像素坐标系与目标坐标系之间的粗标定变换矩阵后,可对上述粗标定变换矩阵进行精标定运算,得到像素坐标系与目标坐标系之间的精标定变换矩阵。其中,精标定变换矩阵相较于粗标定变换矩阵是精度较高的变换矩阵。
在获取到精标定变换矩阵后,机器人即可根据上述精标定变换矩阵进行视觉标定。
本发明中标定方法,无需使用标定板进行标定,避免了标定板加工精度对标定精度的影响,提高了标定精度;且本发明中标定方法,全程无需人工参与、标定过程全自动,因此无需考虑人工操作的速度与精度,提高了机器人标定效率与标定精度,节省了人力成本。
实施例二
图4为本发明另一个实施例中一种机器人手眼标定方法流程图。在该实施例中在机器人末端关节固定有工具,在工具上选取一固定点作为标志点,参见图4所示,本实施例提供的机器人手眼标定方法,包括以下步骤:
步骤402,获取机器人带动标志点移动后得到的目标坐标数据集合;机器人带动标志点移动包括:机器人带动标志点以初始注册位置为起点移动设定的步数。目标坐标数据集合为机器人带动标志点每移动一步后获取的机器人末端关节轴中心的基坐标组成的第一轴中心基坐标集合和每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第一标志点像素坐标集合。
当眼在手外状态下,即相机固定于机器人外、带有标志点的工具固定于机器人末端关节上时,进行全自动手眼标定的过程包括:调整机器人位置,使标志点位于相机视野内,将此时标志点位置作为初始注册位置,记录初始注册位置的机器人末端关节轴中心的基坐标、以及初始注册位置的标志点的像素坐标。机器人带动相机以初始注册位置为起点移动,在每次移动后,相机对标志点进行拍摄,获取标志点的像素坐标组成第一标志点像素坐标集合;机器人记录每次移动后机器人末端关节轴中心的基坐标组成第一轴中心基坐标集合。
步骤404,根据目标坐标数据集合对像素坐标系与目标坐标系进行粗标定计算,获取像素坐标系与目标坐标系之间的粗标定变换矩阵。包括:通过三点求圆心法计算得出第一轴中心基坐标集合中每个轴中心在相机坐标系下的像素坐标,得到第一轴中心像素坐标集合。即根据第一轴中心基坐标集合和第一轴中心像素坐标集合计算得到基坐标系{B}与像素坐标系{C}之间的第一粗标定变换矩阵RoughMtrix(TBC)。目标坐标系为基坐标系。
在获取到第一轴中心基坐标集合和第一标志点像素坐标集合后,可进行粗标定计算。具体的,粗标定计算包括:分别以第一轴中心基坐标集合中每个轴中心基坐标为圆心,控制机器人末端关节带动标志点绕圆心正、反转设定角度,并分别在正反转前、正转设定角度后、反转设定角度后记录标志点的像素坐标,根据三次记录的标准点像素坐标计算得到轴中心的像素坐标,形成第一轴中心像素坐标集合。即依次调整机器人末端关节轴中心位置到第一轴中心基坐标集合中轴中心基坐标对应的位置,以该机器人末端关节轴中心位置为圆心,机器人末端关节带动标志点绕圆心正、反转设定角度,依次求出第一轴中心基坐标集合中轴中心基坐标对应的各个位置的末端关节轴中心的像素坐标,形成第一轴中心像素坐标集合。
根据上述第一轴中心像素坐标集合和第一轴中心基坐标集合即可获取第一粗标定变换矩阵RoughMtrix(TBC)。具体的,依次将第一轴中心像素坐标集合中每个像素坐标(u,v)-1与其对应的基坐标(x,y)-1代入公式TBC(u,v)-1=(x,y)-1可得到第一粗标定变换矩阵RoughMtrix(TBC)。
其中,三点法求圆心的步骤如图5所示,以机器人末端关节轴中心位置为点O,则机器人带动标志点以点O为圆心进行旋转,记录旋转前点C、正转后点A以及反转后点B的像素坐标分别为点C(uC,vC)-1、点A(uA,vA)-1、点B(uB,vB)-1。根据点A、B、C三点的像素坐标可求出圆心O的像素坐标为(uO,vO)-1,即末端关节轴中心的像素坐标为(uO,vO)-1。
步骤406,根据目标坐标数据集合和粗标定变换矩阵进行精标定计算,得到像素坐标系与目标坐标系之间的精标定变换矩阵。
具体的,精标定计算包括:将记录的初始注册位置的标志点的像素坐标代入第一粗标定转换矩阵RoughMtrix(TBC),计算得到初始注册位置的标志点的基坐标。根据机器人末端关节轴中心的基坐标控制机器人末端关节带动标志点移动至初始注册位置,再以标志点为圆心控制机器人末端关节轴中心围绕圆心正、反转设定角度,刷新相机视野内的图像。
获取标志点的当前像素坐标,并计算标志点的当前像素坐标与记录的初始注册位置的标志点的像素坐标之间的差值;若差值大于预设像素阈值,则将标志点的当前像素坐标代入第一粗标定变换矩阵RoughMtrix(TBC),计算得出当前标志点的基坐标;计算当前标志点的基坐标和标志点初始注册位置的基坐标之差,得到机器人位置误差;根据机器人位置误差控制机器人末端轴关节带动标志点向初始注册位置方向移动,并刷新图像;返回获取标志点的当前像素坐标的步骤,循环执行上述流程,直至差值小于预设像素阈值或直至迭代次数等于预设迭代次数阈值。
例如,记录的初始注册位置的标志点的像素坐标为(um,vm)-1,将上述坐标代入第一粗标定变换矩阵RoughMtrix(TBC)得到对应的初始注册位置的标志点的基坐标为(xm,ym)-1。根据记录的机器人末端关节轴中心的基坐标控制机器人末端关节带动标志点移动至初始注册位置,再以标志点为圆心控制机器人末端关节轴中心围绕圆心正、反转设定角度,以三点求圆心法获取标志点的当前像素坐标为(un,vn)-1,计算(un,vn)-1与(um,vm)-1之前的差值,若上述差值大于预设像素阈值,则表示标志点的当前位置与初始注册位置之间的距离超过预设值,求取标志点当前像素坐标(un,vn)-1对应的基坐标为(xn,yn)-1,计算(xn,yn)-1与(xm,ym)-1之间的基坐标之差,根据上述基坐标之差控制机器人末端轴关节向注册位置移动。再循环执行上述步骤直到(un,vn)-1与(um,vm)-1之前的差值小于预设像素阈值或循环次数达到预设的循环次数,即在循环次数达到预设次数或误差小于预设值后停止循环。
在标志点作为圆心像素误差在差值范围内收敛后,通过三点求圆心法计算工具长度,然后由工具长度和机器人末端关节轴中心的基坐标计算第一标志点像素坐标集合中每个标志点的基坐标,得到第一标志点基坐标集合;根据第一标志点像素坐标集合和第一标志点基坐标集合计算得到基坐标系与像素坐标系之间的第一精标定变换矩阵TBC。
其中,通过三点求圆心法计算第一标志点像素坐标集合中每个标志点的基坐标,得到第一标志点基坐标集合包括:在机器人带动标志点以标志点的初始注册位置标志点为圆心,控制机器人末端关节轴中心绕圆心正、反转设定角度,并分别在在正反转前、正转设定角度后、反转设定角度后记录轴中心的基坐标,根据三次记录的轴中心的基坐标计算得到注册位置标志点的基坐标和机器人末端关节固定的工具长度,并由工具长度和机器人末端关节轴中心的基座标计算出机器人以标志点的初始注册位置为起点移动设定的步数的所有其他位置的标志点对应的基坐标,形成第一标志点基坐标集合。上述工具长度即为标志点为圆心、机器人末端关节轴中心绕圆心旋转形成的圆的半径值。
在获取到第一标志点基坐标集合和第一标志点像素坐标集合后,依次将第一标志点基坐标集合中标志点基坐标与对应的第一标志点像素坐标集合中标志点像素坐标代入公式TBC(u,v)-1=(x,y)-1,即可得到第一精标定变换矩阵TBC。
上述第一标志点基坐标集合中标志点基坐标是通过精标定获取的标志点基坐标,因此误差较小,精度较高。
实施例三
图6为本发明另一个实施例中一种机器人手眼标定方法流程图。在该实施例中标志点为选取的机器人外一固定点,且相机固定于机器人末端关节,参见图6所示,本实施例提供的机器人手眼标定方法,包括以下步骤:
步骤602,获取机器人带动相机移动后得到的目标坐标数据集合;机器人带动相机移动包括:机器人带动相机以初始注册位置为起点移动设定的步数;目标坐标数据集合包括机器人带动相机每移动一步后获取的机器人末端关节轴中心的基坐标组成的第二轴中心基坐标集合和每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第二标志点像素坐标集合。
当标志点固定于机器人外,相机固定于机器人末端关节上时,进行全自动手眼标定的过程包括:调整机器人位置,使标志点位于相机视野中,记录此位置为初始注册位置,记录初始注册位置的机器人末端关节轴中心的基坐标。机器人带动相机以初始注册位置为起点进行移动,获取每次移动后的机器人末端关节轴中心的基坐标和标志点的像素坐标。上述每次移动后的机器人末端关节轴中心的基坐标组成第二轴中心基坐标集合,每次移动后的标志点的像素坐标组成组成第二标志点像素坐标集合。
步骤604,根据目标坐标数据集合对像素坐标系与目标坐标系进行粗标定计算,获取像素坐标系与目标坐标系之间的粗标定变换矩阵,目标坐标系为固定相机的机器人末端关节对应的关节坐标系。
具体的,获取粗标定变换矩阵包括:将第二轴中心基坐标集合和第二标志点像素坐标集合中的坐标分别代入TBETEC(u,v)-1=(x,y)-1进行粗标定计算,获取机器人末端关节坐标系与相机坐标系之间的第二粗标定矩阵RoughMtrix(TEC);其中,(u,v)为标志点的像素坐标,(x,y)表示标志点的基坐标,TBE为基坐标系与机器人末端关节坐标系之间的转换矩阵,是已知矩阵,TEC为机器人末端关节与像素坐标系之间的转换矩阵。
其中,在将第二轴中心基坐标集合和第二标志点像素坐标集合中的坐标依次代入上述公式时,需获取记录的每个轴中心基坐标对应的TBE。再将各个轴中心基坐标对应的TBE代入上述公式,求取对应的粗标定矩阵RoughMtrix(TEC)。
步骤606,根据目标坐标数据集合和粗标定变换矩阵进行精标定计算,得到像素坐标系与目标坐标系之间的精标定变换矩阵。
具体的,进行精标定计算过程包括:将记录的机器人处于初始注册位置时标志点的像素坐标代入第二粗标定变换矩阵RoughMtrix(TEC),计算得出机器人处于初始注册位置时标志点在机器人末端关节坐标系下的坐标;控制机器人带动相机回到初始注册位置,并以标志点为圆心控制机器人末端关节带动相机围绕圆心正、反转设定角度,刷新相机视野内的图像。
获取标志点的当前像素坐标,并计算标志点的当前像素坐标与记录的标志点初始注册位置的像素坐标之间的差值;若差值大于预设像素阈值,则将标志点的当前像素坐标代入第二粗标定变换矩阵RoughMtrix(TEC),计算得出当前标志点在机器人末端关节坐标系下的坐标;计算当前标志点在机器人末端关节坐标系下的坐标和初始注册位置在机器人末端关节下的坐标之差,得到机器人位置误差;根据机器人位置误差控制机器人末端轴关节带动相机向初始注册位置方向移动,并刷新图像;返回获取标志点的当前像素坐标的步骤,循环执行上述流程,直至差值小于预设像素阈值或直至迭代次数等于预设迭代次数阈值。
将收敛后的机器人末端关节轴中心点位置记为基准点,使用三点求圆心法计算以基准点构成的圆弧的圆心,即精确的标志点基坐标;根据第二标志点像素坐标集合和精确的标志点基坐标及TBE计算得到机器人末端关节坐标系与像素坐标系之间的第二精标定变换矩阵。其中,在机器人每次移动后TBE均会变化,因此在将上述坐标代入公式时,需要获取已记录的每个标志点像素坐标对应的TBE。将第二标志点像素坐标集合中标志点像素坐标、精确的标志点基坐标、以及各个标志点像素坐标对应的TBE分别代入公式TBETEC(u,v)-1=(x,y)-1后,即可得到第二精标定矩阵TEC。
实施例四
图7为本发明另一个实施例中一种机器人手眼标定方法流程图。在该实施例中,标志点为选取的机器人外一固定点,且相机固定于机器人非末端关节,参见图7所示,本实施例提供的机器人手眼标定方法,包括以下步骤:
步骤702,获取机器人带动相机移动后得到的目标坐标数据集合;机器人带动相机移动包括:机器人带动相机以初始注册位置为起点移动设定的步数;目标坐标数据集合为机器人带动相机每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第三标志点像素坐标集合和每移动一步后机器人非末端关节轴中心的基坐标组成第三轴中心基坐标集合;机器人非末端关节轴中心的基坐标是由每移动一步后获取的机器人各个关节角数据转换成的。
当标志点固定于机器人外,相机固定于机器人非末端关节上(例如固定于SCARA机器人J2轴关节上)时,进行全自动手眼标定的过程包括:调整机器人位置,使标志点位于相机视野中,记录此位置为初始注册位置,机器人带动相机以此初始注册位置为起点进行移动。获取每次移动后的标志点的像素坐标组成第三标志点像素坐标集合、以及每次移动后的机器人各个关节角数据,再将上述各个关节角数据转换成机器人非末端关节轴中心的基坐标组成第三轴中心基坐标集合。
步骤704,根据目标坐标数据集合对像素坐标系与目标坐标系进行粗标定计算,获取像素坐标系与目标坐标系之间的粗标定变换矩阵;目标坐标系为固定相机的机器人非末端关节对应的关节坐标系。
具体的,分别获取第三轴中心基坐标集合中的各个机器人非末端关节轴中心的基坐标对应的机器人非末端关节坐标系与{J}与基坐标系{B}的转换矩阵TJB,分别将第三标志点像素坐标集合中的像素坐标和对应的机器人非末端关节坐标系与{J}与基坐标系{B}的转换矩阵TJB代入进行粗标定计算,得到机器人非末端关节坐标系{J}与相机坐标系{C}之间的第三粗标定矩阵RoughMtrix(TCJ)和标志点在基坐标系{B}下的基坐标(x,y)-1。
步骤706,根据目标坐标数据集合和粗标定变换矩阵进行精标定计算,得到像素坐标系与目标坐标系之间的精标定变换矩阵。
在获取到第三粗标定矩阵RoughMtrix(TCJ)和标志点的基坐标(x,y)-1后,可根据标志点基坐标(x,y)-1和机器人结构参数逆运算对应的机器人的各个关节角数据并进行换手系计算基准点,即逆运算标志点基坐标位置对应的机器人各个关节角数据,上述基准点包括两组:一组是当前机器人手系状态(例如右手系)的关节角数据,将该位置记为第一基准点;另一组是与当前机器人手系相反(例如左手系)的姿态状态的关节角数据,将该位置记为粗计算的初始第二基准点;
转换手系计算,控制机器人运动至粗计算的初始第二基准点,并在此处进行迭代运动,使机器人非末端关节运动至标志点满足设定的像素收敛阈值。
具体的,迭代运动的步骤包括:在机器人运动至粗计算的初始第二基准点位置后,刷新相机图像,获取此处的标志点的像素坐标,并由第三粗标定矩阵RoughMtrix(TCJ)计算出该标志点的像素坐标对应的非末端关节坐标系下的坐标;
控制机器人运动至的非末端关节坐标位置,并刷新图像,获取当前标志点的像素坐标;计算当前标志点的像素坐标与初始注册位置时的标志点像素坐标的像素差值,并与设定的像素收敛阈值比较(例如2pixel),返回获取当前标志点的像素坐标的步骤,循环执行上述流程,直至像素差值小于设定的像素收敛阈值或者迭代次数等于预设的迭代次数阈值。
获取迭代结束后标志点对应的机器人各关节角数据,即标志点像素收敛后对应的机器人各关节角数据,则该关节角数据对应的位置为精计算的第二基准点位置。
分别将第一基准点的关节角数据和精计算的第二基准点的关节角数据转换为对应的机器人非末端关节轴中心的基坐标,并两个机器人非末端关节轴中心的基坐标精计算得出标志点的基坐标。
分别获取所述第三轴中心基坐标集合中的机器人非末端关节轴中心的基坐标对应的机器人非末端关节坐标系与{J}与基坐标系{B}的转换矩阵TJB,将所述标志点的精计算的基坐标、所述第三标志点像素坐标集合中像素坐标、及对应的TJB代入计算得出所述机器人非末端关节坐标系与相机坐标系之间的第三精标定转换矩阵TCJ。
实施例五
图8是本发明一个实施例中一种机器人手眼标定装置的示意图。为了便于说明仅仅示出了与本实施例相关的部分。
参见图8所示,本实施例提供的机器人手眼标定装置10,包括:存储器20、处理器30及存储在存储器上20并可在处理器30上运行的计算机程序21,该计算机程序21被处理器30执行时,可实现本发明实施例中机器人手眼标定方法的步骤。
本实施例的机器人手眼标定装置与上述实施例一~实施例四中任一实施例提供的机器人手眼标定方法属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
本领域普通技术人员可以理解,本实施例所公开方法中的全部或某些步骤、可以被实施为软件、固件、硬件及其适当的组合。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种机器人手眼标定方法,其特征在于,包括:
获取机器人带动相机/标志点移动后得到的目标坐标数据集合;所述机器人带动相机/标志点移动包括:所述机器人带动相机/标志点以初始注册位置为起点移动设定的步数;所述目标坐标数据集合包括每次移动后获取的固定工具/相机的机器人关节轴中心的基坐标组成的轴中心基坐标集合和每次移动后获取的标志点在相机坐标系下的像素坐标组成的标志点像素坐标集合;
根据所述目标坐标数据集合对像素坐标系与目标坐标系进行粗标定计算,获取所述像素坐标系与目标坐标系之间的粗标定变换矩阵;当所述机器人带动相机移动时,所述目标坐标系为固定所述相机的机器人关节对应的关节坐标系;当所述机器人带动标志点移动时,所述目标坐标系为机器人基坐标系;
根据所述目标坐标数据集合和所述粗标定变换矩阵进行精标定计算,得到所述像素坐标系与所述目标坐标系之间的精标定变换矩阵。
2.根据权利要求1所述的机器人手眼标定方法,其特征在于,在所述机器人末端关节固定有工具,在所述工具上选取一固定点作为标志点;
所述目标坐标数据集合为所述机器人带动标志点每移动一步后获取的所述机器人末端关节轴中心的基坐标组成的第一轴中心基坐标集合和每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第一标志点像素坐标集合;
所述根据所述目标坐标数据集合对所述像素坐标系与所述目标坐标系进行粗标定计算,获取所述像素坐标系与目标坐标系之间的粗标定变换矩阵包括:
通过三点求圆心法计算得出所述第一轴中心基坐标集合中每个轴中心在所述相机坐标系下的像素坐标,得到第一轴中心像素坐标集合;
根据所述第一轴中心基坐标集合和所述第一轴中心像素坐标集合计算得到所述基坐标系与所述像素坐标系之间的第一粗标定变换矩阵RoughMtrix(TBC)。
3.根据权利要求2所述的机器人手眼标定方法,其特征在于,所述通过三点求圆心法计算得出所述第一轴中心基坐标集合中每个轴中心在所述相机坐标系下的像素坐标,得到第一轴中心像素坐标集合包括:
分别以所述第一轴中心基坐标集合中每个轴中心基坐标为圆心,控制所述机器人末端关节带动所述标志点绕圆心正、反转设定角度,并分别在在正反转前、正转设定角度后、反转设定角度后记录标志点的像素坐标,根据三次记录的标准点像素坐标计算得到轴中心的像素坐标,形成第一轴中心像素坐标集合。
4.如权利要求3所述的机器人手眼标定方法,其特征在于,所述根据所述目标坐标数据集合和所述粗标定变换矩阵进行精标定计算,得到所述像素坐标系与所述目标坐标系之间的精标定变换矩阵包括:
将记录的所述初始注册位置的标志点的像素坐标代入所述第一粗标定变换矩阵RoughMtrix(TBC),计算得到所述初始注册位置的标志点的基坐标。
根据所述机器人末端关节轴中心的基坐标控制所述机器人末端关节带动所述标志点移动至所述初始注册位置,再以所述标志点为圆心控制所述机器人末端关节轴中心围绕圆心正、反转设定角度,刷新相机视野内的图像;
获取所述标志点的当前像素坐标,并计算所述标志点的当前像素坐标与记录的所述初始注册位置的标志点的像素坐标之间的差值;
若所述差值大于预设像素阈值,则将所述标志点的当前像素坐标代入所述第一粗标定变换矩阵RoughMtrix(TBC),计算得出当前标志点的基坐标;
计算当前标志点的基坐标和标志点初始注册位置的基坐标之差,得到机器人位置误差;
根据所述机器人位置误差控制机器人末端轴关节带动所述标志点向所述初始注册位置方向移动,并刷新图像;
返回获取所述标志点的当前像素坐标的步骤,循环执行上述流程,直至所述差值小于所述预设像素阈值或直至迭代次数等于预设迭代次数阈值;
在所述标志点作为圆心像素误差在所述差值范围内收敛后,通过三点求圆心法计算工具长度,然后由工具长度和所述机器人末端关节轴中心的基坐标计算所述第一标志点像素坐标集合中每个标志点的基坐标,得到第一标志点基坐标集合;
根据所述第一标志点像素坐标集合和所述第一标志点基坐标集合计算得到所述基坐标系与所述像素坐标系之间的第一精标定变换矩阵TBC。
5.如权利要求4所述的机器人手眼标定方法,其特征在于,所述通过三点求圆心法计算所述第一标志点像素坐标集合中每个标志点的基坐标,得到第一标志点基坐标集合包括:
在所述机器人带动标志点以所述标志点的初始注册位置标志点为圆心,控制所述机器人末端关节轴中心绕圆心正、反转设定角度,并分别在在正反转前、正转设定角度后、反转设定角度后记录轴中心的基坐标,根据三次记录的轴中心的基坐标计算得到注册位置标志点的基坐标和所述机器人末端关节固定的工具长度,并由所述工具长度和所述机器人末端关节轴中心的基座标计算出所述机器人以所述标志点的初始注册位置为起点移动设定的步数的所有其他位置的标志点对应的基坐标,形成第一标志点基坐标集合。
6.如权利要求1所述的机器人手眼标定方法,其特征在于,所述标志点为选取的所述机器人外一固定点,且所述相机固定于所述机器人末端关节;
所述目标坐标数据集合为所述机器人带动相机每移动一步后获取的所述机器人末端关节轴中心的基坐标组成的第二轴中心基坐标集合和每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第二标志点像素坐标集合;
所述根据所述目标坐标数据集合对所述像素坐标系与所述目标坐标系进行粗标定计算,获取所述像素坐标系与目标坐标系之间的粗标定变换矩阵包括:
将所述第二轴中心基坐标集合和所述第二标志点像素坐标集合中的坐标代入TBETEC(u,v)-1=(x,y)-1进行粗标定计算,获取机器人末端关节坐标系与相机坐标系之间的第二粗标定矩阵RoughMtrix(TEC);其中,(u,v)为标志点的像素坐标,(x,y)表示标志点的基坐标,TBE为基坐标系与机器人末端关节坐标系之间的转换矩阵,TEC为机器人末端关节与像素坐标系之间的转换矩阵。
7.如权利要求6所述的机器人手眼标定方法,其特征在于,根据所述目标坐标数据集合和所述粗标定变换矩阵进行精标定计算,得到所述像素坐标系与所述目标坐标系之间的精标定变换矩阵包括:
将记录的机器人处于初始注册位置时标志点的像素坐标代入第二粗标定变换矩阵RoughMtrix(TEC),计算得出机器人处于初始注册位置时标志点在机器人末端关节坐标系下的坐标;
控制机器人带动相机回到初始注册位置,并以所述标志点为圆心控制所述机器人末端关节带动相机围绕圆心正、反转设定角度,刷新相机视野内的图像;
获取所述标志点的当前像素坐标,并计算所述标志点的当前像素坐标与记录的所述标志点初始注册位置的像素坐标之间的差值;
若所述差值大于预设像素阈值,则将所述标志点的当前像素坐标代入所述第二粗标定变换矩阵RoughMtrix(TEC),计算得出当前标志点在机器人末端关节坐标系下的坐标;
计算当前标志点在机器人末端关节坐标系下的坐标和初始注册位置在机器人末端关节下的坐标之差,得到机器人位置误差;
根据所述机器人位置误差控制机器人末端轴关节带动所述相机向所述初始注册位置方向移动,并刷新图像;
返回获取所述标志点的当前像素坐标的步骤,循环执行上述流程,直至所述差值小于所述预设像素阈值或直至迭代次数等于预设迭代次数阈值;
将收敛后的所述机器人末端关节轴中心点位置记为基准点,使用三点求圆心法计算以基准点构成的圆弧的圆心,即精确的标志点基坐标;
根据所述第二标志点像素坐标集合和所述精确的标志点基坐标及TBE计算得到所述机器人末端关节坐标系与所述像素坐标系之间的第二精标定变换矩阵。
8.如权利要求1所述的机器人手眼标定方法,其特征在于,所述标志点为选取的所述机器人外一固定点,且所述相机固定于所述机器人非末端关节;
所述目标坐标数据集合为所述机器人带动相机每移动一步后获取的标志点在相机坐标系下的像素坐标组成的第三标志点像素坐标集合和每移动一步后所述机器人非末端关节轴中心的基坐标组成第三轴中心基坐标集合;所述机器人非末端关节轴中心的基坐标是由每移动一步后获取的机器人各个关节角数据转换成的;
所述根据所述目标坐标数据集合对所述像素坐标系与所述目标坐标系进行粗标定计算,获取所述像素坐标系与目标坐标系之间的粗标定变换矩阵包括:
9.如权利要求8所述的机器人手眼标定方法,其特征在于,所述根据所述目标坐标数据集合和所述粗标定变换矩阵进行精标定计算,得到所述像素坐标系与所述目标坐标系之间的精标定变换矩阵包括:
根据粗计算出的标志点基坐标逆运算对应的机器人的各个关节角数据并进行换手系计算基准点;所述基准点包括两组:一组是当前机器人手系状态的关节角数据对应位置为第一基准点;另一组是与当前机器人手系相反的姿态状态的关节角数据对应位置为粗计算的初始第二基准点;
转换手系计算,控制机器人运动至粗计算的初始第二基准点,并在此处进行迭代运动,使所述机器人非末端关节运动至标志点满足设定的像素收敛阈值;
在机器人运动至所述粗计算的初始第二基准点位置后,刷新相机图像,获取此处的标志点的像素坐标,并由所述第三粗标定矩阵RoughMtrix(TCJ)计算出该标志点的像素坐标对应的非末端关节坐标系下的坐标;
控制机器人运动至所述的非末端关节坐标位置,并刷新图像,获取当前标志点的像素坐标;计算所述当前标志点的像素坐标与所述初始注册位置时的标志点像素坐标的像素差值,并与设定的像素收敛阈值比较;返回获取当前标志点的像素坐标的步骤,循环执行上述流程,直至所述像素差值小于设定的像素收敛阈值或者迭代次数等于预设的迭代次数阈值;
获取标志点像素收敛后对应的机器人各关节角数据对应的位置,即精计算的第二基准点位置;
分别将所述第一基准点的关节角数据和所述精计算的第二基准点的关节角数据转换为对应的机器人非末端关节轴中心的基坐标,根据所述对应的机器人非末端关节轴中心的基坐标获取标志点的精计算的基坐标;
10.一种机器人手眼标定装置,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至9中任一项所述的机器人手眼标定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910510380.6A CN110238849B (zh) | 2019-06-13 | 2019-06-13 | 机器人手眼标定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910510380.6A CN110238849B (zh) | 2019-06-13 | 2019-06-13 | 机器人手眼标定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110238849A CN110238849A (zh) | 2019-09-17 |
CN110238849B true CN110238849B (zh) | 2021-11-12 |
Family
ID=67886874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910510380.6A Active CN110238849B (zh) | 2019-06-13 | 2019-06-13 | 机器人手眼标定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110238849B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110625600B (zh) * | 2019-10-29 | 2021-05-25 | 华中科技大学 | 一种机器人末端工件坐标系标定方法 |
CN110640745B (zh) * | 2019-11-01 | 2021-06-22 | 苏州大学 | 基于视觉的机器人自动标定方法、设备和存储介质 |
CN113021328A (zh) * | 2019-12-09 | 2021-06-25 | 广东博智林机器人有限公司 | 一种手眼标定方法、装置、设备和介质 |
CN110946659A (zh) * | 2019-12-25 | 2020-04-03 | 武汉中科医疗科技工业技术研究院有限公司 | 影像空间与实际空间的注册方法及系统 |
CN111791227B (zh) * | 2019-12-31 | 2022-03-11 | 深圳市豪恩声学股份有限公司 | 机器人手眼标定方法、装置及机器人 |
CN111098306A (zh) * | 2019-12-31 | 2020-05-05 | 广东利元亨智能装备股份有限公司 | 机器人的标定方法、装置、机器人和存储介质 |
CN111482964A (zh) * | 2020-04-17 | 2020-08-04 | 上海智殷自动化科技有限公司 | 一种新的机器人手眼标定方法 |
CN112330749A (zh) * | 2020-10-22 | 2021-02-05 | 深圳众为兴技术股份有限公司 | 相机安装于机器人手臂上的手眼标定方法及手眼标定装置 |
CN112621743B (zh) * | 2020-11-19 | 2022-11-25 | 深圳众为兴技术股份有限公司 | 机器人及其相机固定于末端的手眼标定方法及存储介质 |
CN112683166B (zh) * | 2020-12-11 | 2022-05-31 | 杭州优视泰信息技术有限公司 | 一种模切产品尺寸检测方法 |
CN114683267B (zh) * | 2020-12-31 | 2023-09-19 | 北京小米移动软件有限公司 | 标定方法、装置、电子设备和存储介质 |
CN113524204B (zh) * | 2021-09-15 | 2021-12-17 | 苏州鼎纳自动化技术有限公司 | 一种坐标系重合校准方法及系统 |
CN113706621B (zh) * | 2021-10-29 | 2022-02-22 | 上海景吾智能科技有限公司 | 基于带标记图像的标志点定位及姿态获取方法和系统 |
CN114012731B (zh) * | 2021-11-23 | 2023-03-31 | 深圳市如本科技有限公司 | 手眼标定方法、装置、计算机设备和存储介质 |
CN114619233B (zh) * | 2022-03-17 | 2023-08-08 | 深圳市华成工业控制股份有限公司 | 锁付定位方法、螺丝锁付方法、锁付定位装置及螺丝机 |
CN114794667B (zh) * | 2022-03-31 | 2023-04-14 | 深圳市如本科技有限公司 | 工具标定方法、系统、装置、电子设备以及可读存储介质 |
CN114833832B (zh) * | 2022-05-11 | 2023-06-20 | 厦门微亚智能科技有限公司 | 一种机器人手眼标定方法、装置、设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012228765A (ja) * | 2011-04-27 | 2012-11-22 | Toyota Motor Corp | ロボット、ロボットの動作方法、及びプログラム |
CN103759716A (zh) * | 2014-01-14 | 2014-04-30 | 清华大学 | 基于机械臂末端单目视觉的动态目标位置和姿态测量方法 |
CN103991006A (zh) * | 2014-04-01 | 2014-08-20 | 浙江大学 | 用于机器人制孔平台视觉测量系统的标定方法及装置 |
CN105014678A (zh) * | 2015-07-16 | 2015-11-04 | 深圳市得意自动化科技有限公司 | 基于激光测距的机器人手眼标定方法 |
CN106624709A (zh) * | 2016-12-29 | 2017-05-10 | 南京天祥智能设备科技有限公司 | 基于双目视觉的装配系统及装配方法 |
CN107543495A (zh) * | 2017-02-17 | 2018-01-05 | 北京卫星环境工程研究所 | 航天器设备自动准直测量系统、准直方法与测量方法 |
JP2018051758A (ja) * | 2016-09-28 | 2018-04-05 | コグネックス・コーポレイション | 同時運動学およびハンドアイ較正 |
CN108132601A (zh) * | 2017-12-06 | 2018-06-08 | 西北工业大学 | 一种利用机械臂抑制航天器基座姿态干扰的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100468857B1 (ko) * | 2002-11-21 | 2005-01-29 | 삼성전자주식회사 | 2차원 형상에 대한 투사 불변형 표현자를 이용한핸드/아이 캘리브레이션 방법 |
JP6126067B2 (ja) * | 2014-11-28 | 2017-05-10 | ファナック株式会社 | 工作機械及びロボットを備えた協働システム |
-
2019
- 2019-06-13 CN CN201910510380.6A patent/CN110238849B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012228765A (ja) * | 2011-04-27 | 2012-11-22 | Toyota Motor Corp | ロボット、ロボットの動作方法、及びプログラム |
CN103759716A (zh) * | 2014-01-14 | 2014-04-30 | 清华大学 | 基于机械臂末端单目视觉的动态目标位置和姿态测量方法 |
CN103991006A (zh) * | 2014-04-01 | 2014-08-20 | 浙江大学 | 用于机器人制孔平台视觉测量系统的标定方法及装置 |
CN105014678A (zh) * | 2015-07-16 | 2015-11-04 | 深圳市得意自动化科技有限公司 | 基于激光测距的机器人手眼标定方法 |
JP2018051758A (ja) * | 2016-09-28 | 2018-04-05 | コグネックス・コーポレイション | 同時運動学およびハンドアイ較正 |
CN106624709A (zh) * | 2016-12-29 | 2017-05-10 | 南京天祥智能设备科技有限公司 | 基于双目视觉的装配系统及装配方法 |
CN107543495A (zh) * | 2017-02-17 | 2018-01-05 | 北京卫星环境工程研究所 | 航天器设备自动准直测量系统、准直方法与测量方法 |
CN108132601A (zh) * | 2017-12-06 | 2018-06-08 | 西北工业大学 | 一种利用机械臂抑制航天器基座姿态干扰的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110238849A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110238849B (zh) | 机器人手眼标定方法及装置 | |
CN111775146B (zh) | 一种工业机械臂多工位作业下的视觉对准方法 | |
CN112132894B (zh) | 一种基于双目视觉引导的机械臂实时跟踪方法 | |
JP6429473B2 (ja) | ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体 | |
US9221176B2 (en) | Robot system and method for controlling the same | |
CN113001535B (zh) | 机器人工件坐标系自动校正系统与方法 | |
CN110148187B (zh) | 一种SCARA机械手Eye-in-Hand的高精度手眼标定方法和系统 | |
CN112894823B (zh) | 一种基于视觉伺服的机器人高精度装配方法 | |
CN113379849A (zh) | 基于深度相机的机器人自主识别智能抓取方法及系统 | |
EP3602214B1 (en) | Method and apparatus for estimating system error of commissioning tool of industrial robot | |
CN112958960B (zh) | 一种基于光学靶标的机器人手眼标定装置 | |
CN113664826A (zh) | 一种未知环境中的机器人抓取方法及系统 | |
CN110533727B (zh) | 一种基于单个工业相机的机器人自定位方法 | |
Xu et al. | Industrial robot base assembly based on improved Hough transform of circle detection algorithm | |
CN111383283B (zh) | 机器人的工具坐标系的标定方法及系统 | |
CN111482964A (zh) | 一种新的机器人手眼标定方法 | |
JP2016203282A (ja) | エンドエフェクタの姿勢変更機構を備えたロボット | |
TWI617405B (zh) | Correction method for robot arm correction system | |
CN116619350A (zh) | 一种基于双目视觉测量的机器人误差标定方法 | |
Wang et al. | Robotic assembly system guided by multiple vision and laser sensors for large scale components | |
CN215701709U (zh) | 一种可配置的手眼标定装置 | |
US20230381969A1 (en) | Calibration Method And Robot System | |
CN113524147B (zh) | 一种基于3d相机的工业机器人示教系统及方法 | |
CN117182931B (zh) | 一种机械臂标定数据校准方法及系统,存储介质 | |
CN115556102B (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 |