产学研创新服务平台(全国)
专利申请类型:发明专利;基于计算机视觉的手眼标定方法及装置、存储介质
本申请涉及人工智能,公开了一种基于计算机视觉的手眼标定方法及装置、存储介质、计算机设备,该方法包括:控制机器人的机械臂在四个自由度的约束条件下在预设范围移动并通过设置在所述机械臂末端的相机采集标定图像,其中,所述机械臂在所述预设范围的移动过程中所述相机对应的相机坐标系Z轴始终穿过预设目标点位置;基于所述标定图像,确定所述预设目标点的坐标,并确定所述相机坐标系下所述预设目标点与所述相机的第一相对变换以及世界坐标系下的预设标定点与所述机械臂末端的第二相对变换;根据所述第一相对变换、所述预设目标点的坐标、所述第二相对变换以及所述预设标定点的坐标,确定所述机械臂末端与所述相机的刚性变换。
专利类型:发明专利
专利申请号:CN202011030608.0
专利申请(专利权)人:平安科技(深圳)有限公司
权利人地址:广东省深圳市福田街道福安社区益田路5033号平安金融中心23楼
专利发明(设计)人:喻凌威,周宸,周宝,陈远旭
主权利要求:基于计算机视觉的手眼标定方法及装置、存储介质
技术领域
[0001] 本申请涉及计算机视觉技术领域,尤其是涉及到一种基于计算机视觉的手眼标定方法及装置、存储介质、计算机设备。
背景技术
[0002] 目前,医疗电子机械设备的发展对先进治疗技术的发展起到了巨大的帮助,例如医疗机器人。手术机器人除了需要精准的位置、力控制,完善的视觉传感系统,另外一个依赖性很强的技术就是实现精准鲁棒的手眼标定,保证机器人和手术专用相机间的坐标系统关系。在eye‑in‑hand机械臂设置下(即相机放置在机械臂末端),手眼标定技术在提供机械臂末端与相机坐标的刚性变换的过程中起着关键的作用。就手眼标定算法本身而言,已经有大量成熟和准确的算法来减少标定误差从而达到稳定的应用效果。但这些算法的前提都要求末端的移动为6个自由度,且需要一定程度的运动范围作为前提,因此在移动自由度数量和移动范围的双重限定下,如何完成标定过程一个值得研究的问题。
[0003] 结合该问题映射到实际场景中的问题,比如在医疗手术机器人的工作过程中,机械臂末端的自由度会被限制,且移动范围需要限制地非常小,稍有不慎就会影响伤口大小及手术效果,因此,在该过程中实现精准的手眼标定是非常重要的问题。著名的医疗手术机器人—达芬奇手术机器人在该过程中则是引入外部精准的视觉跟踪工具辅助标定过程,因此也不可避免地引入额外的标定误差源,容易造成标定误差。目前在该技术领域,如何对限定移动自由度和限定移动范围的机器人进行精准的手眼标定成为了热点问题。
发明内容
[0004] 有鉴于此,本申请提供了一种基于计算机视觉的手眼标定方法及装置、存储介质、计算机设备。
[0005] 根据本申请的一个方面,提供了一种基于计算机视觉的手眼标定方法,包括:
[0006] 控制Eye‑in‑hand机器人的机械臂在四个自由度的约束条件下在预设范围移动并通过设置在所述机械臂末端的相机采集标定图像,其中,所述机械臂在所述预设范围的移动过程中所述相机对应的相机坐标系Z轴始终穿过预设目标点的位置;
[0007] 基于所述标定图像,确定所述预设目标点的坐标,并确定所述相机坐标系下所述预设目标点与所述相机的第一相对变换以及世界坐标系下的预设标定点与所述机械臂末端的第二相对变换;
[0008] 根据所述第一相对变换、所述预设目标点的坐标、所述第二相对变换以及所述预设标定点的坐标,确定所述机械臂末端与所述相机的刚性变换。
[0009] 具体地,所述确定所述预设目标点的坐标,具体包括:
[0010] 基于所述标定图像,确定所述相机坐标系的Z轴对应的辅助点的坐标,其中,所述辅助点为所述相机坐标系的Z轴上任意一点;
[0011] 按照预设误差项公式以及所述辅助点的坐标,确定所述预设目标点的坐标。
[0012] 具 体 地 ,所 述 标 定 图 像 包 括 N 张 ,所 述 预 设 误 差 项 公 式 为其中,N大于或等于2,wi为第i张标定图像对应的惩罚因子,oref,i为第i张标定图像对应的所述辅助点的坐标,pref,i为第i张标定图像对应的所述预设目标点的坐标,dref,i为第i张标定图像对应的所述相机坐标系的Z轴方向向量。
[0013] 具体地,若所述相机为双目相机,则所述确定所述预设目标点的坐标,具体包括:
[0014] 基于所述双目相机中的左眼相机对应的左眼标定图像确定所述预设目标点的第一坐标,以及基于所述双目相机中的右眼相机对应的右眼标定图像确定所述预设目标点的第二坐标;
[0015] 将所述第一坐标和所述第二坐标的平均值作为所述预设目标点的坐标。
[0016] 具体地,所述确定所述机械臂末端与所述相机的刚性变换,具体包括:
[0017] 按照预设刚性变换公式确定所述机械臂末端与所述相机的刚性变换,其中,所述预设刚性变换公式为 为所述第一相对变换,pref为所述预设目标点的坐标, 为所述第二相对变换,pworld为所述预设标定点的坐标。
[0018] 具体地,所述刚性变换包括旋转刚性变换和平移刚性变换;所述确定所述机械臂末端与所述相机的刚性变换,具体包括:
[0019] 根据所述第一相对变换、所述预设目标点的坐标、所述第二相对变换以及所述预设标定点的坐标,确定所述旋转刚性变换;
[0020] 根据所述旋转刚性变换,确定所述平移刚性变换。
[0021] 具体地,所述确定所述机械臂末端与所述相机的刚性变换之后,所述方法还包括:
[0022] 获取所述相机采集的控制图像;
[0023] 基于所述控制图像以及所述机械臂末端与所述相机的刚性变换,控制所述机械臂运动。
[0024] 根据本申请的另一方面,提供了一种基于计算机视觉的手眼标定装置,包括:
[0025] 标定图像采集模块,用于控制Eye‑in‑hand机器人的机械臂在四个自由度的约束条件下在预设范围移动并通过设置在所述机械臂末端的相机采集标定图像,其中,所述机械臂在所述预设范围的移动过程中所述相机对应的相机坐标系Z轴始终穿过预设目标点位置;
[0026] 目标点坐标确定模块,用于基于所述标定图像,确定所述预设目标点的坐标,并确定所述相机坐标系下所述预设目标点与所述相机的第一相对变换以及世界坐标系下的预设标定点与所述机械臂末端的第二相对变换;
[0027] 刚性变换确定模块,用于根据所述第一相对变换、所述预设目标点的坐标、所述第二相对变换以及所述预设标定点的坐标,确定所述机械臂末端与所述相机的刚性变换。
[0028] 具体地,所述目标点坐标确定模块,具体包括:
[0029] 辅助点确定单元,用于基于所述标定图像,确定所述相机坐标系的Z轴对应的辅助点的坐标,其中,所述辅助点为所述相机坐标系的Z轴上任意一点;
[0030] 第一目标点确定单元,用于按照预设误差项公式以及所述辅助点的坐标,确定所述预设目标点的坐标。
[0031] 具 体 地 ,所 述 标 定 图 像 包 括 N 张 ,所 述 预 设 误 差 项 公 式 为其中,N大于或等于2,wi为第i张标定图像对应的惩罚因子,oref,i为第i张标定图像对应的所述辅助点的坐标,pref,i为第i张标定图像对应的所述预设目标点的坐标,dref,i为第i张标定图像对应的所述相机坐标系的Z轴方向向量。
[0032] 具体地,所述目标点坐标确定模块,具体包括:
[0033] 第二目标点确定单元,用于若所述相机为双目相机,则基于所述双目相机中的左眼相机对应的左眼标定图像确定所述预设目标点的第一坐标,以及基于所述双目相机中的右眼相机对应的右眼标定图像确定所述预设目标点的第二坐标;
[0034] 第三目标点确定单元,用于将所述第一坐标和所述第二坐标的平均值作为所述预设目标点的坐标。
[0035] 具体地,所述刚性变换确定模块,具体包括:
[0036] 第一刚性变换确定单元,用于按照预设刚性变换公式确定所述机械臂末端与所述相机的刚性变换,其中,所述预设刚性变换公式为 为所述第一相对变换,pref为所述预设目标点的坐标, 为所述第二相对变换,pworld为所述预设标定点的坐标。
[0037] 具体地,所述刚性变换包括旋转刚性变换和平移刚性变换;所述刚性变换确定模块,具体包括:
[0038] 第二刚性变换确定单元,用于根据所述第一相对变换、所述预设目标点的坐标、所述第二相对变换以及所述预设标定点的坐标,确定所述旋转刚性变换;
[0039] 第三刚性变换确定单元,用于根据所述旋转刚性变换,确定所述平移刚性变换。
[0040] 具体地,所述装置还包括:
[0041] 图像获取模块,用于确定所述机械臂末端与所述相机的刚性变换之后,获取所述相机采集的控制图像;
[0042] 控制模块,用于基于所述控制图像以及所述机械臂末端与所述相机的刚性变换,控制所述机械臂运动。
[0043] 依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于计算机视觉的手眼标定方法。
[0044] 依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于计算机视觉的手眼标定方法。
[0045] 借由上述技术方案,本申请提供的一种基于计算机视觉的手眼标定方法及装置、存储介质、计算机设备,实现了在移动自由度和移动范围的双重限制下对eye‑in‑hand机器人进行手眼标定,通过对创伤位置的预估以及引入世界坐标系下的已知点,结合机械臂末端的相机采集的标定图片,确定相机坐标系下预设目标点与相机的第一相对变换,以及世界坐标系下的预设标定点与机械臂末端的第二相对变换,进而基于第一相对变换和预估的预设目标点的坐标确定相机位置坐标,基于第二相对变换和预设标点对的坐标确定机械臂末端位置坐标,从而可以确定机器人机械臂末端到相机的刚性变换,将限制自由度和限制移动范围的手眼标定问题从原来的不适定问题转化为适定问题,与现有技术中需要引入辅助标定工具来进行限制自由度和限制移动范围的手眼标定相比,不仅省去了引入辅助标定工具的繁琐操作,而且由于不需要引入辅助标定工具也减少了标定误差源的引入,提高了标定精度。
[0046] 上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0047] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0048] 图1示出了本申请实施例提供的一种基于计算机视觉的手眼标定方法的流程示意图;
[0049] 图2示出了本申请实施例提供的一种移动自由度的示意图;
[0050] 图3示出了本申请实施例提供的一种相机移动轨迹的示意图;
[0051] 图4示出了本申请实施例提供的一种机械臂末端的移动范围的示意图;
[0052] 图5示出了本申请实施例提供的一种基于计算机视觉的手眼标定装置的结构示意图;
[0053] 图6示出了本申请实施例提供的另一种基于计算机视觉的手眼标定装置的结构示意图。
具体实施方式
[0054] 下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0055] 本申请涉及计算机视觉技术,计算机视觉这种技术可以将静止图像或视频数据转换为一种决策或新的表示,本申请将计算机视觉技术应用在医疗机器人上,通过设置在机器人的机械臂末端的相机采集图像,对图像进行分析后得到决策结果从而控制机械臂工作。
[0056] 在本实施例中提供了一种基于计算机视觉的手眼标定方法,如图1所示,该方法包括:
[0057] 步骤101,控制Eye‑in‑hand机器人的机械臂在四个自由度的约束条件下在预设范围移动并通过设置在机械臂末端的相机采集标定图像,其中,机械臂在预设范围的移动过程中相机对应的相机坐标系Z轴始终穿过预设目标点位置。
[0058] 手眼标定的问题对应的数学描述为AX=XB,其中A,B为在不同参考系下的相对变换,X为机器人的机械臂末端和相机间的刚性变换。具体到本申请实施例中,手眼标定过程即为解决方程 其中 为相机坐标系中从第i帧到第j帧相机位置的相对变换, 为世界坐标系中机械臂末端位置从第i帧到第j帧的相对变换,X依然为机械臂末端到相机之间的刚性变换,这样,在机器人末端移动的过程中,可以实现机械臂末端和末端相机的动态标定。
[0059] 对于(1)式,常用的方式是把(1)式中的旋转分量从刚性变换X中进行解耦,也就是将矩阵X解耦为旋转和平移两个分量来表示,再对 和 进行同样解耦的操作,(1)式即可转化为左右两边两个齐次矩阵相乘的形式,再由对应元素相等的条件即可转换为下方(2)和(3)两个等式,其中RX和 为矩阵X的旋转和平移分量:
[0060]
[0061]
[0062] 对于手术机器人而言,在某些情况下,自由度和运动范围都会受到限制,如图2所示,在机械臂末端处理伤口区域时,为了不使伤口的范围更大,机械臂末端的自由度由6个降为了4个(失去了两个平移自由度,即图中圆点所在的平面上的两个自由度,否则会扩大伤口),4个自由度分别为pan(以相机坐标系x轴方向为中心轴旋转),roll(以相机坐标系z轴方向为中心轴旋转),tilt(以相机坐标系y轴方向为中心轴旋转),insertion(沿相机坐标系z轴方向移动),相机坐标系以右手定则确定,且图2中tilt和pan能够旋转的角度范围非常小,在这种情况下,(2)式中的 和 由于旋转角度接近于零而导致两个矩阵都近似为单位矩阵,因此(2)式在该情况下为恒等式,在这种情况下,(3)式中就失去了对旋转自由度的限定,从而导致该背景下的手眼标定问题是一个ill‑posed(不适定)的病态问题,这种情况下无法确定机器人机械臂末端到相机的刚性变换,即无法实现手眼标定。基于上述描述,可以很清楚地看到导致ill‑posed的问题的根本原因是平移自由度的损失和旋转范围的急剧缩小和限制,因而在这种情况下,基于(2)、(3)两式的求解方式不再适用。
因为手眼标定的要解决的关键问题就是建立机械臂末端和末端相机之间的刚性关系,由于不能通过基于传统方式的(2)、(3)式求解,这里发明人引入了一些其他的参考量来辅助求解过程,通过引入预设标定点和预设目标点来解决适应于上述技术场景的手术机器人的手眼标定问题。
[0063] 在上述步骤中,如图3所示,本申请实施例引入了预设目标点pref,pref为实际目标点附近的某一点,在本申请实施例中由于创伤口很小,因此pref代表创伤口的估计位置。控制机器人的机械臂在四个自由度的约束条件下在预设目标点对应的范围内移动,在相机的移动过程中,控制相机对应的相机坐标系的Z轴始终穿过预设目标点pref,pref作为一个待求的参考点,pref在伤口平面的某个区域(这里假设伤口为平面,因为处理的伤口区域足够小),在机械臂末端的四个自由度的限制下,机械臂末端的移动轨迹是一个三维锥顶的空间,如图4所示为机械臂末端运动轨迹的主视图,在移动过程中始终交于pref,insertion会导致伸缩长度的变化,图4中上部分的线1、线2和线3分别代表了不同伸缩长度和旋转程度(tilt,pan)而引起的机械臂末端上限,注意roll只会改变机械臂末端的姿态而不会影响图4中运动空间的变化。
[0064] 步骤102,基于标定图像,确定预设目标点的坐标,并确定相机坐标系下预设目标点与相机的第一相对变换以及世界坐标系下的预设标定点与机械臂末端的第二相对变换。
[0065] 在上述实施例中,为了预估目标点的位置,引入了辅助点的概念,辅助点oref为相机坐标系下Z轴上的任意一点。具体地,本申请步骤102中确定预设目标点的坐标,可以包括以下步骤:
[0066] 步骤102‑1,基于标定图像,确定相机坐标系的Z轴对应的辅助点的坐标,其中,辅助点为相机坐标系的Z轴上任意一点;
[0067] 步骤102‑2,按照预设误差项公式以及辅助点的坐标,确定预设目标点的坐标。
[0068] 如图3所示,假设相机坐标系的Z轴相交于pref,确定pref的位置,等价于将D=|T(oref‑pref)‑((oref‑pref) dref)dref|最小化后对应的pref的坐标,其中,oref为辅助点的坐标,pref为预设目标点的坐标,dref为相机坐标系的Z轴方向向量。这里的D实际上是一个误差项,在理想情况下,pref就在相机Z轴上,但由于误差原因,pref往往不能被估计地非常准确。在DT
中,(oref‑pref) dref为相机Z轴上的某一条线段在Z轴方向向量上的投影长度,((oref‑pref)T
dref)dref为该投影的矢量形式,(oref‑pref)为原线段的矢量形式,D为上述两矢量差的二范数,即描述了关于pref位置的误差估计描述量。
[0069] 进一步,本申请实施例考虑到移动过程中4个自由度带来的影响(特别是insertion),会导致伸缩的长度不同,引入wi消除长度带来的影响。
[0070] 具体地,预设误差项公式为 其中,N大于或等于2,wi为第i张标定图像对应的惩罚因子,oref,i为第i张标定图像对应的辅助点的坐标,pref,i为第i张标定图像对应的预设目标点的坐标,dref,i为第i张标定图像对应的相机坐标系的Z轴方向向量。
[0071] 在上述实施例中,因为在移动过程中直线的长度会变化, 时,将dref,i和oref,i替换为相机的Z轴和相机的位置即可通过最小二乘法求解出pref。
[0072] 在本申请实施例中,由于医疗机器人属于精密仪器,因此在一些应用场景下采用双目相机进行图像采集,在这种情况下,具体地,基于双目相机中的左眼相机对应的左眼标定图像确定预设目标点的第一坐标,以及基于双目相机中的右眼相机对应的右眼标定图像确定预设目标点的第二坐标;将第一坐标和第二坐标的平均值作为预设目标点的坐标。
[0073] 在上述实施例中,对于双目相机的情况,分别基于左眼相机和右眼相机采集到的标定图像确定各自对应的预设目标点的预估位置,即第一坐标pref,left和第二坐标pref,right,最终的预设目标点的位置取二者的平均值,即 至此得到了pref的位置。
[0074] 另外,在确定了预设目标点的位置之后,可以基于机械臂的正运动学原理确定第一相对变换以及第二相对变换。例如,以第一相对变换为例,预设目标点位于机械臂末端的预设位置处,相机坐标系可以为以预设目标点的中心为原点,x、y轴位于预设目标点所在平面的坐标系,z轴为垂直于x、y轴所在平面的轴,机械臂末端的预设位置可以是机械臂在结构设计阶段预留的位置,该位置与机械臂末端之间的相对位置固定,与相机位置之间的相对位置固定,预设目标点可以长期固定在预设位置,也可以在使用时放置在上述预设位置。当预设目标点位于上述预设位置时,预设目标点与预设位置完全精确契合,进而可以确定预设目标点与相机的第一相对变换关系。
[0075] 步骤103,根据第一相对变换、预设目标点的坐标、第二相对变换以及预设标定点的坐标,确定机械臂末端与相机的刚性变换。
[0076] 在上述步骤中,本申请实施例还引入了预设标定点pworld,pworld为世界坐标系下的任意一个已知点,进而根据由标定图像确定的预设目标点与相机的第一相对变换以及预定标定点与机械臂末端的第二相对变换,在第一相对变换、第二相对变换以及预设目标点的位置和预设标定点的位置已知的情况下,可以建立预设刚性变换公式并进行求解。
[0077] 具体地,步骤103可以为:按照预设刚性变换公式确定机械臂末端与相机的刚性变换X,其中,预设刚性变换公式为 为第一相对变换,pref为预设目标点的坐标, 为第二相对变换,pworld为预设标定点的坐标。
[0078] 进一步,为了保证对医疗机器人的精准控制,保证刚性变换的准确性可以将刚性变换拆解为旋转分量和平移分量两部分,通过对旋转刚性变换和平移刚性变换分别进行求解来确定手眼标定的刚性变换矩阵X。具体地,根据第一相对变换、预设目标点的坐标、第二相对变换以及预设标定点的坐标,确定旋转刚性变换;根据旋转刚性变换,确定平移刚性变换。
[0079] 在上述实施例中,基于上述的设定,可以认为机械臂末端执行器的Z轴与相机Z轴平行,从而将刚性矩阵X的旋转自由度从6个减少到4个,即
[0080]
[0081] 根据上述设定,预设刚性变换公式为 现在可以简化为pcam,i=Xprobot,i(*), 和 在pref和pworld已求出的情况下可以转化为一个求解单应矩阵(Homography)的问题,预设刚性变换公式与手眼标定中的旋转分量与平移分量都无关,但因为X需要同时满足(1)式,因此仅靠预设刚性变换公式求解是不够的,因此需要解决的是一个约束问题由(2)和(3)可以推断出这两个式子解耦的平移分量 一定同时满足预设刚性变换公式,因此,通过对旋转矩阵和平移向量分别建立最小二乘法求解,再求出旋转分量和平移分量后,最终可确定对应的手眼标定矩阵X。具体来说,可以通过LM算法(Levenberg‑Marquardt,列文伯格‑马夸尔特算法)将旋转分量RX的求解转化为一个优化问题,具体可以通过对下述公式进行求解:
[0082] 其中, 为第N‑1帧标定图
[0083] 像中的相机坐标向第N帧标定图像中的相机坐标的相对变换,N为标定图像的数量, 为第N‑1帧标定图像中的机械臂末端坐标向第N帧标定图像中的机械臂末端坐标在平移方向上的相对变换, 为第N‑1帧标定图像中的相机坐标向第N帧标定图像中的相机坐标在平移方向上的相对变换, 为左眼相机和右眼相机对应的任意一帧标定图像的相机坐标平均值, 为左眼相机和右眼相机对应的任意一帧标定图像的机械臂末端坐标平均值,pcam,i为第i帧标定图像对应的相机坐标,probot,i为第i帧标定图像对应的机械臂末端坐标, 为RX的罗德里格斯表示。平移向量可以结合(3)式和(*)式堆积求解:从而得出平移分量
[0084] 通过应用本实施例的技术方案,实现了在移动自由度和移动范围的双重限制下对eye‑in‑hand机器人进行手眼标定,通过对创伤位置的预估以及引入世界坐标系下的已知点,结合机械臂末端的相机采集的标定图片确定相机坐标系下预设目标点与相机的第一相对变换以及世界坐标系下的预设标定点与机械臂末端的第二相对变换,进而对上述参数进行解耦分别确定机器人机械臂末端到相机在旋转和平移层面上的刚性变换,将限制自由度和限制移动范围的手眼标定问题从原来的不适定问题转化为适定问题,与现有技术中需要引入辅助标定工具来进行限制自由度和限制移动范围的手眼标定相比,不仅省去了引入辅助标定工具的繁琐操作,而且由于不需要引入辅助标定工具也减少了标定误差源的引入,提高了标定精度。
[0085] 在本申请实施例中,步骤103之后还可以包:获取相机采集的控制图像;基于控制图像以及机械臂末端与相机的刚性变换,控制机械臂运动。
[0086] 在上述实施例中,确定机械臂末端与相机的刚性变换之后,完成对机器人的手眼标定之后,即可以根据标定结果来控制机器人机械臂的移动,从而实现利用机器人处理伤口,实现医疗功能。
[0087] 进一步的,作为图1方法的具体实现,本申请实施例提供了一种基于计算机视觉的手眼标定装置,如图5所示,该装置包括:
[0088] 标定图像采集模块51,用于控制Eye‑in‑hand机器人的机械臂在四个自由度的约束条件下在预设范围移动并通过设置在机械臂末端的相机采集标定图像,其中,机械臂在预设范围的移动过程中相机对应的相机坐标系Z轴始终穿过预设目标点位置;
[0089] 目标点坐标确定模块52,用于基于标定图像,确定预设目标点的坐标,并确定相机坐标系下预设目标点与相机的第一相对变换以及世界坐标系下的预设标定点与机械臂末端的第二相对变换;
[0090] 刚性变换确定模块53,用于根据第一相对变换、预设目标点的坐标、第二相对变换以及预设标定点的坐标,确定机械臂末端与相机的刚性变换。
[0091] 具体地,如图6所示,目标点坐标确定模块52,具体包括:
[0092] 辅助点确定单元521,用于基于标定图像,确定相机坐标系的Z轴对应的辅助点的坐标,其中,辅助点为相机坐标系的Z轴上任意一点;
[0093] 第一目标点确定单元522,用于按照预设误差项公式以及辅助点的坐标,确定预设目标点的坐标。
[0094] 具体地,标定图像包括N张,预设误差项公式为其中,N大于或等于2,wi为第i张标定图像对
应的惩罚因子,oref,i为第i张标定图像对应的辅助点的坐标,pref,i为第i张标定图像对应的预设目标点的坐标,dref,i为第i张标定图像对应的相机坐标系的Z轴方向向量。
[0095] 具体地,如图6所示,目标点坐标确定模块52,具体包括:
[0096] 第二目标点确定单元523,用于若相机为双目相机,则基于双目相机中的左眼相机对应的左眼标定图像确定预设目标点的第一坐标,以及基于双目相机中的右眼相机对应的右眼标定图像确定预设目标点的第二坐标;
[0097] 第三目标点确定单元524,用于将第一坐标和第二坐标的平均值作为预设目标点的坐标。
[0098] 具体地,如图6所示,刚性变换确定模块53,具体包括:
[0099] 第一刚性变换确定单元531,用于按照预设刚性变换公式确定机械臂末端与相机的刚性变换,其中,预设刚性变换公式为 为第一相对变换,pref为预设目标点的坐标, 为第二相对变换,pworld为预设标定点的坐标。
[0100] 具体地,如图6所示,刚性变换包括旋转刚性变换和平移刚性变换;刚性变换确定模块53,具体包括:
[0101] 第二刚性变换确定单元532,用于根据第一相对变换、预设目标点的坐标、第二相对变换以及预设标定点的坐标,确定旋转刚性变换;
[0102] 第三刚性变换确定单元533,用于根据旋转刚性变换,确定平移刚性变换。
[0103] 具体地,如图6所示,该装置还包括:
[0104] 图像获取模块54,用于确定机械臂末端与相机的刚性变换之后,获取相机采集的控制图像;
[0105] 控制模块55,用于基于控制图像以及机械臂末端与相机的刚性变换,控制机械臂运动。
[0106] 需要说明的是,本申请实施例提供的一种基于计算机视觉的手眼标定装置所涉及各功能单元的其他相应描述,可以参考图1至图4方法中的对应描述,在此不再赘述。
[0107] 基于上述如图1至图4所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图4所示的基于计算机视觉的手眼标定方法。
[0108] 基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
[0109] 基于上述如图1至图4所示的方法,以及图5至图6所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图4所示的基于计算机视觉的手眼标定方法。
[0110] 可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI‑FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI‑FI接口)等。
[0111] 本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0112] 存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
[0113] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现实现了在移动自由度和移动范围的双重限制下对eye‑in‑hand机器人进行手眼标定,通过对创伤位置的预估以及引入世界坐标系下的已知点,结合机械臂末端的相机采集的标定图片确定相机坐标系下预设目标点与相机的第一相对变换以及世界坐标系下的预设标定点与机械臂末端的第二相对变换,进而对上述参数进行解耦分别确定机器人机械臂末端到相机在旋转和平移层面上的刚性变换,将限制自由度和限制移动范围的手眼标定问题从原来的不适定问题转化为适定问题,最终解决了限制自由度和限制移动范围的手眼标定问题。
[0114] 本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0115] 上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
专利地区:广东
专利申请日期:2020-09-27
专利公开日期:2022-06-10
专利公告号:CN112022355B