专利名称:基于视觉引导的机器人系统及机器人系统校准方法
专利类型:实用新型专利
专利申请号:CN202410192128.6
专利申请(专利权)人:北京迁移科技有限公司
权利人地址:北京市海淀区西三旗建材城内4幢三层335号
专利发明(设计)人:牛群,赵杰亮,李宏坤,樊钰
专利摘要:本公开提供了一种基于视觉引导的机器人系统、机器人系统校准方法、电子设备、可读存储介质及程序产品。基于视觉引导的机器人系统包括:相机,用于获取目标物体在相机坐标系中的位姿;机器人,其执行器末端配置有工具,工具基于执行器末端在机器人基坐标系中的位姿、目标物体的位姿、第一坐标系相对关系、第二坐标系相对关系及第三坐标系相对关系对目标物体进行操作;第一坐标系相对关系为相机坐标系与机器人基坐标系之间的相对关系,第三坐标系相对关系为工具坐标系与执行器末端坐标系之间的相对关系;第一坐标系相对关系与第三坐标系相对关系为基于具有关联关系的目标物体位姿和执行器末端位姿同步校准之后的坐标系相对关系。
主权利要求:
1.一种基于视觉引导的机器人系统,其特征在于,包括:
相机,所述相机用于获取目标物体在相机坐标系中的位姿;以及
机器人,所述机器人的执行器末端配置有工具,所述工具基于所述执行器末端在机器人基坐标系中的位姿、所述目标物体的所述位姿、第一坐标系相对关系、第二坐标系相对关系及第三坐标系相对关系对所述目标物体进行操作;
其中,所述第一坐标系相对关系为相机坐标系与机器人基坐标系之间的相对关系,所述第二坐标系相对关系为执行器末端坐标系与机器人基坐标系之间的相对关系,所述第三坐标系相对关系为工具坐标系与执行器末端坐标系之间的相对关系;
所述第一坐标系相对关系与所述第三坐标系相对关系为基于具有关联关系的目标物体位姿和执行器末端位姿同步校准之后的坐标系相对关系;
其中,基于多组所述具有关联关系的目标物体位姿和执行器末端位姿进行所述同步校准,所述同步校准包括:将第一积与第二积之差作为工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差;
其中,所述第一积为执行器末端位姿和第一误差相乘之积,所述第二积为第二误差和目标物体位姿相乘之积,用于获取所述第一积的所述执行器末端位姿与用于获取所述第二积的所述目标物体位姿为具有所述关联关系的位姿,所述执行器末端位姿为在所述机器人基坐标系中的位姿,所述目标物体位姿为在所述相机坐标系中的位姿;
其中,所述第一误差为初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,所述第二误差为初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差;
基于获取的多组具有关联关系的目标物体位姿和执行器末端位姿,以所述相对误差作为优化对象,确定第一误差和第二误差;以及基于确定的第一误差对所述初始的第三坐标系相对关系进行校准,基于确定的第二误差对所述初始的第一坐标系相对关系进行校准。
2.根据权利要求1所述的基于视觉引导的机器人系统,其特征在于,所述具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:所述执行器末端带动所述工具及固定于所述工具的目标物体动作至工作空间的目标位置;以及在所述工作空间的目标位置同步获取目标物体位姿和执行器末端位姿,作为所述具有关联关系的目标物体位姿和执行器末端位姿;
其中,所述相机固定设置在所述工作空间之中。
3.根据权利要求1所述的基于视觉引导的机器人系统,其特征在于,所述具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:所述执行器末端带动所述工具及固定于所述工具的目标物体动作至工作空间的第一目标位置,获取所述第一目标位置的执行器末端位姿;
将所述目标物体保持在所述第一目标位置,所述执行器末端动作至与所述第一目标位置不同的第二目标位置;以及获取所述第二目标位置的执行器末端位姿,使用固定设置在所述执行器上的相机获取所述第一目标位置的目标物体位姿,基于所述第一目标位置的目标物体位姿、所述第一目标位置的执行器末端位姿及所述第二目标位置的执行器末端位姿获取所述具有关联关系的目标物体位姿和执行器末端位姿。
4.根据权利要求1至3中任一项所述的基于视觉引导的机器人系统,其特征在于,所述工具包括抓具、夹具或者吸具,用于对目标物体进行抓取操作、夹取操作或者吸取操作。
5.根据权利要求1至3中任一项所述的基于视觉引导的机器人系统,其特征在于,所述执行器包括机械臂,所述执行器末端为机械臂末端。
6.根据权利要求1所述的基于视觉引导的机器人系统,其特征在于,所述同步校准基于校准模型进行,所述校准模型为:C=AX‑YB;
其中,A表示机器人的执行器末端在机器人基坐标系中的位姿,B表示目标物体在相机坐标系中的位姿,误差X表示初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,误差Y表示初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,误差C表示工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差。
7.根据权利要求6所述的基于视觉引导的机器人系统,其特征在于,所述同步校准包括:将获取的多组具有关联关系的目标物体位姿和执行器末端位姿输入所述校准模型,以所述误差C作为优化对象确定误差X和误差Y;以及基于确定的误差X对初始的第三坐标系相对关系进行校准,基于确定的误差Y对初始的第一坐标系相对关系进行校准。
8.根据权利要求1至3中任一项所述的基于视觉引导的机器人系统,其特征在于,所述执行器末端位姿基于所述机器人的控制器和/或示教器获取。
9.一种机器人系统校准方法,其特征在于,包括:
获取多组具有关联关系的目标物体位姿和执行器末端位姿,所述目标物体位姿为目标物体在机器人系统的相机坐标系中的位姿,所述执行器末端位姿为机器人系统的执行器末端在机器人基坐标系中的位姿;
基于多组所述具有关联关系的目标物体位姿和执行器末端位姿,以工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差作为优化对象,确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,其中,所述第三坐标系相对关系为工具坐标系与执行器末端坐标系之间的相对关系,所述第一坐标系相对关系为相机坐标系与机器人基坐标系之间的相对关系;以及基于确定的初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差对所述初始的第三坐标系相对关系进行第一校准,基于确定的初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差对所述初始的第一坐标系相对关系进行第二校准,所述第一校准与所述第二校准为同步校准;
其中,基于多组所述具有关联关系的目标物体位姿和执行器末端位姿,以工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差作为优化对象,确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,包括:将获取的多组具有关联关系的目标物体位姿和执行器末端位姿输入校准模型确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差;
所述校准模型为:
C=AX‑YB;
其中,A表示机器人的执行器末端在机器人基坐标系中的位姿,B表示目标物体在相机坐标系中的位姿,误差X表示初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,误差Y表示初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,误差C表示工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差。
10.根据权利要求9所述的机器人系统校准方法,其特征在于,所述具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:所述执行器末端带动所述工具及固定于所述工具的目标物体动作至工作空间的目标位置;以及在所述工作空间的目标位置同步获取目标物体位姿和执行器末端位姿,作为所述具有关联关系的目标物体位姿和执行器末端位姿;
其中,所述相机固定设置在所述工作空间之中。
11.根据权利要求9所述的机器人系统校准方法,其特征在于,所述具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:所述执行器末端带动所述工具及固定于所述工具的目标物体动作至工作空间的第一目标位置,获取所述第一目标位置的执行器末端位姿;
将所述目标物体保持在所述第一目标位置,所述执行器末端动作至与所述第一目标位置不同的第二目标位置;以及获取所述第二目标位置的执行器末端位姿,使用固定设置在所述执行器上的相机获取所述第一目标位置的目标物体位姿,基于所述第一目标位置的目标物体位姿、所述第一目标位置的执行器末端位姿及所述第二目标位置的执行器末端位姿获取所述具有关联关系的目标物体位姿和执行器末端位姿。
12.一种电子设备,其特征在于,包括:
存储器,所述存储器存储执行指令;以及
处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行权利要求9至11中任一项所述的机器人系统校准方法。
13.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现权利要求9至11中任一项所述的机器人系统校准方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求9至11中任一项所述的机器人系统校准方法。 说明书 : 基于视觉引导的机器人系统及机器人系统校准方法技术领域[0001] 本公开涉及机器人技术、视觉技术等技术领域,本公开尤其涉及一种基于视觉引导的机器人系统、机器人系统校准方法、电子设备、可读存储介质及程序产品。背景技术[0002] 在机器人技术和视觉技术相结合的应用中,例如在使用机器人(例如多自由度机械臂)对物体进行抓取操作等领域,需要使用到多个坐标系。[0003] 坐标系的表示方法:旋转矩阵R表示方向(方位/姿态),平移向量t表示位置。旋转加平移的组合称作位姿,即位置和姿态的合集。[0004] 在机器人技术和视觉技术相结合的应用中,手眼标定和工具标定涉及到将不同坐标系之间的关系建立起来,确保机器人能够准确地感知和操作周围的环境或物体。[0005] 手眼标定是将机器人基坐标系与相机坐标系进行关联,确保机器人能够理解在相机视野中所观察到的物体的位置和姿态。[0006] 工具标定是指将机器人末端执行器上的工具坐标系与机器人基坐标系进行关联,确保机器人能够准确地执行任务,尤其是在需要使用特殊工具(例如抓取工具、夹具、吸盘等)的情况下。[0007] 这些标定过程通常需要精确的数据采集和计算,确保得到准确的坐标变换关系。[0008] 相关技术中,手眼标定通常使用一个标准的标定板作为参考物,通过移动标定板或相机,获得多组标定板位姿(相机坐标系中)和机器人位姿(机器人基坐标系中)的集合,用于计算手眼标定变换。[0009] 相关技术中,标定板的位姿一般通过特征识别、位姿估计或点云配准等方法获取,机器人位姿可以通过机器人的控制器获取。[0010] 相关技术中,TCP(toolcenterpoint)标定通常需要在工作空间中固定的一个尖端物体,通过移动机器人以多个不同的姿态去触碰尖端物体,获得多组位置相同、姿态不通的机器人位姿列表,用于计算TCP的位置;TCS的姿态(方位即旋转矩阵)一般与法兰坐标系相同,法兰坐标系即机器人执行器末端坐标系,工具(例如抓取工具、夹具、吸盘等)一般通过法兰安装于机器人执行器末端(例如机器人机械臂末端)。相关技术中也有一些利用视觉、激光传感器等设备标定TCS的方法。[0011] 传统方法一般将手眼标定和TCS标定分开进行,需要进行两次标定,标定过程复杂,且标定过程会引入手眼标定和TCS的误差,二者的误差通过两次标定引入,并且没有任何关联,导致最终的机器人操作(抓取、穿刺等操作)精度低。发明内容[0012] 本公开提供了一种基于视觉引导的机器人系统、机器人系统校准方法、电子设备、可读存储介质及程序产品。[0013] 根据本公开的一个方面,提供一种基于视觉引导的机器人系统,包括:[0014] 相机,所述相机用于获取目标物体在相机坐标系中的位姿;[0015] 机器人,所述机器人的执行器末端配置有工具,所述工具基于所述执行器末端在机器人基坐标系中的位姿、所述目标物体的所述位姿、第一坐标系相对关系、第二坐标系相对关系及第三坐标系相对关系对所述目标物体进行操作;[0016] 其中,所述第一坐标系相对关系为相机坐标系与机器人基坐标系之间的相对关系,所述第二坐标系相对关系为执行器末端坐标系与机器人基坐标系之间的相对关系,所述第三坐标系相对关系为工具坐标系与执行器末端坐标系之间的相对关系;[0017] 所述第一坐标系相对关系与所述第三坐标系相对关系为基于具有关联关系的目标物体位姿和执行器末端位姿同步校准之后的坐标系相对关系。[0018] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,所述具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:[0019] 所述执行器末端带动所述工具及固定于所述工具的目标物体动作至工作空间的目标位置;[0020] 在所述工作空间的目标位置同步获取目标物体位姿和执行器末端位姿,作为所述具有关联关系的目标物体位姿和执行器末端位姿;[0021] 其中,所述相机固定设置在所述工作空间之中。[0022] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,所述具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:[0023] 所述执行器末端带动所述工具及固定于所述工具的目标物体动作至工作空间的第一目标位置,获取所述第一目标位置的执行器末端位姿;[0024] 将所述目标物体保持在所述第一目标位置,所述执行器末端动作至与所述第一目标位置不同的第二目标位置;[0025] 获取所述第二目标位置的执行器末端位姿,使用固定设置在所述执行器上的相机获取所述第一目标位置的目标物体位姿,基于所述第一目标位置的目标物体位姿、所述第一目标位置的执行器末端位姿及所述第二目标位置的执行器末端位姿获取所述具有关联关系的目标物体位姿和执行器末端位姿。[0026] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,所述工具包括抓具、夹具或者吸具,用于对目标物体进行抓取操作、夹取操作或者吸取操作。[0027] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,所述执行器包括机械臂,所述执行器末端为机械臂末端。[0028] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,基于多组所述具有关联关系的目标物体位姿和执行器末端位姿进行所述同步校准。[0029] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,所述同步校准包括:[0030] 将第一积与第二积之差作为工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差;[0031] 其中,所述第一积为执行器末端位姿和第一误差相乘之积,所述第二积为第二误差和目标物体位姿相乘之积,用于获取所述第一积的所述执行器末端位姿与用于获取所述第二积的所述目标物体位姿为具有所述关联关系的位姿,所述执行器末端位姿为在所述机器人基坐标系中的位姿,所述目标物体位姿为在所述相机坐标系中的位姿;[0032] 其中,所述第一误差为初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,所述第二误差为初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差;[0033] 基于获取的多组具有关联关系的目标物体位姿和执行器末端位姿,以所述相对误差作为优化对象,确定第一误差和第二误差;[0034] 基于确定的第一误差对所述初始的第三坐标系相对关系进行校准,基于确定的第二误差对所述初始的第一坐标系相对关系进行校准。[0035] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,所述同步校准基于校准模型进行,所述校准模型为:[0036] C=AX‑YB;[0037] 其中,A表示机器人的执行器末端在机器人基坐标系中的位姿,B表示目标物体在相机坐标系中的位姿,误差X表示初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,误差Y表示初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,误差C表示工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差。[0038] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,所述同步校准包括:将获取的多组具有关联关系的目标物体位姿和执行器末端位姿输入所述校准模型,以所述误差C作为优化对象确定误差X和误差Y;以及基于确定的误差X对初始的第三坐标系相对关系进行校准,基于确定的误差Y对初始的第一坐标系相对关系进行校准。[0039] 根据本公开的至少一个实施方式的基于视觉引导的机器人系统,所述执行器末端位姿基于所述机器人的控制器和/或示教器获取。[0040] 根据本公开的另一个方面,提供一种机器人系统校准方法,包括:[0041] 获取多组具有关联关系的目标物体位姿和执行器末端位姿,所述目标物体位姿为目标物体在机器人系统的相机坐标系中的位姿,所述执行器末端位姿为机器人系统的执行器末端在机器人基坐标系中的位姿;[0042] 基于多组所述具有关联关系的目标物体位姿和执行器末端位姿,以工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差作为优化对象,确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,其中,所述第三坐标系相对关系为工具坐标系与执行器末端坐标系之间的相对关系,所述第一坐标系相对关系为相机坐标系与机器人基坐标系之间的相对关系;[0043] 基于确定的初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差对所述初始的第三坐标系相对关系进行第一校准,基于确定的初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差对所述初始的第一坐标系相对关系进行第二校准,所述第一校准与所述第二校准为同步校准。[0044] 根据本公开的至少一个实施方式的机器人系统校准方法,基于多组所述具有关联关系的目标物体位姿和执行器末端位姿,以工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差作为优化对象,确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,包括:[0045] 将获取的多组具有关联关系的目标物体位姿和执行器末端位姿输入校准模型确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差。[0046] 根据本公开的至少一个实施方式的机器人系统校准方法,所述校准模型为:C=AX‑YB;[0047] 其中,A表示机器人的执行器末端在机器人基坐标系中的位姿,B表示目标物体在相机坐标系中的位姿,误差X表示初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,误差Y表示初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,误差C表示工具坐标系在机器人基坐标系下的位姿和目标物体在机器人基坐标系下的位姿之间的相对误差。[0048] 根据本公开的至少一个实施方式的机器人系统校准方法,所述具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:[0049] 所述执行器末端带动所述工具及固定于所述工具的目标物体动作至工作空间的目标位置;[0050] 在所述工作空间的目标位置同步获取目标物体位姿和执行器末端位姿,作为所述具有关联关系的目标物体位姿和执行器末端位姿;[0051] 其中,所述相机固定设置在所述工作空间之中。[0052] 根据本公开的至少一个实施方式的机器人系统校准方法,所述具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:[0053] 所述执行器末端带动所述工具及固定于所述工具的目标物体动作至工作空间的第一目标位置,获取所述第一目标位置的执行器末端位姿;[0054] 将所述目标物体保持在所述第一目标位置,所述执行器末端动作至与所述第一目标位置不同的第二目标位置;[0055] 获取所述第二目标位置的执行器末端位姿,使用固定设置在所述执行器上的相机获取所述第一目标位置的目标物体位姿,基于所述第一目标位置的目标物体位姿、所述第一目标位置的执行器末端位姿及所述第二目标位置的执行器末端位姿获取所述具有关联关系的目标物体位姿和执行器末端位姿。[0056] 根据本公开的又一个方面,提供一种电子设备,包括:存储器,所述存储器存储执行指令;以及处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行本公开任一个实施方式的机器人系统校准方法。[0057] 根据本公开的又一个方面,提供一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现本公开任一个实施方式的机器人系统校准方法。[0058] 根据本公开的再一个方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开任一个实施方式的机器人系统校准方法。附图说明[0059] 附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。[0060] 图1是典型的机器人抓取系统的示意图。[0061] 图2示出了典型的机器人抓取系统中各坐标系之间的关系。[0062] 图3是本公开的一个实施方式的机器人系统校准方法的流程示意图。[0063] 图4是本公开的一些实施方式中获取具有关联关系的目标物体位姿和执行器末端位姿的流程示意图。[0064] 图5是本公开的另一些实施方式中获取具有关联关系的目标物体位姿和执行器末端位姿的流程示意图。[0065] 图6是本公开的方法与参考方法之间的比较:手眼变换和TCS位置误差的比较。[0066] 图7是使用小提琴图展示的本公开的机器人系统校准方法和相关技术中单独校准方法的误差C的比较结果。[0067] 图8是ROS仿真系统图示:a)为系统组件,b)为被抓取物体的图案,c)为抓取状态,d)为放置状态。[0068] 图9是本公开的机器人系统校准方法和相关技术中的方法之间抓取误差的比较:a)‑f)为使用相关技术中的方法校准后的抓取偏差,g)‑k)为使用本公开的机器人系统校准方法校准后的抓取偏差。[0069] 图10是本公开的一个实施方式的采用处理器的硬件实现方式的机器人系统校准装置的结构示意框图。具体实施方式[0070] 下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。[0071] 需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。[0072] 除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。[0073] 在附图中使用交叉影线和/或阴影通常用于使相邻部件之间的边界变得清晰。如此,除非说明,否则交叉影线或阴影的存在与否均不传达或表示对部件的具体材料、材料性质、尺寸、比例、示出的部件之间的共性和/或部件的任何其它特性、属性、性质等的任何偏好或者要求。此外,在附图中,为了清楚和/或描述性的目的,可以夸大部件的尺寸和相对尺寸。当可以不同地实施示例性实施例时,可以以不同于所描述的顺序来执行具体的工艺顺序。例如,可以基本同时执行或者以与所描述的顺序相反的顺序执行两个连续描述的工艺。此外,同样的附图标记表示同样的部件。[0074] 当一个部件被称作“在”另一部件“上”或“之上”、“连接到”或“结合到”另一部件时,该部件可以直接在所述另一部件上、直接连接到或直接结合到所述另一部件,或者可以存在中间部件。然而,当部件被称作“直接在”另一部件“上”、“直接连接到”或“直接结合到”另一部件时,不存在中间部件。为此,术语“连接”可以指物理连接、电气连接等,并且具有或不具有中间部件。[0075] 本文使用的术语是为了描述具体实施例的目的,而不意图是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。[0076] 术语解释:[0077] 目标物体坐标系:objectcoordinatesystem(OCS),目标物体即被抓取的物体。[0078] 工具坐标系:toolcoordinatesystem(TCS)。[0079] 工具中心点:toolcenterpoint(TCP),即工具坐标系的位置。[0080] 相机坐标系:cameracoordinatesystem(CCS)。[0081] 机器人基坐标系:basecoordinatesystem(BCS)。[0082] 执行器末端坐标系:flangecoordinatesystem(FCS)。[0083] 图1是典型的机器人抓取系统的示意图。机器人抓取是将视觉系统(3D相机)与机器人结合的典型应用。[0084] 参考图1,机器人抓取系统包括机器人、3D相机(例如3D摄像头)、工具,工具设置在机器人的执行器末端,机器人抓取系统可以对例如箱体内的目标物体(被抓取物体)进行抓取操作。3D相机捕捉环境点云(包括了目标物体的点云),再通过视觉算法确定目标物体的位姿,随后,机器人操纵工具达到目标位姿,对目标物体进行抓取操作,完成抓取任务。[0085] 由于3D相机和机器人的参考坐标系不同,需要在任务执行之前进行手眼校准,建立相机坐标系(CCS)和机器人基坐标系(BCS)之间的变换关系(相对关系)。获得手眼变换关系之后,可以通过3D相机获取目标物体在BCS中的位姿。为了成功执行夹持任务(抓取任务),还必须确定抓取位姿(TCS)与目标物体位姿(OCS)之间的相对关系,该相对关系是一个任意指定的固定变换,可以是单位矩阵。[0086] 图2示出了典型的机器人抓取系统中各坐标系之间的关系。[0087] 参考图2,机器人以其BCS作为参考。机器人提供了从FCS到BCS的变换关系。通过建立校准后的TCS与FCS之间的相对关系,可以确定TCS与BCS之间的变换关系。3D相机获取的点云(包含目标物体)以CCS为参考,通过手眼变换,可以获得以BCS为参考的点云。随后,基于工具和目标物体之间的相对关系,可以获得工具完成抓取任务的目标位姿,通常称为夹持点。[0088] 图2中,BTF表示FCS相对于BCS的关系,FTT表示TCS相对于FCS的关系,BTC表示CCS相C对于BCS的手眼变换,TO表示OCS相对于CCS的关系。[0089] 在机器人抓取系统中,可能存在各种误差,这些误差最终可能导致抓取失败。这些误差主要包括机器人绝对定位误差、视觉误差、手眼校准误差和TCS误差。在这些误差中,机器人绝对定位误差和视觉误差通常由硬件设备确定并具有定义的范围,通常较小。另一方面,手眼校准误差和TCS误差是通过校准算法确定的,这些校准误差直接影响最终的抓取性能。[0090] 机器人的工具的实际目标位置由视觉系统提供。在应用手眼变换、机器人的运动学模型和TCS之后,能够确定机器人的工具的最终位置(即实际目标位置)。[0091] 由于机器人绝对定位误差和视觉误差通常由硬件设备确定并具有定义的范围,且通常较小,因此,在本公开中忽略机器人绝对定位误差和视觉误差,主要关注手眼校准和TCS校准。[0092] 在视觉系统提供目标物体的位姿后,需要工具实际移动到目标物体所在的准确位置,如图2所示。[0093] 在理想抓取情况下,目标TCS与OCS重合,意味着工具在BCS中的位姿等于目标物体在BCS中的位姿,如方程(1)所示:[0094][0095] 其中,T=[R,t]∈SE(3),表示两个坐标之间的刚性变换,T包括旋转矩阵R∈SO(3)和平移向量[0096] 然而,由于存在误差,机器人不可避免地无法移动到确切的目标位姿。该误差可以表示为实际位置(即工具实际到达的位置)与目标位置(即工具的目标位置)之间的差异,如方程(2)所示:[0097] BTF·FT′T‑BT′C·CTO=Error(2)[0098] 其中,FT′T=FTT+ET和BT′C=BTC+EC,分别表示初始的TCS变换(TCS与FCS之间的变换)和初始的手眼变换。ET为初始的TCS变换与真实的(待解的)TCS变换之间的误差,EC为初始的手眼变换与真实的(待解的)手眼变换之间的误差。[0099] 其中,[0100] 将方程(2)展开为矩阵形式,得到方程(3):[0101][0102] 利用分块矩阵乘法展开公式(3)右侧,得到公式(4):[0103][0104] 根据公式(4)和公式(1),可以得到公式(5):[0105] Error=BTF·ET‑EC·CTO(5)[0106] 可见,本公开构造了C=AX‑YB形式的校准模型。X对应于ET,Y对应于EC。[0107] 本公开优选地使用最小二乘法(也可以是其他求解线性方程组的方法)对公式(5)进行求解,可以得到初始的TCS变换与真实的(待解的)TCS变换之间的误差ET,初始的手眼变换与真实的(待解的)手眼变换之间的误差EC。[0108] 以下为示例性地求解过程:[0109] 对方程(5)进行展开,得到方程(6):[0110][0111] 移除0项,得到公式(7):[0112] E12×1=M12×24·Z24×1(7)[0113] 公式(7)中:[0114][0115][0116][0117] 使用最小二乘法(LSM)对方程(7)进行求解,能够得到ET和EC,将ET和EC结合起来作为校准结果(即本公开描述的相对误差)。[0118] 可见,本公开能够基于上文构建的校准模型获取ET和EC相结合的相对误差。[0119] 方程(5)中,BTF是从机器人的控制器(或示教器)获得的,CTO是从场景点云和目标对象(即目标物体)获取的。[0120] 因此,对于本公开构造的校准模型C=AX‑YB,其中,A代表机器人的执行器末端在FBCS中的位姿,B代表目标物体在CCS中的位姿,X代表待解的TCS变换(TT),Y代表待解的手眼B变换(TC)。C代表工具坐标系(TCS)在机器人基坐标系下的位姿和目标物体在机器人基坐标系(BCS)下的位姿之间的相对误差。误差C作为实际抓取(夹持)误差,直接决定了机器人进行抓取(夹持)的准确程度。[0121] 本公开的校准过程不需要额外的仪器辅助,可以直接使用基于视觉引导的机器人系统本身的组件进行。[0122] 基于上文的描述,本公开可以提供以下实施方式的基于视觉引导的机器人系统、机器人系统校准方法。[0123] 在本公开的一些实施方式中,本公开的基于视觉引导的机器人系统,包括:[0124] 相机,相机用于获取目标物体在相机坐标系中的位姿;[0125] 机器人,机器人的执行器末端配置有工具,工具基于执行器末端在机器人基坐标系中的位姿、目标物体的位姿、第一坐标系相对关系、第二坐标系相对关系及第三坐标系相对关系对目标物体进行操作;[0126] 其中,第一坐标系相对关系为相机坐标系(CCS)与机器人基坐标系(BCS)之间的相对关系(即手眼变换关系),第二坐标系相对关系为执行器末端坐标系(FCS)与机器人基坐标系(BCS)之间的相对关系,第三坐标系相对关系为工具坐标系(TCS)与执行器末端坐标系(FCS)之间的相对关系(即TCS变换关系);[0127] 第一坐标系相对关系与第三坐标系相对关系为基于具有关联关系的目标物体位姿和执行器末端位姿同步校准之后的坐标系相对关系。[0128] 本公开的机器人系统的相机可以是3D相机,本公开的机器人系统的机器人可以是具有机械臂的机器人,请参考图1。本领域技术人员在本公开技术方案的启示下,对3D相机的类型、机器人的类型(例如机械臂的自由度)进行的选择、调整均落入本公开的保护范围。[0129] 参考图1,本公开的机器人系统具有执行器,执行器可以是机械臂,机械臂可以是多自由度机械臂,在执行器末端,例如可以通过法兰安装诸如抓具、夹具或者吸具等工具,用于对目标物体(例如箱体中的块状物等目标物体)进行抓取操作、夹取操作或者吸取操作。[0130] 本公开中,目标物体在相机坐标系中的位姿(CTO)可以通过特征识别、位姿估计或B点云配准等方法获取,执行器末端位姿(TF)可以基于机器人的控制器和/或示教器获取。[0131] 机器人系统通过执行器上的工具执行抓取任务时,通常将工具坐标系TCS与被抓取物体(目标物体)上的抓取位姿重合。被抓取物体上的抓取位姿和被抓取物体的几何形状相关,可以用一个变换矩阵来表示(旋转+平移),即由目标物体位姿到抓取位姿的变换矩阵,这个变换矩阵为固定值,不影响最终的标定效果。抓取位姿也可以是目标物体位姿,即目标物体位姿到抓取位姿的变换为单位阵。[0132] 本公开的机器人系统基于具有关联关系的目标物体位姿和执行器末端位姿对机器人系统的TCS变换和手眼变换进行同步校准,以TCS变换和手眼变换之间的相对误差为优化对象,能够实现机器人系统的更高准确度的“手眼协调”,提高机器人系统执行抓取等任务的准确程度。[0133] 在本公开的一些实施方式中,机器人系统的相机设置在机器人之外(眼在手外),例如固定设置在工作空间中,该工作空间为机器人系统执行诸如抓取任务的工作空间,其为相机工作空间和机器人工作空间的重合部分。[0134] 上文描述的具有关联关系的目标物体位姿(CTO)和执行器末端位姿(BTF)基于以下过程获得:[0135] 执行器末端带动工具及固定于工具的目标物体动作至工作空间的目标位置;[0136] 在工作空间的上述目标位置同步获取目标物体位姿(CTO)和执行器末端位姿B(TF),作为具有关联关系的目标物体位姿和执行器末端位姿;[0137] 其中,相机固定设置在工作空间之中(眼在手外)。[0138] 在本公开的另一些实施方式中,本公开上文描述的具有关联关系的目标物体位姿C B(TO)和执行器末端位姿(TF)基于以下过程获得:[0139] 执行器末端带动工具及固定于工具的目标物体动作至工作空间的第一目标位置,B 1获取第一目标位置的执行器末端位姿(TF);[0140] 将目标物体保持在第一目标位置,执行器末端动作至与第一目标位置不同的第二目标位置;[0141] 使用固定设置在执行器上的相机获取第一目标位置处的目标物体位姿(CT1O),获B 2 C 1取第二目标位置的执行器末端位姿(TF),基于第一目标位置的目标物体位姿(T O)、第一B 1 B 2目标位置的执行器末端位姿(TF)及第二目标位置的执行器末端位姿(TF)获取具有关联C B关系的目标物体位姿(TO)和执行器末端位姿(TF);[0142] 其中,相机固定设置在执行器上(眼在手上)。上述第二目标位置可以是工作空间中的任意位置。上述第一目标位置也可以是工作空间中的任意位置。[0143] 其中,将BT1F(‑1)·BT2F作为与第一目标位置的执行器末端位姿(BT1F)具有关联关系的执行器末端位姿。[0144] 对于上述各个实施方式,优选地,基于多组(典型值为6组至20组)具有关联关系的目标物体位姿和执行器末端位姿进行同步校准。[0145] 基于本公开获取的多组具有关联关系的目标物体位姿和执行器末端位姿进行同步校准。[0146] 在本公开的一些实施方式中,本公开上文描述的同步校准包括:[0147] 将第一积与第二积之差作为工具坐标系(TCS)在机器人基坐标系下的位姿和目标物体在机器人基坐标系(BCS)下的位姿之间的相对误差(Error);[0148] 其中,第一积为执行器末端位姿和第一误差(ET)相乘之积,第二积为第二误差(EC)和目标物体位姿相乘之积,用于获取第一积的执行器末端位姿与用于获取第二积的目标物体位姿为具有关联关系的位姿,执行器末端位姿为在机器人基坐标系中的位姿,目标物体位姿为在相机坐标系中的位姿;[0149] 其中,第一误差(ET)为初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,第二误差(EC)为初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差;[0150] 基于获取的多组具有关联关系的目标物体位姿和执行器末端位姿,以相对误差作为优化对象,确定第一误差和第二误差;[0151] 基于确定的第一误差对初始的第三坐标系相对关系进行校准,基于确定的第二误差对初始的第一坐标系相对关系进行校准。[0152] 其中,初始的第三坐标系相对关系为未经过本公开的同步校准之前的第三坐标系相对关系,初始的第一坐标系相对关系为未经过本公开的同步校准之前的第一坐标系相对关系。[0153] 在本公开的一些实施方式中,本公开上文描述的同步校准基于校准模型进行,本公开的校准模型为:[0154] C=AX‑YB;[0155] 其中,A表示机器人的执行器末端在机器人基坐标系中的位姿,B表示目标物体在相机坐标系中的位姿,误差X表示初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,误差Y表示初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,误差C表示工具坐标系(TCS)在机器人基坐标系下的位姿和目标物体在机器人基坐标系(BCS)下的位姿之间的相对误差。[0156] 进一步地,同步校准包括:[0157] 将获取的多组具有关联关系的目标物体位姿和执行器末端位姿输入校准模型,以误差C作为优化对象确定误差X和误差Y;[0158] 基于确定的误差X对初始的第三坐标系相对关系进行校准,基于确定的误差Y对初始的第一坐标系相对关系进行校准。[0159] 本公开还提供了一种机器人系统校准方法,用于对包括相机和机器人的机器人系统进行校准。[0160] 参考图3,在本公开的一些实施方式中,本公开的机器人系统校准方法M100包括:[0161] S100、获取多组具有关联关系的目标物体位姿和执行器末端位姿,目标物体位姿为目标物体在机器人系统的相机坐标系(CCS)中的位姿,执行器末端位姿为机器人系统的执行器末端在机器人基坐标系(BCS)中的位姿。[0162] S200、基于多组具有关联关系的目标物体位姿和执行器末端位姿,以工具坐标系(TCS)在机器人基坐标系下的位姿和目标物体在机器人基坐标系(BCS)下的位姿之间的相对误差作为优化对象,确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,其中,第三坐标系相对关系为工具坐标系(TCS)与执行器末端坐标系(FCS)之间的相对关系,第一坐标系相对关系为相机坐标系(CCS)与机器人基坐标系(BCS)之间的相对关系(即手眼变换关系)。[0163] S300、基于确定的初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差对初始的第三坐标系相对关系进行第一校准,基于确定的初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差对初始的第一坐标系相对关系进行第二校准,第一校准与第二校准为同步校准。[0164] 在本公开的一些实施方式的机器人系统校准方法M100中,基于多组具有关联关系的目标物体位姿和执行器末端位姿,以工具坐标系(TCS)在机器人基坐标系下的位姿和目标物体在机器人基坐标系(BCS)下的位姿之间的相对误差作为优化对象,确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,包括:[0165] 将获取的多组具有关联关系的目标物体位姿和执行器末端位姿输入校准模型确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差。[0166] 在本公开的一些实施方式中,本公开的机器人系统校准方法M100中,校准模型构造为:[0167] C=AX‑YB;[0168] 其中,A表示机器人的执行器末端在机器人基坐标系中的位姿,B表示目标物体在相机坐标系中的位姿,误差X表示初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差,误差Y表示初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,误差C表示工具坐标系(TCS)在机器人基坐标系下的位姿和目标物体在机器人基坐标系(BCS)下的位姿之间的相对误差。[0169] 在本公开的一些实施方式中,对于相机固定设置在机器人之外的工作空间中的机器人系统,参考图4,本公开的机器人系统校准方法M100中,S110、具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:[0170] S111、执行器末端带动工具及固定于工具的目标物体动作至工作空间的目标位置。[0171] S112、在工作空间的目标位置同步获取目标物体位姿和执行器末端位姿,作为具有关联关系的目标物体位姿和执行器末端位姿。[0172] 在本公开的另一些实施方式中,对于相机固定设置在机器人的执行器上的机器人系统,参考图5,本公开的机器人系统校准方法M100中,S110、具有关联关系的目标物体位姿和执行器末端位姿基于以下过程获得:[0173] S111、执行器末端带动工具及固定于工具的目标物体动作至工作空间的第一目标位置,获取第一目标位置的执行器末端位姿。[0174] S112、将目标物体保持在第一目标位置,执行器末端动作至与第一目标位置不同的第二目标位置。[0175] S113、获取第二目标位置的执行器末端位姿,使用固定设置在执行器上的相机获取第一目标位置的目标物体位姿。[0176] S114、基于第一目标位置的目标物体位姿、第一目标位置的执行器末端位姿及第二目标位置的执行器末端位姿获取具有关联关系的目标物体位姿和执行器末端位姿。[0177] 本公开还通过数据生成和仿真环境对本公开的机器人系统校准方法进行了全面评估。本公开的机器人系统校准方法的性能与相关技术中单独的手眼校准和TCP校准方法进行了比较。[0178] 手眼校准的比较方法是Danilidis提出的双四元数方法。工具校准方法的比较方法是四点校准法。比较包括对已校准的手眼变换、工具TCP和它们的真实值之间的误差进行评估。此外,还比较了实际误差C。误差C的大小直接决定了夹持的准确性,影响夹持成功率。比较的参数主要涉及变换矩阵的差异,分别比较了平移和旋转组件。对于平移部分,使用欧氏距离:[0179] D=||tgt‑tCali||2(8)[0180] 旋转部分以轴角形式表示,比较角度的差异:[0181][0182] 对手眼变换和TCS的真实值与校准值进行比较。进行C=AX‑YB值的比较。[0183] 为了模拟真实场景,合成数据中引入了三种不同大小的高斯误差,均值μ设置为0,标准差σ设置为0.01、0.1和0.5,以毫米或度为单位测量。高斯噪声添加到欧拉角和位姿向量中。首先提供手眼变换和TCS的真实值:[0184][0185][0186] 其中:[0187] φ(α,β,γ,X,Y,Z)=T(REuler(α,β,γ),t=[X,Y,Z])[0188] 接下来,在指定范围内随机生成机器人末端执行器的姿态BTF:[0189][0190] 随后,使用实际的TCS姿态FTT生成TCS在BCS中的真实姿态BTT:[0191][0192] 为了便于测试,TCS的姿态和目标姿态(目标物体的姿态)被设置为一致。在实际应用中,可能存在一个固定的变换矩阵,它不影响校准。在CCS中,使用真实的手眼变换得到真实的目标姿态:[0193][0194] 通过多次随机生成BTF和CTT,获取了多组实验数据。并计算了目标姿态的误差:[0195][0196][0197] 变量FTT和BTC可以用单位矩阵初始化。在收集样本数量为6、8、10和12的场景中,比较了本公开的机器人系统校准方法在噪声水平方面与相关技术中单独校准手眼矩阵和工具TCP的性能。[0198] (1)TBC和TCP对比[0199] BTC与TCP之间的误差比较如图6所示。[0200] 图6中,手眼变换和TCS位置误差的比较,本公开的方法与参考方法之间的比较。蓝色代表本公开的方法的结果,橙色对应于对比方法的结果。图6中a)‑c)是旋转误差在手眼校准中的比较,手眼校准中的平移误差和TCS中的平移误差,高斯噪声的标准差设置为0.01。图6中d)‑f)是旋转误差在手眼校准中的比较,手眼校准中的平移误差和TCS中的平移误差,高斯噪声的标准差设置为0.1。图6中g)‑i)是旋转误差在手眼校准中的比较,手眼校准中的平移误差和TCS中的平移误差,高斯噪声的标准差设置为0.5。[0201] 从图6中可以看出,随着高斯误差的标准差增加,以及校准点数的增加,本公开的机器人系统校准方法和相关技术中单独校准方法的校准误差均增加。本公开的机器人系统校准方法在手眼矩阵的校准结果上表现出色,在所有对比实验中都优于对比方法。对于TCP的校准结果,在校准点数为6和8时,精度低于对比方法。然而,当校准点数增加到10和12时,本公开的机器人校准方法的结果超过了对比方法。[0202] (2)C=AX‑BY对比[0203] 在图7中,使用小提琴图展示了本公开的机器人系统校准方法和相关技术中单独校准方法的误差C。[0204] 蓝色代表本公开的方法的结果,橙色对应于对比方法的结果。图7中a)‑b)是旋转和平移误差的C的比较,高斯噪声的标准差设置为0.01。图7中c)‑d)是旋转和平移误差的C的比较,高斯噪声的标准差设置为0.1。图7中e)‑f)是旋转和平移误差的C的比较,高斯噪声的标准差设置为0.5。[0205] 误差C随着高斯噪声的标准差的增加而增加,并随着校准点数的增加而减少,对于两种方法都是如此。在所有比较实验中,与单独校准方法相比,本公开的机器人系统校准方法始终表现出更小的误差。随着校准点数的增加,误差C减小,表明操作误差较低,机器人系统的整体精度较高。[0206] (3)ROS仿真[0207] ROS仿真环境包括机器人、工具、待抓取的物体和3D传感器,如图8中的a)所示。被抓取物体的表面设计有一种允许测量抓取精度的图案,如图8中的b)所示。被抓取物体的边长为50mm,分为100个部分,每个部分的分辨率为0.5mm。首先使用本公开的机器人系统校准方法和一个对比方法对机器人系统进行校准,以获取TCS和手眼变换。随后执行抓取和放置任务,如图8中的c)和d)所示。记录抓取后夹持器(工具)在表面上的图像,以评估抓取操作的准确性。[0208] 为了更加模拟真实的环境,机器人末端位姿添加标准差为0.5的高斯误差。3D传感器(3D相机)由gazebo插件实现,添加标准差为0.5的高斯误差。校准方法中使用的位姿估计算法使用halcon中find_surface_model算子。在获取校准数据(也即标定数据)后进行抓取实验,进行多次抓取实验,取其中的5次为例,如图9所示,在抓取后采集到抓手(工具)和被抓取物体的图像信息,以抓取物的左上角为坐标原点,以与抓手最近的一个顶点的距离为度量值。图9中a)为理想抓取位置,图9中b)‑f)为对比方法的抓取结果,图9中g)‑k)为本公开的方法校准后的机器人系统的抓取结果。可以看出本公开的方法校准后的抓取结果偏离理想抓取位置更少,抓取准确度更高。详细的抓取误差如表1所示。对比方法的最大抓取欧式距离误差为29.5mm,最小误差为6mm,平均误差为11.8mm。本公开的方法的最大误差为4.1mm,最小误差为1.0mm,平均误差为2.2mm。[0209] 表1:[0210][0211] 综上所述,本公开的机器人系统校准方法,不需要额外的仪器辅助,校准过程包括将模型(目标物体)安装到工具上,在3D相机例如摄像头视野内放置目标物体,从机器人的B C控制器读取TF,获取场景点云(包括目标物体),将模型注册到场景以获取 TO,并对多组数据重复此过程。然后,使用本公开的校准模型(C=AX‑YB)计算误差,最终解决手眼变换和TCS。与相关技术中的AX=XB模型相比,本公开的校准方法不仅确定手眼变换,还计算了TCS的姿态。与传统的TCS校准方法不同,本公开的校准方法不仅校准了TCS的位置,还校准了其方向。[0212] 在集成视觉和机器人的系统的领域,手眼变换和TCS位置的精度显著影响系统的准确性。本公开提供的机器人系统校准方法及机器人系统,消除了对专门仪器的需求。校准过程包括在操作状态下将工具与目标对象集成,重新定位到视觉系统,捕获图像以获取目标对象的姿态,然后与当前机器人姿态一起进行计算。本公开的校准方法的模型简洁地表示为C=AX‑YB,具有同时计算手眼变换和TCS的优势。通过将目标误差作为优化目标,增强了系统的整体手眼协调能力。[0213] 上述对比实验的结果表明,随着校准点数的增加,本公开的校准方法在手眼和TCP的绝对误差方面表现出色。在目标姿态误差方面,本公开的结果均优于相关技术中的校准方法。在模拟环境中,本公开的校准方法校准后的机器人系统的抓取偏差约为相关技术中的方法的1/5。本公开的校准方法是一种有效的视觉引导机器人操作的校准方法,同时校准相机和工具姿态,提高了抓取精度。[0214] 相应地,本公开还提供了一种机器人系统校准装置1000。[0215] 在本公开的一些实施方式中,本公开的机器人系统校准装置1000包括:[0216] 关联位姿获取模块1002,关联位姿获取模块1002获取多组具有关联关系的目标物体位姿和执行器末端位姿,目标物体位姿为目标物体在机器人系统的相机坐标系(CCS)中的位姿,执行器末端位姿为机器人系统的执行器末端在机器人基坐标系(BCS)中的位姿。[0217] 校准模型模块1004,校准模型模块1004基于多组具有关联关系的目标物体位姿和执行器末端位姿,以第三坐标系相对关系相对于第一坐标系相对关系的相对误差作为优化对象,确定初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差及初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差,其中,第三坐标系相对关系为工具坐标系(TCS)与执行器末端坐标系(FCS)之间的相对关系,第一坐标系相对关系为相机坐标系(CCS)与机器人基坐标系(BCS)之间的相对关系(即手眼变换关系)。[0218] 校准执行模块1006,校准执行模块1006基于确定的初始的第三坐标系相对关系与真实的第三坐标系相对关系之间的误差对初始的第三坐标系相对关系进行校准,基于确定的初始的第一坐标系相对关系与真实的第一坐标系相对关系之间的误差对初始的第一坐标系相对关系进行校准。[0219] 图10是本公开的一个实施方式的采用处理器的硬件实现方式的机器人系统校准装置的结构示意框图。[0220] 该机器人系统校准装置1000可以包括执行上述流程图中各个或几个步骤的相应模块。因此,可以由相应模块执行上述流程图中的每个步骤或几个步骤,并且该装置可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。[0221] 本公开的机器人系统校准装置1000的硬件结构可以利用总线架构来实现。总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线1100将包括一个或多个处理器1200、存储器1300和/或硬件模块的各种电路连接到一起。总线1100还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其他电路1400连接。[0222] 总线1100可以是工业标准体系结构(ISA,IndustryStandardArchitecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,ExtendedIndustryStandardComponent)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条连接线表示,但并不表示仅有一根总线或一种类型的总线。[0223] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本公开中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。[0224] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。[0225] 就本说明书而言,“可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在存储器中。[0226] 应当理解,本公开的各部分可以用硬件、软件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。[0227] 本技术领域的普通技术人员可以理解实现上述实施方式方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,程序可以存储于一种可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。[0228] 此外,在本公开各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。[0229] 本公开还提供了一种电子设备,包括:存储器,存储器存储执行指令;以及处理器或其他硬件模块,处理器或其他硬件模块执行存储器存储的执行指令,使得处理器或其他硬件模块执行本公开任一个实施方式的机器人系统校准方法。[0230] 本公开还提供了一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现本公开任一个实施方式的机器人系统校准方法。[0231] 本公开还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现本公开任一个实施方式的机器人系统校准方法。[0232] 本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
专利地区:北京
专利申请日期:2024-02-21
专利公开日期:2024-06-21
专利公告号:CN117817671B